core/docs/research/spark-audit-adjudication-2026-07-18.md
Shay fcea2d3a4f docs(research): intelligence-loop arc opening record — plan + Spark-audit adjudication
Claim-by-claim adjudication of the two Google Spark audit PDFs against
main @ 54659b76 (most claims closed by the 2026-07-17 waves; two
recommendations rejected as doctrine violations), plus the phased
homestretch plan (S1-S3 seams, generalized-lift instrument, ADR-0246/47/48
acceptance evidence). Source PDFs included for provenance.
2026-07-18 08:14:29 -07:00

8.1 KiB
Raw Blame History

Spark Audit Adjudication — claim-by-claim verification against main

Status: Record (verification complete 2026-07-18) Verified against: main @ 54659b76 (post Rings 2+3 merge) Inputs: docs/research/core_labs_core_technical_gap_audit.pdf ("Evolutionary Landscape", 8pp), docs/research/core_repository_systems_audit_and_gap_analysis.pdf (systems-grade review, 4pp) Method: three independent read-only verification passes over the live tree; every claim adjudicated with file:line evidence before being allowed to become a work item. Companion: docs/research/intelligence-loop-homestretch-plan-2026-07-18.md (the plan built on this record)


1. Headline finding: the audits are one day stale

Both documents describe the repository before the 2026-07-17 cohesion-directive waves (D1/D2, ADR-0244 Phases 26, ADR-0243 flagship lifecycle, ADR-0246 rings). Most named gaps were closed on main the day before the audits were delivered:

Closing commit What it closed
c3b4d045 feat(adr-0243) flagship cognitive_lifecycle.py ingress → relax → egress orchestration
4ec2c8b9 refactor(adr-0244) D1 semantic rigor full 256-bit digests + LE byte-order
82b031d1 perf(adr-0244) D2 mechanical sympathy Rust f64 GP fast-path + _cached_eigh memoization
5c69b741 Phase 5a §2.7 content-id semantic rigor remaining content-id sites
918aa843 Phase 4 governed f64→f32 serving-boundary cast Serves-Boundary Cast Contract
5027adf8 ADR-0244 + ADR-0245 Proposed→Accepted (Joshua Shay) audits assume both still Proposed

Rule reaffirmed: external audit claims are point-in-time and must be verified against source before being acted on (see also feedback-read-source-not-sandbox-traces).


2. Claim-by-claim verdicts

Refuted / already closed

# Audit claim Verdict Evidence
1 "Relax phase omitted — orchestrator skips ingest→egress" REFUTED CognitiveLifecycleEngine.solve() runs ingest_contextrelax_to_groundegress (core/physics/cognitive_lifecycle.py:1054-1071); relax_to_ground (:530) is deterministic imaginary-time relaxation with a certified RelaxationCertificate
2 "Hardcoded [RESONANT_LOCK…] mock readback; sine-wave proxies" REFUTED No such string anywhere (grep empty); real geometric readback exists: VocabManifold.nearest() = exact CGA inner-product argmax, "no cosine similarity, no ANN index" (vocab/manifold.py:261-298)
3 "_cached_eigh LRU completely missing in identity.py" REFUTED (category error) ADR-0245 §2.4 targets the frozen ProblemHamiltonian, not identity.py; implemented exactly to spec at cognitive_lifecycle.py:509-522, keyed (hamiltonian_id, H_mat.tobytes()), called at :588. identity.py performs zero eigendecompositions. ADR-0245 status map records §2.4 " Done"
4 "Vault digests truncated to 24 hex chars" REFUTED Vault hashing is full 64-hex: vault/store.py:513-515, vault/crdt.py:204, core/physics/holographic_vault.py:80. Only human-readable labels truncate (core/demos/*, core/cli_teaching.py:626,977) — explicitly permitted by ADR-0245 §2.3
5 "Platform-dependent hashing (no <f8 coercion)" REFUTED for all load-bearing sites _le_f64_bytes (cognitive_lifecycle.py:137-138), holographic_vault.py:79, identity_action.py:223,528 — all coerce np.dtype("<f8"). Lone hygiene residual: biography.py:62 hashes bare float64.tobytes() (byte-identical on LE targets, outside the vault content-address set) — folded into plan Phase 2
6 "Fibonacci API drift (missing best_observed_point/eval_sequence)" REFUTED SearchTrace compat dataclass carries exactly those fields (fibonacci_search.py:108-112) via search_trace_from_result (:368); FibonacciSearchCertificate keeps minimizer/ordered_points/ordered_values (:60-63)
7 "GoldTether residual math duplicated inline elsewhere" REFUTED One shared kernel: goldtether.py:117-125 coherence_residual delegates to WaveManifold.measure_unitary_residual; cognitive_lifecycle.py:831 calls the same kernel
8 "Biography holonomy not implemented — no lifelong learning mechanism" REFUTED as stated (see §4 for what IS open) integrate_biography builds the holonomy blade via holonomy_encode (core/physics/biography.py:66-110); pinned by tests/test_adr_0240_biography_holonomy.py:17-51; PASS-gated wiring layer exists (biography_wiring.py:174)

Rejected as doctrine violations — must NOT be applied

Audit recommendation Why rejected
"Wire Fibonacci search to run online calibration on live sensory streams" Violates master-plan A-04 (serve-path containment: wave/Fibonacci operators quarantined to evals/ + calibration), I-03 (no self-mutation), R-04 (hot paths receive only pre-ratified frozen scalars). Calibration correctly lives in evals/adr_0244_gamma_calibration/__init__.py:187 and evals/analogical_transfer/kappa_calibration.py:30 (via goldtether.propose_kappa_line_search, goldtether.py:567-606)
"Integrate GoldTetherMonitor directly into WaveManifold" Inverts layering: goldtether.py imports WaveManifold, not vice versa. Correct fix is the opposite direction (plan Phase 3)

3. Naming / provenance reconciliation

  • The audits' multimodal_lifecycle.py = the real core/physics/cognitive_lifecycle.py.
  • The audits' vocab/readback_rules.py = the real vocab/manifold.py (VocabManifold).
  • core_logos does not exist as code. It was the predecessor core-ai subsystem; docs/adr/ADR-0011-renderer.md:96 states no core_logos equivalent will be introduced. The serve-time articulation role is played by generate/ (realizer.py, articulation.py, surface.py, stream.py), consumed by chat/runtime.py (:95-111). "core_logos is the weakest link" therefore maps to the generate/ stack.
  • The docs/research/ ADR-0241…0243 documents are the Spark research series that seeded the canonical docs/adr/ ADR-0241…0245 (now Accepted, ratified 2026-07-17). The canonical ADRs supersede the research drafts wherever they diverge.

4. Confirmed real seams (survived verification — these ARE the work)

  • S1 — Articulation seam. The lifecycle's egress_gate stops at route="readback_eligible" (cognitive_lifecycle.py:803,852) and never invokes VocabManifold.nearest() (cognitive_lifecycle.py imports no vocab, :68-76). The field→token step is unwired even inside the quarantine corridor; the comprehend→reason→articulate loop does not close, and the "hearing ourselves think" feedback (re-ingesting own articulation) does not exist.
  • S2 — Learning write-path dormant. integrate_validated_biography (biography_wiring.py:174, eval-report-PASS gated) has zero live callers (tests only). Topological-charge conservation exists (chiral_gate.py:1-114, sgn(Q_top) latching) but is wired into GoldTetherMonitor (goldtether.py:160,242), decoupled from biography updates (which use the wave unitary residual instead). Machinery built; nothing drives it; the two guards are not composed.
  • S3 — Autonomy floor bypassed in the corridor. cognitive_lifecycle.py:831 checks the raw unitary residual directly, bypassing GoldTetherMonitor autonomy-level modulation + chiral latching (only self_authorship.py:15 consumes the Monitor). One guard should govern, in the goldtether→WaveManifold layering direction.
  • S4 — The serving bridge is the ratification frontier. Serving is the symbolic generate/ path; the wave corridor is Tier-2 off-serving by design (core/physics/__init__.py:156,187 TYPE_CHECKING-only; runtime instantiation only in evals/adr_0243_cognitive_lifecycle/__init__.py:117,119 and tests). The governed seam machinery — ADR-0247 ports + ADR-0248 handoffs — is merged, flag-off, Proposed, awaiting evidence and Shay's ruling.
  • S5 — generate/ upgrade deferred by explicit direction until S1S3 + the measurement instrument land (plan Phase 6).