Files
management/docs/wiki/admin/stillstandspruefung.md
Thore CimbalandClaude Fable 5 92b448fe30 feat: slice 3 - wiki, sources and AARs in their neckbeard homes
Gate 4, slice 3: verfahren/, hosts/, vision/ and shared/ moved via git
mv - six AARs to docs/aar/ (four harvested by the 2026-08-09 retro,
two open), procedures and host knowledge to docs/wiki/ (admin,
deployment, architecture, new area vision), the retro protocol and the
commit mapping table to docs/sources/ (protokolle/, migration/). New:
the wiki index linking every page, and the mirror-topology page
carrying the why-two-places reasoning verbatim from the old CLAUDE.md
(F-013 preserved). All moved-path references retargeted; the link
checker drove the sweep to zero.

pruefe_prosa.py added (pattern C+D): SHA citations resolve via repo,
mapping table, optional component clones or a curated exemption list
(documented dead Gitea-force-push commits, a vendor-repo tag, an
Authentik uid that is hex but no git SHA, the external neckbeard
reference); wiki task prose without an issue reference errors, with a
visible pragma for deliberate checklists; the dead-tracker denylist
now covers every mirrored repo's retired Gitea tracker (F-005) - two
links re-verified against live GitLab titles and retargeted, five
defused into honest historical citations.

Verified: validate 0/0, gen_status --check current, drift 0. Demo on
the pre-migration state fires 6 findings (3 orphaned SHAs, 3 task
blocks); on the current tree exactly the 3 F-004 task blocks remain -
they turn green in slice 4 when the issues exist, which is why
pruefe_prosa joins CI only then.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-11 12:00:00 +00:00

3.3 KiB

type, area, related
type area related
wiki-page admin

Stillstandsprüfung

Sucht Dinge, die leise aufgehört haben zu funktionieren. Beschlossen in der Retro 2026-08-09.

Warum es sie gibt

In neun Augusttagen sind sechs Fehler aufgefallen, die alle dasselbe Merkmal hatten: Sie sahen erfolgreich aus, ohne es zu sein — eine grüne Pipeline, die nie ein Artefakt hochlud; ein veröffentlichtes npm-Paket ohne Inhalt; ein Blueprint, der bei jedem Lauf verworfen wurde, während Flux grün meldete.

Keiner davon wurde durch eine Überwachung gefunden. Vier durch Zufall beim Suchen nach etwas anderem. Genau diese Lücke schließt das Skript.

Was geprüft wird

Jede Prüfung bildet einen real passierten Fall ab. Nichts steht hier auf Vorrat.

Prüfung Der Fall dahinter
Repo ohne aktiven Push-Mirror game-operating wurde angelegt und nie gespiegelt — auf Gitea existierte es nicht
Mirror-Drift MIRROR-01 (management#28): fällt der Mirror aus, liefert Flux still den letzten Stand weiter
Pipeline mit null Jobs ThreadNet-Web 203/204, threadnet-call 187 — rot, ohne dass etwas kaputt war
Erfolgreicher Job ohne Artefakt build_embedded lief seit jeher grün und lud nichts hoch
npm-Paket zu klein 0.19.2-threadnet.6: 12,5 KB statt 12,8 MB, ohne dist/
Authentik-Blueprint ≠ successful matrix-recovery-flow wurde tagelang bei jedem Lauf verworfen

Die Projektliste wird zur Laufzeit aus der Gruppe gelesen, nicht im Code gepflegt — eine Liste im Quelltext wäre genau die Stelle, an der ein neues Repo jahrelang durchrutscht. (Beim ersten Lauf kamen so zwei Projekte zum Vorschein, die niemand auf dem Schirm hatte.)

Wie sie läuft

Geplanter CI-Job im management-Repo, zusätzlich von Hand über Run pipeline auslösbar. Befunde färben die Pipeline rot — das ist bei uns die Alarmanlage, nicht ein zusätzlicher Meldeweg (siehe gitops/CLAUDE.md zur TURN-Rotation).

Lokal:

export GITLAB_TOKEN=$(cat ~/.config/gitlab-lab/token)
export GITEA_TOKEN=$(cat ~/.config/gitea-rohana/push-token)   # fuer private Spiegel
export LAB_CA=.../ci/lab-ca-chain.crt
python3 scripts/stillstandspruefung.py

Zwei Regeln für diese Prüfung

Ein „kann nicht geprüft werden" ist ein Befund, kein Übersprungen. Real aufgefallen am 2026-08-09: game-operating wurde auf Gitea privat gestellt, und die Prüfung übersprang den Mirror-Abgleich klaglos. Ein Repo, das gespiegelt wird, dessen Gegenseite aber unlesbar ist, ist ungeprüft — und das darf nicht wie „in Ordnung" aussehen.

Ein Befund wird zum Issue, nicht weggeklickt. Sonst wird die Prüfung zu dem, was sie sucht: etwas, das läuft, ohne dass jemand hinsieht.

⚠️ Fehlt ein Zugang, bricht sie ab — sie überspringt sich nicht still. Eine Prüfung, die sich bei fehlendem Token selbst deaktiviert, ist wertlos: Sie meldet dann jahrelang nichts, und niemand merkt den Unterschied zu „alles in Ordnung". Ausnahme sind die klar benannten optionalen Teile (Authentik), die ihr Fehlen im Ergebnis ausweisen.

Erweitern

Neue Prüfungen kommen dazu, wenn wieder etwas still ausgefallen ist — mit einem Docstring, der den konkreten Fall nennt. Prüfungen auf Verdacht erzeugen Rauschen und kosten die Glaubwürdigkeit, die diese hier braucht.