The four memory tools memory_load, memory_save, memory_delete, and memory_forget collapse into one memory tool whose action arg selects load, save, delete, or forget, matching the action-dispatch shape of other tools. The tool keeps the numeric threshold and limit coercion, the destructive-confirmation guidance, and the exact-match cleanup of forget, and rejects unknown actions through a plugin prompt file. Memory messages now log as a single memory type with icon verb headlines and a dedicated MEM badge matching the behavior adjustment brain pink accent. Update the tool prompt, the Responses schema and prompt tests, the auto-recall and consolidation imports, the orchestrator skill and README references to the new tool, and the plugin DOX and README.
Validation: pytest tests/test_responses_tools.py plugins/_memory/tests/test_memory_tool_ui.py tests/test_tool_action_contracts.py plugins/_orchestrator/tests/test_status_adapters.py
Move the behavior adjustment tool, rules prompt, merge templates, and DOX into a _behavior_adjustment plugin so durable behavior, personality, style, and response-format rules ship as a standard plugin. Rules persist in the memory subdirectory, the system-prompt extension injects them at the front, and normalization keeps merged rulesets deduplicated. The tool prompt drops the stale promptinclude guidance that no longer matches how the tool writes rules. The tool logs its message as its own `behavior_adjustment` type with an `icon://psychology Adjusting behavior` headline rendered through a BEH badge handler in the brain pink accent.
Validation: pytest tests/test_tool_action_contracts.py tests/test_responses_tools.py tests/test_behavior_tool_ui.py
Carry delayed recall results across prompt objects without crossing profile, project, or memory-store scope, and reuse one query embedding across the memory and solution searches.
Expose every bundled memory operation to native Responses models and cover the recall, vector-search, and prompt contracts with regressions.
Filter passive fragment memories before consolidation so action history, temporary artifacts, local runtime coordinates, and personal absolute paths do not get saved automatically.
Tighten memory utility prompts toward durable preferences, stable project facts, recurring constraints, and reusable solutions while keeping explicit memory_save behavior unchanged. Add focused tests for fragment quality gating.
- Add FAISS index integrity checks using a SHA-256 sidecar (`index.faiss.sha256`) and write hash on save.
- Harden `memory_load` filter evaluation with input validation (allowlist + length cap) and `simple_eval(..., functions={})`.
- Add score-preserving similarity search and use real relevance scores in consolidation (including best-score dedupe by memory id).
- Prevent utility-model context overflows by truncating memorize input history for fragments and solutions.