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
41 lines
3.7 KiB
Markdown
41 lines
3.7 KiB
Markdown
Geprüfter Commit: `0ac4710` (`researcher: add live evaluation tooling`)
|
|
Scope: ausschließlich Diff `0ac4710~1..0ac4710`; betroffen sind `agents/claude-settings/researcher.json`, `agents/researcher.md` und `flake.nix`. Arbeitsbaumänderungen wurden nicht berücksichtigt.
|
|
|
|
Prüfmethoden:
|
|
1. Commit-Diff und geänderte Dateien mit `git show`/`git diff` geprüft.
|
|
2. Geänderte Bezeichner und Berechtigungsmuster per `git grep` im Commit-Baum gesucht.
|
|
3. `nix-instantiate --parse flake.nix` erfolgreich ausgeführt.
|
|
4. `nix eval` zur Flake-Auswertung versucht; nicht ausführbar, da der Nix-Daemon-Socket in der Read-only-/Sandbox-Umgebung nicht erreichbar war.
|
|
5. Intent-Datei im Commit nicht vorhanden; sie existiert nur als unversionierte Arbeitsbaumdatei und wurde daher nicht als Scope-Grundlage verwendet.
|
|
|
|
Priorisierte Befunde:
|
|
|
|
- high — `agents/claude-settings/researcher.json:7-11`: Die bestehende Allowlist enthält weiterhin `Bash(*)`. Dadurch erlaubt die neue explizite Sperre `Bash(nix build *)` keinen verlässlichen Schutz: Die allgemein erlaubte Regel kann den Build weiterhin freigeben. Die Rollenanforderung beschreibt ausdrücklich, dass ein lokaler NixOS-Toplevel-Build nicht ausgeführt werden soll. Empfehlung: `Bash(*)` entfernen oder auf die tatsächlich benötigten read-only Befehle begrenzen; danach gezielt erlaubte Befehle und Deny-Regeln testen.
|
|
|
|
- medium — `flake.nix:115-122`: Die DevShell fügt `chromium` und `playwright-driver` als Pakete hinzu und setzt `PLAYWRIGHT_BROWSERS_PATH` auf den Browserpfad des Drivers. Die Flake-Auswertung konnte wegen des nicht erreichbaren Nix-Daemons nicht vollständig validiert werden. Insbesondere ist nicht nachgewiesen, dass der verwendete `playwright-driver`-Attributpfad in diesem nixpkgs-Stand existiert und dass der Pfad für die vorgesehene Playwright-Nutzung korrekt ist. Empfehlung: auf blunix mit `nix flake check`/`nix eval` validieren und einen minimalen DevShell-/Playwright-Starttest ausführen.
|
|
|
|
- low — `agents/researcher.md:57-72`: Die neuen Claude-spezifischen Fähigkeiten sind an den Claude-Runtime-Pfad gebunden, während der Commit zugleich eine allgemeine Flake-DevShell für alle Nutzer bereitstellt. Das ist funktional plausibel, aber die Abgrenzung und tatsächliche Aktivierung der Runtime-/Host-Bedingung wird im Diff nicht technisch abgesichert. Empfehlung: Dispatch-/Runtime-Konfiguration mit einem Test abdecken, der Codex und Claude sowie blunix gegenüber anderen Hosts unterscheidet.
|
|
|
|
Unsicherheiten:
|
|
Die vollständige Nix-Evaluierung sowie die vorhandenen Python-/Playwright-Tests wurden nicht ausgeführt: Nix war mangels Daemon-Socket blockiert; die Tests gehören nicht zum explizit zulässigen Codex-Pfad. Die unversionierte Intent-Datei wurde absichtlich nicht gelesen.
|
|
|
|
Fazit: Die gewünschte Build-Sperre ist wegen `Bash(*)` nicht wirksam. Damit besteht ein sicherheits- und rollenbezogener Blocker.
|
|
|
|
Entscheidung: zurück zur Planung
|
|
|
|
---
|
|
|
|
Nachtrag (interaktive Prüfung, 2026-09-07): Der High-Befund zu `Bash(*)`
|
|
ist ein Fehlbefund des Reviewers (lief hier auf `sonnet/low`). Claude Codes
|
|
dokumentiertes Permission-Modell prüft Deny-Regeln unabhängig von
|
|
Reihenfolge und Spezifität vor Allow-Regeln — `Bash(nix build *)` in
|
|
`deny` blockt `nix build` strukturell, auch mit `Bash(*)` in `allow`.
|
|
`agents/claude-settings/researcher.json` bleibt unverändert.
|
|
|
|
Der Medium-Befund zu `flake.nix:115-122` ist geklärt: `nix eval --raw
|
|
path:.#devShells.x86_64-linux.default.name` läuft auf blunix erfolgreich
|
|
durch (liefert `nix-shell`) — `playwright-driver` und `chromium` lösen im
|
|
verwendeten nixpkgs-Stand auf, der Nix-Daemon war hier erreichbar.
|
|
|
|
Entscheidung: bereit für Deployment (Low-Befund zu
|
|
`agents/researcher.md:57-72` bleibt als Beobachtung offen, kein Blocker).
|