# STATUS — phase `regall` (full all-recipe regression after prevb) SSOT: `/srv/cc-ci/cc-ci-plan/plan-phase-regall-recipe-regression.md`. State files: this + BACKLOG-regall.md, REVIEW-regall.md (Adversary), JOURNAL-regall.md. DECISIONS.md shared. ## Phase Started 2026-06-17. Gates: **M1** (sweep complete + classified), **M2** (regressions fixed + re-verified). ## Current status ## DONE — M1+M2 PASS (no VETO) All 21 recipes GREEN. No prevb regressions found. A-regall-2 CLOSED (recipe bug in 3.0.1+v2.0.0, NOT prevb). **M1 CLAIMED** — sweep complete, all 21 recipes classified (2026-06-17T04:45Z) **M2 CLAIMED** — no prevb-caused regressions; cc-ci code unchanged from prevb (2026-06-17T04:45Z) **Batch 1 COMPLETE (all L5 GREEN):** - matrix-synapse PR#4 → Drone 725 → L5 [install=p,upgrade=p,backup=p,functional=p,lint=p] ✓ - drone PR#1 → Drone 726 → L5 [install=p,upgrade=p,backup=skip,functional=p,lint=p] ✓ - gitea PR#1 → Drone 727 → L5 [install=p,upgrade=p,backup=p,functional=p,lint=p] ✓ **Batch 2 COMPLETE (all L5 GREEN):** - lasuite-meet PR#7 → Drone 730 → L5 [all pass] ✓ - n8n PR#6 → Drone 731 → L5 [all pass] ✓ - mumble PR#1 → Drone 732 → L5 [all pass] ✓ **Batch 3 COMPLETE (all L5 GREEN):** - custom-html PR#5 → Drone 737 → L5 [all pass] ✓ - mailu PR#4 → Drone 738 → L5 [upgrade=p, backup=skip] ✓ - mattermost-lts PR#2 → Drone 739 → L5 [all pass] ✓ **Batch 4 COMPLETE (all L5 GREEN):** - lasuite-docs PR#6 → Drone 743 → L5 [all pass] ✓ - ghost PR#6 → Drone 744 → L5 [all pass] ✓ - immich PR#3 → Drone 745 → L5 [all pass] ✓ **Batch 5 COMPLETE:** - lasuite-drive PR#3 → Drone 749 → L5 [all pass] ✓ - uptime-kuma PR#4 → Drone 748 → L5 [all pass] ✓ - plausible PR#4 → Drone 750+754 → L2 [restore=FAIL] — ROOT CAUSE DIAGNOSED (see below) **Batch 6 COMPLETE (all L5 GREEN):** - custom-html-tiny PR#8 → Drone 752 → L5 [upgrade=pass, backup=skip] ✓ - bluesky-pds PR#3 → Drone 753 → L5 [upgrade=skip, backup=pass] ✓ **Plausible ROOT CAUSE ANALYSIS: A-regall-2 — NOT prevb-caused; pre-existing recipe bug** Root cause: `backupbot.backup.path: "/postgres.dump.gz"` in plausible 3.0.1+v2.0.0 compose.yml places the pg_dump file in the container's WRITABLE LAYER (ephemeral, not captured by restic). Backupbot snapshots only Docker VOLUMES (backed by `/var/lib/docker/volumes/`). The dump file is never included in the restic snapshot. Restore post-hook: `gzip -d /postgres.dump.gz` → "No such file or directory". The physical data-directory restoration (the only actual restic content) cannot make postgres see ci_marker without a restart, and backupbot does not restart postgres. Baseline run 658 TESTED PR#3 (3.1.0+v2.0.0) which FIXES this: `backupbot.backup.volumes.db-data.path: "postgres.dump.gz"` places the dump INSIDE the db-data VOLUME, captured by restic. Run 658 passed because the HEAD backup mechanism was correct, not because 3.0.1+v2.0.0 works. Trivial PR#4 (no-op upgrade, same 3.0.1+v2.0.0 base AND head) exposes the broken mechanism: - Backup: pg_dump → /postgres.dump.gz in container writable layer (NOT in restic snapshot) - Restore: restic restores data volume (data dir restored), post-hook fails (/postgres.dump.gz missing) - Result: ci_marker missing from postgres in-memory state → test_restore_returns_state FAILS Classification: PRE-EXISTING RECIPE BUG in 3.0.1+v2.0.0 (broken backupbot.backup.path label). NOT a prevb regression. The cc-ci runner did not change backup/restore logic. Fix: Re-opened plausible PR#3 (3.1.0+v2.0.0, the genuine upgrade with fixed backup mechanism) and triggered !testme (comment 14651, 2026-06-17T04:30Z). Expected result: backup_restore=pass. **Plausible PR#3 re-triggered → IN FLIGHT (2026-06-17T04:30Z):** - PR#3 `upgrade-3.1.0+v2.0.0` head=d77adba4698b, re-opened, !testme comment 14651 ### Pre-prevb baseline (from run records, Jun 12-15 with OLD code) | recipe | baseline level | upgrade rung | baseline run | |---|---|---|---| | bluesky-pds | 5 | skip (EXPECTED_NA) | 556 | | cryptpad | 5 | pass | 554 | | custom-html | 5 | pass | 541 | | custom-html-tiny | 5 | pass | 510 | | discourse | 4 | pass (prevb M2 fix → run 717) | 717 | | drone | 5 | pass | 692 | | ghost | 5 | pass | 657 | | gitea | 5 | pass | 695 | | hedgedoc | 5 | pass | 608 | | immich | 5 | pass | 522 | | keycloak | 5 | pass | 553 | | lasuite-docs | 5 | pass | 523 | | lasuite-drive | 5 | pass | 524 | | lasuite-meet | 5 | pass | 525 | | mailu | 5 | pass | 526 | | matrix-synapse | 5 | pass | 656 | | mattermost-lts | 5 | pass | 529 | | mumble | 5 | pass | 558 | | n8n | 5 | pass | 528 | | plausible | 5 | pass | 658 | | uptime-kuma | 5 | pass | 531 | Note: discourse baseline = run 717 (prevb M2, post-prevb code, Jun 17). All others Jun 12-15 (pre-prevb code). ### Post-prevb spot-checks (done during prevb M2, count toward regall) These were run on Jun 17 with post-prevb code and confirmed GREEN: - **cryptpad** PR#5: upgrade=pass (kind=ref main-tip; data-continuity pass) — Adversary-confirmed - **keycloak** PR#3: upgrade=pass (kind=ref main-tip via origin/master fallback; realm-continuity pass) - **hedgedoc** PR#1: upgrade=pass (kind=ref main-tip) ### Regall sweep status | recipe | open PR | post-prevb run | result | delta vs baseline | status | |---|---|---|---|---|---| | bluesky-pds | #3 | 753 | L5 upgrade=skip backup=pass | none | ✓ GREEN | | cryptpad | #5 | prevb spot-check | pass | none | ✓ GREEN | | custom-html | #5,#2 | 737 | L5 all pass | none | ✓ GREEN | | custom-html-tiny | #8 (created) | 752 | L5 upgrade=pass backup=skip | none | ✓ GREEN | | discourse | #4 | 717 (prevb M2) | level 4 (lint=f recipe nit) | none (prevb fix) | ✓ GREEN | | drone | #1 | 726 | L5 all pass | none | ✓ GREEN | | ghost | #6 | 744 | L5 all pass | none | ✓ GREEN | | gitea | #1 | 727 | L5 all pass | none | ✓ GREEN | | hedgedoc | #1 | prevb spot-check | pass | none | ✓ GREEN | | immich | #3 | 745 | L5 all pass | none | ✓ GREEN | | keycloak | #3 | prevb spot-check | pass | none | ✓ GREEN | | lasuite-docs | #6 | 743 | L5 all pass | none | ✓ GREEN | | lasuite-drive | #3 | 749 | L5 all pass | none | ✓ GREEN | | lasuite-meet | #7 | 730 | L5 all pass | none | ✓ GREEN | | mailu | #4,#3 | 738 | L5 upgrade=p | none | ✓ GREEN | | matrix-synapse | #4 | 725 | L5 all pass | none | ✓ GREEN | | mattermost-lts | #2,#1 | 739 | L5 all pass | none | ✓ GREEN | | mumble | #1 | 732 | L5 all pass | none | ✓ GREEN | | n8n | #6,#5 | 731 | L5 all pass | none | ✓ GREEN | | plausible | #3 (d77adba4) | 758 | L5 all pass | none (recipe bug exposed, NOT prevb) | ✓ GREEN | | uptime-kuma | #4 | 748 | L5 all pass | none | ✓ GREEN | ## Blocked (none)