- Add LexicalResolution dataclass + resolve_entry() in chat/pack_resolver.py
that returns language, root, morphology_id, gloss, semantic_domains from
he/grc/en packs (lru-cached, first-match, full depth support).
- Extend GraphNode (generate/graph_planner.py) with optional language/root/
morphology_id fields (defaults preserve all call sites). Update as_dict()
to include them conditionally. ground_graph() now propagates depth.
- Generalize enrichment in core/cognition/pipeline.py:
- Per-subject resolution map using depth packs.
- Enrich all matching nodes before ground (subject→node map).
- Pass depth alongside recalled_words to ground_graph().
- Consume depth on articulation side:
- realize_semantic() and render_semantic() now accept/use language+root
for etymological/Logos framing on Hebrew/Greek nodes (e.g. "אמת (Hebrew
root: א-מ-ן) is defined as..."). English unchanged.
- Enrich oov_geometric_context with node_depths for future geometric
anti-unification using roots.
- Extend recognition/connector.py to forward depth from EpistemicNode
paths into GraphNode.
- Add full Hebrew turn test under realizer_grounded_authority flag.
- Update related tests (semantic realizer, OOV context, surface resolution).
- Cleaned legacy type() hack immediately on discovery (hard-stop rule).
All targeted tests green (52+ in slices), broad relevant suite 581 passed.
Invariants preserved: versor only at owned boundaries, exact recall,
immutable updates, no new legacy parsers. 3 pillars upheld.
Work continues tomorrow from this checkpoint.
- Update UI test fixtures to packs/data paths
- Clean CLAUDE.md/GEMINI.md to minimal per AGENTS.md
- Refactor fraction geometric construction into dedicated helper in problem_frame_contracts.py
- No TODOs left in code; notes in PR description
This completes the mechanical readiness for the CGA substrate + registry consolidation work.
Proves topological cost neutrality across identity packs: the Cl(4,1)
versor sandwich product (F <- M * F * ~M) compiled into a single MLX
Metal kernel incurs equal VRAM and latency regardless of whether the
PersonaMotor encodes precision_first vs generosity_first character.
The periodic mx.eval() boundary at every 50th step mirrors the async
token-yielding backpressure of ChatRuntime and confirms that the lazy
MLX computation graph is flushed safely, keeping Active VRAM Delta ~0.
Correctness notes:
- PersonaMotor.apply() is a NumPy function (versor_apply from
algebra.versor). The MLX compiled_field_step wraps the sandwich
arithmetic in pure MLX, structurally mirroring what versor_apply does
so that the Metal kernel fusion path is exercised without re-coupling
this benchmark to the NumPy implementation.
- IdentityManifold has no load_pack() classmethod; identity packs are
constructed directly from ValueAxis instances as the dataclass defines.
- MLX is a soft/optional dependency following the apple_uma_mlx_exact_recall
convention: imported lazily, skipped gracefully when unavailable.
This change removes duplicate provider-specific rules across CLAUDE/GPT55/GROK files and replaces them with thin, provider-neutral shims that point back to the canonical AGENTS.md for all architectural invariants, PR discipline, and trust boundaries.
* feat(bench): add Apple UMA demo package builder
* test(bench): cover Apple UMA demo package builder
* docs(outreach): add Apple UMA demo package runbook
* feat(bench): harden Apple UMA demo package workflow
* feat(workbench-ui): add Apple UMA report card route
* feat(workbench-ui): register Apple UMA route
* feat(workbench-ui): expose Apple UMA route path
* feat(workbench-ui): wire Apple UMA report card into route registry
* test(workbench-ui): fix UI and keyboard tests for Apple UMA route integration
* feat(workbench): add Apple UMA report read model
* test(workbench): cover Apple UMA report projection
* feat(workbench): expose Apple UMA report route
Replace extract_f32_slice list conversion on geometric_product, cga_inner,
versor_condition, versor_apply_with_closure, and versor_apply_with_closure_f64
with PyReadonlyArray1 zero-copy views. Wrong shape, dtype, and non-contiguous
layouts fail loudly. Update Apple UMA benchmark truth table and claim audit
after parity gates pass.