diff --git a/docs/CURRENT-STATE.md b/docs/CURRENT-STATE.md index 8f8ae0c..190fb58 100644 --- a/docs/CURRENT-STATE.md +++ b/docs/CURRENT-STATE.md @@ -1232,6 +1232,23 @@ radius measured zero; 23 destructive ops, never batched); (B) add an explicit per-app `base:` to all 56 and re-run incrementally (fixes re-runnability, real Roosevelt delta, but a 56-line mid-deploy change to a ruled surface); (C) (A) now and LOG (B) for a later step. + **^ RULED 2026-07-31 (GA-R5) -- OPTION D, BOTH HALVES, IN THAT ORDER. Operator answer, + exact utterance: "I want to do option D: Fix the bundle by defining the base 22.04 on each + app and then clearing the modeling and deploying from a clear model. It is very cheap to + clear and redeploy."** The three options as presented were (A) clear-and-redeploy only, + (B) fix the bundle and continue incrementally, (C) (A) now with (B) logged; the operator + composed a fourth: **fix the bundle AND clear the model, then deploy from empty.** It is + strictly stronger than any option offered -- (B)'s durable fix lands, and the deploy still + runs the path that is MEASURED to work (a clean deploy onto an empty model, which is exactly + what run 2a did before it hit the missing resource file), rather than juju's incremental + re-run path, which is the one carrying the defect. The operator's own rationale is recorded + because it settles the cost question: clearing is cheap -- nothing is provisioned. + **This is OPS under GA-R3 (a bundle defect fix; doubt resolves DOWN, no D-number).** D-101, + R2 and every ruled surface are untouched: an explicit `base:` per application states what + `default-base: ubuntu@22.04/stable` at `bundle.yaml:85` already means, it does not change + it. **The re-runnability invariant it establishes is skill material at stage close: a bundle + whose applications rely solely on `default-base` is deployable exactly ONCE, and a + production bundle that cannot survive a partial failure is a trap.** **RUNBOOK DEFECT FOUND IN PASSING, LOGGED NOT FIXED (DOCFIX material):** `runbooks/dc-dc-phase4-juju-bundle-per-dc.md:553-557` gives the dc0 deploy WITHOUT `overlays/vr1-dc0-machines.yaml`, while the dc1 block three lines below includes its diff --git a/docs/changelog-20260731-prefer-ipv6-research.md b/docs/changelog-20260731-prefer-ipv6-research.md index 547a4fa..70f1b3a 100644 --- a/docs/changelog-20260731-prefer-ipv6-research.md +++ b/docs/changelog-20260731-prefer-ipv6-research.md @@ -346,3 +346,28 @@ **Revert.** The repo change is the capture and the CURRENT-STATE entry. The rack-side policy copy is reversed with `rm -rf ~/repo-stage/policies`. The model residue is the subject of the operator recovery decision and is deliberately untouched. + +## Item 11 -- THIRD RULING: option D -- fix the bundle AND clear the model + +**Question as presented.** Recovery from the partial deploy. Options put: (A) clear the +23 definitions and deploy once cleanly from the unchanged bundle, logging the re-run +defect; (B) add an explicit per-app `base:` to all 56 and continue incrementally. + +**Operator answer, exact utterance:** *"I want to do option D: Fix the bundle by defining +the base 22.04 on each app and then clearing the modeling and deploying from a clear +model. It is very cheap to clear and redeploy."* + +**The operator composed a fourth option, and it is strictly stronger than any offered.** +(B)'s durable fix lands, AND the deploy runs the path that is MEASURED to work -- a clean +deploy onto an empty model, which is exactly what run 2a did before it hit the missing +resource file -- rather than juju's incremental re-run path, which is the one carrying +the defect. Their rationale settles the cost question I had left open: clearing is cheap +because nothing is provisioned. + +**Classification.** OPS under GA-R3 -- a bundle defect fix; doubt resolves DOWN, no +D-number. No ruled surface changes: an explicit `base:` per application states what +`default-base: ubuntu@22.04/stable` at `bundle.yaml:85` already means, it does not alter +it. The invariant it establishes -- a bundle whose applications rely solely on +`default-base` is deployable exactly once -- is skill material at stage close. + +**Revert.** A ruling is a record; withdrawing it needs a new GA-R5 exchange.