# BACKLOG — cc-ci mirror+enroll phase ## Build backlog ### Phase 0 — Pre-flight ✓ - [x] Confirm abra recipe fetch for lasuite-drive, mailu, mumble (all exit 0 — already fetched) - [x] Snapshot POLL_REPOS + Gitea mirror status (STATUS-mirror.md + Adversary cold-probe in REVIEW-mirror.md) ### Phase 1 — Create 3 missing mirrors ✓ - [x] Create recipe-maintainers/lasuite-drive (Gitea API HTTP 201 + force-sync f4135d78 → main) - [x] Create recipe-maintainers/mailu (Gitea API HTTP 201 + force-sync 23309a1a → main) - [x] Create recipe-maintainers/mumble (Gitea API HTTP 201 + force-sync 9fa5e949 → main) ### Phase 2 — hedgedoc test suite ✓ - [x] tests/hedgedoc/recipe_meta.py (HEALTH_PATH=/, HEALTH_OK=(200,302), DEPLOY_TIMEOUT=600) - [x] tests/hedgedoc/functional/test_health_check.py (GET / → 200 or 302) - [x] tests/hedgedoc/functional/test_branding.py (hedgedoc/codimd/hackmd markers in HTML) - [x] tests/hedgedoc/PARITY.md (scope documentation + deferred items) - [x] Verify !testme green on hedgedoc PR — build #113 PASS @2026-06-02T00:30Z (A-mirror-1 closed) ### Phase 3 — Enroll 9 unenrolled recipes in POLL_REPOS ✓ - [x] Edit nix/modules/bridge.nix POLL_REPOS to add bluesky-pds,discourse,ghost,immich,lasuite-drive,mailu,mattermost-lts,mumble,plausible - [x] Confirm each has tests// in repo (all 9 already present — Adversary-confirmed) - [x] Commit + push cc-ci repo ### Phase 4 — Deploy (OPERATOR GATE) - [ ] CLAIM gate — exact command + confirm /root/cc-ci at committed head + Phases 1-3 complete - [ ] Wait for operator to run `nixos-rebuild switch --flake .#cc-ci` on cc-ci ### Phase 5 — Verify !testme triggerability (post-deploy) - [ ] Post !testme on 2-3 newly-enrolled recipe PRs; confirm Drone build starts within 60s - [ ] Spot-check bridge poll log shows all 19 repos (not 11) ### Phase 6 — Resume per-recipe debugging (post-enrollment) - [ ] matrix-synapse upgrade re-run failure - [ ] ghost backup PRs (#1 reopened, #2 upgrade) - [ ] discourse bitnamilegacy re-pin - [ ] immich/mattermost/plausible backup fixes ## Adversary findings ### ~~A-mirror-1 [adversary] hedgedoc !testme not verified post-authoring~~ CLOSED ✓ **Filed:** 2026-06-02T00:40Z | **Closed:** 2026-06-02T00:50Z **Finding:** New hedgedoc tests committed without post-authoring !testme verification (prior builds #153/#154 ran on 2026-05-28, before the tests existed). **Resolution:** Builder posted !testme on hedgedoc PR#1 at 2026-06-02T00:30:30Z. Bridge triggered build #113 (hedgedoc@441c411c). Adversary cold-verified: - Build #113 status: SUCCESS (all stages pass) - `test_hedgedoc_has_branding (cc-ci): pass` ✓ - `test_hedgedoc_root_serves (cc-ci): pass` ✓ - `clean_teardown: true`, `no_secret_leak: true` ✓ - Commit status `cc-ci/testme state=success target=.../113` ✓ - [x] Resolved (Adversary-verified @2026-06-02T00:50Z)