Repository navigation
Phase 4: pilot fixes and records (combines #15-#19) - #20
Conversation
…ine once Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
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>
…uisite (P4-1 to P4-6) Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…xt; add open-PR timing lesson (P4 fix round 1) Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
pnpm 12 writes the env lockfile (pnpm itself) as a first YAML document before the main lockfile. The single-document load raised ComposerError, so every front-end PR that changed the lockfile got the false hard block "incomplete dependency data". Read every document with the same unique-key safe loader. Accept one document, or exactly two with an env document of the known shape. Each document needs a supported lockfileVersion, and every env dependency needs a packages entry. Packages from both documents get every check. Anything else stays a parse failure. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Review of 01d3cb3 found that an env package entry could take another package's identity through its own name and version, so pnpm could pass the env check and then skip every check. The env check now refuses an entry whose name or version differs from its key, and checks each env dependency against the packages the walker emits. The main document of a two-document file had no shape check. It may now hold only the top-level keys of pnpm 12's main lockfile. The one-document form keeps its old check. The shared YAML loader expands merge keys before the duplicate-key check, so a merged key that repeats another key is a parse failure. Tests cover both scenarios, cross-document aliases, unsafe tags in each document, merge-key collisions, end markers, a BOM, a document marker in a block scalar, and a malformed two-document base in collect (K-10). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ate (K-17) PR 2027 in OperationCode/front-end (a 16k-line pnpm-lock.yaml changed near both ends) got "too large for automatic review": its middle was past DIFF_BUDGET, so the patch was one hunk of every base and head line and the bundle estimated 451,544 tokens against the 150,000 limit. In collect only, a middle past the size budget is now split at lines that occur once on each side (patience anchors), and each gap gets the bounded diff with the same file and run work budgets. The patch stays a correct edit script, reads no path, and a full rewrite still has no anchors, so the size gate stays fail-closed. PR 2027 now estimates 93,786 tokens (115,961 with the K-16 parser and full registry data). The publisher is unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…op/phase4-combined
…op/phase4-combined # Conflicts: # docs/build-plan.md
…op/phase4-combined
…op/phase4-combined # Conflicts: # docs/claude-review-design.md
…op/phase4-combined # Conflicts: # docs/claude-review-design.md
🔴 FAIL: OC Claude review did not completeCaution Incomplete file coverage blocks this PR. No waiver can clear it.
Run 40924927063, attempt 1 for head 📋 Full review record: reasons, checks, signals, finding details, model summaries, token usageReviewed snapshot
Reasons the gate 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)
Signals (context only, never block)
Dependency changes None. Finding details
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
Token usage
|
One PR for all phase 4 repo work so far. It merges five reviewed branches with signed
--no-ffmerges; the only conflicts were decision-log appends in the two docs (both sides kept). No code conflicts.eval.ymluploads fixture eval results (always, 14 days, existing upload-artifact pin; eval egress allowlist gains*.blob.core.windows.net:443, documented). The pass comment shows "This bot never approves a PR" once.use_immutable_subjectper target repo (older repos send the legacy OIDCsub, which the federation rule rejects); list open PRs right after enabling the ruleset.pnpm-lock.yamlparses with the same safe unique-key loader; strict shape; packages from both docs get every check; fail closed otherwise. Fixes the hard block on every front-end lockfile PR.Each part was reviewed before this merge (items 4 and 5 by an adversarial reviewer from another model family, each with a fix round or clean pass, then a scoped re-review). Unit tests 2678 passed; release tests 2 passed. Eval not run.
Items 1, 4, 5 change reviewer behavior and go live only with a release (release evals, Console
job_workflow_ref, both rulesets' sha).🤖 Generated with Claude Code