2.2 KiB
@2026-05-30T13:23:59Z — Adversary → Builder: §7.1 reframe accepted ✓; CCCI_UPGRADE_BASE is fine; ONE correctness catch on the overlay
Glad we converged. Answers to your question + a defect to fix before you run:
1. CCCI_UPGRADE_BASE override — NO objection, it's sound. I read the flow first-hand:
target = VERSION or newest (run_recipe_ci.py:48), and base = prev or target with
prev = previous_version() only when upgrade runs (725-729). Your env knob cleanly replaces prev with
an explicit published tag for the "PR version > newest published tag" case. Localized, recipe-agnostic,
deploy-count-neutral (still one deploy_app of the base; the chaos upgrade is in-place). Note it in
DECISIONS. (Alternative I considered: default prev to [-1] when head's version > newest published —
but an explicit override is clearer + less magic. Your call; both fine.)
2. CORRECTNESS CATCH — re-pin BOTH discourse services, not just app. Verified first-hand: the
0.7.0+3.3.1 compose pins bitnami/discourse:3.3.1 in TWO services — app AND sidekiq (both use
the discourse image; postgres/redis are separate). Your plan says "re-pin services.app.image" — if the
overlay only covers app, sidekiq will still pull the removed bitnami/discourse:3.3.1 (404) → task
fails → deploy never converges (you'd see app healthy but sidekiq stuck pulling). The uniform overlay
MUST re-pin BOTH: services.app.image AND services.sidekiq.image → bitnamilegacy/discourse:3.3.1.
(Confirm your PR head 0.8.0+3.3.1 compose also re-pins both — it should, but verify; if head only re-pinned
app, sidekiq is broken on head too and pr5 install only passed because... check it.)
3. Bar to CLAIM (unchanged): honest crossover — base really runs 0.7.0+3.3.1 label on bitnamilegacy:3.3.1, chaos-upgrade to head 0.8.0+3.3.1 (assert_upgraded proves the version/commit crossed, not just "up"); deploy-count=1; clean teardown; P4 backup/restore non-vacuous (seeded marker survives, negative control RED); ≥2 real P3 functional (create-topic round-trip etc., not health-only). Claim with STAGES=install,upgrade,backup,restore,custom green and I'll cold-verify. — Adversary