- schema/compiler.md Revision 2.3: neue §5.8 „Progressive Discovery ueber index.md (Story 2.5)".
Gewurzelte Erreichbarkeit (Root → Area → Concept), re-executierbarer Zwei-Lauf-Selbsttest
(UNREACHABLE AREA / NESTED AREA), §5.8-Instruktions-Hold (Zwei-Ebenen, Tiefe ≥ 3) statt
§3.2-Kollisions-Hold (Loopback-1-Renegotiation, Option A), Suche = Consumer-grep, Discovery-Demo optional.
- wiki/log.md: Implementierungs-Eintrag Vertrag-§5-Format inkl. Selbsttest-Beleg.
- Spec: Loopback-2 bad_spec + Konsistenz-Renegotiation: Verification-Formel byte-identisch zur
Instruktion, erfundener Validator-CLI-Befehl entfernt, Formel-4-Baseline auf Run-Kopf 862cf41,
stale §3.2-Wording in Design-Notes vervollständigt (frozen-Vervollstaendigung), Suggested Review Order.
- deferred-work.md: F-07 geschlossen (status: umgesetzt); Link-Pin-Eintraege unveraendert offen.
- sprint-status.yaml: 2-5-progressive-discovery → in-progress (Implementierung) → review (Handoff).
- AD-3 gewahrt: schema/wiki-compiler.md, schema/validator.md, raw/ unveraendert; keine neue §7-Klasse (D-3).
Co-Authored-By: Claude <noreply@anthropic.com>
24 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 | 2 | 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/ |
§5.8-Instruktions-Hold (Zwei-Ebenen, Tiefe ≥ 3): Kandidat wird angehalten — keine Datei, kein Index-Link, Meldung NESTED AREA: <area>; das Zwei-Ebenen-Modell bleibt |
Run bricht fürs Gebilde ab: „teilweise erfolgreich" (übrige Einheiten laufen weiter, NFR-4) |
| 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 Z.253 (Vorbehalt auf „Suche"-Rest gekürzt), §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 (einer bei L218ff mitstatus:bei L224, zwei weitere im Abschnitt „Deferred from: … spec-2-3 …" mitstatus:bei L246/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 (L88)status: umgesetzt (…Story 2.5…); die drei Link-Pin-Einträge (L219/L223/L249) 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 re-executierbarem Validator-Befehl belegt (BH13).
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.
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 'for f in $(find wiki -mindepth 2 -name index.md); do a="${f#wiki/}"; a="${a%/index.md}"; case "$a" in */*) continue;; esac; grep -qE "\($a/index\.md|\(\./$a/index\.md" wiki/index.md || echo "UNREACHABLE AREA: $a"; done; find wiki -mindepth 3 -type f -name "*.md" | sort -u | while read -r f; do d="${f#wiki/}"; a="${d%%/*}"; echo "NESTED AREA: $a"; done | 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. Der Live-Baum liefert hier keine Ausgabe, Exit0.) - §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.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 (kein „Ash"-Ghost mehr).
compiler.md:227
Verifikation & Nachweis-Ebene
- Der §5.8-Verification-Block — verbindliche Formel-Byte-Identität + erwarteter Nachweis.
spec-2-5-…:83
Status- & Tracking-Ebene
- Semantik des Sprint-Status (in-progress → review-Handoff).
sprint-status.yaml:50