ae33d1abfb
Expands scope to cover both remaining egress hotspot tasks from #117: - Replaces the named-helper design with a flat provisioned-wins merge (provider routes own their hosts; manifest fills gaps; no upgrade or conflict-detection logic needed). - Adds _route_to_yaml_fields as the single authoritative EgressRoute→Route mapping to prevent silent type drift between host and addon. - Notes that the mitmproxy pure-function split is already clean (decide + is_git_push_request) and requires no structural change.
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).