Reference
Non-goals
Explicit things we're not doing, and the reasons behind each.
From CLAUDE.md. These are not TODOs — they're decisions.
Architecture
- No new top-level tables. New domain = new
entities.type. Everything is the graph. See Design philosophy. - No Qdrant, Neo4j, or Redis on MVP. pgvector + Postgres + Inngest cover every access pattern we currently need. Adding another datastore multiplies ops cost and query surface for zero user-visible benefit.
- No separate microservices. One deployable. Migration history explains the Vercel-only decision.
- No GraphQL. Server actions (for writes) + TanStack Query over plain route handlers (for reads) cover every client need without a schema layer.
Design
- No light mode on MVP. Dark-first. Warm canvas. One amber accent. Deferred until after public launch.
- No second accent color. Differentiation comes from per-entity chip colors (
--chip-*), not a second brand color. - No hard-coded colors / sizes / spacing in components. Tokens only. See
packages/ui/src/tokens/*.css.
Code hygiene
- No docstrings or trailing summaries in code. Comment only where the why is non-obvious (hidden constraints, subtle invariants, workarounds for specific bugs).
- No splitting an entity-mutating op between app and tool. The tool owns the write. The app calls the tool.
Observability
- No skipping Langfuse tracing on agent paths. Without traces, debugging is impossible. A PR that adds a new agent surface without
startTrace(...)is incomplete.
Secrets
- No committing secrets. Doppler is the single source of truth. Every process that needs secrets runs under
doppler run -- <cmd>or uses the Doppler-synced Vercel env.