Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,11 @@ import tools.extdeps_scope_placement_gate {
scope_placement_freeze_verdict,
manifest_remove_only_exit,
}
import tools.floor_effect_gate_witness {
extdeps_scope_placement_gate_failure_receipt_companion_name,
scope_placement_gate_loudness_seed_probe_passes_name,
}
import gunbc.test_module_hygiene { failure_receipt_companion }
import std.process { ProcessExit, ExitSuccess }
import std.types { String, Bool, List }

data loudness_witness_note: String = "Floor loudness for tools.extdeps_scope_placement_gate (gunbc#7644): lands the seed-runner loudness path + extdeps_scope_placement_gate production companion only; six other production _passes gates remain mute (counted frontier in tools.floor_effect_gate_witness floor_gate_failure_receipt_note). Per-arm fixtures exercise gate REASON GENERATION with synthetic observations (supporting evidence). Executed RED: red_seed_runner_failure_detail_projects_located_receipt calls production seed_runner_bool_false_failure_detail against scope_placement_gate_loudness_seed_probe_passes on tools.floor_effect_gate_witness. Mutation control executed 2026-08-05 at b0a17f608a: disposable detached worktree, removed _passes handling from production failure_receipt_companion (holds-only), rebuilt claim_batch, re-ran witness — FAIL red_seed_runner_failure_detail_projects_located_receipt (eval_self 0ms, resolved; not resolution); detail collapsed to bare returned Bool(false) without THIS CHANGE or dag/extdeps/browser/opera.dag. Current head PASS; head detail includes returned Bool(false) | extdeps scope placement gate: THIS CHANGE ... dag/extdeps/browser/opera.dag. Guarantee rung: observed validation on the production seed_runner path; no construction wall claimed for seed/.dag mirror parity (DESIGN section 7 seed retention)."
data loudness_witness_note: String = "Floor loudness for tools.extdeps_scope_placement_gate (gunbc#7644): lands the seed-runner loudness path + extdeps_scope_placement_gate production companion only; six other production _passes gates remain mute (counted frontier in tools.floor_effect_gate_witness floor_gate_failure_receipt_note). Per-arm fixtures exercise gate REASON GENERATION with synthetic observations (supporting evidence). Executed RED: red_seed_runner_failure_detail_projects_located_receipt calls production seed_runner_bool_false_failure_detail against seed_runner_loudness_probe_passes, an always-false _passes probe declared IN THIS ENTRY beside its _failure_receipt companion. THE PROBE PAIR MOVED HERE (2026-08-18) AND THAT MOVE IS THE POINT: claim_executor evaluates the derived companion in the WITNESS entry's context, so the pair has to be reachable from here — and reaching it by importing tools.floor_effect_gate_witness dragged that entry's whole gate closure (ci_gates, the compile-clean, generated-artifact and regen-verify gates) into a witness that asserts none of them. Measured import closure: 718 modules / 10.1 MB of source before, 62 modules / 0.49 MB after; the witness was the floor's second most expensive row at 78.6s. Nothing about the claim changed — the same production fn is called against the same located receipt text, and the probe pair is deleted from tools.floor_effect_gate_witness rather than duplicated. It is a func (not test fn), so floor discovery, which selects TestMarkedDecl only, does not enroll it. MUTATION CONTROL RE-EXECUTED AGAINST THE MOVED PAIR (2026-08-18, remote sandbox at 3abc17b54c9): renaming seed_runner_loudness_probe_failure_receipt so the companion derivation misses it makes this row FAIL (rc=1) while all seven rows of this entry pass at head (rc=0) — so the claim still discriminates on the production path after the move, and does not merely assert its own literal. Mutation control executed 2026-08-05 at b0a17f608a, when the probe pair still lived on tools.floor_effect_gate_witness: disposable detached worktree, removed _passes handling from production failure_receipt_companion (holds-only), rebuilt claim_batch, re-ran witness — FAIL red_seed_runner_failure_detail_projects_located_receipt (eval_self 0ms, resolved; not resolution); detail collapsed to bare returned Bool(false) without THIS CHANGE or dag/extdeps/browser/opera.dag. Current head PASS; head detail includes returned Bool(false) | extdeps scope placement gate: THIS CHANGE ... dag/extdeps/browser/opera.dag. Guarantee rung: observed validation on the production seed_runner path; no construction wall claimed for seed/.dag mirror parity (DESIGN section 7 seed retention)."

fn read_manifest_rows() -> List<String> {
parse_frontier_manifest(
Expand All @@ -41,13 +38,28 @@ fn reason_names_all(exit: ProcessExit, markers: List<String>) -> Bool {
reason != "" && all(markers, m => string_contains(s: reason, pattern: m))
}

func seed_runner_loudness_probe_passes() -> Bool {
false
}

func seed_runner_loudness_probe_failure_receipt() -> String {
scope_placement_failure_reason(
exit: scope_placement_membership_verdict(
observation: AddedPathsObserved { paths: ["dag/extdeps/browser/opera.dag"] }
)
)
}

test fn red_floor_entry_companion_names_declared_failure_receipt_fn() -> Bool {
extdeps_scope_placement_gate_failure_receipt_companion_name() == "extdeps_scope_placement_gate_failure_receipt"
match failure_receipt_companion(function: "extdeps_scope_placement_gate_passes") {
Present { value: companion } => companion == "extdeps_scope_placement_gate_failure_receipt"
Absent => false
}
}

test fn red_seed_runner_failure_detail_projects_located_receipt() -> Bool {
let detail = seed_runner_bool_false_failure_detail(
witness: scope_placement_gate_loudness_seed_probe_passes_name
witness: "seed_runner_loudness_probe_passes"
)
detail != "returned Bool(false)"
&& string_contains(s: detail, pattern: "returned Bool(false) | ")
Expand Down
37 changes: 2 additions & 35 deletions dag/tools/floor_effect_gate_witness.dag
Original file line number Diff line number Diff line change
Expand Up @@ -7,34 +7,13 @@ import gunbc.ci_spec {
RegenVerifyGate
}
import tools.ci_gates { exit_ok, run_spec_gate }
import tools.extdeps_scope_placement_gate {
scope_placement_failure_receipt,
scope_placement_failure_reason,
scope_placement_membership_verdict,
}
import tools.extdeps_scope_placement_gate { scope_placement_failure_receipt }
import tools.prose_row_introduction_gate { prose_row_gate_failure_receipt }
import tools.dag_compile_clean_gate { dag_compile_clean_failure_receipt }
import tools.generated_artifact_gate { generated_artifact_drift_failure_receipt }
import tools.regen_verify_gate { regen_verify_failure_receipt }
import gunbc.test_module_hygiene {
failure_receipt_companion,
}
import gunbc.extdeps_scope_frontier {
AddedPathsObserved,
}

data extdeps_scope_placement_gate_passes_name: String = "extdeps_scope_placement_gate_passes"

data scope_placement_gate_loudness_seed_probe_passes_name: String = "scope_placement_gate_loudness_seed_probe_passes"

data floor_gate_failure_receipt_note: String = "claim_executor derives a failure-receipt companion from a Bool witness's own name and evaluates it in THIS entry's context, so the companion must be declared here beside the witness it explains — not only in the gate module that builds the reason. Naming is mechanical: <witness>_passes or <witness>_holds yields <witness>_failure_receipt, delegated to gunbc.test_module_hygiene.failure_receipt_companion (the single authority; cli_run::failure_receipt_companion routes through the same module). scope_placement_gate_loudness_seed_probe_* is a hermetic always-false _passes witness + failure_receipt companion enrolled solely so dag/test/claim/extdeps_scope_placement_gate_loudness_witness_test.dag can execute production seed_runner_bool_false_failure_detail against a located receipt without re-running the wet placement gate; it must stay OFF CiSpec.witness_entries and OFF any future entry-scoped *_passes auto-discovery (auto-enrollment would red CI). Mute frontier (identity join on this entry, 2026-08-06): nine _passes witnesses, six _failure_receipt companions (extdeps_scope_placement_gate_failure_receipt, prose_row_introduction_gate_failure_receipt, scope_placement_gate_loudness_seed_probe_failure_receipt, dag_compile_clean_gate_failure_receipt, generated_artifact_drift_gate_failure_receipt, regen_verify_gate_failure_receipt; _companion_name helpers are not companions). Three production gates still return bare returned Bool(false) on refusal with no located receipt: cheap_claim_pool_gate, emit_host_gate, extdeps_external_authority_gate. Dissolution trigger: a gate leaves this frontier when this entry declares its <witness>_failure_receipt companion beside the _passes witness. Frontier counts are hand-authored prose debt — dissolve-on: derived projection from this entry's declarations (see loudness_witness_note sequencing note)."

fn extdeps_scope_placement_gate_failure_receipt_companion_name() -> String {
match failure_receipt_companion(function: extdeps_scope_placement_gate_passes_name) {
Present { value: companion } => companion
Absent => ""
}
}
data floor_gate_failure_receipt_note: String = "claim_executor derives a failure-receipt companion from a Bool witness's own name and evaluates it in THIS entry's context, so the companion must be declared here beside the witness it explains — not only in the gate module that builds the reason. Naming is mechanical: <witness>_passes or <witness>_holds yields <witness>_failure_receipt, delegated to gunbc.test_module_hygiene.failure_receipt_companion (the single authority; cli_run::failure_receipt_companion routes through the same module). The scope_placement_gate_loudness_seed_probe_* pair — a hermetic always-false _passes witness plus its failure_receipt companion — USED to live here solely so dag/test/claim/extdeps_scope_placement_gate_loudness_witness_test.dag could execute production seed_runner_bool_false_failure_detail against a located receipt. It is deleted from this entry and declared IN that witness entry instead (seed_runner_loudness_probe_*), because the companion is evaluated in the WITNESS entry's context and importing this module to reach the probe pulled this entry's whole gate closure — 718 modules against the witness's own 62 — into a witness that needs none of it. Mute frontier (identity join on this entry, 2026-08-18): eight _passes witnesses, five _failure_receipt companions (extdeps_scope_placement_gate_failure_receipt, prose_row_introduction_gate_failure_receipt, dag_compile_clean_gate_failure_receipt, generated_artifact_drift_gate_failure_receipt, regen_verify_gate_failure_receipt; the _companion_name helper that used to sit here is deleted with the probe pair — its one reader was the same witness, which now asks gunbc.test_module_hygiene failure_receipt_companion directly). Three production gates still return bare returned Bool(false) on refusal with no located receipt: cheap_claim_pool_gate, emit_host_gate, extdeps_external_authority_gate. Dissolution trigger: a gate leaves this frontier when this entry declares its <witness>_failure_receipt companion beside the _passes witness. Frontier counts are hand-authored prose debt — dissolve-on: derived projection from this entry's declarations (see loudness_witness_note sequencing note)."

func emit_host_gate_passes() -> Bool {
tools.ci_gates.exit_ok(e: run_spec_gate(g: EmitHostGate))
Expand Down Expand Up @@ -72,18 +51,6 @@ func prose_row_introduction_gate_failure_receipt() -> String {
tools.prose_row_introduction_gate.prose_row_gate_failure_receipt()
}

func scope_placement_gate_loudness_seed_probe_passes() -> Bool {
false
}

func scope_placement_gate_loudness_seed_probe_failure_receipt() -> String {
scope_placement_failure_reason(
exit: scope_placement_membership_verdict(
observation: AddedPathsObserved { paths: ["dag/extdeps/browser/opera.dag"] }
)
)
}

func dag_compile_clean_gate_failure_receipt() -> String {
dag_compile_clean_failure_receipt()
}
Expand Down
Loading