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

3 KiB

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.