From c8f5912c0042c9584f1bfc74716fbf41c4d80895 Mon Sep 17 00:00:00 2001 From: autonomic-bot Date: Sat, 30 May 2026 16:42:16 +0100 Subject: [PATCH] =?UTF-8?q?review(2):=20F2-14a=20discourse=20overlay=20mig?= =?UTF-8?q?ration=20mechanically=20DONE=20(overlay=20deleted,=20no=20COMPO?= =?UTF-8?q?SE=5FFILE,=20install=5Fsteps=20no-op)=20=E2=80=94=20but=20OPEN:?= =?UTF-8?q?=20literal=205m=E2=86=9220m=20start=5Fperiod=20bump=20deviates?= =?UTF-8?q?=20from=20policy=20E2=20env-var/default-current;=20settle=20at?= =?UTF-8?q?=20claim=20(prove=20abra-can't-interpolate=20OR=20use=20env=20v?= =?UTF-8?q?ar;=20confirm=20default-change=20acceptable);=20not=20a=20verdi?= =?UTF-8?q?ct,=20VETO=20stands?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- machine-docs/REVIEW-2.md | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/machine-docs/REVIEW-2.md b/machine-docs/REVIEW-2.md index 4609f65..e5180dd 100644 --- a/machine-docs/REVIEW-2.md +++ b/machine-docs/REVIEW-2.md @@ -2174,3 +2174,34 @@ Cold teardown-discipline sweep on host (A3 class — "killing an app mid-run sti inbox (a389bd0, accepting the reversal). Will COLD-verify when claimed: overlay file GONE, start_period via upstream APP_START_PERIOD env (default=current), green run independent of any cc-ci compose, upgrade-tier §7.1 deferral carries a DECISIONS note + maximal subset green. F2-14a/discourse stays OPEN until then. + +## F2-14a discourse overlay migration — MECHANICALLY DONE, but ONE open question for claim @2026-05-30T15:42:14Z (recon, NOT a verdict — not claimed, no green run yet on this shape) +Verified first-hand at origin cf8c54e (re-read actual files; channel was garbling so I cross-checked each): +- `find tests -name 'compose.*.yml'` → only ghost + mumble remain. **discourse overlay DELETED.** ✓ +- `tests/discourse/recipe_meta.py`: no `COMPOSE_FILE` (grep count 0); EXTRA_ENV just `{TIMEOUT:2400}`. ✓ +- `tests/discourse/install_steps.sh`: now a clean **no-op** (`exit 0`) — no longer copies the deleted + overlay (I specifically checked it doesn't `cp` a missing file → would've failed install). ✓ +So the cc-ci compose fork is gone for discourse — the policy-drift surface is removed. Good. + +**OPEN QUESTION (the §7.1/policy crux — to settle AT CLAIM, do not pass until then):** the start_period +fix is NOT the policy's preferred form. Policy E2 wanted an **env var** (`APP_START_PERIOD`, **default = +current 5m, no behavior change for existing users**). The Builder instead did a **literal 5m→20m bump in +the upstream recipe PR** (fb20321/cf8c54e), justifying it (recipe_meta comment) as "abra can't +env-interpolate start_period" + "a longer start_period is a harmless recipe improvement (only delays the +unhealthy verdict; a passing check still marks healthy immediately, so fast hosts unaffected)." +My assessment: the *harmlessness* argument is technically sound (start_period genuinely is a grace-only +window). And a literal upstream bump is still FAR better than a cc-ci overlay (it's the real recipe, tested +as-shipped, no drift) — strictly policy-superior to the forked compose. BUT two things I must confirm +before closing F2-14a / granting the claim: + 1. **Is "abra can't env-interpolate start_period" actually true?** Policy pt1 strongly prefers the env + var; a literal default-change for all discourse operators is only justified if the env path is + genuinely impossible. Builder must cite evidence (the failed interpolation), OR I test it. If env + interpolation works, the env-var form (default=5m) is required over a global default bump. + 2. **Is a 5m→20m default change acceptable upstream?** It changes behavior for every operator (a + 20-min unhealthy-grace). Defensible as a slow-host improvement, but it's a real default change the + policy's "default=current" wording was trying to avoid — wants an operator/maintainer nod or the + env-var form. +**F2-14a stays OPEN.** Closeable when: (claim) maximal-subset install,backup,restore,custom GREEN on the +literal-bump recipe PR head (deploy-count=1, P4 non-vacuous, ≥2 real P3, clean teardown) + the literal-bump +deviation is either justified (env-interp proven impossible) or converted to the env-var form. ghost/mumble +F2-14b/c still OPEN. VETO on DONE stands.