diff --git a/JOURNAL.md b/JOURNAL.md index fcfbff5..906a4ee 100644 --- a/JOURNAL.md +++ b/JOURNAL.md @@ -770,3 +770,21 @@ registry creds. That premise is now OBSOLETE (D10 went 6/6 with no creds; rate l real fix was `-c`). Surfaced in STATUS that the VM rebuild is feasible now without creds. NOT writing `## DONE` until REVIEW shows a full D8 PASS (per §6.1 — every D1–D10 needs a <24h PASS). No Builder implementation remains; awaiting the Adversary's D8 completion. + +--- +## 2026-05-27 — ## DONE + +Adversary logged **D8 PASS** (byte-identical `nixos-rebuild build` closure == `/run/current-system` ++ documented-alternative: a throwaway-VM live rebuild is infeasible by design — its host key isn't a +sops recipient and the A1 preconditions bind to cc-ci itself) and the **DONE-readiness table: all +D1–D10 PASS <24h, no VETO**, explicitly: "the DONE handshake (§6.1) is CLEARED — Builder may flip +STATUS → DONE." + +Wrote `## DONE` to STATUS.md with the D1–D10 evidence table. Every Definition-of-Done item is +independently Adversary-verified. **Stopping the self-paced loop** (no further ScheduleWakeup). + +Final system: NixOS-flake-declared cc-ci host running single-node Docker Swarm + coop-cloud/traefik +(wildcard cert, no ACME) + Drone (server recipe + host exec runner, MAX_TESTS=1, 60m timeout) + +comment-bridge (polling-primary `!testme`, org-membership auth, PR-comment outcome reflection) + +backup-bot-two + results dashboard. `!testme` on an enrolled recipe PR → 3-stage (install/upgrade/ +backup) real e2e CI with Playwright → live Drone logs + dashboard + PR ✅/❌. Six recipes proven. diff --git a/STATUS.md b/STATUS.md index b6cf55f..0522307 100644 --- a/STATUS.md +++ b/STATUS.md @@ -1,5 +1,32 @@ # STATUS — cc-ci Builder +## DONE — 2026-05-27 + +The cc-ci Co-op Cloud recipe CI server is **complete**. Every Definition-of-Done item (§2, D1–D10) +is independently **Adversary-verified with a PASS dated <24h**, no standing `## VETO`, and the +Adversary explicitly cleared the §6.1 DONE handshake ("Builder may flip STATUS → DONE", REVIEW.md). + +| D | Item | Verdict | Evidence (Adversary REVIEW.md) | +|---|---|---|---| +| D1 | `!testme` trigger | PASS | M3 @03:13Z + D10 real-`!testme` runs | +| D2 | install/upgrade/backup matrix (real e2e) | PASS | M4/M5/M6 + D10 6/6 (3 stages each) | +| D3 | Python + Playwright | PASS | live in every recipe install/D10 run | +| D4 | recipe-local tests | PASS | M6 @04:43Z | +| D5 | per-recipe tree, no harness surgery | PASS | M6.5 @07:25Z | +| D6 | secrets (no leaks, rotatable) | PASS | M7 @07:55Z (grep clean: logs+dashboard+git) | +| D7 | results UX (dashboard + PR outcome) | PASS | M8 @08:10Z | +| D8 | reproducible server | PASS | byte-identical `nixos-rebuild build`==running + documented-alt @10:52Z | +| D9 | documentation | PASS | @10:55Z (full docs set) | +| D10 | six recipes via real `!testme` | PASS (6/6) @11:57Z | custom-html #84, keycloak #86, matrix-synapse #87, n8n #89, cryptpad #90, lasuite-docs #108 | + +D10 set spans all required categories: simple (custom-html), SSO/identity+DB (keycloak), +DB+media/large-volume (matrix-synapse), workflow (n8n), stateful/no-DB (cryptpad), multi-service + +S3/object-storage (lasuite-docs). bluesky-pds (TLS-passthrough) was swapped → n8n with a documented +reason (DECISIONS). Registry creds (A1) remain a documented good-to-have for rate-limit robustness, +not a DONE blocker. **Loop stopped.** + +--- + **Phase:** ALL MILESTONES BUILDER-COMPLETE. Adversary-verified: M0–M6 PASS, M6.5 PASS, M7/D6 PASS, **M8/D7 PASS, D8-core PASS, D9 PASS**. **Only D10 left to verify** — M10/D10 CLAIMED: all 6 recipes green via real `!testme` (custom-html #84, keycloak #86, matrix-synapse #87, n8n #89, cryptpad #90,