docs: resolve four of the eight LABNET-02 contradictions (#0027)

W2 was already covered — the ping trap lives in the textbloecke, and the firewall
exception is conditional. W3 fixed: cfgmon.md listed the runner as running though
it was dismantled on 2026-08-01; row removed and, rather than leaving the open
question, the page now states that the service table is current state while the
sections below are history. W6: addendum practice had proven itself twice but was
undefined, so the AAR template now makes it a rule — append-only and dated, so the
original mistake stays readable. W7: ADR-0009 unified the identities but AGENTS.md
only said 'canonical author identity' without naming it; now spelled out.

W1, W4, W5 and W8 need sorb's decision and are written up with what each one
costs if left alone — W8 (root SSH on the gateway) being the sharpest.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Thore Cimbal
2026-08-15 12:00:00 +00:00
co-authored by Claude Opus 4.8
parent 6979976992
commit a264d584ee
4 changed files with 90 additions and 5 deletions
@@ -75,3 +75,66 @@ ob damit alle dort genannten Schlüssel abgedeckt sind, gehört zur Auflösung.
**Nächster Schritt:** W1–W8 einzeln durchgehen und je Punkt entweder auflösen (ADR/Doku
nachziehen) oder bewusst verwerfen — die Regel des Issues („dokumentieren, nicht still
auflösen") bleibt dabei gültig.
## Auflösungsstand 2026-08-15 — vier abgearbeitet, vier brauchen eine Entscheidung
Durchgang gemäß der Regel dieses Issues: dokumentiert und referenziert, nicht still aufgelöst.
### Erledigt
**W2 — Bootstrap-Routen / Ping-Falle.** Teil (b) ist **bereits dokumentiert**: die Ping-Falle
steht als Textbaustein in [`docs/wiki/admin/textbloecke.md`](../wiki/admin/textbloecke.md)
(„Ping auf 10.58.73.17 schlägt IMMER fehl … das ist kein Fehler"), Erreichbarkeit wird über
HTTPS geprüft. Teil (a) — Firewall-Ausnahme für einen künftigen Truststore-Neuaufbau — ist
**bedingt und tritt erst ein, wenn er gebraucht wird**; die ADR-Pflicht dafür steht in AGENTS.md
und muss hier nicht vorweggenommen werden. → geschlossen.
**W3 — `cfgmon.md` widersprach sich selbst.** Die Dienste-Tabelle listete `runner |
gitea/act_runner:0.6.1` als laufend, obwohl er am 2026-08-01 mit dem CI-Umzug zurückgebaut
wurde (belegt: `thread-net-git`-README und die Compose enthalten ihn nicht mehr). Zeile
entfernt, Hinweis auf den Rückbau ergänzt, `Stand` auf 2026-08-15 gezogen. Zugleich die
Bedeutungsfrage beantwortet, statt sie offen zu lassen: **Die Dienste-Tabelle ist Ist-Zustand
und wird nachgeführt; die Abschnitte darunter sind Historie und bleiben stehen.** Das steht
jetzt in der Kopfzeile der Seite. → geschlossen.
**W6 — AAR-Nachträge waren nirgends definiert.** Die Praxis hat sich mehrfach bewährt und wurde
zuletzt erneut genutzt (Wiki.js-AAR). Statt sie zu verbieten, ist sie jetzt Regel in
[`docs/aar/template.md`](../aar/template.md): **append-only**, datiert, mit Verweis von der
korrigierten Stelle auf den Nachtrag — der ursprüngliche Stand bleibt lesbar, sonst verschwindet
genau der Irrtum, aus dem man lernen wollte. Ab ~drei Nachträgen gehört das Thema in ein
Folge-AAR. Befunde-Tabellen dürfen ohne Nachtrag um Issue-Referenzen ergänzt werden. → geschlossen.
**W7 — Commit-Autorschaft.** Rückwirkend durch **ADR-0009** gelöst (251 Commits, Identitäten
vereinheitlicht), und die gelebte Praxis ist seither einheitlich. Es fehlte aber genau das, was
W7 verlangte: die **benannte** Regel. AGENTS.md sagte nur „kanonische Autor-Identität", ohne sie
zu nennen. Jetzt konkret: Autor `Thore Cimbal <cfx@riot.8shield.net>` plus Trailer
`Co-Authored-By: <Modell> <noreply@anthropic.com>`; Ausnahme `turn-secret-rotation`-Bot.
→ geschlossen.
### Brauchen eine Entscheidung von sorb
**W1 — ADR-0004 vs. vier Split-DNS-Zonen.** Nachgeprüft: ADR-0004 sagt weiterhin *„Split-DNS nur
`~lab` → 10.58.73.1"*, real sind es vier Zonen. ⚠️ **ADRs sind nach Annahme eingefroren** — der
As-built-Stand lässt sich also nicht einfach hineinschreiben; nötig wäre ein **ablösender ADR**
(oder der Rückbau auf `~lab`). Die im Issue benannte Brisanz besteht unverändert:
`~axion1337.de` über den Lab-Resolver betrifft auch `rohana.axion1337.de` — die **Flux-Quelle**.
Löst der Lab-DNS die Zone anders auf als öffentlich, ändert sich unbemerkt der Pfad zum Mirror.
**W4 — Schließung von #16 deckte drei von fünf Punkten.** Still mitgeschlossen: Punkt 4
(Repo-Zuhause für `lab.conf`/Drop-in/Root-CA) und Punkt 5 (Schlüsselrotation). Entweder sorb
bestätigt die Schließung ausdrücklich für alle fünf (dann ist die Secrets-Regel für diesen Fall
bewusst ausgesetzt → **ADR-Pflicht für die Ausnahme**), oder 4+5 werden reaktiviert. Der
Token-Teil hat mit **#0015** teilweise ein Zuhause; ob der WG-Private-Key davon abgedeckt ist,
gehört zur Antwort.
**W5 — Secrets-Regel kennt den Bootstrap-Fall nicht.** Strukturell, nicht böswillig: auf einem
headless Host gab es keinen anderen Übergabekanal. Zu entscheiden: **Bootstrap-Klausel** in die
Regel (erlaubt, aber Exposure gilt ⇒ Rotationspflicht + festhalten wo) **oder** ein Verfahren
(sorb legt per SSH selbst ab, die Session referenziert nur den Pfad). Solange die Regel den Fall
nicht kennt, wird sie beim nächsten Bootstrap wieder gebrochen — eine Regel, die man nur durch
Verstoß erfüllen kann, ist keine.
**W8 — UDM-SSH.** Root-Shell auf dem zentralen Gateway, vermutlich noch aktiv, nirgends
dokumentiert. Vom Mac nicht prüfbar. Entweder deaktivieren oder bewusst belassen und als Bestand
dokumentieren — analog zur docker-Gruppen-Entscheidung (ADR-0008). **Von den vier offenen Punkten
der sicherheitsrelevanteste.**