Task #2: commit D-020 vault-metal-only amendment; teach renderer + gates; harnesses green
The RULED-but-uncommitted D-020 amendment (vault METAL-ONLY, 2026-08-05) is now
committed and enforced end-to-end. Discovered mid-task that the overlays are RENDERED
from render/values/*.yaml (D-136) and hand-editing them is forbidden by the render-drift
gate -- which was ALREADY red at the part-2 close (undocumented) from that session's dc0
overlay hand-edit. Resolved by teaching the renderer, not by hand-editing (advisor-reviewed;
the amendment is ruled, so this is OPS implementation).

Vault VIP shape is now the metal PAIR (metal-admin + metal-internal, no provider-public,
no v6) across all four consumers, each with a failing-direction fixture:
- provider-bundle-check.py: per-DC/family-aware vault exception; STILL band- and
  octet-uniqueness-checked (advisor caught the first draft's early `continue` disarming
  octet_owner for .61 -- proven rc=0 draft / rc=1 fixed). T54/T55/T56.
- render-dc-overlays.py: name-keyed metal-only render branch (drops provider + v6);
  overlays re-rendered (diff vs HEAD = exactly the one vault line each). T15b.
- pre-flight-checks.sh CHECK 1: awk name-tracking + vault metal-pair branch. T28b.
- render/values/*.yaml: vault comment (part of rendered bytes).

D-121 status 12/14 -> 14/14 in CURRENT-STATE, with the missing juju-status capture
DECLARED as an owed gap (GA-R1 rule 2) rather than papered over.

Verify: gauntlet ALL GREEN (99); repo-lint 0 fail; provider-bundle-check 58/0,
render-dc-overlays 24/0, render-drift 4/0, pre-flight-checks 32/0.
Body: docs/changelog-20260805-task2-vault-metal-only-commit.md

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Fg98z7QyzwYUs8fsWCn728
1 parent a5cf01a commit 07e2d9d8935a88097628df24a2bb51b3e0556133
@JANeumatrix JANeumatrix authored 20 hours ago
Showing 13 changed files
View
docs/CURRENT-STATE.md
View
docs/changelog-20260805-task2-vault-metal-only-commit.md 0 → 100644
View
docs/design-decisions.md
View
overlays/vr1-dc0-vips.yaml
View
overlays/vr1-dc1-vips.yaml
View
render/values/vr1-dc0-vips.yaml
View
render/values/vr1-dc1-vips.yaml
View
scripts/pre-flight-checks.sh
View
scripts/provider-bundle-check.py
View
scripts/render-dc-overlays.py
View
tests/pre-flight-checks/run-tests.sh
View
tests/provider-bundle-check/run-tests.sh
View
tests/render-dc-overlays/run-tests.sh