Confirmed on-site 2026-07-17: srv07's single NIC runs eth0 -> pp02:8,
rear-patched to sw06:4 — the patch that restored its LAN path.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
srv07 verified on-site 2026-07-17: it is the Ansible/OS host mf04
(i3-4360T 2c/4t, 16 GB, 500 GB HDD, Debian 13), renamed to srv07 to match
the sticker. The naming-scheme migration row said mf04 -> srv05 — corrected
with a dated note. pp02: srv07's LAN path was restored 2026-07-17; the new
rear patch of port 8 is ad hoc and still needs recording.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Rack01 layout and cabling changes as physically mounted:
- shf03 moved U21 -> U22; shf04 stays at U21 (pair split).
- New shf05 at front U19 (empty).
- New shelf-mounted switches on shf03: sw07 (4-port 1G unmanaged,
slot 1/left) and sw06 (9-port unmanaged, 8x2.5G + 1x10G, slot 2/right).
- Rewire: sw01:7 -> sw06:1 (repurposed from srv07 uplink),
sw07:1 -> sw06:2, pp01:4 -> sw06:3, sw01:8 mgmt -> pp01:3.
- Drop pp02:8 -> sw01:7 rear patch; srv07 (staging) left without a LAN path.
Regenerated hardware index and rack01 elevation/page.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Add an optional `chassis_u` field for shelf-mounted devices (their height
in U where they stand on the shelf) and render it:
- gen_rack draws each tower chassis_u U's tall, rising above the 1U shelf
line; rail-mounted devices now paint on top so a PDU within a tower's
span (e.g. pdu03 over srv05/06) stays visible
- occupancy table shows each tower's real U-span (e.g. srv01 U37-U46)
- validate_item checks chassis_u is a positive integer; absent chassis_u
renders byte-identically to before
- set chassis_u for srv01-07 (10/8/6/6/7/7/6U); document the field in the
editing guide; regenerate rack01 artifacts
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Rebuild rack01 from the physically remounted hardware:
- Correct stale positions/ports/outlets for pp01, pp02, sw01, pdu01-04
- Model shelves as 1U trays (towers stand above without consuming rack U's);
add shf02 and empty half-depth shf03/shf04
- Add ups01/ups02; reseat nas01/02 and sw02-05; move srv04-07 onto shf02
- Add `wan` hardware kind; add WAN demarcation hosts wan01 (active) and
wan02 (staging)
- Document full live network wiring: srv01-07 -> pp02 -> sw01 (LAN) and
srv01 eth0 -> pp02 -> pp01 -> wan01 (WAN); keep non-active lines
(wan2, working-table patches, sw01 mgmt) in notes only
- Regenerate hardware index + rack01 elevation/network/power artifacts
Also includes the in-progress generator updates (gen_rack.py, gen_overview.py,
Makefile, tests) that the regenerated artifacts depend on.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Camilla's "added all devices to rack" commit committed the regenerated
index/rack artifacts but not the new per-device source files, so CI's
drift check failed (regeneration dropped 9 devices that had no source).
Recreate the source files for sw02-sw05, pp02, srv06-srv07 and nas01-nas02
from the committed artifacts (placement, power feeds, network links, and
cluster:tappaas on the servers; specs left as '?' placeholders, optional
port counts omitted). Regeneration is now drift-clean.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Move the naming-scheme spec from notes/dev/specs/ into docs/guides/ so it
publishes to docs.makerfloss.eu, add it under the Hardware nav, and link it
from the editing guide. Repoint the stale references in CLAUDE.md and the
migration plan to the new path.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Add docs/guides/editing-hardware-docs.md covering the frontmatter schema,
rack/shelf/PDU/power/network fields, the `make docs-index` workflow and
CI drift gate, plus dos and don'ts. Kept under docs/guides/ so the
hardware generators don't parse it as a host file. Linked under the
Hardware nav section so it publishes to docs.makerfloss.eu.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Mark srv02/srv03 as TaPPaaS nodes 2/3 and clear the completed
BIOS/UEFI todo items on srv01.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Camilla's "Changed PDU values" commit added pdu03/pdu04 frontmatter but
left the auto-generated docs/hardware/index.md stale, failing the CI
drift check. Correct both PDUs from the placeholder racks rack33/rack11
to rack01 (where all current hardware lives) and regenerate the hardware
index and rack01 elevation via `make docs-index`.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Shrink global font and tighten spacing so dense slides fit; split the
phasing slide into VPS-edge (1-3) and internal/later (4-5). Remove a
stray </content> line that leaked into the source. Verified all 13
slides fit via per-slide PNG render.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Marp deck for the split-horizon DNS + public exposure design: reuses the
mf01 pattern (TLS at VPS, plain HTTP over wg1 to TaPPaaS Caddy). Two
Mermaid request-flow diagrams, decisions, phasing, isolation, risks.
Publishes to slides.makerfloss.eu on CI.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The service note was moved to notes/coursemanagement.md but the generated
index still listed it, which fails the CI drift check.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>