astro:exec – führt den gesamten Plan aus (Phase 2, batchweise)
Orchestriert die Ausführung aller Tasks des astro:plan (der Aufgabenliste der Sitzung) der Reihe nach, eine nach der anderen. Es gilt der Vertrag von astro:setup (festgehalten in CLAUDE.md) sowie die verbindliche Architektur.
Ablauf
- Welcher Plan: der von
astro:planin der Sitzung. Falls keiner vorhanden, führe vorherastro:planaus. Wenn der Benutzer nur einen Teil ausführen möchte, bestätige den Ausschnitt. - Ordne die Tasks gemäß dem
Abhängig von(topologisch): Beginne niemals eine Task, bevor deren Abhängigkeiten abgeschlossen sind. - Für jede anstehende Task, der Reihe nach, führe sie wie folgt aus: als in Bearbeitung markieren → einordnen → nur den Umfang implementieren → Tests → Abnahmekriterien und Definition of Done validieren → als abgeschlossen markieren.
- Nach jeder abgeschlossenen Task rufe
astro:commitauf, um die Änderung dieser Task festzuhalten (ein Commit pro Task).astro:execerstellt weder selbst Commits noch führt es sie aus; das ist Aufgabe vonastro:commit. Führe keinpushaus. Die Commits enthalten nur Code; der Plan wird nicht als Datei gespeichert. - Zeige nach jeder Task den Fortschritt an (z. B.
2/5 erledigt – als Nächstes: 03) und halte die Sitzungsliste aktuell. Wenn alle Tasks abgeschlossen sind, gib bekannt, dass der Plan beendet ist.
Wann ANHALTEN (nicht automatisch weitermachen)
- Es taucht eine Entscheidung auf, die der Benutzer treffen muss (war nicht im Plan) → frage (AskUserQuestion) und warte.
- Tests schlagen fehl und das Problem kann nicht innerhalb des Task-Umfangs gelöst werden → halte an und zeige die tatsächliche Fehlerausgabe.
- Eine Task würde etwas Destruktives, Geheimnisse oder eine Abhängigkeitsänderung erfordern → Vertragsschranke: halte an und bestätige.
- Eine Task offenbart Arbeit außerhalb des Plans → füge sie als neue Task in die Liste ein und fahre fort; falls sie blockierend ist, halte an und stimme dich ab.
Am Ende
- Fasse zusammen, was erledigt wurde (abgeschlossene Tasks, Nachweis: Testausgaben).
- Falls Tasks übrig sind (wegen eines Anhaltens), nenne die fehlenden Aufgaben und den Grund.
- Schlage
astro:pr/astro:answervor, um das Gesamte abzuschließen.
Eine Task nach der anderen, in Reihenfolge – niemals parallel, um atomare und überprüfbare Commits zu gewährleisten.