- 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>
15 KiB
title, type, created, status, baseline_commit, review_loop_iteration, context
| title | type | created | status | baseline_commit | review_loop_iteration | context | ||
|---|---|---|---|---|---|---|---|---|
| Autorisierte Validator-Revision 9 — Punkt-11-Area-Lesart formalisieren + gehaltene Rev-8-Patches tragen | chore | 2026-08-18 | done | ef84309db7 |
0 |
|
Intent
Problem: Der Validator (schema/validator.md, Rev 8) ist für Epic 2 nur über eine aufgelockerte Lesart konsistent: Punkt 11 verlangt, die Concept-Identität sei „als relativer Bundle-Pfad referenziert", aber die Area-index.md verlinkt ihr Area-Concept file-relativ (source-material.md) — die wörtliche Bundle-Identität wissensarchitektur/source-material kommt im Bereichs-Index nicht vor. Ein wörtlich-mechanischer Rev-8-Check meldete das Live-Concept als „nicht verlinkt". Zusätzlich sind zwei gehaltene Review-Patches (Punkt-4-resolved=-Token, Innen-Ebenen-Punkt-6-Fixture-Zeile) ausstehend — die Rev-8-Formalisierung ist damit nicht re-runbar belegt.
Approach: Eine autorisierte Validator-Revision 9 ausführen, die (1) die Punkt-11-Area-Lesart formal trägt (relative OKF-Pfad-Identität, auch file-relativ in der zuständigen Area-index.md) und damit die AD-3/D-3-Freeze-Währung wahrt, (2) die beiden gehaltenen Patches als Teil der Revision trägt, (3) Header auf 9 anhebt, Revisionslog (append-only) nachführt und die Zertifizierung (isolierte Fixtures + reales Bundle) mechanisch belegt.
Boundaries & Constraints
Always:
schema/validator.mdist die einzige zu ändernde Vertrags-/Validator-Datei.schema/wiki-compiler.md(Vertrag, Story 1.3) undschema/compiler.md(Instruktion) bleiben unverändert — die Rev-9-Lesart verschärft keinen §7-Punkt und fügt keine neue §7-Invaliditätsklasse hinzu (kein Punkt 15); die Abschluss-Eigenschaft des §7-Katalogs bleibt gewahrt (F-04-Kultur, AD-1b).raw/(immutable, AD-3),adapters/, alle bestehendenwiki/-Dateien bleiben unverändert (außerwiki/log.md, Zertifizierungs-Nachweis).- Der §8-Revisionslog ist append-only — der Rev-9-Eintrag wird angehängt, bestehende Einträge bleiben unangetastet. Die Punkt-11-Normreferenz-Notiz „Story 2.3 (Link-Form)" wird um die Rev-9-Area-Lesart ergänzt (derselbe Normreferenz-Block, append).
- Die Formulierung bleibt rein textuell (D-3): keine neue Prüfklasse, kein Standalone; die mechanische Re-Exekution folgt den im Revisionslog dokumentierten Formeln.
- Datums- und Revisions-Werte nach dem Wiki-Log- und Sprint-Status-Format; die Revisionszahl geht von 8 auf 9 (Header + Revisionslog).
Ask First:
- Branch-Wechsel/Merge-Strategie für
validator-rev-9(aktuell noch nicht zurückgeführt). - Falls die Zertifizierung am Live-Baum Abweichungen zeigt, die nicht durch die Doku-Kultur (wiki/log.md) heilbar sind — vor Fortsetzung HALT.
- Die Behandlung der weiteren offenen Epic-2-Items (AI-2-R-1 … R-4: §5.5-rekursiv, §5.8-Tiefe-2, Formel-4-Asymmetrie, §5.8-Reachability) ist nicht Teil dieser Revision — bei Scope-Drift Richtung compiler.md HALT.
Never:
- Keine Änderung an
raw/,adapters/,schema/wiki-compiler.md,schema/compiler.mdoder den bestehendenwiki/-Concept-Dateien. - Kein neuer §7-Punkt, keine Erfindung einer neuen Invaliditätsklasse.
- Keine Änderung an gefrorenen/I-O-Matrix-Texten außerhalb des explizit autorisierten Rev-9-Umfangs (kein ad-hoc-Editing).
- Keine Bauch-Formulierungen: jede Formulierung wird gegen den realen Bundle-Baum (7 Dateien) und die Fixture-Tabellen in §7 geprüft.
I/O & Edge-Case Matrix
| Scenario | Input / State | Expected Output / Behavior | Error Handling |
|---|---|---|---|
| POINT11_AREA_LINK | wiki/wissensarchitektur/index.md verlinkt source-material.md (file-relativ, gepinnte §5.6-Form) |
Area-Concept-Identität wissensarchitektur/source-material ist gewahrt — Punkt 11 → kein FAIL (SUCCESS) |
Verschiebt sich nicht in einen anderen Punkt; kein WARN |
| POINT11_WORDING_FAIL | Area + Concept ohne Link (Bundle-Identität nirgends) | FAIL wiki/… Punkt 11: Index-Regel verletzt (Concept nicht verlinkt=<concept>) |
Identität über Pärchen Area-Präfix + Link-Ziel abgeleitet |
| FIXTURE_4A | sources: [{resource: README.md}] (existierende Datei an Workspace-Root, außerhalb raw/) |
FAIL wiki/x.md Punkt 4: resource ausserhalb raw/ oder unzulaessiger Pfad (resolved=README.md) — ableitbar aus §3-Punkt-4-Vorlage |
Punkt-4-vor-3-Priorität (§6.2): kein Vorab-FAIL durch Punkt 3 |
| INNER_LEVEL_KEY | sources:\n - resource: raw/prd/prd-wow20-2026-08-14.md\n role: x (sonst-valides Sample, existierende raw/-Datei) |
FAIL wiki/x.md Punkt 6: nicht autorisiertes Feld (Key=role) bzw. unautorisierter Key in sources/generated/verified |
Nur Punkt 6 löst aus — Isolations-Prinzip (§7.3) |
| LIVE_BUNDLE_REGRESSION | Alle 7 wiki/-Dateien gegen den revidierten Validator |
weiterhin SUCCESS für alle Dateien (keine neu ausgelösten FAILs) | Keine neue §7-Klasse; Abschluss-Eigenschaft gewahrt |
Code Map
schema/validator.md— die einzige zu ändernde Datei (Rev 9). Anker: §0-Header (Z. 6–8, Revisionszahl 8 → 9 + Letzte-Re-Konsistenz), §3 Punkt-4-Tabelle (Z. 63, Vorlage ohneresolved=-Token), §3 Punkt-6-Tabelle (Z. 65, Innen-Ebenen-Verweis vorhanden), §3 Punkt-11-Tabelle (Z. 70, Kern der Area-Lesart), §7.1-Fixtures Punkt 4a/6 (Z. 214/216), §7.3-Fixture-Isolations-Notiz (Z. 263, Innen-Ebenen-Kontext), §8-Normreferenz-Notiz „Story 2.3 (Link-Form)" (Z. 297), §8-Revisionslog (Z. 299–308, append-only)._bmad-output/implementation-artifacts/validator-revision-8-autorisationsrunde-f14-innen-ebenen.md— der Rev-8-Präzedenzfall (Autorisierungskanal, Zertifizierung, Follow-Tracking); formt die Rev-9-Runde strukturell._bmad-output/implementation-artifacts/deferred-work.md— Z. 184–191: die gehaltenen Patches 16/17 (Punkt-4-resolved=-Token, Innen-Ebenen-Punkt-6-Fixture-Zeile) mit exakter gewünschter Wortform; Z. 279–287: F-02/Rev-9-Aktionsitem-Kontext._bmad-output/implementation-artifacts/epic-2-retro-2026-08-18.md— F-02 (Punkt-11-Wortlaut vs. file-relative Area-Linkform), AI-2-R-5 (de-dupliziert mitcode-review-2-1-item-2), Open question 3 (exakte Formulierung der Area-Lesart).wiki/index.md— Bundleroot (Z. 33–37, Area-Sektion); verlinkt die Area als(wissensarchitektur/index.md)— nur die Area, nicht das Area-Concept.wiki/wissensarchitektur/index.md— Area-index.md(frontmatterlos, Z. 9: file-relativer(source-material.md)-Link); beweist die Live-F-02-Lage (Bundle-Identitätwissensarchitektur/source-materialkommt textuell nirgends vor, grep → 0).wiki/wissensarchitektur/source-material.md— das Area-Concept; durch die Layer-6/7-Struktur das vom wörtlichen Rev-8-Punkt-11-Check fälschlich „nicht verlinkt" gemeldete Concept.wiki/log.md— §5-Format-Zertifizierungs-Nachweis (datumsgruppiert 2026-08-16/17/18; Rev-9-Eintrag wird ergänzt)._bmad-output/implementation-artifacts/sprint-status.yaml— Action-Itemcode-review-2-1-item-2(Z. 173–174) + neue AI-2-R-5-Einträge; Status-Nachführung nach Abschluss (je nach Flow).
Tasks & Acceptance
Execution:
schema/validator.md-- Header:Validator-Revision: 8→9,Letzte Re-Konsistenz→ 2026-08-18 (Revision 9 — Punkt-11-Area-Lesart; Punkt-4-resolved=-Token; Innen-Ebenen-Punkt-6-Fixture-Zeile) -- Anker §0.schema/validator.md-- §3 Punkt-11-Zelle: Area-Lesart formalisieren — „ein Concept ist verlinkt, wenn seine Identität (relativer OKF-Dateipfad ohne.md) in derindex.mddes nächsten Vorfahren referenziert ist; für ein Area-Concept genügt die file-relative Referenz in der Area-index.md, identitätsstiftend ist das Pärchen (Area-Präfix + Link-Ziel); Root-Concepts wie bisher in der Bundleroot (mit/ohne.md-Endung)" -- Kern der Rev-9-Lesart, F-02.schema/validator.md-- §7.1-Fixture: neue Negativ-Fixture 11a „Areawiki/wissensarchitektur/mitindex.md, das Area-Conceptsource-material.mdnicht verlinkt →FAIL … Punkt 11: Concept nicht verlinkt=wissensarchitektur/source-material" + Positiv-Fall dokumentieren -- prüfbare Negative der Area-Lesart.schema/validator.md-- §3 Punkt-4-Vorlage: optionalesresolved=<Pfad>-Token ergänzen (…unzulaessiger Pfad (..-Traversal|absolut|URL|Backslash|file://|resolved=<pfad>)) -- Patch 16/17, Fixture 4a ableitbar machen (§7 „exakt die aus §3").schema/validator.md-- §7.3: echte Negativ-Fixture-Zeile für Innen-Ebenen-Punkt-6 („sources:\n - resource: raw/…\n role: x→FAIL … Punkt 6") -- Patch 16/17, Rev-8-Formalisierung re-runbar belegen.schema/validator.md-- §8-Revisionslog: Rev-9-Eintrag anhängen (Punkt-11-Area-Lesart, beide Patches, Header-Anhebung; Vertrag unverändert) -- append-only.schema/validator.md-- §8-Normreferenz-Notiz „Story 2.3 (Link-Form)" um die Rev-9-Area-Lesart ergänzen -- Konsistenz der Lesart mit der Pin-Form-Doktrin.wiki/log.md-- Zertifizierungs-Eintrag (datumsgruppiert 2026-08-18): Fixture 4a isoliert FAIL Punkt 4, Innen-Ebenen FAIL Punkt 6, Punkt-11-Area-Lesart-Fixtures, reales Bundle weiterhin 7/7 SUCCESS -- mechanischer Beleg gemäß Validator-Zertifizierungs-Kultur (F-02)._bmad-output/implementation-artifacts/sprint-status.yaml-- Action-Itemcode-review-2-1-item-2+AI-2-R-5→done(closed + resolution mit Rev-9 + ref auf Rev-9-Runde) -- Tracking-Abschluss.
Acceptance Criteria:
- Given die autorisierte Rev-9-Runde, when
schema/validator.mdgeprüft wird, then Header-Revisionszahl ist 9, der §8-Revisionslog trägt den Rev-9-Eintrag (append-only, bestehende Einträge unangetastet), und keine §7-Klasse wurde neu erzeugt (kein Punkt 15). - Given die Punkt-11-Area-Lesart, when ein Area-Concept file-relativ in seiner Area-
index.mdverlinkt ist (Live:wissensarchitektur/source-material.md), then die Bundle-Identitätwissensarchitektur/source-materialist für Punkt 11 gewahrt (kein FAIL „nicht verlinkt"). - Given die gehaltenen Patches, when Fixture 4a isoliert gegen den revidierten Validator ausgeführt wird, then das Verdikt ist ableitbar aus der §3-Punkt-4-Vorlage
…(..-Traversal|absolut|URL|Backslash|file://|resolved=README.md)→FAIL … Punkt 4 … (resolved=README.md). - Given die gehaltenen Patches, when das Innen-Ebenen-Sample (existierende
raw/-Datei,role: xinsources-Eintrag) isoliert geprüft wird, then genau Punkt 6 löst aus (Isolations-Prinzip), mit Fixture-Zeile in §7.3. - Given das reale Bundle (7
wiki/-Dateien), when der revidierte Validator den Run ausführt, then alle 7 Dateien bleiben SUCCESS (keine neu ausgelösten FAILs; Abschluss-Eigenschaft des §7-Katalogs gewahrt). - Given
schema/wiki-compiler.mdundschema/compiler.md, when der Rev-9-Diff inspiziert wird, then beide bleiben unverändert (AD-3/D-3-Freeze; keine Vertrags-Änderung nötig — Punkt 11 deckt die Area-Lesart bereits vertraglich, §7).
Spec Change Log
Design Notes
Warum diese Formulierung (Open question 3 der Retro): Die Lesart „als relativer Bundle-Pfad referenziert (mit oder ohne .md-Endung)" wird für Area-Concepts um die file-relative Alternative ergänzt: In der zuständigen Area-index.md ist die Referenz des Link-Ziels (source-material.md) der lokale Verweis auf das Area-Concept; die Bundle-Identität ergibt sich deterministisch als Pärchen (Area-Präfix = Verzeichnisname der Area-index.md, Link-Ziel ohne .md). Das ist exakt die Datei-Topologie von wiki/wissensarchitektur/index.md Z. 9. Root-Concepts (gepinnte §5.6-Form, mit .md-Endung) bleiben unverändert — die „genau-eine-Form"-Festlegung der Link-Schreibweise liegt weiterhin bei Story 2.3/§5.6 der Compiler-Instruktion (dem Validator wird sie nicht vorgegeben).
Gehaltene Patches als formale Inhalte: Beide Patches (16/17) sind bereits inhaltlich spezifiziert (deferred-work.md Z. 188–189: Punkt-4-resolved=<pfad>-Token, Innen-Ebenen-Punkt-6-Fixture-Zeile). Sie werden durch diese Autorisierung von „gehalten (kein Autorisierungsschlag)" zu „formal getragene autorisierte Inhalte" — gleiche Währung wie die Rev-8-Autorisationsrunde (F-14-Fixture 4a).
Verification
Commands:
grep -nE "Validator-Revision|Revision 9" schema/validator.md-- expected: Header-Revisionszahl9UND Revisionslog-Entrag Rev 9 vorhanden.exit 0für die mechanischen Fixture-Runs (isolierte Samples + Live-Bundle) gemäß Zertifizierungs-Sektion der Rev-9-Runde.git diff --name-only <base>..HEAD -- schema/wiki-compiler.md schema/compiler.md raw/ adapters/-- expected: keine Treffer (AD-3/D-3-Freeze gewahrt).
Manual checks (if no CLI):
- §7.1-Fixture 11a-Erwartungswert (
FAIL … Concept nicht verlinkt=wissensarchitektur/source-material) mit der §3-Punkt-11-Zelle (Area-Lesart) abgeglichen → bildet die Ableitung ab. - Fixture-4a-Verdikt (
(resolved=README.md)) ist aus der §3-Punkt-4-Vorlage ableitbar (kein Inventieren). wiki/log.mdträgt den Rev-9-Zertifizierungs-Eintrag (datumsgruppiert 2026-08-18);sprint-status.yaml-Action-Items sinddonegeschlossen.
Suggested Review Order
Area-Lesart (Punkt 11) — Kern der Revision
-
Einstieg: die formalisierte Area-Lesart — Pärchen (Area-Präfix + Link-Ziel) identitätsstiftend, file-relativ genügt
validator.md:70 -
Die Normreferenz-Notiz führt die Story-2.3-Formklausel um die Pin-Form-Doktrin nach
validator.md:304 -
Negativ-Fixture 11a am realen Live-Area-Namen (F-02-Defekt belegt, Isolations-Prinzip)
validator.md:226 -
Positiv-Gegenfall: file-relativer
](source-material.md)-Link genügt → SUCCESSvalidator.md:256
resolved=-Token (Punkt 4)
-
Fehlerursachen-Grammatik um das optionale
resolved=<pfad>-Token erweitert (Patch 16)validator.md:63 -
Semantik-Anker: Token feuert nur bei Ablehnung durch aufgelöste Lage außerhalb
raw/validator.md:182 -
Fixture 4/4a — 4a verdikt-ableitbar aus der §3-Vorlage
validator.md:216
Innen-Ebenen-Punkt-6-Fixtures
-
§7.3-Überschrift trägt die Innen-Ebenen-Punkt-6-Fixtures explizit (Patch 17)
validator.md:265 -
Negativ-Zeile
role: x→ genau Punkt 6 (Isolations-Prinzip)validator.md:281 -
Positiv-Gegenzeile: nur erlaubte Keys → SUCCESS
validator.md:282
Konsistenz & Peripherals
-
Header: Revisionszahl 9 + Re-Konsistenz-Nachführung
validator.md:7 -
Revisionslog-Rev-9-Eintrag (append-only, „fünf inhaltliche Änderungen", kein Punkt 15)
validator.md:316 -
Mechanischer Zertifizierungs-Nachweis inkl. Live-Invariant (2026-08-18)
log.md:4 -
Tracking-Abschluss der Items
code-review-2-1-item-2+epic-2-retro-item-14sprint-status.yaml:170