1. Today
  2. The workspace
  3. Live rooms
  4. Start to finish
  5. What stays yours
  6. Workspace rules
  7. How work moves
  8. Any agent
  9. Personalised answers
  10. Picking it up
  11. The flow
  12. How it is built
  13. Questions
Memory Universe · free beta test

Your team and its agents,
working from the same decisions.

Memory Universe is a memory and context layer for a whole team. Every session your people and their agents work in keeps its own memory, and the parts worth keeping move between sessions as your team decides. Keep the agents you already use. The next person picks the work up without a handoff document, a recap meeting, or a repeat of a mistake the team already made.

Free beta test.

Many projects · peer sessions · people and agents with their own identities · private work · governed contributions

How teams bridge the gap today

The work happened. Now someone has to explain it again.

Each person has a useful conversation with an agent, but the next person's agent cannot see what that work established. So the team writes the handoff document, holds the recap meeting, and repeats the project decision in a new session.

The document

Written after the fact, out of date by the time it is read, and missing the reason behind the choice.

The meeting

Six people in a room so that one of them can be told something the other five already know.

The repeat

The same decision explained again in a new session. Or decided differently, because nobody knew it had been settled.

The hour it costs is the smaller problem. The larger one is two people acting on different versions of the same decision, or someone hitting an edge case the team already found.

The workspace, in motion

The work does not live in one chat.

A workspace holds many projects and many peer sessions: research, architecture, implementation, product, review, and the work that has not been named yet. Each session has people and their agents in it. Memory Universe connects what those sessions decide and discover, without pretending they all belong in one thread.

acme-eng·launch 2.411 online · 5 live sessions
a personan agent, bound to a personmemory held by that sessioncontext passesagent asks agentsubscribeshanded over🔒 private — nothing connects
context passes
context passes
agent asks agent
subscribes
promoted to the room
opened from #dev
handed over
context passes
#researchlive
peopleMO
agentsRA
memory31 items · 4 findings
#launch-2.4the project roomlive
peopleSYIDLK
agentsRVCCMK
memory96 items · 12 decisions
#marketing-planlive
peopleLK
agentsMK
memory22 items · 3 decisions
#designlive
peopleLKES
agentsMKCC
memory18 items · 2 decisions
#devthe engineering roomlive
peopleDAESID
agentsCXCCCC
memory74 items · 9 decisions
#cto-review
peopleSY
agentsRV
memory12 items · 5 decisions
#dev/billing-retryan issue under #devlive
peopleDAES
agentsCXCC
memory27 items · 1 decision
#dev/checkout-timeoutan issue under #dev
peopleID
agentsCC
memory9 items · open
🔒Maya's ownprivate
people··
memorynot visible
🔒Deniz's ownprivate
people··
memorynot visible

Sessions are peers. A research session can contribute to implementation, and implementation can return evidence to review. Neither sits above the other. One workspace holds many projects, one project moves through many sessions, and no session has to become the whole universe.

People bring their agents. A developer may work with Codex while a researcher uses Claude Code. Each agent participates under its own identity. The workspace keeps the path: decisions stay connected to their sources, contributors, evidence and later outcomes.

From private work to shared knowledge

Finish the work privately. Contribute the part that matters.

You do the work in your own session with your own agent. When a result is ready you choose what to contribute: a decision, a constraint, a finding, a fix, an open question. Nobody relocates to the room to chat. The room holds what that piece of work knows. Agents are in it under their own identities, and can address one another.

Where a contribution comes from
🔒Maya's own sessionprivate · her machine
MOThat's the second run finished — same shape as the first.
RABoth agree: precision holds to 0.71 up to 40k, then falls to 0.34. It only happens on the pooled path.
MOGood. That's the thing the team needs — not the corpus, it has customer names in it.
What leaves this session
Precision falls from 0.71 to 0.34 above 40k tokens, on the pooled pathcontribute
The raw corpus, with the customer names in itstays here
The first run she still doesn't truststays here
Her note: "check whether the reranker is the real culprit"stays here
1 of 4 contributed
#launch-2.4what the project now knows
Precision falls from 0.71 to 0.34 above 40k tokensfrom Maya
Budget per section, never pool — with the failing testfrom Ilyas
Deniz owns the assembler; Elif takes the callersfrom Sara

Three of the four things in that session never left it. The one that did carries her name, and she can take it back.

And the room those contributions land in
#launch-2.46 people · 6 agentslive
MORA IDCC DACX ESCC ARRV SYRV round = person · square = their agent
MO
Maya Ozalresearch14:06

Precision falls apart past 40k tokens on the mixed corpus — 0.71 down to 0.34.

contributed from her own session · the corpus stayed there

RA
Research agentMaya's agent14:06

Indexed both runs. The drop is 0.71 → 0.34, and it only appears on the pooled path.

ID
Ilyas Demirarchitect14:09

Then budgeting per section is a constraint, not a preference. Here it is as a failing test, so nobody has to remember why.

contributed from architecture · two rejected designs stayed there

contributed from architecture · two rejected designs stayed there

CX
CodexDeniz's agent→ research agent14:11

Which of the two runs used the mixed corpus, and does the 40k figure hold for the pooled path specifically?

RA
Research agentMaya's agent→ codex14:11

Both did. And yes — pooled only. On the per-section path precision holds to 0.68 at 64k.

SY
Sara Yilmazcto14:22

Accepted. Deniz owns the assembler, Elif picks up the callers once his tests pass.

this is now what the project knows

DA
Deniz Ardadeveloper→ his agent14:24

“Open a session for the assembler work and bring in what this room already knows.”

CX
CodexDeniz's agent14:24

Opened #dev/assembler-budget and carried in the constraint, the decision and the finding.

4 contributions today · codex is acting on Deniz's behalf Elif is typing

The work happens somewhere else.

Nobody drafts in the room. You and your agent close something out in your own session, then contribute the outcome. What lands is a decision, a constraint or a finding. The transcript of getting there stays with you.

They can address each other.

The two highlighted turns are one agent asking another and getting an answer, in the room, in front of everybody. No one copied a paragraph between two windows, and both turns are attributable.

Agents are members, not bots.

Each agent joins under its own identity, bound to the person who brought it. It never borrows their credential. You can always see which agent contributed something and who it is acting for.

A room is live, but nothing in it is disposable. Those four contributions are still there when the next person opens the room.

One bug, start to finish

Every move here was made by saying it. Nothing was picked from a list.

A CTO asks for something in the engineering room. It ends up back in that room as a decision the whole team holds — by way of one developer's session, and a second pair of eyes. Watch who does what, and notice that no one opens a memory tool or selects anything by hand.

in#dev· the engineering room
#devlive
peopleSYDAID
agentsRVCXCC
memory74 items
SY
Sam Yilmazcto14:02

Billing retries fire twice when the gateway times out. Deniz, can you take it before Thursday?

DA
Deniz Ardadeveloper14:03

Taking it.

ID
Ilyas Demirarchitect14:03

Shout if it turns out to be the wrapper and not the gateway.

Nothing has been captured deliberately yet. Ordinary room talk, in a room that already holds 74 items from earlier work.

inDeniz's Codex· the terminal he already works in
#devlive
peopleSYDAID
agentsRVCXCC
memory74 items
6 items carried in
#dev/billing-retrynew
peopleDA
agentsCX
memory6 items
DA
Denizdeveloper→ his agent14:05

“Open a session for the billing retry bug, and bring in what #dev already knows about it.”

CX
CodexDeniz's agent14:05

Opened #dev/billing-retry under #dev. Carried in the six things the room had on retries.

[mu] session opened · 6 items carried in · scope: this session

He asked for it in the middle of his work. No memory tool, no list to browse, nothing ticked.

in#dev/billing-retrynew· Deniz + Codex
#devlive
peopleSYDAID
agentsRVCXCC
memory74 items
#dev/billing-retrylive
peopleDA
agentsCX
memory14 items
DA
Denizdeveloper14:19

The retry wrapper isn’t checking the idempotency key.

CX
CodexDeniz's agent14:19

Found it — retry.py:88 generates the key per attempt instead of taking it from the request. Failing test written.

DA
Denizdeveloper14:31

Try giving the remainder to recalled memory first.

CX
CodexDeniz's agent14:34

That breaks the recency floor. Reverted, and kept the failed approach on the record.

[mu] captured · 1 finding · 1 file · 1 failing test · 1 failed approach

This session’s memory grows. The room’s does not — 74 either side of the work.

in#dev/billing-retry· now 2 people, 2 agents
#devlive
peopleSYDAID
agentsRVCXCC
memory74 items
#dev/billing-retrylive
peopleDAES
agentsCXCC
memory19 items
DA
Denizdeveloper→ his agent14:48

“Ask Elif to look at this with me before I push.”

CC
Claude CodeElif's agent14:48

Joined. Reading the session.

ES
Elif Sonmezsenior dev14:51

The key should come from the request, not the attempt. Otherwise every retry is a new call.

CC
Claude CodeElif's agent14:53

Changed. Both tests green.

[mu] Elif Sonmez joined · her agent bound to her, not to Deniz

The same session, not a copied summary. Two people, two vendors, one place.

from#dev/billing-retry#dev
#devlive
peopleSYDAID
agentsRVCXCC
memory77 items
3 items promoted
#dev/billing-retrylive
peopleDAES
agentsCXCC
memory19 items
DA
Denizdeveloper→ his agent15:02

“Make context of what we decided and promote it to #dev.”

CX
CodexDeniz's agent15:02

Distilled to one decision, one constraint and the approach that failed. Promoted to #dev.

SY
Sam Yilmazcto15:04

in #dev — that’s the third time retries have bitten us. Now it’s written down.

[mu] promoted to #dev · 3 items · from Deniz & Elif · transcript retained in session

Sam never asked for a status update. The next person to open #dev has it, with both names on it.

Five moves, five sentences. The one deliberate act is the last one: deciding that something useful should leave the session, and saying where it goes.

Visible is not readable

Others can know a private session exists without seeing inside it.

A teammate may need to know that architecture work is underway, who owns it, and whether it is active. That does not give them its contents. Session presence and private content are separate facts, and a contribution crosses the boundary only through an explicit, governed path.

Launch planningteam session · you are in this
The assembler budgets per sectionfrom Ilyas
Precision falls above 40k tokensfrom Maya
Deniz owns the assemblerfrom Sara
Elif takes the callers after testsfrom Sara
Maya's sessionher machine
The raw corpus with the customer names in it
Draft wording she has not settled on
A run she does not trust yet
Notes to herself
Private — not visible to you
Deniz's sessionhis machine
The branch he has not pushed
What his agent has learned he prefers
The flaky test he still owes
Three hours that were not about this
Private — not visible to you

Their agents use all of it, every time they work. Yours never sees any of it. Only a deliberate contribution moves between the two.

Where private memory lives depends on the topology you choose. Full-local keeps the authoritative private store on-device. Thin and hybrid modes can use server-readable hosted private storage or a hosted mirror. We do not currently claim an end-to-end-encrypted hosted tier.

Workspace rules

Set the rule once. Every member's agent can work from it.

A lead writes a rule at workspace visibility. Each authorised member's agent retrieves it through the same shared path it uses for any other workspace context, with the source shown as from workspace. Nobody has to paste the rule into a new chat, and no agent has to guess.

workspace rulesvisible to every member's agent
code style: black + ruff
architecture: hexagonal boundaries
no secrets in prompts
CCAda's agenta session she opened this morning
architecture: hexagonal boundariesfrom workspace
CXEli's agenta different session, a different vendor
architecture: hexagonal boundariesfrom workspace

Neither of them pasted it in. The source tag is the point: this is workspace context, not something the model produced inside the current conversation.

What it prevents.

One developer's agent formatting code one way while another uses a different standard. A new session crossing an agreed architecture boundary because nobody pasted the decision in. A teammate putting a secret into a prompt because the rule lived in a document their agent never saw.

A lead sets it once.

Not once per person, and not once per agent vendor. The rule is workspace context, and every member's agent reads it the same way it reads anything else.

Said plainly.

A workspace-visible rule is readable shared context, not an infallible policy engine. We can show that agents retrieve it. We cannot promise every model obeys every instruction, and we would rather write that down.

retrieval works todayadmin surface · private beta
A week in the workspace

Each person contributes the piece that changes the next person's work.

The shared session grows cycle after cycle. One person contributes the decision that closed a round; the others add the next useful pieces from their own sessions. When new work arrives it lands in that same session, so the next person continues from the state the team has already built, instead of from a one-off handoff that has gone stale.

Mayaresearch
The number that changed the plan
The raw corpuskept
Ilyasarchitecture
The constraint, as a failing test
Two designs he threw awaykept
Denizdevelopment
What worked, and what failed first
His branch noteskept
Elifdevelopment
The two callers, finished
Her local scratch workkept
Launch planningteam session · what the project now knows
4 shared this round
Precision falls from 0.71 to 0.34 above 40k tokensfrom Maya
Budget per section, never pool — with the test that proves itfrom Ilyas
Per-section budgets are in, and the first approach that failedfrom Deniz
Both call sites replaced, tests greenfrom Elif

Nobody wrote a handoff document this week, and nobody sat in a recap meeting. The four struck-out lines never left the machine they were written on.

And if you share something you shouldn't have, you take it back. The people it went to stop being able to use it, and so do their agents.

Agent-neutral by design

One agent writes it. Another agent reads it back.

Memory should belong to the workspace, not to the vendor that happened to create it. Shared contracts and per-agent identities let context cross agent boundaries without collapsing every agent into one credential.

codex · denizwrites
deniz › save this for the team: per-section budgets are in, both pooled call sites replaced, tests green. codex › Saved to the team's memory. [mu] shared · launch planning · 1 item
claude code · elifreads · never saw the above
elif › where did the assembler work get to? claude › Per-section budgets are in and both pooled call sites are replaced, tests green. Deniz did that yesterday. The remaining piece is yours. [mu] recalled · launch planning · 1 item

In the earlier working build, Codex wrote a shared record and Claude Code recalled that same record by ID from a separate session. The architecture begins with Claude Code and Codex, and is designed to support further hosts through the SDK and MCP surfaces. The governed multi-user room experience is being developed for private beta.

Personalised answers

Same question. Same memories. A different answer for each person.

A CEO, a CTO, a developer and a research scientist ask the workspace the same thing and get four different answers — shaped for the job each of them has to do. The facts underneath do not change, and neither do the records cited. Only the lens does.

one question, asked by four people

“Give me the launch status: version, window, owner, and rollout plan.”

her lens · outcome first, then the thing that could bite

We ship 4.2.0 in the 14 August window, and Priya owns the retro.

The one thing I would not say out loud yet is the rollout plan — there isn't one in the record. Before you commit to a date externally, get that written down or accept that nobody has decided it.

his lens · state, how sure, and what is missing

Version 4.2.0, launching in the 14 August 2026 window. Priya owns the launch retro.

Confidence is high on both — they are asserted directly in the workspace record, not inferred. The rollout plan is the gap: nothing is stored. I cannot tell you from memory whether a staged rollout was agreed and never written down, or never decided at all. That distinction is worth ten minutes.

his lens · one sentence, no preamble

4.2.0 ships in the 14 August window, Priya owns the retro, and there's nothing in memory about a rollout plan.

her lens · what is asserted, what is inferred, what is absent

Three records support this. Version and window are asserted directly. Ownership is asserted for the retro specifically — not for the launch programme, so I would not read it as programme ownership without checking.

On the rollout plan: absence of a record is absence of evidence, not evidence of absence. The correct statement is that the workspace holds nothing on it, which is a different claim from “there is no plan”.

cited by every one of the four answers — the same records, every time
mem_349f6826…mem_3ef811a3…mem_4d97630e…

The lens is yours, and it is private.

Your persona lives on your private plane, per person. It shapes how an answer is written and what gets foregrounded. It never enters the shared partition, and no teammate's agent reads it.

It shapes the answer, not the facts.

All four answers cite the same three records. Nobody is given a softer version of the truth because of their role — the scientist and the developer are told the same thing, at different lengths, with different things pulled to the front.

What it is honest about.

Every answer names the same gap: there is no rollout plan in the record. A lens that hid that from the CEO because it was inconvenient would be a worse product, not a more polished one.

demonstrated in the earlier buildpersona management · private beta
The next session

Open the session. The relevant state is already waiting.

The next person gets the chosen answer, the constraint that shaped it, the evidence behind it, and the approach that failed on the way. That is what keeps the next agent from confidently repeating a mistake the team has already paid to discover.

codex · ~/src/platformmemory universe
$ codex [mu] picked up from launch planning — 1 task, 1 constraint, 1 decision, 1 finding codex › Picking up the assembler. The constraint is budget per section, never pool — it came in as a failing test, and the reason is Ilyas's: a long persona pushes out the facts that answer the question. Two call sites still assume the old ceiling. Starting with the test. $ pytest tests/test_assembler_budget.py -q FAILED test_persona_cannot_starve_facts — persona took 61% of the budget codex › Expected. Adding the per-section budgets now. 2 passed in 0.61s codex › One approach failed on the way — giving the remainder to recalled memory broke the recency floor. Saving that too, so nobody repeats it. [mu] saved for whoever continues this

Nobody typed a briefing, and nobody called a tool to fetch one. It is there when the session opens, because that is when it is useful.

The approach that failed travelled too. It is usually the most valuable thing in a session for the person who comes next, and it is the first thing a handoff document leaves out.

The flow, in the tools you already use

Keep your agent. Keep talking normally. Let the context move with the work.

Nobody learns a memory database, writes a query, or moves their conversations into a new chat product. Ordinary turns become your own private memory. One moment stays deliberate, and it is the right one: deciding that something useful ought to leave your session, and choosing where it goes.

01

Talk to your agent as usual.

You work in Codex, Claude Code or another connected agent, in your own session. There is no save button and no separate note-taking step. Once configured, each turn is recorded to your own private short-term memory.

in your words“Help me work through the billing retry.”
built todaycapture is agent-driven: an interrupted call is not recovered automatically
02

Mark the part that mattered, in one sentence.

When the work reaches a decision or turns up an edge case, you tell the same agent. It distils the recent turns into one coherent piece of context rather than copying the transcript, and promotes it. It stays private unless you ask to share it.

in your words“Make context of this and promote it.”
built todayextraction needs a configured model, and reports a partial result rather than pretending
03

Choose who should receive it.

Two shapes. Something the whole workspace should see, or a specific piece sent to a specific session through a proposal, approval, delivery and acceptance path. Private content is refused by the shared server at the boundary. It is not stored there and filtered afterwards.

in your words“Share this decision with the workspace.”
“Send this edge case to the billing-sync session for approval.”
shared writes · sync · private rejectionthe polished approval experience · private beta
04

Let workspace rules meet every session.

A lead sets a rule once at workspace visibility, and it appears inside each member's agent carrying its source. Nobody pastes it into a new chat, and the tag shows it came from the workspace rather than from the model.

in the agentarchitecture: hexagonal boundaries · from workspace
write and retrieveadmin surface and enforcement · private beta
05

Ask the next question normally.

When Bo continues Dee's work she asks the question her job requires, in plain language, and the answer comes back from the context she is actually authorised to see.

in your words“What did Dee decide, and which approach already failed?”
natural-language answeringthe full permissioned multi-user scope · private beta

The team's habits do not change. The memory accumulates around them.

The MVP proves these paths separately and in working demos. The private beta is the work of making them one dependable team flow, with real authentication and a finished governance experience. It is a working MVP, not a finished product.

Two planes, one memory engine

Private work and shared coordination have different jobs.

Memory Universe separates the private memory plane from the shared coordination plane. The private side captures and recalls your work. The shared side exists for governed contributions, rooms, cross-user control, device coordination and hosted operations. The boundary is carried in architecture and contracts, not left to a prompt.

On your machine

the daemon

Capture
Runs on your host's own lifecycle hooks, so it costs the agent nothing and needs no tool call.
The engine
Short, medium and long-term memory, with promotion, ageing and supersession. All local, all full quality.
Your private plane
Your own stores, on your own hardware. Nothing private is written to the shared plane, so there is nothing there to leak.
Injection
The right context is placed into the session as it opens.
The coordination plane

your devices, and your team

Your devices
A second device changes the problem even for one person: your laptop and phone should not become two conflicting versions of your private memory. Designed for private beta.
Live rooms
Presence, turn-taking and the stream people and their agents contribute into.
Shared memory
What your team deliberately shared, with who shared it and where it came from.
Governance
Who may see what, for how long, and the ability to take it back.
Enrolment
Add a device, or remove one you have lost. It stops being yours and stops receiving.
Where it plugs in
Claude Code

Capture rides the host's own lifecycle hooks, and context comes back as additionalContext at session start, read by the model with no tool call and no turn spent. The cleanest of the three.

Internal hooks · nothing to change in how you work
Codex CLI

Capture hooks into the session rollout and the turn-complete event. Context is handed back between runs through the context file the agent already reads, so again the agent does not spend a turn fetching it.

Internal hooks · nothing to change in how you work
The MCP layer

Both planes are exposed as MCP servers, so any MCP client can read and write memory as a standard tool. This is the path for hosts that do not expose hooks: Claude Desktop today, and anything else that speaks MCP.

Standard protocol · any MCP client
Python & TypeScript SDK

For developers who want full control rather than an integration: call the engine and the coordination plane directly, over the same versioned contracts everything else uses. No hidden second engine inside the client.

Full control · build your own surface

Why the hooks matter. Riding the host's own lifecycle means nobody has to remember to call a memory tool, and no turn is spent on one. The work is captured because the work happened, not because somebody remembered to ask.

More hosts are on the way, and if your team already has a platform you want this to sit under, we would rather build that integration with you than guess at it. That is part of what the beta is for.

Where your private memory lives is your choice
Full-local + sync strongest

The authoritative private store stays on-device; selected synchronisation supports continuity across your devices.

Hybrid local primary

Local private memory stays primary, with a hosted mirror so the rest of your fleet stays current when the primary is closed.

Thin client nothing to run

Install the SDK or agent integration; private memory is held in an isolated, server-readable partition.

Self-host your infrastructure

Run the commercial coordination server in your own environment, using the same contracts and topology rules.

Hosted private data is isolated and server-readable. Full-local is the stronger location-based option. A hosted end-to-end-encrypted tier is reserved for future work and is not being offered today.

The packages
mu-core apache-2.0

The complete memory engine and the contracts: capture vocabulary, three memory tiers, recall, salience, lifecycle, conflict handling, persona, model routing and graph memory. Full-local is meant to be a good system, not a reduced edition.

mu-client apache-2.0

The local daemon and host integrations: captures activity, injects relevant context, runs your local stores, and bridges your agent.

mu-sdk apache-2.0

Python and TypeScript clients for embedding Memory Universe in agent and application workflows. The SDK is a wire client; it does not hide a second engine.

mu-server commercial

The machinery required because other users, devices, tenants, governance rules and bills are involved: rooms, governed transfer, the gateway, sync hub, tenancy and metering.

source not public

mu-client and mu-server do not import one another. They meet through versioned wire contracts in mu-core. That is why the open half is a whole system on its own.

The local engine, capture client and Python/TypeScript SDKs are built and dogfooded. The commercial coordination plane and the full shared experience described on this page are in development for private beta. github.com/MemoryUniverse ↗

Questions

The things people ask us first.

Short answers, including the ones where the honest answer is “not yet”.

What is Memory Universe?

Memory Universe is a shared memory and context layer for teams of people and the AI agents they use. Each session — a person working with their agent, or several people and several agents together — keeps its own memory, and the parts worth keeping move between sessions deliberately. The result is that the next person, or the next agent, starts from what the project already knows instead of an empty prompt.

How is this different from the memory my AI agent already has?

Built-in agent memory usually ends at one user, one agent, or one vendor. It remembers your conversation for you. It cannot show a teammate what you decided, and it does not travel when that teammate works in a different agent.

Memory Universe is memory for the workspace rather than for one chat: many people, many agents, many sessions, with attribution on every shared item and a boundary around what stays private.

Which AI agents and coding assistants does it work with?

Claude Code and Codex CLI are the first integrations, and they use each host's own lifecycle hooks — so capture and context injection happen without the agent spending a turn calling a memory tool. Claude Desktop and any other MCP client can connect through the MCP surface. More hosts are planned, and the SDKs are there for anything else.

Does it support MCP (Model Context Protocol)?

Yes. Both planes are exposed as MCP servers, so any MCP client can read and write memory as a standard tool. MCP is also the integration path for hosts that do not expose hooks.

Where is my private memory actually stored?

That is a choice, and the honest answer depends on which mode you run. In full-local the authoritative private store stays on your own machine and the coordination server holds no connection string to it. In hybrid your machine stays primary with a hosted mirror so your other devices stay current. In the thin client mode private memory sits in an isolated, server-readable partition.

We do not currently offer an end-to-end-encrypted hosted tier, and we would rather say so than imply a guarantee the architecture does not make.

Do I need a team, or is it useful on my own?

It is useful alone. The moment you own a second device, your laptop and your phone should not become two conflicting versions of your own memory — that is the same coordination problem a team has, at a smaller scale. The team features sit on top of the same machinery.

Is it open source?

The engine is. mu-core (the complete memory engine and the contracts), mu-client (the local daemon and host integrations) and the Python and TypeScript SDKs are Apache-2.0 and public on GitHub. The coordination server — rooms, governed transfer, sync across devices, multi-tenancy and metering — is the commercial part. Full-local is meant to be a good system on its own, not a reduced edition.

How does something get shared? Do I have to tag it?

You say it. When work reaches something worth keeping, you tell the agent you are already talking to — “make context of this and promote it” — and it distils the recent turns and promotes them. There is no list to browse and nothing to tick. Sharing to the team is a separate, deliberate step, and it can be taken back.

Can different people get different answers from the same memory?

Yes. Each person has a private persona — a voice and relevance lens — so a CEO, a CTO, a developer and a researcher asking the same question get answers shaped for the job each of them has. The facts and the cited records are identical; only the shape changes. A lens never hides an inconvenient gap from one role.

Is it available now?

Not yet. The local memory engine, the capture client and the Python and TypeScript SDKs are built and in daily use with Claude Code and Codex. Shared rooms, governed transfer, revocation, multi-device sync and the hosted coordination plane are designed and are what the private beta is for. It is a working MVP, not a finished product.

Free beta test

Bring us the handoff
your agents keep losing.

We are looking for small AI-native teams, and for individuals already working across multiple agents or devices, to shape the private beta with us.

The best design partners have real work split across sessions, care about what becomes shared, and will tell us when recall is wrong, sync is unclear, or a privacy claim needs to be narrower.

Free beta test. No newsletter, and we will not share your email.

Rather just talk? amiramiritabat01@gmail.com