docs(plans,assessment): fourth-audit triage — the faithful §2 reader exists, dark
Cross-examined a six-fault red-team audit against the source at a4f567f0.
Three faults stale or mis-attributed, one already executed, one already ruled,
one superseded the same day — but it is the best-anchored external audit of the
four, and chasing its claims caught a hole in G-24's own sweep.
THE FIND: core/semantic_primitives/ + generate/linguistic_pipeline/ implement
ADR-0252 §2 faithfully — typed Container/ConservationLaw/DimensionalType
primitives, layer_a_english surface extraction, and field_integration.py
(51 geometric refs): constraints embedded as conformal points / COMPOSED
ROTORS with versor_condition + GoldTether closure. Nothing on the serving
side calls it. F-B amended: two readers exist — the inverted one serves,
the faithful one is dark.
Also verified: W-007's "architecturally blocked" claim is stale by two months
(ADR-0146 committed the L10 shape 2026-05-25; the daemon landed 18e25580;
the DerivedRecognizer step is BUILT at pipeline.py:211 behind
recognition_grounded_graph=False). The audit reasoned from the
substrate-liveness ratchet — the instrument PR-3 marked historical this same
day. H-9's mechanism, demonstrated on an external auditor.
Adopted from the audit: the H2 non-collapse criterion (the §5 add-vs-subtract
minimal pair must show non-zero relational contrast under operator
composition) joins the Phase-1 pre-registration verbatim; the use_salience
ruling moves ahead of Phase 3's serving evals.
The pattern, named once in the plan §2b: linguistic_pipeline, the ADR-0144
recognizer step, and relation_compiler are three instances of one class —
correct mechanisms built dark behind unruled flags while enumerative stopgaps
serve. The flag register's §3a hesitancy cluster is the same disease seen
flag-side. CORE's failure mode is not "never built"; it is transition windows
that never close. Phase 2 now begins from the dark-bridge inventory rather
than from new code — "less machinery" made concrete.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Wcw2pnMBwyvmNyQg4uPEt4
This commit is contained in:
parent
a4f567f097
commit
339bfd3776
2 changed files with 24 additions and 0 deletions
|
|
@ -191,3 +191,13 @@ For symmetry with the Candidate Register's "considered and not registered" — h
|
||||||
6. ***The unifying proposal — a root `contracts.toml` holding every declared relationship — is "the highest-leverage single change."*** The *principle* is already this repository's (ADR-0263 Rule 5: declared in the table, not the call site) and is implemented in the very file the assessment cites: `core/epistemic_state.py` declares `GroundingSource` as a closed `Literal` plus a runtime-iterable `GROUNDING_SOURCES` frozenset, single-sourced across the runtime, the lane validator, the Workbench API coercion, and a build-time enum-coverage test under `workbench-ui/` — and its docstring records the bug that pattern caught (unregistered `deduction`/`curriculum` labels floored to `"none"`, *"recording a proved answer as ungrounded in a durable audit artifact"*). Centralizing four tables with four different authorities and lifecycles into one file adds a fifth copy that must agree with four generators; it is a ratchet to guard ratchets (standing philosophy 2). **Cleared as a proposal, kept as an observation:** nobody can currently enumerate *"which declared tables exist and what enforces each"* — that is one page, folded into PR-5, not a new mechanism.
|
6. ***The unifying proposal — a root `contracts.toml` holding every declared relationship — is "the highest-leverage single change."*** The *principle* is already this repository's (ADR-0263 Rule 5: declared in the table, not the call site) and is implemented in the very file the assessment cites: `core/epistemic_state.py` declares `GroundingSource` as a closed `Literal` plus a runtime-iterable `GROUNDING_SOURCES` frozenset, single-sourced across the runtime, the lane validator, the Workbench API coercion, and a build-time enum-coverage test under `workbench-ui/` — and its docstring records the bug that pattern caught (unregistered `deduction`/`curriculum` labels floored to `"none"`, *"recording a proved answer as ungrounded in a durable audit artifact"*). Centralizing four tables with four different authorities and lifecycles into one file adds a fifth copy that must agree with four generators; it is a ratchet to guard ratchets (standing philosophy 2). **Cleared as a proposal, kept as an observation:** nobody can currently enumerate *"which declared tables exist and what enforces each"* — that is one page, folded into PR-5, not a new mechanism.
|
||||||
|
|
||||||
**What it got right, and it is worth saying:** proposal 1 pointed at the pack/domain seam. Every specific was wrong, and reading the code there anyway found **G-23** — a real, load-bearing, one-directional check on the band whose license is next to be earned. Bad method, useful direction. The triage rule survives unchanged and earned a second demonstration: *every rejected proposal above failed on a file its author did not open.*
|
**What it got right, and it is worth saying:** proposal 1 pointed at the pack/domain seam. Every specific was wrong, and reading the code there anyway found **G-23** — a real, load-bearing, one-directional check on the band whose license is next to be earned. Bad method, useful direction. The triage rule survives unchanged and earned a second demonstration: *every rejected proposal above failed on a file its author did not open.*
|
||||||
|
|
||||||
|
- **A fourth external audit (2026-07-28, "red-team dissection", six faults) — the best-anchored of the four, and the first to catch a hole in *our own* sweep.** Verified fault by fault at `a4f567f0`:
|
||||||
|
1. ***"Integration hole; `comprehension_attempt/` is a confession"*** — **exhibit wrong, direction right.** `core/comprehension_attempt/` is the typed *failure-analysis* layer (attempt records → failure families → contemplation/proposal loop), off-serving **by design**, zero geometry — instrumentation, not an abandoned engine. But chasing the audit's adjacent claim found what G-24's own sweep missed: **`core/semantic_primitives/` + `generate/linguistic_pipeline/`** — a faithful implementation of ADR-0252 §2 (typed `Container`/`ConservationLaw`/`DimensionalType` → `field_integration.py`, **51 geometric refs**, conformal points / **composed rotors**, `versor_condition` + GoldTether closure) — **unreached from serving.** F-B amended: two readers exist; the inverted one serves, the faithful one is dark. Folded into the perception arc §2b.
|
||||||
|
2. ***"Salience is a hardcoded heuristic in the parser, or a ghost"*** — **both horns false.** It is `core/physics/salience.py` (field curvature, ADR-0008 lineage), invoked from `generate/stream.py`, absent from the reader entirely; licensed lanes bypass it. The true half (default-ON, no recorded rationale) was already registered in the flag register §1. Its salience-timing point was good and is adopted: the ruling moves ahead of Phase 3's serving evals.
|
||||||
|
3. ***"Curriculum lane is negative value"*** — direction already executed (parked, Phase 4); "negative" overstates — the lane's failure produced the outcome-mix rule, the honesty machinery now guarding every future licence.
|
||||||
|
4. ***"`sensorium/` is premature infrastructure"*** — coincides with P-3, ruled a day earlier. Its cited authority ("Axiom 6, Compilation-last") appears **nowhere in this repository** — it is founding-doctrine upload language, not repo doctrine.
|
||||||
|
5. ***"W-007 blocked behind an uncommitted L10 process-shape decision; L10 is the single point of failure"*** — **stale by two months, and sourced from the retired instrument.** The "master plan" it reasons from is `docs/audit/substrate-liveness-ratchet.md` — marked historical by PR-3 *this same day*. L10's shape was committed in ADR-0146 (2026-05-25), the daemon landed `18e25580` (2026-06-14), and W-007's mechanism is **built**: `core/cognition/pipeline.py` step 0b attaches `DerivedRecognizer` (ADR-0144) behind `recognition_grounded_graph = False`. H-9's mechanism — an authoritative-looking dead instrument converting "I should check" into "I already checked" — demonstrated on an external auditor, which is exactly why the banner PR-3 wrote quotes the mechanism it retires.
|
||||||
|
6. ***"H2 has no experiment designed"*** — true when written, superseded the same day by the perception arc Phase 1. Its one genuine addition is adopted verbatim: the **non-collapse criterion** (the §5 `add`-vs-`subtract` minimal pair, residual exactly 0.0 under similarity, must show non-zero relational contrast under operator composition) joins the pre-registration as a named must-pass case.
|
||||||
|
- ***Its closing ("insert one junction; everything else stays exactly as it is")*** — **internally inconsistent**: a junction downstream of a 1.28% reader receives 1.28% of input, which its own priority stack (freeze the enumerative reader) concedes. The junction instinct is right and now has a concrete referent — `field_integration`'s composed-rotor path — but connecting it *is* the perception rebuild, not an alternative to it.
|
||||||
|
- **The pattern the cross-examination surfaced, worth more than any single fault:** `linguistic_pipeline`, the ADR-0144 recognizer step, and `relation_compiler` are three instances of one class — **correct mechanisms built dark behind unruled flags while enumerative stopgaps serve.** The flag register's §3a cluster is the same disease seen flag-side. CORE's failure mode is not "never built"; it is **transition windows that never close.** Recorded in the perception arc §2b, where Phase 2 now begins from the dark-bridge inventory rather than from new code.
|
||||||
|
|
|
||||||
|
|
@ -116,6 +116,20 @@ One front end replacing both readers, structured as the repo's own governing pat
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## 2b. Pass-3 amendments — from the third external audit (2026-07-28), verified in-tree
|
||||||
|
|
||||||
|
A red-team audit was cross-examined against the source. Three of its six faults were stale or mis-attributed (see the triage in `31-hindrance-audit.md`), **but its direction flushed out two subsystems this plan's own author had missed** — and they change Phases 1–2 from "build" to "connect and test":
|
||||||
|
|
||||||
|
- **The faithful §2 reader already exists, dark.** `core/semantic_primitives/` (typed `Container`, `ConservationLaw`, `DimensionalType` — *"linguistic → field compilation"*) feeds `generate/linguistic_pipeline/` (layers A/B/C + `field_integration.py`, **51 geometric refs**): surface text → typed constraints → **conformal points / composed rotors** → `versor_condition` + GoldTether closure. **Nothing on the serving side calls it.** So F-B sharpens: the ratified design was not merely inverted by the serving reader — it was *also implemented faithfully* in a parallel pipeline that never reached dispatch. Two readers: the wrong one serving, the right one dark.
|
||||||
|
- **The recognizer junction is built, not blocked.** `core/cognition/pipeline.py` step 0b (ADR-0144) attaches `DerivedRecognizer` (anti-unification) and can derive the articulation graph from the admitted `EpistemicNode` — behind `recognition_grounded_graph = False`, one of the flag register's four *"waiting on a transition window that has not been closed"* entries.
|
||||||
|
|
||||||
|
**The pattern, named once:** `linguistic_pipeline`, the ADR-0144 recognizer step, and `relation_compiler` are three instances of one class — **correct mechanisms built dark behind unruled flags while enumerative stopgaps serve.** The flag register's §3a hesitancy cluster (`recognition_grounded_graph`, `realizer_grounded_authority`, `forward_graph_constraint`, `unified_ingest`) is this same unfinished migration, seen flag-side. The disease is not "never built"; it is **transition windows that never close.**
|
||||||
|
|
||||||
|
**Consequences for the phases:**
|
||||||
|
1. **Phase 1 (H2) runs on existing machinery, not new scaffolding** — extend `layer_a_english` to the four ratified primitives and encode relations as operators through `field_integration`'s composed-rotor path. Adopted from the audit verbatim into the pre-registration: an explicit **non-collapse criterion** — the §5 `add`-vs-`subtract` minimal pair (residual exactly 0.0 under similarity alignment) must show non-zero relational contrast under operator composition, as a named must-pass case.
|
||||||
|
2. **Phase 2 starts from the dark-bridge inventory** (the four §3a flags + the linguistic pipeline), wiring and measuring before writing anything new — "less machinery" made concrete.
|
||||||
|
3. **The `use_salience` ruling moves from Phase 5 to before Phase 3** — the read-rate lane (Phase 0) is pre-salience and unconfounded, but serving evals are not; an undocumented default-ON attention mask must be ruled before licences are measured through it.
|
||||||
|
|
||||||
## 3. What this plan deliberately does not do
|
## 3. What this plan deliberately does not do
|
||||||
|
|
||||||
- It does not touch `core/physics`, the algebra, the reliability gate, or the ledger discipline. Those are correct and load-bearing.
|
- It does not touch `core/physics`, the algebra, the reliability gate, or the ledger discipline. Those are correct and load-bearing.
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue