Adopt a7's pattern: when a live-validation bug is found, identify the bug class and audit the rest of the codebase for the same shape (a7 examples: #32 audited every *create.go after BUG-2/BUG-3 turned out to share a json.RawMessage -> YAML byte-array root cause; #33 generalised "reject empty upstreams: []" to "reject bare/null forms too").
Document the protocol in AGENTS.md so it sticks.
Part of #33
Adopt a7's pattern: when a live-validation bug is found, identify the bug class and audit the rest of the codebase for the same shape (a7 examples: #32 audited every
*create.goafter BUG-2/BUG-3 turned out to share ajson.RawMessage-> YAML byte-array root cause; #33 generalised "reject emptyupstreams: []" to "reject bare/null forms too").Document the protocol in
AGENTS.mdso it sticks.Part of #33