Files
cc-ci/machine-docs/BACKLOG-prevb.md
autonomic-bot 55d638026f
All checks were successful
continuous-integration/drone/push Build is passing
status(prevb): M1 PASS recorded; starting M2 (full local discourse run → !testme)
2026-06-17 01:06:32 +00:00

1.8 KiB

BACKLOG — phase prevb

SSOT: /srv/cc-ci/cc-ci-plan/plan-phase-prevb-previous-dynamic-base.md.

Build backlog

M1 — implemented + green locally [CLAIMED @2026-06-17T00:40Z, awaiting Adversary]

  • B1. Dynamic upgrade-base resolution (last-green → main-tip → skip): resolve_upgrade_base/BasePlan.
  • B2. tests/<recipe>/previous/ mechanism: discovery, VERSION marker, base-only application, head exclusion (stripped before head redeploy), version-guard + stale-flag. Unit-tested.
  • B3. Discourse migration: compose.ccci.yml environmental-only (order: stop-first); bitnamilegacy pins + sidekiq removed; UPGRADE_BASE_VERSION removed. No previous/ (base deploys clean).
  • B4. Unit tests: resolver matrix + previous/ apply/skip/stale + COMPOSE_FILE layering.
  • B5. Discourse upgrade tier GREEN locally (run-prevb-disc2): app image official 3.5.3 (not bitnamilegacy), no sidekiq (pruned), version 0.8.1+3.5.0→1.0.0+3.5.3, install+upgrade pass. (Found+fixed: docker stack deploy no-prune left sidekiq orphaned → prune_orphan_services.)
  • B6. CLAIM M1 (clean tree + STATUS WHAT/HOW/EXPECTED/WHERE/TEETH).

M2 — proven in real CI + spot-check [M1 PASS @01:03Z dbc7a3b]

  • B7. discourse PR #4 !testme GREEN in real CI; head ran discourse/discourse:3.5.3, migration exercised. (Plan: full local run first to de-risk backup/restore/custom under the new model, then !testme.)
  • [~] B8. Spot-check ≥3 upgrade-tier recipes under dynamic base. cryptpad #5 GREEN, keycloak #3 GREEN (both local, main-tip). Need a 3rd (ghost = ex-.ccci). Reconcile levels/records.
  • B9. CLAIM M2 → ## DONE after fresh Adversary PASS on M1+M2.

Adversary findings

(Adversary-owned section — Builder does not edit below.)