# 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//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.