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.
| Route | Purpose |
|---|---|
/ok inbox · learnings · curate · patches · apply-patch | Review governed memory changes |
/ok doctor · diagnostics · graph · timeline · procedures | Understand health and history |
/ok consolidate · maintain · meta · render | Maintain the memory system |
/ok handoff | Create a continuation snapshot |
/ok session-sync · session-reindex · session-search | Manage session intelligence |
/ok help | Complete 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
| System | Job | OmpKeep relation |
|---|---|---|
| Mnemopi | Automatic local retain/recall | Separate SQLite memory backend |
| OmpKeep | Governed durable conventions | JSONL records; SQLite is search/index infrastructure |
| Agent harness memory | Agent-specific dynamic context | Separate concern |
| Hermes memory | Hermes-native markdown memory | Separate 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.
| Tool | Safe intent |
|---|---|
memory_write | Capture daily note or propose long-term candidate |
memory_read | Read a named memory target |
memory_search | Keyword, 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 snapshot7. ✅ Done when
- Only
/okis discoverable for OmpKeep’s human UI - Every former memory action is reachable as a route or menu action
- Writes confirm or require
--yesnon-interactively - L2 records remain retrievable, scoped, and auditable
- No OmpKeep dashboard leaks memory text by default