feat: --interactive-Checkpoint, direktes SHIP bei PASS, default rounds 2
- /optimize --interactive pausiert nach erstem PASS; /continue setzt fort, /continue "Zusatz" hängt weiteren Auftrag an und wiederholt den Judge-Loop - Klares PASS → direkt SHIP ohne zweiten ShipIt-Inference-Call (1-3 min gespart) - PASS WITH CONCERNS → ShipIt-Runde weiterhin als finale Abwägung - Default --rounds 3→2 (~30 % schnellere Durchläufe für typische Tasks) - /continue-Command erkennt interactivePauseActive und leitet Signal weiter - Alle drei Interactive-Zustandsvariablen werden im finally-Block resettet - Dokumentation (README, BEDIENUNGSANLEITUNG, CLAUDE.md) vollständig aktualisiert Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
5dee5f25e4
commit
11ac46e565
4 changed files with 248 additions and 79 deletions
|
|
@ -13,7 +13,7 @@ einfache Slash-Kommandos in der pi-Agent-Oberfläche.
|
|||
3. [Server starten und stoppen](#3-server-starten-und-stoppen)
|
||||
4. [Neues Projekt anlegen](#4-neues-projekt-anlegen)
|
||||
5. [Manueller Workflow: /coder → /judge → /fix → /shipit](#5-manueller-workflow)
|
||||
6. [Automatischer Workflow: /optimize](#6-automatischer-workflow-optimize)
|
||||
6. [Automatischer Workflow: /optimize](#6-automatischer-workflow-optimize) (inkl. [Interactive-Modus](#interactive-modus))
|
||||
7. [Kleine Änderungen: /patch und /quick_check](#7-kleine-änderungen-patch-und-quick_check)
|
||||
8. [Dokumentation generieren: /update_doku](#8-dokumentation-generieren-update_doku)
|
||||
9. [Versionsverwaltung: /version](#9-versionsverwaltung-version)
|
||||
|
|
@ -278,14 +278,16 @@ Empfohlene Sofortmaßnahmen: keine
|
|||
### Syntax
|
||||
|
||||
```
|
||||
/optimize <auftrag> [--rounds N] [--with-doku] [--continue]
|
||||
/optimize <auftrag> [--rounds N] [--with-doku] [--continue] [--interactive]
|
||||
```
|
||||
|
||||
- `--rounds N` — maximale Anzahl Runden (Standard: 3)
|
||||
- `--rounds N` — maximale Anzahl Runden (Standard: 2)
|
||||
- `--with-doku` — nach SHIP automatisch `/update_doku` ausführen
|
||||
- `--continue` — überspringt die Implementierungsphase und startet direkt mit dem
|
||||
Judge→Fix-Zyklus ab dem aktuellen Code-Stand. Nützlich wenn man bereits manuell
|
||||
`/coder`, `/judge` und `/fix` durchgeführt hat und den Rest automatisieren möchte.
|
||||
- `--interactive` — pausiert nach erstem PASS für einen menschlichen Checkpoint.
|
||||
Details: siehe [Interactive-Modus](#interactive-modus) weiter unten.
|
||||
|
||||
### Beispiel: einfacher Auftrag
|
||||
|
||||
|
|
@ -296,19 +298,21 @@ Empfohlene Sofortmaßnahmen: keine
|
|||
Was im Hintergrund passiert:
|
||||
```
|
||||
Phase 1: Coder implementiert...
|
||||
Phase 2: Runde 1/3: Judge prüft...
|
||||
Phase 2: Runde 1/2: Judge prüft...
|
||||
→ Urteil: FAIL (2 Blocker)
|
||||
Phase 3: Runde 1/3: Coder fixt...
|
||||
Phase 4: Runde 2/3: Judge prüft...
|
||||
Phase 3: Runde 1/2: Coder fixt...
|
||||
Phase 4: Runde 2/2: Judge prüft...
|
||||
→ Urteil: PASS WITH CONCERNS
|
||||
✓ PASS WITH CONCERNS nach Runde 2
|
||||
Finale ShipIt-Prüfung...
|
||||
Finale ShipIt-Prüfung... (nur bei PASS WITH CONCERNS)
|
||||
→ SHIP
|
||||
[Dialog: Version → v0.1.0 (empfohlen)]
|
||||
```
|
||||
|
||||
Bei klarem `PASS` entfällt die ShipIt-Runde — es wird direkt SHIP ausgelöst.
|
||||
|
||||
Während des Ablaufs zeigt die Statuszeile immer die aktuelle Aktivität:
|
||||
`Coder implementiert…` → `Editiere src/main.rs…` → `Git-Commit…` → `Judge reviewt (Runde 1/3)…`
|
||||
`Coder implementiert…` → `Editiere src/main.rs…` → `Git-Commit…` → `Judge reviewt (Runde 1/2)…`
|
||||
|
||||
### Beispiel: mehr Runden
|
||||
|
||||
|
|
@ -359,10 +363,57 @@ In diesem Fall: `/judge` manuell ausführen, Blocker lesen, mit `/fix` manuell e
|
|||
### Max. Runden ohne PASS
|
||||
|
||||
```
|
||||
⚠ 3 Runden durchlaufen ohne PASS. Bitte manuell prüfen.
|
||||
⚠ 2 Runden durchlaufen ohne PASS. Bitte manuell prüfen.
|
||||
```
|
||||
|
||||
Dann: `/judge` und `/fix` manuell für gezielte Eingriffe.
|
||||
Mit `--rounds N` kann die Grenze hochgesetzt werden, z.B. `--rounds 5` für komplexe Aufgaben.
|
||||
|
||||
### Interactive-Modus
|
||||
|
||||
Mit `--interactive` pausiert `/optimize` nach dem ersten PASS und wartet auf menschliches
|
||||
Feedback — bevor das abschließende SHIP ausgelöst wird.
|
||||
|
||||
```
|
||||
/optimize Implementiere Feature X --interactive
|
||||
```
|
||||
|
||||
Typischer Ablauf:
|
||||
```
|
||||
Phase 1: Coder implementiert...
|
||||
Phase 2: Judge prüft...
|
||||
→ Urteil: PASS
|
||||
⏸ PASS erreicht. Weitere Features? /continue "Zusatzauftrag" — oder /continue zum Shippern.
|
||||
```
|
||||
|
||||
Jetzt hast du drei Optionen:
|
||||
|
||||
**Option A: Direkt shippern**
|
||||
```
|
||||
/continue
|
||||
```
|
||||
→ ShipIt wird gestartet, Version-Dialog erscheint.
|
||||
|
||||
**Option B: Zusatzauftrag hinzufügen**
|
||||
```
|
||||
/continue "Füge außerdem eine --verbose Option hinzu"
|
||||
```
|
||||
→ Coder implementiert den Zusatz, dann läuft der Judge-Loop erneut an.
|
||||
→ Nach erneutem PASS erscheint der Checkpoint wieder — du kannst beliebig viele
|
||||
Iterationen anhängen, bevor du mit `/continue` zum SHIP gehst.
|
||||
|
||||
**Option C: Abbrechen**
|
||||
```
|
||||
/cancel
|
||||
```
|
||||
→ Loop wird abgebrochen, kein SHIP.
|
||||
|
||||
**Timeout:** Wenn du 30 Minuten lang nichts eingibst, bricht `/optimize` automatisch ab.
|
||||
|
||||
**Wann ist `--interactive` sinnvoll?**
|
||||
- Wenn der Auftrag aus mehreren voneinander abhängigen Features besteht
|
||||
- Wenn du nach jeder fertigen Stufe entscheiden möchtest, ob du weitermachst
|
||||
- Wenn du sicherstellen willst, dass nichts unbeabsichtigt committed wird
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -678,6 +729,28 @@ Die Checkboxen werden automatisch abgehakt:
|
|||
/optimize Schreibe einen vollständigen Markdown-Parser mit AST in Python --rounds 5
|
||||
```
|
||||
|
||||
### Schrittweise Features hinzufügen mit --interactive
|
||||
|
||||
```bash
|
||||
# Erst Grundgerüst implementieren und PASS abwarten:
|
||||
/optimize Schreibe ein CLI-Tool 'filewatch' das Dateiänderungen überwacht --interactive
|
||||
|
||||
# Nach PASS erscheint: ⏸ PASS – warte auf /continue…
|
||||
|
||||
# Option A: Genug, direkt shippern:
|
||||
/continue
|
||||
|
||||
# Option B: Weiteres Feature anhängen:
|
||||
/continue "Füge außerdem einen --filter GLOB-Parameter hinzu"
|
||||
# → Coder implementiert, Judge prüft erneut, PASS → Checkpoint wieder aktiv
|
||||
|
||||
# Nochmal erweitern:
|
||||
/continue "Füge --output-log DATEI hinzu um Änderungen zu protokollieren"
|
||||
|
||||
# Fertig → shippern:
|
||||
/continue
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 12. Fehlermeldungen und Lösungen
|
||||
|
|
@ -750,7 +823,7 @@ bereit, das GNU `patch -p1` mit Fuzzy-Matching nutzt.
|
|||
Lies die Datei neu ein und wende die Änderungen als unified diff mit apply_patch an.
|
||||
```
|
||||
|
||||
### "Drei Runden ohne PASS" / Loop-Erkennung schlägt an
|
||||
### "N Runden ohne PASS" / Loop-Erkennung schlägt an
|
||||
|
||||
```
|
||||
⚠ Derselbe Blocker tritt erneut auf – Schleife abgebrochen.
|
||||
|
|
@ -767,6 +840,7 @@ Dann den Blocker analysieren und entweder:
|
|||
- `/fix Ignoriere Blocker X, das ist nicht Teil dieser Aufgabe`
|
||||
- Den Code selbst anpassen und dann `/fix` aufrufen
|
||||
- Die Aufgabe in TASK.md präzisieren
|
||||
- Bei komplexen Aufgaben mit mehr Runden wiederholen: `/optimize --continue --rounds 5`
|
||||
|
||||
### Server läuft, aber pi wechselt nicht das Modell
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue