Files
rune/tests
Nick 70c20072fe feat(p1-03): typed persona lane + write-time memory_type classification (#26)
Gate finding 2: the typed persona source was dead in production — the
operator's single memory contributor calls select_for_task WITHOUT
types, so _persona_recall always returned []; and no production writer
ever set memory_type. The store source now always runs a SECOND typed
query (self/personality) merged into the candidates — still thresholded
inside the store's gate, deduplicated by entry id, may abstain (a
trivial task still gets zero persona rows). add_entry gains an additive
memory_type param (default None = unclassified, eligible everywhere)
plus a --memory-type store CLI flag wired through the dedupe gate;
wired where the writer genuinely knows the type: warm-router neuron
writer -> associative, sleep-time growth sync -> personality
(persona-targeted) / semantic.

Gate finding 3: _persona_recall ignored the selector's pinned db_path
(bare memory_store.connect() opened the module-default store). The pin
is now bound into sources that declare db_path at registration time;
both store-backed sources honor it.

Red-first evidence: no typed call in the live contributor path;
add_entry TypeError; persona block missing from the pinned-only store.
2026-09-07 16:55:10 +01:00
..