Pipeline walkthrough

Every mechanism below mirrors real code paths — source file named per step. ← landing page

Retain — POST /memory/retain

A memory lands in one of three indices with a full tenancy envelope.

Source: backend/app/memory.py · store.py

Recall — POST /memory/recall

Two retrieval arms over the visibility-filtered set, fused by rank.

Source: backend/app/memory.py · diagram: docs/diagrams/recall-pipeline.svg

Reflect — POST /memory/reflect

Recall as evidence, then an LLM answers with citations.

Q: how do deploys work?
A: Deploys go through OmniRoute catchup branches [ames-semantic:Zu3f...]
   — 1 source, owner-scoped evidence only

Source: backend/app/llm.py · main.py

Promote & the guard — POST /memory/promote

private → team/common is an explicit, guarded operation.

Source: backend/app/memory.py (guard_promotion, _PRIVATE_MARKERS) · tests: backend/tests/test_promotion_guard.py

Consolidate — worker loop

Semantic facts rot; the worker proposes and then applies supersessions.

14:02:11 {'alice': {'proposals': 3, 'superseded': 2}}

Source: backend/app/worker.py · tests: backend/tests/test_worker.py