DO NOT MERGE — proof(META-337): red/green for the two promoted CI checks - #16
DO NOT MERGE — proof(META-337): red/green for the two promoted CI checks#16qmarcelle wants to merge 5 commits into
Conversation
…to green `parity-receipt-reproduction` gated both of its substantive steps on `steps.check-receipt.outputs.has_receipt == 'true'`. On a branch with no committed receipt the two steps skipped, the job concluded `success`, and the log said "skipping reproduction check" — a green result that had reproduced nothing. That is tolerable while the job is advisory. It is not tolerable once the check is required, which META-337 intends: at that point the cheapest way to satisfy a failing parity gate is to delete the receipt, and the gate would reward it. "Missing is not green" has to hold for the gate itself, not only for the product code it inspects. Absence of the receipt is now a hard failure, and the two reproduction steps run unconditionally. The failure output names the invariant, the authority, the evidence that discharges it, and what must not be weakened to recover green, so an implementation agent can act on it without a human relay. This changes CI only. No product code, no packaging, and no adapter behavior is touched. Refs META-337.
DO NOT MERGE. Bounded violation proving `parity-receipt-reproduction` now reports RED on a missing receipt. Before the fix in #15 this exact state concluded `success` by skipping. Reverted in PROOF 3/3.
There was a problem hiding this comment.
qmarcelle has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.
Reviewer's GuideThis PR is a temporary "red/green" proof for META-337, modifying the CI workflow so that the parity-receipt check hard-fails when the receipt is missing and, in this proof branch, deleting the receipt file itself to demonstrate the new behavior before the check is promoted to required. Sequence diagram for updated parity receipt CI behaviorsequenceDiagram
actor Developer
participant GitHubActions
participant Shell
participant verify_clone_parity_mjs
participant verify_receipt_mjs
Developer->>GitHubActions: push branch / open PR
GitHubActions->>Shell: require_committed_parity_receipt
alt [docs/migration/parity-receipt.json missing]
Shell->>GitHubActions: append_step_summary
GitHubActions-->>Developer: parity-receipt-reproduction job fails
else [docs/migration/parity-receipt.json present]
GitHubActions->>verify_clone_parity_mjs: verify-clone-parity.mjs --target-ref TARGET_SHA
GitHubActions->>verify_receipt_mjs: verify-receipt.mjs parity-receipt.json .parity-ci/receipt.json
GitHubActions-->>Developer: parity-receipt-reproduction job succeeds
end
File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
…es[] DO NOT MERGE. Restores the parity receipt (expect `parity-receipt-reproduction` back to GREEN) and removes `.mcp.json` from the published `files` array, which is a real packaging-truth regression the consumption harness owns (expect `standard-candidate-consumption` RED). Reverted in PROOF 3/3.
There was a problem hiding this comment.
qmarcelle has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.
DO NOT MERGE. Restores `.mcp.json` and instead drops `scripts/install.mjs` from `files[]`. PROOF 2/4 showed `.mcp.json` is asserted by BOTH `build-and-smoke` (which greps the pack log for it) and `standard-candidate-consumption` — so that defect could not attribute a RED to the consumption gate alone. `scripts/install.mjs` is asserted only by the consumption harness, so this commit isolates it: expect `standard-candidate-consumption` RED with `build-and-smoke` GREEN.
There was a problem hiding this comment.
qmarcelle has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.
DO NOT MERGE. Tree is now identical to the #15 fix branch. Expect all four CI checks GREEN, closing both bidirectional proofs. Correction to PROOF 3/4: rewriting package.json with a JSON.stringify round trip reformatted the `files` array and tripped biome, so `build-and-smoke` went red for a formatting reason rather than the injected one. That commit is not admissible as a proof and is not cited as one. The two gates are proven by PROOF 1/4 and 2/4, whose reds were verified against the failing step.
There was a problem hiding this comment.
qmarcelle has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.
|
|
Proofs recorded; closing. Nothing here merges.
Both reds came from PROOF 3/4 ( |



Bidirectional proof required by META-337 §8 before
parity-receipt-reproductionandstandard-candidate-consumptionare promoted to required checks. Depends on #15.Three commits, each a single bounded violation, observed in sequence:
docs/migration/parity-receipt.jsonparity-receipt-reproductionstandard-candidate-consumption.mcp.jsonfromfiles[]standard-candidate-consumptionparity-receipt-reproductionCommit 1 is the interesting one: before #15 this exact tree concluded
successby skipping its own reproduction steps. It is the false green that #15 closes.Closed once the observations are recorded. Nothing here is intended to merge.
Summary by Sourcery
Strengthen the parity receipt CI job to fail when the committed receipt is missing instead of silently skipping reproduction, and add explanatory output for this failure mode.
CI:
parity-receipt-reproductionworkflow to requiredocs/migration/parity-receipt.jsonto exist and emit a detailed failure summary when it is absent.Documentation:
docs/migration/parity-receipt.jsonas part of the proof scenario.