11 Commits
Author SHA1 Message Date
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 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 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 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