d2081839c9
Fold in the forge-native angle: the git forge (GitHub/GitLab/Gitea) as the orchestrator, with bot-bottle as the safe runtime it launches into. Same moat (custody + audit + policy), better vehicle — the forge supplies identity, state, triggers, review, audit, and permissions for free, and lands the product where teams already live. Adds: the crowding map (generic 50-100+ vs forge-native ~10-30 vs self-hostable-least-priv-audited single digits); the GitHub/GitLab first-party trap and why to lead Gitea + sovereignty buyers; the buyer reconciliation (self-hosted-forge compliance orgs); a moat-vs-cost split of the "hard parts"; run-provenance-on-every-PR as the killer feature; the `@bot-bottle fix this` MVP riding the headless primitive; and two forge-specific risks. Sources for the forge landscape noted as conversation-provided, not independently re-verified. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01NkwFXLFff9PYPy4wgVBJp9
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).