Hub: 🔌 OMP Extensions · Contract: 🧭 Extension UX Contract · Framework depth: omp.0rk.de/ompkeep

1. 💎 Blueprint

id: ompkeep
path: ~/.omp/agent/extensions/ompkeep.ts
status: shipped
human_command: /ok
command_owner: ompkeep
human_surface: "menu first · /ok <route> for fast paths"
model_tools: [memory_write, memory_read, memory_search, scratchpad, session_search]
state: ~/.omp/agent/omp-memory/
layers:
  L1: "identity facts · human-ratified"
  L2: "playbooks and conventions · candidate → patch → review"
search: "FTS5 + optional qmd semantic/deep retrieval"

2. ⚡ /ok — tiny outside, deep inside

Bare /ok shows active-memory and inbox state plus the safest next actions. It then opens only the category relevant to the user’s intent.

RoutePurpose
/ok inbox · learnings · curate · patches · apply-patchReview governed memory changes
/ok doctor · diagnostics · graph · timeline · proceduresUnderstand health and history
/ok consolidate · maintain · meta · renderMaintain the memory system
/ok handoffCreate a continuation snapshot
/ok session-sync · session-reindex · session-searchManage session intelligence
/ok helpComplete compact route reference

Mutating routes confirm in TUI. For deliberate non-interactive automation, add --yes after reviewing /ok help. Session-end auto-curation defaults to off; high-only or all-eligible is an explicit persisted governance policy.

3. 🛡️ Governance lifecycle

flowchart LR
  capture[Candidate] --> evidence[EvidenceAndSecretChecks]
  evidence --> patch[ReviewablePatch]
  patch --> l2[ApprovedL2Playbook]
  l2 --> reinforce[ReinforcementAndMaintenance]
  reinforce --> deprecate[DeprecateOrTombstone]

memory_write writes daily notes directly but routes long-term content into the inbox. L1 never auto-applies; L2 remains auditable through evidence, patches, reinforcement, and tombstones.

4. 🧠 Memory boundaries

SystemJobOmpKeep relation
MnemopiAutomatic local retain/recallSeparate SQLite memory backend
OmpKeepGoverned durable conventionsJSONL records; SQLite is search/index infrastructure
Agent harness memoryAgent-specific dynamic contextSeparate concern
Hermes memoryHermes-native markdown memorySeparate unless a bridge is explicitly built

5. 🔌 Model-tool boundary

Keep model tools structured and granular. The human command is consolidated because menus and confirmations improve discovery and prevent accidental state changes.

ToolSafe intent
memory_writeCapture daily note or propose long-term candidate
memory_readRead a named memory target
memory_searchKeyword, semantic, or deep retrieval
session_*Read historical sessions without polluting slash commands

6. 🧪 Smoke

/ok                         # overview + category menu
/ok doctor                  # read-only health summary
/ok inbox                   # candidate review UI
/ok maintain --report       # confirmation before state change
/ok handoff --goal "…"      # continuation snapshot

7. ✅ Done when

  • Only /ok is discoverable for OmpKeep’s human UI
  • Every former memory action is reachable as a route or menu action
  • Writes confirm or require --yes non-interactively
  • L2 records remain retrievable, scoped, and auditable
  • No OmpKeep dashboard leaks memory text by default