Skip to content

Thirteen identities DeclinedLiveTree hides: all thirteen reproduce on main, eleven are real defects and one pair is a wall that never held - #9171

Merged
briansrls merged 3 commits into
mainfrom
session/calm-boar-150
Aug 25, 2026
Merged

briansrls merged 3 commits into
mainfrom
session/calm-boar-150

Conversation

@gunbai-bot

@gunbai-bot gunbai-bot Bot commented Aug 25, 2026 •

Copy link
Copy Markdown
Contributor

The headline, first, because it is worth more than the other twelve combined

test_migration_debt_test.retained_rust_kernel_wall_holds_against_live_tree is bound by gunbc.roadmap_authority as the closing contract for roadmap node v1-test-migration. Its own note calls the identity join "a construction wall (an undeclared module or a stale row is unwritable-and-green)".

src/v1/tests/src/anonymous_record_struct_resolution_test.rs was added to the v1 kernel by #9089, eight days later, with no floor-witness stem covering it and no row in test.retirement.model. every_discovered_module_is_retained() refuses. The wall did not fire, because the wall does not run.

That is the entire thesis of #9106 — that DeclinedLiveTree hides live guarantees — demonstrated on a specimen where the guarantee was load-bearing enough to be a roadmap node's closing contract.

And the same shape recurs across three separate cuts. The 2026-08-15 floor cut left two stale non_fold_residue roster rows naming src/v2/workflow/ci_floor_plan.dag. The 2026-08-24 measurement bankruptcy left 19 doc roots and 12 links naming deleted docs/probes/ files. Three cuts, each leaving rows pointing at what it removed, none detected — because the thing that would detect them does not run.

What was asked

Classify the thirteen witness identities routed from royal-cat-509's run 32794539384 (the branch that deletes DeclinedLiveTree at the floor root — the only tree in which these have ever executed), establish which are real, and repair or route each.

Method

Re-measured on main, not read. claim_batch --hermetic (the floor's own mode) per identity, then each failing assertion decomposed into sub-claims run the same way, plus --wet A/B where a mode difference was plausible.

All thirteen reproduce. No row is not reproducible, which is the load-bearing result: every one is a main-side fact, none is branch content of the cut.

Verdicts

# identity verdict what is broken
1–3 test.claim.doc_reachability_witness orphan / dangling / roots-all-admitted real 228 declared roots, 209 admitted — the 19 unadmitted are exactly the docs/probes/ files the 2026-08-24 measurement bankruptcy deleted
4–6 v2.test.lens_doc_reachability.doc_reachability_test orphan / dangling / is-clean real same report through the v2 witness: 16 dangling links (12 into deleted probes, 4 at a docs/plans/ci-selection-vs-scheduling.md that does not exist, one of those from ROADMAP.md itself), 35 orphans
7 mandatory_tag.corpus_scan_witness_test.corpus_live_clean_tree_wall_holds real roster count healthy (>150 passes); exactly two extdeps modules project anchor Absent — extdeps.cpu_attachment.lotes_azifa072, extdeps.languages.rust.capabilities
8 non_fold_residue_test.non_fold_residue_no_unrostered_or_stale real unrostered=21 stale=4 live=186; two stale rows name src/v2/workflow/ci_floor_plan.dag, deleted by the 2026-08-15 floor cut
9–10 lens_module_gate_witness lens_module_gate_holds_live / question_zero_verdict_live_holds wrong witness unenrolled == 0 passes, unjustified == 0 passes, redundant_blocking == 0 fails at 42 of 58
11 emit_ingest_grammar_relation_round_trip.same_grammar_parse_ingest_bridge_holds real parse accepts; parse_tree_to_emitted_node refuses parse_tree_to_emitted_node_no_matching_row
12 self_host_candidate_generation.candidate_generation_translate_self_emit_dag_add_slice_holds real infer accepts; translate refuses infer_grounding_not_derived — identical hermetic and wet
13 test_migration_debt_test.retained_rust_kernel_wall_holds_against_live_tree real see the headline above

The one wrong witness, and why adding exemption rows is forbidden

lens_module_gate keys redundancy on the pair (verdict_authority, remedy) — two coarse closed enums — over 58 enrolled lenses. Two lenses sharing "reports a LensVerdict" and "the remedy is a report" is the common case, not evidence that one re-coined the other. The exemption roster carries two rows against a population of 42, and its first refusal is v2.lens.complexity against itself — two lens ids bound to one module path, which no exemption row could ever cover.

That self-refusal is the proof, not the illustration: a check whose first refusal is structurally uncoverable by its own escape mechanism is not under-exempted, it is wrong. Growing the residue roster toward 42 would be the one-sided ratchet over hand-authored rows DESIGN §5's oracle ruling rules out, and it would silence a criterion nobody has established is right. The repair is at the criterion, and the carrier already names it: lens_module_gate_surface_table_dissolve_on says the central table dissolves when each lens declares its invariant surface on its own module. Routed there.

A §4b(4) violation that already landed

Three of the 19 dead binds are the g1-cited-symbol-control-* rows, which gunbc.doc_graph_roots declares PlanHasNoRetirement — permanent discriminating evidence, kept precisely so a climb could not delete it. §4b(4) is explicit that a climb dissolves the redundant lower-rung production machinery and never the evidence, because deleting the evidence recreates specification-without-execution one rung up. The bankruptcy sweep deleted it anyway.

The two available closures are not peers: deleting the three binds finishes a deletion §4b(4) forbids and makes it invisible, while restoring the three files from history reverses part of an operator cut. Only the second is reversible by anyone other than the operator, which is why the question is theirs. Carried as NeedsOperatorRuling and escalated; not acted on here in either direction.

What this change contains

A typed carrier (gunbc.declined_live_tree_defect_classification) with one row per identity — verdict, the evidence that was executed to reach it, and the route — and a witness that guards the carrier's structure.

The witness declares SubstrateInputsOnly, truthfully, so it runs on the floor — unlike the thirteen rows it classifies. That asymmetry is deliberate and is the sharpest available statement of the gap: a classification carrier that executes while its subjects do not.

Nothing is enrolled as an expected red. The floor does not run these rows at all, so an enrolment would assert an observed red nobody observed — the authority substitution #8865 made. The rows are unguarded by construction, and the only thing that changes that is the DeclinedLiveTree deletion. #9106 is untouched.

Repairs are deliberately routed rather than taken: eleven of the thirteen are owned by lanes that are not this one, and repairing another lane's authority from inside a classification pass mints a second authority for one fact that collides the moment the owner touches it.

🤖 Generated with Claude Code

Brian Searls and others added 3 commits August 25, 2026 04:04
… main, eleven are real defects and one pair is a wall that never held

Classifies the thirteen witness identities routed from royal-cat-509's run
32794539384 -- the only tree where the required floor's DeclinedLiveTree arm is
deleted, so the only tree where these have ever executed.

Re-measured on main with claim_batch (--hermetic and --wet) rather than read:
ALL THIRTEEN REPRODUCE. None is branch content of the cut; every one is a
main-side fact that the decline arm is hiding today.

Eleven real defects, four subjects:
- six doc-graph rows, one root cause: the 2026-08-24 measurement bankruptcy
  deleted docs/probes/ whole and left gunbc.doc_graph_roots naming 19 of the
  deleted files (228 declared roots, 209 admitted), 16 dangling links, 35 orphans
- two extdeps modules with no external-authority anchor
- 21 unrostered non-fold residue sites and 4 stale roster rows
- two compiler-behaviour refusals, staged by execution:
  parse_tree_to_emitted_node_no_matching_row, and infer_grounding_not_derived
- one undeclared v1 test module added by #9089 that reds the v1-test-migration
  closing contract

One wrong witness (two identities): lens_module_gate's redundancy leg refuses 42
of 58 enrolled lenses because it keys on two coarse enums; its first refusal is
v2.lens.complexity against itself. unenrolled and unjustified both measure 0.

Nothing here is enrolled as an expected red: the floor does not run these rows at
all, and asserting otherwise is the authority substitution #8865 made.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…, exemption rows are forbidden, and the permanent-evidence deletion is a landed 4b(4) violation rather than a neutral choice

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…nd bare top-level Disposition dropped std.disposition's binding pool-wide, taking its Scaffold variant with it

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@briansrls
briansrls merged commit 0d71f87 into main Aug 25, 2026
1 of 2 checks passed
@briansrls
briansrls deleted the session/calm-boar-150 branch August 25, 2026 17:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant