Skip to content

feat(phase-11): add workspace long-term memory - #5

Merged
lyxnbclass merged 4 commits into
masterfrom
codex/phase-11-memory
Aug 18, 2026
Merged

lyxnbclass merged 4 commits into
masterfrom
codex/phase-11-memory

Conversation

@lyxnbclass

Copy link
Copy Markdown
Owner

What changed

  • add a workspace-local MemoryStore with bounded, atomic JSON persistence
  • add deterministic phrase/tag/token retrieval without network or runtime dependencies
  • expose search_memory, permission-gated save_memory, and permission-gated delete_memory tools
  • add interactive /memory add|list|search|forget commands and cross-session recall
  • include memory storage in offline readiness checks and document the complete stage design

Why

Stage 11 selects one advanced capability—long-term memory and retrieval—without bundling MCP, multi-agent orchestration, model routing, or TUI work. Durable project facts and explicit user preferences can now survive individual sessions while remaining scoped to one workspace.

Safety and behavior

  • memory contents are never eagerly injected into the system prompt
  • retrieved text is marked as untrusted, possibly stale historical data
  • model-initiated writes and deletes reuse the fail-closed permission boundary
  • Headless mode denies memory mutations unless --allow-mutations is explicit
  • storage rejects corrupt schemas, cross-workspace copies, capacity overflow, and symlink escape
  • generic file tools remain unable to access .minicode-rebuild/

Validation

  • 275 passed, 3 skipped
  • branch coverage: 85.45% (minimum 85%)
  • Ruff passed
  • Mypy passed for 28 source files
  • compileall passed
  • sdist and wheel builds passed
  • no-network MockModel demo passed

The three local skips are Windows symlink-permission cases; the Ubuntu CI jobs execute those real escape-path tests.

@lyxnbclass
lyxnbclass marked this pull request as ready for review August 18, 2026 03:38
@lyxnbclass
lyxnbclass merged commit 4bc6e26 into master Aug 18, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant