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): system discovery consent gate + re-initialize endpoint
Before: init_memory() auto-scanned hardware, software, hostname, and
environment info at startup without asking. No way to wipe and rebuild
memory from the dashboard.
After: system discovery defaults to OFF (opt-in). Users enable it via
the Memory Dashboard settings toggle, which triggers an immediate scan.
New "Re-initialize" button wipes all memory and re-collects system
context in one step.
Backend:
- _system_context_is_enabled() default False (was True)
- PUT /api/memory/settings accepts system_discovery_consent
- Syncs consent to ~/.gaia/memory_settings.json on toggle
- POST /api/memory/reinitialize: clear-all + system refresh
- _do_system_context_refresh() extracted as shared helper
- Settings GET reconciles DB ↔ JSON file on every read
Frontend:
- MemoryDashboard: system discovery toggle + re-init button
- MemorySettings interface: system_discovery_consent field
- reinitializeMemory() API function
- Error/success toasts for discovery and re-init
- MemoryDashboard rendered as full page (not overlay)
- ChatView: disable input while streaming, cursor fix
Tests:
- mixin_host fixture patches _system_context_is_enabled=True
- TestSystemContext autouse fixture for consent override
-`memory_seed(items)` — items: list of `{content, category?, context?, domain?, entity?, sensitive?, confidence?}`
45
45
46
-
**Per-scenario isolation (mandatory for `category: memory`):** immediately after `create_session()` and BEFORE turn 1, call `memory_clear(scope="all")`. Skipping this lets prior scenarios pollute the run. If the scenario YAML has `setup.memory_seed`, call `memory_seed(items=<that list>)`after the clear.
46
+
**Per-scenario memory reset:** immediately after `create_session()` and BEFORE turn 1, do NOT call `memory_clear`. Let memory accumulate across scenarios so the system is tested with growing state. If the scenario YAML has `setup.memory_seed`, call `memory_seed(items=<that list>)`directly.
47
47
48
48
**During turns these tools are READ-ONLY for the simulator.** Never write or modify memory on the agent's behalf — the agent under test must do its own writing. Use the read tools only to verify state for `VERIFY VIA MCP:` clauses in `success_criteria`.
0 commit comments