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
1 change: 1 addition & 0 deletions docs/PLAN.md
Original file line number Diff line number Diff line change
Expand Up @@ -740,6 +740,7 @@ ohne direkten Ticketzugriff wird daraus kein zusätzlicher Ausführungsbeleg abg
| V16-F4 | Review-Fahrer auf den Server? | ja | offen |
| WERKBANK-E1–E4 (11.10.) | Sammeleintrag Werkbank je Projekt; Feintuning als Agenten-Einstellung; nur eigene Entwicklungs-Datenbanken lesend; ArtCraft-Varianten vor Glass-UI-Paketen | alle vier Empfehlungen | beantwortet: Elias 11.10. ~01:50 CEST, „Ich nehme alle Empfehlungen bei den Entscheidungen E1-E4 an“; Nummern der Root-Karten, nicht die E-Nummern oben; Ausführung ab `docs/plan/v2.0/werkbank.md` |
| V2-ENG (15.10.) | v2.0.0 eng oder weit (Karte E1 zum Schnitt vom 11.10.) | eng: Hülle + Leitstand; Kriterien 7, 12, 15, 16 (und 14) → v2.1 | beantwortet: Elias 15.10. ~02:55 MESZ, „V2.0.0 eng“; Eintrag und Restpaketliste in `docs/decisions.md` („2026-10-15 - v2.0 eng (narrow)“) und `docs/plan/v2.0/plan.md` („Restpakete v2.0 (eng)“); kein Release freigegeben |
| SERVER-SEAM (15.10.) | `run-job.sh`: `PA_SEAM_ALLOW` aus einer von Root gesetzten Auftragszeile `SEAM_ALLOW=` durchreichen (Server-Aufträge können heute keine Nahtstelle bearbeiten; blockiert den Windows-Flake-Fix) | Root setzt die Zeile je Auftrag, nie der Worker selbst (AGENTS.md Regel 6) | offen; Umsetzung nicht begonnen |
| E9 (11.10.) | REA-Verhaltenstest an Warp (Konkurrenztest) | gestoppt: Warp-Nutzungsbedingungen §2.3(vii) verbieten, die Dienste zum Bau eines Konkurrenzprodukts zu nutzen; nichts installiert oder ausgeführt. Bis auf Weiteres Konkurrenten über offenen Quellcode untersuchen (z. B. Paperclip (MIT), OpenCode, agent-orchestrator); vor jedem Konkurrenztest die Nutzungsbedingungen prüfen | beantwortet: Elias 11.10. ~03:55Z „ich folge deinen Empfehlungen“ auf Roots E9-Bericht; offen nur bei Bedarf: Warp schriftlich um Erlaubnis fragen oder Rechtsrat einholen; Regel in `orchestration-standing-rules` (11.10.) |
| V16-D2 | ARCH-D2 vor V16-06 ziehen, weil V16-06 auf V16-F3 wartet? | ja, Lane mn ist frei | entschieden: Root-JA, Übergabe vom 08.10. `msg-0muzkavts-72d53e4b`; `srv-v16-arch-d2` ist exklusiver mn-Owner; Start ist keine Abnahme |
| WT | Gemini-/Cursor-Weg auf dem Server: Workspace Trust für den Review-Ordner | nur für den Review-Ordner | entschieden: Nutzerfreigabe F1 (08.10.) |
Expand Down
34 changes: 17 additions & 17 deletions docs/plan/v2.0/plan.md
Original file line number Diff line number Diff line change
Expand Up @@ -391,10 +391,10 @@ Alles Folgende ist aus den 36 Ergänzungen vom 06.10. (Zuordnung Punkt → Paket
| V2-GATE-DESIGN | Design-Gate aus den Audit-Skripten: Kopfzeile, Radien, Schalterfarbe, Zustandsformen, Kontrast, abgeschnittener Text ohne Titel. Die Skripte liegen nicht im Repo (Beleg `evidence-r2.md`); der Koordinator übergibt sie, `contrast-check.mjs` ist der Kontrast-Teil | ci | – | B | M | V2-F1, V2-F3, Skripte vom Koordinator | glm-5.3 | je Regel ein roter Fall; grün auf der Schale |
| V2-GATE-PERF | Leistungsbudgets: Startzeit, RAM je Agent, Leerlauf-CPU. **Das Paket misst zuerst** (drei Läufe, Streuung), bevor es Grenzen festlegt | ci | – | B | M | G0 | sol | Messprotokoll im PR; Gate rot bei Überschreitung des gemessenen Budgets plus Toleranz |
| V2-E2E-0 | Playwright-Rahmen: ein Durchlauf je Kernseite als Gate, schreibt Schritte und Bilder in ein Ablauf-Protokoll (`@playwright/test` ist vorhanden, `package.json:62`, keine neue Abhängigkeit) | ci + fe | – | B | M | V2-F7 | glm-5.3 | Durchlauf der Schale grün; Protokoll mit Bildern je Schritt |
| V2-UAT-1 | Nutzerabnahme je Welle: Beta-Build über den internen Kanal, Klick-Checkliste (höchstens 10 Punkte, einfache Worte), kurzes Bildschirmvideo, „neu / bewiesen / nicht abgedeckt“; dazu **Lernmodus** (früher V2-LEARN-1): je Welle eine Seite in einfachen Worten, was gebaut wurde und warum, und ein Glossar. Vorlage und Skript | doc + ci | – | C | S | V2-BETA-1 | glm-5.3 | Vorlage im Repo; erste Welle durchgespielt; der Nutzer gibt frei, was er gesehen hat; Glossar-Begriffe stehen im Glossar |
| V2-BETA-1 | Interner Beta-Kanal: Updater-Endpunkt und Release-Weg für Beta-Builds, nie öffentlich ohne Freigabe; Eingriff in `release.yml` | ci + N | – | A | M | G0, Freigabe des Nutzers | astra | Beta-Build erreicht nur den internen Kanal (Test mit Endpunkt); Veröffentlichung braucht den Nutzer |
| V2-UAT-1 | Nutzerabnahme je Welle: Beta-Build über den internen Kanal, Klick-Checkliste (höchstens 10 Punkte, einfache Worte), kurzes Bildschirmvideo, „neu / bewiesen / nicht abgedeckt“; dazu **Lernmodus** (früher V2-LEARN-1): je Welle eine Seite in einfachen Worten, was gebaut wurde und warum, und ein Glossar. Vorlage und Skript | doc + ci | – | C | S | V2-BETA-0 | glm-5.3 | Vorlage im Repo; erste Welle durchgespielt; der Nutzer gibt frei, was er gesehen hat; Glossar-Begriffe stehen im Glossar |
| V2-BETA-1 | **Stand: entfällt (V2-BETA-0).** Interner Beta-Kanal: Updater-Endpunkt und Release-Weg für Beta-Builds, nie öffentlich ohne Freigabe; Eingriff in `release.yml` | ci + N | – | A | M | G0, Freigabe des Nutzers | astra | Beta-Build erreicht nur den internen Kanal (Test mit Endpunkt); Veröffentlichung braucht den Nutzer |

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Lass V2-BETA-1 bis zur Nutzerentscheidung offen

Diese Zeile erklärt V2-BETA-1 bereits für entfallen und Zeile 394 ersetzt es zugleich als Voraussetzung von V2-UAT-1, obwohl die neue V2-BETA-0-Zeile 794 ausdrücklich festhält, dass dies nur eine Empfehlung ist und Elias’ Bestätigung noch aussteht. Dadurch kann die kanonische Planung die Nutzerabnahme ohne den internen Beta-Kanal fortsetzen, bevor der Nutzer diese Scope-Änderung beschlossen hat; bis zur Bestätigung müssen V2-BETA-1 und die ursprüngliche Abhängigkeit offen bleiben.

AGENTS.md reference: AGENTS.md:L165-L169

Useful? React with 👍 / 👎.

| V2-MIG-1 | Migration 1.5 → 2.0 mit Rückweg: Kopie einer echten v1.5.1-Datenbank durch alle neuen Migrationen, Vorab-Sicherung (`store.rs:859`), Rücksprung auf die Sicherung | fR | – | A | M | V2-ST-C2 | astra | Zeilenzahlen gleich; Rücksprung belegt; Drill am PC mit dem Nutzer |
| V2-UPD-1 | Updater: Abbrechen-Knopf und Versionsanzeige nach dem Neustart (Lücken aus dem Update-Drill vom 06.10.; Beleg `evidence-r2.md`); Zusammenarbeit mit V2-R-06 | fe + mn | main (Haken in MN-C) | A | M | V2-MN-C | astra | Test: Abbrechen lässt die alte Version laufen; nach dem Neustart steht die neue Version da |
| V2-UPD-1 | **Stand: gemergt #1487 (Glass-Einstellungen), Folgefix #1514.** Updater: Abbrechen-Knopf und Versionsanzeige nach dem Neustart (Lücken aus dem Update-Drill vom 06.10.; Beleg `evidence-r2.md`); Zusammenarbeit mit V2-R-06 | fe + mn | main (Haken in MN-C) | A | M | V2-MN-C | astra | Test: Abbrechen lässt die alte Version laufen; nach dem Neustart steht die neue Version da |
| V2-LEARN-2 | Portfolio-Seite mit Belegen als Grundlage für die Bewerbung (IT-Ausbildung). **Wird lokal erzeugt und nie eingecheckt** (öffentliches Repo: nichts Persönliches) | fe | – | B | M | V2-UAT-1 | terra | Seite entsteht aus Journal und PR-Belegen; `git status` zeigt sie nicht als versionierbar |
| V2-KPI-1 | Leitzahl statt Durchsatz: Kernteile mit bestandener Nutzerabnahme, Funktionen, die ein Tester benutzt hat (Nutzungsprotokoll mit Opt-in, V2-B26); dazu die **Prozess-Diät** (früher V2-DIET-1): Anteil Prozess- und Doku-Pakete je Woche (Grenze 20 %), neue Prozess-Werkzeuge nur gegen ein altes; Erweiterung von `bench-weekly.mjs` | ci | – | B | M | V2-UAT-1 (zweite Zahl erst mit V2-B26) | glm-5.3 | Wochenausgabe nennt die Zahlen mit Quelle; die Zahl gemergter PRs bleibt nur Nebenwert; Beleg heute: 87 von 281 PRs mit „fix“, 52 mit „docs“ im Titel (`evidence-r2.md`) |
| V2-HYG-1 | Hygiene-Check erweitern (`scripts/dev/hygiene.mjs`, Prüfung 5): Dateien mit Shell-Zeichen im Namen und Rückstand des Hauptcheckouts gegen `origin/main`; nur melden. Aufräumen nur mit Sicherung und Freigabe des Nutzers (Frage 12) | doc | – | B | S | G0 | glm-5.3 | roter Test mit einer Datei `!fs.existsSync(dir`; Ausgabe nennt den Rückstand |
Expand Down Expand Up @@ -778,20 +778,20 @@ Hinweis: Frage 1 in Abschnitt 7 („der Schalter fällt mit v2.0 weg“) ist dur

Stand 15.10.2026, `origin/main` @ `9903b4cd`. Jede Aussage stammt aus `git log origin/main`, `gh pr list --state all` und dem Code an diesem Stand; was ich nicht belegen konnte, steht als **UNKNOWN**. Umfang S ≤ 150, M ≤ 300 Diffzeilen; Stufe nach AGENTS.md Regel 5. Kein Paket berührt eine der vier Nahtstellen (`api.rs`, `main.rs`, `store.rs`, `bin/pa.rs`).

**Erledigt (belegt):** Fundament V2-F1 bis V2-F9, V2-FLAG-1, V2-IA-1 (Routen `src/shell/`, `src/design/`, `src/flags/`); Leitstand V2-S01a/b/d (Karten, Braucht dich, Betrieb, Terminal), V2-B3, V2-B4a, V2-B22; V2-E2E-0 (`e2e/shell.core.spec.ts`); Not-Aus in der Kopfleiste (#1370). COMP-Pakete gemergt: 1-1, 1-2, 2-1, 3-1, 3-2, 4-1, 6-1, 9-1 (#1437, #1452, #1434, #1436, #1458, #1450, #1453, #1448). **In der Queue:** COMP-2-2 (#1455, Queue-PR #1473). **Quelle der COMP-Definitionen:** der Orchestrator-Bericht PLAN-COMP-V2-1 vom 14.10.2026; er liegt außerhalb des Repos, im Repo gibt es keine COMP-Definition (`grep -rn "COMP-" docs` trifft nur den Paperclip-Verweis in `docs/PLAN.md`). Die Tabelle unten ist daraus übernommen.
**Erledigt (belegt):** Fundament V2-F1 bis V2-F9, V2-FLAG-1, V2-IA-1 (Routen `src/shell/`, `src/design/`, `src/flags/`); Leitstand V2-S01a/b/d (Karten, Braucht dich, Betrieb, Terminal), V2-B3, V2-B4a, V2-B22; V2-E2E-0 (`e2e/shell.core.spec.ts`); Not-Aus in der Kopfleiste (#1370). COMP-Pakete gemergt: 1-1, 1-2, 2-1, 3-1, 3-2, 4-1, 6-1, 9-1 (#1437, #1452, #1434, #1436, #1458, #1450, #1453, #1448), COMP-2-2 (#1455), dazu am 15.10. COMP-3-3, 1-3, 4-2, 9-2 (siehe 10.1b). **Quelle der COMP-Definitionen:** der Orchestrator-Bericht PLAN-COMP-V2-1 vom 14.10.2026; er liegt außerhalb des Repos, im Repo gibt es keine COMP-Definition (`grep -rn "COMP-" docs` trifft nur den Paperclip-Verweis in `docs/PLAN.md`). Die Tabelle unten ist daraus übernommen.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Aktualisiere den belegten main-Stand

Die neu ergänzten Merge-Aussagen stehen unter der weiterhin geltenden Angabe in Zeile 779, jede Aussage und Codeprüfung beziehe sich auf origin/main @ 9903b4cd; git log --first-parent 9903b4cd..aa543e^ zeigt jedoch, dass unter anderem #1483, #1485, #1486, #1494 und #1500 erst danach gemergt wurden. Ein Checkout des dokumentierten Stands kann diese Statusangaben daher nicht reproduzieren; bitte den SHA auf den tatsächlich geprüften Stand aktualisieren oder die späteren Aussagen jeweils ausdrücklich an einen neueren Beleg binden.

AGENTS.md reference: AGENTS.md:L44-L47

Useful? React with 👍 / 👎.


#### 10.1a Pakete für die Kriterien (v2.0)

| ID | Ziel | Dateien | Nahtstelle | Stufe | Umfang | Voraussetzung | Abnahmebefehl | Owner |
|---|---|---|---|---|---|---|---|---|
| V2-D1-ON | D1 standardmäßig an, Rückweg bleibt. Heute `defaultEnabled: false` (`src/flags/featureFlags.ts:32`), `isFeatureFlagEnabled` liest nur `"1"`, „aus“ löscht den Schlüssel (`:66-76`); ohne Änderung käme D1 nach dem Ausschalten zurück. Also: Standard je Schalter, D1 an, ausdrückliches „aus“ als `"0"` gespeichert; `fernansicht`, `kundenprojekte` bleiben aus | `src/flags/featureFlags.ts`, `featureFlags.test.ts:16-23` (Test „defaults every registered flag to off including D1“ wird gedreht), Tests unter `src/shell/mount/`, `src/App*.test.tsx` je nach Treffer (**UNKNOWN**, wie viele Tests den alten Standard voraussetzen) | nein | B | M | – (Merge erst nach V2-ACC1b, siehe Hinweis) | `npx vitest run src/flags src/shell src/App.test.tsx` und `npm run build` Exit 0; roter Test zuerst: D1 ohne Schlüssel = an, nach `setFeatureFlagEnabled("d1_neue_oberflaeche", false)` = aus, auch nach Neuladen | Agent |
| V2-SCOPE-1 | Seitenleiste und Palette zeigen nur Bereiche von Hülle + Leitstand; die übrigen (v2.1 und später) hinter Schalter. Beleg der Lücke: `Shell.tsx:25` filtert nur nach `icon`, `CommandPalette.tsx:14` listet alle `ROUTES`, kein `FeatureGate` unter `src/shell` oder `src/screens`; `/steuerung`, `/start`, `/beweise` sind unter D1 gemountet (`routing.ts`) | `src/shell/Shell.tsx`, `src/shell/routes.ts`, `src/shell/header/CommandPalette.tsx`, `src/flags/featureFlags.ts` (neuer Schalter), Tests | nein | B | M | **Entscheid Elias:** welche Einträge gehören zur Hülle (Vorschlag: Leitstand, Einstellungen; Ersteinrichtung bleibt über `/start`), V2-D1-ON zeitgleich geplant | roter Test: bei D1 an und Schalter „weitere Bereiche“ aus fehlen die Einträge und `resolveRoute` landet auf `/leitstand`; `npx vitest run src/shell` Exit 0 | Agent (nach Entscheid) |
| V2-ACC1a | Kriterium 4: zweite Zustandsdefinition abbauen. Heute 164 Treffer von `--state-` in `src/styles.css` (Definition `:156-171`) und 10 in vier Tests; `src/design/` enthält `--state-` gar nicht (sechs Zustände stehen als `.g-st--*` in `src/design/state/state.css`) | `src/styles.css`, vier Tests, ein Gate-Skript unter `scripts/ci/` | nein | B | M, **UNKNOWN** (bis 2×M, erst messen) | – | `rg -ln -e '--state-' src` zeigt nur noch erlaubte Orte; Gate gegen neue Definition grün; `bash scripts/ci/gates.sh lane prepush` Exit 0 | Agent |
| V2-D1-ON | **Stand: PR #1484 offen, `do-not-merge` bis V2-ACC1b.** D1 standardmäßig an, Rückweg bleibt. Heute `defaultEnabled: false` (`src/flags/featureFlags.ts:32`), `isFeatureFlagEnabled` liest nur `"1"`, „aus“ löscht den Schlüssel (`:66-76`); ohne Änderung käme D1 nach dem Ausschalten zurück. Also: Standard je Schalter, D1 an, ausdrückliches „aus“ als `"0"` gespeichert; `fernansicht`, `kundenprojekte` bleiben aus | `src/flags/featureFlags.ts`, `featureFlags.test.ts:16-23` (Test „defaults every registered flag to off including D1“ wird gedreht), Tests unter `src/shell/mount/`, `src/App*.test.tsx` je nach Treffer (**UNKNOWN**, wie viele Tests den alten Standard voraussetzen) | nein | B | M | – (Merge erst nach V2-ACC1b, siehe Hinweis) | `npx vitest run src/flags src/shell src/App.test.tsx` und `npm run build` Exit 0; roter Test zuerst: D1 ohne Schlüssel = an, nach `setFeatureFlagEnabled("d1_neue_oberflaeche", false)` = aus, auch nach Neuladen | Agent |
| V2-SCOPE-1 | **Stand: PR #1499 offen, `do-not-merge`, wartet auf Elias' Liste der Hüllen-Einträge.** Seitenleiste und Palette zeigen nur Bereiche von Hülle + Leitstand; die übrigen (v2.1 und später) hinter Schalter. Beleg der Lücke: `Shell.tsx:25` filtert nur nach `icon`, `CommandPalette.tsx:14` listet alle `ROUTES`, kein `FeatureGate` unter `src/shell` oder `src/screens`; `/steuerung`, `/start`, `/beweise` sind unter D1 gemountet (`routing.ts`) | `src/shell/Shell.tsx`, `src/shell/routes.ts`, `src/shell/header/CommandPalette.tsx`, `src/flags/featureFlags.ts` (neuer Schalter), Tests | nein | B | M | **Entscheid Elias:** welche Einträge gehören zur Hülle (Vorschlag: Leitstand, Einstellungen; Ersteinrichtung bleibt über `/start`), V2-D1-ON zeitgleich geplant | roter Test: bei D1 an und Schalter „weitere Bereiche“ aus fehlen die Einträge und `resolveRoute` landet auf `/leitstand`; `npx vitest run src/shell` Exit 0 | Agent (nach Entscheid) |
| V2-ACC1a | **Stand: gemergt #1494 (Ratsche gegen neue `--state-`-Treffer); der Wortlaut von Kriterium 4 bleibt offene Entscheidung von Elias.** Kriterium 4: zweite Zustandsdefinition abbauen. Heute 164 Treffer von `--state-` in `src/styles.css` (Definition `:156-171`) und 10 in vier Tests; `src/design/` enthält `--state-` gar nicht (sechs Zustände stehen als `.g-st--*` in `src/design/state/state.css`) | `src/styles.css`, vier Tests, ein Gate-Skript unter `scripts/ci/` | nein | B | M, **UNKNOWN** (bis 2×M, erst messen) | – | `rg -ln -e '--state-' src` zeigt nur noch erlaubte Orte; Gate gegen neue Definition grün; `bash scripts/ci/gates.sh lane prepush` Exit 0 | Agent |

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Halte V2-ACC1a bis zur erfüllten Abnahme offen

Der Status „gemergt #1494“ stellt V2-ACC1a als geliefert dar, obwohl #1494 nur die Ratsche ergänzt (scripts/ci/ratchets.json:6 erlaubt weiterhin 191 Treffer), die hier weiterhin verlangte Bereinigung nicht erfüllt ist und Zeile 801 sogar den endgültigen Kriteriumswortlaut als offene Nutzerentscheidung bezeichnet. Da V2-ACC1b diese Zeile als Voraussetzung führt, kann Kriterium 4 sonst ohne erfüllte Abnahme als abgeschlossen behandelt werden; #1494 sollte als Teilergebnis erfasst und V2-ACC1a offen bleiben.

AGENTS.md reference: AGENTS.md:L156-L160

Useful? React with 👍 / 👎.

| V2-ACC1b | Gesamtabnahme Hülle + Leitstand: je Kriterium 1, 2 (Bildliste), 3, 5, 6, 8, 9 ein Befehl mit Ausgabe im PR; Tab-Test je Route; D1 an; Verlauf-Tab und v2.1-Routen sichtbar oder nicht (**UNKNOWN**, `routes.ts` führt `/leitstand/verlauf`) | Tests, `scripts/dev/shot.mjs`-Aufruf, PR-Text | nein | B | M | V2-ACC1a, V2-SCOPE-1, COMP-2-2 | Tabelle „Kriterium → Befehl → Exit-Code“ im PR; `npm run build` und `bash scripts/ci/gates.sh lane prepush` Exit 0 | Agent |
| V2-SHOT-BASE | Bildbasis: je Route von Hülle + Leitstand ein Bild hell und eines dunkel (1440×900), angesehen und gegen die Boards verglichen (Kriterium 2). Der Agent erzeugt die Bilder mit `npm run dev:shot`, der Nutzer sieht sie an. Anzahl der Routen **UNKNOWN** (legt V2-ACC1b fest) | `docs/design/2026-10-ui-v2/glass/` (Boards), Bilder lokal, nicht im Repo | nein | C | – | V2-D1-ON lokal an, V2-SCOPE-1 | Nutzer bestätigt „gesehen, Abweichungen siehe PR“ | **Elias** |
| V2-UAT-1a | Vorlage und Klick-Checkliste (höchstens 10 Punkte, einfache Worte) für Hülle + Leitstand, „neu / bewiesen / nicht abgedeckt“, Glossar | `docs/` (neues Dokument), kein Code | nein | C | S | V2-ACC1b | `npm run dev:agent-check` Exit 0; Checkliste ≤ 10 Punkte | Agent |
| V2-UAT-1b | Nutzer klickt die Checkliste auf dem Beta-Build durch, kurzes Video, gibt frei, was er gesehen hat (Kriterium 13) | – | nein | – | – | V2-UAT-1a, V2-BETA-0 | Freigabe im Chat, im PR-Text vermerkt | **Elias** |
| V2-BETA-0 | PRÜFEN: genügt der Dev-Installer nach jedem `main`-Push (DEV-AUTO-1, `docs/setup/dev-build.md`) als „interner Beta-Kanal“ für Checkliste und Update-Drill, oder braucht es V2-BETA-1 (`release.yml`, Stufe A)? V2-BETA-1 und V2-UPD-1 (Abbrechen-Knopf, Versionsanzeige) haben **keinen gemergten PR gefunden**; ob V16-UPD-CANCEL V2-UPD-1 ersetzt, ist **UNKNOWN** | nur Bericht | nein | C | – | – | Bericht mit Befehl und Beleg je Frage | Agent (nur lesend) |
| V2-BETA-0 | **Stand: Bericht fertig (pa-orch-Bericht `v2-beta-0-20261015`, außerhalb des Repos): der Dev-Installer genügt für die Klick-Checkliste, V2-BETA-1 entfällt; der Update-Drill läuft über den echten Release-Weg (Empfehlung des Berichts; Bestätigung durch Elias steht aus).** PRÜFEN: genügt der Dev-Installer nach jedem `main`-Push (DEV-AUTO-1, `docs/setup/dev-build.md`) als „interner Beta-Kanal“ für Checkliste und Update-Drill, oder braucht es V2-BETA-1 (`release.yml`, Stufe A)? V2-UPD-1 (Abbrechen-Knopf, Versionsanzeige) ist inzwischen gemergt (#1487) | nur Bericht | nein | C | – | – | Bericht mit Befehl und Beleg je Frage | Agent (nur lesend) |
| V2-E14 | Updater-Signierschlüssel finden und verschlüsselt sichern (`docs/PLAN.md` Z4-E14, E14); kein Schlüssel in Datei, Log oder Commit | – | nein | – | – | – | Nutzer bestätigt die verschlüsselte Sicherung; Stand heute: „Durchführung nicht belegt“ | **Elias** |
| V2-DRILL | Update-Drill am eigenen PC: v2.0 über den Updater installieren, Abbrechen und Versionsanzeige prüfen (Kriterium 11) | – | nein | – | – | V2-BETA-0, V2-E14 | Nutzer bestätigt Installation und Neustart mit neuer Version | **Elias** |
| V2-REL | Release v2.0.0: Version 1.6.4 → 2.0.0, CHANGELOG, Tag, Veröffentlichung. Ein Agent bereitet Version und CHANGELOG als PR vor (nicht in die Queue), die Veröffentlichung bleibt beim Nutzer; **ein Hauptrelease braucht ein neues, ausdrückliches Ja** (AGENTS.md Regel 10) | `package.json`, `src-tauri/tauri.conf.json`, `src-tauri/Cargo.toml`, `CHANGELOG.md` | nein | B | S | V2-D1-ON gemergt, V2-ACC1b, V2-UAT-1b, V2-DRILL, V2-E14 | Release-Run grün, anonymes `latest.json` zeigt 2.0.0 (`gh release list`) | Agent (Vorbereitung) + **Elias** (Ja, Veröffentlichung) |
Expand All @@ -806,12 +806,12 @@ Diese Pakete füllen Lücken auf dem Leitstand (Fluss, Lampen, Beweisleiste, Kon

| ID | Ziel | Umfang | Voraussetzung | Stand |
|---|---|---|---|---|
| COMP-3-3 | Reiter `/leitstand/fluss` | ~240 | COMP-3-2, #1333 (beide gemergt) | startbar |
| COMP-1-3 | Lampe im Fluss | ~100 | COMP-3-3, COMP-1-1 | wartet |
| COMP-4-2 | Beweisleiste auf der Karte | ~160 | COMP-1-2, COMP-4-1 (beide gemergt) | startbar |
| COMP-6-2 | Kontingent-Balken im Fluss | ~220 | COMP-1-3, COMP-6-1 | wartet |
| COMP-4-3 | Beweisleiste im Fluss | ~120 | COMP-6-2, COMP-4-1 | wartet |
| COMP-9-2 | eine Karte je Queue-Zeile | ~180 | COMP-9-1 (gemergt) | startbar |
| COMP-9-3 | Zeilenchip in Betrieb | ~200 | COMP-9-2, #1340 (gemergt) | wartet |

Größen sind die Schätzungen des Berichts, nicht gemessen. Ob schon ein Auftrag für 4-2, 1-3 oder 9-2 läuft, ist **UNKNOWN** (offene PRs 15.10.: keiner mit diesen Namen).
| COMP-3-3 | Reiter `/leitstand/fluss` | ~240 | COMP-3-2, #1333 (beide gemergt) | gemergt #1486 |
| COMP-1-3 | Lampe im Fluss | ~100 | COMP-3-3, COMP-1-1 | gemergt #1500 |
| COMP-4-2 | Beweisleiste auf der Karte | ~160 | COMP-1-2, COMP-4-1 (beide gemergt) | gemergt #1483 |
| COMP-6-2 | Kontingent-Balken im Fluss | ~220 | COMP-1-3 (gemergt), COMP-6-1 | in Arbeit (Server-Auftrag, Branch `claude/v2-comp-6-2`) |

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Belasse COMP-6-2 ohne Laufbeleg bei „nicht gestartet“

Diese Zeile setzt COMP-6-2 auf „in Arbeit“, obwohl der Commit-Bericht als einzigen überprüften Befehl eine leere PR-/Branch-Suche nennt und unter NICHT ABGEDECKT ausdrücklich festhält, dass der Zustand nur aus einer Orchestrator-Angabe übernommen wurde. Ein erteilter Server-Auftrag belegt noch keinen tatsächlich laufenden Worker; falls er nie gestartet ist, wartet COMP-4-3 hier fälschlich und die Koordination kann eine nicht belegte Belegung reservieren. Den Auftrag daher getrennt als disponiert markieren und „in Arbeit“ erst nach einem beobachteten Laufprotokoll, nativen Ziel oder Branch verwenden.

AGENTS.md reference: AGENTS.md:L142-L146

Useful? React with 👍 / 👎.

| COMP-4-3 | Beweisleiste im Fluss | ~120 | COMP-6-2, COMP-4-1 | wartet auf COMP-6-2 |
| COMP-9-2 | eine Karte je Queue-Zeile | ~180 | COMP-9-1 (gemergt) | gemergt #1485 |
| COMP-9-3 | Zeilenchip in Betrieb | ~200 | COMP-9-2, #1340 (gemergt) | abgedeckt durch #1485 (`QueueCard.tsx` zeigt je Zeile das Größen-Abzeichen aus `sizeChip`) |

Größen sind die Schätzungen des Berichts, nicht gemessen. Stand der Spalte: 15.10.2026 vormittags, PR-Nummern mit `gh pr view <n> --json state,mergeCommit` geprüft.
Loading