Commit graph

9 commits

Author SHA1 Message Date
Shay
9a0ee78956
audit(L6): chat runtime surface composition (#246) 2026-05-24 19:06:42 -07:00
Shay
3e50899306
docs(audit): ratchet v2 — add W-010..W-014 from L4 and L5 findings (#245)
Five new wiring-debt entries from L4 (recognition) and L5
(cognition pipeline) audits:

- W-010 — L4 recognition bypasses L3 vocabulary (operator decision:
  intentional token-level or wire VocabManifold consumption).
- W-011 — Typed recognition refusals dropped at pipeline boundary
  (mechanical fix, small; closes recognition audit-trail gap).
- W-012 — InnerLoopExhaustion not caught in ChatRuntime.chat()
  (mechanical fix, small; sibling of W-011; closes ADR-0142 debt #3).
- W-013 — core/cognition/explain.py dormant (operator decision:
  wire, relocate, or delete).
- W-014 — core/cognition/provenance.py partially live, evals-only
  (operator decision: lighter version of W-013).

Reordered suggested next-ADR sequence to lead with mechanical quick
wins (W-011, W-012, W-004) before operator-decision items (W-006,
W-013/14, W-010), before second-order changes (W-005), before the
big L10 unit (W-008). Reasoning documented inline: early measurable
progress, no architectural risk, demonstrates audit-to-fix loop
closes.

Updated dependency graph to show the three independent groups
(mechanical, operator-decision, L10-gated chain).

L0-L5 audited; L6-L9 pending. Ratchet stays append-only; v2 marker
in title and "L0-L5 + L10 scope" in subtitle.
2026-05-24 18:46:26 -07:00
Shay
050b2f9222
audit(L5): cognition pipeline — PARTIAL (#244) 2026-05-24 18:40:52 -07:00
Shay
72cede071f
audit(L4): recognition liveness (#243) 2026-05-24 18:29:14 -07:00
Shay
32612c5741
docs(audit): substrate-liveness ratchet v1 (partial; L0-L3 + L10 informed) (#242)
Derives the wiring-debt sequence from audit findings landed so far.
Companion to substrate-liveness-registry.md per the audit-scope.

Nine W-NNN entries:
- W-001  versor-condition threshold rot (fixed via #239)
- W-002  ADR-0097 ledger test orphan (fixed via #240)
- W-003  VaultPromotionPolicy dormant (depends on L10)
- W-004  vault re-thaw path specified-not-verified-live (independent)
- W-005  E0/E2 readback modulation absent (depends on W-004)
- W-006  local pack readback rules dormant (operator decision: wire or delete)
- W-007  DerivedRecognizer integration absent (depends on W-003 + recognizer-storage ADR)
- W-008  L10 runtime model ADR (scope landed #236; spike/ADR pending)
- W-009  HITL async queue surface (depends on W-008)

Suggested next-ADR sequence:
W-004 → W-006 → W-008 → W-005 → W-003 → recognizer-storage ADR
→ W-007 → W-009. Operator decides; ratchet records.

Includes a dependency-graph ASCII diagram, explicit deferral list
(EngineIdentity shelved, L4-L9 findings pending, recognizer-drop-off
ADR derived from named items), and a "how the ratchet evolves"
section codifying append-only revision discipline.

Will be revised as L4-L9 audits land. New audit findings add new
W-NNN entries; resolved entries get  in place rather than removed
(history is the value).
2026-05-24 18:27:40 -07:00
Shay
b1906a49a0
audit(L3): language packs - PARTIAL (#241) 2026-05-24 18:16:13 -07:00
Shay
c1a1b7a0b6
audit(L2): vault — PARTIAL (#238) 2026-05-24 16:35:47 -07:00
Shay
da139bb30e
docs(audit): add L1 field substrate audit (#237)
Verdict: PARTIAL.

Updates the substrate liveness registry with the L1 field substrate audit, including ADR enumeration, module/caller mapping, suite lane evidence, cross-layer contract findings, and downstream notes.

Cleanup: none; no unambiguously dead L1 code was found. Test-only helpers and pulse-only field operators are documented for review instead of deleted.

Verification: python3 -m core.cli test --suite smoke -q; python3 -m core.cli test --suite algebra -q; python3 -m core.cli test --suite pulse -q; python3 scripts/verify_lane_shas.py.
2026-05-24 16:27:30 -07:00
Shay
bdde8b4c2a
audit(L0): algebra primitives — CLOSED (#235)
First per-layer audit of the substrate-liveness program. Establishes the
registry shape and standard of evidence for subsequent layers.

L0 (algebra primitives) is foundation; verdict CLOSED:

- 4 ADRs in scope (ADR-0001 versor invariant, ADR-0003 coordinate
  dissolution, ADR-0004 rotor as operator, ADR-0009 compositional
  physics).
- 6 modules (versor, rotor, cga, cl41, holonomy, backend); every
  module has at least 2 live-import sites outside the package and
  outside tests (38 distinct caller files overall).
- core test --suite algebra exercises every L0 module: 82 passed, 50
  skipped (Rust-parity tests, Python-only env — not a closure gap).
- Cross-layer contract pass 1 (mechanical): every exposed symbol has
  at least one downstream consumer.
- Cross-layer contract pass 2 (semantic): versor_condition < 1e-6
  invariant is measured per turn (core/cognition/trace.py:34), folded
  into deterministic trace payload, surfaced to operator via CLI, and
  gated at the eval boundary (evals/cognition/runner.py:60). Matches
  CLAUDE.md discipline of "measure and surface, don't weaken."

No cleanup performed — no dead code, no redundant modules, no
orphaned tests found at L0. Foundation is honest.

One scope-hypothesis correction: layering table cited "algebra/backend/"
(directory); reality is "algebra/backend.py" (file). Hypothesis drift,
recorded for amendment if it matters elsewhere.

Three forward-pointing notes left for downstream auditors:
- L1 should verify field propagation correctness is tested
  independently of L5's downstream versor_condition measurement.
- L2 should verify vault honors exact-CGA-recall end-to-end, not just
  at the algebra layer.
- ADR-0020 (Rust parity) is cross-cutting; audit when Rust integration
  is live rather than at any single layer.

Format established for subsequent per-layer commits. Audit progress
table in registry root tracks pending layers; resume-after-interruption
is "look at the progress table, start with the first pending layer."
2026-05-24 16:14:57 -07:00