Two tracks: I/O language vs engine representation
Rule: every design note, PR, and finding must label Track A or Track B (or both with a split).
Track A — I/O language (still text)
What it is
- Glyph alphabet, STATE-IR, tables, deltas, content ids
glyph_codec.py- Prompt cache + result cache + routers
What it optimizes
- Tokens in the API prompt
- Human/agent orchestrator memory files
What it cannot do
- Change KV layout inside a closed model API
- Create a non-text neural medium
When to use
- Building agents on OpenAI/Anthropic/etc. APIs
- Logging / traces / session state
Kill test
≥20–25% tokens_in vs full history chat; ≤10% task quality drop.
Track B — Engine representation (not text)
What it is
- AOC / Manifold KV: store r\* anchors of attention outputs A(q)
- Hybrid exact local window + compressed far past
- r_Σ gate; A0 mode; optional residual-based ideas (KV-Direct class)
- Research code under
Research'/maths/
What it optimizes
- KV memory and attention compute over long m
- Fidelity measured on A(q), then e2e generation
What it needs
- Model hooks or custom inference
- Per-head/layer empirics
When to use
- You control runtime (local vLLM, HF, llama.cpp forks, research harness)
Kill test
Mem ↓ at fixed A-error / logit KL; eventually needle/PPL hold; fallback when r_Σ high.
How they compose
User / tools
│
▼
Track A encode (frame, tables) ── optional, always available
│
▼
Tokenizer → Embed → Layers
│
▼
Track B AOC on eligible heads ── if engine owned
│
▼
Logits → tokens → Track A update state
Common confusion (project history)
| Mistake | Fix |
|---|---|
| Selling glyph as “new representation vs text” | Call it denser text packing |
| Only doing Track A when user wants arch magic | Push AOC docs + MVP |
| Only doing heavy matroids when prototypes work | Harvested MVP: kmeans/greedy first |
Decision tree
Do you own the attention implementation?
NO → Track A only (+ provider prompt cache)
YES → Track B AOC with r_Σ gate
+ Track A for agent logs / tools still recommended