docs: publish hardware naming scheme and link it from the editing guide
All checks were successful
Build docs site / build (push) Successful in 48s
Build slides / build (push) Successful in 1m11s

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>
This commit is contained in:
sjat 2026-06-29 21:40:09 +02:00
parent 95399640d1
commit 9d7b4684c4
5 changed files with 10 additions and 7 deletions

View file

@ -18,7 +18,7 @@ From `notes/todo/2026-04-14-todo.md`:
- **Decisions**: Lightweight markdown decision logs - **Decisions**: Lightweight markdown decision logs
- **License**: FLOSS by default - **License**: FLOSS by default
- **Filenames**: ASCII lowercase, kebab-case (`like-this.md`), English regardless of content language. Dated docs use an ISO prefix joined with a hyphen: `YYYY-MM-DD-label.md`. Hostnames are the exception — `docs/hardware/*.md` must equal the host's `hostname` (enforced by `scripts/gen_overview.py`). - **Filenames**: ASCII lowercase, kebab-case (`like-this.md`), English regardless of content language. Dated docs use an ISO prefix joined with a hyphen: `YYYY-MM-DD-label.md`. Hostnames are the exception — `docs/hardware/*.md` must equal the host's `hostname` (enforced by `scripts/gen_overview.py`).
- **Hardware identifiers**: `<kind-abbrev><NN>` — 2-digit, unique per kind (`srv`, `sw`, `pp`, `pdu`, `ups`, `shf`). Grouping (`cluster:`) lives in frontmatter, not the name. Full scheme: `notes/dev/specs/2026-06-24-hardware-naming-scheme.md`. - **Hardware identifiers**: `<kind-abbrev><NN>` — 2-digit, unique per kind (`srv`, `sw`, `pp`, `pdu`, `ups`, `shf`). Grouping (`cluster:`) lives in frontmatter, not the name. Full scheme: `docs/guides/hardware-naming-scheme.md`.
## Repository Structure ## Repository Structure

View file

@ -19,8 +19,9 @@ graph — is **generated** from that frontmatter.
## Quick start: add a device ## Quick start: add a device
1. Pick a hostname following the scheme `<kind-abbrev><NN>` — a 2-digit number, 1. Pick a hostname following the [naming scheme](hardware-naming-scheme.md):
unique per kind (`srv`, `sw`, `pp`, `pdu`, `ups`, `shf`, …). Example: `srv06`. `<kind-abbrev><NN>` — a 2-digit number, unique per kind (`srv`, `sw`, `pp`,
`pdu`, `ups`, `shf`, …). Example: `srv06`.
2. Create `docs/hardware/<hostname>.md`. **The filename stem must equal the 2. Create `docs/hardware/<hostname>.md`. **The filename stem must equal the
`hostname` field** — `srv06.md` must contain `hostname: srv06`. `hostname` field** — `srv06.md` must contain `hostname: srv06`.
3. Fill in the frontmatter (see the reference below). Write any free-text under 3. Fill in the frontmatter (see the reference below). Write any free-text under
@ -175,7 +176,8 @@ check fails and nothing is published.
!!! success "Do" !!! success "Do"
- **Do** run `make docs-index` and commit the regenerated files with your change. - **Do** run `make docs-index` and commit the regenerated files with your change.
- **Do** keep the filename equal to the `hostname`. - **Do** keep the filename equal to the `hostname`.
- **Do** use the `<kind-abbrev><NN>` naming scheme, 2 digits, unique per kind. - **Do** use the [`<kind-abbrev><NN>` naming scheme](hardware-naming-scheme.md),
2 digits, unique per kind.
- **Do** mark unknown values as provisional placeholders and ask before - **Do** mark unknown values as provisional placeholders and ask before
inventing rack/power/network numbers. inventing rack/power/network numbers.
- **Do** preview locally with `make docs-serve` before pushing. - **Do** preview locally with `make docs-serve` before pushing.

View file

@ -60,6 +60,7 @@ nav:
- Hardware: - Hardware:
- hardware/index.md - hardware/index.md
- Editing the hardware docs: guides/editing-hardware-docs.md - Editing the hardware docs: guides/editing-hardware-docs.md
- Naming scheme: guides/hardware-naming-scheme.md
- Services: - Services:
- services/index.md - services/index.md
- Infrastructure: - Infrastructure:

View file

@ -8,7 +8,7 @@
**Tech Stack:** Markdown frontmatter, Python generators (`gen_overview.py`, `gen_rack.py`) run via `make`, MkDocs Material, pytest. **Tech Stack:** Markdown frontmatter, Python generators (`gen_overview.py`, `gen_rack.py`) run via `make`, MkDocs Material, pytest.
**Spec:** `notes/dev/specs/2026-06-24-hardware-naming-scheme.md`. **Spec:** `docs/guides/hardware-naming-scheme.md`.
## Global Constraints ## Global Constraints
@ -149,7 +149,7 @@ to:
In `CLAUDE.md`, immediately after the existing `- **Filenames**: …` bullet, add this new bullet: In `CLAUDE.md`, immediately after the existing `- **Filenames**: …` bullet, add this new bullet:
```markdown ```markdown
- **Hardware identifiers**: `<kind-abbrev><NN>` — 2-digit, unique per kind (`srv`, `sw`, `pp`, `pdu`, `ups`, `shf`). Grouping (`cluster:`) lives in frontmatter, not the name. Full scheme: `notes/dev/specs/2026-06-24-hardware-naming-scheme.md`. - **Hardware identifiers**: `<kind-abbrev><NN>` — 2-digit, unique per kind (`srv`, `sw`, `pp`, `pdu`, `ups`, `shf`). Grouping (`cluster:`) lives in frontmatter, not the name. Full scheme: `docs/guides/hardware-naming-scheme.md`.
``` ```
- [ ] **Step 3: Fix the stale hardware hint in `README.md`** - [ ] **Step 3: Fix the stale hardware hint in `README.md`**
@ -193,7 +193,7 @@ git commit -m "docs: record hardware naming scheme, refresh stale mf0x hints"
## Self-Review ## Self-Review
**Spec coverage (`2026-06-24-hardware-naming-scheme.md`):** **Spec coverage (`docs/guides/hardware-naming-scheme.md`):**
- Format `<kind-abbrev><NN>`, `srv` for compute — Task 1 (rename to `srv01``srv05`). ✔ - Format `<kind-abbrev><NN>`, `srv` for compute — Task 1 (rename to `srv01``srv05`). ✔
- Stable identifier + `cluster:` in frontmatter — Task 1 (rename + add `cluster: tappaas` to the one known node). ✔ - Stable identifier + `cluster:` in frontmatter — Task 1 (rename + add `cluster: tappaas` to the one known node). ✔
- `srv01` = `tappaas`; others provisional/omitted — Task 1 Step 3 + Global Constraints. ✔ - `srv01` = `tappaas`; others provisional/omitted — Task 1 Step 3 + Global Constraints. ✔