spec: record wire key is probe (shipped console health key owns the name)
1 file changed,
+5
−1
docs/superpowers/specs/2026-08-12-ha-posture-and-multi-upstream-routes-design.md+5 −1
diff --git a/docs/superpowers/specs/2026-08-12-ha-posture-and-multi-upstream-routes-design.md b/docs/superpowers/specs/2026-08-12-ha-posture-and-multi-upstream-routes-design.md| index 9a79e0c4a..1d80df87c 100644 |
| --- a/docs/superpowers/specs/2026-08-12-ha-posture-and-multi-upstream-routes-design.md |
| +++ b/docs/superpowers/specs/2026-08-12-ha-posture-and-multi-upstream-routes-design.md |
| @@ -156,7 +156,11 @@ The route record gains two optional fields: |
| ``` |
| Defaults: path `/`, status `200`, host header = route host, 2000 ms, 3, |
| -2. The legacy singular `addr` stays; `AddrsOrDefault()` folds it into a |
| +2. **Implementation amendment (2026-08-12, overnight build):** the record's |
| +wire key for this object is `probe`, not `health` — the instances list API |
| +already ships a computed `health` status string (dashboard truth+scale), |
| +and embedding both collided. Go names keep the spec's `Health` vocabulary; |
| +only the JSON tag differs. Flagged for Paul's review. The legacy singular `addr` stays; `AddrsOrDefault()` folds it into a |
| one-element list, so every record written before this change parses and |
| behaves identically (the wire-shape rule). `health` on a single-addr |
| route is legal and useful: it buys dashboard state and a 503 with |