Skip to content

Phase 4: plan for bounded continuation comments (planned, not built) - #16

Closed
irvingpop wants to merge 2 commits into
mainfrom
irvingpop/phase4-b
Closed

irvingpop wants to merge 2 commits into
mainfrom
irvingpop/phase4-b

Conversation

@irvingpop

Copy link
Copy Markdown
Member

Plan only. No code changes.

docs/continuation-comments-plan.md plans how summary-only findings that do not fit in the summary comment get published as a bounded set of continuation comments. The fail-closed check (publish.py _fit and the overflow notice) stays until this path is built and tested. docs/build-plan.md phase 4 points at the plan.

Key points:

  • Each run attempt owns its parts and only POSTs them; a part is retired (PATCH, no DELETE route) only when its run is done and no sticky links it. This closes a race where a concurrent run could remove findings the summary links to.
  • At most 6 active parts per run; past the bound, or on a refused part write, the run stays fail-closed.
  • A publication failure is kept through the final update; cleanup never changes the exit code.

Review: adversarial review (other model family) found 3 Important + 4 Minor; all fixed; scoped re-review clean.

Open minors for the owner (not fixed):

  • The decisions section says "the owner accepted the recommended answer" for Q1, but the coordinator ruled a change: no in-place reuse of another run's comments, so each run with continuation POSTs up to 6 new comments and retired ones accumulate (each POST notifies).
  • A failed final-check comment read leaves publication "complete", so a part deleted during the run is not caught (FAIL never shows as PASS).
  • The outcomes table does not say what a stale snapshot check during cleanup does.

🤖 Generated with Claude Code

irvingpop and others added 2 commits October 28, 2026 08:45
Add docs/continuation-comments-plan.md (planned, not built): current
fail-closed behavior with file:line citations, limits (6 parts of 64,000
characters, severity first, fail closed past the bound), idempotent slot
reuse, security, gate interaction, tests, rollout and open questions.
Point build-plan phase 4 at it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Per-run part ownership: a run POSTs its own parts and retires another
run's parts only when that run attempt is done and no bot sticky links
them, so concurrent runs cannot remove a linked set. Add final-check
verification, a Publication result kept through the final update,
defined read/write outcomes, cleanup caps, a time budget, a total
per-finding order, the over-limit pass case, the first-run backlink
and interleaving tests. Move the open questions to Decisions.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@irvingpop
irvingpop requested a review from a team as a code owner October 28, 2026 16:00
@github-actions

Copy link
Copy Markdown

🔴 FAIL: OC Claude review did not complete

Caution

The Review, Security and Supply chain reviews did not run, so this PR could not be judged. No waiver can clear this.
Next step: a maintainer re-runs the newest run of the required workflow once the cause is fixed. The author does not need to change anything.

Severity Effect Where Finding Found by
⚠️ Not run Blocks, no waiver Review pass authentication failed. The pass returned no result. Workflow (code, no model)
⚠️ Not run Blocks, no waiver Security pass authentication failed. The pass returned no result. Workflow (code, no model)
⚠️ Not run Blocks, no waiver Supply chain pass authentication failed. The pass returned no result. Workflow (code, no model)
⚠️ Not run Blocks, no waiver Gate A required job did not succeed: dependency-review: failure Workflow (code, no model)
⚠️ Not run Blocks, no waiver Gate Dependency review did not succeed: job result failure Workflow (code, no model)
⚠️ Not run Blocks, no waiver Gate Dependency review did not succeed: step outcome failure Workflow (code, no model)
File checks Review Security Supply chain Dependency review Coverage
✅ ok, 2 signals ❌ failed ❌ failed ❌ failed ❌ failed ✅ complete

Run 40721704184, attempt 1 for head 3691bd0 into main. The required workflow in the merge box is the result that counts. This bot never approves a PR.

📋 Full review record: reasons, checks, signals, finding details, model summaries, token usage

Reviewed snapshot

Head SHA Merge base SHA Base branch Run
3691bd0724eed19d018ec246b7acab4de1c921c8 03e1b8d09c322bf215d1699da0e793f0064f2974 main 40721704184, attempt 1

Reasons the gate failed

Reason Waivable? Detail
A required job did not succeed 🚫 no dependency-review: failure
Dependency review did not succeed 🚫 no job result failure
Dependency review did not succeed 🚫 no step outcome failure
A review pass failed 🚫 no pass review failed: authentication failed
A review pass failed 🚫 no pass security failed: authentication failed
A review pass failed 🚫 no pass supply-chain failed: authentication failed

No waiver line is shown. At least one reason cannot be waived, so a waiver would not change the result.

Checks (code, no model)

Check Result Detail
Hard blocks ✅ none
Coverage ✅ complete files in comparison 2, files collected 2, trees complete
Dependency changes ✅ none
Dependency review job ❌ failed

Signals (context only, never block)

  • ℹ️ Very long line: lines longer than 500 characters, in docs/build-plan.md, lines 200
  • ℹ️ Very long line: lines longer than 500 characters, in docs/continuation-comments-plan.md, lines 22 26 28 30 36 157 159 246 299 306 and more

Dependency changes

None.

Finding details

Model output from untrusted input. Check it before you act on it. Verified means only that the quoted text is at that place. It does not mean the claim is true.

Blocking is decided by code from category and severity, never by the model. A finding in a blocking category blocks only at high or critical severity.

No findings from the passes that ran. The Review, Security, Supply chain pass did not run, so this is not a clean result.

Model summaries

Model output from untrusted input. Check it before you act on it. Verified means only that the quoted text is at that place. It does not mean the claim is true.

Pass Status Model Summary
Review ❌ failed No summary. Reason: authentication failed
Security ❌ failed No summary. Reason: authentication failed
Supply chain ❌ failed No summary. Reason: authentication failed

Token usage

Pass Input Output Cache write Cache read Attempts
Review not recorded not recorded not recorded not recorded not recorded
Security not recorded not recorded not recorded not recorded not recorded
Supply chain not recorded not recorded not recorded not recorded not recorded
Recorded total not recorded not recorded not recorded not recorded not recorded

@irvingpop

Copy link
Copy Markdown
Member Author

Combined into #20.

@irvingpop irvingpop closed this Oct 29, 2026
@irvingpop
irvingpop deleted the irvingpop/phase4-b branch October 29, 2026 19:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant