carlos / platform Public

spec: record wire key is probe (shipped console health key owns the name)

Paul Campbell ecffb5cc8135bfb3b0e71f20228adcc7b3958991 parent 6691954
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