- 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>
30 KiB
30 KiB
Log
2026-08-18
- 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).