core/docs/decisions/SESSION-2026-05-13.md

90 lines
5.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Session Log — 2026-05-13
**Participants:** Joshua Shay, Perplexity
**Focus:** Ingest layer governance design, sensorium multimodal architecture, build queue ordering, documentation audit
---
## Summary
This session produced the three most significant architectural decisions since the Cl(3,0) → Cl(4,1) migration: the design of the `core_ingest/` governance layer (ADR-0012), the design of the `sensorium/` multimodal protocol layer (ADR-0013), and the constraints governing the future `train/` learning loop (ADR-0014).
---
## 1. README and Identity Corrections
The README previously had no identity — no engineering pillars, no language philosophy. It also contained a product description for AssetOverflow that doesn't belong in a technical repository.
**Changes committed:**
- Added the Three Engineering Pillars section: Mechanical Sympathy, Semantic Rigor, Third Door
- Added the Three Core Languages section: English (default base), Hebrew and Koine Greek (depth languages), with the full John 1:12 theological grounding
- Removed the AssetOverflow org description
- Updated `docs/Whitepaper.md` to correctly name and separate the Three Engineering Pillars from the Architecture Invariants
---
## 2. `core_ingest/` — The Ingest Governance Layer
**Original design reviewed:** `CandidateGeometricPressure` envelope, `DeterminismClass` taxonomy, `IngestCompiler` three-gate validation, `ReviewLevel` governance, `SegmentManifold` index, Rust hot-path for SHA-256/canonical JSON/lemma normalization.
**Key decision — LLM extraction rejected:**
The original `core_ingest` design used an LLM as the extraction engine for large documents. This was rejected on two grounds:
1. An LLM is a D3 nondeterministic oracle feeding the only normalization site in the system. Every extracted packet would land in `ARCHITECT_REVIEW_REQUIRED` territory, defeating utility at scale.
2. An LLM interprets, not parses. Its semantic projection is silently embedded in the field state, violating Semantic Rigor. The field owns semantic interpretation.
**Replacement:** A deterministic `StructuralSegmenter` that carves at form boundaries (headings, paragraph breaks, verse markers, code blocks, LaTeX delimiters). For Hebrew and Koine Greek, this is D0 by construction — canonical verse boundaries are fixed for centuries.
**What was kept from the original design:** The `CandidateGeometricPressure` envelope, content addressing via `pressure_id` and `semantic_key`, the three-gate compiler, the `DeterminismClass` taxonomy, `ReviewLevel` governance embedded as a type invariant, and the `SegmentManifold` reconstruction index.
See ADR-0012.
---
## 3. `sensorium/` — The Multimodal Protocol Layer
**Source:** The `core_sensorium` package in `AssetOverflow/core-ai` was reviewed directly. Its `protocol.py` described the `ProjectionHead` as the "Logos-recovery boundary" — confirming the architectural intuition that all modality inputs ultimately reduce to the Logos native to the system.
**Key claim:** All inputs boil down to the Logos. A visual scene, a Hebrew word, an audio waveform are all the same thing inside the field: a point on the conformal manifold. There is no multimodal fusion problem because there is nothing to fuse. One space.
**Translation from `core-ai` to `core`:**
- Cl(3,0) `(2, 2)` complex multivector → Cl(4,1) `(32,)` f32 array
- `core_logos.grammar_seed` dependency → `vocab/` versor attractors (no cross-subsystem import)
- Protocol shape (`ModalityPack`, `ProjectionHead`, `SurfaceDecoder`, `ModalityVocabulary`) preserved
**Placement in pipeline:** `sensorium/` sits upstream of `core_ingest/`. `ingest/gate.py` is unchanged. Adding a modality requires one adapter file and a registry entry — no existing layer is touched.
See ADR-0013.
---
## 4. Build Queue
Ordered by dependency and architectural risk:
1. **`core_ingest/`** — upstream of everything; build now while the system is small. `StructuralSegmenter`, `CandidateGeometricPressure`, three-gate `IngestCompiler`, `ReviewLevel`, `SegmentManifold`.
2. **`sensorium/`** — `protocol.py`, `registry.py`, `adapters/text.py` (text adapter only, wiring existing vocab manifold into `ModalityPack[str]`). Vision/audio adapters deferred until bootstrap corpora exist.
3. **`train/`** — the largest remaining build item. Requires `core_ingest/` to be complete and producing `LearningArtifact` objects. Rotor update law, vocab expansion protocol, and Supervised Seeding Epoch (Hebrew + Koine Greek D0 corpus).
4. **Tests for all three**`tests/test_core_ingest.py`, `tests/test_sensorium_mount.py`, `tests/test_train_artifact_path.py`.
---
## 5. Documentation Audit
Full audit of `docs/` performed:
- **`docs/Whitepaper.md`** — already fully updated from a prior session. Sections VIIIX (pipeline, ingest governance, sensorium) are current. No changes needed.
- **`docs/Yellowpaper.md`** — already fully updated. Sections VIVII (sensorium spec, `core_ingest` spec) are current. No changes needed.
- **`docs/decisions/README.md`** — ADRs 00120014 and `SESSION-2026-05-13` were already listed in the index (scaffolded in a prior session). The actual files did not yet exist. Created in this session.
- **ADR-0002** — marked as Archived / superseded by ADR-0012 in the README index.
---
## Decisions Made This Session
| Decision | ADR |
|---|---|
| LLM extraction rejected; `StructuralSegmenter` (D0) adopted for `core_ingest/` | ADR-0012 |
| `sensorium/` multimodal protocol layer adopted; Logos-recovery boundary named | ADR-0013 |
| `train/` learning loop architectural constraints recorded as a stub | ADR-0014 |
| Build queue order established: `core_ingest/``sensorium/``train/` | Session log only |