Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 22 additions & 4 deletions docs/drills/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,25 @@ Die Spalte „Erst nach Drills frei" für die Drills 1–5 und 8 ist meine
Ableitung: Die Drill-Seiten nennen W3-02i nur bei Backup (Wartungsmodus) und
Updater (Wiederherstellungs-Journal). Im Zweifel frag den Orchestrator.

### Was in v1.5.0 bestehen kann (Beleg vom 05.10.2026)

Beobachtet vom Koordinator mit der installierten, signierten v1.5.0 (Commit
`ec58a1c`):

| Nr | Drill | Ergebnis in v1.5.0 | Warum |
|----|-------|--------------------|-------|
| 1 | Singleton | bestanden | — |
| 2 | Not-Aus | bestanden | Inventar nach 961 ms leer |
| 3 | Absturz | nicht abgedeckt | braucht Continuous AN, bis M4 gesperrt |
| 4 | RAM-Druck | nicht abgedeckt | braucht Continuous AN, bis M4 gesperrt |
| 5 | Provider | kann nicht bestehen | einfache Worker legen keine HQ-Läufe an (`"executionEnabled":false`), siehe [provider-drill.md](provider-drill.md) |
| 6 | Backup | bestanden | — |
| 7 | Updater | noch offen | läuft erst nach dem v1.5.0-Tag, braucht eine veröffentlichte neuere Version |
| 8 | HQ-Beleg | läuft | Hinweise in [hq-proof-drill.md](hq-proof-drill.md) |

Die Tabelle oben nennt Provider als „vor Drills frei" möglich; für v1.5.0 gilt
trotzdem: Zeilen 11/12 bleiben offen, bis die Ausführung eingeschaltet ist.

## W3-07: signierter Updater-Relaunch

Die Schritte stehen im [Updater-Drill](updater-drill.md); der Abschnitt
Expand Down Expand Up @@ -90,10 +109,9 @@ Texte sind geschwärzt; lies sie trotzdem einmal durch.

## NICHT ABGEDECKT / offene Widersprüche

- Die Drill-Seiten widersprechen sich bei den Beispiel-Versionen: `1.4.1`
(Backup, Singleton, Absturz, Not-Aus, Provider), `1.5.0` (RAM-Druck, HQ-Beleg), `0.9.0`/`0.9.1` (Updater, `-OldVersion`/`-NewVersion`).
Nicht aufgelöst: nimm die Zahl aus „Info"; beim Updater frag, was für
`-OldVersion`/`-NewVersion` gilt.
- Beispiel-Versionen: Alle Drill-Seiten nutzen jetzt `1.5.0`, nur der Updater
hat `0.9.0`/`0.9.1` (`-OldVersion`/`-NewVersion`). Nimm trotzdem die Zahl
aus „Info"; beim Updater frag, was für `-OldVersion`/`-NewVersion` gilt.
- Absturz-Drill (21) und RAM-Druck-Drill (10) brauchen Continuous AN; das ist
bis M4 gesperrt. Ohne Continuous sind beide „nicht abgedeckt" bzw. „nur
Beobachtung", Zeile 10 bleibt offen.
Expand Down
2 changes: 1 addition & 1 deletion docs/drills/backup-drill.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ Voraussetzung: ProjectA, PowerShell 7, Node 24 und dieses Repository sind da.
3. **ProjectA schließen** (Fenster zu, auch im Tray beenden). Erwartet: Die Datei
`projecta-api.json` im App-Ordner ist weg.
4. **Skript starten.** Öffne PowerShell 7 im Repository-Ordner und tippe:
`pwsh scripts/drills/backup-drill.ps1 -AppVersion 1.4.1 -OutDir C:\Belege\backup-drill`
`pwsh scripts/drills/backup-drill.ps1 -AppVersion 1.5.0 -OutDir C:\Belege\backup-drill`
(ohne `-OutDir` entsteht ein neuer Ordner mit Zeitstempel im aktuellen Ordner).
Jeder Lauf braucht einen neuen oder leeren Zielordner, damit keine alten Dateien in den Beleg geraten.
5. **Ausgabe lesen.** Erwartet: fünf Zeilen mit `OK` und am Ende `Ergebnis: pass`.
Expand Down
4 changes: 2 additions & 2 deletions docs/drills/crash-drill.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,13 +21,13 @@ dann kein Bestanden, sondern „nicht abgedeckt".
(bei mehreren Einträgen alle). Nicht über das Menü schließen.
4. **Zustand sichern.** In PowerShell 7 im Repository-Ordner, ProjectA noch
geschlossen:
`pwsh scripts/drills/crash-drill.ps1 -Phase before -Transition process-starting -AppVersion 1.4.1 -OutDir C:\Belege\crash-vorher`
`pwsh scripts/drills/crash-drill.ps1 -Phase before -Transition process-starting -AppVersion 1.5.0 -OutDir C:\Belege\crash-vorher`
Erlaubt für `-Transition`: claimed, intent, process-starting, input-delivery,
checkpoint, completion. Erwartet: eine Zeile `OK`, `Ergebnis: pass`.
5. **ProjectA neu starten** und etwa 2 Minuten warten, bis die App ruhig ist.
Niemanden einen neuen Lauf starten lassen.
6. **Prüfen.**
`pwsh scripts/drills/crash-drill.ps1 -Phase after -BeforeDir C:\Belege\crash-vorher -AppVersion 1.4.1 -OutDir C:\Belege\crash-nachher`
`pwsh scripts/drills/crash-drill.ps1 -Phase after -BeforeDir C:\Belege\crash-vorher -AppVersion 1.5.0 -OutDir C:\Belege\crash-nachher`
Erwartet: zwei Zeilen `OK` und `Ergebnis: pass`. Bei `FEHLER` beide Ordner
behalten und melden.
7. **Beleg:** `crash-nachher` enthält `manifest.json`, Zustand vorher/nachher
Expand Down
2 changes: 1 addition & 1 deletion docs/drills/estop-drill.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ ProjectA-App, PowerShell 7, Node 24, `pa` im PATH und dieses Repository.
2. **Mehrere Worker starten** (mindestens drei) und warten, bis sie arbeiten.
Die App muss offen bleiben.
3. **Skript starten.** PowerShell 7 im Repository-Ordner:
`pwsh scripts/drills/estop-drill.ps1 -AppVersion 1.4.1 -OutDir C:\Belege\estop-drill`
`pwsh scripts/drills/estop-drill.ps1 -AppVersion 1.5.0 -OutDir C:\Belege\estop-drill`
(ohne `-OutDir` entsteht ein neuer Ordner mit Zeitstempel). Der Zielordner
muss neu oder leer sein. Erwartet: Zeile `>>> Jetzt Not-Aus ausloesen`.
4. **Not-Aus auslösen** (du hast 2 Minuten), auf einem von zwei Wegen:
Expand Down
8 changes: 8 additions & 0 deletions docs/drills/hq-proof-drill.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,14 @@ Repository, `pa` im Pfad (oder `-Pa <Pfad>`). Die Aufgaben-Vorlagen stehen in
[`docs/vorlagen/aufgaben.md`](../vorlagen/aufgaben.md). Die Projekt-ID zeigt
das HQ oder `pa hq runtime`. Agenten starten die App nie; das tust nur du.

Hinweise aus dem Lauf mit v1.5.0 (05.10.2026):

- Als App-Projekt muss ein **ProjectA-Checkout** dienen. Auf einem Repository
ohne `projecta.dev.json` bricht `pa hq goals create` mit
„cannot read <repo>\projecta.dev.json" ab.
- Pro Projekt ist nur **ein offenes Hauptziel** erlaubt. Weitere Aufgaben gehen
als Tasks unter dieses Ziel: `pa hq tasks create <goalId> ...`.

1. **Version notieren.** App starten, „Info" öffnen, Versionsnummer merken
(unten `1.5.0` als Beispiel).
2. **Vorher-Lauf.** Bei laufender App in PowerShell 7 im Repository-Ordner:
Expand Down
8 changes: 7 additions & 1 deletion docs/drills/provider-drill.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,12 @@ Das Skript liest nur (über `pa`); es startet nichts und verändert keine Datenb
Voraussetzung: installiertes ProjectA läuft, du bist beim Anbieter angemeldet,
PowerShell 7, Node 24, `pa` im PATH und dieses Repository sind da.

**Einschränkung in v1.5.0 (beobachtet am 05.10.2026):** `pa hq runs --project <ID>`
liefert `"runs":[]` mit `"executionEnabled":false`, auch nachdem vier Worker
gelaufen sind. Einfache Worker legen keine HQ-Läufe an. Darum kann dieser Drill
in v1.5.0 nicht bestehen; die Zeilen 11 und 12 bleiben „nicht abgedeckt", bis
die Ausführung eingeschaltet ist.

1. **Version notieren.** In ProjectA „Info" öffnen; Versionsnummer merken
(kommt als `-AppVersion` in Schritt 6).
2. **Vorher-Stand speichern.** In PowerShell 7 im Repository-Ordner:
Expand All @@ -23,7 +29,7 @@ PowerShell 7, Node 24, `pa` im PATH und dieses Repository sind da.
`snapshot.txt` und lösche vorher E-Mail-Adressen und Kontonamen. Notiere die
Uhrzeit der Ansicht.
5. **Nachher-Stand und Beleg erzeugen:**
`pwsh scripts/drills/provider-drill.ps1 -Phase After -Adapter claude -ProjectId <ID> -AppVersion 1.4.1 -SnapshotFile snapshot.txt -SnapshotSource "Claude Usage-Seite" -SnapshotObservedAt "2026-10-05 10:30" -OutDir C:\Belege\provider-claude`
`pwsh scripts/drills/provider-drill.ps1 -Phase After -Adapter claude -ProjectId <ID> -AppVersion 1.5.0 -SnapshotFile snapshot.txt -SnapshotSource "Claude Usage-Seite" -SnapshotObservedAt "2026-10-05 10:30" -OutDir C:\Belege\provider-claude`
(`-OutDir` weglassen: neuer Ordner mit Zeitstempel im aktuellen Ordner; der Zielordner muss neu oder leer sein.)
6. **Ausgabe lesen.** Erwartet: drei Zeilen mit `OK` und `Ergebnis: pass`.
Bei `FEHLER` den Ordner behalten und melden. `pass` mit „usage not_reported"
Expand Down
2 changes: 1 addition & 1 deletion docs/drills/singleton-drill.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ mindestens eine Sitzung an, damit es etwas zu vergleichen gibt.
1. **Version notieren.** Öffne „Info" in ProjectA, merke dir die Versionsnummer.
Schließe dann ProjectA ganz (auch im Tray beenden).
2. **Skript starten.** PowerShell 7 im Repository-Ordner:
`pwsh scripts/drills/singleton-drill.ps1 -AppVersion 1.4.1 -OutDir C:\Belege\singleton`
`pwsh scripts/drills/singleton-drill.ps1 -AppVersion 1.5.0 -OutDir C:\Belege\singleton`
(ohne `-OutDir` entsteht ein neuer Ordner mit Zeitstempel im aktuellen Ordner;
der Zielordner muss neu oder leer sein).
3. **Ausgangslage.** Starte ProjectA **einmal**, warte auf das Fenster, drücke im
Expand Down
Loading