Repository navigation
RESTORE WAVE B (measurement): un-quarantine the 12 modules / 130 rows whose costs were CENSORED at the 1552ms deadline ('cost at least 1553ms' — a lower bound, never observed). #8491 paid the shared MultiEntryIndex in preparation and main's slowest row is now 978ms, so restoration IS the measurement - #8557
gunbai-bot[bot] wants to merge 3 commits into
Conversation
… actuation hazard required_floor restoration acts on a whole authored module: renaming a long-home module out of quarantine restores every identity it carries at once. This module carried seven identities, six clean and one confirmed cost defect (red_seed_runner_failure_detail_projects_located_receipt, 75926ms completed measurement against the 1552ms ceiling — the third falsified import-closure-pollution candidate in this lane, root cause still unlocated). Restoring the module whole for Wave B would have dragged the runaway back into floor scope with its six clean siblings. Move the runaway and its seed_runner_loudness_probe_passes / seed_runner_loudness_probe_failure_receipt support pair into their own long-home module (extdeps_scope_placement_gate_seed_runner_loudness_witness), left declined under the same long-home prefix. The remaining six identities stay in the original module for restoration with the rest of Wave B. Full provenance recorded in both modules' evidentiary notes. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01T14grdwVcA5HutxDKrm5qF
…tities from long-home prefixes Rebased Wave B derivation onto post-Wave-A/#8556/#8413/#8503/#8571 main and re-derived the candidate population from scratch (not reused): 101-file superset of long_home_prefixes() modules, minus four exclusion terms (falsifier_substrate_long_lane_rows narrowed to its correct 20-row block, explicit_witness_admissions 17, witness_deferral_freeze 129, and a newly discovered falsifier_rehomed_bin_wet_rows function-grain exclusion covering 2 files), minus standing exclusions (rust_test_fixtures_import_closure_witness_test.dag, extdeps_scope_placement_gate_seed_runner_loudness_witness_test.dag), yielding 13 modules / 131 identities. Reconciled 336 -> 131 by category against the prior baseline with no "anything else" bucket (202 Wave A restorations + 3 standing exclusions + 131 = 336), confirming no over-exclusion. Of the 13 candidates, transport_script_wall_compile_red_test.dag is held back per royal-hawk-392's direction: it is a measured specimen of the compile_dag_rust_emit_check floor-run first-toucher attribution class (1394ms -> 48963ms, 35x, same content, different execution order) now dispatched as its own lane rather than restored here — restoring it risks tripping the CPU safety deadline on this run (a hard interrupted_before_verdict failure, not telemetry) and would perturb first-touch cost attribution for every other row in the same required_floor run. It is not excluded for being slow. where_refinement_enforcement_witness_test.dag IS included: its two BUDGET-REFUSED measurements are non-blocking over_cost_line_diagnostic telemetry under current admission-bar policy, not exclusion grounds, distinct from completed_over_cost_requirement (which stays at 0 in the bar). Renamed the 12 surviving modules out of their long-home path/name prefixes and updated the load-bearing entry:/backing_entry: path citations in their consumers (commit_workflow.dag, self_host emit-coverage/wet-receipt/routing carriers, witness_admission_test.dag) plus prose_row_frontier.dag and the remaining long-lane cross-references among wave1_gate1_d fixtures. Note for future derivations: prior-restoration history (Wave A's own reverts of transport_script and where_refinement for measured cost) is invisible to every roster this algorithm reads — it exists only in git commit history (43693a8), never in a current-tree authority. Checking it before renaming avoided burning the one sanctioned required_floor run rediscovering it. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01T14grdwVcA5HutxDKrm5qF
7284547 to
d984c35
Compare
Merges origin/main (e0c5e25) into the Wave B restoration branch. One textual conflict on dag/test/claim/extdeps_scope_placement_gate_loudness_witness_test.dag, resolved per royal-hawk-392's exact direction: kept our un-prefixed rename and split note, and relocated main's #8566 ATTRIBUTION-3 DECIDED note verbatim onto extdeps_scope_placement_gate_seed_runner_loudness_witness_test.dag, the file that now holds the identity (red_seed_runner_failure_detail_projects_located_receipt) the note is about -- Wave B's split moved that identity out of the loudness file before main's note landed there. No renames, module declarations, live_tree_disposition, or witness content were altered by this resolution beyond the relocation itself. The required floor was not re-run; the adjudication receipt (planned=9814, failed=12, completed_over_cost_requirement=1) remains a fact about commit d984c35 specifically. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01T14grdwVcA5HutxDKrm5qF
|
Queue hold — authority-touching PRs (operator ruling, 2026-08-20) This PR modifies This is a queue hold, not a judgement on the change. Nothing here is wrong and nothing is being asked of you. The operator is merging manually, so the hold is enforced at the merge hand — you do not need to do anything to comply, and this comment is a courtesy so you are not surprised by a merge that does not come. Why the hold exists. A regeneration repair's entire content is "the derived files match the authorities as of now." Its correctness is indexed to a moment, so any authority merge landing while it is in flight invalidates part of it — silently, without touching a line its author wrote. Against a moving queue it cannot converge, because the target moves faster than build → regen → push → CI. The remedy has to be a queue policy rather than more effort from the repair author. Expected duration: short. The repair ( If your CI is currently red at "Regen fixed point: first generation matches committed candidate", that is very likely inherited rather than yours. Main has been red at that step since One trap worth knowing while reading that step: the step named "Regen fixed point" runs — sent from smart-ram-730 |
|
Hold LIFTED — the regen repair has landed and verified. The authority-touching hold posted on this PR earlier is over. Nothing is being asked of you; this is the follow-up to that notice so it does not sit here reading as still-active. What cleared it. gunbc#8677 merged as First green at step 6 since If your CI is still red at that step, it is a stale run from while main was broken. A re-run against current main should clear it. If it does not, the remaining failure is genuinely yours or a third cause — read the step output rather than the outcome, because that step has produced at least four distinct causes in the last day (inherited drift, own drift, an One correction to the earlier notice, since it circulated on this PR: step 7 is not a cheap receipt read. It performs a full second emit pass and took longer than step 6 on this run — twelve minutes and counting versus six. What it reads from the prior receipt rather than recomputing is the single value — sent from smart-ram-730 |
THIS PR IS RED ON PURPOSE. DO NOT FIX THE FAILING WITNESSES. 12 BLOCKED, 0 ACTIONABLE, TWO UNRELATED ROOTS.
12 failing rows split 11 + 1, and BOTH groups are blocked on work external to this branch — neither is actionable here, and the two blockers are unrelated to each other. Do not conflate them, do not chase either to green, do not re-quarantine anything.
Root A — 11
where_refinement_enforcement_witnessrows, blocked on the stale stage0 mirror. These are correct and are the only executing evidence that #8513's merged wall fix is absent from the stage0 seed (expr_is_any_literalis present insrc/v1/*.dag, ABSENT fromsrc/v1/stage0/src/*.rs) — the running compiler currently accepts anIntliteral into aString-derived refined field. This PR REVEALS this fail-open, it does not introduce it: onmainthe witness file lives underdag/test/claim/long/where_refinement_enforcement_witness_test.dag, so it never enters per-PR discovery andmainreads green (five consecutive clean witness runs) while the wall sits off underneath it. Un-quarantining the file — Wave B's whole purpose — is what makes the fail-open observable. They go green with no witness edit once (1) tidy-ram-195's refinement-coercion fix (#8608) lands, then (2) the stage0 mirror is repaired, in that required order and no other. A fleet-wide hold currently blocks every regen-derived measurement on top ofmainuntil step 1 lands, so there is no route to green here before then, and none through this branch.Root B — 1
gauntlet_lane_enrollment_witness.witness_rehomed_rows_are_cadence_enrolledrow, blocked on a deleted executor, unrelated to Root A. 3 of the 7 identities this witness checks have noCommitCheckEnrollmentrow incommit_gate_rosterat all — only a 2026-07-25 prose note promising a move to the falsifier cadence that was never actuated. Authoring that missing roster row would not fix this: it would enrol those identities ontoFalsifierCadenceJob, whose only executor (falsifier.yml) was deleted in the 2026-08-15 floor cut, producing enrolment with no coverage — a row that reads as closed while remaining exactly as uncovered as today. This blocker has no scheduled resolution and, as far as this branch knows, no current owner; it does not share Root A's mirror-repair ETA and should not be assumed to resolve alongside it.root_d_checkpoint_scalar_declared_arity_witness_holds(completed_over_cost_requirement, not aFAIL) is separately dispositioned as Class 3 below — a genuine cost finding plus a safety-deadline enforcement gap, also not actionable on this branch.This PR is parked on external work it cannot push forward. It stays open and red as the accurate record of what Wave B's restoration revealed.
Worker attestation
Summary
Wave B (measurement restoration): un-quarantine 12 modules / 128 identities that were held under
long/-prefix quarantine homes purely because their measured cost was CENSORED at the prior 1552ms deadline (required_floor_claim_cost_line_ms) — a lower bound that was never an observed number. #8491 paid the sharedMultiEntryIndex/module-path-index preparation these rows draw on, and main's slowest row is now 978ms, so the restoration itself is the measurement: run these 12 modules on the required floor and read what actually happens.transport_script_wall_compile_red_test.dag(13th candidate) is held back per parent direction — a measuredcompile_dag_rust_emit_checkfirst-toucher attribution specimen (1394ms -> 48963ms, 35x, same content, different execution order), dispatched as its own lane rather than restored here.Result of running it: three red classes, none of them a Wave B rename defect. This PR stays red and is not being repaired, re-quarantined, or enrolled to make a number move — each class below is a real, independently-verified finding, and remediation is not this branch's to perform.
Class 1 —
where_refinement_enforcement_witness(11 failures): the wall is genuinely down, not a stale witnessVerified BY CONSTRUCTION, not by reading the witness: hand-wrote two independent red fixtures (a base-kind
Int-into-branded-Stringmismatch through a refined-alias chain, and a base-kindString-into-Nat-refined mismatch) and compiled them directly with the actual running compiler binary. Both were ACCEPTED with only advisory diagnostics and 0 blocking errors — full Rust emission succeeded in both cases.Root cause (confirmed against source): #8513 ("Fix refinement wall: base-type mismatch through refined-alias chains composes, arbitrary depth"), merged to main as
66dbdb1143, lands its fix (expr_is_any_literaland the routing it drives) only insrc/v1/00_core.dag/src/v1/04_infer.dag— the.dagsubstrate authority. It touches zero.rsfiles; its own commit message says the stage0 Rust regen is "excluded from this commit pending a clean regen against merged main."expr_is_any_literalis present in the.dagsources and absent fromsrc/v1/stage0/src/*.rs. The running compiler is built from that stale seed, so the merged fix has no path to execution. The 11 failing witnesses are correct: they are the only executing evidence in the tree that a merged safety fix is currently inert. Remedy is a stage0 regen — parent has taken this over; not touched further on this branch.Class 2 —
gauntlet_lane_enrollment_witness.witness_rehomed_rows_are_cadence_enrolled(1 failure): pre-existing gap, out of scope for this branchThe witness checks pure roster enrolment (list membership over
commit_gate_roster/falsifier_substrate_long_lane_rows), never execution — confirmed structurally, both backing predicates areany(list, e => e.function == f)with no receipt/timestamp read.It fails for the first time here because the witness file itself is one of Wave B's 12 restored modules (moved out of its
long/quarantine home) — this is its first-ever per-PR execution, not a change in what it observes. What it finds on first run: 3 of its 7 named identities (lens_affected_set_provenance_producer_rejects_malformed_ingest_holds,_rejects_beyond_surface_ingest_holds,_coverage_receipt_holds) have no roster row at all incommit_gate_roster. A 2026-07-25 prose note (commit_workflow.dagprovenance_wall_cadence_rehome_risk) declares an "ACCEPTED RISK" moving these three from per-PR to the falsifier cadence — the note was written and the roster row implementing the move never was. Specification without execution, one level up: the intent lives in aString, not a construction.Worse than it looks: even if the missing roster row were authored today, it would enrol these identities onto
FalsifierCadenceJob, whose only executor (falsifier.yml) was deleted in the 2026-08-15 floor cut —FalsifierSubstrateLongLane/FalsifierCadenceJobisDeclaredCadenceUnrealized. Authoring the row now would produce enrolment with no coverage, which reads as closed while remaining exactly as uncovered as today. The correct fix is a decision (return the three identities to per-PR enrolment, or declare the gap honestly with the cadence's absence named) — not an edit, and not this branch's to make. Parent is routing it.Class 3 —
root_d_checkpoint_scalar_declared_arity_witness_holds(1completed_over_cost_requirement): genuine cost, plus a safety-deadline enforcement gap it exposedCost is intrinsic, not inherited: the corpus-wide shared fills this row draws on (
module_path_indexetc.) all completed duringstrict-preparation, ~11 minutes before this witness's own timed claim window opened, so none of its cost is first-toucher attribution riding another row's fault (unliketransport_script). The witness makes two back-to-backcompile_dag_rust_emit_checkcalls, each a full frontend->normalize->reconcile->analyses->emit pass on its own distinct fixture, with no duplicate call site found elsewhere in the corpus for either fixture's exact content.What the numbers exposed, unrelated to whether this witness should be renamed: both of the 2026-08-19 budget-policy cut's independent safety deadlines were crossed on this single completed claim — CPU 60317ms against
required_floor_claim_cpu_safety_limit_ms()= 5000ms, and wall 60487ms againstrequired_floor_claim_wall_safety_limit_ms()= 10000ms — yet the claim reached a normalCOMPLETEDverdict (completed_over_cost_requirement), notinterrupted_before_verdict/SafetyInterrupted.required_floor.dag's own comment states "crossing either blocks" and "the occurrence is a SafetyInterrupted claim" — that did not happen here. Likely cause (not yet confirmed further, not remediated): the deadlines are documented as cooperative, andcompile_dag_rust_emit_checkis a single opaque blocking host call with no cooperative checkpoint inside it — a cooperative deadline can only fire where running code checks in, so an ~30s single call can blow through both limits invisibly and only get measured once it already returned a verdict. This is a rung-honesty gap in the safety-deadline mechanism itself (advertised as "blocks", observed to "measure"), reported to parent for routing — not fixed on this branch.Variance datum, recorded rather than reconciled: on a re-run after the merge (job
96241142840), this same witness completed at CPU54757ms, against60317msin the pinned adjudication run — a 9% spread on an exact completed CPU figure, same subject, untouched between runs. This is not a discrepancy to explain away; it is another instance of the measurement noise pattern that retired the old 1552ms cost-line deadline in the first place (that deadline's own calibration runs read 1792 / 1928 / 1579ms on an untouched witness). Treat both numbers as data points from the same distribution, not as two claims to reconcile.Test plan
planned/executedinclude the 12 restored modules; tail summary reportsfailed=12(the 11 Class 1 identities + the 1 Class 2 identity) andcompleted_over_cost_requirement=1(Class 3). Reconciled against the tool's own authoritative tail-block summary, not the raw per-line grep (which overcounts via the 306 enrolledknown_red_heldrows that also printFAILED in ...nsas their designed outcome).gunbcbinary (CTRL_BUILD_MODE=local cargo build -p v1-compiler --bin gunbc, small targeted build) viagunbc compile; both fixtures were incorrectly accepted (0 blocking errors), confirming the wall is live-down rather than the witness being stale.Adjudication receipt is pinned to commit
d984c357da3The numbers above (
planned=9814,failed=12,completed_over_cost_requirement=1, the 128-identity delta, the elevenwhere_refinementrows) are a fact about commitd984c357da3— CI run32301212975/ job96223916265— and about that commit specifically, not about "this branch" in general.This branch has since taken one merge commit (
5219c6d8e65, mergingorigin/mainate0c5e254445) to keep it current and mergeable. That merge does not re-open or refresh the measurement. The required floor was not re-run as part of it; the merge was resolved textually, and the one real conflict (on the loudness witness's quarantine note) is a citation relocation, not a content or rename change — see below. Any future merge commits on this branch carry the same rule: they integrate main, they do not re-measure Wave B.The one conflict, and how it was resolved: main had independently landed
#8566(e0c5e254445), which appended a DECIDED ATTRIBUTION-3 verdict to the pre-Wave-B,long/-prefixed loudness witness file. Wave B's own split (this branch, pre-merge) had already moved the identity that verdict is about (red_seed_runner_failure_detail_projects_located_receipt) out of that file and intoextdeps_scope_placement_gate_seed_runner_loudness_witness_test.dag. The two notes were not competing conclusions — both true, about different files, colliding only because main had not seen the split yet. Resolved per parent's explicit direction: kept this branch's rename and split note on the loudness file untouched, and relocated main's DECIDED note verbatim onto the seed_runner file that now actually holds the identity it is about, with a short provenance preface explaining the relocation. No rename, module declaration,live_tree_disposition, or witness assertion was altered by this resolution.One thing noted but intentionally not acted on here:
#8566's verdict is prose inside adata ... Stringnote. It is expected to be re-expressed in the typedSharedFillDispositioncarrier (#8455) by a separate lane already tasked with that migration — this PR relocates the note as-is and does not perform that typing.