You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(memory): wire StoreRoutingConfig and goal_text into memory recall path (#2484, #2483) (#2520)
* feat(memory): wire StoreRoutingConfig and goal_text into memory recall path (#2484, #2483)
HeuristicRouter, LlmRouter, or HybridRouter based on strategy. Router is
stored as Box<dyn AsyncMemoryRouter> and recall_routed_async() is called
so LLM-based classification actually fires instead of silently degrading
to heuristic. routing_classifier_provider is resolved from provider_pool
at config-apply time using the existing resolve_background_provider pattern.
passes it to remember() and remember_with_parts() enabling goal-conditioned
write gating in A-MAC admission control. All test call sites updated with
None. Zero behavior change when goal_conditioned_write = false.
Breaking: RoutingConfig and RoutingStrategy removed; use StoreRoutingConfig
and [memory.store_routing] instead.
* fix(memory): correct goal_text doc comment in MemoryState
Copy file name to clipboardExpand all lines: CHANGELOG.md
+7Lines changed: 7 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -23,6 +23,13 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
23
23
24
24
- metrics: add `sanitizer_injection_fp_local` counter for injection flags on local (`ToolResult`) sources (#2515)
25
25
- metrics: add `pii_ner_timeouts` counter for NER classifier timeout events (#2516)
26
+
- feat(memory): `StoreRoutingConfig` (`[memory.store_routing]`) is now wired into `build_router()` — strategy `heuristic`/`llm`/`hybrid` and `routing_classifier_provider` are resolved at config-apply time; the router is constructed each turn and uses the async `route_async()` path so LLM-based classification actually fires (closes #2484)
27
+
- feat(memory): `goal_text` from raw user input is now propagated to A-MAC admission control — `MemoryState.goal_text` is set at the start of each user turn and passed to `remember()` and `remember_with_parts()` enabling goal-conditioned write gating when `goal_conditioned_write = true` (closes #2483)
28
+
- feat(memory): `AsyncMemoryRouter` trait now implemented for `HeuristicRouter` and `HybridRouter`; `SemanticMemory::recall_routed_async()` added to dispatch routing via the async path; `parse_route_str` is now public
29
+
30
+
### Removed
31
+
32
+
-**BREAKING**: `RoutingConfig` and `RoutingStrategy` removed from `zeph-config` — superseded by `StoreRoutingConfig` / `StoreRoutingStrategy`; the `[memory.routing]` TOML section is no longer recognised (use `[memory.store_routing]` instead)
0 commit comments