This repository has been archived on 2026-09-17. You can view files and clone it, but you cannot make any changes to its state, such as pushing and creating new issues, pull requests or comments.
nixos-config/docs/intent/research-pipeline-researcher-shell.md
pijukka 05575df408 docs: commit backlog of already-resolved intent/review corpus files
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
2026-09-10 12:06:53 +02:00

3.8 KiB

Intent: Shell-Fähigkeit für den Researcher (blunix, Claude-Pfad)

Ziel

Der Researcher (agents/researcher.md) kann bei Board-getriggerten wie interaktiven Aufträgen laufende Dienste auf blunix einsehen (Logs, Service-Status, Ressourcennutzung), nicht nur den statischen Repo-Stand und externe Web-Quellen.

Umfang / Auftrag an den Builder

  • agents/researcher.md: im Abschnitt "Arbeitsgrenzen und Sicherheit" einen neuen Absatz nach dem Muster des bestehenden Web-Zugriffs-Absatzes ergänzen, der Shell-Ausführung als neue, ausdrücklich begrenzte Fähigkeit einführt: (a) nur auf dem Host blunix, kein SSH zu pinix, tnix oder anderen Hosts, (b) ausschließlich zur Informationsbeschaffung, nie zur Zustandsänderung, (c) die einzige Schreibaktion der Rolle bleibt unverändert docs/research/<slug>.md.
  • Im Abschnitt "Rechercheablauf" ergänzen: bei Fragen zum Live-Zustand der Plattform sind Shell-Befehle auf blunix eine dritte zulässige Quelle neben Repository und Web.
  • agents/claude-settings/researcher.json: der allow-Liste einen generischen Bash-Eintrag hinzufügen (kein Befehls-Allowlisting nach Präfix). Der deny-Liste gezielt folgende Präfixe hinzufügen, zusätzlich zum bereits vorhandenen Bash(ssh *): Bash(sudo *), Bash(rm *), Bash(mv *), Bash(chmod *), Bash(chown *), Bash(kill *), Bash(systemctl start *), Bash(systemctl stop *), Bash(systemctl restart *), Bash(systemctl enable *), Bash(systemctl disable *), Bash(nixos-rebuild switch *), Bash(nixos-rebuild test *), Bash(reboot*), Bash(shutdown *), Bash(agenix *). Bereits vorhandene Einträge (git commit *, git push *, ssh *) bleiben unverändert stehen.

Scope-Einschränkung

Diese Karte aktiviert Shell-Ausführung ausschließlich für den Claude-Runtime-Pfad. Der Codex-Pfad bleibt unverändert ohne Shell-Fähigkeit, weil Codex unter --sandbox read-only keine Shell-Befehle ausführen kann und --sandbox workspace-write laut board-agent/README.md ("Why read-only, not a scoped writable dir") nachweislich nicht pfadgenau einschränkt. Codex-Unterstützung ist ein bewusst ausgeschlossenes Folge-Intent.

Ausgeschlossen

  • SSH oder jeder andere Zugriff auf pinix, tnix oder weitere Hosts.
  • Aktivierung der Shell-Fähigkeit für den Codex-Pfad.
  • Änderungen an worker.py, trigger.py, board.html oder board-agent.nix (folgen in separaten Karten).
  • Änderungen an anderen Rollen-Dateien oder anderen agents/claude-settings/*.json.
  • Eine feste Befehls-Allowlist anstelle der gewählten Deny-Präfix-Liste (siehe Annahmen).

Annahmen

  • "Read-only" ist hier eine Konvention über eine Deny-Präfix-Liste, keine harte OS-Sandbox: ein board-getriggerter Researcher-Lauf läuft als Linux-User drone, demselben Nutzer wie die interaktive Admin-Session. Der Researcher hat real dieselben Rechte wie drone, abzüglich der gesperrten Präfixe.
  • Dieselbe erweiterte Fähigkeit gilt gleichermaßen für eine interaktive Herdr-Pane-Nutzung des Researchers, da beide Aufrufwege dieselbe Rollen- und Settings-Datei lesen.

Offene Risiken

  • Eine Präfix-Denyliste ist nicht vollständig: Kettenoperatoren (&&, ;, |), ungewöhnliche Schreibweisen oder Skripte, die intern sudo aufrufen, können sie umgehen. Dieses Risiko bleibt nach dieser Karte bewusst offen.

Tests

  • agents/claude-settings/researcher.json bleibt valides JSON.
  • Der neue Bash-Allow-Eintrag und alle genannten Deny-Präfixe sind vorhanden, bestehende Einträge unverändert.

Erfolgskriterien

  • Ein Researcher-Lauf (Claude-Pfad) kann auf blunix z. B. journalctl oder systemctl status ausführen.
  • Derselbe Lauf kann keinen der explizit gesperrten Befehle ausführen.
  • agents/researcher.md benennt die neue Fähigkeit und ihre Grenzen (nur blunix, nur Claude-Pfad, nur Recherche) ausdrücklich.