Delivered on the freshly-seeded openstack-caracal-dc-dc repo (seeded from openstack-caracal-ipv4 at 8813efc). Executed under blanket approval; no live cloud mutation -- repo content only. Validation at packaging: repo-lint 0 fail / 1 documented WARN; tests/repo-lint harness 29/29 (was 28/28; one case added); full run-tests-all.sh gauntlet shows pre-existing Windows-session environment gaps (missing jq, tty/exit-code quirks) unrelated to these changes -- repo-lint, the only touched suite, is ALL PASS standalone and in the gauntlet.
openstack-caracal-ipv4 references repaired to openstack-caracal-dc-dcFILES:
.claude/skills/openstack-cloud-ops/SKILL.md (repo name x2, clone path, clone URL, session-bootstrap command).claude/skills/openstack-cloud-ops/references/environment.md (repo web + clone URL)scripts/repo_lint.py (module docstring only, cosmetic)runbooks/ops-update-procedure.md, runbooks/d011-batch3-window-DRAFT.md, runbooks/phase-01-bundle-deploy.md, runbooks/tenant-onboarding-v2-DRAFT.md (hardcoded ~/openstack-caracal-ipv4 jumphost clone paths inside RUN blocks)clientdocs/sweep-receipt.txt (L7 re-record; reviewed clientdocs/ for drift from the tenant-onboarding-v2-DRAFT.md path edit -- no client-facing file mirrors those internal jumphost lines, so no content change needed there, only the pinned hash)WHY: repo was seeded under a new name for the DC-DC (VR1) phase (docs/design-decisions.md D-110); operational path/URL references still pointed at the old openstack-caracal-ipv4 clone, which would 404 clones and break source/cp/BUNDLE= defaults in runbook RUN blocks on first live use.
ASSUMPTION FLAGGED: the jumphost clone directory is assumed to be ~/openstack-caracal-dc-dc (dir-name-equals-repo-name, matching the existing convention for the sibling repo). Not measured this session (no jumphost shell in this Windows working session) -- confirm on first live jumphost session.
LEFT UNCHANGED (correct as historical/lineage record, not stale):
docs/design-decisions.md legacy D-014 entries + the new D-110 lineage note ("seeded from openstack-caracal-ipv4")docs/dc-dc-buildout-design.md lineage note (same commit-seed record)docs/v1-pre-deploy-fixes.md (historical record of the sibling repo's own 2026-05-27 GitBucket-group move)runbooks/phase-08-workload-cluster-acceptance.md:340 (correctly refers to flipping the sibling ipv4 repo private at ITS v1 close, SEC-004)scripts/repo_lint.py STALE-token regex for jesse\.austin/openstack-caracal-ipv4 (an unrelated dead-path class from the pre-05-27 org move, still a live check)NOT actioned (flagged to operator, larger scope): README.md and references/environment.md's body content still describe VR0 DC0/v1 single-DC scope wholesale (title, six-plane table, phase list) -- a content rewrite tied to the VR1 DC-DC design, not a name-swap. Awaiting direction.
REVERT: git checkout HEAD~ -- <file> per file above (dropping clientdocs/sweep-receipt.txt back requires re-running bash scripts/repo-lint.sh --record-clientdocs-sweep afterward against the reverted tree, or L7 will FAIL on the mismatch).
FILE: scripts/repo_lint.py (3 sites: L1 encoding check, L2 stale-token check, L3/L4/L6 runbook check -- all used str(p.relative_to(R)))
WHY: found during session bootstrap -- bash scripts/repo-lint.sh reported [FAIL] L1 docs\design-decisions.md: 239 non-ASCII byte(s) where CLAUDE.md's documented bootstrap expectation is "0 fail (1 legacy WARN)". Root cause: the L1 carve-out compares rel == "docs/design-decisions.md" (forward slash literal) against rel = str(p.relative_to(R)), which yields backslashes on Windows (docs\design-decisions.md). The comparison never matched on this platform, so the documented legacy WARN silently escalated to FAIL. Confirmed this was NOT caused by the DC-DC design-doc commits (diffed: the 200 lines docs/dc-dc-buildout-design.md/2b2fa3f added contain zero non-ASCII bytes; the flagged 239 bytes are the pre-existing legacy D-001..018 content, unchanged today). Fixed by switching all three sites to p.relative_to(R).as_posix(), matching the convention already used elsewhere in the same file (L7/L8 checks). Also fixes cosmetic backslash-vs-forward-slash inconsistency in L2/L3/L4/L6 message output on Windows.
HARNESS: added T3b to tests/repo-lint/run-tests.sh -- plants an em-dash in a fixture's docs/design-decisions.md and asserts rc=2 (WARN) with the carve-out message, not rc=1 (FAIL). This exact carve-out path had no direct test before (only the non-carved-out FAIL case, T2, was covered), which is how the platform bug went unnoticed. 29/29 green after the change.
REVERT: git checkout HEAD~ -- scripts/repo_lint.py tests/repo-lint/run-tests.sh (re-arms the Windows false-FAIL; not recommended for any Windows-based session).