diff --git a/docs/dev/MEMORY-SYSTEM-ARCHITECTURE.md b/docs/dev/MEMORY-SYSTEM-ARCHITECTURE.md index 44b2615f6..0df0b3b14 100644 --- a/docs/dev/MEMORY-SYSTEM-ARCHITECTURE.md +++ b/docs/dev/MEMORY-SYSTEM-ARCHITECTURE.md @@ -513,6 +513,23 @@ All memory operations follow the **fire-and-forget pattern**: --- +## Architecture Decision: SF Tools, Not MCP + +**Memory is NOT exposed as MCP server.** + +- **SF is an MCP *client* only** — SF consumes MCP tools from external services +- **Memory is internal SF infrastructure** — uses SQLite (Node 24 native) +- **Memory exported as SF tools** — LLM agents within SF call memory functions +- **No external exposure** — Memory system is not a service; it's SF's autonomous learning mechanism + +This keeps memory **private to SF** and prevents: +- External memory pollution +- Uncontrolled confidence scoring +- Inconsistent learning patterns +- Loss of autonomy (memory decisions stay internal) + +--- + ## See Also - **ADR-0075:** UOK Gate Architecture @@ -520,3 +537,4 @@ All memory operations follow the **fire-and-forget pattern**: - `docs/dev/UOK-SELF-EVOLUTION.md` — How SF learns - `src/resources/extensions/sf/uok/unit-runtime.js` — Unit recording - `src/resources/extensions/sf/auto-dispatch.js` — Dispatch ranking +- `src/resources/extensions/sf/tools/memory-tools.js` — SF tool executors