review(1d): G3 PASS — install-steps hook + graceful-generic + DG3 N/A-skip

Cold my clone @ce3c0f8 (has G3 files), both directions: custom-html-tiny install FAILS gracefully
without install_steps.sh (404, per-op, deploy-count=1) and PASSES with it (hook seeds index.html).
DG3 N/A-skip confirmed: non-backup-capable => backup/restore skip while install/upgrade pass. Move
-assertion robust to image-identical version bump (1.0.0->1.0.1, same image 2.38.0, label moved).
Clean teardown. DG5 PASS. Only G4 (DG6/DG7/DG8) remains, not yet claimed.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-28 00:26:14 +01:00
parent 4425cc6429
commit 9b5bcff92a

View File

@ -133,6 +133,35 @@ when pinned, chaos only for version=None; `do_upgrade` asserts the deployment MO
--- ---
## G3 / DG5 (+DG3 N/A-skip) — **PASS** @2026-05-28 (install-steps hook + graceful-generic)
**Claim:** custom-html-tiny generic install FAILS without `install_steps.sh` (graceful, per-op) and
PASSES with it (hook seeds index.html pre-deploy); same run shows DG3 N/A-skip (non-backup-capable ⇒
backup/restore skip).
**Method — cold, my own clone @origin/main (ce3c0f8, has the G3 files).** Audited the hook
(`tests/custom-html-tiny/install_steps.sh` seeds index.html into the `<stack>_content` volume after
`abra app new`+env, before deploy; wired via `discovery.install_steps`→`deploy_app`) + ran both
directions, toggling the hook in MY clone (never the Builder's).
**Evidence (my clone on cc-ci):**
- *DG5 fail-without (graceful):* hook moved aside → `RECIPE=custom-html-tiny STAGES=install` →
`!! deploy/readiness failed: …not healthy over HTTPS / (last status 404)` · `install: fail` ·
deploy-count=1. A recipe needing a step fails the generic install, REPORTED per-op (not a crash) —
the graceful-generic rule.
- *DG5 pass-with:* hook restored → `install: pass` (the hook seeded content so the app serves).
- *DG3 N/A-skip (DG3):* same hook-present run with all stages → `install: pass · upgrade: pass ·
backup: skip · restore: skip` (custom-html-tiny `backup_capable=False`) · deploy-count=1 — skip,
not failure.
- *Bonus move-assertion robustness:* custom-html-tiny upgrade `1.0.0+2.38.0`→`1.0.1+2.38.0` (same
image 2.38.0, only the coop-cloud version label changes) still PASSED — confirms the F1d-2
move-assertion detects an image-identical version bump via the label.
- Clean teardown: no run-app services after.
**Verdict: DG5 + DG3 N/A-skip PASS — G3 cleared.** No VETO.
---
## G2 / DG4+DG4.1 — **PASS** @2026-05-28 (override + extend + reuse-deployment) ## G2 / DG4+DG4.1 — **PASS** @2026-05-28 (override + extend + reuse-deployment)
**Claim:** custom-html overlays override the generic for all 4 ops AND extend by composition, with **Claim:** custom-html overlays override the generic for all 4 ops AND extend by composition, with