$git clone https://github.com/jungjaehoon-lifegamez/MAMALocal-first operating memory for AI coding agents - Claude Code, Codex, and any MCP client. Tracks decisions and their evolution. SQLite + on-device embeddings, no cloud.
| 1 | # MAMA OS - Local Operating Memory for AI Agents |
| 2 | |
| 3 | [](https://opensource.org/licenses/MIT) |
| 4 | [](https://nodejs.org) |
| 5 | [](packages/memorybench/) |
| 6 | [](https://github.com/jungjaehoon-lifegamez/MAMA) |
| 7 | |
| 8 | > Local operating memory that lets AI agents read the board, cite the evidence, and stay inside |
| 9 | > explicit boundaries. |
| 10 | |
| 11 | MAMA OS connects chats, docs, decisions, and work logs into a local memory substrate. Agents can use |
| 12 | it to search raw evidence, follow relationships, inspect timelines, and produce better briefings |
| 13 | instead of guessing from a short prompt. |
| 14 | |
| 15 | This release ships the foundation: raw search/window APIs, graph/entity/timeline APIs, situation |
| 16 | packets, trusted provenance, model/tool traces, strict search diagnostics, runtime envelopes, and |
| 17 | Context Compile V0. `context_compile` turns those pieces into one selected/rejected/missing |
| 18 | evidence packet for a task, and `mama_save` can attach that packet through trusted |
| 19 | `context_packet_id` provenance. |
| 20 | |
| 21 | ## The Operator Runtime |
| 22 | |
| 23 | The living center of MAMA OS is the **trigger loop**: an agent that authors its own triggers from |
| 24 | recurring situations in your channels, fires them on future messages to recall the right memory, |
| 25 | and folds everything into owner situation reports. The loop evolves itself — a review pass retires |
| 26 | noisy triggers, and delivered reports that cite a fired trigger feed a success signal back into |
| 27 | that trigger's stats. |
| 28 | |
| 29 | What runs continuously today: |
| 30 | |
| 31 | - **Trigger loop** — agent-authored triggers (keywords + memory query + procedure), deterministic |
| 32 | fire → recall → report, near-duplicate authoring gate, citation-based success circuit. |
| 33 | - **Operator board at `/ui`** — a React viewer with four agent-published slots (briefing, action |
| 34 | required, decisions, pipeline) rendered live over SSE, a Triggers tab showing the loop's own |
| 35 | library, and a native Tasks surface backed by the task ledger. Tasks display workflow status and |
| 36 | temporal state separately, so an overdue item is never silently treated as blocked or complete. |
| 37 | - **Memory promotion** — every 6 hours a curation pass promotes durable judgments (pricing rules, |
| 38 | standing client preferences, process rules) from recent channel data into decisions. Task states |
| 39 | never become memories; the board owns those. |
| 40 | - **Wiki compilation** — promoted decisions chain into an Obsidian wiki organized as an |
| 41 | append-only daily journal (`daily/YYYY-MM-DD.md`) plus lesson pages |
| 42 | (`lessons/clients|process|system`) that strengthen with evidence and get superseded, never |
| 43 | deleted. |
| 44 | - **Hourly self-audit** — a conductor pass checks process health, databases, config, and security |
| 45 | posture, deduplicating alerts against a state file so the owner hears about a finding once, not |
| 46 | every hour. |
| 47 | |
| 48 | ## Target Workflow |
| 49 | |
| 50 | MAMA is being built toward a local memory twin that agents can inspect, cite, and act on inside |
| 51 | explicit permission boundaries. |
| 52 | |
| 53 | Ask: |
| 54 | |
| 55 | > "Is Project A at risk right now?" |
| 56 | |
| 57 | A search tool finds messages containing "Project A." A MAMA-backed agent reads the board: |
| 58 | |
| 59 | 1. The customer said the schedule was fine in email. |
| 60 | 2. The internal owner changed twice in Slack. |
| 61 | 3. The core PR is still waiting for review. |
| 62 | 4. The QA checklist is not closed. |
| 63 | 5. The same customer changed demo scope at the last minute last month. |
| 64 | |
| 65 | A mature MAMA-backed agent should be able to report: |
| 66 | |
| 67 | - **Judgment:** schedule risk is high. |
| 68 | - **Evidence:** demo request, review-blocked PR, owner changes, unfinished QA, prior scope-change |
| 69 | pattern. |
| 70 | - **Inference:** the customer has not complained yet, but delivery risk is accumulating before the |
| 71 | demo. |
| 72 | - **Missing context:** demo scope is not confirmed. |
| 73 | - **Risk forecast:** if review and demo scope do not close today, Friday may turn into a |
| 74 | renegotiation. |
| 75 | - **Next move:** assign a PR reviewer, confirm demo scope with the customer, shrink QA to the |
| 76 | release-critical path. |
| 77 | - **Permission boundary:** external sending is not allowed, so the agent drafts the message and |
| 78 | records the report instead of contacting the customer. |
| 79 | |
| 80 | That is the product direction: not another search box, but the substrate for an extra |
| 81 | analyst-operator that can read the company record, separate evidence from inference, forecast the |
| 82 | next risk, and only act inside the scope it was given. |
| 83 | |
| 84 | ## Why This Matters |
| 85 | |
| 86 | Agents are useful when they can simulate. AlphaGo read the board before choosing the next move. Work |
| 87 | agents need the same thing: enough context to reconstruct what happened, infer what may matter, and |
| 88 | compare possible next actions. |
| 89 | |
| 90 | Most agents never see that board. They see a prompt, a few files, or one search result. MAMA's job is |
| 91 | to make the board visible. |
| 92 | |
| 93 | ## North Star |
| 94 | |
| 95 | MAMA OS is moving toward a company memory twin: an append-only substrate of raw recor |