diff --git a/.pa/continuous_acceptance_matrix.md b/.pa/continuous_acceptance_matrix.md index 6ee2186b..260bf437 100644 --- a/.pa/continuous_acceptance_matrix.md +++ b/.pa/continuous_acceptance_matrix.md @@ -25,7 +25,7 @@ oder das ausdrücklich benannte Nutzer-/PC-Gate. | 15 | Candidate und Evidence sind unveränderlich an Commit und Run gebunden; die Policy ist je Root einmalig eingefroren und je Run kopiert (`policy_json`); eine Policy-Revision je Candidate/Evidence (HumanPolicySnapshot, DF-13) folgt in M5. | Laufzeitbeleg über HTTP: Bindung und Idempotenz von Candidate/Evidence, Leseberechtigung nur im eigenen Run, Ablehnung fremder und stale Evidence; eine nachträglich veränderte Root-Policy ändert `policy_json` des Runs nicht und wird im Briefing als `dispatch.unresolved` ("frozen root policy") fail-closed gemeldet. | Laufzeit | offen | | 16 | Reviews sind unabhängig vom Implementierer und an denselben Candidate gebunden. | Review-Lauf mit anderer Modellfamilie; Self-review und unverified Providervergleich bleiben nicht abnahmefähig. | Nutzer-Gate | offen | | 17 | Jede akzeptierte Candidate-Änderung invalidiert Evidence und Reviews des vorherigen Candidates; in v1.5.0 kann keine Review eine Freigabe tragen (Schema-Sperre `approval_eligible = 0`, W5-02d nach M4). | Laufzeitbeleg über HTTP gegen den echten Store: Review auf Candidate A ist `valid`; nach Binden von B sind A-Evidence und A-Review `invalidated` mit `invalidatedAt` und `invalidatedByCommit = B`, auch nach Wiederöffnen des Stores; Replay desselben Commits invalidiert nichts; stale A-Einreichungen stellen keine Gültigkeit her; neue B-Einträge erwecken A nicht; `approvalEligible` bleibt durchgehend false. Belegt die Ungültigkeit der aktuellen Kette, nicht die Widerrufung einer echten Freigabe (M5). Zeile 17 erfüllt nicht die Zeilen 18 oder 27. | Laufzeit | offen | -| 18 | Delivery ist gestuft und darf nur nach gültiger Review-/Testkette integrieren. | Dry-run und echter kontrollierter Delivery-Lauf mit verweigerter und freigegebener Stufe; keine direkte Umgehung. | Nutzer-Gate | offen | +| 18 | Delivery ist gestuft und darf nur nach gültiger Review-/Testkette integrieren; für v1.5.0 ist die integrierende Stufe der menschlich kontrollierte GitHub-Pfad (PR -> Gates -> Mergify-Queue), die Continuous-Integrationsstufe bleibt verweigert (Nutzer 04.10., E20). | Laufzeitbeleg: Delivery-Dry-run plant die Stufen und schreibt den Audit-Envelope (M4-R19-05); die Continuous-Integrationsstufe wird ohne Freigabe-Autorität abgewiesen (Negativtest, approval_eligible = 0, M4-R27-04); freigegebene Stufe = ein über die Queue gemergter PR mit Review-Disposition und Run-ID im PR-Text; Branch-Protection verhindert den direkten Merge. | Laufzeit + Nutzer-Gate | offen | | 19 | Fachliche Übergänge und Fehler sind append-only nachvollziehbar; für v1.5.0 auf die sicherheitskritischen Pfade verengt (Nutzer 04.10.). | Typisierter Audit-Envelope weist Einträge ohne project/run/result/sourceRef ab (M4-R19-01); vollständige Envelopes für Not-Aus an/aus und Barrier-/Store-Fehler (M4-R19-06), für Delivery-Start/-Enqueue und W1-03f done/blocked mit Erfolg und Ablehnung (M4-R19-05) und für Planungs-Autorisierungsablehnungen und Planungs-Schreibvorgänge (M4-R19-08); je Eintrag Event-ID, Projekt, Akteur, Run, Ergebnis und Quellenreferenz; UPDATE/DELETE-Bypass wird abgewiesen. | Laufzeit | offen | | 20 | Der globale Not-Aus stoppt die gesamte Ausführung innerhalb von 10 Sekunden. | PC-Drill misst den Zeitraum vom Auslösen bis zum bestätigten Stillstand aller betroffenen Worker und dokumentiert Restprozesse. | Nutzer-Gate | offen | | 21 | Crash und Power-Loss lassen keine unklaren Claims oder stillen Zustandswechsel zurück. | Wiederanlauf-Drill an jeder kritischen Transition; Recovery bleibt blockiert, bis Prozess- und DB-Zustand reconciled sind. | Nutzer-Gate | offen | @@ -34,7 +34,7 @@ oder das ausdrücklich benannte Nutzer-/PC-Gate. | 24 | Der Benchmark misst Qualität vor Optimierung und bindet jeden Fall an Run und Evidence. | Fünf freigegebene Aufgaben aus W4-01 (oder der vom Nutzer bestätigte Umfang) mit Tokens, Zeit, Rejection, Rework und Regression; Zielwerte gelten erst nach Qualitätsgate. | Nutzer-Gate | offen | | 25 | Singleton, Mehrfachstart und Recovery sind als installierte PC-Drills bestanden. | Nutzer führt die drei Drills aus; alte Instanz scheitert kontrolliert, Nutzersitzungen bleiben erhalten, Ergebnis wird abgelegt. | Nutzer-Gate | offen | | 26 | Die vollständige Abnahme ist auf den vorgesehenen Plattformen und Gates reproduziert. | `prepush`, Linux-/Windows-Lane sowie dokumentierte Windows-/Linux-Einschränkungen sind mit Commit und Exit-Code festgehalten. | Nutzer-Gate | offen | -| 27 | Der Nutzer nimmt M4 ab und autorisiert erst danach Release v1.5.0. | Nutzer bestätigt alle 26 vorherigen Zeilen, den Not-Aus, die PC-Drills und die Releaseentscheidung; Audit zeigt danach `releaseEligible: true`. | Nutzer-Gate | offen | +| 27 | Der Nutzer nimmt M4 ab und autorisiert erst danach Release v1.5.0; der Dauerbetrieb bleibt dabei aus und ist nicht releasefähig (Nutzer 04.10., E20). | Der Nutzer bestätigt Zeilen 1–26, Not-Aus, PC-Drills und die Releaseentscheidung selbst in `.pa/release_attestation_v1.5.0.json` (`release`, `commit`, `rows 1–26`, `decidedAt`, `decidedBy`, `continuousEnabled: false`) und committet sie selbst; `npm run dev:continuous-audit -- --attestation ` zeigt `appReleaseEligible: true` bei `continuousReleaseEligible: false`. | Nutzer-Gate | offen | Weitere Pfade (Ziel/Task/Claim/Checkpoint, Intent/Launch, Kandidat/Evidence/Review, Wartung) folgen in M5 (Nutzerentscheidung 04.10.). diff --git a/README.md b/README.md index 18465f4b..76110398 100644 --- a/README.md +++ b/README.md @@ -22,8 +22,8 @@ angemeldet sein. - Windows ist das einzige paketierte Ziel. Plattformneutrale und Linux-spezifische Prüfungen laufen zusätzlich unter Linux beziehungsweise WSL2; ein Linux- oder macOS-Paket wird nicht ausgeliefert. -- Der Continuous Mode ist absichtlich abgeschaltet, bis seine Abnahme - vollständig belegt und vom Nutzer freigegeben ist. +- Der Dauerbetrieb (Continuous) ist in v1.5.0 ausgeschaltet und nicht + freigegeben. - Interne Projektunterlagen sind überwiegend auf Deutsch. ## Voraussetzungen diff --git a/docs/PLAN.md b/docs/PLAN.md index 42994d59..a6bd2dd5 100644 --- a/docs/PLAN.md +++ b/docs/PLAN.md @@ -119,7 +119,7 @@ Gedächtnis = eingebautes Claude-Gedächtnis plus memorix. | W1-27 | KI-20, doppelte `ESC[6n`-Antwort; welche Seite antwortet, entscheidet der Advisor (Nutzer 25.09.) | S | pty + fe | ✓ #140 (ersetzt das geschlossene #112; gemergt 03.10.) | | W3-08 | Paketierter HQ-v1-Beleg | S | N | offen | | ARCH-11 | KI-24b auf Windows reproduzieren, Test-DB-Wettlauf absichern (siehe Tabelle Architektur-Pakete) | S | fR + N | angenommener M3-Kandidat (Nutzer 04.10., F6); Windows-Lauf am PC des Nutzers erlaubt; offen | -| R-1 | Zwischenrelease v1.5.0-beta als Abschluss von M3; Tag und Veröffentlichung darf der Orchestrator selbst, sobald alle Gates und die 27 Matrixzeilen belegt sind (Nutzer 04.10.) | S | N + doc | offen | +| R-1 | Zwischenrelease v1.5.0-beta als Abschluss von M3; Tag und Veröffentlichung darf der Orchestrator selbst, sobald alle Gates und die 27 Matrixzeilen in der Fassung vom 04.10. belegt sind (Nutzer 04.10.) | S | N + doc | offen | ### M4 — Dauerbetrieb abgenommen, v1.5.0 @@ -160,6 +160,10 @@ Gedächtnis = eingebautes Claude-Gedächtnis plus memorix. | M4-R19-05 | Vollständige Audit-Envelopes für Delivery-Start/-Enqueue und W1-03f done/blocked mit Erfolg und Ablehnung (Matrixzeile 19) | S | st | offen | | M4-R19-06 | Vollständige Audit-Envelopes für Not-Aus an/aus und Barrier-/Store-Fehler (Matrixzeile 19) | S | st | offen | | M4-R19-08 | Vollständige Audit-Envelopes für Planungs-Autorisierungsablehnungen und Planungs-Schreibvorgänge (Matrixzeile 19) | S | api | offen | +| M4-R27-01 | Readiness für App-Release und Continuous-Release getrennt ausweisen (E20) | S | scripts | ✓ #372 | +| M4-R27-02 | Release-Attestierung für den App-Release prüfen, ohne Continuous freizugeben (E20) | S | scripts | ✓ #398 | +| M4-R27-03 | Matrixzeilen 18 und 27 an den menschlich kontrollierten App-Release-Pfad anpassen (E20) | S | doc | offen | +| M4-R27-04 | Store-Test: Continuous-Integrationsstufe wird bei `approval_eligible = 0` abgewiesen | S | st | offen | ### M5 — Aufräumen und erste Tester (nach v1.5.0) diff --git a/docs/decisions.md b/docs/decisions.md index d1e13eee..df9df657 100644 --- a/docs/decisions.md +++ b/docs/decisions.md @@ -3,6 +3,10 @@ Pro Eintrag genau drei Zeilen: **Was? — Warum? — Wann zurücknehmen?** (Log, keine zweite AGENTS.md — M12, Rev-8-SANIERUNGSPLAN §9/8.31.) +## 2026-10-05 + +- **Was?** v1.5.0 ist ein App-Release über den menschlich kontrollierten GitHub-Pfad; der Dauerbetrieb bleibt ausgeschaltet und nicht freigegeben. **Warum?** W5-02d ist nach M4 geparkt, E5 verlangt den ausgeschalteten Dauerbetrieb bis zur Abnahme, und Fable 5.1 sowie GPT-6 Astra empfahlen deshalb E20 Option A. **Wann zurücknehmen?** Sobald W5-02d gelandet ist, die ursprünglichen Matrixzeilen 18 und 27 in M5 wiederherstellen. + ## 2026-10-03 ### ADR-Vorschläge (offen)