|
P8 host guard: && -> || (live false FAIL on voffice1); dc0 MAAS path restored
P8's guard warned only when BOTH terraform.tfstate and opentofu/.terraform were absent. voffice1 has no state file but does have .terraform -- D-128 has it run the INNER tofu roots, and `tofu init` leaves a provider cache -- so neither warn branch fired, P8 ran a real `tofu plan`, and it died on a gitignored tfvar -> exit 1 -> hard FAIL on the very host the Stage-5 runbook designates for preflight. terraform.tfstate is the OWNERSHIP marker; .terraform is only a cache. Both must be present to evaluate. No test caught it because T38 removes the whole opentofu/ directory, so both markers vanish together; the fixture itself sat in the defective state and passed only because the && was wrong. Fixture now creates both markers; new T39 covers voffice1's real shape (cache present, state absent -> WARN). Mutation: reverting || to && turns T39 and only T39 red; script restored sha256-identical. Also: the dc0 MAAS path was down -- the vr1-dc0-region profile points at an SSH forward (127.0.0.1:5241) that died with the 05:48 rack reboot. Restored and proven (plan vr1-dc0 PASS exit 0, was REFUSE exit 3). Not an SEC-010 puncture: an SSH forward originates on the rack. voffice1 pulled to HEAD. Preflight re-run: 12 [FAIL] lines, 11 = the ruled-accepted P5 set compared by identity, 1 = P8. tests/preflight 38 -> 39/39; gauntlet ALL GREEN (96); repo-lint 0 fail / 1 warn. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HvCyrwvYTTcDYnRErfMsNf |
|---|
|
|
| docs/CURRENT-STATE.md |
|---|
| docs/changelog-20260801-stage5-deploy-prep.md 0 → 100644 |
|---|
| scripts/preflight.sh |
|---|
| tests/preflight/run-tests.sh |
|---|