docs: Merge decision inbox — proto fixture capture and protobuf architecture contract

- Added decision: Proto fixture capture in CI runs against prod (stable reference)
- Added decision: Protobuf API contract architecture (single source of truth for frontend/backend interfaces)
- Merged 2 directives from spawn manifest processing

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
Kpa-clawbot
2026-03-27 15:46:07 -07:00
co-authored by Copilot
parent e300228874
commit f5ea4d5a87
+10
View File
@@ -2,6 +2,16 @@
## Active Decisions
### 2026-03-27T22:00:00Z: Proto fixture capture in CI
**By:** Copilot (User directive)
**What:** Proto fixture capture in CI should run against prod (the stable reference), not staging. Staging may have broken code. Prod is known-good.
**Why:** Ensures fixture definitions are derived from a stable, known-good API contract. Prevents broken staging deployments from breaking proto contracts.
### 2026-03-27T20:56:00Z: Architecture decision — Protobuf API contract
**By:** Copilot (Architecture decision)
**What:** All frontend/backend interfaces get protobuf definitions as the single source of truth. Go generates structs with JSON tags from protos. Node stays unchanged — protos are derived FROM Node's current JSON shapes. Proto definitions MUST use inheritance and composition (no repeating field definitions). Data flow: SQLite → proto struct → JSON. JSON blobs from DB deserialize against proto structs for validation.
**Why:** Eliminates the endless parity bugs between Node and Go. Compiler-enforced contract instead of agent-verified field matching. DRY — shared message types composed, not duplicated.
### 2026-03-27T02:18:00Z: Infrastructure connection details
**By:** Squad Coordinator (capturing session discoveries)
**What:** Production VM connection details established this session: