docs: clarify memory system is SF-internal, not MCP-exposed

Add architecture decision: Memory is not exposed as MCP server.

- SF is an MCP client only (consumes external MCP tools)
- Memory is internal SF infrastructure (uses SQLite, fire-and-forget async)
- Memory exposed as SF tools only (capture, query, graph)
- No external MCP exposure needed (memory is autonomous learning, not a service)

This keeps SF's learning system private and prevents:
- External memory pollution
- Uncontrolled confidence scoring
- Inconsistent learning patterns
- Loss of autonomy (memory decisions stay internal)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
Mikael Hugo 2026-05-07 01:41:33 +02:00
parent b6ea800e2e
commit b384c8e0df

View file

@ -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