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/review/board-column-config-backend-state.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

30 lines
2.8 KiB
Markdown

Geprüfter Commit: `fe5cac2de861ed26b0f901b274339ad18caff21a`
Scope: ausschließlich `fe5cac2~1..fe5cac2`; drei geänderte Dateien unter `hosts/blunix/localServices/board-agent/`.
Prüfmethoden:
1. Commit-Diff und Commit-Metadaten mit `git show` und `git diff` geprüft.
2. Geänderte Bezeichner über den Commit-Baum gesucht (`git grep`).
3. Datenfluss in `trigger.py`, `worker.py`, `completion_watcher.py`, Builder-Code und Intent-Dokumentation geprüft.
4. `git diff --check` ausgeführt; ohne Ausgabe.
5. Unit-Testlauf versucht; nicht ausführbar, da `python3` in der Umgebung fehlt.
6. Kein Arbeitsbaum-Diff als Review-Scope verwendet.
Priorisierte Befunde:
- High — `hosts/blunix/localServices/board-agent/trigger.py:32-40, 118-170, 780-846`
Die neue Konfiguration wird zwar validiert, gespeichert und per API ausgeliefert, aber kein Job-Trigger liest sie. Builder-, Research- und Review-Jobs verwenden weiterhin ausschließlich `board_runtime()` bzw. bestehende Env-Variablen. Das ist laut Intent zwar für diese Backend-Phase ausdrücklich ausgeschlossen, bedeutet jedoch, dass die API allein noch keine operative Wirkung hat. Empfehlung: Folge-Intents müssen die Konfiguration vor produktiver Nutzung in alle drei Payload-Pfade integrieren und dafür Ende-zu-Ende-Tests ergänzen.
- Medium — `hosts/blunix/localServices/board-agent/test_board_agent.py:484-506`
Die Tests prüfen nur direkte Hilfsfunktionen und einen GET-/404-Pfad. Es fehlt ein echter POST-Test mit Request-Body sowie ein Persistenz-/Roundtrip-Test über die HTTP-Schicht. Dadurch bleiben Body-Parsing, 400-Antworten und erfolgreiche POST-Antworten ungetestet. Empfehlung: Handler-Tests für gültige/ungültige Bodies, unbekannte Felder und alle relevanten Datentypgrenzen ergänzen.
- Medium — `hosts/blunix/localServices/board-agent/trigger.py:150-158`
`load_column_config()` übernimmt gespeicherte Werte ungeprüft und füllt nur fehlende Felder auf. Ein manuell oder aus einer älteren Version stammender ungültiger persistierter Wert kann daher über GET/API weitergereicht werden, obwohl POST-Updates validiert werden. Empfehlung: Beim Laden entweder strikt validieren und auf Defaults zurückfallen oder den Zustand einmalig normalisieren; mindestens Typen und erlaubte Werte erneut prüfen.
Unsicherheiten:
- Die Tests konnten wegen fehlendem `python3` nicht ausgeführt werden.
- Eine Nix-Evaluierung oder ein vollständiger `nix flake check` wurde nicht ausgeführt.
- Der Commit enthält bewusst nur Backend-State/API; die fehlende Nutzung in Jobs ist daher kein Blocker dieses festgelegten Scopes, sondern ein Integrationsrisiko für Folge-Commits.
Fazit: Der Commit erfüllt den dokumentierten Backend-State/API-Scope grundsätzlich. Keine Blocker im festgelegten Commit gefunden.
Entscheidung: bereit für Deployment