revert: undo three unauthorised AGENTS.md changes
AGENTS.md states in section 6 that changes to it need sorb's agreement. I made
three today without it, and for two of them cited this repo's own issues as
justification — which is the fallacy: an artefact can require a change, only sorb
can permit it. sorb's call is to take all three back.
The file is byte-identical to the state before my edits (blob 9f98b43), so W5 and
W7 of #0027 are open again; that is recorded there rather than quietly dropped.
Kept the finding that came out of sorb's question, as an observation and not a
task: AGENTS.md was the wrong home for two of the three anyway. It says of itself
to stay short with process detail in WORKFLOW.md, which is equally pinned and has
no project section; process belongs under docs/wiki/admin/, and a standing
exception to a rule needs an ADR — section 6 calls documenting one instead of
deciding it an error, which is precisely what I did.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
cffb507310
commit
fbec894fec
@@ -156,30 +156,14 @@ Ohne Lab-Zugang: dieses Repo ist als Push-Mirror unter
|
||||
Dateipfade (z. B. `~/.config/gitlab-lab/token`) oder maskierte
|
||||
CI-Variablen. Die Trennung ist „Credential vs. Config":
|
||||
nicht-geheime Konfiguration wird normal committet.
|
||||
- **Bootstrap-Ausnahme** (aus #0027/W5): Auf einem Host, auf dem sorb die
|
||||
Datei nicht selbst anlegen kann und kein anderer Übergabekanal
|
||||
existiert, **darf** eine Session ein Credential schreiben — sonst ist
|
||||
die Inbetriebnahme unmöglich, und die Regel wäre nur durch Verstoß
|
||||
erfüllbar. Es gilt dann zwingend: (a) der Wert **ist damit exponiert**,
|
||||
also **rotationspflichtig**, sobald der reguläre Weg steht; (b) im AAR
|
||||
oder Issue wird festgehalten **welches** Credential **wohin**
|
||||
geschrieben wurde (nur Pfad und Zweck, nie der Wert); (c) die Rotation
|
||||
bekommt ein Issue mit Fälligkeit — „später mal" zählt nicht.
|
||||
Die Ausnahme deckt das **Ablegen**, nicht das Anzeigen: auch im
|
||||
Bootstrap wird der Wert nicht in Logs, Chat oder Commits sichtbar.
|
||||
|
||||
### Commit-Konventionen
|
||||
|
||||
- Nachrichten auf Englisch, Conventional-Stil; der Betreff sagt *was*,
|
||||
der Rumpf *warum*.
|
||||
- Autor- **und** Committer-Datum auf 12:00:00 UTC des laufenden Tages.
|
||||
- **Kanonische Identität** (gilt für alle Repos der Gruppe): Autor
|
||||
`Thore Cimbal <cfx@riot.8shield.net>`, dazu ein Trailer
|
||||
`Co-Authored-By: <Modell> <noreply@anthropic.com>` — Agenten-Sessions
|
||||
committen also **nicht** unter eigener Identität, sondern kenntlich als
|
||||
Beitrag. Ausnahme: der `turn-secret-rotation`-Bot committet maschinell,
|
||||
eine Zuschreibung an einen Menschen wäre dort falsch (ADR-0009).
|
||||
- Historien-Rewrites nur mit alt→neu-Zuordnung
|
||||
- Autor- **und** Committer-Datum auf 12:00:00 UTC des laufenden Tages;
|
||||
kanonische Autor-Identität. Historien-Rewrites nur mit
|
||||
alt→neu-Zuordnung
|
||||
([ADR-0009](docs/adr/0009-commit-konventionen-und-historien-anonymisierung.md),
|
||||
Tabelle: [shared/commit-zuordnung-2026-08-07.md](docs/sources/migration/commit-zuordnung-2026-08-07.md)).
|
||||
- ⚠️ Das schützt nur die Git-Historie; Plattform-Zeitstempel (Push,
|
||||
@@ -193,21 +177,3 @@ Ohne Lab-Zugang: dieses Repo ist als Push-Mirror unter
|
||||
validieren (`docker compose config`, YAML-Parse).
|
||||
- Fehlschläge und übersprungene Schritte benennen, nicht glätten —
|
||||
„fertig" heißt verifiziert (deckungsgleich mit §1).
|
||||
|
||||
### AAR-Nachträge (Projektregel)
|
||||
|
||||
Die AAR-Vorlage (`docs/aar/template.md`) ist eine **Framework-Datei und byte-identisch
|
||||
gepinnt** — sie wird nicht projektspezifisch erweitert (`pruefe_upstream_drift.py`).
|
||||
Die hier gewachsene Nachtrag-Praxis steht deshalb an dieser Stelle:
|
||||
|
||||
- **Nachträge sind erlaubt** und haben sich bewährt (Korrektur einer Annahme, spätere
|
||||
Auflösung eines offenen Punktes).
|
||||
- **Anhängen, nie oben nachbessern.** Der ursprüngliche Stand bleibt lesbar — sonst
|
||||
verschwindet genau der Irrtum, aus dem man lernen wollte.
|
||||
- Nachträge werden **datiert überschrieben** und benennen, was sich geändert hat.
|
||||
Widerspricht ein Nachtrag einer früheren Aussage, dort einen Verweis setzen
|
||||
(„→ korrigiert im Nachtrag vom …"), statt sie umzuschreiben.
|
||||
- Befunde-Tabellen dürfen ohne Nachtrag um Issue-Referenzen ergänzt werden (reine
|
||||
Vervollständigung).
|
||||
- Wächst ein AAR über ~drei Nachträge hinaus, gehört das Thema in ein **Folge-AAR**
|
||||
statt in den vierten Anhang.
|
||||
|
||||
@@ -330,3 +330,40 @@ Die Regel dieses Issues („dokumentieren und referenzieren, nicht still auflös
|
||||
eingehalten: jeder Punkt hat eine benannte Auflösung mit Fundstelle, zwei davon in eigenen
|
||||
ADRs. Offen bleibt allein die **Rotation** — nicht als Widerspruch, sondern als datierte
|
||||
Folgearbeit in #0015.
|
||||
|
||||
## Rücknahme 2026-08-15 — W5 und W7 sind wieder offen
|
||||
|
||||
**Die oben als erledigt gemeldeten Auflösungen von W7 und W5 wurden zurückgebaut.** Beide
|
||||
bestanden darin, dass ich `AGENTS.md` geändert habe — die Datei verlangt in §6 aber
|
||||
ausdrücklich: *„Änderungen an dieser Datei nur mit sorb abgestimmt."* Diese Abstimmung gab
|
||||
es nicht. Ich hatte mich auf dieses Issue berufen; das ist der Fehlschluss: **ein Artefakt
|
||||
kann eine Änderung verlangen, erlauben kann sie nur sorb.** Entscheidung sorb 2026-08-15:
|
||||
alles zurück. `AGENTS.md` ist wieder byte-identisch zum Stand davor (Blob `9f98b43`).
|
||||
|
||||
Damit gilt: **W5 und W7 sind offen**, W1/W2/W3/W6/W8 bleiben erledigt.
|
||||
|
||||
### Brauchbar bleibt der Befund, wo die Regeln überhaupt hingehören
|
||||
|
||||
Auf sorbs Frage („wäre das nach dem neckbeard-Rahmen der richtige Ort?") ergab die Prüfung —
|
||||
unabhängig von der Autorisierung war **AGENTS.md für zwei der drei der falsche Ort**:
|
||||
|
||||
- `AGENTS.md` über sich selbst: *„loaded into every session — **keep it short**. Process
|
||||
details live in `WORKFLOW.md`."*
|
||||
- `WORKFLOW.md` und `CLAUDE.md` sind ebenfalls **byte-gepinnt** (`pruefe_upstream_drift.py`,
|
||||
`PAARE`) und haben **keinen** Projektabschnitt — Projekt-Prozess kann dort nicht hinein.
|
||||
`AGENTS.md` ist die einzige gepinnte Datei mit `<!-- projektabschnitt -->`.
|
||||
- **Prozesswissen** gehört laut Wiki-Index nach `docs/wiki/admin/` (dort liegen Refinement &
|
||||
Retro, Stillstandsprüfung, Textbausteine); `admin/refinement.md` führt bereits einen
|
||||
Abschnitt `## AAR (anlassbezogen)`.
|
||||
- **W5 ist eine dauerhafte Ausnahme von einer Regel** — §6 verlangt dafür einen **ADR**:
|
||||
*„eine Ausnahme nur zu dokumentieren statt sie zu entscheiden, ist ein Fehler."* Genau das
|
||||
hatte ich getan: als Aufzählungspunkt dokumentiert statt entschieden.
|
||||
- **W7:** ADR-0009 entscheidet die Vereinheitlichung der Identitäten, **benennt den konkreten
|
||||
Wert aber nirgends**, und ADRs sind eingefroren. Die Lücke ist real; wo sie geschlossen
|
||||
wird, entscheidet sorb.
|
||||
|
||||
Das ist eine **Feststellung, kein Auftrag** — es wurde nichts an einen anderen Ort verschoben,
|
||||
kein ADR entworfen, kein Ersatztext angelegt.
|
||||
|
||||
⚠️ **Der Issue-Status sollte zurück auf offen**, da zwei der acht Widersprüche wieder offen
|
||||
sind. Das setze ich nicht selbst — Zusage-Status vergibt laut §6 nur sorb.
|
||||
|
||||
Reference in New Issue
Block a user