docs(agents): name the condition the alarm rule depends on, and the real check set

Agreed with sorb. Two additions, both inside the project section - sections 1-5 are
the neckbeard baseline and stay byte-identical, which is also why the repo map's
scripts row was left alone rather than corrected in place.

"The red pipeline IS the alarm" now carries what it silently assumed: that green is
the normal state. The counter-example is named with its date, because the abstract
rule did not stop this from happening - the job stood red for nine days and that is
precisely why nobody looked.

A Prüfungen section lists the eight scripts the repo actually has against the two
the frozen map names, says when each runs, and states the acknowledgement rule:
known findings are acknowledged, not tolerated, every entry carries an expiry,
"permanent" is only expressible as an ADR reference, and leaving a check red is a
finding in itself rather than a neutral state.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Thore Cimbal
2026-08-19 12:00:00 +00:00
co-authored by Claude Opus 5
parent 6538b21650
commit 50bbd69d5f
2 changed files with 24 additions and 1 deletions
+23
View File
@@ -133,6 +133,9 @@ Ohne Lab-Zugang: dieses Repo ist als Push-Mirror unter
- Einzige bewusste Ausnahme: der TURN-Rotations-CronJob schreibt nach
Gitea; der tägliche CI-Job `canonize_rotation` holt es zurück. Seine
rote Pipeline **ist** der Alarm — es gibt bewusst keinen zweiten Meldeweg.
Das trägt nur, solange **Grün der Normalzustand** ist: Am 2026-08-18 stand
dieser Job neun Tage rot, und genau deshalb fiel es niemandem auf. Siehe
Prüfungen unten.
- **Wiki:** Das frühere Test-Wiki (Docusaurus-Lesefläche auf `wiki.lab`) wurde als
ungenügend bewertet und auf Basis von **Wiki.js in den Stack integriert**
([ADR-0014](docs/adr/0014-wikijs-loest-docusaurus-ab.md), `wiki.axion1337.chat`).
@@ -153,6 +156,26 @@ Ohne Lab-Zugang: dieses Repo ist als Push-Mirror unter
dauerhaften Ausnahme von einer Regel** — eine Ausnahme nur zu
dokumentieren statt sie zu entscheiden, ist ein Fehler.
### Prüfungen
Die Repo-Map oben nennt nur `validate.py` und `gen_status.py` — sie ist
neckbeard-Baseline und bleibt byte-treu. Tatsächlich stehen in `scripts/`:
| Skript | Wann | Wofür |
|---|---|---|
| `validate.py`, `gen_status.py` | jeder Push | Artefakte gegen `schema.yaml`, STATUS aktuell |
| `pruefe_prosa.py`, `pruefe_upstream_drift.py` | jeder Push | tote Verweise/SHA-Zitate; Baseline unverändert |
| `gruppenpruefung.py`, `stillstandspruefung.py` | täglich (Zeitplan) | Verbund- und Stillstandsbefunde über die Gruppe |
| `spiegel_issues.py` | manuell (sorb) | `docs/issues/` → GitLab, Standard Dry-Run |
| `quittungen.py` | von beiden Prüfungen genutzt | Bekanntes quittieren |
**Bekanntes wird quittiert, nicht toleriert** (`scripts/befund_quittungen.tsv`,
[ADR-0020](docs/adr/0020-bekannte-befunde-quittieren.md)): Jede Zeile trägt eine
Frist, „dauerhaft" geht nur als ADR-Verweis, und wirkungslose Zeilen melden sich.
Quittiertes bleibt in der Ausgabe sichtbar. Eine Prüfung, die dauerhaft rot steht,
meldet nichts mehr — deshalb ist Rot-Stehenlassen kein neutraler Zustand, sondern
ein Befund für sich.
### Secrets & Credentials
- Token-/Secret-Werte **niemals anzeigen, loggen oder in Dateien
@@ -128,7 +128,7 @@ Spalte `pruefung`.
| Alle drei Prüfungen laufen grün durch | ⏳ canonize ✅; die beiden management-Prüfungen erst nach dem Nachzug unten |
| Ein *neu* eingeführter Befund färbt nachweislich rot | ✅ am Beispiel gezeigt, nicht abgeleitet |
| Quittiertes bleibt sichtbar, mit Grund und Datum | ✅ |
| Bedingung in AGENTS.md ergänzen | **offen — braucht sorbs Zustimmung** |
| Bedingung in AGENTS.md ergänzen | ✅ mit sorbs Zustimmung 2026-08-19; im Projektabschnitt, die neckbeard-Baseline bleibt byte-treu |
| Prozessentscheidung als ADR festgehalten | ✅ [ADR-0020](../adr/0020-bekannte-befunde-quittieren.md) |
Der letzte Punkt bleibt bewusst liegen: Änderungen an AGENTS.md werden nur mit