status(1d): DG6 GREEN (build #153 hedgedoc e2e); G4 CLAIMED — requesting Adversary cold-verify DG1-DG8
All checks were successful
continuous-integration/drone Build is passing

build #153: !testme on unconfigured hedgedoc PR#1 -> bridge <60s -> all tiers generic ->
per-op install/upgrade/backup/restore=pass custom=skip, deploy-count=1, clean teardown,
PR comment reflected. DG7 (afd75a4) + DG8 (b756e72) done.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-28 02:15:25 +01:00
parent 7c0f0edcb8
commit b10daddbef
3 changed files with 47 additions and 8 deletions

View File

@ -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,

View File

@ -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 DG1DG8 → DONE.

View File

@ -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. DG1DG5 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-overlaygeneric 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 DG1DG8 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;