docs: Story 3.12 abschließen — Spec done, Suggested Review Order, Status-Sync (Review-Loop-1 konvergiert, §5.18 Rev 3.7)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Michael Tamse
2026-08-21 21:24:41 +02:00
co-authored by Claude
parent d0cff08a2a
commit efcc469f3d
2 changed files with 37 additions and 12 deletions
@@ -2,7 +2,7 @@
title: 'Story 3.12 — Lease-Lifecycle und Commit-Abschluss transaktional schließen'
type: 'feature'
created: '2026-08-21'
status: 'in-review'
status: 'done'
baseline_commit: '80480af3ec910b6a00d10f4fe820131bbf79c6a5'
review_loop_iteration: 0
context:
@@ -108,22 +108,47 @@ Der Lifecycle ist der **geschlossene transaktionale Rahmen** der Koordinations-D
## Suggested Review Order
**Design-Intent (normative Instruktion)**
**Normative Verankerung (Einstieg)**
- Einstieg: die §5.18-Lifecycle-Sektion — Liveness/Ownership, Abort-/Protect-Zustandsmaschine, Baseline-Rollback Index+Worktree, durable Release + Clean-Input-Guard, kanonisches Log, Kill-Point-Tests (AC-1..7).
- Abgrenzungsklausel — Fugen-Identität §5.11/§5.12/§5.13/§5.17; Anschluss-Sutur §5.17-Pkt.-1-Z. 419 / Pkt.-6-Z. 424 („Lifecycle-Regie Story 3.12").
- §5.18 als transaktionaler Lifecycle der Koordinations-Dimension; Pkt. 2 verlangt atomare Ownership-Prüfung (Anschluss an §5.17 Sutur).
[`compiler.md:426`](../../schema/compiler.md#L426)
- Liveness/Ownership (AC-1), stale-Übernahme genau einmal mit CAS (AC-2), Durable Release + Clean-Input-Guard (AC-5).
[`compiler.md:430`](../../schema/compiler.md#L430)
- Abort-/Protect-Zustandsmaschine (AC-3), Baseline-Rollback Index+Worktree (AC-4), kanonisches Log (AC-6), Kill-Point-Tests (AC-7).
[`compiler.md:432`](../../schema/compiler.md#L432)
**Lifecycle-Mechanik (Sandbox)**
- Abort-/Protect-Zustandsmaschine (getrackt/ungetrackt; byte-identischer Restore) — abgeleitet aus sandbox-3-5-L4, gehärtet als Zustandsmaschine.
- Baseline-Rollback Index+Worktree + Kill-Point-Tests (vor Mutation/nach Mutation/vor Commit/nach Commit; Post-Rollback-Diff leer).
- Liveness/Ownership + stale-Übernahme genau einmal (Gen-Registry §5.12-Mechanik; ersetzte Holder-ID; genau eine aktive Root-Lease).
- Durable Release + Clean-Input-Guard (Lock per Ref-Delete; Worktree sauber; Folge-Run ohne INPUT_UNCOMMITTED-Abbruch).
- Atomarer Ownership-CAS im Takeover (Review-Patch Loop 1): der entscheidende Guard ist der Old-Value-Write `git update-ref <ref> <neu> <oldblob>`.
[`run-sandbox.sh:132`](./sandbox-3-12/run-sandbox.sh#L132)
- Stale-Übernahme L-2: positiver Exactly-once-CAS plus negative atomare Abweisung (falscher Old-Value → kein Clobber, genau eine aktive Root-Lease, ersetzte Holder-ID benannt).
[`run-sandbox.sh:343`](./sandbox-3-12/run-sandbox.sh#L343)
- Abort-/Protect-Zustandsmaschine L-3/L-4 (getrackt/ungetrackt, byte-identischer Restore) und Baseline-Rollback L-5/L-6 (Index+Worktree, Post-Rollback-Diff leer).
[`run-sandbox.sh:365`](./sandbox-3-12/run-sandbox.sh#L365)
- Durable Release L-7 (Lock per Ref-Delete, Clean-Input-Guard des Folge-Runs) und Kill-Point-Tests L-9 (KP1KP4).
[`run-sandbox.sh:416`](./sandbox-3-12/run-sandbox.sh#L416)
- Kanonische Log-Grenze L-8 (nur vertragskonforme Fach-/Koordinationsereignisse; präzisierter Kategorie-Check PATCH 4d).
[`run-sandbox.sh:646`](./sandbox-3-12/run-sandbox.sh#L646)
**Status- & Nachweissynchronisation (peripher)**
- Revisionsnachweis Story 3.12 in der Laufzeitakte (Verankerung, Sandbox, Abschlussklausel, Erhaltungs-Invariante).
- epic-3-context Z. 43 auf Ist-Zustand nachgeführt; Defer-Homes Story-3.12 in deferred-work.md markiert.
- Story-3.12-Eintrag im kanonischen Knowledge Log (Vertrag §5; Verankerung §5.18, Sandbox L-1..L-9).
[`log.md`](../../wiki/log.md#L1)
- Transaktionaler Lifecycle-Zielzustand auf Ist-Zustand (§5.18) nachgeführt.
[`epic-3-context.md:43`](./epic-3-context.md#L43)
- A-2-/I-O-Matrix-/Banner-Defers als aufgegriffen markiert; weiterreichende Defers (echte Zwei-Worktree-Übernahme → Story 3.13) benannt.
[`deferred-work.md:606`](./deferred-work.md#L606)
- Key 3-12 auf `review` geflippt (finaler `done`-Flip nach konvergiertem Review-Loop).
[`sprint-status.yaml:65`](./sprint-status.yaml#L65)
### Review Findings
@@ -29,7 +29,7 @@
# - Dev moves story to 'review', then runs code-review (fresh context, different LLM recommended)
# - Retrospective appends its action items to action_items; the status view surfaces open ones
generated: 08-14-2026 00:00
last_updated: 08-21-2026 20:45
last_updated: 08-21-2026 21:24
project: wow20
project_key: NOKEY
tracking_system: file-system
@@ -62,7 +62,7 @@ development_status:
3-9-deterministische-relevanz-und-reconcile-routing-schliessen: done # Review-Loop-3-Abschluss 2026-08-21 (bmad-code-review, 4 Layer; D-3.9-1/2/3 = 1/1/2 — empfohlene Optionen; kein Loopback). Hinweis: der finale `done`-Flip ist der Step-05-Status-Sync nach konvergiertem Review-Loop (Präzedenz Story 3.7/3.8); die Epic-3-Abnahme (3.13) bleibt offen (epic-3 remains in-progress).
3-10-inkrementelle-update-und-synthese-erhaltung-absichern: done # Story 3.10 Abschluss 2026-08-21 (bmad-code-review, 3 Layer; Patch-Kaskade, keine intent_gap/bad_spec — Sandbox E-1..E-9 nach Härtung 9/9 harte PASS/Exit 0, §5.16 Rev 3.5). Hinweis: die Epic-3-Abnahme (3.13) bleibt offen (epic-3 remains in-progress).
3-11-root-scope-leasing-atomar-akquirieren: done # Story 3.11 Review-Loop-1-Abschluss 2026-08-21 (bmad-code-review, 4 Layer; D-3.11-1 „Konstruktiv + härten", D-3.11-2 „Intentionalen Mutationsversuch bauen"; 20 Patches angewendet — A-2-Sampler wirksam, A-4 Worktree-Beobachtung, A-7 MERGE_OK hart abgewiesen + Post-Merge-State + Baseline im Hold-Eintrag, §5.17 Pkt. 1/4/5-Berichtigungen; Sandbox A-1..A-8 8/8 harte PASS/Exit 0 re-executiert). Hinweis: der finale `done`-Flip ist der Step-05-Status-Sync nach konvergiertem Review-Loop (Präzedenz Story 3.7/3.8/3.9); die Epic-3-Abnahme (3.13) bleibt offen (epic-3 remains in-progress).
3-12-lease-lifecycle-und-commit-abschluss-transaktional-schliessen: review # Story 3.12 Implementierung 2026-08-21 (§5.18 Revision 3.7, Sandbox L-1..L-9 9/9 harte PASS/Exit 0). Hinweis: der finale `done`-Flip ist der Step-05-Status-Sync nach konvergiertem Review-Loop (Präzedenz Story 3.7/3.8/3.9/3.10/3.11); die Epic-3-Abnahme (3.13) bleibt offen (epic-3 remains in-progress).
3-12-lease-lifecycle-und-commit-abschluss-transaktional-schliessen: review # Story 3.12 Abschluss 2026-08-21 (bmad-code-review, 4 Layer; Review-Loop-1 konvergiert: atomarer Ownership-CAS im Takeover, AK-2->AC-2, L-2-Negativ-CAS, Sandbox-Härtung; §5.18 Revision 3.7, Sandbox L-1..L-9 9/9 harte PASS/Exit 0 re-executiert). Hinweis: der finale `done`-Flip ist der Step-05-Status-Sync nach konvergiertem Review-Loop (Präzedenz Story 3.7/3.8/3.9/3.10/3.11); die Epic-3-Abnahme (3.13) bleibt offen (epic-3 remains in-progress).
3-13-epic-3-verifikations-und-abnahmegate: backlog
epic-3-retrospective: optional