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
5.2 KiB
5.2 KiB
Intent: Live-Eval-Werkzeuge für die Researcher-Rolle
Ziel
Der Researcher-Rolle (agents/researcher.md) die technischen Mittel geben, um
die im Bericht docs/research/intent-board-architektur-ux-evaluation.md als
„nicht ausgeführt" benannten Prüfungen künftig selbst durchzuführen:
Python-Testläufe der bestehenden Testsuiten, günstige Nix-Prüfungen (flake check/eval), und rein lesende Beobachtung des echten Boards im Browser —
als dauerhafte Erweiterung der bestehenden Rolle, nicht als separate Rolle.
Umfang
flake.nix: neuerdevShells-Output (mindestens fürx86_64-linux) mitpython3und den für die vorhandenen Testdateien (test_board_agent.py,test_agent_codex.py,test_orga_agent.py) nötigen Paketen (z. B.pytest) sowie einem Headless-Browser-Toolkit (z. B. Playwright) für rein lesende Board-Beobachtung.agents/researcher.md: Texterweiterung, die explizit erlaubt:- Ausführung der vorhandenen Python-Unit-Tests über die neue Dev-Shell
(
nix develop/nix run), ausschließlich auf dem Claude-Runtime-Pfad, ausschließlich auf blunix. nix flake checkundnix evalals Diagnosebefehle.- Rein lesende/beobachtende Browser-Interaktion mit dem echten Board auf blunix über die neue Dev-Shell (Seite laden, DOM/Text lesen, Tastaturfokus/ARIA-Eigenschaften prüfen, Screenshots) — ausdrücklich ohne Drag-and-Drop oder sonstige Aktionen, die eine echte Phasenänderung/einen Job auslösen.
- Ausdrückliches Verbot von lokalem
nix buildeines Toplevel-Closures auf blunix (VPS-Überlastungsrisiko); stattdessen bei Bedarf Verweis auf den bestehendennixbuild.net-Remote-Store-Pfad, aber kein automatischer Aufruf davon durch den Researcher selbst (das wäre bereits eine deployment-nahe Aktion).
- Ausführung der vorhandenen Python-Unit-Tests über die neue Dev-Shell
(
agents/claude-settings/researcher.json: Deny-Liste umBash(nix build *)(bzw. eine treffende Einschränkung, dienix flake check/nix evalnicht blockiert) ergänzen, um das Build-Verbot strukturell abzusichern, nicht nur textlich in der Rollendatei.- Alle neuen Fähigkeiten gelten weiterhin ausschließlich für den
Claude-Runtime-Pfad und ausschließlich auf blunix (kein SSH/Zugriff auf
pinix, tnix oder weitere Hosts) — deckungsgleich mit der bestehenden
Shell-Einschränkung in
researcher.md.
Explizit ausgeschlossen
- Keine echten Schreibrechte auf das Live-Board, laufende Karten, den Runtime-Schalter oder sonstigen Systemzustand — Zustandsänderungen bleiben, wenn überhaupt später gebraucht, einer separaten isolierten Testinstanz vorbehalten (nicht Teil dieses Intents).
- Kein lokaler
nix buildvon Toplevel-Closures auf blunix. - Kein Deployment, keine Aktivierung, kein Service-Neustart (bleibt Aufgabe des Administrators).
- Keine tatsächliche Token-, Kosten-, Laufzeit- oder UX-Messung/
Instrumentierung — das ist laut Bericht ein eigener, noch zu
entscheidender Datenschutz-/Mess-Intent (
board-runtime-signal-measurement) und wird hier bewusst ausgeklammert. - Keine neue separate Rolle; die bestehende
researcher-Rolle wird erweitert. - Keine Änderung an anderen Rollen (
builder.md,reviewer.md,planner.mdetc.).
Annahmen
- Die vorhandenen Python-Testdateien (
test_board_agent.py,test_agent_codex.py,test_orga_agent.py) sind mitpytestlauffähig, sobaldpython3/pytestüber eine Dev-Shell verfügbar sind. - Ein Headless-Browser-Toolkit (z. B. Playwright) lässt sich über
nixpkgsbeziehen und rein lesend gegen das echte Board fahren, ohne dessen Polling/Zustand zu beeinträchtigen. - Der Deny-Listen-Mechanismus in
agents/claude-settings/researcher.json(Bash-Pattern-Matching) kannnix buildgezielt blocken, ohnenix flake check/nix evalmit zu treffen.
Offene Risiken
- Ein Muster wie
Bash(nix build *)in der Deny-Liste könnte je nach Matching-Implementierung auch legitime Umgehungen zulassen (z. B.nix --extra-experimental-features nix-command build ...) oder zu breit/zu eng greifen — die genaue Deny-Regel muss beim Umsetzen gegen die tatsächliche Pattern-Syntax geprüft werden. - Auch rein „lesende" Browser-Automatisierung erzeugt zusätzliche Poll-/ Ladelast auf dem echten Board; bei wiederholten Testläufen sollte das nicht mit dem produktiven 5-Sekunden-Polling kollidieren (kein hartes Ausschlusskriterium, aber zu beobachten).
- Playwright (oder ein Äquivalent) als neue Abhängigkeit steht im Spannungsfeld mit dem Grundsatz „kleines, forkbares Grundsystem" — Umfang der Dev-Shell sollte beim Bauen bewusst minimal gehalten werden.
Erfolgskriterien
flake.nixbietet eine Dev-Shell, aus der heraus die drei vorhandenen Python-Testsuiten laufen.agents/researcher.mderlaubt explizitnix flake check/nix eval, Testläufe über die Dev-Shell und rein lesende Browser-Beobachtung des echten Boards — mit ausdrücklichem Verbot vonnix build, Zustandsänderungen, Deployment und Aktivierung.agents/claude-settings/researcher.jsonblocktnix buildstrukturell über die Deny-Liste.- Ein künftiger Research-Auftrag mit Runtime
claudekann diese Prüfungen tatsächlich ausführen, ohne dass ein VPS-Überlastungsrisiko wie beim ersten Live-Smoke-Test entsteht.