Repository navigation
Fix Claude review diagnostics and scheduled usage accounting - #945
seathatflowsinourveins wants to merge 1 commit into
Conversation
|
Dependency limit exceeded — report not shown. This pull request scan exceeded the 10,000-dependency limit applied to this scan, so the results are incomplete and may be inaccurate. To avoid reporting false positives, Socket has not posted a report. Upgrade your plan to raise the dependency limit and get complete reports, or view the partial scan in the dashboard. Socket is always free for open source. If this is a non-commercial open source project, contact us to request a free Team account. |
|
Closing as superseded, with the owner's OK (CC, 2026-10-11). It modifies .github/workflows/claude-pr-review.yml and claude-pr-toolkit-review.yml. #981 deleted both, so the merge would be a modify/delete conflict. Claude review inside GitHub was retired by #981 (8bffa2c, docs/decisions/2026-10-10-retire-in-github-claude-review.md). The Anthropic API refuses the action's entry point on Console keys (CC correction #141; the action never had a successful run). AI reviews now run locally, and GitHub enforces them as required checks. The local route is #953 (the review worker). Nothing is lost: this PR can be reopened, and any model-free part of it can come back as a new PR under the local-review route. Evidence: the CC's PR triage (research-cc-role-20261008/pr-triage-20261011.md, class CLOSE). |
Scope
Zero-cost Claude errors currently abort accounting in jq before the summary explains the failure, and scheduled review jobs that reject large diffs still consume the daily review allowance. Preserve a fixed error class in both review summaries, skip diffs above 250,000 bytes before allocating a matrix slot, and count retained usage artifacts instead of started jobs.
3c01bdddc66896f8e36f9f21d452710808a9557e.lane:foundation..github/workflows/claude-pr-review.yml,.github/workflows/claude-pr-toolkit-review.yml, their two decision records, and the existing two workflow test modules.manifests/evidence.jsonrefreshes only the hashes and byte counts of those six changed files.7,22,37,52 * * * *UTC. Both workflows set top-levelcache-mode: none.harness-audit.ymlis outside this slice and remains with its separate owner in Bound the harness audit and move it to claude-code-action v1.0.247 #892.When
is_erroris true,total_cost_usdis zero andmodelUsageis{},error_classis the fixed valuezero_cost_error_without_model_usage. The summary records that class and the bounds still fail; raw error text is excluded and no review is published. Other records carry a null class. Toolkit incomplete accounting remains incomplete, with null cost and turns and any actual assistant tokens retained only as a lower bound.The resolver measures the REST diff response in bytes and skips oversized heads before either of its two slots is allocated. Exactly 250,000 bytes qualifies; a manual dispatch may use
pathsto narrow a larger diff. Exact-head binding and the later merge-base git diff guard still enforce the final limit. Daily accounting reads every page of nonexpired usage artifacts from this workflow's schedule and dispatch runs on main, requires the artifact name to match its run, and counts each name once. The existing $5.50 reservation per usage record remains; this is not a sum of billed costs. Jobs without usage records consume no room. API failures remain fail-closed.SOTA sources
2dca132ff0e0c4094ce6048b422c6915a071210b(v1.0.247):action.ymlexecution-file output anddocs/security.mdtrusted checkout pattern. Existing vendor outputs and runner remain in use.Evidence-class table
synthetic,local_integrationlocal_integrationsource_reviewlocal_integrationlocal_integrationpython3 scripts/validate.py, rc0: 70 components, 11,283 hashed files, 4 profiles, 239 receiptsLocal commands run
Nine new or updated regression contracts were observed failing before implementation: two zero-cost errors, two oversized-diff boundary/starvation cases, two usage-versus-job accounting cases, cron and two cache contracts. The pagination/expired-name test additionally protects the new accounting boundary. The pre-commit secret gate passed with pinned gitleaks 8.30.1; native repository pre-push hooks run the committed host-name/history scan and registry checks without a bypass.
Decision record
docs/decisions/2026-10-08-claude-actions-pr-review.md, “Review workflow corrections (2026-10-09, CC dispatch item 7)”.docs/decisions/2026-10-09-claude-actions-pr-toolkit-review.md, “Zero-cost error diagnostic (2026-10-09, CC dispatch item 7)”.Host evidence
No host receipt or platform-status change.
Checklist
permissions: {}and only their existing job grants.Draft for the command center's designated Claude read. Landing and any third-workflow cache change remain with their owners.