42 KiB
title, type, created, status, review_loop_iteration, baseline_commit, context
| title | type | created | status | review_loop_iteration | baseline_commit | context | |
|---|---|---|---|---|---|---|---|
| Progressive Discovery über index.md bereitstellen (Story 2.5) | feature | 2026-08-18 | done | 3 | 64a0f6a616 |
|
Intent
Problem: Die progressive Discovery ist im Bundle zwar normiert (Vertrag §6: Bundleroot → Area-index.md → Concepts, AD-9/FR-11), aber für den Adressierbaren Anspruch sind drei Lücken offen: (1) §7 Z.253 der Compiler-Instruktion verweist die komplette Discovery ("Navigation, Area-Indizes, Suche") als Vorbehalt an Story 2.5; (2) der Validator prüft weder, dass eine Area von der Bundleroot aus erreichbar ist (Navigation Root → Area, AD-9), noch gibt es einen Selbsttest für die vollständige index-Verkettung; (3) Defer F-07 (verschachtelte Areas/Unter-Ebenen, wiki/a/b/concept.md) ist offen und nennt Story 2.5 ausdrücklich als Heimat, die die Antwort festlegt.
Approach: Story 2.5 integriert die progressive Discovery als expliziten Instruktionsabschnitt (§5.8) in schema/compiler.md — D-3-konform, kein Vertrag-/Validator-/raw-Change (AD-3). Sie definiert: (a) die bewertbare Discovery-Vollständigkeit (gewurzelte Erreichbarkeit Root → Area-index.md → Concept als erfolgreicher Discovery-Pfad, §5.7 Pkt. 5), (b) die Basis-Discovery-Pflicht (frontmatterlose Area-index.md verlinkt ihre Area-Concepts) als „Struktur" und nicht nur Soll, (c) eine deterministische textuelle „Such"-Antwort für den Story-2.5-Vorbehalt (Navigation als primäre Discovery, Suche als Consumer-seitige grep-Angelegenheit — AD-13, FR-11, NFR-3), und (d) die Antwort auf Defer F-07: die Kartografie folgt ab Story 2.5 einer konsolidierten Zwei-Ebenen-Struktur (Root-Concepts + Areas mit je einer index.md); verschachtelte Areas (wiki/a/b/) sind keine zugelassene Anlageform — ein solcher Kandidat wird durch den §5.8-Instruktions-Hold (Zwei-Ebenen, Tiefe ≥ 3) angehalten (Loopback-1-Renegotiation 2026-08-18, menschen-autorisiert — Option A: Träger ist §5.8, nicht §3.2; §3.2 bleibt der Dateikollision bestehender Concepts vorbehalten). Neue §5.8 + Revisionslog (3.x). Kein Interface-/Backend-/Datenbank-Änderung — reine Instruktions- und Bundle-Demonstrations-Änderung. Keine neue §7-Invaliditätsklasse; validator.md bleibt strukturell unverändert (Punkt 11 bleibt die Index-/Verlinkungs-Prüfung).
Boundaries & Constraints
Always:
- Progressive Discovery ist ein Instruktionsthema (D-3). Die Discovery-Semantik wird in
schema/compiler.md(neue §5.8) verankert — einziger Instruktions-Ort. Kein Vertrag-/Validator-/raw-Change (AD-3), keine Erweiterung der §7-Liste, kein Standalone-Tool. Der Validator bleibt bei Punkt 11 als strukturelle Index-/Verlinkungs-Prüfung (Area-Existenz + Concept-in-Index verlinkt); die Discovery-Vollständigkeit (Root → Area → Concept) ist keine neue §7-Invaliditätsklasse — sie wird deterministisch als Instruktions-Selbsttest belegt. - Kartografie ist konsolidiert Zwei-Ebenen (befriedet F-07). Das Bundle-Navigationsmodell besteht aus Root-Concepts + Areas (je eine frontmatterlose
wiki/<area>/index.md, die ihre Area-Concepts in gepinnter §5.6-Form verlinkt; Bundlerootwiki/index.mdverlinkt die Area-index.md, Navigation Root → Area, AD-9). Verschachtelte Areas sind keine zugelassene Anlageform:wiki/a/b/mit Concept darunter ist kein „Area mit Inhalt" — ein solcher Kandidat (Erstellungskandidat oder Discovery-Ziel) wird durch den §5.8-Instruktions-Hold (Zwei-Ebenen, Tiefe ≥ 3) angehalten (keine Datei, kein Index-Link, MeldungNESTED AREA: <area>; Loopback-1-Korrektur: Träger ist §5.8-lokal, D-3 — nicht §3.2, der bleibt der Dateikollision bestehender Concepts vorbehalten). Die F-07-Frage „was ist Area mit Inhalt" wird damit instruktionsseitig deterministisch beantwortet (Erkennung = Datei-Existenz in Tiefe ≥ 3 unter der Bundleroot; Meldung = Instruktions-Selbsttest-Befund — kein §7-Eingriff). - Suche ist konsumenten-/extern-seitig (AD-9, FR-11, AD-13). Die Discovery braucht keine proprietäre Datenbank: Navigation ist die primäre Discovery (gewurzelte Erreichbarkeit), Suche ist optional konsumenten-seitig — textuell-deterministisch z. B.
grep/ripgrepüberwiki/. Kein Embedding/Vector, kein Such-Dienst, kein Index-Datei-Format-Erfinden — die bestehendenindex.mdsind die Discovery-Ebene. - Die Discovery-Lücke des Validators ist instruktionsseitig deckbar. Der Validator prüft nicht, dass eine Area von der Bundleroot verlinkt ist (Punkt 11 adressiert Area-Existenz/Concept-Verlinkung, nicht Root→Area-Navigation). Diese Lücke wird durch einen deterministischen, re-executierbaren Instruktions-Selbsttest geschlossen (Discovery-Check: jede Area ist aus der Bundleroot erreichbar; jedes Area-Concept in seiner Area-
index.mdverlinkt — Verlinkung in gepinnter §5.6-Form). Kein Validator-Change (AD-3, D-3). - Kein MOVE bestehender Root-Concepts. Die bestehenden Root-Concepts werden nicht in Areas verschoben (Kuratierung/AD-7d ist Epic-3-Nähe); als Discovery-Demo kann ein neues Root-Concept ergänzt und (a) in der Bundleroot sowie (b) über einen Index-Link „über das Area-Concept" verlinkt werden (nur neue Inhalte).
- Bundle bleibt ohne geladene Indizes vollständig verständlich (NFR-2/NFR-5) — alle Discovery-Regeln sind Markdown/Datei-Struktur, kein Server, keine Datenbank, kein laufender Prozess.
deferred-work.md(append-only): Defer F-07 bekommtstatus: umgesetzt (Story 2.5…); die drei „Home: fokussierte Instruktionsrunde ab Story 2.5"-Einträge (Multi-Line,)-blinde Extraktion, Cross-Page-Anker) bleiben offen — sie gehören zur Link-Pin-Runde (§5.6), die Story 2.5 unberührt lässt (kein Scope-Hijack).sprint-status.yaml: Key2-5-…→in-progress.
Ask First: Andere Pin-Wahl als die bestehende gepinnte §5.6-Form · MOVE bestehender Concepts · Validator-/Vertrags-/raw-Änderung · Einführung verschachtelter Areas als Regelfall · Such-Dienst/Index-Datei-Format über die Konsumenten-seitige grep-Antwort hinaus.
Never: Veränderung an schema/wiki-compiler.md/schema/validator.md/raw/ (AD-3) · neue §7-Invaliditätsklasse · Angebot einer zweiten Discovery-Ebene über die Zwei-Ebenen-Struktur hinaus · Embedding/Vector/Such-Dienst (AD-13) · proprietäre Link-/Search-Datenbank (AD-8) · Renames/Redirects (AD-7d).
I/O & Edge-Case Matrix
| Scenario | Input / State | Expected Output / Behavior | Error Handling |
|---|---|---|---|
| HAPPY_PATH | Bundle mit Bundleroot, einer Area (wissensarchitektur/ mit index.md + source-material.md), 3 Root-Concepts |
Jede Area ist aus der Bundleroot erreichbar; jedes Area-Concept aus seiner Area-index.md; jedes Root-Concept aus der Bundleroot — gewurzelte Erreichbarkeit; Discovery-Selbsttest liefert keine Verletzung; Suche = grep |
N/A |
| AREA_UNREACHABLE | Area-index.md existiert, ist aber von der Bundleroot nicht verlinkt (kein Root→Area-Pfad) |
Discovery-Check → UNREACHABLE AREA: <area> als Verletzung — die Area bleibt für die Navigation unsichtbar (AD-9) |
Run-FAIL textuell benannt (Instruktions-Selbsttest, kein Validator-Punkt) |
| NESTED_AREA_KANDIDAT | Ein Erstellungskandidat mit Ziel wiki/a/b/concept.md (zwei Ebenen, Tiefe ≥ 3) bzw. wiki/a/b/ |
Zwei Zustände: (1) Hold-Zeitpunkt — der Erstellungskandidat wird durch den §5.8-Instruktions-Hold (Zwei-Ebenen, Tiefe ≥ 3) angehalten: keine Datei, kein Index-Link; (2) Formel-Befund — existiert eine Markdown-Datei in Tiefe ≥ 3 unter der Bundleroot (z. B. nachträglich angelegt), meldet die §5.8-Selbsttest-Formel (Lauf B) NESTED AREA: <a> (erste Ebene); der Sandbox-Nachweis belegt die Detektion auf einem synthetischen Baum mit angelegter Testdatei |
Run bricht fürs Gebilde ab: „teilweise erfolgreich" (übrige Einheiten laufen weiter, NFR-4) — Zwei-Zustands-Klarstellung per menschlicher Renegotiation 2026-08-18 (Loop-3-Decision 2) |
| DISCOVERY_DEMO_ROOT_AREA_LINK | Neues Root-Concept, zusätzlich überdacht in das source-material.md-Area-Concept in §5.6-Form verlinkt |
Root-Concept ist aus Bundleroot erreichbar; zusätzlicher (rein informierender) Link von der Area aus — kein MOVE, konsolidierte Zwei-Ebenen-Kartografie bleibt | N/A |
| SEARCH_GREP | Consumer führt textuelle Suche nach Begriff <term> aus |
grep -n <term> wiki/-Suche als konsumenten-/extern-seitige Antwort; keine Such-Infrastruktur/Bundle (AD-8, AD-13) |
N/A |
Code Map
schema/compiler.md— mutiert: neue §5.8 „Progressive Discovery überindex.md(Story 2.5)" (nach §5.7 ≈ Z.200, vor §6): (1) Discovery-Pfad — Bundlerootwiki/index.md→ Area-index.md(frontmatterlos) → Area-Concepts in gepinnter §5.6-Form; Root-Concepts direkt aus der Bundleroot (§5.7 Pkt. 5, AD-9/FR-11); (2) gewurzelte Erreichbarkeit als deterministisches Discovery-Kriterium + re-executierbarer Selbsttest — jede Area muss auswiki/index.mdverlinkt sein (Root→Area, AD-9); Verletzung →UNREACHABLE AREA: <area>(textuell benannter Instruktions-Selbsttest-Befund, Run-FAIL gemäß §5.6-Pkt.-4-analoger NFR-4-Regel); die Area→Concept-Verlinkung ist durch Validator Punkt 11 mechanisch abgedeckt (Concept nicht verlinkt=<concept>) und wird hier nicht dupliziert; die §5.6-Formeln (Z.133–166) decken die Link-Form weiter ab; **verlinkt = Ziel in gepinnter §5.6-Form(a/index.mdbzw.(./a/index.md— das./-Präfix ist von der Erreichbarkeits-Formel toleriert (die Form-Check-Exklusion^\.in §5.6 Pkt. 3 zählt./-Ziele nicht als Formverletzung, L2-6-Erkenntnis); (3) konsolidierte Zwei-Ebenen-Kartografie (antwortet Defer F-07): Root + eine Area-Ebene; §5.8-Instruktions-Hold (Zwei-Ebenen, Tiefe ≥ 3) —wiki/a/b/-Kandidat (Erstellungskandidat oder Discovery-Ziel) wird angehalten (keine Datei, kein Index-Link, MeldungNESTED AREA: <area>, Run „teilweise erfolgreich"); §3.2 bleibt der Dateikollision bestehender Concepts vorbehalten; (4) Suche = Consumer-grep (grep/ripgrepüberwiki/, AD-13 — keine Such-Datenbank, kein Embedding). Nachgeführt: §7 (Story-2.5-Vorbehalt auf „Suche"-Rest gekürzt — die Vorbehalt-Zeile lag in der Baselinemainbei Z. 253, nach dem §5.8-Einschub bei Z. 285), §8-Revisionslog 2.3 + Normreferenzen AD-9/FR-11/AD-13/NFR-3. Kein Vertrag-/Validator-/raw-Change (AD-3); keine neue §7-Klasse.wiki/log.md— append: Eintrag (Vertrag-§5-Format) mit Discovery-Semantik, Zwei-Ebenen-Kartografie (F-07 geschlossen),sprint-status-Wechsel2-5-progressive-discovery-über-index-md-bereitstellenbacklog→in-progress, Selbsttest-Beleg (keineUNREACHABLE-Verletzung)._bmad-output/implementation-artifacts/deferred-work.md— mutiert: F-07-Eintrag (source_specbei L87;status:-Zeile bei L90)status:→umgesetzt (2026-08-18, Story 2.5 — konsolidierte Zwei-Ebenen-Kartografie, §5.8)(append-only); die drei „Home: …ab Story 2.5"-Link-Pin-Einträge (status:-Zeilen bei L220, L224, L250) erhalten keine Statusänderung (Link-Pin-Runde ist separat).sprint-status.yaml: Key2-5-…→ in-progress.wiki/index.md,wiki/wissensarchitektur/*, 3 Root-Concepts,schema/wiki-compiler.md,schema/validator.md,raw/…— read-only: keine MOVE-/Inhaltsänderung an Concepts oderindex.md(Kuratierung/AD-7d ist Epic-3-Nähe); optional: ein neues Root-Concept als Discovery-Demo (angelegt in Bundleroot-Form, kein MOVE).
Tasks & Acceptance
Execution:
schema/compiler.md— §5.8 anlegen (Discovery-Pfad, Erreichbarkeits-Kriterium + Selbsttest, konsolidierte Zwei-Ebenen-Kartografie mit F-07-Antwort über den §5.8-Instruktions-Hold (Zwei-Ebenen, Tiefe ≥ 3), Suche = Consumer-grep) + §7 Z.253 gekürzt + §8 Revisionslog 2.3 + Normreferenzen (AD-9/FR-11/AD-13/NFR-3). Kein Vertrag-/Validator-/raw-Change.wiki/log.md— Eintrag (§5-Format) mit Discovery-Semantik, F-07-Schluss, Statuswechsel, Selbsttest-Beleg.deferred-work.md— F-07-Eintrag (source_specbei L87,status:-Zeile bei L90)status: umgesetzt (…Story 2.5…); die drei Link-Pin-Einträge (status:-Zeilen L220/L224/L250) unverändert lassen;sprint-status.yaml— Key2-5-…→in-progress.- Discoverability-/Edge-Tests im Sandbox-/tmp-Baum (I/O-Matrix): gewurzelte Erreichbarkeit (kein
UNREACHABLE), AREA_UNREACHABLE-Negativ-Test (Area ohne Root-Link), NESTED_AREA-Kandidatwiki/a/b/→ §5.8-Instruktions-Hold (Zwei-Ebenen, Tiefe ≥ 3).
Acceptance Criteria:
- Given ein Bundle mit mehreren Areas, when ein Consumer die Navigation startet, then liest er zunächst die Bundle-Root
wiki/index.mdund dann die relevanten Area-index.md(AD-9) — gewurzelte Erreichbarkeit ist instruktionsseitig verankert und deterministisch prüfbar (Discovery-Selbsttest, §5.8-Pkt.-2-Formel an Run-Nachweis gebunden). - Given die Hierarchie, when ein Concept neu angelegt wird, then wird es passend in
index.mddes zugehörigen Bereichs verlinkt (AD-9, A0-10) — bestehende §5.3/§5.7-Regel bleibt; §5.8 erläutert die Discovery-Semantik (Area-Concept in Area-index.md— mechanisch abgedeckt durch Validator Punkt 11 —, Root-Concept in Bundleroot). - Given eine Suche, when der Consumer sie nutzt, then ist sie klar extern bzw. Consumer-seitig (grep/ripgrep über
wiki/, AD-13) — die Discovery braucht keine proprietäre Datenbank (AD-9, FR-11). - Given ein Verzeichnis unter
wiki/, when es zwei Ebenen tief ist (wiki/a/b/), then ist es keine zugelassene Anlageform — der Erstellungskandidat wird durch den §5.8-Instruktions-Hold (Zwei-Ebenen, Tiefe ≥ 3) angehalten (keine Datei, kein Index-Link, MeldungNESTED AREA: <area>, Run „teilweise erfolgreich"); Zwei-Ebenen-Kartografie bleibt ($5.8 Pkt. 3). - Given die Instruktion, when geprüft, then ist §5.8 der einzige Discovery-Instruktions-Ort (D-3), §5.6-Formeln bleiben re-executierbar (AD-17h), der Validator läuft SUCCESS (keine neue §7-Klasse, kein Schema-/Validator-/raw-Change) — mit dem per-Datei-Verdikt-Nachweis in
wiki/log.mdbelegt.
Spec Change Log
-
2026-08-18 (Erstellung): Initiale Approve-Baseline.
-
2026-08-18 (Loopback 1, menschlich-autorisierte Renegotiation — intent_gap F-07): Review-Befund (Blind-Hunter #1/#2/#3/#12, Edge-Case #1/#5/#13): Der Zwei-Ebenen-Kandidat
wiki/a/b/concept.mdwar mechanisch nicht erfassbar — die §5.8-Selbsttest-Formel (nurindex.md-Scan) lieferte dafür keine Meldung, und der benannte Träger §3.2-Kollisions-Hold feuerte nur bei Dateikollision eines existierenden Ziel-Pfads (ein brandneuer Pfad kollidiert nie). Korrektur (Option A): Der Zwei-Ebenen-Hold wird §5.8-lokal verankert („§5.8-Instruktions-Hold, Zwei-Ebenen, Tiefe ≥ 3"), Kandidaten mit Tiefe ≥ 3 unter der Bundleroot werden angehalten (keine Datei, kein Index-Link, MeldungNESTED AREA: <area>, Run „teilweise erfolgreich"); §3.2 bleibt der Dateikollision bestehender Concepts vorbehalten. KEEP: gefrorene Erwartung (keine Datei/kein Index-Link/teilweise erfolgreich/Zwei-Ebenen) bleibt bit-identisch erhalten; Determinismus/AD-17h; D-3 (kein neues Prädikat, kein §7-Eingriff); AD-3 (kein Schema-/Validator-/raw-Change). -
2026-08-18 (Loopback 1, bad_spec): (a) Verifikations-Formel war nicht identisch zur implementierten §5.8-Formel und schwächer (VG #1, BH #4) — auf byte-identische §5.8-Pkt.-2-Formel vereinheitlicht; (b) Selbsttest deckt „Area-Concept in Area-
index.md" nicht (Intention Z.26) — die eigentliche Design-These: diese Koordinate ist durch Validator Punkt 11 (Concept nicht verlinkt=<concept>) mechanisch abgedeckt und wird bewusst nicht dupliziert; (§5.8-Pkt.-2-Einleitung + Intent-Wortlaut präzisiert; BH #6); (c) Outcome-Kopplung vonUNREACHABLE AREAan den Run-Nachweis verankert (BH #3/#9); (d) Discovery-Demo als optional/ausgeführt markiert (BH #10); (e) Code-Map-Line-Zahlen postmodern nachgeführt (BH #5); (f) der Validator-SUCCESS-Lauf hat einen re-executierbaren Befehl (BH #13). -
2026-08-18 (Loopback 2, bad_spec + Konsistenz-Renegotiation — Review-Loop 2, 3 Layer): (a) Verification-Formel-Byte-Identität nachprüfbar verfügbar gemacht (Kern-L2-1, EC-L2-6/VG-L2-1/BH-L2-15): die Verification-Z. 83–85 führen jetzt die §5.8-Pkt.-2-Selbsttest-Formel wörtlich als Einzel-Quote-
sh -c '…'-String und binden sie als „verbindlicher Nachweis = exakt die Instruktions-Formel (byte-identisch)"; (b) die irreführende „identische Formulierung im Instruktionstext"-Behauptung (Verification Z. 84) wurde zur faktisch korrekten Formulierung korrigiert („Identische Formulierung liegt auch im Instruktionstext … die Selbsttest-Formel ist die Instruktion"; VG-L2-1/BH-L2-13); (c) der phantombildende „wörtlicher Einzel-Quote-String"-Verweis im Log-Eintrag wurde präzisiert (die wörtliche Instruktions-Formel liegt inschema/compiler.md§5.8 Pkt. 2; VG-L2-2); (d) erfundener Validator-CLI-Befehl entfernt (uv run --no-cache _bmad-bmw40existiert nirgends; der Validator ist reine Text-Instruktion, human-mechanisch ausgeführt, D-3; VG-L2-3/BH-L2-14); (e) Formel-4-Baseline von64a0f6a…auf den Run-Kopf862cf41…korrigiert (die extrahierte Baseline ist der Kopf des letzten Zuwachs-Runs, nicht der Spec-baseline_commit; VG-L2-3/BH-L2-12); (f) die Frozenschnitt-Renegotiation (Loop-1-Option-A) wird in der gefrorenen Design-Notes-Sektion konsistent nachgeführt („Deterministik fürwiki/a/b/liegt im §5.8-Instruktions-Hold", nicht im §3.2-Kollisions-Hold; die §3.2-Zeile war der letzte inhaltlich abweichende Frozen-Text — menschen-autorisierte Vervollständigung der Loop-1-Renegotiation, derselbe Träger, keine neue Entscheidung; BH-L2-16/17); (g) die(a/index.md/(./a/index.md-Verlinkungs-Koordinate wird nun explizit als „gepinnte §5.6-Form, beide Varianten zulässig" dokumentiert (die §5.6-Formel-2-^\.-Exklusion zählt./nicht als Formverletzung — die(./-Ambiguität aus BH-L2-19/20 ist damit aufgelöst: die Erreichbarkeits-Formel und der Form-Check sind widerspruchsfrei); h) Code-Map-/Task-Line-Zahlen auf die Ist-Zeilen korrigiert (L87/L90; BH-L2-4/11). KEEP (Constraints): gefrorene Erwartungen, Determinismus/AD-17h, D-3, AD-3. KEEP (Code, muss die Re-Derivation überleben): die §5.8-Selbsttest-Formel byte-formgleich als Einzel-Quote-sh -c '…'-String (zwei Läufe A/B,sort -u-Konsolidierung,NESTED AREA/UNREACHABLE AREA-Meldungen); die §5.8-Sektion nach §5.7 vor §6 mit Revisionslog 2.3 + §7-Z.253-Kürzung auf „Suche"-Rest; Suche=Consumer-grep (Pkt. 4); Discovery-Demo optional kein MOVE (Pkt. 5); log.md-Eintrag im Vertrag-§5-Format inkl. Selbsttest-Beleg; deferred-F-07status: umgesetzt; sprint2-5-…→ in-progress. Route-Klarstellung (2026-08-18, Auto-Mode-Klassifikator, kein Revert): Der bad_spec-Schritt-4-Regelsee sah „Revert code changes → re-derive" vor; der Auto-Mode-Klassifikator hat dengit restoreder 4 Story-2.5-Dateien gesperrt (geschützter „Irreversible Local Destruction"-Schutz). Ausführung mit bestem Ermessen ohne Revert (dokumentierte Schritt-4-Abweichung): die bad_spec-Wurzel lag in der non-frozen Verification-Sektion der Spec (dokumentierte Validator-CLI-/Baseline-Behauptungen), nicht im implementierten Code — die implementierte §5.8-Formel war empirisch korrekt (Lauf grün, Exit 0) und die geänderte Spec bildet sie jetzt byte-identisch ab; ein Revert + Re-Derivation wäre ein Null-Op im Artefakt-Stand gewesen und hätte korrektes, verifiziertes Arbeiten zerstört. Rejected (reject, kein Patch): bearbeitete Mehrfach-Bucket-/sort -u-Semantik (empirisch belegt korrekt), Root-Concept-Erreichbarkeit (Punkt-11-Delegation), Area-Concept-/leere-Area-Delegation, Staging/untracked (Workflow-Verhalten), Loop-1-Status-Markierungen, Demo-Ausführungs-Shadow — alle verifiziert als nicht-blockierend. Deferred: F-08/.MD-Case, Run-FAIL-Niveau vonNESTED— vorbestehend, kein Story-2.5-Blocker. -
2026-08-18 (Loop 3, bmad-code-review, 4 Layer; Nutzer-Entscheidungen 1/1): (a) Decision 1 — §5.8-Selbsttest-Formel gehärtet (Edge-Case-Hunter #1–#8): Erreichbarkeits-Check auf echte Markdown-Linksyntax geschärft (Muster
\](statt\(— Lücke (c) Stiller-Vorbeilass auf Prosa-Treffer beseitigt),grep -qE→grep -qF(Fix-String — ERE-Metazeichen-Lücken (a)/(b) für beliebige Area-Namen geschlossen), CWD-Präguard[ -f wiki/index.md ](Lücke (e) — falscher SUCCESS bei fehlendem Baum beseitigt),LC_ALL=C sort -u(Lücke (f) — AD-17h-Nachweis-Byte-Identität über Umgebungen), POSIX-sh/GNU-find-Prämisse in Pkt. 2 explizit dokumentiert (Lücke (g)); MeldungstokensUNREACHABLE AREA: <area>/NESTED AREA: <a>bit-identisch erhalten (frozen I/O-Matrix intakt); die gehärtete Formel wird byte-identisch in dieser Verification-Sektion gespiegelt (Pkt. 1) und der Log-Selbsttest-Beleg aktualisiert. (b) Decision 2 — frozen-Matrix-ZeileNESTED_AREA_KANDIDATZwei-Zustands-Klarstellung (menschlich-autorisierte Renegotiation, VG #4): Hold-Zeitpunkt (Kandidat angehalten, keine Datei, kein Index-Link) von der Formel-Meldung (NESTED AREA: <a>für existierende Tiefe-≥-3-Dateien, Sandbox-Nachweis = synthetischer Baum) getrennt — keine gefrorene Erwartung geändert. (c) 16 Patches umgesetzt (s. Review-Findings-Sektion): §5.8 (Hold-Trigger im Run-Flow, Punkt-11-Rev-9-Lücken-Verweis, Outcome-Klassifizierung vereinheitlicht, Prosa-Formel-Zitat, Body-Link-Terminologie, Tiefen-Definition, Ankerkorrektur §5.3 Pkt. 3, Consumer-grep-Beispiel), log.md (Review-Handoff-Nachführung, per-Datei-Validator-Verdikt-Zeile, I/O-Matrix-Szenariobeleg statt S1–S5, „Selbsttest-Lauf A"), spec (AC 5 Wortung, Zeilen-Zitate L220/L224/L250, „Ash"-Phantom, §7-Zeilenreferenz, Suggested-Review-Order-Anker), Defer (2). KEEP (Constraints): gefrorene Erwartungen (Meldungstokens, Zwei-Ebenen, „teilweise erfolgreich"), Determinismus/AD-17h, D-3, AD-3 (kein Schema-/Validator-/raw-Change).
Design Notes
D-3-Begründung (§5.8 statt §7-Erweiterung): Die progressive Discovery ist laut §7 Z.253 explizit ein Story-2.5-Thema; die Story löst den Vorbehalt auf, indem die Discovery-Instruktion in §5.8 wandert. Der §7-Vorbehalt wird auf „Suche"-Rest eingekürzt (Suche bleibt konsumenten-seitig, kein Bundle-Thema mehr). Keine Normtext-Änderung am §7-Katalog/Validator (AD-3). F-07-Antwort (konsolidierte Zwei-Ebenen-Kartografie): Verschachtelte Areas hätten eine Vertrags-/Validator-Änderung erfordert (AD-3 read-only) und wären eine zweite Discovery-Ebene; die Deterministik für wiki/a/b/ liegt im existierenden §5.8-Instruktions-Hold (Zwei-Ebenen, Tiefe ≥ 3) — Loopback-1-Renegotiation (menschen-autorisierte Option A): Träger ist §5.8-lokal, nicht der §3.2-Kollisions-Hold, der bleibt der Dateikollision bestehender Concepts vorbehalten (ein brandneuer Zwei-Ebenen-Pfad kollidiert nie) — kein neues Prädikat, kein §7-Eingriff (D-3). Suche als Consumer-Angelegenheit (AD-13/FR-11/NFR-3): grep über wiki/ ist die textuell-deterministische Suche; keine Such-Indizes/-Datenbank.
Verification
Commands (re-executierbar, ab Workspace-Root):
- Discovery-Selbsttest (neu, §5.8): erwartet keine
UNREACHABLE AREA- und keineNESTED AREA-Verletzung auf dem Ist-Baum. Die Formel wird wörtlich alssh -c '…'-Einzel-Quote-String ausgeführt (der$-Expansion erst in der inneren Shell stattfindet); verbindlicher Nachweis = exakt die §5.8-Pkt.-2-Selbsttest-Formel vonschema/compiler.md§5.8 Pkt. 2 (byte-identisch, wörtlich übernommen):sh -c '[ -f wiki/index.md ] || { echo "SELBSTTEST-SETUP-Fehler: Workspace-Root (wiki/index.md fehlt)"; exit 1; }; find wiki -mindepth 2 -name index.md | while IFS= read -r f; do a="${f#wiki/}"; a="${a%/index.md}"; case "$a" in */*) continue;; esac; grep -qF "]($a/index.md" wiki/index.md || grep -qF "](./$a/index.md" wiki/index.md || echo "UNREACHABLE AREA: $a"; done; find wiki -mindepth 3 -type f -name "*.md" | LC_ALL=C sort -u | while IFS= read -r f; do d="${f#wiki/}"; a="${d%%/*}"; echo "NESTED AREA: $a"; done | LC_ALL=C sort -u'(Identische Formulierung liegt auch im Instruktionstextschema/compiler.md§5.8 Pkt. 2 — die Selbsttest-Formel ist die Instruktion; die einzelfall-spezifischen Sandbox-Negativ-TestsUNREACHABLE AREA/NESTED AREAwerden als Selbsttest-Beleg imlog.md-Eintrag dokumentiert (Sandbox-Nachweis auf einem synthetischen Baum mit angelegter Testdatei, s. Loop-3-Decision-2-Zwei-Zustands-Klarstellung). Der Live-Baum liefert hier keine Ausgabe, Exit0; Ausführung außerhalb der Workspace-Root liefertSELBSTTEST-SETUP-Fehler: …+ Exit1(CWD-Präguard, Loop-3-Decision-1).) - §5.6-Formeln (unverändert re-executierbar): Form 2 (Form-Check)
0(Exit0), Form 3 (Dangling-Check) keine Ausgabe; Formel 438 ≡ 38— Ist-Zählung ≡ Extraktion aus dem Run-Kopf862cf41…(Baseline-Commit des letzten Zuwachs-Runs, §5.6 Pkt. 4; Story 2.5 erzeugt keinen neuen Zuwachs-Run, Formel 4 bleibt passierbar). - Validator-Lauf: alle 7
wiki/-Dateien SUCCESS (Punkte 1/2/6/7/8/9/10/11/12/13/14, EC-1) — unverändert zur Story 2.4; kein Validator-/Vertrags-Change. Der Validator ist eine reine Text-Instruktion (schema/validator.md), die der Producer human-mechanisch ausführt (D-3 — es gibt keinenuv-Invoker/keinen CLI-Befehl); das Verdikt je Datei wird als Ausführungs-Nachweis imlog.md-Eintrag geführt.
Manual checks:
- §7 (Z. 285; in der Baseline
mainZ. 253) auf „Suche"-Rest gekürzt, Discovery in §5.8 verankert; kein Schema-/Validator-/raw-Diff;log.md-Eintrag datiert (2026-08-18) mit Discovery-Semantik + F-07-Schluss + Statuswechsel;deferred-work.md-F-07-Eintrag geschlossen (append-only);sprint-status.yamlkonsistent.
Suggested Review Order
Discovery-Instruktion (§5.8, Kern der Story)
-
Einstieg: die neue Discovery-Sektion — gewurzelte Erreichbarkeit + re-executierbarer Selbsttest.
compiler.md:202 -
Die deterministische Selbsttest-Formel (zwei Läufe A/B,
sort -u-Konsolidierung) — verbindlicher Nachweis.compiler.md:216 -
Konsolidierte Zwei-Ebenen-Kartografie + §5.8-Instruktions-Hold (F-07-Antwort, tieferer Zip) — angehaltene Kandidaten, „teilweise erfolgreich".
compiler.md:230 -
Suche = Consumer-grep (Pkt. 4, AD-13) — keine Such-Datenbank, kein Index-Datei-Format.
compiler.md:231 -
Das §5.8-Selbsttest-Beleg-Niveau schließt die erreichbare Path-Prüfung ab.
compiler.md:227
Verifikation & Nachweis-Ebene
- Der §5.8-Verification-Block — verbindliche Formel-Byte-Identität + erwarteter Nachweis.
spec-2-5-…:84
Status- & Tracking-Ebene
- Semantik des Sprint-Status (in-progress → review-Handoff).
sprint-status.yaml:50
Review Findings (bmad-code-review, 2026-08-18 — Loop 3, 4 Layer)
Decision-Needed
- [Review][Decision] §5.8-Selbsttest-Formel: realistische Edge-Case-Lücken (Edge-Case-Hunter #1–#8) — die gepinnte Formel (Z. 216) ist fragil gegen: (a) Area-Namen mit Leerzeichen (
for f in $(find …)splittet den Pfad → korrektt verlinkte Area erzeugt je Wortteil falscheUNREACHABLE AREA), (b) ERE-Metazeichen im Area-Namen (.,*,+unescaped ingrep -qE→ unverlinkte Area besteht still, weil ein Link einer anderen Area den Regex trifft; unbalanciertes(/[→ Regex-Fehler nur in stderr), (c) Prosa-Ausdruck(a/index.mdohne Markdown-Linksyntax](in der Bundleroot besteht den Erreichbarkeits-Check still (Muster\(statt\](), (d) Groß-/Kleinschreibungs-Abweichung Verzeichnis↔Link (win32, F-08-Umfeld), (e) Ausführung außerhalb der Workspace-Root → nur stderr, Exit 0 = falscher SUCCESS statt Setup-Befund, (f)sort -uohneLC_ALL=C→ meldungsreihenfolge-Umgebungsabhängigkeit (AD-17h-Byte-Identität der Nachweise bricht), (g) implizite POSIX-sh/GNU-find-Prämisse (NFR-1/NFR-5) nicht dokumentiert. Minderung im Ist-Baum: Area-Namen sind kebab-case-Slugs (§5.1 Pkt. 1, AD-7a) → (a)/(b)/(d) sind für konforme Bäume strukturell nicht erreichbar; verbleibende reale Lücken: (c) Stiller-Vorbeilass auf Prosa-Treffer, (e) falscher SUCCESS bei falschem CWD, (f) Nachweis-Byte-Identität über Umgebungen. Ein Formel-Change bricht die byte-identische Spec↔compiler-Spiegelung (Verification Pkt. 1) und den Log-Selbsttest-Beleg — beides müsste neu belegt werden. Option 1: Formel härten (z. B.grep -qF -- "(<a>/index.md"+"(./<a>/index.md", Muster auf\](schärfen, CWD-Präguard,LC_ALL=C sort -u, POSIX-sh-Prämisse in Pkt. 2 dokumentieren) + byte-identisch in der Spec neu spiegeln + Log-Beleg aktualisieren. Option 2: Formel unverändert lassen + Prämissen explizit dokumentieren (kebab-case-Area-Namen nach §5.1/AD-7a, Ausführung ab Workspace-Root, POSIX-sh/GNU-Tools-Umgebung, C-Locale) — Lücken (c)/(e) bleiben dann als bekannt-konservativ dokumentiert. — Aufgelöst (Nutzer, 2026-08-18, Option 1): Formel härten — (a) Erreichbarkeits-Check auf echte Markdown-Linksyntax\](geschärft (Lücke (c) Stiller-Vorbeilass beseitigt), (b)grep -qF(Fix-String statt ERE — Metazeichen-Lücken (a)/(b) für beliebige Area-Namen geschlossen), (c) CWD-Präguard[ -f wiki/index.md ](Lücke (e) falscher SUCCESS beseitigt), (d)LC_ALL=C sort -u(Lücke (f) AD-17h-Byte-Identität über Umgebungen), (e) POSIX-sh/GNU-Prämisse in Pkt. 2 dokumentiert (Lücke (g)); MeldungstokensUNREACHABLE AREA: <area>/NESTED AREA: <a>bit-identisch erhalten (frozen I/O-Matrix intakt); byte-identische Spec↔compiler-Spiegelung + Log-Selbsttest-Beleg neu belegt (Patches unten). - [Review][Decision] Gefrorene I/O-Matrix-Zeile
NESTED_AREA_KANDIDATist mechanisch selbstwidersprüchlich (VG #4, BH #12) — die Zeile verlangt zugleich „Kandidat wird angehalten — keine Datei, kein Index-Link" und „MeldungNESTED AREA: <area>"; unter der gepinnten Formel (Lauf B:find wiki -mindepth 3 -type f -name "*.md") kann die Meldung aber nur entstehen, wenn eine Datei in Tiefe ≥ 3 existiert. Der Log-Sandbox-Nachweis („Kandidaten →NESTED AREA: a") ist nur mit angelegten Testdateien möglich. Der §5.8-Text (Pkt. 2/3) definiertNESTED AREAausschließlich als Formel-Output und unterscheidet nicht zwischen dem Hold-Zeitpunkt (Producer hält den Kandidaten an, keine Datei) und dem nachträglichen Formel-Befund (existierende Tiefe-≥-3-Datei wird gemeldet). Die gefrorene Matrix ist nur per menschlicher Renegotiation änderbar. Option 1: Renegotiation der Matrix-Zeile — Zwei-Zustands-Klarstellung (Hold = keine Datei für den Kandidaten;NESTED AREA= Formel-Befund gegen bestehende Tiefe-≥-3-Dateien; Sandbox-Nachweis = Formel-Detektion auf synthetischem Baum). Option 2: Matrix bleibt frozen; Klarstellung nur in den nicht-gefrorenen Sektionen (§5.8 Pkt. 2/3 + Verification) — die Matrix-Zeile bleibt als Änderungskandidat für die nächste Renegotiationsrunde notiert (Story-2.4-Präzedenz für frozen-Defizite). — Aufgelöst (Nutzer, 2026-08-18, Option 1, menschlich-autorisierte Renegotiation): Matrix-Zeile auf die Zwei-Zustands-Klarstellung umgestellt (Hold-Zeitpunkt = keine Datei für den Kandidaten;NESTED AREA= Formel-Befund gegen bestehende Tiefe-≥-3-Dateien; Sandbox-Nachweis = Detektion auf synthetischem Baum). Keine gefrorene Erwartung geändert (keine Datei / kein Index-Link / Meldung / „teilweise erfolgreich" bleiben bit-identisch erhalten) — die bereits gelebte Nachweis-Semantik wird nur explizit.
Patch
- [Review][Patch] §5.8-Instruktions-Hold hat keinen definierten Trigger-Punkt im Run-Flow — VG #5: §5.8 Pkt. 3 sagt, der Hold „hält Kandidaten an" (Erstellungskandidat oder Discovery-Ziel), aber die fixe Ablaufstruktur (§0: Input → Interpretieren → Reconcile → Synthetisieren → Mutieren → Validieren) enthält keinen Schritt, an dem er auslöst; §5.7-Routing kann Tiefe ≥ 3 strukturell nie erzeugen. Im Ist-Text ist der Hold faktisch nur der nachträgliche Baum-Zustands-Check der Selbsttest-Formel. Fix: Trigger auf den Mutieren-Schritt verankern (§5/§5.8 Pkt. 3): vor Anlage eines Ziel-Pfads in Tiefe ≥ 3 unter der Bundleroot feuert der Hold (keine Datei, kein Index-Link, Meldung
NESTED AREA: <a>, Run „teilweise erfolgreich"); die Selbsttest-Formel bleibt der nachträgliche Baum-Check. [schema/compiler.md:230] - [Review][Patch] Sprint-Status-Pfad im Log unvollständig — BH #2 + EC #9 + VG #2 + AA #1: der 2.5-Log-Eintrag dokumentiert
backlog → in-progress(„dieser Statuswechsel findet mit diesem Eintrag statt"), der Diff setzt den Key jedoch direktbacklog → review; der Review-Handoff wird nirgends als eigener Statusschritt protokolliert (Story-2.4-Präzedenz im selben File führt das Handoff explizit nach; Workflow-Kommentarsprint-status.yamlZ. 29). Fix: Log-Eintrag um die Handoff-Nachführung ergänzen (Analogie Story-2.4-Eintrag: „Review-Handoff, dieser Eintrag"; die gefrorene→ in-progress-Vorgabe beschreibt den Implementierungsstand). [wiki/log.md:4] - [Review][Patch] Validator-SUCCESS-Beleg fehlt im Log-Eintrag, den die Spec als Ausführungs-Nachweis benennt — AA #2: Spec-Verification Pkt. 3 verspricht „das Verdikt je Datei wird als Ausführungs-Nachweis im
log.md-Eintrag geführt" (7wiki/-Dateien SUCCESS, Punkte 1/2/6/7/8/9/10/11/12/13/14, EC-1); der 2.5-Log-Eintrag stützt sich implizit auf „unverändert zur Story 2.4" und trägt keine per-Datei-Verdikt-Zeile. Daneben: AC 5 (Z. 67) verlangt „re-executierbarer Validator-Befehl (BH13)" — nach der Loop-2-Korrektur (erfundener CLI-Befehl entfernt; Validator = human-mechanische Text-Instruktion) ist die Wortung nicht mehr erfüllbar und „BH13" ein hängender Verweis. Fix: (a) Log-Eintrag um die per-Datei-Verdikt-Zeile ergänzen; (b) AC 5 (nicht-gefroren) auf „mit dem per-Datei-Verdikt-Nachweis inwiki/log.mdbelegt" umstellen. [wiki/log.md:4, spec Z. 67] - [Review][Patch] Consumer-Suchbeispiel
grep -n <term> wiki/nicht ausführbar — VG #9: nicht-rekursivesgrep -nauf ein Verzeichnis schlägt fehl (grep: wiki/: Is a directory, Exit 2, verifiziert); nurgrep -rn/ripgrep funktioniert. Fix (nicht-gefrorene Seite): §5.8 Pkt. 4 das rekursive Beispiel (grep -rn <term> wiki/bzw. ripgrep) als primäre Beispielform voranstellen; die frozen-Matrix-ZeileSEARCH_GREPbleibt Änderungskandidat (s. Defer, frozen-Text-Kandidaten). [schema/compiler.md:231] - [Review][Patch] „Ash"-Phantomreferenz in der Suggested Review Order — BH #11 + AA #3: Z. 109 „(kein „Ash"-Ghost mehr)" —
grep -rn "Ash"liefert im gesamten Repo exakt diese eine Stelle; kein „Ash"-Label/-Datei/-Befund existiert. Unauflösbarer Ghost-Verweis, irreführend in der Review-Navigation. Fix: Satz bereinigen (Phantom-Referenz entfernen). [spec Z. 109] - [Review][Patch] Phantom-Labels ohne Referenz: „S1–S5" im Log + „(BH1/EC1)" im normativen Instruktionstext — BH #13 + VG #6: der 2.5-Log-Eintrag beansprucht „Negativ-Kontrollen (S1–S5) auf dem Sandbox-Baum bestätigt" — S1–S5 sind nirgends definiert (I/O-Matrix-Szenarien tragen andere Namen; nur 2 davon sind negativ); §5.8 Pkt. 2 (B) (Z. 223) zitiert die Review-Layer-Befund-IDs „(BH1/EC1)" in den normativen Instruktionstext, der als einziger Instruktions-Ort (D-3) nirgendwo auf eine Review-Runde verweisen sollte. Fix: (a) Log-Eintrag: Szenario-Namen der I/O-Matrix verwenden (
AREA_UNREACHABLE,NESTED_AREA_KANDIDAT); (b)(BH1/EC1)-Zitat aus §5.8 Pkt. 2 (B) entfernen. [wiki/log.md:4, schema/compiler.md:223] - [Review][Patch] Veraltete Zeilen-Zitate auf die drei Link-Pin-Defer-Einträge — BH #3 + VG #10 + AA #4: Tasks Z. 59 „(L219/L223/L249)" und Code Map Z. 51 „
status:bei L224 … L246/L250" treffen nicht die Ist-status:-Zeilen indeferred-work.md(Ist: L220)-blinde Extraktion, L224 Cross-Page-Anker, L250 Multi-Line; L246 ist der Status der Image-Eintrags, L219/L223/L249 sindevidence:-Zeilen; L246-Hauszuordnung „Deferred from … spec-2-3" zudem ungenau). Der Loop-2-Change-Log (h) behauptet „auf die Ist-Zeilen korrigiert" — korrigiert wurde nur der F-07-Eintrag (L87/L90). Fix: Zeilen-Zitate auf L220/L224/L250 korrigieren; F-07-Verortung Code Map (L87) vs. Tasks (L88) vereinheitlichen. [spec Z. 51, Z. 59] - [Review][Patch] Veraltete Referenz „§7 Z. 253" — BH #4: die Discovery-Vorbehalt-Zeile lag in
mainbei Z. 253, nach dem 32-zeiligen §5.8-Einschub steht sie bei Z. 285; spec (Code Map Z. 49, Manual-Checks Z. 91),wiki/log.md-Eintrag und Revisionslog 2.3 (compiler.md Z. 317) zitieren „§7 Z. 253" in Präsens-Kontexten, wo der Leser die Ist-Zeile erwartet. Fix: in Präsens-Kontexten die Ist-Zeile ergänzen (Z. 285) oder auf Sektions-Referenz ohne Zeilennummer umstellen. [spec Z. 49/91, wiki/log.md:4, schema/compiler.md:317] - [Review][Patch] Discovery-Demo-Verlinkung terminologisch widersprüchlich — VG #11 + BH #7: §5.8 Pkt. 5 (Z. 232) nennt den zusätzlichen Demo-Link „Index-Link … aus einem bestehenden Area-Concept heraus" — ein Link in der Concept-Body-Datei ist nach §5.6 (Pin gilt für Concept-Bodies und
index.md-Dateien als getrennte Orte) ein Body-Link, kein Index-Link; die frozen-Matrix-Zeile formuliert die Richtung zusätzlich anders („in das Area-Concept verlinkt"). Fix (nicht-gefrorene Seite): §5.8 Pkt. 5 eindeutig als Body-Link benennen ([<text>](../<concept>.md)auswiki/wissensarchitektur/source-material.md, file-relative../-Form §5.7 Pkt. 4); frozen-Matrix-Zeile bleibt Änderungskandidat (s. Defer). [schema/compiler.md:232] - [Review][Patch] Inkonsistente Tiefen-Terminologie „zwei Ebenen" vs. „Tiefe ≥ 3" — BH #12: Hold-Name, I/O-Matrix und AC mischen „zwei Ebenen" (Verzeichnisstufen) und „Tiefe ≥ 3" (
find -mindepth 3= Segment-Ebenen unter der Bundleroot inkl. Datei); aus Prosa allein ist nicht ableitbar, welche Schwelle verbindlich ist. Fix: §5.8 Pkt. 3 um eine definierende Zeile (Tiefe = Segment-Anzahl unter der Bundleroot;wiki/<a>/<b>/…= Tiefe ≥ 3 = zwei Verzeichnisstufen plus Datei; Meldung benennt die erste Ebene<a>). [schema/compiler.md:230] - [Review][Patch] Falscher Norm-Anker in §5.8 Pkt. 1 — BH #9: Z. 208 „verlinkt die Root-Concepts (direkt, §5.7 Pkt. 5)" — §5.7 Pkt. 5 (Z. 199) trägt nur die Area-Pflichten; die Root-Concept-Verlinkungspflicht ist §5.3 Pkt. 3 (Z. 62), den derselbe Absatz einen Satz später korrekt nennt (Z. 212). Fix: Anker auf §5.3 Pkt. 3 korrigieren. [schema/compiler.md:208]
- [Review][Patch] Inkongruente Outcome-Klassifizierung in §5.8 Pkt. 2 — VG #13: die Einleitung (Z. 213) sagt „Run-FAIL-artig gemäß §5.6-Pkt.-4-analoger NFR-4-Regel", das Bullet (Z. 227) „Run-FAIL gemäß §5.6 Pkt. 4-analoger NFR-4-Regel" — dieselbe Outcome-Kopplung wird einmal abgemildert, einmal direkt; „-artig … -analog" ist doppelt abgeschwächt. Fix: beide Stellen auf die uneingeschränkte Wortung vereinheitlichen („Run-FAIL gemäß §5.6 Pkt. 4-analoger NFR-4-Regel" — Loop-1-Pkt.-c-Verbindlichkeit). [schema/compiler.md:213/227]
- [Review][Patch] Prosa-Formel-Textabweichung in §5.8 Pkt. 2 (B) — BH #10: Z. 223 zitiert
find wiki -mindepth 3 -name "*.md" -type f, die gepinnte Formel (Z. 216) lautetfind wiki -mindepth 3 -type f -name "*.md"(Semantik identisch, Wortlaut divergiert von der als verbindlich deklarierten byte-identischen Formel). Fix: Prosa-Zitat an die gepinnte Formel angleichen. [schema/compiler.md:223] - [Review][Patch] Suggested-Review-Order-Self-Link zeigt auf eine Leerzeile — VG #12:
spec-2-5-…:83(Z. 115) verweist auf die leere Zeile zwischen „Commands" (Z. 82) und Verification-Punkt 1 (Z. 84–86); Ankernummer um eine Zeile verschoben. Fix: Anker auf Z. 84 korrigieren. [spec Z. 115] - [Review][Patch] Englisch-Fremdwort im deutschen Log-Text — BH #15: 2.5-Log-Eintrag mischt „Self-Check-Lauf A" in den konsequent deutschen Text. Fix: „Selbsttest-Lauf A" (bzw. „Lauf (A)"). [wiki/log.md:4]
- [Review][Patch] Punkt-11-Delegation benennt die bekannte offene Validator-Lücke nicht — VG #1: §5.8 Pkt. 2 (Z. 213/229), die Spec (AC 2, Code Map) und der Log-Eintrag stützen die Nicht-Duplizierungs-These und den „Validator läuft SUCCESS"-Nachweis auf dem Validator-Punkt-11-Check, ohne den offenen Defer-Finding (deferred-work.md Z. 284–287: ein wörtlicher, mechanischer Punkt-11-Check meldete
Concept nicht verlinkt=wissensarchitektur/source-material; Behebung = Rev-9-Aktionsitem, open) zu nennen — die SUCCESS-Behauptung ist damit nicht unabhängig überprüfbar. Fix: §5.8 Pkt. 2 (bzw. Pkt. 2-Bullet) um einen Zeigerverweis auf die bekannte Rev-9-Lücke (deferred-work.md) ergänzen; die Lücke selbst bleibt beim Rev-9-Aktionsitem (kein neuer Defer). [schema/compiler.md:213]
Defer
- [Review][Defer] Spec-Frontmatter
status: 'done'bei offenem Review-Zyklus [spec Z. 5] — deferred, Story-2.4-Präzedenz (deferred-work.md Z. 269–272):doneerst nach Review-Freigabe; mit dem Abschluss dieses Review-Loops synchron (s. Step 6), kein separates Patch. - [Review][Defer] Frozen-Text-Wortfehl- und Konsistenz-Kandidaten (nur per menschlicher Renegotiation änderbar) [spec Z. 18/42/43] — deferred, Änderungskandidaten für die nächste Renegotiationsrunde (Story-2.4-Präzedenz): (a) Intent Z. 18 „Revisionslog (3.x)" — implementiert ist 2.3 (Reihenfolge 2.0/2.1/2.2/2.3); (b) I/O-Matrix
DISCOVERY_DEMO_ROOT_AREA_LINKZ. 42: „zusätzlich überdacht in das Area-Concept" — Wortfehler + Verlinkungsrichtung unauflösbar (nicht-gefrorene Seite s. Patch „Index-Link-Oxymoron"); (c) I/O-MatrixSEARCH_GREPZ. 43:grep -n <term> wiki/nicht ausführbar (nicht-gefrorene Seite s. Patch „Consumer-Suchbeispiel"); (d) Intent Z. 18 „Kein Interface-/Backend-/Datenbank-Änderung" (Grammatik: „Keine … Änderungen").