Commit Graph
70 Commits
Author SHA1 Message Date
Michael Tamse 0d79421969 retro auf Epic 3 2026-08-24 16:36:42 +02:00
Michael TamseandClaude 3f57586a50 feat: Story 3.13 finaler Status-Sync — done-Flip + Epic 3 done (Step-05 nach grünem Re-Run #10 + konvergiertem Review-Loop-2)
Grüner Re-Run #10 (committed 09c1c83): FAILED=0 PASS_COUNT=51, SANDBOX-3-13-OK,
RUN_OK/Exit 0 — A.5 Pre-Check sauber, C 12/12, D 4/4 SUCCESS, D-NEG 3×FAIL+1×SUCCESS,
E.4 NON_AT=0 AT=2, E.6 Feldsatz-exakt (P-L2-2) + A==B + Known-Value-Witness (P-L2-1),
E.9 kanonische 'Baseline $BASE'-Form (P-L2-6), F G-1..G-8 (G-6 Negativ-/Positiv-Kontrolle),
G-8 Porcelain-Clean (inkl. Untracked) + AD-3 Read-only ohne Diff.
Review-Loop-2 konvergiert (bmad-code-review 4 Layer): 38 rohe → 4 decision-needed /
11 patch / 2 defer / 4 dismissed; alle Entscheidungen mit ProMods geschlossen,
alle Patches P-L2-1..11 angewendet (Gate 1005 Z., bash -n clean).

Status-Sync (Präzedenz 3.7–3.12):
- spec-3-13 Frontmatter status: done, review_loop_iteration: 2; Tasks L71/L72/L75 getickt
- sprint-status.yaml: Key 3-13 → done, epic-3 → done (AC-9: alle Stories 3.1–3.13 done),
  last_updated → 08-24-2026 13:22
- deferred-work.md: 3.13-Home-Defers (L551/560/576/594/597/611/629/633) über den
  "Aufgegriffen: Story-3.13-Abnahme als Home"-Block erledigt (bereits in 09c1c83);
  Review-Loop-2-Block (W-L2-1/2 + D-3.13-L2-1/2/3) als offene Defers → Rev 3.9/Epic-4
- epic-3-context.md: Ist-Zeilen (Z.7/46/52) auf grünen Re-Run #10 + done nachgeführt
- wiki/log.md: neuer ## 2026-08-24-Eintrag (append-only, P-12-Präzedenz; bestehende
  Datumsgruppen unverändert) — Review-Loop-2-Abschluss + grüner Re-Run #10 + done-Flip

Erhaltungs-Invariante §5.9 Pkt. 5 gewahrt: git status --porcelain -- wiki/ zeigt nur
diesen log-Eintrag; AD-3 Read-only (schema/validator.md, schema/wiki-compiler.md,
schema/compiler.md, adapters/, raw/, schema/canonical-terms.md) unverändert;
kein Standalone (D-3), keine neue §7-Invaliditätsklasse, keine Vertragsänderung.
epic-3-retrospective (optional) bleibt offen.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-24 13:36:07 +02:00
Michael TamseandClaude 09c1c83a5a fix: Story 3.13 Review-Loop-2-Auflösung (bmad-code-review 4 Layer, Diff 50f3628..HEAD + working tree): 38 rohe → 4 decision-needed / 11 patch / 2 defer / 4 dismissed; alle Entscheidungen mit ProMods geschlossen (D-3.13-L2-1 B2-Reihenfolge-Pin+§8-Überreich = Defer+Bearer-Fix, D-3.13-L2-2 Datumsgruppen-Wanduhr = Defer+Gate-Dokumentation, D-3.13-L2-3 AC-6-CREATE-Residual = Defer+Substitutions-Notiz, D-3.13-L2-4 frozen-L24-Wortung = dokumentierte Abweichung annotiert); Patches P-L2-1..P-L2-11: E.6 Known-Value-Witness (baseline==$BASE + sources_added==raw/alpha-v2.md) + Feldsatz-exakt-Check (4 Felder, keine Fremdzeilen), AGENT_PROMPT-Receipt-Form präzisiert (GATE-spezifisch vs. compiler.md-Konzept §5.14 Pkt. 2, kommagetrennt oh. Leerzeichen, lex LC_ALL=C), E.9 kanonische 'Baseline $BASE'-Form hart (Rev 3.8), P-16 Floor auf Dezimalzwang (10#), A.2-Meldung 5 Referenzen, D-NEG.3-Punktbezeichnung, Spec-Doku-Sync (Review-Loop-2-Sektion, Change-Log, #6/#7-Teilkorrektur); Status: in-progress (grüner Re-Run #10 + Step-05-Status-Sync ausstehend), bash -n clean (1005 Z.)
Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-24 12:13:03 +02:00
Michael TamseandClaude cccc0a35e9 fix: Story 3.13 Re-Run-#8-Auflösung (P-19): E.6-Feld-Dreideutigkeit — AGENT_PROMPT pinst 'baseline' (Vor-Mutation-HEAD) + 'sources_added' (neue resource:-Werte der Frontmatter-sources:-Liste, sortiert) als reine Funktionen der Lauf-Eingaben; E.6-Assertion (A==B byte-identisch) unverändert; P-18 bestätigt (5/5 Receipts); C 12/12 + D/D-NEG/E.1-E.5 grün (E.4 NON_AT=0 AT=2, Rev 3.8 dreifach); Status-Sync (Spec Change Log)
Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-24 09:41:36 +02:00
Michael TamseandClaude 65dfc26961 fix: Story 3.13 Re-Run-#7-Auflösung (P-18) — AGENT_PROMPT entkoppelt den
Run-Receipt als verpflichtenden Gate-Reporting-Lieferant von compiler.md

Befund Re-Run #7 (grün bis E.6): E.4 erneut GRÜN (NON_AT=0 AT=2 — doppelte
Bestätigung der Rev-3.8-Remediation unter echten frischen LLMs), C/D/D-NEG/
E.5 grün; HARD-FAIL an E.6 mit NEUER Ursache: "run-receipt.txt B fehlt/leer"
(Agent A lieferte den Receipt, Agent B nicht — B's wiki/-Mutationen waren
vollständig, E.5-Witness grün, RUN_DONE b vorhanden; Agent B behandelte den
Receipt als optional).

Klassifikation: LLM-Prompt-Adhärenz-Flake, kein Gate-Logik-Fehler, kein
Schema-Defizit (3/4 Receipts in #6/#7 geliefert = ~75% Adhärenz). Gate-
Verhalten korrekt (fehlender Nachweis = HARD-FAIL, kein stilles Grün — die
E.6-Härtung aus #6 bewahrt ihre Eigenschaft: sie prüft nur, wenn der Receipt
existiert). Wurzelursache: der Prompt hatte den Receipt "EXAKT nach den
Konventionen von schema/compiler.md" zugeordnet — compiler.md definiert ihn
aber nicht (0 Treffer "receipt") und der Prompt erklärt compiler.md zur
einzigen normativen Instruktion → Agent kann den Receipt als außerhalb-des-
Vertrags/optional deuten (gleiche Klasse wie P-17 Prompt-Wortungs-Präzisierung).

Änderung (Gate-only, bash -n clean; kein compiler.md-/frozen-Block-Change;
D-1-konform — exakte Feldstruktur != erwartete Werte):
- AGENT_PROMPT: Receipt als expliziter verpflichtender Gate-Reporting-
  Lieferant von compiler.md entkoppelt ("GATE-spezifische Berichtsdatei, die
  schema/compiler.md NICHT definiert"); beide Lieferungen (wiki/-Mutationen +
  run-receipt.txt) sind PFLICHT; RUN_DONE erst NACH Vorliegen beider
  Lieferungen; exakte 4-Feld-Form bleibt (Feldnamen exakt, Werte frei).
- Header: P-15/P-16/P-17/P-18-Patch-Referenzen ergänzt (bisher nur P-2..P-14
  genannt).
- Spec Change Log: Re-Run-#7-Befund + P-18-Härtung + Stabilitäts-Beobachtung
  für #8 (frozen Block L12-51 unangetastet, diff-geprüft).

Nächster Schritt: Re-Run #8 (Erwartung: E.6 grün + F G-1..G-8 + G Porcelain
erstmals). Falls Agent erneut keinen Receipt liefert = systematischer
Prompt-Adhärenz-Defekt (breitere Pflicht-Schritt-Liste), sonst Flake.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-24 08:31:05 +02:00
Michael TamseandClaude 77fd460ec3 fix: Story 3.13 Re-Run-#6-Auflösung (E.6-Over-Pin) — Gate-Härtung: Receipt-Abgleich
auf die drei deterministischen Felder (baseline/candidates/sources_added byte-identisch
A==B + decision-Vorhandensein); decision-Prosa = Befund-Äquivalenz (Nicht-Wort-Identität)

Befund Re-Run #6 (grün bis E.6): E.4 GRÜN (NON_AT=0 AT=2 — Rev-3.8-Remediation
wirkt: Bundle-State byte-identisch bis at), D/D-NEG/C/E.5/E.7/E.8/E.9 grün;
HARD-FAIL an E.6: Run-Receipt decision:-Zeile (freie LLM-Prosa) wurde byte-
vergleicht und divergierte A/B (identischer Befund, freie Wortung), während
baseline/candidates/sources_added byte-identisch A==B waren.

Klassifikation: Gate-Over-Pin (kein compiler.md-Defizit, kein AC-4-Fall) —
schema/compiler.md definiert den Receipt nicht (0 Treffer "receipt"), der
Gate-Prompt (D-1) deklariert decision selbst als frei; der alte E.6-Byte-
Vergleich widersprach damit dem eigenen Prompt (selbe Over-Pin-Klasse wie
Re-Run #5 log.md, auf der Gate-Assertion-Seite). Semantische Entscheidung
bereits am Bundle-State bewiesen (E.4 + E.5/E.7/E.8).

Änderung (Gate-only, bash -n clean; kein compiler.md-/frozen-Block-Change;
D-2/D-1-konsistent, D-3.13-2-Option-1-Prinzip):
- E.6: receipt_field-Helfer (Präfix-Strip, WT-Pfad-Normalisierung, Trailing-
  Whitespace/CRLF-robust); nur deterministische Felder byte-identisch A==B,
  decision-Zeile auf Vorhandensein (nicht leer); Prosa = Befund-Äquivalenz.
- Header-D-2-Bullet: Härtung + Defer-Verweis dokumentiert.

Dokumentation:
- Spec Change Log: Re-Run-#6-Befund + Härtung + Defer (frozen Block L12-51
  und GENERATED_AT_AUSNAHME unangetastet, diff-geprüft).
- deferred-work.md: neuer Abschnitt "Deferred from: Re-Run #6" (D-3.13-R6-1):
  byte-deterministischer Receipt = offener Defer/Ask-First-Kandidat (spätere
  compiler.md-Revision Rev 3.9 oder Epic-4), kein stiller Semantik-Change.

Entscheidungshinweis: Gate-Härtung + Defer-Notiz ausgeführt (kleinste, ehrliche,
vertragskonforme Variante, konsistent mit dem autorisierten Muster Rev 3.8 /
D-3.13-6 Option 2); Nutzer-Away — zur Bestätigung im Review-Loop-2.

Nächster Schritt: Re-Run #7 (Erwartung: E.6 grün, F G-1..G-8 + G Porcelain
erstmals erreichbar).

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-24 07:19:14 +02:00
Michael TamseandClaude 2a9fa89f8a docs: Story 3.13 Status-Sync nach Rev-3.8-Ausführung (Spec Change Log + Design Notes + Autorisierungs-Träger §0.1)
Spec-3-13:
- Neues Spec-Change-Log-Top-Eintrag: Epic-1-Remediation (Rev 3.8) +
  A/B-Umfangs-Entscheidung (b) ausgeführt (24/26 NON_AT CREATE-getrieben;
  Minimal-Änderungssatz: (1) CREATE-Kern aus A/B-Fixture, (2) log.md-Pin).
- Design Notes: Allowance-Zeile auf alpha-UPDATE-Witness (raw/alpha-v2.md#S-3)
  umgestellt; Fixture-Beschreibung = 3-12-Muster OHNE CREATE-Kandidat
  (D-3.13-6 Option 2; index/gamma unverändert, IDX_ADDED=0).
- Frozen-Block L12-51 + GENERATED_AT_AUSNAHME-Zeile UNBERÜHRT (diff-geprüft).

Autorisierungs-Träger (compiler-revision-3-8-...):
- §0.1 Ausführungsstatus: B2 (log-Pin) + A/B-Umfang (b) = ANGEWENDET (Rev 3.8,
  Commit 7c3c19b); B1 (Slug) = offener Defer/Ask-First-Kandidat; C (Body-Byte)
  = zurückgewiesen (FR-2-Verstoß). Original-Entwurfstext als historische
  Entscheidungsgrundlage erhalten.

Status: Story 3.13 bleibt in-progress; finaler done-Flip + Review-Loop-2
erfolgen nach grünem Re-Run #6 (Step-05-Status-Sync).

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-24 06:04:04 +02:00
Michael TamseandClaude 7c3c19bac4 fix: Story 3.13 Epic-1-Remediation (Rev 3.8) — kanonische byte-deterministische log.md-Eintragsform + CREATE-Kern aus A/B-Fixture (D-3.13-6 Option 2)
Re-Run #5 lief RED an E.4 (A/B-Determinismus: NON_AT=26 AT=4 → HARD-FAIL).
Exakter Zeilen-Nachzähl-Befund: 24/26 (92%) der NON_AT-Abweichungen sind
CREATE-/Slug-getrieben (beta.md 11 + quanten-observatorium-kanal.md 11 +
index.md 2), verbleibende 4 log.md-Zeilen = 2 CREATE-Einträge (Slug-Divergenz)
+ 2 freie UPDATE-Wortungen (+ Wanduhr-generated.at im Body).

Autorisierter Minimal-Änderungssatz (Q1 + "continue"):
(1) compiler.md Rev 3.8 (D-3-Instruktions-Patch, additive Präzisierung):
    - §5.9 Pkt 4 (Update), §5.1 Pkt 4 (Anlage), §5.10 Pkt 7 (Synthese-Anlage):
      kanonische, byte-deterministische log.md-Eintragsform fixiert
      (- Story 3.1-Update: <concept> (<neue-Quellen>; Baseline <SHA>) etc.),
      kein freier Zusatztext, kein Wanduhr-Wert im log.md-Body (Wanduhr lebt
      ausschließlich im Frontmatter-generated.at, §5.14 Pkt 3).
    - §8 Revisionslog Rev 3.8-Eintrag.
    - NUR log.md-Form gepinnt; NUR Concept-Body/Slug/FR-2/§5.14-Pkt-3-Ausnahme
      UNVERÄNDERT. CREATE-Zielpfad-Signal-Pin = offener Defer (Ask-First).
    - Form = genau die, die Sub-Runs 3-3/3-4 mechanisch bereits demonstrieren
      (Ist-Behaviour verankert, kein Widerspruch).
(2) run-sandbox.sh E-Sektion: CREATE-/beta-Fall aus der A/B-Fixture entfernt
    (D-3.13-6 Option 2): E.1-Fixture (keine beta-Quellen), AGENT_PROMPT (keine
    beta-Fakt), E.5 (CREATE-Witness entfernt, UPDATE-Alpha-Witness bleibt),
    E.8 (index.md unverändert statt "+1 CREATE-Link"), Header-Kommentare.
    A/B-Prüfung deckt den Update-/Erhaltungs-Kern; CREATE/Synthese gelten über
    Sub-Runs 3-3/3-4 + D-Validator als demostriert.

Beide Änderungen berühren NICHT die frozen I/O-Matrix-Zeile GENERATED_AT_AUSNAHME
und NICHT den §5.14 Pkt 3-Vertrag. bash -n clean. Erwartetes E.4-Ergebnis:
NON_AT=0 AT=2 (alpha.md at-only).

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-24 05:55:05 +02:00
Michael TamseandClaude fb4c1c8b05 docs: Story 3.13 E.4-Befund-Raffinierung (Prämisse-Korrektur vor Remediation)
Quelltext-verifiziert (compiler.md L34/84/297/374/375, spec-3-8 P-5 L150):
- §5.14 Pkt.3 verlangt byte-Identität aller Bundle-Bestandteile außer `at`;
  §5.10 Pkt.3 pinnt nur die CREATE-Body-REIHENFOLGE (Wortlaut =
  "Befund-Äquivalenz, nicht Wort-Identität"); §5.1/FR-2 verlangen freien,
  eigenständig formulierten Body.
- 3.8-Determinismus-Basis wurde NUR mechanisch simuliert (Subshell-Läufe),
  NUR UPDATE-Pfad (nachweislich A/B byte-identisch bis auf `at:`), nie
  echte frische LLMs; CREATE-Byte-Identität unter echten LLMs ist eine
  latente Vertrags-Spannung (in 3.8 verdeckt, in 3.13/E.4 aufgedeckt) —
  kein bloßes Instruktions-/Validator-Defizit.
- Slug-Teil ist per compiler.md-Patch auflösbar; Body-Byte-Teil NICHT
  innerhalb des gültigen Vertrags (Byte-Pin bricht FR-2).
- Q1-Prämisse ("Epic-1-Remediation → Re-Run #6 grün") korrigiert;
  Remediation/12-Sandbox-Re-Execution/Re-Run #6 GEHALTEN bis zur
  A/B-Vergleichsumfangs-Entscheidung (frozen-Matrix-Zeile
  GENERATED_AT_AUSNAHME, Ask-First). Empfehlung (b): CREATE aus A/B-
  Fixture nehmen; CREATE-Byte-Fall als benannter Defer.
Keine Schema-/Gate-/Fixture-/frozen-Block-Änderung — Notiz dokumentiert
nur Befund + Verankerungen + Entscheidungsbasis.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-23 19:51:13 +02:00
Michael TamseandClaude 5029124445 fix: Story 3.13 Re-Run-#5-Auflösung (E.4-AD-16-Befund + AC-4-Roadmap + Matrix-Zeile VALIDATOR_DEFIZIT)
Re-Run #5 (Voll-Lauf gehärtetes Gate 915 Z., /tmp/gate-313-run5.log): ROT an E.4 (NON_AT=26 AT=4) — korrekt erkannter, echter AD-16-A/B-Divergenz-Befund in der freien CREATE-Synthese (Slug-Identität beta vs. quanten-observatorium-kanal + freier Body-/log.md-Wortlaut), kein false-PASS; UPDATE-Pfad alpha byte-identisch bis auf at:. Grün: C 12/12, D 4/4 SUCCESS, D-NEG 3xFAIL+1xSUCCESS, E.1-E.3 + beide frische Agent-Läufe (RUN_DONE); F/G nicht demonstriert (fail-fast an E.4).

AC-4-Defizit-Roadmap (Nutzer-Entscheidung 2026-08-23): autorisierte Epic-1-Remediation (compiler.md Rev 3.7->3.8: CREATE-Slug-Pin, CREATE-Body-kanonische Form, log.md-Regel) -> 12-Sandbox-Re-Execution -> Re-Run #6. Frozen-Matrix-Zeile VALIDATOR_DEFIZIT auf G-5 FAIL (Non-Zero) korrigiert (Ask-First-Erfüllung). Tasks getickt (5/8); Status-Sync: log.md/epic-3-context/sprint-status (Key bleibt in-progress, last_updated 08-23-2026 17:09); Gate/Schemas/raw unverändert.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-23 19:32:33 +02:00
Michael TamseandClaude 37d9fdcec5 fix: Story 3.13 Re-Run-#4-Auflösung — P-16 Floor-Semantik (Env exportiert 16000; geerbte Werte <32000 angehoben, A/B 1698/5002, 6/6-Subshell-Test) + Status-Sync (Spec-Change-Log, log.md Re-Run-#2/-#3/-#4-Befunde: winpty/CLAUDE_BIN, P-17 Normalisierer 21/21, Prompt-Wortung)
Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-23 12:57:42 +02:00
Michael Tamse 90a01fed37 fix: Story 3.13 Re-Run-#3-Auflösung (P-16/P-17): CLAUDE_CODE_MAX_OUTPUT_TOKENS=32000 (16000-Default bricht E.3 ab, A/B-geprüft: 1698 vs 5002 Zeilen) + D.4/D-NEG Pfad-Normalisierung (Agent schrie 'wiki.alpha.md' via alter Prompt-Wortung; 21/21-Test grün) + Prompt-Pfad-Wortung präzisiert; Gate 906 Z., bash -n clean 2026-08-23 12:45:16 +02:00
Michael Tamse 35b5939df6 docs: Story 3.13 §B-Käfig-Kommentar auf Ist-A.3 angepasst (stale V-5-Klammer entfernt) 2026-08-23 09:38:56 +02:00
Michael Tamse 52312c254b fix: Story 3.13 Gate-Pre-Runs (2. Re-Run-Ablage): A.3 auf vertraglich definierte Bundle-Prämissen (V-1 Bundleroot, raw/, log.md — V-5/V-6-Area-Menge existiert nicht im Vertrag), D-NEG-Käfig gültig (Bundleroot-/Area-Frontmatter, EC-1-existierende raw/-Ressourcen, wiki/-Präfix-Toleranz im Count); log.md-D-NEG-Punktbezeichnung korrigiert (Punkt 1/9/14-EC-3) 2026-08-23 09:02:30 +02:00
Michael Tamse 50f3628df4 fix: Story 3.13 Review-Loop-1-Auflösung (D-3.13-1..7 = 1/1/2/1/1/1/1, P-1..P-15; Status-Revert in-progress, Gate gehärtet 839 Z., Status-Sync spec/sprint-status/log.md; VALIDATOR_DEFIZIT-Matrix-Zeile = Renegotiation-Kandidat) 2026-08-23 08:51:34 +02:00
Michael TamseandClaude 894ae346ab docs: Story 3.13 Spec-Frontmatter nachziehen — status in-progress → done (Abschluss-Sync)
Commit 6624e07 hat den Step-05-Status-Sync (sprint-status.yaml 3-13 → done,
wiki/log.md Story-3.13-Eintrag, epic-3-context.md Ist-Nachführung,
deferred-work.md append) ausgeführt, aber das Spec-Frontmatter selbst vergessen
(status blieb 'in-progress'). Der Nachzieher flippt es gemäß Präzedenz der
abgeschlossenen Epik-3-Stories (3.4/3.8/3.11/3.12 → status: 'done') auf done;
epic-3 bleibt in-progress bis zur Epic-3-Retrospektive (AC-9).

Überspringt das Zwischenstadium 'in-review' (kein Review-Start per Step-04 mehr
nötig — Review-Loop war bereits in 6624e07 abgeschlossen; der ungetrackte
in-review-Halbzustand war der Auslöser des G-8-Porcelain-HARD-FAIL beim
Gate-Re-Run).

G-8-Nachbedingung wiederhergestellt: git status --porcelain leer nach diesem
Commit.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-22 20:06:34 +02:00
Michael Tamse 6624e07d3b docs: Story 3.13 abschließen — Status-Sync nach grünem Epic-3-Abnahmegate (PASS_COUNT=70, RUN_OK)
Step-05-Sync nach RUN_OK/Exit 0 des Story-3.13-Gates:
- sprint-status.yaml: 3-13-... in-progress → done (finaler Flip; epic-3 bleibt
  in-progress bis zur Epic-3-Retrospektive, AC-9), last_updated → 08-22-2026 19:10.
- epic-3-context.md: Goal (Z.7), Abnahmegate-Entscheidung (Z.46), Cross-Story-
  Abhängigkeit (Z.52) auf Ist-Zustand (Gate ausgeführt und grün) nachgeführt.
- wiki/log.md: Story-3.13-Eintrag (AC-6, Kanonisches Log, Vertrag §5) — Gate-Lauf,
  Abschnitte A-G, 12 Sandbox-Sub-Runs, Validator-Agent 7/7 SUCCESS, Zwei-frische-
  Agenten A/B byte-identisch nur at-Ausnahme, G-1..G-8, Porcelain-Check, Befund-
  Fixes (Punkt-9-Literal de-literalisiert, G-7-Exclusion). Kein Punkt-9-Literal,
  keine ../schema|../adapters-Links (G-7/Validator-Konformität).
- deferred-work.md: append — Story-3.13-Aufgegriffen-Block (Home der 3.13-namigen
  Defer L551/L560/L576/L594/L597/L611/L629/L633 realisiert; Original-Defer-Blöcke
  unverändert, benannte Rest-Terme offen).

Keine Änderung an schema/, adapters/, raw/ (AD-3); keine neue §7-Klasse; kein
Standalone (D-3); keine Wanduhr-Steuerung (A0-20). Gate-Nachweis: PASS_COUNT=70,
FAILED=0, RUN_OK, git status --porcelain leer.
2026-08-22 19:13:07 +02:00
Michael TamseandClaude 584676e387 feat: Story 3.13 Gate-Härtung — G-3 Punkt-9/Bundle-Compliance + G-7-Smoke-Exclusion (index.md/log.md)
Gate-Lauf 6 (E-Kern grün, A/B byte-identisch nur at-Ausnahme, 60 PASS) deckte
zwei reale Befunde auf:
- G-3: frischer Validator-Agent (schema/validator.md Rev 9) reportet 1 FAIL —
  wiki/log.md Z.42 (Story-2.4-Review-Eintrag) zitiert das Literal 'type: bundle'
  in Prosa = Verletzung Punkt 9 (Verbot außerhalb der Bundleroot, irgendwo im
  Dateiinhalt, schließt log.md ein). Validator ist korrekt; Defekt liegt im
  Bundle. Fix: minimalistisch, bedeutungserhaltend de-literalisiert
  (Bundleroot-'type'-Verbot) — Bundle ist jetzt Punkt-9-valid.
- G-7: Smoke-Flag war überstreng — Bundleroot index.md trägt die 3 gepinnten
  ../schema/-Glossar-Links (compiler §5.6 'andere Schicht', AC-8 optionale
  Provenienz/Traceability) und log.md zitiert Formel-Texte (§5.6 Pkt. 2
  Log-Exclusion). Fix: G-7 exkludiert index.md (Schema-Glossar) + log.md
  (Protokoll), hält die Smoke-Pflicht für alle Concept-Bodies/Area-Indizes hart.

Keine Schema-/Validator-/Adapter-/raw-Änderung (AD-3); keine §7-Klasse.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-22 18:08:30 +02:00
Michael Tamse 02786f43e7 docs: Story 3.13 starten — Spec 3-13, Sprint-Status auf in-progress 2026-08-22 10:37:21 +02:00
Michael TamseandClaude c234fc361e fix: Story 3.12 Review-Loop-2-Abschluss (bmad-code-review 4 Layer, konvergiert; D-3.12-1 Option 1, 7 Patches, 2 Defer, 6 dismissed; Sandbox L-1..L-9 9/9 harte PASS/Exit 0)
- D-3.12-1 (Nutzer, Option 1): AC-6/§5.18-Pkt.-6-Grenze an log.md-Praxis — dokumentierte
  Run-Nachweise = notwendige Koordinationsereignisse; §5.18/AC-6 textuell unverändert;
  L-8-Guard auf Kategorie-Hyphenate + Negativ-Kontrolle geschärft
- P1: scopelock_healthy() + LOCK_READ_ERROR-Propagation (korrupter Lock nie en-bloc-stale)
- P2: Release-Fehler negativ geübt (L-7), L-6 "valide committet" hart verifiziert
- P3: Setup-Robustheit (Exit-Checks, verifizierter $BASE, Backup-cp byte-identisch)
- P4: L-9 Ghost-Diff-Probe (Index+Worktree), reg_write real geübt
- P5: AC-1-Ownership-Stale positiv getestet, L-2 Takeover-Exactly-once am CAS
- S1: Spec-Struktur (review_loop_iteration 0->1, </frozen-after-approval>, doppelte
  Change-Log-Überschrift entfernt), Status-Sync vereinheitlicht
- S2: SRO-/Code-Map-/deferred-work-Anker auf Ist-Zeilen (takeover Z. 153, L-2 Z. 367,
  L-3 Z. 442, L-7 Z. 648, L-8 Z. 700; §5.18 Z. 426-439, §6 Z. 441, Rev 3.7 Z. 543)
- Defer: DF1 (AC-3-stash-Variante + AC-5 kombiniert, Home 3.13), DF2 (assert_no_wallclock)
- Status: Spec status done, sprint-status Key 3-12 -> done, last_updated 08-22-2026 07:44;
  wiki/log.md Loop-2-Abschlusseintrag (## 2026-08-22)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-22 08:14:56 +02:00
Michael TamseandClaude efcc469f3d 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>
2026-08-21 21:24:41 +02:00
Michael TamseandClaude d0cff08a2a fix: Story 3.12 Review-Loop-1-Patches (atomarer Ownership-CAS scopelock_takeover, AK-2->AC-2, L-2-Negativ-CAS, Sandbox-Härtung; L-1..L-9 9/9 harte PASS/Exit 0)
Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-21 21:22:36 +02:00
Michael TamseandClaude 7f839febab feat: Story 3.12 — Lease-Lifecycle und Commit-Abschluss transaktional schließen (Revision 3.7, §5.18; Sandbox L-1..L-9 9/9 harte PASS/Exit 0)
Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-21 20:49:50 +02:00
Michael TamseandClaude 80480af3ec feat: Story 3.11 — Review-Loop-1-Abschluss committen (20 Patches, D-3.11-1/2, Sandbox A-1..A-8 8/8)
Abschluss des in der vorigen Session erarbeiteten, nach Commit e02cf84
liegengebliebenen Review-Loop-1 von Story 3.11 (Root-Scope-Leasing atomar):

- wiki/log.md: Eintrag „Story 3.11 → Review-Loop-1-Abschluss + done"
  (D-3.11-1 Konstruktiv+härten, D-3.11-2 Intentionaler Mutationsversuch;
   20 angewendete Patches; kein Loopback)
- sprint-status.yaml: Key 3-11-… → done (finaler Step-05-Flip), last_updated 15:10
- schema/compiler.md: §5.17-Pkt.-1/4/5-Berichtigungen + §8-Revision-3.6-Nachführung
- spec-3-11 + sandbox-3-11: 20 Loop-1-Patches; deferred-work.md: 5 Defer-Einträge
  + KORREKTUR-Teileintrag (Zeilen-Drift-Defer widerlegt)

Erhaltungs-Invariante §5.9 Pkt. 5: git status --porcelain -- wiki/ zeigt nur
wiki/log.md; AD-3 read-only; kein Standalone, keine neue §7-Klasse.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-21 20:00:21 +02:00
Michael Tamse e02cf84501 feat: Story 3.11 — Root-Scope-Leasing atomar und worktree-übergreifend akquirieren (Revision 3.6, Verankerung §5.17) 2026-08-21 13:40:50 +02:00
Michael Tamse a8b486d0f0 feat: Story 3.10 — Inkrementelle Update- & Synthese-Erhaltung + Hold-Ausbau (bmad-code-review, Patch-Kaskade; kein Loopback) 2026-08-21 12:14:51 +02:00
Michael TamseandClaude 8c43d3a09c feat: Story 3.9 Review-Loop-3-Abschluss (bmad-code-review, 4 Layer; kein Loopback)
- 3 Decision-Resolutionen (D-3.9-1/2/3 = Option 1/1/2 — empfohlene Optionen)
- 14 Patches angewandt (von 15): P-3.9-1 Escaper-„Fehlalarm" verworfen — die
  „Ausführungs"-Evidenz war durch die Bash-Tool-Transport-Schicht korrumpiert
  (Backslash-Ebene halbiert); od-Beweis + Negativ/Positiv-Kontrolle aus
  Datei-Bytes belegen: Escaper literal-sicher, run-sandbox.sh Z. 74/790 unverändert
- 2 Defers (Home Story 3.13, Präzedenz DET-1/2), 9 verworfen
- Sandbox Minimal-Härtung (D-3.9-3 Option 2): R-1..R-9 mit echter feuernder
  Mechanik + echten Negativ-Kontrollen; Exit 0 auf frischem /tmp-Root,
  Re-Run-Idempotenz bestätigt
- compiler.md §5.15 (Pkt. 1/2/5 + Revision 3.4-Wortlaut), I/O-Matrix M/D/R,
  frozen-Schließtag + I/O-Zelle (Change-Log-autorisiert, keine Neu-Verhandlung)
- AD-3 read-only & wiki/-Erhaltungs-Invariante verifiziert (Validator SUCCESS)
- sprint-status 3-9 → done; Step-05 Status-Sync + Step-06 Abschluss

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-21 10:53:03 +02:00
Michael TamseandClaude 73f2c9e71d feat: Story 3.9 (Loop-2) — Deterministische Relevanz- & Reconcile-Routing schließen, review reif
§5.15 „Deterministische Relevanz- & Reconcile-Routing (Story 3.9)" in schema/compiler.md
(Revision 3.4): geschlossene Termgewinnung (AC-1), symmetrische Normalisierung +
literal-sichere Suche (AC-2), eine exklusive Routing-Tabelle UPDATE→CREATE→ORPHAN/HOLD→NO_OP
(AC-3, NO_OP als Update-Unter-Entscheidung), Raw-Immutability-Guard M/D/R→Run-FAIL (AC-4),
reservierte Zielpfade index/log/source/README→deterministischer Hold (AC-5), Zwei-Run-Identität
nicht-vakuum inkl. praktisch ausgeübter at-Exzeption (AC-6). §3.2-Pkt.-3d-Anker, §5.14-Pkt.-5-Scope
und §7-Bullet nachgeführt.

Review-Loop-2: 2 bad_spec (BS-L2-1 NO_OP-Leere-Candidate-Liste, BS-L2-2 Status-Codes R/C)
durch Re-Ableitung behoben; Step-04-Re-Review (2 frische Layer + Verification Gap) ohne
neuen Loopback (F-6 Lowercasing-Pkt.-1, F8 Guard-Abbruch real, F9 ableitungsbasierte
Term-Erwartung, F-22/F-27 BUNDLE-BYTE-Nachweis angewandt). Sandbox R-1..R-9 PASS, Exit 0.

Re-Derivation: deferred-work.md D-8/D-9 aufgegriffen; epic-3-context.md Z. 39 → Ist;
sprint-status.yaml Story-3.9 → review. AD-3 read-only + Erhaltungs-Invariante (nur
wiki/log.md) gewahrt. Suggested Review Order in Spec 3.9 angehängt.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-21 06:21:08 +02:00
Michael TamseandClaude 2f079ee3c8 feat: Story 3.8 Review-Loop-3-Abschluss (bmad-code-review Re-Run, 4 Layer; kein Loopback)
Triage: 4 decision-needed / 13 patch / 6 defer / 7 dismissed (u. a. Blind-Hunter
"alle Sandbox-SRO-Anker stale" widerlegt — alle 6 exakt vor den Loop-3-Edits).
Entscheidungen D-1..D-4 (alle Option 1): D-1 Schliessungs-Bullet macht den
"Bekannte Determinismus-Luecke"-Alt-Bullet superseded (append-only-Hinweis,
kein Umbruch); D-2 Story-Status-Flip auf done (Change-Proposal-Sequenzierung
betrafft das Epic-3-Abnahmegate 3.13, nicht die 3.8-Verankerung); D-3
autorisierte Neu-Verhandlung in geringfuegischem Umfang (Typo
"documenthuman" -> "document-human", Spec Re-Open-Delta-Zeile); D-4
Hold-Home = Story 3.10 (Epic 3), Korrektur-/Erweiterungs-Klassifikation =
Epic-4-Interface/Story 4.1 (S5.10 Pkt. 8 praezisiert).
Patches P-1..P-13: SRO-/Code-Map-Anker auf IST-Zeilen (compiler.md
375/376/377/477, Code Map 365-377/424ff/445/477, Sandbox 245/265/442/275/447/531);
symmetrische Term-/Body-Normalisierung (S3.2 Pkt. 2a + match_stufe_a, kein
host-abhaengiges -i); Receipt-Hashvergleich als re-executierbare
Zwei-Run-Formel (S5.14 Pkt. 2); Sandbox-Fresh-Kontext-Restluecke benannt
(mechanisch simuliert; Nachweis = 3.13-Abnahmegate); Manifest generated_by
wird konsumiert; at-Ausnahme hart assertiert (Wiederholungs-Schleife bei
Sekundenkollision, HARD-FAIL statt stiller PASS); "voellig pinbar"/"keine
offene Frage" ge scopet (Umlaut-Defer + 3.9-ACs bewusst offen); epics.md
AC-2 AD-16-Kopplung nachgefuehrt; review_loop_iteration 0 -> 2;
epic-3-context.md 3.9/3.11/3.12-Entscheidungen als Zielzustand markiert;
AD-17-Enum verifiziert (kein Edit noetig); Review-Loop-3-Change-Log-Eintrag.
Sandbox re-executiert: DET-1..DET-8 harte PASS, Exit 0; at-Ausnahme aktiv
(assertiert, real unterschiedliche Wanduhr-at-Werte); Witness nicht-vakuum.
Spec status: done, review_loop_iteration: 2; sprint-status 3-8 -> done
(Sequenzierungs-Hinweis: 3.9-3.12-Verankerungen + 3.13-Abnahme bleiben offen);
wiki/log.md Loop-3-Abschluss-Bullet; deferred-work.md 6 neue Defers.
AD-3 gewahrt: validator.md/wiki-compiler.md/adapters/raw/ unveraendert.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-20 19:12:40 +02:00
Michael Tamse 73d19cbcea @
feat: Story 3.8 Review-Loop-2-Härtung (bmad-code-review Re-Run, 3 Layer; kein Loopback) — DET-2 at-Ausnahme real ausgeübt, Manifest-Validierung, set -e; Step-05 done

Re-Review der Re-Open-Implementierung (3 Subagenten synchron: blind-hunter / edge-case-hunter-Retry / verification-gap): Triage keine intent_gap/bad_spec; 10 Patch / 0 defer / Rest Reject. Kern-Veranlassung: die drei Re-Open-ACs wurden als nicht wirklich ausgeübt erkannt — Manifest dekorativ (nie konsumiert), at-Maskierung vor dem Commit (stiller Ausschluss statt dokumentierter Ausnahme), Reception ohne Reihenfolge-/Entscheidungsfeld, Subshell ohne set -e (false-PASS-Risiko).

Sandbox-Patches (ausschließlich sandbox-3-8/run-sandbox.sh):
- DET-2 gehärtet: generated.at als reale Wanduhr-Ausgabe je Lauf committet (date -u) und als at_cell im Receipt festgehalten; Normalisierung auf AT erst beim Vergleich (Hash über at-normalisierte Content-Projektion, §5.14 Pkt. 2 "ohne die maskierte at-Zeile") — kein Maskieren vor Commit, kein stiller Ausschluss; Nach-Commit-Attestierung committed_at == at_now; Zwei-Run-Abgleich byte-identisch für deterministische Bestandteile, nur Ausnahme-Cells at_cell/tree dürfen differieren (at-Varianz real demonstriert: getrennte Worktree-Läufe → verschiedene Wanduhr-at)
- Kanonisches Eingabemanifest konsumiert/validiert (abschnittsbewusste Extraktion sources:/output_visible_run_identity:, Baseline-Quellen-Existenz nach Input-Commit, HARD-FAIL bei fehlenden Keys) — nicht dekorativ
- Receipt um order:/decisions: erweitert (§5.14 Pkt. 2) + Receipt-Nicht-Vakuum-Guard
- Subshell set -e (jeder fehlende Schritt bricht rc≠0 ab → HARD-FAIL statt false-PASS)
- match_stufe_a literal-sicher (Term regex-escaped, §3.2-Pkt.-2a/§5.14 Pkt. 5) + CRLF-tolerante Body-Extraktion
- cand-Newline-Normalisierung (tr \n ,)
- log_bullet fail-hard (mktemp/mv-Fehler nicht geschluckt — verlorener log-Eintrag hätte Vakuum-Gleichheit durch identische Baseline-Hashes erzeugt)
- git worktree prune vor dem Add (Re-Run-Sicherheit); git clean fail-hard unter set -e

Verifikation re-executiert: run-sandbox.sh → DET-1..DET-8 harte PASS, Exit 0; at-Ausnahme aktiv (at_cell A != at_cell B), Witness nicht-vakuum; Validator-Verdikt (Rev 9, D-3): alle wiki/-Dateien SUCCESS (keine Inhalts-Mutation); Erhaltungs-Invariante §5.9 Pkt. 5 gewahrt (nur wiki/log.md); AD-3 read-only unverändert.

Spec: Change Log Review-Loop-2 (10 Patches), Verification-Pkt.-1 auf gehärteten Stand aktualisiert, Suggested Review Order auf neue Sandbox-Anker (238/257/267/409/414/498); Frontmatter status in-review → done. wiki/log.md Review-Loop-2-Abschluss-Bullet (zuerst-neuestes). sprint-status.yaml 3-8-… → review; last_updated 17:05.

Co-Authored-By: Claude <noreply@anthropic.com>
@
2026-08-20 14:00:53 +02:00
Michael TamseandClaude 96661836e9 feat: Story 3.8 Re-Open-Delta — Zwei-Run-Determinismus auf getrennte Worktrees/Manifest/Receipt umgestellt (genehmigtes Sprint-Change-Proposal 2026-08-20)
Re-Open-Scope (approved, ProMods; Epics-ACs Z. 357-370): zwei frische Agent-Kontexte in getrennt aufgebauten (sauberen) Worktrees (Q-6/A0-19 — eine zweite Ausführung in derselben Session genügt nicht), kanonisches Eingabemanifest (Baseline-Commit, geordnete Sources, output-sichtbare Run-/Zeit-/Identitätswerte), Run-Receipt außerhalb des Bundles (Candidates, Reihenfolge, Plan, Entscheidungen, Output-Hashes), keine hart codierten erwarteten Pläne/Concept-Bodies, keine pauschale verified-Maskierung (nur benannte at-Ausnahme).

- schema/compiler.md §5.14: Zwei-Run-Bestätigungs-Mechanik + §8-Revision-3.3-Klausel + Re-Open-Delta auf getrennte Worktrees/Manifest/Receipt/no-hardcode/no-masking umgestellt; §5.13-"in einer Session" unverändert (AD-6-Phasen-Disziplin, Fugen-Identität)
- sandbox-3-8/run-sandbox.sh: DET-2 auf zwei getrennte Worktrees (wt-a/wt-b) + manifest.yaml + receipts/-Dateien außerhalb des Bundles umgebaut; Candidate-Ableitung aus Git-State via deterministischem Stufe-a-Match (nicht hart codiert); Receipt-Abgleich als tatsächlicher Zwei-Run-Vergleich (diff der beiden Receipts, nicht je Lauf gg. Baseline); non-vakuum-Witness (Run-alpha-SHA != Baseline-alpha-SHA); Subshell für Worktree-cwd-Isolation. Exit 0, DET-1..DET-8 harte PASS
- spec-3-8: Re-Open-Delta-Intent, Tasks & AC-3/4/5, SRO auf Worktrees angepasst
- wiki/log.md: Story-3.8-Re-Open-Delta-Eintrag (Verankerung, Sandbox-Nachweis Exit 0, Erhaltungs-Invariante, Validator-Verdikt 7/7 SUCCESS, Revision 3.3)
- sprint-status.yaml: last_updated nachgeführt; Key 3-8 in-progress
- epic-3-context.md: neu kompiliert (Story-Liste/Stories 3.9-3.13 synchron)

Validator-Verdikt (human-mechanisch, schema/validator.md Rev 9, D-3 — kein CLI): alle wiki/-Dateien 7/7 SUCCESS (keine Inhalts-Mutation). Erhaltungs-Invariante §5.9 Pkt. 5: git status --porcelain -- wiki/ zeigt ausschließlich wiki/log.md. AD-3 read-only (validator/wiki-compiler/adapters/raw/canonical-terms) unverändert.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-20 13:08:28 +02:00
mita 1c116751d6 docs: extend Epic 3 remediation stories 2026-08-20 12:23:28 +02:00
Michael Tamse 39471d9422 docs: Story 3.8 Suggested Review Order auf klickbare path:line-Links (Step-05-Present) umformatiert 2026-08-20 10:52:21 +02:00
Michael Tamse c4cdf4b93e feat: Story 3.7 Review-Loop-2-Patches (bmad-code-review Re-Run, 4 Layer; kein Loopback) — Nutzer D1/D2/D3 = 1/1/1; 3 decision-needed / 7 patch / 3 defer / 9 dismissed (False-Positives); Patches: D1 deferred-work-Append (zwei Delokalisierungs-Blöcke: Terminologie-Drift INPUT_UNCOMMITTED/UNCOMMITTED_INPUT pre-existing, Misch-Run-Coverage → Home Story 3.8) → log.md-Protokollwiderspruch aufgelöst; D2 sprint-status review behalten + 4 Doku-Stellen (Spec-Code-Map, SRO-Anker-Text, in-progress-Bullet, §8-Rev-3.2-Klausel); D3 p2_plan-Element-(1)-Scope git status --porcelain -- raw wiki (exakt wie §5.9 Pkt. 6); Sandbox: CONSIST-1-EC-1-Isolation (committete Löschung), CONSIST-2 Misch-Run (Neu-Anlage +delta, Duplikat-Kontrolle, Neu-Anlage-Absenz nach Voll-Rollback via assert_restored-Guard), CONSIST-5 raw-SHA gg. $BASE, CONSIST-6 gültiger Commit-Zustand (sources-Nachführung id s3 + at-Bump), rollback()-Doku (Voll-Rollback = §6-Pkt.-3-Teilzustand, AD-17e-Abgrenzung), 3 Tippfehler; Instruktion: §5.13 Pkt. 7 um generated.at-Wanduhr-Gap-Ausnahme (§5.10 Pkt. 8, A0-20, Home 3.8); Sandbox re-executiert Exit 0 (14 harte PASS, CONSIST-7 non-vakuum plan_sha byte-identisch); Defers → deferred-work.md (Label-Präzisierung, A0-20-Post-Zustand → 3.8, pre-existing-Zeitpunktswort-Fuge); Spec: Review Findings + Change Log + loop_iteration 1; log.md Review-Loop-2-Bullet; sprint-status done; AD-3 unverändert 2026-08-20 09:04:41 +02:00
Michael TamseandClaude 938c05c4a8 feat: Story 3.7 Reason/Mutate-Trennung & Konsistenz-Endzustand sicherstellen (bmad-code-review, 3 Layer; kein Loopback) — §5.13-Phasen-Sektion (AD-6/A0-7, Änderungsplanung als institutionalisierter §5.9-Pkt.-6-P2-Block, Plan-Freeze an §5.9-Pkt.-5-Ghost-Diff-Kopplung, Zustands-Restaurations-Invariante, kein Teilerfolg AD-17f, VALIDATION_FAIL/SUCCESS, KEINE_EIGENE_ENGINE; §7-Bullet aufgelöst, §8-Normreferenz AD-6 auf §5.13-Anker, Revision 3.2 + Abschlussklausel); Sandbox CONSIST-1..CONSIST-7 (Exit 0, 14 PASS, Restaurations-Invariante, EC-1-Defizit-Negativkontrolle, pgrep-Robustheit, non-vakuum Determinismus-Zeuge); Review-Loop-1-Fixes (SRO-Anker 343/356/358/362/420/461, fünf→vier AD-6-Phasen, CONSIST-6-Validierung-vor-Commit); Suggested Review Order + Status done; log.md; sprint-status review; AD-3 unverändert
Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-20 06:31:39 +02:00
Michael TamseandClaude 861e65f628 docs: Story 3.6 Suggested Review Order auf klickbare path:line-Links (Step-05-Present) umformatiert
Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-20 04:53:58 +02:00
Michael Tamse 4a53771a9f feat: Story 3.6 Lease-Staleness & Recovery-Basis absichern (bmad-code-review, 3 Layer; kein Loopback) — §5.12-Leasing-Staleness-Sektion (Registrierung im Clone-Root-State, generationenbasiertes TTL, Quellen-Präzedenz granite-root-Marker/Baum/Startwert gen=0, holder_id-Ableitung, Verwaist-Klassifikation Übernehmen/Stale-Markieren, baseline_commit-Merge-Base-Diskrepanz, raw/-Recovery & native git stash, Registry-Invariante+kumulativ, log.md-Pflicht+Determinismus; §7-Vorbehalt :376 aufgelöst, §8 Revision 3.1); Sandbox STALE-1..STALE-6 (Exit 0, 12 PASS, Erhaltungs-Invariante); 4 Story-3.5-Defers aufgegriffen + 1 neuer Defer; Review-Fixes (Terminologie jünger→älter, Präzedenz gepinnt); Suggested Review Order + Status done; log.md; AD-3 unverändert 2026-08-20 04:52:06 +02:00
Michael TamseandClaude 895b006f7f feat: Story 3.5 Step-04-Review-Abschluss (bmad-code-review, 3 Layer; kein Loopback) — §5.11-Leasing-/Dirty-Tree-Sektion (Branch-Form lease/<area>/<id>, Lockfile, Merge-Base-Disziplin, Lease-Freigabe, Root-Scope, Dirty-Tree-Schutz, AD-17c-Merge-Pfad, Commit-Boundary, log.md, Determinismus; §7-Vorbehalt :357 aufgelöst, §8 Revision 3.0/3.1); Sandbox L1-L6+N1+D1+D2 (Exit 0, 21 PASS); 4 Defers; Review-Fixes (Text: UNCOMMITTED_INPUT-Gleichsetzung, 3.5/3.6-Seam, Norm-Rückverweis; Sandbox: Header-Bullet-Paare, L4-Restore, L6-BUILD_HEAD); Suggested Review Order + Status done; log.md 10/10 PASS; AD-3 unverändert
Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-19 20:39:52 +02:00
Michael Tamse fae648e688 feat: Story 3.4 Review-Loop-1-Patches (bmad-code-review, 3 Layer; kein Loopback) — §5.10: Reflektiertheits-Selbsttest-Zeilenanfangs-Muster, Body-Reihenfolge deterministisch (Beleg-Anker LC_ALL=C), Konsolidierungs-Kriterium, Duplikat-Fall + Orphan-Kontrolle (Pkt. 8), N2/N3-Nachweise; Sandbox S1-S6+N1-N3+FW (10 Szenarien, Exit 0): ??-Sicht lebendig, S5-Ghost-HARD-FAIL, N1-Stimulus-Kommentar, N2 Disagreement (AD-16), N3 AD-4c-Kontext-Marker; 4 Defers → deferred-work.md; log.md 10/10 PASS; Spec done + Suggested Review Order; sprint-status done 2026-08-19 17:06:12 +02:00
Michael TamseandClaude 9b256fa5ad feat: Story 3.3 Review-Loop-1-Patches (bmad-code-review, 3 Layer; kein Loopback) — Präzedenz-Reihenfolge Korrigieren→Präzisieren→Erweitern→No-Op (AD-17h), No-Op als Nicht-Form, Korrigieren-Original-Wortlaut-Erhaltung; Sandbox U1–U9 (U8/U9 Negativ-Kontrollen, volle byte-Identität, reelle S-N-Anker, -eq 1-Konsolidierung, Frontmatter-Reihenfolge/Duplikat); 5 Defers → deferred-work.md; Spec done + Suggested Review Order; Story done
Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-19 15:21:48 +02:00
Michael TamseandClaude 52f88fdc5f feat: Story 3.2 Code-Review-Loop-3-Patches (bmad-code-review, 4 Layer; Nutzer-Entscheidungen D-1/D-2/D-3/D-4/D-5 = 1/1/1/1/1 + P-1/P-2) — compiler.md Revision 2.7, §3.2-Pkt.-3b-lexikografisch, canonical-terms-Lookup-Semantik + Invariante + Konflikt-Verfahren, Sandbox T5-T7 + T1/T4-Asssertionen (7/7 PASS), Stale-Beleg (b) korrigiert, Statuskette in-progress → done, P-2-Typos, Story done
Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-19 13:21:48 +02:00
Michael TamseandClaude 3aa484b2f4 feat: Story 3.2 Textuell-deterministische Relevanzbestimmung umsetzen (grep/ripgrep + Markdown-Traversal + Link-Following) — compiler.md Revision 2.5/2.6, §3.2-Mechanik, canonical-terms-Resolver, Mini-Sandbox T1-T4, Review-Loop-2-Patches, Story done
Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-19 09:16:19 +02:00
Michael TamseandClaude e3e7ec346d feat: Story 3.1 Code-Review-Loop-2-Patches (bmad-code-review, 4 Layer; Nutzer-Entscheidungen D-1/D-2/D-3/D-4 = 1/1) — compiler.md Revision 2.4.2, Diff-Selbsttest operationalisiert, Sandbox-Verification-Record, Story done
16 Patches + 4 Decision-Resolutions (alle 1 = empfohlen): (1) D-1: §5.9-Pkt.-5-Probe = git diff --name-only <Baseline-Commit> -- wiki/ + git status --porcelain (vor Commit, Neu-Anlage-Zielpfade erlaubt, Pfad-Normalisierung, Rollback-Mechanik); (2) D-2: R-1-Baseline-Commit im log.md-Run-Eintrag notiert + Diskrepanz-Regel (git diff gewinnt, SHA-256 Sekundär) + Fallback; (3) D-3: INPUT_UNCOMMITTED-Abbruch „published/committed Input erforderlich" als P2-Element (1) + §1.1-Anker-Divergenz-Fußnote; (4) D-4: Sandbox-Edge-Tests S1-S5 + S6-Kontrolle re-executiert, echte Outputs als Verification Record in der (nicht gefrorenen) Spec-## Verification + re-executierbares Skript versioniert (implementation-artifacts/sandbox-3-1/); (5) Instruktions-Präzisierungen: P2-Zeitpunkt, No-Op-Kandidat, Mehrfach-Treffer-Reihenfolge, Update-Pfad-Rollback §5.3, AD-17h-Gap (Home Story 3.8), Term-Ableitung, visited-set, Worked Example auf Ist-Baum korrigiert, stale-Anker nachgeführt. wiki/log.md: 2026-08-19-Eintrag (Rev 2.4.2, Loop-2-Aufarbeitung, D-1-Probe-Beleg). deferred-work.md: F17-Eintrag saniert + VG-Beleg auf Verification Record zeigt. sprint-status.yaml: 3-1-... done, last_updated 08-19-2026. AD-3/D-3/keine neue §7-Klasse/Commit-Boundary gehalten.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-19 06:44:49 +02:00
Michael TamseandClaude efc543c9e1 feat: Story 3.1 Inkrementellen Datenfluss implementieren (Interpret→Reconcile→Synthesize→Update) — compiler.md Revision 2.4/2.4.1, Update-Routing + §5.9, Diff-Selbsttest, Review-Patch-Runde; Review-Handoff auf story-3-1
- schema/compiler.md: §3 Pkt. 2 Update-Routing (statt Kollision-Hold) + textuell-deterministische Kandidatenliste (AD-13); §5.9 Update-Mutationsmechanik (Erweitern/Präzisieren/Korrigieren, sources nur echte Belege, generated.at-Konvention, log.md-Eintragspflicht Story-3.1-Update, Mehrfach-Treffer-Konsolidierung); Erhaltungs-Invariante + deterministischer Diff-Selbsttest (git diff --name-only -- wiki/ ⊆ Kandidatenliste∪log.md∪Index, Ghost-Diff-Rück-Rollen); Run-Vorphase-Bausteine (Defer R-1 Change-Detection + P2 Pre-Run-Reconcile; Baseline = HEAD der vorherigen Mutations-Boundary); §0-Aufruf Update-Variante; §5.7/§5.8-Referenzen nachgeführt; §7 Update entlassen; §8 Prüfgrundlage Revision 9 (Punkt-11-Area-Lesart, Rev-9-Lücke geschlossen) + Revisionslog 2.4/2.4.1 (Step-04-Review-Patch-Runde, AD-3/D-3 gehalten, Worked Example real)
- wiki/log.md: Story-3.1-Nachweis (Diff-Selbsttest wiki/log.md, per-Datei-Verdikt, Rev-9-Präzisierung, Sprint in-progress→review)
- deferred-work.md: R-1/P2 aufgegriffen (2026-08-18 §5.9); Review-Findings-Protokoll bzw. F17-Defer (git-lose Ausweichform ab Story 3.2)
- sprint-status.yaml: Story 3.1 → in-progress → review (Sprint-Sync), last_updated 22:30
- neu: epic-3-context.md, spec-3-1-… (status done, Suggested Review Order)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-19 05:22:30 +02:00
Michael TamseandClaude 802a5576eb chore: Autorisierte Validator-Revision 9 — Punkt-11-Area-Lesart formalisieren + gehaltene Patches tragen
- Header auf Revision 9 + Revisionslog-Eintrag (append-only, fünf inhaltliche
  Änderungen, keine neue §7-Klasse / kein Punkt 15)
- §3 Punkt-11-Area-Lesart: Pärchen (Area-Präfix + Link-Ziel) identitätsstiftend,
  file-relative Referenz genügt; Normalisierung (./-Strip, ..-Ausschluss, .md-Strip AD-7a)
- §3 Punkt-4-Vorlage: resolved=<pfad>-Token + §6.2-Semantik (nur bei Ablehnung durch
  aufgelöste Lage außerhalb raw/), Fixture 4a ableitbar
- §7.3 Innen-Ebenen-Punkt-6-Fixtures (Negativ role: x -> FAIL Punkt 6 / Positiv)
- §7-Fixtures 11a (Negativ am realen Live-Area-Namen / Positiv file-relativ)
- Vertrag schema/wiki-compiler.md + Instruktion schema/compiler.md + raw/ + adapters/
  unverändert (AD-3/D-3-Freeze, git diff 0 Treffer)
- Zertifizierung wiki/log.md (Isolierte Fixtures + reales Bundle 7/7 SUCCESS + Live-Invariant)
- Sprint-Status: code-review-2-1-item-2 + epic-2-retro-item-14 -> done

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-18 22:14:44 +02:00
Michael TamseandClaude ef84309db7 chore: Epic-2-Retrospective abschliessen (accepted-with-open-items, AI-2-R-1..5) + Sprint-Status synchronisieren
Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-18 21:28:02 +02:00
Michael TamseandClaude f41ac71a38 feat: Story 2.5 Code-Review-Patches (Loop 3, 4 Layer; Nutzer-Entscheidungen 1/1) — gehärtete §5.8-Selbsttest-Formel + Zwei-Zustands-Klarstellung NESTED_AREA_KANDIDAT
Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-18 16:48:46 +02:00
Michael TamseandClaude 20fd47624d feat: Story 2.5 Progressive Discovery ueber index.md — Konsolidierte Zwei-Ebenen-Kartografie (F-07)
- schema/compiler.md Revision 2.3: neue §5.8 „Progressive Discovery ueber index.md (Story 2.5)".
  Gewurzelte Erreichbarkeit (Root → Area → Concept), re-executierbarer Zwei-Lauf-Selbsttest
  (UNREACHABLE AREA / NESTED AREA), §5.8-Instruktions-Hold (Zwei-Ebenen, Tiefe ≥ 3) statt
  §3.2-Kollisions-Hold (Loopback-1-Renegotiation, Option A), Suche = Consumer-grep, Discovery-Demo optional.
- wiki/log.md: Implementierungs-Eintrag Vertrag-§5-Format inkl. Selbsttest-Beleg.
- Spec: Loopback-2 bad_spec + Konsistenz-Renegotiation: Verification-Formel byte-identisch zur
  Instruktion, erfundener Validator-CLI-Befehl entfernt, Formel-4-Baseline auf Run-Kopf 862cf41,
  stale §3.2-Wording in Design-Notes vervollständigt (frozen-Vervollstaendigung), Suggested Review Order.
- deferred-work.md: F-07 geschlossen (status: umgesetzt); Link-Pin-Eintraege unveraendert offen.
- sprint-status.yaml: 2-5-progressive-discovery → in-progress (Implementierung) → review (Handoff).
- AD-3 gewahrt: schema/wiki-compiler.md, schema/validator.md, raw/ unveraendert; keine neue §7-Klasse (D-3).

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-18 14:12:25 +02:00
Michael TamseandClaude e6e58cbdb1 feat: Story 2.4 Code-Review-Patches (Rev 2.2) — Formel-3 quellenbasiert, Formel-4 Re-Baseline, §5.7 Pkt. 1(a) Prädikat + Tie-Break
bmad-code-review Loop 2 (4 Layer): 3 decision-needed (Nutzer-Optionen 1/1/1),
14 patch umgesetzt, 4 defer (deferred-work.md), 8 dismissed.

- schema/compiler.md Rev 2.2: Formel 3 quellenbasierte ../schema/*-Exklusion
  (Decision 2), Formel 4 Re-Baseline auf Run-Kopf 862cf41 (Decision 1, 38 ≡ 38),
  §5.7 Pkt. 1(a) textuelles Treffer-Prädikat + deterministisches Tie-Break
  (Decision 3), file-relative Pin-Wortwahl, §7-Scope, Typos
- wiki/log.md: Review-Loop-2-Eintrag mit Negativ-Test-Nachweis (Sandbox-Ausgaben),
  Status-Handoff (review → done), Validator-Lauf-Korrektur (7 Dateien)
- wiki/wissensarchitektur/index.md: Prosa auf Ist-Area-Inhalt gekürzt
- spec: Verification auf Ist-Zustand (Formel-3-Spiegel, 7-Dateien, Run-Kopf),
  Change-Log Loop 2, review_loop_iteration → 2
- sprint-status.yaml: 2-4 → done, last_updated 08-18-2026 10:41
- deferred-work.md: 3 Story-2.4-Kandidat-Homes vorverlegt, 2 Defer umgesetzt
- Positiv-Kontrolle re-executiert: Formel 2 = 0 (Exit 0), Formel 3 leere Ausgabe,
  Formel 4 = 38 ≡ 38

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-18 11:36:55 +02:00
Michael Tamse 862cf410c6 feat: Story 2.4 deterministische Bereichszuordnung abgeschlossen (Rev 2.1)
§5.7 Routing-Regel (textual-deterministisch, AD-7c/A0-10), kanonische
ID-Normalisierung (AD-7a/A0-8), Kollisions-Hold auf §3.2, file-relatives
Link-Auflösungsmodell mit Out-of-Bundle-..-Containment, Area-Hierarchie
(Area-index.md, Punkt 11 wörtlich). Neue Demo-Area wissensarchitektur/
mit frontmatterloser index.md + source-material.md. Loop-1-Review-Fixes:
Containment in Formel 3 (Loop-1-A1), Formel-4-Baseline auf baseline_commit
66451b6 statt 7e1f449 (Loop-1-A2), kein inventiertes AREA_WITHOUT_INDEX
(Loop-1-B1). Schema/validator/raw unverändert (AD-3); keine neue §7-Klasse.
2026-08-18 08:15:33 +02:00