diff --git a/docs/PRODUCTION-MASTER-PLAN.md b/docs/PRODUCTION-MASTER-PLAN.md index 2345510a..43a9a9a0 100644 --- a/docs/PRODUCTION-MASTER-PLAN.md +++ b/docs/PRODUCTION-MASTER-PLAN.md @@ -173,10 +173,11 @@ no-regression; the original hang was load/timing-induced and not separately repr 1. **CASCADE tier in the canonical gate:** uninstall → verify the app is GONE from My Apps / `container-list` / package state (no ghost), data preserved per policy, then reinstall → verify it returns healthy. Catch the immich/grafana ghost + reinstall-stops bugs. - *(Test EXISTS + passes — `bats/cascade-uninstall.bats`, gated on `ARCHY_ALLOW_CASCADE_DESTRUCTIVE`; - `run-gate.sh` still never sets it. DECISION PENDING: run a single cascade pass alongside the 5× - destructive loop vs. a dedicated cascade gate — do NOT fold uninstall/reinstall into all 5 - iterations, it balloons runtime.)* + *(✅ DONE `b7d92107`: `run-gate.sh` now runs ONE cascade pass after the 5× loop when + `ARCHY_GATE_CASCADE=1` (+`ARCHY_ALLOW_DESTRUCTIVE=1`), counted into the tally — opt-in so default + behavior is unchanged, and deliberately NOT folded into all 5 iterations. `cascade-uninstall.bats` + 7/7 on .228. Next: extend cascade coverage beyond the single throwaway app to the multi-container + stacks, e.g. an immich/btcpay cascade variant.)* 2. **Progress-UI assertions:** install AND uninstall must report monotonic, truthful progress (not a stuck full-red bar); a long op must surface a real stage/percentage and a terminal success/failure — no silent hang. (Likely both a backend progress-event fix AND a UI fix.)