# Pack Inventory — 2026-05-21 A full survey of every pack in the tree, what it covers, what consumes it, and where the system is well-rounded vs. lopsided. Generated by walking `language_packs/data/`, `packs/`, `teaching/`, `chat/teaching_grounding.py`, and `core/config.py`. --- ## 1. Pack landscape at a glance Five layers, distinct contracts, distinct lifecycles. The bottom layer is *lexicon* (what tokens exist); the top layer is *style* (how surfaces sound). ``` ┌─────────────────────────────────────────────────────────────────┐ │ LAYER 5 — Style / rhetorical (substrate only today) │ │ rhetorical_style/ 1 pack [SPARSE — substrate phase] │ ├─────────────────────────────────────────────────────────────────┤ │ LAYER 4 — Selection axes (orthogonal to truth) │ │ register/ 7 packs [DENSE — fully built out] │ │ anchor_lens/ 17 packs [DENSE — Greek + Hebrew rich] │ ├─────────────────────────────────────────────────────────────────┤ │ LAYER 3 — Policy (boundary commitments) │ │ identity/ 3 packs [ADEQUATE] │ │ safety/ 1 pack [MINIMAL — sufficient floor] │ │ ethics/ 5 packs [PARTIAL — 2/5 ratified] │ ├─────────────────────────────────────────────────────────────────┤ │ LAYER 2 — Teaching corpora (reviewed chains) │ │ cognition_chains_v1 22 chains [WIRED] │ │ relations_chains_v1 7 chains [WIRED] │ │ relations_chains_v2 7 chains [WIRED] │ │ cross_pack_chains_v1 5 chains [WIRED, separate path] │ ├─────────────────────────────────────────────────────────────────┤ │ LAYER 1 — Language packs (lexicon + glosses + alignment) │ │ en_core_* 12 packs, 354 lex / 330 gloss (93%) │ │ en_minimal_v1 220 lex / 0 gloss │ │ grc_* 2 packs (1 mounted) │ │ he_* 2 packs (1 mounted) │ │ en_collapse_anchors_v1 [UNMOUNTED] │ │ en_core_relations_v3 [UNMOUNTED — newer schema] │ ├─────────────────────────────────────────────────────────────────┤ │ LAYER 0 — Primitives / shared schema │ │ primitives/ 1 pack (en_semantic_primitives_v1) │ │ common/anchors, common/contracts, common/schema │ └─────────────────────────────────────────────────────────────────┘ ``` --- ## 2. Layer 1 — Language packs (the lexical foundation) ### 2.1 English operational base (12 packs, all mounted) | pack | role | lex | gloss | gloss-cov | |---|---|---:|---:|---:| | `en_core_cognition_v1` | operational_base v1.2.0 | 85 | 70 | 82% | | `en_core_meta_v1` | operational_base | 73 | 71 | 97% | | `en_core_attitude_v1` | operational_base | 40 | 40 | 100% | | `en_core_temporal_v1` | operational_base | 28 | 28 | 100% | | `en_core_action_v1` | operational_base | 26 | 25 | 96% | | `en_core_quantitative_v1` | operational_base | 24 | 19 | 79% | | `en_core_spatial_v1` | operational_base | 24 | 23 | 95% | | `en_core_polarity_v1` | operational_base | 16 | 16 | 100% | | `en_core_causation_v1` | operational_base | 15 | 15 | 100% | | `en_core_relations_v1` | operational_base (kinship) | 8 | 8 | 100% | | `en_core_relations_v2` | operational_base (kinship+) | 8 | 8 | 100% | | `en_core_relations_v3` | depth_relation | 7 | 7 | 100% | | **TOTAL** | | **354** | **330** | **93%** | `en_minimal_v1` (220 lex, 0 gloss) is the bare-vocabulary substrate — function words and basics; never expected to carry glosses. **Cross-pack lemma overlap.** 98 of 466 unique EN lemmas live in more than one pack (~21%). Every duplicate today pairs a domain pack against `en_minimal_v1` (e.g. `above` is in both `en_core_spatial_v1` and `en_minimal_v1`). The resolver's first-match-wins rule (ADR-0063) makes this safe but means `en_minimal_v1` is currently shadowed for any of those 98 lemmas. **Not a bug, but worth noting** — `en_minimal_v1` is the historical baseline and could be trimmed to just the lemmas no other pack carries. ### 2.2 Non-English packs (depth_relation / depth_root) | pack | lang | lex | align | morph | mounted? | |---|---|---:|---:|---:|---| | `grc_logos_micro_v1` | grc | 11 | 9 | 11 | ✓ | | `grc_logos_cognition_v1` | grc | 29 | 23 | 29 | ✗ | | `he_logos_micro_v1` | he | 9 | 11 | 9 | ✓ | | `he_core_cognition_v1` | he | 23 | 11 | 23 | ✗ | The mounted-by-default pair (`*_micro_v1`) is the deliberately-minimal seam-test set (ADR-0073). The bigger `*_cognition_v1` packs exist and ratify, but `core/config.py` doesn't pull them — **either intentional (depth_relation/depth_root packs are loaded by the lens system separately) or a wiring gap**. Worth confirming. **No glosses on any non-EN pack.** Greek and Hebrew packs carry alignment edges (cross-language equivalence) and morphology, but not the explanatory glosses that drive ADR-0085's gloss-aware CAUSE composer. If `core eval cognition` ever runs with `output_language=grc`, the gloss path silently no-ops. ### 2.3 Orphaned / not-yet-mounted packs - `en_collapse_anchors_v1` — collapse_anchor role, 3 lex / 3 gloss. Lens-specialization pack; not loaded by the default mount. - `en_core_relations_v3` — `depth_relation` role, 7 lex / 7 gloss. Newer schema than v1/v2. - `grc_logos_cognition_v1`, `he_core_cognition_v1` — see §2.2. --- ## 3. Layer 2 — Teaching corpora (the reviewed-knowledge layer) | corpus | chains | distinct subjects | distinct objects | wired by | |---|---:|---:|---:|---| | `cognition_chains_v1` | 22 | 18 | 13 | `TEACHING_CORPORA` | | `relations_chains_v1` | 7 | 5 | 6 | `TEACHING_CORPORA` | | `relations_chains_v2` | 7 | 5 | 6 | `TEACHING_CORPORA` | | `cross_pack_chains_v1` | 5 | 4 | 4 | `chat.cross_pack_grounding` (separate path) | | **TOTAL reviewed** | **41** | | | | **Intent shapes covered.** Every chain is either `cause` (28) or `verification` (13). No `comparison`, `procedure`, or `correction` chains exist yet — those intents route through pack composers, not the teaching corpus. **Predicate / connective vocabulary.** Only seven distinct connectives across 41 chains: `requires` (14), `reveals` (8), `grounds` (8), `precedes` (5), `follows` (4), `orders` (1), `supports` (1). The CAUSE/VERIFICATION lane is well-served; everything else is unreachable through teaching grounding. **Topology.** ``` out-degree leaders (radiate outward): 3 family 2 truth | wisdom | understanding | parent 1 light | knowledge | memory | correction | creation | ... in-degree leaders (well-grounded sinks): 4 knowledge 3 evidence | understanding | parent 2 truth | meaning | memory ``` Source-only nodes (a subject in some chain, never an object): `analogy`, `correction`, `creation`, `grandparent`, `inference`, `light`, `question`, `thought`. Sink-only nodes: `grandchild`, `relation`. This shape says: **`knowledge` is the most-grounded concept** (4 distinct chains terminate there), **`family` is the most-radiant** (3 distinct chains start there), and there is *no terminal sink that lacks its own grounding chain except `grandchild` and `relation`* — meaning the cognition graph is roughly **well-connected** internally, but **does not yet bridge between the cognition and relations domains** at chain level (the cross-pack work in `cross_pack_chains_v1` is 5 chains attempting exactly that bridge). --- ## 4. Layer 3 — Policy packs ### 4.1 Identity (3 packs, all ratified) `default_general_v1`, `generosity_first_v1`, `precision_first_v1`. Adequate floor — every domain has at least one identity stance available. **Could grow**: domain-specific identities (e.g. an academic-tutor identity, a clinical-clinician identity) would slot in here. ### 4.2 Safety (1 pack, ratified) `core_safety_axes_v1` is the sole safety pack and is fail-closed at startup. Per ADR-0029 this is intentional — safety should not have multiple competing definitions in production. **Adequate.** ### 4.3 Ethics (5 packs, 2 ratified) | pack | ratified | |---|---| | `default_general_ethics_v1` | ✓ | | `medical_clinical_ethics_v1` | ✓ | | `legal_ethics_v1` | ✗ | | `research_ethics_v1` | ✗ | | `engineering_ethics_v1` | ✗ | Three drafted domain-ethics packs exist but lack the companion `.mastery_report.json` self-seal — they cannot load in production until ratified. **Highest-leverage Layer 3 gap.** --- ## 5. Layer 4 — Selection axes (the orthogonal dimensions) ### 5.1 Register (7 packs, all ratified) ``` default_neutral_v1 ← null-lift baseline (ADR-0072 invariant) terse_v1 ← compression convivial_v1 ← warmth + seeded variation (ADR-0071) precise_v1 formal_v1 pedagogical_v1 socratic_v1 ``` This axis is **well-built-out**. Seven distinct registers covering compression, warmth, precision, formality, teaching, and dialectic. Holds `trace_hash` constant — surfaces vary, truth path does not. ### 5.2 Anchor-lens (17 packs, all ratified) ``` default_unanchored_v1 ← null-lift baseline (ADR-0073d invariant) grc_* (8): aletheia, arche, epignosis, episteme, logos, sophia, synesis, zoe he_* (8): chayyim, chesed, chokmah, dabar, emet, logos, shalom, tzedek ``` This axis is **the richest in the system** by pack count. It deliberately moves `trace_hash` (opposite invariant from register). Greek and Hebrew are at parity — 8 distinguishing-concept lenses each. The thesis behind this density (ADR-0073 → ADR-0073d) is that the *substantive* axis of variation is genuinely 16-dimensional, and trying to collapse it into English semantics is the load-bearing failure mode this system is designed to refuse. ### 5.3 Rhetorical-style (1 pack — substrate phase) ``` default_unstyled_v1 ← only pack today; no composer consumes it ``` ADR-0087 substrate ships the loader and a single null-pack; the *content* phase (additional packs) is the next step. **The newest axis; deliberately sparse today.** --- ## 6. Coverage matrix — strength / weakness summary | dimension | strong | weak / missing | |---|---|---| | **EN vocabulary breadth** | 12 domain packs, 354 lemmas, 93% gloss coverage | `en_core_cognition_v1` is at 82% (15 ungloss'd lemmas); `en_core_quantitative_v1` at 79% (5 ungloss'd) | | **EN domain breadth** | 47 unique top-level semantic-domain prefixes; cognition (291) / meta (146) / attitude (80) lead | `biology` (7), `semantics` (7), `memory` (10), `logic` (5) are thin | | **Cross-language** | Greek + Hebrew at parity (8 lenses each on the lens axis) | Neither language has glosses; both micro-packs are tiny (≤11 lex); the bigger `*_cognition_v1` siblings are unmounted | | **Teaching chains** | 41 reviewed chains; well-connected internally; `knowledge` has 4 incoming grounding edges | Only 2 intent shapes covered (CAUSE, VERIFICATION); 7 connectives total; no COMPARISON / PROCEDURE / CORRECTION chains; only 5 cross-pack chains | | **Identity** | 3 ratified general stances | Domain-specific identities absent | | **Safety** | Floor pack ratified and fail-closed | Intentionally singular | | **Ethics** | 2 ratified packs (general + medical) | **3 drafted packs (legal / research / engineering) not yet ratified** | | **Register** | 7 ratified packs spanning compression → warmth → formality → dialectic | None | | **Anchor-lens** | 17 ratified packs; Greek + Hebrew at parity; trace-hash-moving axis | Latin / Sanskrit / Arabic lenses absent (an analogous Arabic axis would extend the same pattern) | | **Rhetorical-style** | Substrate ships | **Content packs absent — only the null-lift baseline exists** | --- ## 7. Top-leverage gaps (ordered by ratio of unblocked value to effort) 1. **Ratify the three drafted ethics packs** (`legal_ethics_v1`, `research_ethics_v1`, `engineering_ethics_v1`). *Effort:* low (companion `.mastery_report.json` self-seal generation). *Unblocks:* domain-ethics composition in production for legal / research / engineering workflows. 2. **Wire `grc_logos_cognition_v1` + `he_core_cognition_v1` into the default mount** (or document why they're held back). *Effort:* one-line additions to `core/config.py` `input_packs`. *Unblocks:* substantially more Greek + Hebrew lexical surface area for the anchor-lens system to actually distinguish on. 3. **Add glosses to `grc_*` and `he_*` packs.** *Effort:* medium (content authorship — needs Greek/Hebrew literacy). *Unblocks:* ADR-0085 gloss-aware CAUSE composer works in non-English output, instead of silently no-op'ing. 4. **Add COMPARISON / PROCEDURE / CORRECTION teaching chains.** *Effort:* medium (4–10 chains per intent). *Unblocks:* the teaching-grounded surface composer fires on intents beyond CAUSE/VERIFICATION (today those intents route through pack composers only — no reviewed-knowledge layer feeds them). 5. **Ship at least one rhetorical-style content pack** (the consumer ADR for ADR-0087). *Effort:* medium (content + composer-consumer wiring). *Unblocks:* the third orthogonal axis (after register and anchor-lens) actually does anything. 6. **Fill the 24 ungloss'd EN lemmas** (15 in `en_core_cognition_v1`, 5 in `en_core_quantitative_v1`, plus stragglers in spatial / action). *Effort:* very low (content authorship in English). *Unblocks:* ADR-0085 fluency lift covers 100% of the EN cognition path instead of 93%. 7. **Trim or rescope `en_minimal_v1`** (98 lemmas shadowed by domain packs; first-match-wins makes them dead today). *Effort:* low. *Unblocks:* nothing user-visible, but the pack inventory becomes honest about which entry resolves a given lemma. --- ## 8. Architectural observation: the "well-rounded" question The system is **disproportionately deep on its orthogonal axes** (17 anchor lenses + 7 registers = 24 substantive selection packs) **vs. its grounded-knowledge layer** (41 reviewed chains, 2 intent shapes, 7 connectives). That's not a bug per se — the audit's Finding 4 (compound intent) and Finding 2 (grounded realizer) both name exactly this asymmetry: the *truth path* is the lightest-developed substrate, and the *selection / variation axes* are the heaviest. The seven shipped PRs from the 2026-05-20 audit (#76 → #83) all add to the truth path; the next natural batch is widening the teaching corpora and ratifying the drafted ethics packs to keep the layers in proportion. The five layers in order of build-out (heaviest → lightest): ``` Layer 4 (selection axes) ████████████████████████ 24 packs Layer 1 (language: EN domain) ████████████ 12 packs / 354 lex Layer 3 (policy) █████████ 9 packs (4 unratified) Layer 2 (teaching corpora) ████ 41 chains / 4 corpora Layer 1 (language: grc + he) ██ 4 packs Layer 5 (rhetorical style) ▎ 1 pack (substrate only) ``` Layer 2 is the **load-bearing thin layer**. Every grounded surface the system emits today routes through either a pack composer (Layer 1) or a teaching chain (Layer 2); Layer 1 covers cold-start lookups, Layer 2 covers reviewed multi-hop reasoning. With only 41 chains across 18 distinct subjects, the multi-hop ceiling is structurally close. The audit's `ground_graph` wiring (PR #83 substrate, ADR-0088 Phase A pending) and Finding 4's compound dispatch (PR #82 substrate, ADR-0089 Phase C2 pending) are the right next moves on the truth path — but they will only stretch as far as Layer 2's coverage permits. Doubling Layer 2 to ~80 chains, with at least 8–10 chains per intent shape, is the single most-leveraged content move.