fix(review): stop historical smoke from granting proof credit - #1282
Conversation
Keep historical execution results diagnostic so they no longer overwrite reviewed behavioral proof. Retain independent failure and owner gates while preserving contributor evidence, media attribution, and status. Automatic live-proof generation and execution remain retired.
|
🦞👀 Pull request received. I will update this pull request when review starts. |
|
Codex review: needs maintainer review before merge. Reviewed August 28, 2026, 12:05 PM ET / 16:05 UTC. ClawSweeper reviewWhat this changesThis PR makes historical proof receipts diagnostic only, preserving the reviewer's recorded behavioral proof, ratings, labels, and merge-gate decisions. Regression provenancePossible regression — probable (reviewed change; failure trace). No predecessor PR is attributed. Merge readinessKeep open for normal merge review: the current base still lets a passed historical receipt replace the recorded proof assessment, and this PR removes that shortcut while retaining failed/malformed receipt blocking. The supplied exact-head production CLI transcript is sufficient, and no actionable patch defect was found. Priority: P2 Review scores
Verification
How this fits togetherClawSweeper folds retained proof artifacts into PR reports, then projects those reports into public comments, labels, readiness ratings, and automerge markers. Historical receipts enter that pipeline alongside the recorded behavioral assessment; this change keeps the assessment as the semantic authority. flowchart LR
A[Historical receipt] --> B[Artifact validation and folding]
C[Recorded behavioral assessment] --> D[Proof classification]
B --> D
D --> E[Labels and ratings]
D --> F[Review comment and merge gate]
Before merge
Agent review detailsSecurityNone. Review metrics
Merge-risk optionsMaintainer options:
Technical reviewBest possible solution: Land the narrow receipt-classification correction after exact-head validation completes, preserving failed-receipt blocking separately from semantic proof assessment. Do we have a high-confidence way to reproduce the issue? Yes. Current-base source shows the passed-receipt shortcut, and the supplied before/after run replays the same retained receipt through the production publication CLI with the erroneous credit changing from true to false. Is this the best way to solve the issue? Yes. Removing receipt-derived semantic proof promotion while retaining receipt validation and failed/malformed blocking is the narrowest way to restore the recorded assessment as authority. AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against f72ea010c1d7. LabelsLabel changes:
Label justifications:
EvidenceWhat I checked:
Likely related people:
Rating scale
Overall follows the weaker of proof and patch quality. Workflow
|
|
Land-ready verification for head The current ClawSweeper review found no actionable defect, accepted the exact-head production-publication proof, and left one before-merge item: completion of the exact-head automation check. That item is now satisfied. The review contains no outstanding rank-up move.
Local commands used for changed-surface proof and final status regression verification: pnpm run build:allnode docs/proof/historical-proof-classification/run-proof.mjs .artifacts/behavior-proof-relevance/committed-publication-proofnode --test test/pr-proof-automation.test.ts test/pr-review-labels.test.ts test/pr-label-policy.test.tsThe final status selection passed 81 tests; the broader focused repair selection passed 418 tests and six retirement checks. The complete hosted check above is the current-head full-suite gate. The additional local whole-suite run is not being cited as green while it remains in progress. Automatic proof generation remains retired. Historical output is diagnostic; the recorded behavioral assessment remains the semantic owner. The separate retained macOS terminal-cleanup issue is not part of the exercised publication path, and no failed terminal attempt is counted as proof. There are no GitHub/R2 API, deployment, credential, or original Gateway-PR changes in this patch. |
Related: automatic live-proof retirement, attached-verification gating, and the observed classification error.
Additional instructions
MUST: Keep Allow edits from maintainers enabled for this PR so maintainers can help update the branch when needed.
What Problem This Solves
Fixes an issue where maintainers reading a review could see Real behavior: Verified and
proof: sufficientfor an unrelated change when a historical help-only verification receipt was attached. The same path could replace independently assessed contributor evidence and its media attribution, clear required proof gates, and regrade the reviewer's patch confidence.The cited Gateway PR is only the witness for this classification error. It separately supplied genuine isolated Control UI and plugin HTTP role-matrix proof and is already merged; this PR does not modify or question that work.
Why This Change Was Made
Automatic proof generation was retired while this repair was being prepared. This patch respects that decision: it does not restore planning, execution, schemas, workflows, or a replacement proof lane. Historical artifact publication remains supported, but the recorded
realBehaviorProofassessment is the sole owner of semantic proof quality.The patch removes receipt-driven proof replacement, the unconditional passed-receipt merge shortcut, and broad patch regrading. Historical execution output remains diagnostic. Failed or malformed receipts still block merge independently, while valid contributor evidence and explicit patch caps remain intact. Stale proof-specific status labels now follow the canonical assessment rather than the existence of a receipt; pause and active-review precedence are preserved.
Provenance: the receipt-driven promotion and merge/rating shortcuts came from
f3883a32631b930965fbeaeae4dc70761f2b7647(ClawSweeper PR 1271). Code author, PR author, and merger: @vincentkoc. The subsequent retirement intentionally retained historical folding and left these projection owners unchanged.User Impact
Unrelated historical smoke cannot manufacture behavioral proof or erase valid contributor evidence. Recording, linked-artifact, and terminal assessments retain their attribution and justified ratings. Required authority-chain proof, normal author/docs exemptions, explicit proof overrides, and owner/product/security gates remain independent. Relevant deterministic owner evidence remains acceptable when the ordinary reviewer assessment actually connects it to the changed behavior; no live credentials are required merely to classify it.
OpenClaw Bay Impact
Bay needs no code change. No observer API, lifecycle, telemetry, timing, queue, or action contract changes. The retired-path display behavior from PR 1280 remains unchanged.
Documentation Impact
docs/live-proof.mdremains the canonical compatibility-only documentation and now states the diagnostic-receipt versus assessed-proof boundary.docs/proof/historical-proof-classification/is a historical repair-proof recipe with synthetic fixtures, executed observations, owner/source references, and explicit limits—not a new execution runbook or service.Evidence
f72ea010c1d7fd134b1bd0826b3a707778c312bc. The same captured help-only receipt attached successfully both before and after; incorrect behavioral credit changed from true to false.EPIPErace without changing the production runner, timeouts, or assertions.Real Behavior Proof
Claim: A historical execution receipt cannot replace the reviewer's behavioral assessment, waive missing proof, or discard independently sufficient evidence; historical publication and independent failure gates still work.
Exercised surface: The actual
live-proof-publish-artifactsCLI,publishReviewLiveProofArtifacts,attachReviewLiveProofArtifact, and production comment/label/merge-marker projections. No affected production owner is mocked.Scenario: A schema-v1 receipt originally captured from a real PTY running a synthetic help-only CLI is replayed as historical input. Dummy identity metadata is normalized in the public fixture. Additional sufficient/failed/malformed/authority/override/status controls are explicitly constructed fixture data, not claims of fresh target execution or newly verified contributor media.
Command and environment: Local macOS arm64, Node 24+, pinned pnpm 11.10.0. The child receives only PATH, a fixture-local HOME, and LANG. No media manifest is present, so no upload is possible; the retained CLI disallows live-head lookup and does not synchronize GitHub comments.
Use a new output directory; the script refuses to overwrite an existing run.
Tested committed head:
2cae936581e3b72a0c3eb9213ae9897a35a2dd7eObserved result: 22/22 cases passed; 0 failed, rerun after committing on macOS arm64 with Node v26.7.0 using the
local-processprovider (no image or lease). The result records the committed source head and an empty production diff; built-owner, recipe, and fixture hashes match the final pre-commit proof. Key results:Before/after runtime transcript:
Artifacts and reproducibility: recipe and limits, captured fixture, before/after observations. Each run writes a bounded result with source HEAD/diff, built-owner, recipe, and fixture hashes, plus folded reports and rendered decisions.
Limits: This proves historical publication/classification, not Gateway authorization, live GitHub/R2 behavior, queue mutation, or terminal execution. The retained macOS terminal driver separately timed out cleanup in two attempts; those failed runs produced no valid receipt and are not counted as proof. Replaying existing artifacts is the actual retained production path after retirement. No deployment, credential, advisory, or original-PR mutation occurred.
Size and scope
The initial typed-planner-contract design was dropped after retirement. No new dependency, configuration option, schema version, runtime module, or execution lane is introduced. AI-assisted implementation and verification.