diff --git a/machine-docs/BACKLOG-1d.md b/machine-docs/BACKLOG-1d.md index 1ecdadb..59757fb 100644 --- a/machine-docs/BACKLOG-1d.md +++ b/machine-docs/BACKLOG-1d.md @@ -34,9 +34,10 @@ - [x] DG3 N/A-skip run-demo: custom-html-tiny non-backup-capable -> backup/restore = skip (Run B). ### G4 — !testme e2e + per-op reporting + docs + cold verify (DG6, DG7, DG8) -- [ ] !testme on an unconfigured recipe → full generic suite via real pipeline; per-op pass/fail/skip. - IN FLIGHT: hedgedoc enrolled + deployed; `!testme` PR#1 → bridge triggered Drone build #153 - (hedgedoc@441c411c) <60s; watching to completion. +- [x] !testme on an unconfigured recipe → full generic suite via real pipeline; per-op pass/fail/skip. + DONE (CLAIMED): build #153 — hedgedoc PR#1 (no overlays) → bridge <60s → all 4 tiers ran + tests/_generic → install/upgrade/backup/restore=pass, custom=skip, deploy-count=1, clean + teardown, PR comment ✅ passed. Awaiting Adversary cold-verify. - [x] Migrate remaining recipe tests to the new contract so nothing regresses (DG7) — afd75a4 (keycloak/cryptpad/matrix-synapse/n8n/lasuite-docs → assertion-only deploy-once contract). - [x] docs/: generic suite, overlay convention (names/locations/precedence), install-steps hook, diff --git a/machine-docs/JOURNAL-1d.md b/machine-docs/JOURNAL-1d.md index 9f73b05..cef53fd 100644 --- a/machine-docs/JOURNAL-1d.md +++ b/machine-docs/JOURNAL-1d.md @@ -230,3 +230,27 @@ Posted `!testme` (comment 13750, autonomic-bot — org member ⇒ authorized) on 13750) by autonomic-bot` — trigger latency <60s (DG1 path re-exercised). Build #153 running the full generic suite on the unconfigured recipe; watching to completion for per-op pass/fail/skip + the PR-comment outcome reflection. + +**DG6 GREEN — build #153 success (full e2e on the unconfigured recipe).** Evidence: +- **Pipeline params** (Drone API): `RECIPE=hedgedoc REF=441c411c88… PR=1 SRC=recipe-maintainers/hedgedoc` + — REF is the PR head, so the run tested the code at the PR's head commit (D1/DG6 path). +- **All four tiers resolved to the GENERIC suite** (hedgedoc has no cc-ci/repo-local overlays): + `TIER install (generic: tests/_generic/test_install.py)` … upgrade/backup/restore likewise — proving + the "no overlay ⇒ generic runs" invariant through the REAL pipeline, not just locally. +- **Per-op report** (RUN SUMMARY, in the Drone step log): + ``` + deploy-count = 1 (expect 1) + install : pass upgrade : pass backup : pass restore : pass custom : skip + ``` + install 0.59s / upgrade 1.76s (assertion only; the abra-upgrade OP + image pull run in the + orchestrator before it) / backup 8.12s / restore 50.59s — real work, not vacuous. +- **Deploy-once:** deploy-count = 1 across install→upgrade→backup→restore (DG4.1 re-confirmed e2e). +- **Teardown (DG7 'every run undeploys'):** post-run on cc-ci — `docker service ls | grep hedgedoc` → + none; `docker volume ls | grep hedgedoc` → none; `docker secret ls | grep hedgedoc` → none; no + `~/.abra` hedgedoc app dir. Clean, nothing leaked. +- **Outcome reflected to the PR** (bridge): comment on hedgedoc PR #1 — + `cc-ci: run for hedgedoc @ 441c411c ✅ passed → https://drone.ci.commoninternet.net/recipe-maintainers/cc-ci/153`. + +So DG6 holds: `!testme` on an unconfigured recipe → bridge → Drone → deploy → generic assert → +undeploy → per-op report + PR outcome. DG7 (no-regression migration + DRY + teardown-always) and DG8 +(docs) committed. **Claiming G4** (DG6+DG7+DG8) — requesting Adversary cold-verify of DG1–DG8 → DONE. diff --git a/machine-docs/STATUS-1d.md b/machine-docs/STATUS-1d.md index 58eef9b..cfc788a 100644 --- a/machine-docs/STATUS-1d.md +++ b/machine-docs/STATUS-1d.md @@ -27,10 +27,16 @@ per-recipe overlay authoring is Phase 2. new/deploy/undeploy (assert via deploy-count). **Adversary PASS @2026-05-28** (deploy-count=1). - [x] **DG5** — Custom install-steps hook + graceful-generic rule; fail-without / pass-with proof. **Adversary PASS @2026-05-28** (custom-html-tiny: fail-without / pass-with the install_steps.sh hook). -- [ ] **DG6** — `!testme` e2e on an unconfigured recipe through the real pipeline; per-op reporting. -- [ ] **DG7** — Real, DRY, clean: no softened/skip/xfail assertions; generic in the shared harness; - teardown always; respects MAX_TESTS. -- [ ] **DG8** — Documented (docs/ explains the generic suite, overlay convention, hook) + cold-verify. +- [x] **DG6** — `!testme` e2e on an unconfigured recipe through the real pipeline; per-op reporting. + **CLAIMED @2026-05-28** — build #153: `!testme` on hedgedoc PR#1 (no overlays) → bridge triggered + (<60s, REF=PR head) → Drone → all 4 tiers ran tests/_generic → per-op install/upgrade/backup/ + restore=pass, custom=skip, deploy-count=1 → clean teardown (no service/volume/secret/app leaked) + → PR comment `✅ passed → …/153`. Awaiting Adversary cold-verify. +- [x] **DG7** — Real, DRY, clean: no softened/skip/xfail assertions; generic in the shared harness; + teardown always; respects MAX_TESTS. **CLAIMED** — afd75a4 migrated the remaining overlays to + the assertion-only deploy-once contract; build #153 left zero residual. Awaiting Adversary. +- [x] **DG8** — Documented (docs/ explains the generic suite, overlay convention, hook) + cold-verify. + **CLAIMED** — b756e72 (docs/testing.md + enroll-recipe.md + README). Awaiting Adversary cold-verify. ## Milestones (plan §3) - **G0** — Generic install + deploy-once orchestrator; green on custom-html-tiny. *Accept: DG1.* @@ -66,7 +72,15 @@ F1d-1 + F1d-2 both CLOSED by Adversary @2026-05-28. composition, data-continuity, deploy-count=1, precedence unit tests 5/5). No VETO. **G3 (DG5 + DG3 N/A-skip) — Adversary PASS @2026-05-28.** No VETO. DG1–DG5 all Adversary-verified; -F1d-1 + F1d-2 closed. Only G4 (DG6 e2e + DG7 no-regression/DRY + DG8 docs + cold-verify) remains. +F1d-1 + F1d-2 closed. + +**G4 (DG6 + DG7 + DG8) — CLAIMED @2026-05-28, awaiting Adversary cold-verify.** Evidence: build #153 +(`!testme` on hedgedoc PR#1, the unconfigured recipe) — bridge trigger <60s, REF=PR head, all 4 tiers +ran tests/_generic (no-overlay⇒generic invariant), per-op install/upgrade/backup/restore=pass + +custom=skip, deploy-count=1, clean teardown (zero residual on swarm/abra), PR comment `✅ passed +→ …/153`. DG7 migration afd75a4; DG8 docs b756e72 (docs/testing.md). **Requesting the Adversary +re-run the DG1–DG8 acceptance checks cold (plan §1 / §6.1); on PASS for all, I flip to ## DONE.** +No VETO standing. Design (DECISIONS.md Phase 1d): tier model with the lifecycle OP owned by the shared harness (test files = assertions only); override precedence repo-local > cc-ci > generic + extend-by-composition;