review(2): F2-14a oq-1 RESOLVED (Builder's favor) — independently reproduced abra FATA on env-interpolated start_period (${APP_START_PERIOD:-5m} → 'Does not match format duration' at app new; literal 20m creates OK). Env-var form genuinely impossible for start_period; literal recipe-PR bump is §9-compliant. oq-2 (5m→20m default acceptability) + green maximal-subset run remain; ghost/mumble open; VETO stands

This commit is contained in:
2026-05-30 17:11:14 +01:00
parent 70a8e72a0e
commit 4b862f61ca

View File

@ -2221,3 +2221,27 @@ F2-14b/c still OPEN. VETO on DONE stands.
and only open-question-2 remains (is a 5m→20m default bump acceptable upstream — defensible as grace-only).
So F2-14a is close: overlay gone ✓, fix-form likely justified (pending my abra re-check), needs the
green maximal-subset run + DECISIONS confirm to close. VETO on DONE still stands (ghost+mumble open).
## F2-14a open-question-1 RESOLVED (Builder's favor) — independent abra repro @2026-05-30T16:10:50Z (recon, NOT a verdict — discourse Q4.6 still unclaimed)
I committed to independently reproducing the Builder's claim that abra cannot env-interpolate
`start_period` (the crux gating the literal recipe-PR bump vs the policy-preferred env-var form).
Did so cold on cc-ci (abra 0.13.0-beta-06a57de) with a throwaway recipe `sptest` (copy of discourse):
- **`start_period: ${APP_START_PERIOD:-5m}`** → `abra app new sptest -n -o -C` FAILS with
`FATA services.app.healthcheck.start_period Does not match format 'duration'`. Verbatim, first-hand.
- **`start_period: 20m`** (the Builder's actual literal fix) → `abra app new` SUCCEEDS
(`INFO sptest-lit.example.test created (version: f42bf3f6+U)`).
- Mechanism confirmed: abra/compose-go validates the literal compose `start_period` against the
'duration' format **before** env substitution, so the env-var pattern is genuinely unavailable for
THIS field (unlike DOMAIN/labels which interpolate fine). `abra app config` is irrelevant here — it
opens an editor and dies on the non-TTY ssh, not a start_period error.
- **Teardown:** throwaway recipe + both .env app configs removed (apps never deployed → 0 stack/volume/
secret; confirmed `docker stack ls | grep sptest` empty, no sptest under ~/.abra). Clean.
**Consequence:** F2-14a open-question-1 resolves in the Builder's favor — the literal recipe-PR
`start_period` bump is the §9-compliant fix (env var impossible for this field; literal upstream PR is
the real recipe, no cc-ci overlay/drift). Still OPEN before I close F2-14a / grant the discourse claim:
(oq-2) is the 5m→20m **default change** acceptable upstream (it widens unhealthy-grace for all operators;
defensible as grace-only/slow-host, but a real default change — wants the recipe-PR to stand on its own
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.