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>
43 KiB
43 KiB
Log
2026-08-19
- Story 3.1 «Inkrementellen Datenfluss implementieren (Interpret → Reconcile → Synthesize → Update)» →
done(bmad-code-review Loop 2, 4 Layer: blind-hunter / edge-case-hunter / verification-gap / acceptance-auditor; Diff-Baseline802a557→efc543c; Nutzer-Entscheidungen D-1/D-2/D-3/D-4 = 1/1/1/1, jeweils empfohlene Option):schema/compiler.md→ Revision 2.4.2 (alle 4 Decision-Resolutions + 16 Patches, rein textuell — kein Code, kein Standalone, keine neue §7-Klasse): (1) D-1: Diff-Selbsttest (Pkt. 5) operationalisiert — Probe =git diff --name-only <Baseline-Commit> -- wiki/plusgit status --porcelain -- wiki/(erfasst ungetrackte??-Dateien — die Duplikat-Kontrolle braucht diese Sicht;git diffallein ist blind dafür), Probe-Zeitpunkt vor dem Commit (am Ende des P2-Blocks, nach den Mutationen; nach dem Commit wäre die Probe vacuous, AD-17f), erlaubte Menge um Neu-Anlage-Zielpfade (§5.1/§5.7) ergänzt (Misch-Runs: keine fälschlichen Ghost-Diffs), Pfad-Normalisierung (Stripwiki/-Präfix +.md-Suffix vor dem Teilmenge-Vergleich), Rollback-Mechanik deterministisch benannt (git checkout -- <wiki/pfad>für modifizierte Pfade, ungetrackte löschen, Indexgit checkout -- <index>); (2) D-2: R-1-Baseline deterministisch —<Baseline-Commit>(HEAD der vorherigen Mutations-Boundary, AD-17f) wird vom Producer imwiki/log.md-Run-Eintrag notiert (voller SHA; AD-14: Git liefert Historie, nicht Domain-State — deshalb die Notiz); Diskrepanz-Regel:git diffgewinnt, SHA-256 bleibt Sekundär-Fingerprint; Fallback: ohne vorherige Mutations-Boundary gelten alleraw/-Dateien als Zuwachs; (3) D-3: INPUT_UNCOMMITTED-Abbruch implementiert — neuer P2-Check-Block-Element (1) Input-Zustand: Working-Copy vonraw/+wiki/gegen HEAD prüfen, bei Abweichung benannter Abbruch „published/committed Input erforderlich" (AD-17a) vor Interpretation und vor jeder Mutation — die gefrorene I/O-Matrix-Verpflichtung ist damit als Zustandsprüfung + Abbruchmeldung umgesetzt (zuvor nur Referenz auf §1 Pkt. 1); die Spec↔Anker-Divergenz (frozen Spec zitiert 3× „§1.1", §1 ist eine nummerierte Liste Pkt. 1–4 ohne §1.1-Label) ist als dokumentierte Fußnote in Rev-2.4.2 gesichert (Spec bleibt frozen); (4) D-4: Sandbox-Edge-Test-Nachweis — die fünf I/O-Matrix-Szenarien (HAPPY_PATH_UPDATE, UNTOUCHED_CONCEPT, CONCEPT_COLLISION_BESTEHEND, CHANGE_DETECTION, PRE_RUN_RECONCILE) + die D-3-Abbruch-Kontrolle sind als re-executierbares Skript (_bmad-output/implementation-artifacts/sandbox-3-1/run-sandbox.sh,bash …ab Workspace-Root, Sandbox-Bäume unter/tmp) mit konkreten deterministischen Ausgaben in der Spec-## Verification Record (Ausführungs-Beleg, 2026-08-19)verankert — die Verweise „in der Spec-Verification enthalten" (dieses Log,deferred-work.md) sind damit auflösbar; (5) Instruktions-Präzisierungen: P2-Block-Zeitpunkt (nach Reconcile, am Anfang der Mutationsphase; Diff-Probe am Block-Ende), No-Op-Kandidat-Regel (Evidenz bereits vollständig enthalten → keine Mutation/keinat-Bump/keinlog.md-Eintrag, byte-identisch), Mehrfach-Treffer-Reihenfolge für alle Einheiten (Zuwachs-Sicht-Ordnung; lexicografisch nur Tie-Break — AD-17h), Update-Pfad-Rollback in §5.3 Pkt. 3 (modifizierte Pfade aus Baseline-Commit wiederherstellen),generated.at↔AD-17h-Gap explizit benannt (Home: Story 3.8 — Wanduhr-aterzeugt bei gleichem Input unterschiedliche Bundle-States; Konvention A0-20 bleibt bindend, Wechsel = Ask-First), Term-Ableitung als §2-Interpretation abgegrenzt (Erhebung mit festem Term deterministisch; Term-Mechanismus Story 3.2), Link-Following mit besuchter Menge (keine Schleife bei zyklischen Links), Worked Example (Pkt. 7) auf den realen Ist-Baum korrigiert (rg -l 'FR-12' wiki/trifftwiki/knowledge-kompilation-inkrementell.md, nichtwissensarchitektur/source-material.md— das Rev-2.4.1-Beispiel enthielt den Term nicht), stale-Anker (§3.2-Kollisionsprüfung,§3-Voraussetzungsprüfung, §5.8-Pkt.-3-Zeiger „Pkt. 1" → „Pkt. 2") nachgeführt. Abschlussklausel Rev 2.4.2:schema/wiki-compiler.md/schema/validator.md/raw/unverändert (AD-3); keine neue §7-Invaliditätsklasse; kein Standalone (D-3); keine Vertragsänderung; Commit-Boundary-Regel unverändert. Review-Loop-2-Aufarbeitung zum Implementierungs-Eintrag (2026-08-18, oben): (a) der dortige (b)-Diff-Selbsttest-Beleg zitierte die Vor-Rev-2.4.1-Formgit diff --stat -- wiki/— die operative Probe ist seit Rev 2.4.2 die D-1-Form (git diff --name-only <Baseline-Commit> -- wiki/+git status --porcelain -- wiki/); (b) der Implementierungs-Eintrag dokumentierte „Revision 2.4" — der Story-3.1-Commitefc543centhält Revision 2.4 + 2.4.1 (Step-04-Review-Patch-Runde 2026-08-18, indeferred-work.mdals „Story-3.1-Review-Protokoll" protokolliert) und ist jetzt auf 2.4.2 (dieser Eintrag) fortgeführt; (c) Statuskette:in-progress(Implementierungs-Eintrag) →review(Review-Handoffefc543c) →done(dieser Eintrag — Loop-2-Abschluss: 4 Decision-Resolutions + 16 Patches, keine unresolved Findings; spec-Frontmatterstatus: 'done'+review_loop_iteration: 2deckungsgleich). Selbsttest-Beleg (re-executiert 2026-08-19, ab Workspace-Root, D-1-Probe-Form;<Baseline-Commit>=802a5576eb4bbf54761a947e43e68b7e7ea9d67d= Review-Baseline, hier als Konventions-Demonstration notiert — bei echten Run-Einträgen ist es der HEAD der vorherigen Mutations-Boundary, D-2): (a) Instruktions-Integrität —grep -n "5.9" schema/compiler.md→ §5.9-Sektion vorhanden;grep -n "Aktualisierung ist Epic 3" schema/compiler.md→ kein Treffer (Hold ersetzt, unverändert); (b) Diff-Selbsttest (Erhaltungs-Invariante) —git diff --name-only 802a557… -- wiki/→ ausschließlichwiki/log.md(dieser Eintrag; keine Concept-Datei, kein Index, kein Ghost-Diff auf nicht betroffenen Pfaden — die Instruktions-Story mutiert keine Concept-Inhalte; FT-6/FR-12) +git status --porcelain -- wiki/→M wiki/log.md(tracked, modifiziert — im erlaubten Satz; keine??-Einträge = keine ungetrackten neuen Dateien = kein Duplikat); normalisiert:log⊆ erlaubte Menge (log.md); (c) Validator-Lauf (human-mechanisch ausgeführte Text-Instruktionschema/validator.mdRev 9, D-3 — kein CLI): alle 7wiki/-Dateien SUCCESS (Punkte 1/2/6/7/8/9/10/11/12/13/14, EC-1 — unverändert zur Story 2.5, Story 3.1 mutiert keine Concept-Inhalte); das per-Datei-Verdikt ist der Ausführungs-Nachweis der Spec-Verification Pkt. 3 und AC 5; (d) Sandbox-/Edge-Tests (I/O-Matrix) — ausgeführt, echte Outputs in der Spec-## Verification Record (Ausführungs-Beleg, 2026-08-19)(re-executierbar:bash _bmad-output/implementation-artifacts/sandbox-3-1/run-sandbox.sh): S1 HAPPY_PATH_UPDATE (Probe →alpha,log; 0 untracked), S2 UNTOUCHED_CONCEPT (leere Probe), S3 CONCEPT_COLLISION_BESTEHEND (nurM-Einträge, kein??), S4 CHANGE_DETECTION (außschließlichraw/alpha-v2.md; SHA-25621e7fc1d…identisch), S5 PRE_RUN_RECONCILE (Run-FAIL V-1, Zustand sauber), S6 INPUT_UNCOMMITTED (benannter Abbruch „published/committed Input erforderlich (AD-17a)").sprint-status.yaml:3-1-inkrementellen-datenfluss-implementieren-interpret-reconcilereview→done,last_updated→ 08-19-2026.
2026-08-18
- Story 3.1 «Inkrementellen Datenfluss implementieren (Interpret → Reconcile → Synthesize → Update)» (Implementierung, Instruktions-Story D-3):
schema/compiler.md→ Revision 2.4 (inkrementeller Datenfluss als Erweiterungs-Instruktion, rein textuell — kein Code, kein Standalone, keine neue §7-Klasse): (1) §3 Reconcile — Pkt. 2 Kollision-Hold durch Update-Routing ersetzt (bestehende Wissenseinheit → Update-Kandidat im bestehenden Concept-Pfad, kein Duplikat, kein stummer Überschreib, AD-16-Default-Erhaltung; der Epic-3-Abbruch entfällt) + textuell-deterministische Kandidatenliste (Konzept-/Term-Überschneidung viagrep/ripgrep,index.md-Traversal, Link-Following — AD-13; feinkörniger Relevanz-Mechanismus Story 3.2 vorbehalten); (2) neue §5.9 «Inkrementelles Update bestehender Concepts (Story 3.1)» (nach §5.8, vor §6): Update-Stimulus = Reconcile-Kandidatenliste (§3 Pkt. 2); Mutationsmechanik — Erweitern (Absatz/Beleg ergänzen), Präzisieren (Aussage schärfen, Beleg neu/nachgeführt, §5.5), Korrigieren (ersetzte Aussage + Ersetzungsbeleg, keine stille Löschung, AD-16-Default),sourcesnur um echte neue Belege ergänzen (§5.5-Pkt.-1b-Relokation, Vertrag §3.3-Subset),generated.at= aktueller Run-Zeitstempel (A0-20, einmaligeat-Festlegung pro Run), vorhandenes human-verifiedbleibt stehen; Index-/Link-Form unverändert (§5.6-Pin, kein neuer Link bei reinem Body-Update);log.md-Eintragspflicht (Vertrag §5, „Story 3.1-Update"-Markierung; Disagreement-Fälle dokumentiert — Epic-4-Interface, keine Korrektur-Klassifikation hier); Erhaltungs-Invariante (FT-6/FR-12) + re-executierbarer Diff-Selbsttest — nach jedem Rungit diff --stat -- wiki/, geänderte Dateien ⊆ (betroffene Concepts ∪log.md∪ nachgeführteindex.md), Ghost-Diff = textuell benannter Instruktions-Verstoß (NFR-4), nie „Regenerate Everything" (AD-5, A0-6); Run-Vorphase-Bausteine — Defer R-1 Input-Zuwachserkennung (Change-Detection viagit diffaufraw/und/oder SHA-256-Record ausraw/**/source.md) und Defer P2 Pre-Run-Reconcile-Check-Block (Zielpfade, Quellen-Existenz EC-1, Betroffenheits-Kandidatenliste,wiki/index.md-V-1) als wiederverwendbare textuelle Check-Blöcke (D-3, keine neuen Prozesse); Worked Example; (3) §0-Aufruf — sechs Phasen für Neu-Anlage- und Update-Variante präzisiert (Reconcile/Mutieren betreffen auch bestehende Concepts; AD-17a-Input-Regel referenziert, §1.1 bleibt); (4) §5.7 Pkt. 3 / §5.8 Pkt. 2/3 — Top-Level-Kollisions-Referenz auf das Update-Routing (§3 Pkt. 2/§5.9) nachgeführt (die bisherige Epic-3-Abbruch-Formulierung „aktualisieren ist Epic 3" ist entfernt: Das Update lebt in §5.9; das Schutzprinzip der Erhaltung — „nicht stumm überschreiben" — bleibt als AD-16-Default in §3 Pkt. 2/§5.9 erhalten); (5) §7-Selbstbegrenzung — Update-Thema aus dem Epic-3-Vorbehalt entlassen, Scope-Einleitung um die Update-Variante geöffnet; die verbleibenden 3.x-Themen im Vorbehalt benannt: Synthese über mehrere Concepts → Story 3.4 (AD-4/FR-7), Leasing/Dirty-Tree-Schutz → Story 3.5/3.6 (AD-17a..f), Relevanz-Verfeinerung → Story 3.2; (6) §8-Normreferenzen um A0-6/FR-6/FR-12 ergänzt (AD-5/AD-6/AD-17h bereits gelistet) + Revisionslog 2.4 mit Abschlussklausel (kein Vertrag-/Validator-/raw/-Change, keine neue §7-Klasse, kein Standalone, Commit-Boundary-Regel unverändert).deferred-work.md: Defer R-1 (Input-Zuwachserkennung) und P2 (Pre-Run-Reconcile-Check-Block) als aufgegriffen (2026-08-18, Story 3.1 — §5.9) markiert (append-only, bestehende Einträge unverändert).schema/wiki-compiler.md/validator.md/raw/unverändert (AD-3); keine neue §7-Klasse; kein Standalone (D-3).sprint-status.yaml:3-1-inkrementellen-datenfluss-implementieren-interpret-reconcilebacklog→in-progress(dieser Statuswechsel findet mit Story 3.1 statt; Sprint-Status bereits synchronisiert) →review(Review-Handoff, der übliche Folgezustand nach dem Implementierungs-Eintrag, s. Sprint-Status-Workflow-Kommentar „Dev moves story to 'review'"). Selbsttest-Beleg (re-executierbar, ab Workspace-Root): (a) Instruktions-Integrität —grep -n "5.9" schema/compiler.md→ neue §5.9-Sektion gefunden;grep -n "Aktualisierung ist Epic 3" schema/compiler.md→ kein Treffer (Hold ersetzt); §7 enthält „Update" nur noch als „aus dem Vorbehalt entlassen"-Verweis, nicht als offenes Vorbehalts-Thema; (b) Diff-Selbsttest (Erhaltungs-Invariante) —git diff --stat -- wiki/: ausschließlich die von Story 3.1 berührten Dateien (wiki/log.md; keine Concept-Datei, kein Index, kein Ghost-Diff auf nicht betroffenen Pfaden — die Instruktions-Story mutiert keine Concept-Inhalte; FT-6/FR-12); (c) Validator-Lauf (human-mechanisch ausgeführte Text-Instruktionschema/validator.md, D-3 — kein CLI): alle 7wiki/-Dateien SUCCESS (Punkte 1/2/6/7/8/9/10/11/12/13/14, EC-1 — unverändert zur Story 2.5, Story 3.1 mutiert keine Concept-Inhalte); das per-Datei-Verdikt ist der Ausführungs-Nachweis der Spec-Verification Pkt. 3 und AC 5. Sandbox-/Edge-Tests (I/O-Matrix): siehe Spec-Verification — isolierte Sandbox-Bäume für HAPPY_PATH_UPDATE (Update-Routing: bestehender Pfad aktualisiert, kein Duplikat), UNTOUCHED_CONCEPT (kein Diff auf nicht betroffenem Pfad), CONCEPT_COLLISION_BESTEHEND (Update statt Duplikat), CHANGE_DETECTION (nur Zuwachs übergit diff/SHA-256-Record), PRE_RUN_RECONCILE (Check-Block vor jeder Mutation; fehlende Bundleroot → Run-FAIL, V-1) — deterministische Formel-Ausgaben/Nachweise je Szenario. - Validierungs-Revision 9 (autorisiert; Epic-2-Retro F-02/AI-2-R-5, de-dupliziert mit
code-review-2-1-item-2; ausgeführt 2026-08-18, Quelle:_bmad-output/implementation-artifacts/spec-autorisierte-validator-revision-9-punkt-11-area-lesart.md):schema/validator.md→ Revision 9. Fünf inhaltliche Änderungen, keine neue §7-Klasse (kein Punkt 15; Vertragschema/wiki-compiler.md+ Instruktionschema/compiler.md+raw/+adapters/+ allewiki/-Concept-Dateien unverändert, AD-3/D-3): (1) Punkt-11-Area-Lesart formalisiert (§3 Zelle: Für ein Area-Concept genügt die file-relative Referenz in der Area-index.mddes nächsten Vorfahren; identitätsstiftend ist das Pärchen Area-Präfix (= bundle-relativer Verzeichnispfad der Area-index.md) + Link-Ziel ohne.md-Endung (AD-7a), textuelle Nennung der Bundle-Identität entfällt — Live:wissensarchitektur/source-materialüber](source-material.md)inwiki/wissensarchitektur/index.md; Normalisierung:././-Strip,..nicht Teil der Ein-Ebenen-Form); (2) Punkt-4-Vorlage umresolved=<pfad>-Token ergänzt + Semantik verankert (…|file://|resolved=<pfad>; §6.2: nur bei Ablehnung durch aufgelöste Lage außerhalbraw/, Wert = aufgelöster workspace-relativer Pfad) — Fixture 4a ableitbar; (3) Innen-Ebenen-Punkt-6-Fixtures in §7.3 (Negativ:role: xinsources-Eintrag → FAIL Punkt 6; Positiv-Gegenzeile ausschließlich erlaubte Keys → SUCCESS); (4) §7-Fixtures 11a (Negativ: Area-Concept unverlinkt →Concept nicht verlinkt=wissensarchitektur/source-materialam realen Live-Area-Namen; Positiv: file-relativ verlinkt → SUCCESS); (5) §8-Normreferenz-Notiz „Story 2.3 (Link-Form)" um die Rev-9-Area-Lesart ergänzt. Nachgeführt: Header auf „Revision 9" + Revisionslog-Eintrag Revision 9 (append-only, bestehende Einträge unangetastet). Zertifizierung (mechanisch, D-3): (a) Fixture 4a isoliert — Samplesources: [{resource: README.md}]mit existierenderREADME.mdan der Workspace-Root →FAIL … Punkt 4: resource ausserhalb raw/ oder unzulaessiger Pfad (…|resolved=README.md), kein Vorab-FAIL durch Punkt 3/andere Punkte (Punkt-4-vor-3-Priorität §6.2); (b) Innen-Ebenen-Sample isoliert —sources:\n - resource: raw/prd/prd-wow20-2026-08-14.md\n role: x(Datei existiert, sonst-valides Sample) → genauPunkt 6: nicht autorisiertes Feld (Key=role) bzw. unautorisierter Key in sources/generated/verified, kein anderer Punkt (Isolations-Prinzip §7.3); (c) Punkt-11-Area-Lesart-Fixtures — Negativ 11a (Area-index.mdverlinktsource-material.mdnicht) →FAIL … Punkt 11: Index-Regel verletzt (Concept nicht verlinkt=wissensarchitektur/source-material); Positiv 11a (file-relativer](source-material.md)-Link, Live-Lage) → SUCCESS (kein „nicht verlinkt"-FAIL); (d) reales Bundle gegen den revidierten Validator (human-mechanisch ausgeführte Text-Instruktion) — alle 7wiki/-Dateien weiterhin SUCCESS (Punkte 1/2/6/7/8/9/10/11/12/13/14, EC-1; Punkt 11 inkl. Area-Lesart), identisch zur Story-2.4/2.5-Lage — keine neu ausgelösten FAILs, Abschluss-Eigenschaft des §7-Katalogs gewahrt. Mechanische Belege (ausgeführt 2026-08-18): (e) AD-3/D-3-Freeze —git diff --name-only <base>..HEAD -- schema/wiki-compiler.md schema/compiler.md raw/ adapters/→ 0 Treffer (keine dieser Dateien geändert); (f) Live-Invariant der 7/7-SUCCESS-Behauptung —grep -qF '](source-material.md)' wiki/wissensarchitektur/index.md→ exit 0 (Area-Lesart lebend verankert).sprint-status.yaml:code-review-2-1-item-2undepic-2-retro-item-14-…(AI-2-R-5) →done(closed 2026-08-18, resolution mit Rev-9 + ref auf die Rev-9-Runde). - Story 2.5 «Progressive Discovery über
index.mdbereitstellen» (Implementierung, inkl. Review-Loop-1-Korrektur + Review-Loop-3-Patches, bmad-code-review 2026-08-18, 4 Layer; Nutzer-Entscheidungen 1/1):schema/compiler.md→ Revision 2.3 (neue §5.8 „Progressive Discovery überindex.md(Story 2.5)"): (1) Discovery-Pfad — Bundlerootwiki/index.md→ Area-index.md(frontmatterlos) → Area-Concepts in gepinnter §5.6-Form; Root-Concepts direkt aus der Bundleroot (AD-9, FR-11; gewurzelte Erreichbarkeit Root → Area → Concept, §5.7 Pkt. 5); (2) gewurzelte Erreichbarkeit als deterministisches Discovery-Kriterium + re-executierbarer Selbsttest (UNREACHABLE AREA: <area>für von der Bundleroot unverlinkte Area — AD-9;NESTED AREA: <area>für Zwei-Ebenen-Kandidaten, geprüft über zwei Läufe der Selbsttest-Formel: (A) Ein-Ebenen-Area-index.md→ Root-Verlinkungsstatus, (B)find wiki -mindepth 3 -type f -name "*.md"→ jede Datei in Tiefe ≥ 3 ist ein Zwei-Ebenen-Kandidat, Meldung je Verletzung genau eine; beide Läufe ohne Ausgabe = Discovery-SUCCESS; Instruktions-Selbsttest, schließt die Validator-Navigation-Lücke ohne Validator-Change — kein neuer §7-Punkt, AD-3); (3) konsolidierte Zwei-Ebenen-Kartografie (antwortet und schließt Defer F-07): Root + eine Area-Ebene;wiki/a/b/ist keine zugelassene Anlageform —wiki/a/b/concept.md-Kandidat (auch ohneindex.md; die Area-ohne-Index-Lücke, die der reineindex.md-Scan übersähe) wird durch den §5.8-Instruktions-Hold (Zwei-Ebenen, Tiefe ≥ 3) angehalten (keine Datei, kein Index-Link, textuelle MeldungNESTED AREA: <area>, Run „teilweise erfolgreich", NFR-4) — Loopback-1-Renegotiation (menschen-autorisierte Option A): Träger ist der §5.8-lokale Hold, nicht der §3.2-Kollisions-Hold (der bleibt der Dateikollision bestehender Concepts vorbehalten — ein brandneuer Zwei-Ebenen-Pfad kollidiert nie mit einem existierenden); (4) Suche = Consumer-grep (grep -rn <term> wiki/rekursiv bzw.rg <term> wiki/, AD-13 — keine Such-Datenbank, kein Embedding, kein Index-Datei-Format; NFR-3), (5) Discovery-Demo (optional, kein MOVE) — bei Durchführung: Formel-4-Re-Baseline-Pflicht (neuer Zuwachs-Run), sonst bleibt Formel 438 ≡ 38. Nachgeführt: §7 Story-2.5-Vorbehalt auf „Suche"-Rest gekürzt (Navigation/Area-Indizes jetzt §5.8-verankert, Suche = Consumer-Thema; die Vorbehalt-Zeile lag in der Baselinemainbei Z. 253, nach dem §5.8-Einschub bei Z. 285), §8 Normreferenzen (AD-9/AD-13 → §5.8, FR-11 → §5.7 Pkt. 5/§5.8, NFR-3 neu) + Revisionslog 2.3. Selbsttest-Beleg (re-executiert, die gehärtete Loop-3-§5.8-Pkt.-2-Selbsttest-Formel vonschema/compiler.md§5.8 Pkt. 2 (CWD-Präguard, Erreichbarkeits-Check auf Markdown-Linksyntax](pergrep -qF,LC_ALL=C sort -u) als wörtlicher Einzel-Quote-sh -c '…'-String — Live-Baum: keine Ausgabe, Exit 0; CWD-Präguard-Kontrolle außerhalb der Workspace-Root:SELBSTTEST-SETUP-Fehler: Workspace-Root (wiki/index.md fehlt)+ Exit 1): Areawissensarchitekturaus der Bundleroot verlinkt (Root→Area, Selbsttest-Lauf A); die Area→Concept-Verlinkung (source-material.mdin der Area-index.md) ist durch den Validator Punkt 11 mechanisch abgedeckt (kein Duplikat im Selbsttest). Sandbox-/Edge-Tests (I/O-Matrix, deterministische Formel-Ausgaben): (a) HAPPY — gewurzelte Erreichbarkeit ohne Verletzung; (b) AREA_UNREACHABLE — Area-index.mdexistiert, Bundleroot unverlinkt →UNREACHABLE AREA: <area>(textuell benannter Instruktions-Selbsttest-Befund, kein Validator-Punkt); (c) NESTED_AREA_KANDIDAT —wiki/a/b/index.md- undwiki/a/b/concept.md-Kandidaten (je einzeln) →NESTED AREA: a(erste Ebene der nicht-zulässigen Struktur; bei mehreren Dateien unter derselben ersten Ebene Konsolidierung überLC_ALL=C sort -u); Sandbox-Nachweis auf einem synthetischen Baum mit angelegter Testdatei (Zwei-Zustands-Klarstellung Loop-3-Decision-2: die Formel meldet bestehende Tiefe-≥-3-Dateien; der Hold-Zeitpunkt hält den Erstellungskandidaten an, ohne Datei). Die Sandbox-Kontrollen decken die I/O-Matrix-Szenarien AREA_UNREACHABLE und NESTED_AREA_KANDIDAT ab. §5.6-Formeln unverändert re-executierbar: Formel 2 (Form-Check)0(Exit 0), Formel 3 (Dangling-Check) keine Ausgabe, Formel 438 ≡ 38(Ist ≡ Extraktion aus dem Run-Kopf862cf41— keine neue Baseline nötig, keinewiki/-Dateimenge-Änderung durch Story 2.5; die Demo ist optional und würde bei Durchführung die Re-Baseline auslösen). Validator-Lauf (human-mechanisch ausgeführte Text-Instruktionschema/validator.md, D-3 — kein CLI): alle 7wiki/-Dateien SUCCESS (Punkte 1/2/6/7/8/9/10/11/12/13/14, EC-1) — unverändert zur Story 2.4; das per-Datei-Verdikt ist der Ausführungs-Nachweis für die Spec-Verification Pkt. 3 und AC 5.sprint-status.yaml:2-5-progressive-discovery-über-index-md-bereitstellenbacklog→in-progress(Implementierungs-Eintrag) →review(Review-Handoff, dieser Eintrag — die gefrorene Spec-Vorgabe „→in-progress" beschreibt den Implementierungsstand, der Review-Handoff ist der übliche Folgezustand, s. Sprint-Status-Workflow-Kommentar „Dev moves story to 'review'"); Loop-3-Abschluss mit diesem Review:review→done(Sprint-Status synchronisiert, spec-Frontmatterstatus: 'done'deckungsgleich,review_loop_iteration→ 3).schema/wiki-compiler.md/validator.md/raw/unverändert (AD-3); keine neue §7-Klasse; kein Standalone (D-3); keine Vertragsänderung. - Story 2.4 «Deterministische Bereichszuordnung & Concept-Hierarchie» (Review-Loop 2, bmad-code-review, 4 Layer): 3
decision-needed(Nutzer-Entscheidungen 1/1/1) + 11patchumgesetzt, 4defer(s.deferred-work.md), 8 dismissed.schema/compiler.md→ Revision 2.2: (1) Formel 3 quellenbasierte../schema/*-Exklusion (Decision 2): die Exklusion greift nur, wenn die Quell-Datei auf Bundleroot-Ebene liegt (dirname <quelle>=wiki); aus Area-Quellen läuft einstufiges../schema/…durch Auflösung + Containment + Existenztest (Prosa war bereits „nur aus Root-Dateien", die Formel folgt jetzt der Prosa); (2) Formel 4 Re-Baseline auf den Run-Kopf (Decision 1): Extraktions-Commit862cf410c624072833cd959da9a2fb26235716f6statt66451b6…— der gepinnte Selbsttest lief auf dem Zuwachs-Baum deterministisch38 ≠ 30= Run-FAIL (bekannt-böser Zustand aus Loop-1-A2, nur halb geheilt); jetzt 38 ≡ 38 (re-executiert: Ist=38, Extraktion862cf41=38;66451b6/30dokumentiert den Vor-Zuwachs-Zustand, bleibt als Referenz dieses Runs); (3) §5.7 Pkt. 1(a) Treffer-Prädikat + Tie-Break (Decision 3): „inhaltlich deckungsgleichen Eintrag" (Urteil, AD-13-Verstoß) ersetzt durch textuelles Prädikat (Identität des Link-Ziels ≡ kanonischer Name des Themas) + Mehrfachtreffer-Regel (Bundleroot-Links vor Area-Links, dann lexicografische Pfad-Reihenfolge); (4) file-relative Pin-Wortwahl in §5.3 Pkt. 3 (Oxymoron „file-relativ bundle-relativ" aufgelöst), §6.6-Zelle und §7-Bullet nachgeführt; (5) §7-Scope-Einleitung „Root-Ebene" → „Root-Ebene und in Areas gemäß §5.7"; (6) Typos („akte-Baseline" → „aktuelle Baseline", Doppel-Leerzeichen §6.6); (7) „Kopf dieser Spezifikation" → „Baseline-Commit des letzten Zuwachs-Runs".wiki/wissensarchitektur/index.md: Prosa auf den tatsächlichen Area-Inhalt gekürzt (nursource-material.mdexistiert; Link-Form/Discovery-Topics waren übergezeichnet). Negativ-Test-Nachweis (Sandbox-Baum, exakte Formel-Ausgabe): (a) TOP_LEVEL_COLLISION — Kandidat mit IDllm-wiki-prinzip:wiki/llm-wiki-prinzip.mdexistiert → §3.2-Hold „Concept existiert bereits — Aktualisierung ist Epic 3" (keine Datei, kein Index-Link, keinlog.md-Eintrag); (b) AREA_WITHOUT_INDEX — Sandbox-wiki/foo/ohneindex.md: wörtliche Punkt-11-MeldungFAIL wiki/foo/ Punkt 11: Index-Regel verletzt (Area ohne index.md=foo)(Validator-§7.1-Fixture-Wortlaut, kein inventiertesAREA_WITHOUT_INDEX-Label); (c) DIVING_NON_EXISTENT —[v](../fehlt.md)aus Area-Concept →DANGLING: ../fehlt.md; (d) Out-of-Bundle-Escape (Loop-1-A1-Kontrolle) —[x](../../README.md)→DANGLING: ../../README.md,[y](../../schema/compiler.md)→DANGLING: ../../schema/compiler.md; (e) In-Bundle-../schema/aus Area (Loop-2-Kontrolle) —[z](../schema/compiler.md)auswiki/wissensarchitektur/source-material.md→DANGLING: ../schema/compiler.md(vor dem Loop-2-Patch: still exkludiert, leere Ausgabe — Sandbox-Nachweis des gefixten Löchs). Positiv-Kontrolle nach allen Patches: Formel 2 (Form-Check) =0(Exit 0), Formel 3 (Dangling) = keine Ausgabe, Formel 4 =38 ≡ 38(beide re-executiert). Status-Nachführung (korrigiert zum obigen Implementierungs-Eintrag):sprint-status.yaml2-4-…backlog→in-progress(Implementierungs-Eintrag) →review(Review-Handoff, dieser Eintrag); die gefrorene Spec-Vorgabe („→in-progress") beschreibt den Implementierungsstand, der Review-Handoff ist der übliche Folgezustand (s. Sprint-Status-Workflow-Kommentar „Dev moves story to 'review'"). Loop-Abschluss mit diesem Review:review→done(Sprint-Status synchronisiert,sprint-status.yamllast_updatednachgeführt; spec-Frontmatterstatus: 'done'deckungsgleich,review_loop_iteration→ 2). Validator-Lauf-Korrektur zum obigen Eintrag: die gültige Datei-Zählung ist 7wiki/-Dateien (Bundleroot,log.md, 3 Root-Concepts, Area-index.md, Area-Concept) — der obige Verweis auf „Punkt 9/10" für die Differenz zur Spec-Zahl 6 war falsch belegt (Punkt 9 =okf_version/type: bundle-Verbot außerhalb der Bundleroot;log.mdwird über Punkt 10/V-2 mitvalidiert); die Spec-Zahl 6 ist eine frozen-Defizitzählung (Defer indeferred-work.md).schema/wiki-compiler.md/validator.md/raw/unverändert (AD-3); keine neue §7-Klasse; kein Standalone (D-3). - Story 2.4 «Deterministische Bereichszuordnung & Concept-Hierarchie» (Implementierung):
schema/compiler.md→ Revision 2.1 (neue §5.7 „Deterministische Bereichszuordnung & Concept-Hierarchie": Routing-Regel textual-deterministisch — (a) First-Class-Link aus dem bestehendenindex.md-Baum → Bereichwiki/<area>/<concept>.md, (b) Default Root-Ebene, neue Areas nur konsolidiert; nie Embedding/Vector, AD-7c/A0-10/AD-13; kanonische ID-Normalisierung AD-7a/A0-8 mit Beispieltabelle; Top-Level-Kollisions-Hold → fixierter §3.2, kein neues Prädikat, kein MOVE; file-relatives Link-Auflösungsmodell inkl. Out-of-Bundle-..-Containment; Area-index.md-Regel mit wörtlicher Punkt-11-MeldungFAIL … Punkt 11: Index-Regel verletzt (Area ohne index.md=<area>)— kein inventiertes Label; Worked Example). Nachgeführt: §5.1 Pkt. 1, §5.3 Pkt. 3 (Index-Regel area-bewusst), §5.6 Pkt. 1/2/3/4/5 (file-relativ;../-Exklusion aufgelöst; Formel 3 mit Quell-Datei-Spur + in-Bundle-..-Auflösung + Containment — Out-of-Bundle-..-Escape wirdDANGLING; Formel 4 neu aufbaseline_commit66451b6e6c9e139fb3aa3bbf4b01291e1e2d273a(deklariertebaseline_commit-Werte der Spec-Frontmatter, nicht mehr Story-2.3-7e1f449…; Loop-2: Re-Baseline auf den Run-Kopf862cf41, s. obiger Review-Eintrag), Basename-Filtergrep -v "log.md$"), §6 Pkt. 2, §6.6, §7, §8.deferred-work.md: drei Story-2.4-namige Einträge geschlossen (umgesetzt): bundlerelativ-vs-dateirelativ (→ §5.7 Pkt. 4 file-relativ), Cross-Page-Anker-Stale-Evidenz (→ Ist-Verhalten Fragment-Strip, keine Dangling-Ausgabe), künftiges Area-log.md-Baseline-Bruch (→ Formel 4 Basename-Filter). Neue Areawiki/wissensarchitektur/angelegt:wiki/wissensarchitektur/index.md(frontmatterlos, Vertrag §2/§6, Validator Punkt 10; verlinkt das Area-Concept in der gepinnten §5.6-Form) +wiki/wissensarchitektur/source-material.md(Area-Concepttype: concept,sourcess1=architecture-spine + s2=prd, §5.5-Inline-Verweise + Kontext-Marker, Body-Links auf Root-Concepts in file-relativer../-Form:llm-wiki-prinzip.md,wissensarchitektur-trennung-states.md,knowledge-kompilation-inkrementell.md).wiki/index.md: neue Area-Sektion verlinktwissensarchitektur/index.md(die 3 bestehenden Root-Concept-Links + die 3../schema/-Links byte-identisch, Null-Migration). Formel-4-Re-Baseline: Ist-Zählung auf dem neuen Baum = 38 (log.md-exkludiert;grep -roE '\(raw/'), Baseline-Extraktion aus66451b6= 30 (alter Baum, 4 nicht-log.md-Dateien:index.md+ 3 Root-Concepts;git ls-tree -r + git show, Basename-log.md-Filter) — Dokumentation verlangt die aktuelle Baseline aus66451b6(38 ≠ 30, kein Fehlalarm: Zuwachs-Re-Baseline; Loop-2-Korrektur: Re-Baseline auf den Run-Kopf862cf41,38 ≡ 38, s. obiger Review-Eintrag); die exakte Ist-Zahl hängt am finalen Concept/Body-Stand und wird in der Spec-Verification des Runs belegt.sprint-status.yaml:2-4-deterministische-bereichszuordnung-concept-hierarchiebacklog→in-progress(dieser Statuswechsel findet mit diesem Eintrag statt). Validator-Lauf: alle 7wiki/-Dateien SUCCESS (index.md+log.md+ 3 Root-Concepts + Area-index.md+ Area-Concept; Punkte 1/2/6/7/8/9/10/11/12/13/14, EC-1; die Spec-Verification nennt erwartungsseitig „6wiki/-Dateien" — die Differenz erklärt sich durch das reserviertelog.md(Protokoll, wird mitvalidiert, Punkt 9/10), die Validator-Effort-Zahl dieser erfolgten Ausführung ist 7).schema/wiki-compiler.md/validator.md/raw/unverändert (AD-3); keine neue §7-Klasse; kein Standalone (D-3).
2026-08-17
- Story 2.3 «Concepts verlinken — eine erlaubte Linkform» (Implementierung): Linkform auf bundle-relativ mit
.md-Endung gepinnt (Rationale: die 3 bestehenden Concept-Links inwiki/index.mdsind bereits in dieser Form → Null-Migration; Ziele sind explizite Dateien, auch mit Areas eindeutig; Standard-Markdown-Tools lösen ohne Konventionswissen auf — AD-7b, A0-9, FR-10, AD-8). Veränderte Dateien:schema/compiler.md→ Revision 1.8 (neue §5.6 „Concept-Links (Story 2.3)": Pin, Geltungsbereich Concept-Bodies +index.mdmit Ausnahmenraw/-Provenienz (§5.5)/../schema//http/Gleichseit-Anker, vier re-executierbare Selbsttest-Formeln (Bestands-, Form-, Dangling-, Kontakt-mit-raw/-Unverändert-Check, AD-17h), NFR-4-Regel, Worked Example; die „bis Story 2.3"-Klauseln in §5.3 Pkt. 3 + §5.5 Pkt. 1 referenzieren §5.6; §7-Bullet, §8-Normreferenzen AD-7b/AD-8/FR-10/A0-9 + Revisionslog 1.8),wiki/wissensarchitektur-trennung-states.md(zwei inhaltsbegründete Cross-Links in gepinnter Form: →llm-wiki-prinzip.md, →knowledge-kompilation-inkrementell.md, je mit §5.5-konformem Kontextsatz/Inline-raw/-Verweis; keine Frontmatter-/sources-Änderung),deferred-work.md(Linkform-Eintrag geschlossen).wiki/index.mdunverändert (die 3 Concept-Links bereits in gepinnter Form; die 3../schema/-Links außerhalb des Pin-Wirkungsbereichs).sprint-status.yaml:2-3-concepts-verlinken-eine-erlaubte-linkformbacklog→in-progress(dieser Statuswechsel findet mit diesem Eintrag statt). Kontakt-mit-raw/-Unverändert: die Vorkommen-Zählung der Inline-raw/-Verweis-Muster unterwiki/(Selbsttest-Formel §5.6 Pkt. 3, Formel (4)) ist identisch zur ausbaseline_commit7e1f449dynamisch extrahierten Baseline (30,log.md-exkludiert;git ls-tree+git show, deterministisch re-executierbar). Validator-Lauf: alle 5wiki/-Dateien SUCCESS (Punkte 1/6/11/14, EC-1; der Punkt-11-Check bleibt strukturell unverändert und akzeptiert beide Schreibweisen — keine neue §7-Klasse, kein Validator-Change). - Story 2.2 «Claim-granulare Provenienz dokumentieren» →
done(bmad-code-review 2026-08-17, 4 Layer, abgeschlossen): Review aufbb32acd → story-2-2— 1decision-needed(D1 Referenzform → Option 1: Komma-Form als zulässige Variante), 12patch(alle umgesetzt), 4defer, 2 dismissed.schema/compiler.md→ Revision 1.7: defekte Selbsttest-Grep-Formel behoben (ungeschlossene ERE'(raw/|]\(raw/'→'\(raw/'), Komma-Form + Multi-Beleg-Serialisierung in §5.5 Pkt.1, Relokations-Sub-Bullets als 1a/1b nummeriert, drei Marker-Muster, Forward-Referenz-Disambiguierung aufStory 3.1: Inkrementellen Datenfluss implementieren, §8-Normreferenzen um AD-4a/AD-9/AD-13/AD-14/AD-16/FR-16/A0-3 ergänzt.wiki/knowledge-kompilation-inkrementell.mdForward-Referenz-Zitat disambiguiert. Defer W2–W4 (Fragment-Existenz, Marker-Grammatik,sources-id-Eindeutigkeit — keine re-runnable Prüfung ohne Standalone, D-3) + W1 (sources-Closure) indeferred-work.md. Re-Verifikation:sh -c "grep -nE '\(raw/' wiki/*.md"27 Treffer, alle 3 Diagramm-Marker + Forward-Referenz mit exaktem Token,sources-idje Concept eindeutig,wiki-compiler.md/validator.md/raw/unverändert. Klassifikation:review-2-2-klassifikation.md.sprint-status.yaml: Story 2.2 →done. - Story 2.2 «Claim-granulare Provenienz dokumentieren» — Nachrüstung (Datei-Bodies,
index.md,log.md):schema/compiler.mdum §5.5 „Claim-granulare Provenienz" erweitert (nach §5, vor §6): Inline-raw/-Verweis je belegter Aussage +id-Attribution (Vertrag §3.3), Kontext-Marker je Übernahme (übernommen aus<raw-Quelle>(rohe Quelle) bzw. übernommen aus<Concept>auf Basis von<raw-Quelle>, jeweils „nicht eigenständig belegt"), eindeutigesid-Scoping je Concept, Selbsttest-Kriterien (AD-4a/4c, AD-13, AD-17h); Revisionslog (§8) → Revision 1.5 (Nachrüstung) bzw. 1.6 (Review-Patch-Runde: Stellen-Kennungs-Semantik, volle Pfade, Direktübernahme-Marker, worked example, korrigierte Grep-Formel), §7-Selbstbegrenzung entsprechend angepasst.wiki/index.md(Descriptions um(aus <raw-Pfad>)),wiki/knowledge-kompilation-inkrementell.md,wiki/llm-wiki-prinzip.md,wiki/wissensarchitektur-trennung-states.mdnachkonformiert — jede belegte Aussage trägt Inline-Verweis; Übernahmen tragen Kontext-Marker (keine Selbstreferenz, keine Concept-id-Fragmente#s1/#s2). Diagramm-Quell-Deklaration: Das ASCII-Diagramm inwiki/knowledge-kompilation-inkrementell.md(Datenfluss) stammt ausraw/architecture-spine/architecture-spine-2026-08-14.md#AD-5— zusätzlichersources-Eintrag (id: s2) ergänzt; das Diagramm inwiki/wissensarchitektur-trennung-states.md(Sources → Compilation → Knowledge Bundle → Consumers) ausraw/prd/prd-wow20-2026-08-14.md(§ 8.3 Separation of Concerns) — zusätzlichersources-Eintrag (id: s2) ergänzt.sources-idje Concept eindeutig; keine unautorisierten Keys.wiki-compiler.md/validator.md/raw/unverändert. Validator-Lauf: alle 5wiki/-Dateien SUCCESS (Punkte 1/6/11/14, EC-1) — Story 2.2review. - Story 2.1 «Concepts aus Source Material erzeugen (OKF-Konform)» →
done(Human-Review-Freigabe erteilt): Nutzer hat die verbleibende Schwelle (menschliche Review-Freigabe) überschritten — Statusreview→done,sprint-status.yamlnachgeführt. Alle 8 ACs PASS, kein AC-/Vertrags-Blocker; offene Folge-Arbeit (autorisierte Validator-Rev 9) ist kein Story-2.1-Blocker und bleibt als Action-Itemcode-review-2-1-item-2indeferred-work.mdverankert. - bmad-code-review Re-Run Story 2.1 (unabhängig, 4 Layer, Stand nach Validator-Rev-8): alle 8 ACs PASS, 17 Patch / 4 Defer / 2 Dismiss. 15 Patches umgesetzt —
schema/compiler.md→ Revision 1.4 (Prüfgrundlage Rev 8, §6.6-Referenzlabels §4.5/§4.2, §3.2 Kollision-Hold-Run-Fortsetzung, §5.3/§6.3 Rollback-Sequenz, Sprachkorrekturen),wiki/log.md(verlorener Bullet, Rev-8-Datum 08-17),wiki/index.md(Baumdiagramm um Root-Concepts-Ebene), Doku-/Referenz-Konsistenz (deferred-work.mdDedupe + n=21,review-input-dryrun-…md16+2-Auflösung,epic-2-context.mdAD-4c tautologisch, spec Verification/Change-Log,sprint-status.yamlclosed-Datum). 2 Patches auf der gefrorenenvalidator.md(Rev 8) geholdert → nächste autorisierte Validator-Revision (Rev 9: Punkt-4-Grammatikresolved=-Token, Innen-Ebenen-Punkt-6-Fixture-Zeile; s.deferred-work.md). - Story 2.1 «Concepts aus Source Material erzeugen (OKF-Konform)» →
review(Freigabe zur Human-Review): Option-A-Voraussetzung erfüllt — autorisierte Validator-Revision 8 ausgeführt und zertifiziert (s. Eintrag 2026-08-16).spec-2-1-…-Re-Review-Verdikt aktualisiert: Story istdone-fähig; einzige verbleibende Schwelle ist die menschliche Review-Freigabe (review→done). Action-Itemcode-review-2-1-item-1-autorisierte-validator-revision-option→done(Autorisations-Runde:validator-revision-8-autorisationsrunde-f14-innen-ebenen.md).sprint-status.yaml: Story 2.1 →review.
2026-08-16
- Autorisierte Validator-Revision 8 (Option-A-Heilung Story 2.1, ausgeführt 2026-08-17):
schema/validator.mdRevisionslog-Eintrag „Revision 8" + Header-Revisionszahl auf 8 angehoben (behebt OBS-1: Header „Revision 6" vs. Log „Revision 7"). Drei Änderungen: (1) F-14-Negativ-Fixture 4a in §7.1 (Punkt 4:resource: README.mdaußerhalbraw/, existierend →FAIL … Punkt 4; Retrospective F-14); (2) Innen-Ebenen-Key-Subset formalisiert — Punkt-6-Zelle verweist auf die §7.3-Isolations-Notiz (autorisiert, Revision 8); (3) Revisionslog nachgeführt. Vertragschema/wiki-compiler.mdundschema/compiler.mdunverändert (keine neue §7-Invaliditätsklasse). Zertifizierung selbstgeprüft: Fixture 4a isoliert → FAIL Punkt 4 (resolved=README.md) (Punkt 3 nicht verletzt, keine anderen Punkte); Innen-Ebenen-Sample (sources-Eintrag mitrole: xbei existierenderraw/-Datei) → FAIL Punkt 6 (Key=role); reales Bundle (5wiki/-Dateien) → SUCCESS (keine neu ausgelösten FAILs). schema/compiler.mdauf Revision 1.3 — §1-Überschrift ins Deutsche, Prüfgrundlage auf validator.md Revision 7 angeglichen, §6.6-canonical-Reihenfolge-Zeile von ✗- auf reine ✓-Vorgabe korrigiert (kein Validator-FAIL, Label §4.2 statt „§6.4"), §1.2/§1.4-Evidenz-Widerspruch aufgelöst (Artefakt-Ausnahme als dokumentarische Konvention).wiki/log.md-Demonstrationslauf-Einträge an Vertrags-§5-Format angeglichen (- neu:… angelegt (sources: …)). Story 2.1 bleibtin-progress(Option A: Heilung der validator.md-Rev-7-Klarstellung über die nächste autorisierte Validator-Revision).- Step-04-Review (Story 2.1): Nachschärfungen aus den drei Review-Layern (Blind Hunter, Edge Case Hunter, Verification Gap) angewendet —
schema/compiler.mdauf Revision 1.2 (Input-Regel auf AD-17a referenziert statt AD-17.2,sources-Eintrag-Key-Subset in §4.2/§6.5/§6.6 ergänzt,status-Absenz an Vertrag §3.6 angebunden, Bereichs-Ziel-Klarstellung bis Story 2.4, §6.6-Fehlerursachen korrigiert, AD-17f als Commit-Boundary sichtbar),schema/validator.mdauf Revision 7 (§7.3-Isolations-Hinweis auf Innen-Ebenen-Key-Subset erweitert),wiki/index.md-Workspace-Absatz korrigiert (schema/= drei Artefakte: Vertrag, Validator, Compiler),sprint-status.yaml: Story 2.1 →review(Review begonnen).at-Zeitstempel der drei Concepts (2026-08-16T09:23:33Z= 11:23:33 Lokalzeit +0200) decken sich mit den Datei-Mutationszeitpunkten (11:24) — im Review geprüft. - neu:
llm-wiki-prinzipangelegt (sources: raw/prd/prd-wow20-2026-08-14.md) — Root-Concept, Trust-Metadaten A0-20 (generated { by: wow-compiler/0.1.0, at: <ISO-8601-Datetime> },verifiedungesetzt) - neu:
knowledge-kompilation-inkrementellangelegt (sources: raw/epics/epics-2026-08-14.md) — Root-Concept, Trust-Metadaten A0-20 - neu:
wissensarchitektur-trennung-statesangelegt (sources: raw/architecture-spine/architecture-spine-2026-08-14.md) — Root-Concept, Trust-Metadaten A0-20 - Retrospective-Follow-up (AI-1/F-01):
schema/validator.mdauf Revision 3 —at-Nur-Datum-Toleranz zurückgenommen.at: 2027-01-01ist jetzt FAIL nach Punkt 14 (reine Datumsangabe ≠ ISO-8601-Datetime); Positiv-Fixture 14c neu mit±HHMM-Form (+0200) belegt. Vertragschema/wiki-compiler.mdunverändert (autorisiert). Validator-Zertifizierung zugehörig geprüft: Fixture 14c (Negativ) erzeugt FAIL. - Retrospective-Follow-up (AI-2/F-02):
schema/validator.mdauf Revision 4 — neue Fixture-Tabelle §7.3 für die §6-Fachprüfungen (EC-1 Existenz, EC-3 Kalender, stale_after-WARN, EC-11 non-md). Zertifizierung gegen erweiterte Fixtures selbstgeprüft — Ergebnis: PASS (je §6-Fixture isoliert geprüft, genau die angesprochene Prüfung löst aus; EC-1/EC-3-FAILs sind Run-FAIL, WARN ist Berichtskanal, non-md wird ignoriert ohne Verdikt). - Retrospective-Follow-up (AI-3/F-03):
schema/validator.mdauf Revision 5 — §3.2-Voraussetzungsprüfungen als fachliche Prüfklasse V-1/V-2 gelabelt (VerdiktFAIL (Voraussetzung) … (V-1|V-2)stattFAIL (Struktur)), §5-Grammatik/Selbstbegrenzung sowie §7.1/§7.3-Fixtures angeglichen. Zertifizierung: V-1/V-2-Fixtures selbstgeprüft — PASS (isolierte Auslösung; kein §7-Punkt-Nr.-Konflikt). - Retrospective-Follow-up (AI-4/F-09):
raw/*/source.md-Provenienz korrigiert —_bmad-output/IST versioniert; Herkunft auf Commit6cc667dgestützt und SHA-256 der Herkunftsdatein aufgenommen (byte-identisch zur materialisierten Evidenz, geprüft). - Retrospective-Follow-up (AI-5/F-05):
schema/validator.mdauf Revision 6 — BOM-/Leerzeilen-Stripping der Frontmatter-Erkennung von Punkt 10 auf Punkte 2/8 ausgedehnt (einheitliche §3-Präambel). Zertifizierung: neue Positiv-Fixtures 2a/8b (BOM + Leerzeile vor---) → SUCCESS; geprüft gegen isolierte Samples — PASS. - Retrospective-Follow-up (AI-7): Defer-Kontexte gesichert — F-04, F-06, F-07, F-08, F-11, F-14 als Folge-Aufgaben in
deferred-work.mdnotiert (mit Epic-2/3/Validator-Zuordnung); F-06/F-08 zusätzlich als „Offene Punkte" direkt im Validator (Rev. 6) verankert. - Retrospective-Follow-up (AI-6/F-10): Mechanische Validator-Verifikation nachgeschärft — spec-1-4-Verification enthält jetzt einen strengen, deterministischen Vertrag↔Validator↔Fixtures-Abgleich (14 Punkte, keine Punkt 15, Verifikations-Beleg-Tabelle) als Pflicht-Re-Check bei jeder Autorisierung. Bleibt innerhalb der D-3-Grenze (kein Standalone-Programm); dokumentarisch-mechanisch statt Existenz-Grep.
2026-08-15
- Validator-Zertifizierung:
schema/validator.md(Revision 2) gegen die Referenz-Fixtures (§7) selbstgeprüft — Ergebnis: PASS (alle Negativ-Fixtures erzeugen FAIL, alle Positiv-Fixtures SUCCESS; maschinenlesbares Verdikt gemäß §5 bestätigt). Jede Negativ-Fixture wird je Fixture isoliert gegen ein sonst-valides Sample geprüft, sodass genau ihr zugehöriger Punkt auslöst (kein Vorab-FAIL durch andere Punkte).