b563443605
Per owner request on PR #285: scope this PRD to the three still-missing enforcement capabilities and drop what already ships. - Retitle "Egress control plane" -> "Egress metering, budgets, and forced cutoff"; rename file to match. - Move to already-implemented (out of scope, referenced not rebuilt): the egress chokepoint / MITM proxy (PRD 0001/0006/0017), observability (host dashboard + egress traffic logging PRD 0055), and the host SQLite store (PRD 0067). The "introduce SQLite now" justification collapses to "add tables to the existing store." - Drop the SQLite-foundation and dashboard implementation chunks (both done); renumber to metering / settings+budgets / forced cutoff / optional count_tokens gate. - Trim the "& observability plane" framing and the dashboard-transport open question; keep metering, budget precedence, settings.yml, and the cutoff/freeze/kill design intact. Issue: #251 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Docs
How this project records what it builds and why — and a guide to picking the right document for what you're capturing.
When to write which document
| Artifact | For |
|---|---|
PRD (docs/prds/) |
A feature: what to build, scope, success criteria. |
Research note (docs/research/) |
A landscape/tradeoff investigation. |
Decision record (docs/decisions/) |
A decision that isn't itself a feature — a policy, a convention, a "we will / won't do this," or a load-bearing choice made inside a larger PRD that deserves to be discoverable on its own. |
A decision that's fully specified by a PRD doesn't need duplicating in a decision record. Write one when the decision would otherwise be buried in prose, lost in an issue thread, or have no in-repo home at all (small requests that don't merit a PRD; non-feature choices like merge strategy or a trust posture).