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/planner-precise-package-removal-scope.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

66 lines
3 KiB
Markdown

# Intent: Präzisere Zielformulierung für Paketlisten-Änderungen im Planner
## Ziel
`agents/planner.md` um eine Checklisten-Regel ergänzen, die die im
Reviewer-Bericht `docs/review/blunix-remove-ripgrep.md` gefundene
Mehrdeutigkeit künftig vermeidet: Eine Intent-Karte der Form „Paket X aus
Host Y entfernen/hinzufügen" muss explizit benennen, ob die host-lokale
Paketliste (`hosts/<host>/localServices/packages.nix`), die globale
Paketliste (`hosts/globalServices/packages.nix`) oder beide gemeint sind.
## Hintergrund
Der Commit `adfff84` entfernte `ripgrep` wortgetreu und vollständig
auftragskonform nur aus `hosts/blunix/localServices/packages.nix`. Das im
Intent formulierte Ziel („`ripgrep` soll wieder aus der systemweiten
Paketliste des NixOS-Hosts `blunix` entfernt werden") wurde dadurch
faktisch nicht erreicht, weil derselbe Paketname zusätzlich in
`hosts/globalServices/packages.nix` steht und über die Import-Kette
weiterhin zu `environment.systemPackages` von blunix beiträgt. Der Builder
hat korrekt gehandelt (Scope wortgetreu eingehalten); die Ungenauigkeit lag
in der Zielformulierung der Karte selbst.
## Umfang / Auftrag an den Builder
- In `agents/planner.md`, im Abschnitt zur Rückfrage-/Synthese-Phase (vor
dem Schreiben des finalen Intent-Dokuments), eine neue Regel ergänzen:
Betrifft ein Vorhaben das Hinzufügen oder Entfernen eines Pakets aus
einer `environment.systemPackages`-Liste, muss der Planner vor dem
Schreiben des Intents per `grep`/`git grep` prüfen, ob der Paketname in
mehr als einer relevanten Liste vorkommt (host-lokal und/oder global).
Trifft das zu, muss der Intent-Text ausdrücklich benennen, welche
Liste(n) geändert werden sollen — nicht pauschal „aus der Paketliste
entfernen".
- Ein kurzes Beispiel zur Illustration der Regel direkt im Rollentext
ergänzen, mit Verweis auf den konkreten Fall (`ripgrep`,
`hosts/globalServices/packages.nix` vs.
`hosts/blunix/localServices/packages.nix`).
## Ausgeschlossen
- Keine Änderung an `agents/builder.md` oder `agents/reviewer.md` in
dieser Karte.
- Keine automatisierte Prüfung oder Linting-Regel — es bleibt eine
Checklisten-Regel für den Planner-Dialog, keine Code-Änderung.
## Annahmen
- Die Regel lässt sich allgemein für beliebige Pakete und Hosts
formulieren, nicht nur für den ripgrep/blunix-Fall — sie soll für jede
künftige Karte mit ähnlichem Muster gelten.
## Offene Risiken
- Eine reine Text-Checkliste im Rollenprompt hängt von der Sorgfalt jeder
einzelnen Planner-Sitzung ab; es gibt keinen technischen
Erzwingungsmechanismus. Für diesen Umfang akzeptiert.
## Erfolgskriterien
- `agents/planner.md` enthält die neue Regel an geeigneter Stelle im
Rückfrage-/Synthese-Abschnitt, inklusive Kurzbeispiel.
- Dieser Intent dient zugleich als Pipeline-Test: Er wird als zweite von
drei zusammengehörigen Karten (nach
`docs/intent/board-intent-detail-and-transition-guardrails.md`) durch
`geplant → in_umsetzung` gezogen.