From bdef2820baf9456ee65916d1f363a04ac7b4f9d5 Mon Sep 17 00:00:00 2001 From: autonomic-bot Date: Sat, 30 May 2026 17:22:38 +0100 Subject: [PATCH] =?UTF-8?q?review(2):=20POLICY=20RECALIBRATION=20=E2=80=94?= =?UTF-8?q?=20plan-ccci-compose-overlay-policy.md=20supersedes=20env-var-m?= =?UTF-8?q?igration=20premise=20(which=20my=20repro=204b862f6=20proved=20i?= =?UTF-8?q?mpossible).=20Overlays=20are=20a=20justified=20fallback;=20Buil?= =?UTF-8?q?der's=20literal-recipe-PR=20start=5Fperiod=20bumps=20are=20COMP?= =?UTF-8?q?LIANT=20(prefer-upstream=20path)=20=E2=80=94=20overlay=20deleti?= =?UTF-8?q?ons=20NOT=20violations.=20REVERSE=20prior=20lean=20to=20grant?= =?UTF-8?q?=20discourse=20=C2=A77.1=20upgrade-tier=20deferral:=20upgrade-t?= =?UTF-8?q?o-latest=20must=20ALWAYS=20run=20(re-pin=20overlay=20on=200.7.0?= =?UTF-8?q?=20from-version=20now=20blessed).=20mumble:=20drop=20old-base?= =?UTF-8?q?=20host-ports=20copy,=20upgrade-to-latest+voice=20on=20latest.?= =?UTF-8?q?=20WITHDRAW=2014:23=20VETO;=20new=20re-scoped=20VETO=20on=20DON?= =?UTF-8?q?E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- machine-docs/REVIEW-2.md | 50 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/machine-docs/REVIEW-2.md b/machine-docs/REVIEW-2.md index 3a9690e..511e960 100644 --- a/machine-docs/REVIEW-2.md +++ b/machine-docs/REVIEW-2.md @@ -2245,3 +2245,53 @@ defensible as grace-only/slow-host, but a real default change — wants the reci merit + DECISIONS note), AND (claim bar) maximal-subset install,backup,restore,custom GREEN on the literal-bump PR head: deploy-count=1, P4 non-vacuous, ≥2 real P3, clean teardown, + §7.1 upgrade-tier deferral with the removed-image DECISIONS note. ghost F2-14b + mumble F2-14c still OPEN. VETO on DONE stands. + +## POLICY RECALIBRATION @2026-05-30T16:22:07Z — plan-ccci-compose-overlay-policy.md SUPERSEDES my prior VETO premise; I REVERSE the discourse upgrade-tier deferral +Orchestrator shipped `plan-ccci-compose-overlay-policy.md` (+ rewritten plan.md §9), which **explicitly +supersedes** `plan-prefer-env-over-compose-overlay.md` — "its premise (parameterize start_period via env +var) is **wrong**: abra does not support an env value for start_period." My own cold repro this session +(REVIEW-2 4b862f6: `${APP_START_PERIOD:-5m}` → FATA 'Does not match format duration' at `abra app new`) +**confirmed** that premise was impossible. So I withdraw the env-var-migration framing. I own the churn my +prior push (env PR for ghost/discourse) caused; the new policy is the correct one. Restating the new rules +as I will now enforce them: + +**1. ccci overlays are a LEGITIMATE, justified fallback (not drift-to-be-purged).** Each must be: minimal + +single-purpose, header-documents the exact abra/upstream limitation forcing it, Adversary-confirmed not to +weaken a test or mask a defect; and where the fix also belongs upstream, an upstream PR is filed too. +- ghost/discourse `start_period` overlays were a VALID disposition ("KEEP, justified" in the policy). +- The Builder instead chose the policy's **first-ranked "prefer upstream PR"** path: a LITERAL start_period + bump in the recipe-PR (discourse#1 20m, ghost#1 15m), test the PR head directly, delete the cc-ci overlay. + **This is COMPLIANT** — arguably stronger (recipe-as-tested == recipe-as-published, no cc-ci fork). The + overlay DELETIONS (discourse cf8c54e, ghost 0f2cc2d) are therefore NOT violations. ghost recipe_meta + header is honest + cites my repro + start_period is grace-only (no assertion weakened). Good. + +**2. REVERSAL — discourse upgrade-tier deferral is now DISALLOWED.** New policy §1 / plan.md §9: +**upgrade-to-LATEST must ALWAYS run; it may not be dropped because the from-version is awkward.** I had +been leaning to GRANT a §7.1 deferral of the discourse upgrade tier (all prev published bases 404 on +`bitnami/discourse:*`). **I WITHDRAW that.** The policy explicitly blesses a minimal `bitnami→bitnamilegacy` +re-pin overlay on the 0.7.0 from-version (namespace-only, identical version, base+head) *precisely to make +the from-version deployable so upgrade-to-latest can run*. So discourse MUST: deploy 0.7.0 (via the justified +re-pin overlay, + start_period grace if 0.7.0 can't converge in its 5m), **upgrade to latest, run full +assertions on the LATEST**; the 0.7.0 *custom* tests MAY be skipped + RECORDED. Skipping upgrade-to-latest +is NOT acceptable. (UPGRADE_BASE_VERSION harness knob is fine.) + +**3. mumble (F2-14c) disposition (new policy §2):** DROP the cc-ci `compose.host-ports.yml` copy for the OLD +base + its install_steps/COMPOSE_FILE wiring. Deploy mumble 0.2.0 minimally (no host-ports), **skip 0.2.0's +voice/on-host custom tests (recorded)**, upgrade to latest (which ships `compose.host-ports.yml` natively), +run the voice tests **on the latest**. The current version's native overlay is untouched (not a cc-ci fork). + +## VETO (re-scoped to Phase-2 DONE) @2026-05-30T16:22:07Z — REPLACES the 14:23:42Z VETO +The 14:23:42Z "migrate overlays to env-var" VETO is **WITHDRAWN** (its premise was superseded; env-var is +impossible, confirmed). New VETO on DONE per `plan-ccci-compose-overlay-policy.md` §3, cleared only when I +cold-verify ALL of: +- [ ] Every surviving ccci overlay (currently only `mumble/compose.host-ports.yml`) is minimal, + header-justifies its abra/upstream limitation, and masks no defect / weakens no test. +- [ ] **No upgrade-to-latest test dropped.** Specifically: **discourse tests upgrade-to-latest** (0.7.0 + from-version made deployable via justified re-pin overlay; full assertions on latest; 0.7.0 custom + skipped+recorded is OK). **mumble upgrades to latest** + runs voice tests **on latest** (0.2.0 voice + skipped+recorded); the old-base cc-ci host-ports copy removed. +- [ ] ghost + discourse pass full suites (deploy-count=1, ≥2 real P3, P4 non-vacuous, clean teardown). +- [ ] Any upstream recipe-PR (ghost#1/discourse#1 start_period) is cc-ci-green via real `!testme` before + operator merge (recipe-PR rule); overlay (where one survives) stays as the cc-ci fallback. +Not a block on in-progress work — only the DONE flip. ghost F2-14b is mechanically migrated (overlay +deleted, literal recipe-PR bump, honest header) — closes on a green ghost full-suite run incl upgrade-to-latest.