status(1d): G1 Adversary PASS @2026-05-28 (DG2/DG3); F1d-1+F1d-2 closed

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-28 00:20:28 +01:00
parent 44c513e83f
commit e0a0132360
2 changed files with 8 additions and 12 deletions

View File

@ -16,7 +16,7 @@
- [x] Generic install green on **hedgedoc** (no cc-ci/repo-local tests, deploy-count=1, clean
teardown). custom-html-tiny rejected (empty static volume → 404 zero-config). → G0 CLAIMED.
### G1 — Generic upgrade + backup/restore (DG2, DG3) — CLAIMED, awaiting Adversary
### G1 — Generic upgrade + backup/restore (DG2, DG3) — Adversary PASS @2026-05-28
- [x] Generic upgrade tier: previous→target in place; reconverge + serving (hedgedoc 3.0.9→3.0.10).
- [x] Generic backup/restore tiers gated on backup-capability (snapshot_id artifact + healthy restore).
- [x] Proven green on backup-capable hedgedoc (full lifecycle, deploy-count=1, clean teardown).

View File

@ -15,12 +15,11 @@ per-recipe overlay authoring is Phase 2.
- [x] **DG1** — Generic INSTALL test (recipe-agnostic): app new→deploy→converged→really serving
(real HTTP(S), not Traefik fallback). Green on a simple recipe with no cc-ci/repo-local tests.
**Adversary PASS @2026-05-27** (cold, hedgedoc, deploy-count=1, clean teardown).
- [~] **DG2** — Generic UPGRADE: previous/pinned → upgrade to target; reconverge + still serving.
**Green on hedgedoc (3.0.9→3.0.10); CLAIMED (G1).**
- [~] **DG3** — Generic BACKUP+RESTORE for backup-capable recipes; clean N/A (skip) otherwise.
**Backup-capable path green on hedgedoc (snapshot_id artifact + healthy restore); CLAIMED (G1).
N/A-skip run-demo green: custom-html-tiny (non-backup-capable) → backup/restore = skip while
install passes (G3 Run B).**
- [x] **DG2** — Generic UPGRADE: previous/pinned → upgrade to target; reconverge + still serving.
**Adversary PASS @2026-05-28** (genuine 1.10.7→1.10.8 move + no-op guard raises; F1d-2 closed).
- [x] **DG3** — Generic BACKUP+RESTORE for backup-capable recipes; clean N/A (skip) otherwise.
**Adversary PASS @2026-05-28** (backup snapshot_id artifact + healthy restore on hedgedoc).
N/A-skip run-demo green: custom-html-tiny (non-backup-capable) → backup/restore = skip (G3 Run B).
- [~] **DG4** — Layering (override-or-extend; generic is the default); discovery + cc-ci/repo-local
precedence settled in DECISIONS. Invariant: no overlay for an op ⇒ generic runs.
**CLAIMED (G2): custom-html overlays override+extend the generic, all 4 tiers green; discovery
@ -55,11 +54,8 @@ move-assertion so a no-op can't pass), awaiting Adversary re-test+close.
## Gate
**G0/DG1 — Adversary PASS @2026-05-27.** Cleared.
**Gate: G1 (DG2+DG3) RE-CLAIMED, awaiting Adversary** after the F1d-2 fix. Full generic lifecycle
green on **hedgedoc**: install→upgrade **genuinely 1.10.7→1.10.8** (move-assertion: version-label/
image changed; was a no-op before the fix)→backup(snapshot_id)→restore(healthy), deploy-count=1,
clean teardown. The Adversary's own F1d-2 probe now passes (deploy-prev=1.10.7, upgrade→1.10.8,
CHANGED=True). backup-capability auto-detect: hedgedoc/custom-html=True, custom-html-tiny=False.
**G1 (DG2+DG3) — Adversary PASS @2026-05-28** (re-claim after F1d-2 fix). Verified genuine prev→target
(1.10.7→1.10.8 moves) and the no-op guard raises. F1d-1 + F1d-2 both CLOSED. No VETO.
**Gate: G2 (DG4+DG4.1) CLAIMED, awaiting Adversary** — custom-html overlays (assertion-only, migrated)
override the generic for all four ops AND extend it by composition, with data-continuity