Memory that moves. Debt you can burn.
Live Product · Architecture · Contributing
Built for Memory Meets Motion — Agentic Workflows & Stateful AI
Organizations don’t fail because they lack notes.
They fail because unfinished work compounds — meetings without owners, Friday briefs that never ship, renewals that quietly slip.
We call that Open Loop Debt.
| Most AI today | Continuum |
|---|---|
| Remembers fragments in a chat log | Durable graph memory of people, projects, decisions |
| Drafts text and stops | Cited Motion that closes the loop |
| Can’t show impact | Open Loop Debt score + unique $ at risk |
| Forgets what it just did | Write-back — artifacts & edges return to memory |
Continuum is not another chatbot.
It’s the substrate that makes Memory meet Motion.
- Open the live demo → Enter
- On Command, find Open Loop Debt and $ at risk (Acme Health $220k in seed)
- Click Close My Morning
- Open the run → scroll to
## Citations - Watch debt before → after as the loop closes and the brief lands in the graph
npm ci && npm run dev
# → http://localhost:3000| Route | What you get |
|---|---|
/ |
Full‑bleed brand landing |
/app |
Debt dashboard · live graph · watchdogs · Close My Morning |
/app/memory |
Interactive memory graph |
/app/loops |
Open loop inbox · residue ingest |
/app/runs |
Motion runs · steps · citations · debt delta |
/app/settings |
Sponsor SDK status · DEMO honesty · reset seed |
flowchart LR
subgraph UI["Continuum Web"]
Command[Command]
Graph[Memory Graph]
Runs[Motion Runs]
end
subgraph API["API + Jobs"]
REST[REST + Zod]
Jobs[Leased job worker]
end
subgraph Memory["Memory Plane"]
SQLite[(SQLite WAL)]
Falkor[FalkorDB mirror]
Debt[Open Loop Debt]
end
subgraph Motion["Motion Plane"]
Pipe[close-open-loop]
RR[RocketRide]
Linkup[Linkup]
Laser[LaserData]
Guild[Guild experiments]
end
Command --> REST
Graph --> REST
Runs --> REST
REST --> SQLite
REST --> Debt
REST --> Jobs
Jobs --> Pipe
Pipe --> Linkup
Pipe --> RR
Pipe --> SQLite
Pipe --> Falkor
Pipe --> Laser
Pipe --> Guild
Debt --> SQLite
Deep dive: docs/ARCHITECTURE.md · ADR: docs/adr/001-audit-hardening.md
Every Memory Meets Motion sponsor client is in the tree. Without keys, adapters stay honestly DEMO. With keys, the same code paths go live.
| Sponsor | Package | Role |
|---|---|---|
| RocketRide | rocketride |
Submit pipelines/close-open-loop.json |
| FalkorDB | falkordb |
Mirror nodes/edges via OpenCypher |
| Linkup | linkup-sdk |
Live web research during Motion |
| LaserData | @laserdata/laser-sdk |
Durable Motion / watchdog events |
| Guild.ai | @guildai/cli + .guild/ |
Experiment records per run |
| Snyk | snyk |
Dependency security scans |
Status UI: Settings · API: GET /api/sponsors
| Invariant | Behavior |
|---|---|
| Concurrent runs | ≤1 active run / loop · Idempotency-Key · 409 on conflict |
| Validation | Zod on bodies & persisted entities · bad tags → 422 |
| Jobs | Durable rows + leases · crash recovery |
| Persistence | SQLite WAL transactions · no silent reseed on corruption |
| Auth | Signed httpOnly demo session · workspace isolation |
| Accounting | risk_entities — Acme $220k counted once (never $440k) |
| Honesty | DEMO labels on simulated research / notify / metrics |
git clone https://github.com/vnmoorthy/continuum-memory-meets-motion.git
cd continuum-memory-meets-motion
npm ci
cp .env.example .env.local # optional sponsor keys
npm run devNode 20–24 · see package.json → engines
npm run dev # local app
npm run build # production build
npm run typecheck
npm test # vitest (incl. concurrency + sponsors)
npm run test:e2e # playwright smoke
npm run slides # regenerate PPTX
npm run snyk:test # security scan
npm run ci # lint + types + tests + buildEnv reference: .env.example
| Doc | Link |
|---|---|
| Architecture | docs/ARCHITECTURE.md |
| Audit before/after | docs/AUDIT_BEFORE_AFTER.md |
continuum/
├── src/app # Next.js App Router (UI + API)
├── src/components # Landing, shell, graph, debt, watchdogs
├── src/lib
│ ├── motion/ # Cited Motion runtime
│ ├── sponsors/ # RocketRide · FalkorDB · Linkup · Laser · Guild · Snyk
│ ├── store/ # SQLite WAL + migrations
│ └── jobs/ # Leased worker
├── pipelines/ # close-open-loop.json
├── docs/ # Architecture, ADR, pitch script
├── slides/ # Hackathon deck
└── tests/ + e2e/ # Vitest + Playwright
We welcome PRs that reduce Open Loop Debt — features, hardening, docs, design.
★ Star this repo if Memory should move — not just recall.
Close the loop.