core/docs/pack_inventory_2026-05-21.md
Shay 5446ab1615
docs: pack inventory 2026-05-21 — strengths, weaknesses, leverage gaps (#84)
Comprehensive survey of every pack in the tree across five layers
(primitives → language → teaching → policy → selection axes → style)
with per-pack stats, cross-pack lemma overlap, teaching-chain graph
topology, and a ranked top-leverage-gaps list.

Key findings:

  * **Layer 4 (selection axes) is the densest by far** — 24 packs
    (17 anchor lenses + 7 registers).  Greek and Hebrew lens
    families are at parity (8 each).
  * **Layer 2 (teaching corpora) is the load-bearing thin layer** —
    only 41 reviewed chains across 18 subjects, with just 2 intent
    shapes covered (CAUSE / VERIFICATION) and 7 connectives total.
    No COMPARISON / PROCEDURE / CORRECTION chains exist; those
    intents route through pack composers only.
  * **Layer 1 EN is solid** — 354 lemmas across 12 mounted packs
    with 93% gloss coverage; 24 ungloss'd lemmas remain.
  * **Cross-language is structurally present but content-light** —
    grc / he micro-packs ship and mount; the bigger
    ``*_cognition_v1`` siblings ratify but are not in the default
    mount; no glosses exist on any non-EN pack.
  * **Three drafted ethics packs are unratified** (legal /
    research / engineering) — the highest-leverage low-effort gap.
  * **Rhetorical-style axis ships substrate only** — one
    null-lift pack; ADR-0087 consumer phase pending.

Top-leverage gaps ordered by ratio of unblocked value to effort
are enumerated in §7 of the doc itself.  No code lands here.
2026-05-20 19:59:18 -07:00

16 KiB
Raw Permalink Blame History

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 notingen_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_v3depth_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 (410 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 810 chains per intent shape, is the single most-leveraged content move.