board-agent's own README documents docs/intent/ and docs/research-intent/ as tracked corpus directories, and docs/review/<slug>.md as the reviewer's persisted report per card - but the pipeline only writes these files to the checkout, it never commits them itself. This had built up a backlog of intent/review docs for cards already marked deployed or archiviert in the live board state, which were sitting uncommitted in the working tree. Adds that backlog as-is: the originating intents, their reviewer reports, the research-intent/research pair for the board UX evaluation, and one standalone process-retrospective report (board-review-pipeline-context- overhead.md, same genre as the two already-tracked audit reports in docs/review/). No code changes. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01T7UVrKsttMP9a6FiGFna9b
26 lines
4.3 KiB
Markdown
26 lines
4.3 KiB
Markdown
Geprüfter Commit: 1d15acdb5a8394fbe50756fb89f7c166c140697c (`reviewer: strukturiertes Korrekturfeld-Set bei "zurück zur Planung" als bewusste Ausnahme`)
|
|
|
|
Scope: Einzige geänderte Datei `agents/reviewer.md` (39 Einfügungen, 4 Löschungen), `role-version` 1.7.0 → 1.8.0. Diff-Basis: `git diff 1d15acd~1 1d15acd`. Einstufung: **riskant** nach den geltenden Kriterien (mehr als ~10 geänderte Zeilen in einer Datei), daher volle Prüftiefe.
|
|
|
|
Tatsächlich ausgeführte Prüfmethoden:
|
|
1. `git show --stat` / `git diff 1d15acd~1 1d15acd` — vollständigen Diff gelesen.
|
|
2. `docs/intent/board-automatic-review-correction-loop.md` vollständig gelesen und mit dem Diff abgeglichen.
|
|
3. `agents/reviewer.md` (finaler Stand) vollständig gelesen, um den geänderten Abschnitt im Kontext der Gesamtrolle zu prüfen.
|
|
4. `git grep` nach dem geänderten Bezeichner (`CORRECTION-ITEMS`, `role-version: 1.7.0`, `auto_correction_attempts`) über den Repo-Baum, um verwaiste Referenzen oder fehlende Konsumenten zu finden.
|
|
5. Existenzprüfung `agents/catalog.json` (Pfadverifikation, kein inhaltlicher Abgleich nötig, da nicht im Diff-Scope).
|
|
|
|
Nicht ausgeführte Prüfungen: Kein Test-/Lint-Lauf, da reine Prosa-/Markdown-Änderung ohne ausführbaren Code; kein Zugriff auf Board-Watcher-Code, da dieser laut Intent-Scope noch nicht existiert (auch der `git grep` bestätigt: keine andere Datei referenziert `===CORRECTION-ITEMS===`).
|
|
|
|
Befunde:
|
|
|
|
- **medium** — `agents/reviewer.md:172-177`: Das Marker-Block-Schema erlaubt `severity: blocker|high|medium|low`, während der umgebende Fließtext (Zeile 168-169 und 180-186) verlangt, dass der Block nur Einträge mit `blocker`- oder `high`-Schweregrad enthält und bei ausschließlich `medium`/`low`-Befunden ein leerer Block zu liefern ist. Ein zukünftiger Reviewer-Lauf könnte daraus lesen, dass `medium`/`low`-Einträge im Block zulässig sind, obwohl sie laut Text nie dort landen sollen. Empfehlung: Enum im Schema auf `blocker|high` einschränken oder den Fließtext präzisieren, dass `medium`/`low` als gültiger Feldwert nur in Kombination mit mindestens einem `blocker`/`high`-Eintrag im selben Block vorkommen dürfen (falls das beabsichtigt ist).
|
|
|
|
- **low** (Unsicherheit, kein Blocker) — Die Änderung ist inhaltlich deckungsgleich mit `docs/intent/board-automatic-review-correction-loop.md`, löst aber selbst noch keine Automatisierung aus: Es gibt laut `git grep` noch keinen Konsumenten des neuen `===CORRECTION-ITEMS===`-Blocks (Board-Worker/Completion-Watcher, `state.json`-Zähler, Catalog-Badge sind laut Intent-Scope separate, noch ausstehende Änderungen). Das ist im Rahmen dieses Einzelcommits unproblematisch, aber die im Intent-Dokument selbst offen gelassene Frage „kein Auto-Retry bei riskantem Diff" (Secrets/Netzwerk/Firewall/sshd/Auth/systemd) bleibt in diesem Rollentext unadressiert — bei Umsetzung der Watcher-Seite besteht das Risiko, dass auch bei sicherheitskritischen Diffs automatisch bis zu zwei Korrekturläufe angestoßen werden, ohne dass `reviewer.md` das einschränkt.
|
|
|
|
- **low** (Beobachtung, kein Blocker) — Selbstreferenzielle Natur der Änderung: Der Reviewer prüft hier eine Änderung an seinem eigenen Rollenvertrag, die künftigen Board-Läufen (auf Basis seiner eigenen `zurück zur Planung`-Entscheidung) mehr automatisierte Handlungsmacht einräumt. Das ist laut Rollendefinition (`Board-getriggerter Review`) ausdrücklich vorgesehen und keine Abweichung vom Scope, aber als Kontext für die menschliche Freigabeentscheidung erwähnenswert, da die Freigabe faktisch eine bewusste Umkehr einer bisherigen Sicherheitsregel bestätigt (im Intent-Dokument selbst so benannt).
|
|
|
|
Positive Beobachtungen: Die neue Regel wahrt konsequent alle bestehenden Arbeitsgrenzen (keine neuen Schreibrechte, keine Aktivierungs-/Deployment-/Veröffentlichungsfreigabe, weiterhin keine automatische Planner-Session), ist als bewusste Ausnahme klar benannt und referenziert den auslösenden Intent-Pfad korrekt. Die Marker-Block-Syntax folgt demselben etablierten Muster wie `===REVIEW-REPORT===`.
|
|
|
|
Unsicherheiten: Ob das Board tatsächlich mit dem günstigen Profil `gpt-5.6-luna`/`none` zuverlässig strukturierte Felder statt Freitext liefert, ist laut Intent-Dokument selbst ungeprüft und außerhalb des Prüfbereichs dieses Commits (betrifft Laufzeitverhalten, nicht den Rollentext).
|
|
|
|
Entscheidung: bereit für Deployment
|