Repository navigation
Add located failure receipts for regen_verify, compile_clean, and drift gates - #7854
Merged
Merged
Conversation
|
Bugbot is not enabled for your account, so this pull request was not reviewed. Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs. |
gunbai-bot
Bot
force-pushed
the
session/wise-otter-576
branch
from
August 5, 2026 20:46
b0152bd to
0140785
Compare
…ft gates. Floor gate Bool witnesses now record verdict detail once and expose it through the existing _passes → _failure_receipt companion channel so CI failures name drifted paths instead of only returned Bool(false). Co-authored-by: Cursor <cursoragent@cursor.com>
Record failure detail only on gate failure (not success), return "gate body did not run" only when no record exists, and add unit tests for the regen_verify detail round-trip. Co-authored-by: Cursor <cursoragent@cursor.com>
gunbai-bot
Bot
force-pushed
the
session/wise-otter-576
branch
from
August 5, 2026 20:58
0140785 to
331f87a
Compare
main_wet updates v1_interpreter_dispatch_generated.rs from the primitive surface roster so the five new failure-receipt primitives compile, and syncs ci.yml timeouts with the ci_spec overhead bump already on branch. Co-authored-by: Cursor <cursoragent@cursor.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Floor gate failures (
regen_verify_gate_passes,dag_compile_clean_gate_passes,generated_artifact_drift_gate_passes) previously surfaced onlyreturned Bool(false)in CI — no file, path, or drift detail. This wires the existing_passes→_failure_receiptcompanion channel (same mechanism asextdeps_scope_placement_gate) for all three gates.regen_stage0stderr (includingChanged generated file(s): …) viaWitnessBin.Run; records detail once, failure receipt consumes without re-running regen.consume_floor_compile_clean_gate_failure_detailprojects it for the companion.observe_generated_artifact_populationpass; companion reads retained detail instead of re-observing.Seed-growth trade: This adds three host builtins (
consume_regen_verify_gate_failure_detail,consume_generated_artifact_drift_gate_failure_detail,consume_floor_compile_clean_gate_failure_detail) plus interpreter registrations — surface growth on the Rust seed, which §7 says should shrink toward zero. The alternative is for each companion to re-derive failure by re-running the gate observation, which forks authority (§3) and, for regen_verify, would execute regen a second time — turning a diagnostic into expensive duplicate work. Retention is the cheaper and correct half; it extends an established channel rather than minting one:consume_floor_compile_clean_gate_verdictalready exists on main with multiple call sites incli_run.rs.Carried main defect (not receipts work): Compiler-level touched paths widened this PR's discovery affected set enough to reach
src/v2/test/lens_mock_totality/for the first time, surfacing a pre-existing #7834 wall site on main. One-line fix inwitness_template.dag:total_consumer_handles(case)— positional only on the function-value parameter. Diagnostic:call shape mismatch calling function value 'total_consumer_handles': named argument 'case' is not supported — use positional arguments. Censused: the only genuine site undersrc/v2/test/lens_mock_totality/. A second carried defect:dag/gunbc/plans/branch_merge_admission_model.dagwas import-stripped and resolved only by pool-membership coincidence; whole-tree compile-clean exposescellnot found — restored explicit imports (same fix as #7857).Receipt in production (this branch): Before:
detail=returned Bool(false). After:detail=returned Bool(false) | compile-clean: dag/gunbc/plans/branch_merge_admission_model.dag:15:27: error: function 'cell' not found in scope— the located diagnostic the PR exists to produce.Test plan
cargo test -p v1-compiler floor_compile_clean_gate_refuses_on_failed_compile_receiptcargo test -p v1-compiler regen_verify_gate_failure_detail_*(round-trip + missing-record refusal)claim_batch --source-root dag --source-root src/v2 --entry dag/test/claim/floor_gate_failure_receipt_witness_test.dag— 7/7 PASScron_mock_totality_test.dagresolves after witness_template positional fixPositive controls (receipt fires with located detail):
regen_verify_failure_detail_names_drifted_file_holds,generated_artifact_drift_verdict_names_planted_path_holds,dag_compile_clean_failure_reasonfailure arm indag_compile_clean_failure_reason_empty_only_on_success,floor_gate_failure_receipt_companion_names_holds.Negative controls (success path stays quiet — empty reason, companion not the story):
regen_verify_failure_reason_empty_only_on_success,generated_artifact_drift_failure_reason_empty_only_on_success,dag_compile_clean_failure_reason_empty_only_on_success(each asserts the reason projection is""onExitSuccessonly).