## Grounded (shared memory)

Grounded is this workspace's memory service. Base URL: http://127.0.0.1:7437 (replace with yours). If a token is set, send `Authorization: Bearer <token>` on every call except /health and /llms.txt.

- Read `GET /llms.txt` before your first call. It is the manual for this instance: do not guess routes, fields or limits.
- Session start, when no brief was injected: `POST /brief` with `{"agent":"<you>","project":"<repo>","cwd":"<abs path>","format":"markdown","timezone":"<IANA zone>"}` and read `.text`.
- Before asserting a port, path, service, decision or status: `POST /recall` with `{"query":"<question>","limit":10}`. Cards are in `.data`, ranked by `score`; read `.meta` before concluding nothing matched. Full record: `GET /get/<typedId>`.
- Before stopping, removing, deleting or renaming anything: `POST /impact` with `{"subject":"<name, port or path>"}`.
- A durable rule the user states or confirms: `POST /facts` with `{"fact":"<one terse line>","scope":"global | project:<name> | agent:<name>","topicKey":"<stable-key>"}`. Same scope + topicKey revises in place. Check `delivery.delivered`. Never write a fact by inference.
- When the user asks to log the work, or the session is ending: `POST /sessions` with `{"summary":"<one line>","details":"<what shipped, what is open>","project":"<name>","agent":"<you>"}`.
- A record that contradicts what you observe: name it by typed id and propose the fix. Do not silently work around it.
