7-agent architecture audit + adversarial verification refutes the intuition that all-speculative packs cap the model's learning. The reasoning/learning loop is blind to epistemic_status (recall_realized ignores it; speculative facts chain to deductive-closure fixed point). Lexicon-status promotion is compile-and-display-only (runtime epistemic state comes from grounding_source, not the lexical row). The verified/as_told distinction is honesty-disclosure-only and intentional. All three coherence-promoters are dormant (proof-carrying demo-only, energy-policy default-off, review never sets coherent). Conclusion: do NOT promote-to-coherent for learning (cosmetic at best, false-verified wrong=0 hazard for facts); the only genuine lever is wiring the sound, fail-closed proof-carrying path — a separate deliberate decision.
5.6 KiB
Finding: the speculative epistemic ceiling does NOT blunt learning
Date: 2026-06-14
Status: substrate finding (refutes a compelling-but-wrong intuition; corrects
the "B1 coherent-promotion" plan). Method: 7-agent architecture audit + adversarial
verification (run wf_f7c37d46-16f).
TL;DR: All cognition/logos pack entries are speculative, and the engine's
determine path can never label a conclusion verified — but neither fact
blunts learning. The speculative state is an honesty/disclosure mechanism, by
design, and the reasoning/learning loop is blind to it. The plan to "promote
entries to coherent so the model can learn" is unwarranted; the lexicon variant is
purely cosmetic and the fact variant risks manufacturing false verified.
The question
Audit found 25/28 packs have no epistemic_status (→ default speculative), and
generate/determine/determine.py::_basis only returns "verified" when every
ground is coherent. Hypothesis: this caps the model and is why it underperforms
at learning from contemplation/practice. Tested rigorously. Refuted.
What is actually true (verified, high confidence)
Axis A — promoting a lexicon entry to coherent is compile-and-display-only
language_packs/compiler.py:75-92maps acoherentlexical row →EpistemicState.DECODED, stored per-surface on the manifold (compiler.py:357→vocab/manifold.py:114).- No reasoning/recall/realize/learning path reads that tag. The only non-test
reads (
compiler.py:406,:559) merely copy it forward;workbench/logos.pyreads it for the Studio audit badge (display). - The runtime's per-turn epistemic state comes from
grounding_source, not the lexical row: any pack-resolved lemma →grounding_source="pack"(chat/pack_grounding.py:461,489) →DECODED(core/epistemic_state.py:133-144). So aspeculativeand acoherentpack lemma are runtime-indistinguishable. (Adversarially upheld; no counterexample.)
Axis B — every realized fact is SPECULATIVE by construction
- Told facts:
generate/realize/realize.py:217(status = EpistemicStatus.SPECULATIVE, "COHERENT is never a default (ADR-0021)"). Derived facts:realize.py:372. Alsogenerate/proposition.py:264,generate/realize/quantitative.py:108. determine._basis(determine.py:88-91) gatesverifiedon thoseRealizedRecordgrounds — never the lexicon. So lexicon promotion can never reach it.
Axis C — three coherence-promoters exist; all are dormant at runtime
- Proof-carrying (ADR-0218):
teaching/proof_promotion.certify_promotion+vault/store.py:417,486-507 apply_certified_promotion(flipsCOHERENTat :507). Built, sound, independently-re-verified, fail-closed — zero runtime callers (only tests +demos/proof_carrying_promotion). - Energy-policy (ADR-0148):
vault/store.py:361 promote_eligible_entries, wired into the live turn boundary (chat/runtime.py:2324,2509) but default-off (config.vault_promotion_enabled = False). Promotes on energy cooling, not coherence/entailment. - Curator review:
teaching/review.py:274runs live on correction turns but itsepistemic_statusis a passed-in param defaultingSPECULATIVE; the live call sets no status. Computes no coherence.
- So
verifiedis genuinely unreachable at runtime — by deliberate conservatism, not a bug.pipeline.py:379'sCOHERENTproposal branch is dead relative to the live path.
Axis D — the learning loop is blind to epistemic_status (decisive)
generate/realize/recall.py:19-62 recall_realizedignoresepistemic_statusentirely.SPECULATIVEconsolidated facts are immediately re-readable as premises, so deductive closure climbs to fixed point with the speculative ceiling fully in place. The ceiling does not impede chaining or learning.- The
verified/as_tolddistinction is observational only — it selects a surface string (render.py:31) and gates nothing else. - Intentional and sound:
consolidate.py:22,realize.py:331-334— "a sound inference never upgrades the standing of its speculative premises."idle_tickand contemplation are proposal-only/SPECULATIVE by construction (consolidate.py:21-22,runtime.py:871).
Conclusion
- The all-speculative state is not why the model struggles. The learning loop works (monotone climb to deductive closure) regardless of it. The real learning wall is elsewhere (recognizer/coverage), not epistemics.
- Do not promote entries to coherent "to help learning." The lexicon variant is
cosmetic (no runtime consumer); the fact variant would make speculative content
admissible-as-evidence — a wrong=0 hazard (false
verified) — for zero learning benefit. - The only genuine epistemic lever is wiring the proof-carrying promotion path
(Axis C #1) so a deductively-proven derived fact can become coherent → the engine
could honestly emit
verifiedfor what it proved (vs. was told). That is a real honesty/capability upgrade and it is wrong=0-safe (fail-closed, independently re-verified) — but it was deliberately left unwired, so turning it on is a ratified-decision, scoped separately indocs/handoff/proof-carrying-wiring-scope-2026-06-14.md.
Cross-references
ADR-0021 (epistemic status = revision position), ADR-0218 (proof-carrying
promotion), ADR-0148 (energy-policy promotion), ADR-0206 (epistemic disclosure),
docs/issues/proof-carrying-coherence-promotion.md, and the parallel honesty
finding docs/analysis/holonomy-resonance-proof-not-robust-2026-06-14.md.