# Atarla shared memory

One copy of what is true about Atarla, read and written by every assistant,
agent and chat. If you are an AI reading this because someone gave you the URL,
everything you need is below.

## Get oriented in one call

    curl -sS -H "Authorization: Bearer $ATARLA_MEMORY_TOKEN" https://memory.atarla.com/primer.md

That returns the entire current source of truth as markdown, along with the
rules for using it. It is small on purpose: read all of it, once, at the start
of a conversation, rather than searching repeatedly.

Without a token, the public subset needs no auth at all:

    curl -sS https://memory.atarla.com/public.md

## Endpoints

| Method | Path | Auth | What |
| --- | --- | --- | --- |
| GET | `/primer.md` | agent | Everything current, as markdown. The cold start. |
| GET | `/public.md` | none | Public facts only. Safe to quote anywhere. |
| GET | `/facts` | agent | JSON list. `?type=`, `?visibility=`, `?q=` to filter. |
| GET | `/facts/{name}` | agent | One fact, with its history. |
| POST | `/facts` | agent | Propose a fact. Always lands unverified. |
| POST | `/facts/{name}/supersede` | agent | Replace a fact, keeping the old one. |
| POST | `/facts/{name}/verify` | admin | Kevin confirms a fact. Assistants cannot. |
| POST | `/mcp` | agent | MCP over Streamable HTTP, for native tool use. |

## Connecting as an MCP server

Point any MCP client at `https://memory.atarla.com/mcp` with an `Authorization: Bearer`
header. Tools exposed: `primer`, `search`, `get`, `propose`, `supersede`.

## The rules, in short

- Respect `visibility`. `internal` never goes anywhere outward facing.
- Verified facts are append only. Supersede, never overwrite.
- Only Kevin verifies. You propose.
- Never store a credential here. Record that it exists and where it lives.
- If a fact is missing, ask. Do not invent one.
