Architecture Decision Records
Short records of decisions that are expensive to reverse. One decision per file, numbered, never renumbered. To change a decision, add a new ADR that supersedes the old one, and update the old one's status.
| ADR | Title | Status |
|---|---|---|
| 0001 | Product shape and packaging | Accepted |
| 0002 | OpenAI only, official SDK, no leaked types | Accepted |
| 0003 | Conversation state without a database | Accepted (spike S1) |
| 0004 | Threat model for a public, anonymous chatbot | Accepted |
| 0005 | Embedding model (loader + iframe served by the route handler) | Accepted for 0.1 |
| 0006 | Support matrix and versioning policy | Accepted |
| 0007 | Tooling | Accepted |
| 0008 | UI customization layers and built-in themes | Accepted |
| 0009 | Visitor identity with identify() | Accepted |
| 0010 | Docs website rendered from docs/*.md | Accepted |
Template
# ADR-NNNN: Title
- **Status:** Proposed | Accepted | Superseded by ADR-XXXX
- **Date:** YYYY-MM-DD
## Context
What forces are at play and why a decision is needed now.
## Decision
What we will do, stated plainly.
## Consequences
What becomes easier, what becomes harder, and what we accept.
## Alternatives considered
The other options and why we didn't pick them.