woodstar runbook: D5 PDS rollout executed — fan-out carries the pds host; two platform catches filed
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LMx3RXuQFZM3yGe2BBhZBH
1 file changed,
+17
−6
docs/superpowers/plans/2026-08-16-woodstar-cutover-runbook.md+17 −6
diff --git a/docs/superpowers/plans/2026-08-16-woodstar-cutover-runbook.md b/docs/superpowers/plans/2026-08-16-woodstar-cutover-runbook.md| index cfb4fa573..cc0a1cf98 100644 |
| --- a/docs/superpowers/plans/2026-08-16-woodstar-cutover-runbook.md |
| +++ b/docs/superpowers/plans/2026-08-16-woodstar-cutover-runbook.md |
| @@ -383,12 +383,23 @@ the delegation CNAME.) |
| ## D5 — Post-cutover (spec §9 + the #77 ruling) |
| - [ ] Promote the W0 sha to stable after the 72 h supply-chain bake. |
| -- [ ] **PDS prod rollout (woodstar's own project, on CARLOS):** app |
| - `woodstar-atbridge` + `pds.woodstar.app` exact route via the door; |
| - a woodstar PR adding the relay fan-out `-atbridge-upstream` (`/at/*` |
| - leg) and moving wildcard atproto-did apbridge→atbridge; |
| - `atbridge.db` into litestream + `atbridge.seed` into the backup set. |
| - Wildcard DNS already covers the pds hostname. |
| +- [x] **PDS prod rollout — EXECUTED 2026-08-17 late evening** (the |
| + woodstar session): sha `3445d51` on all seven apps; woodstar PRs #80 |
| + (`-atbridge-upstream`, `/at/*` leg, atproto-did repoint with an |
| + apbridge fallback) and #81 (the pds host rides the fan-out leg |
| + wholesale — **no exact pds route needed**, the wildcard catch-all + |
| + relay carries it; an exact route can still take over later). |
| + atbridge = tenant unit on 8457 (real AT Proto network); litestream + |
| + seed backup in place; verified through the edge incl. firehose WS |
| + and the WebKit console check. TWO CATCHES for the platform: (a) the |
| + console-created instance materializes the managed socket shape |
| + (hibernate + socket, no addr/unit) and box-side remove+add is |
| + reconciled away while console `route -unit` refuses console-declared |
| + instances — the catch-2 config-delivery gap again, now for |
| + unit-backed tenant instances; (b) `carlos deploy`'s health watch |
| + reads a root-404 service (media & friends answer 404 at `/` by |
| + design) as "the app is failing" — needs a health path or a |
| + status-range option. |
| - [ ] Repoint status publishing: `carlos ship -kind static` + promote |
| replaces `scripts/status-publish.sh`. |
| - [ ] Note woodstar `infra/` tofu drift; retire the old prod instance |