# Changelog -- 2026-07-23 -- Stage 4 open: discovery + D-133 carve ruling

Session scope: open Stage 4 (Phase 3, MAAS enlist/commission/deploy per DC) on
branch `dc-dc-stage4-phase3-maas-deploy` off post-merge `main`. Bootstrap ran
clean (pull up-to-date at bff71d4; repo-lint 0 fail / 1 legacy warn; ledger-scan
reconciled -- 12 open SEC rows, D next-free 133). No cloud mutation this session
yet; everything below is read-only measurement + repo records.

## Item 1 -- Stage 4 OPENED: precondition + discovery (read-only), captured

- Branch `dc-dc-stage4-phase3-maas-deploy` created off `main` (bff71d4).
- Runbook Step 0 precondition PASS: both DC rack controllers enrolled
  (vvr1-dc0 `7chphy`, vvr1-dc1 `nmpcq4`).
- Step 2 discovery complete for BOTH DCs, all read-only, captured to
  `docs/audit/stage4-discovery-20260723.txt`: 9 nodes per DC, ALL Ready,
  power=virsh; dc0 = boot fabric-4 / MACs 52:54:00:*, dc1 = fabric-142 /
  pinned 52:54:01:d1:*; zone/pool `default` everywhere (no zone/pool
  convention exists -- fabric + MAC prefix is the grouping signal).
  Also captured: one dc0 node's full physical NIC list (6 flat per-plane
  NICs), `default_distro_series=noble`, and the synced boot-resources list
  (noble ONLY -- no jammy images on the region).
- Runbook-vs-reality deltas recorded in CURRENT-STATE (the runbook predates
  Stage 3's execution): Step 3 commissioning already satisfied; carve comes
  BEFORE deploy per the runbook's own Ready-state sequencing note; gap #6
  (pod-discovery landing status) is moot -- the pod path was refuted 2026-07-20.
- **Revert:** `git branch -D dc-dc-stage4-phase3-maas-deploy` (after moving off
  it); delete `docs/audit/stage4-discovery-20260723.txt`; revert the
  CURRENT-STATE Stage-4 bullet. No live state was touched.

## Item 2 -- D-133 ADOPTED: flat per-NIC carve (VR1); hardware-faithful NIC topology next deployment

- New entry `docs/design-decisions.md` D-133 [ARCH], Status ADOPTED 2026-07-23,
  operator utterance quoted verbatim per GA-R5 ("Fine, keep it flat but on the
  next deployment we need to build the VMs with exact hardware duplicated
  networking so we can work out any bonding/trunking kinks.").
- Part 1: VR1 DC nodes carve every plane FLAT on its dedicated NIC; no
  VLAN-103 stack in VR1 (supersedes the D-052-era Pattern A shape for VR1 DC
  nodes only; VR0 untouched).
- Part 2 (pinned to next deployment): node VMs duplicate target hardware's
  exact NIC topology (bond members, trunks) -- composes with D-132.
- Affected-surfaces list recorded IN the entry (buildout-design VID-103 text,
  workflow Stage 4 row, phase3 runbook Step 5 tree, lib-net vr1-dc0 arm's
  inherited METAL_INTERNAL_VID) -- queued as this stage's DOCFIX/delivery work,
  not silently edited.
- CURRENT-STATE section 1 updated in the same commit (GA-R1 C1): Stage 4 OPEN
  bullet with discovery facts + the open decision points (deploy OS series,
  octet plan, mirror gap #5, tag shape).
- **Revert:** remove the D-133 block from design-decisions.md and the Stage-4
  bullet from CURRENT-STATE.md (single commit; `git revert <sha>`).
