diff --git a/_bmad-output/implementation-artifacts/deferred-work.md b/_bmad-output/implementation-artifacts/deferred-work.md index e4e9653..a767f0f 100644 --- a/_bmad-output/implementation-artifacts/deferred-work.md +++ b/_bmad-output/implementation-artifacts/deferred-work.md @@ -110,3 +110,36 @@ Noch nicht adressierte, aber real erkannte Arbeit — gesammelt aus Reviews. Ein - source_spec: `_bmad-output/implementation-artifacts/spec-2-1-concepts-aus-source-material-erzeugen-okf-konform.md` (Story-2.1-Review) summary: Determinismus-Selbsttest-Dokumentation in `schema/compiler.md` schärfen — §6.6-Interpretations-Hinweis behauptet, die ✓-Form sei „genau diese Form … im Demonstrationslauf erfüllt"; da `generated.at` pro Run variiert (Ausführungszeitpunkt, AD-15), ist der Selbsttest (Kriterium 2 „at-Normalform") als Form-Verifikation über die Normalform statt über einen festen `at`-Sekundenwert zu formulieren, damit ein „Regenerate"-Vergleich auf einem OTHER-Diff-Basis nicht an der Run-Zeit scheitert (Punkt-14-sicher). Für Story 2.3 (Determinismus/A0-7-Verifikation) bzw. nächste Validator-Revision. evidence: Edge-Case-Review (Story 2.1): „Determinism self-test compares generated.at which varies per run" — eines von mehreren als Defer klassifizierten Findings (die übrigen ebenfalls in diesem Block). + +## Deferred from: code review of story-2.1 (2026-08-16) + +> **Code-Review-Defer (bmad-code-review, 2026-08-16):** Diese Einträge decken die im externen Adverse-Review von Story 2.1 als Defer klassifizierten Befunde ab, die bewusst nicht in Story 2.1 behoben werden. Sie sind getrennt von den Step-04-Review-Defer-Kontexten oben (die der Implementierung selbst entstammen). + +- source_spec: `_bmad-output/implementation-artifacts/spec-2-1-concepts-aus-source-material-erzeugen-okf-konform.md` (Code Review, Story 2.1) + summary: Content-Truth-Verifikation einführen — kein bestehender Check verifiziert, dass der Body eines Concepts seinen deklarierten `raw/`-Quellen (Inhalt) entspricht. Die drei Concepts sind im Review inhaltlich korrekt (Spot-Checks gegen PRD/epics/spine bestätigt), aber Validator (§3 rein strukturell), spec-Verification (grep-Smoke) und compiler.md-Selbsttests (Kriterien 1–3) decken nur Form/Existenz, nicht den Inhalt. Verifikation, dass erfundenes/gegenläufiges Body-Content nicht als kuratierte Wahrheit durchgeht, ist die Kern-Fähigkeit (FR-2/FR-5). + evidence: Verification-Gap-Review (Story 2.1): Body-Fälschung bei byte-identischem Frontmatter ändert kein Verdikt und keinen grep-Check. Für Story 2.2 (Claim-granulare Provenienz, AD-4a/A0-3) bzw. eine spätere Inhaltstreue-Prüfung. + +- source_spec: `_bmad-output/implementation-artifacts/spec-2-1-concepts-aus-source-material-erzeugen-okf-konform.md` (Code Review, Story 2.1) + summary: Determinismus-Selbsttest-Dokumentation in `schema/compiler.md` schärfen — §6.6-Interpretations-Hinweis behauptet, die ✓-Form sei „genau diese Form … im Demonstrationslauf erfüllt"; da `generated.at` pro Run variiert (Ausführungszeitpunkt, AD-15), ist der Selbsttest (Kriterium 2 „at-Normalform") als Form-Verifikation über die Normalform statt über einen festen `at`-Sekundenwert zu formulieren, damit ein „Regenerate"-Vergleich auf einem OTHER-Diff-Basis nicht an der Run-Zeit scheitert (Punkt-14-sicher). Für Story 2.3 (Determinismus/A0-7-Verifikation) bzw. nächste Validator-Revision. + evidence: Edge-Case-Review (Story 2.1): „Determinism self-test compares generated.at which varies per run". + +- source_spec: `schema/validator.md` (Story 1.4) — aufgelöst via Option A + summary: Frieren-Verletzung heilen — die Innen-Ebenen-Klarstellung (Punkt-6 / Key-Subset auf `sources`/`generated`-Eintragsebene), die Spot 2.1 als Rev-7-Notiz in `schema/validator.md` eingetragen hat, muss in der **nächsten autorisierten Validator-Revision** formal mitlaufen (gemeinsam mit der F-14-Negativ-Fixture). Dadurch verliert die Abweichung ihren Status als unautorisierte Mutation und Story 2.1 ist `done`-fähig. Der Rev-7-Hinweis bleibt bis dahin erhalten (kein Rückbau). + evidence: Code Review (Story 2.1) — Decision-Befund, aufgelöst als Option A am 2026-08-16. + +- source_spec: `raw/README.md` (Konvention, Story 1.2) — R-1 + summary: R-1 (Compiler-Input-Interface) — Verdikt **Bestanden**: `schema/compiler.md` definiert seine Source-Eingabe als Menge beliebiger `raw/`-Dateien (Set-Interface, §1.2 „jede Datei unter `raw/` ist Evidenz"), nicht als einzelnen Pfad. Der erkennungsseitige Mechanismus, WELCHE `raw/`-Dateien wann verarbeitet werden („Run-ohne-Pfad"-Nutzererwartung aus DRYRUN.md: Kompilation via git diff + SHA-256-Record aus den `source.md`-Records), ist bewusst nicht in Story 2.1 enthalten und gehört als Erkennungs-/Auswahl-Mechanismus in die AD-5-Home-Story (Epic 3, Story 3.1/3.2). + evidence: Code Review (Story 2.1) R-1 — Epic-3-Forward-Risk, keine AC-Verletzung. + +- source_spec: `raw/README.md` / `schema/compiler.md` §1.2–§1.4 — R-2 + summary: R-2 (Nicht-Markdown-Quellen) — Verdikt **Bestanden**: die Compiler-Instruktion liest Sources endungsneutral als Datei (§1.2/§1.4), unterstellt keine `.md`-Endung; PDF ist zulässige Evidenz (Vertrag §3.3 verlangt nur einen Dateipfad unter `raw/`, Validator EC-1 prüft nur Existenz). Die Konventions-/Asset-Zuordnungsfrage (Namensschema für Nicht-Markdown-Quellen) bleibt offen und gehört zu Epic 2/3 (Nutzer-Input-Gestaltung für den Dryrun-Forderungskatalog). Als dokumentarischer Hinweis: §1.2/§1.4-Widerspruch („jede Datei ist Evidenz" vs. „Artefakt-Dateien sind KEIN Input") in der Instruktion selbst klären (siehe Patch-Findings in der Story). + evidence: Code Review (Story 2.1) R-2 — Konventionsfrage, kein Blocker. + +## Deferred from: code review of story-2.1 (2026-08-16) — Arbeitsauftrag: autorisierte Validator-Revision (Option-A-Heilung) + +> **Konkreter Arbeitsauftrag (aus Re-Review vom 2026-08-16):** Sobald die nächste **autorisierte Validator-Revision** beginnt (Story-/Autorisierungs-Kanal, Bereich `schema/`, Konsistenz mit dem Story-1.4-Prozess), sind die folgenden drei Punkte dort formal zu tragen. Sie machen Story 2.1 `done`-fähig und schließen die Referenzkette compiler.md → validator.md sauber. `validator.md` selbst bleibt bis dahin unverändert (Frieren/AD-3). + +- summary: **1. F-14-Negativ-Fixture ergänzen** — ein `resource`-Pfad, der außerhalb `raw/` landet, aber existiert (z. B. `resource: README.md`), hat bislang kein Negativ-Fixture; §6.2 deckt den Fall, §7.1-Fixtures belegen ihn nicht (Retrospective F-14, epic-1-retro AI-7). In der autorisierten Revision als Negativ-Fixture ergänzen (erwartetes Verdikt: `FAIL … Punkt 4: resource ausserhalb raw/ oder unzulaessiger Pfad (…|…)`), Beleg unter §7.1 (Punkt 4). +- summary: **2. Innen-Ebenen-Key-Subset-Klarstellung formal tragen** — die heute als unautorisierte Rev-7-Notiz in `validator.md` §7.3 (Punkt 6: unautorisierte Keys innerhalb `sources`/`generated`/`verified`-Einträgen, Vertrag §3.3–§3.5) liegende Klarstellung wird Teil der autorisierten Revision; damit verliert sie ihren Status als unautorisierte Mutation und Story 2.1 ist `done`-fähig. (Kann mit F-14 in einer gemeinsamen Revision laufen.) +- summary: **3. Validator-Header-Revisionszahl anheben (OBS-1)** — `schema/validator.md` §0-Header trägt weiter „Validator-Revision: 6", während der Revisionslog (§8) als letzten Eintrag „Revision 7" führt (pre-existing Selbst-Inkonsistenz). In derselben autorisierten Revision den Header auf die dann aktuelle Revisionszahl anheben — damit schließt sich die von compiler.md §0/§8 auf „Revision 7" referenzierte Kette header-seitig. (Korrektur jetzt nicht möglich, da `validator.md` friert.) + evidence: Re-Review (Code Review Story 2.1), 2026-08-16 — Option-A-Home-Story; Epic-1-Retrospective F-14/AI-7 (Defer-Kontexte, deferred-work.md). diff --git a/_bmad-output/implementation-artifacts/spec-2-1-concepts-aus-source-material-erzeugen-okf-konform.md b/_bmad-output/implementation-artifacts/spec-2-1-concepts-aus-source-material-erzeugen-okf-konform.md index f250e6a..8023102 100644 --- a/_bmad-output/implementation-artifacts/spec-2-1-concepts-aus-source-material-erzeugen-okf-konform.md +++ b/_bmad-output/implementation-artifacts/spec-2-1-concepts-aus-source-material-erzeugen-okf-konform.md @@ -2,8 +2,8 @@ title: 'Concepts aus Source Material erzeugen (OKF-Konform) (Story 2.1)' type: 'feature' created: '2026-08-16' -status: 'done' -review_loop_iteration: 0 +status: 'in-progress' +review_loop_iteration: 1 baseline_commit: a67ba659108006a54eb54b84592d1dba046af96e context: - _bmad-output/implementation-artifacts/epic-2-context.md @@ -87,6 +87,38 @@ context: - Given ein neues Concept auf Root-Ebene, when es angelegt wird, then wird es in `wiki/index.md` verlinkt (Punkt 11/§6), ohne Area-Verzeichnis anzulegen (Story 2.4). - Given die Instruktion, when sie ausgeführt wird, then ist sie eine eigenständige, deterministische, agent-unabhängige Anweisung (D-3, AD-17h) — kein Standalone-Programm. +### Review Findings (bmad-code-review, 2026-08-16) + +**patch:** + +- [x] [Review][Patch] `schema/compiler.md` §1-Überschrift ist Englisch („Input (what the compiler consumes)") — Verstoß gegen eigene Always-Regel „Instruktion … in Deutsch"; fix: `## 1. Input (was der Compiler konsumiert)` [schema/compiler.md:23] — **erledigt, Rev 1.3** +- [x] [Review][Patch] `schema/compiler.md` enthält „Revision 6"-Referenz auf die Prüfgrundlage, während der Commit `validator.md` Rev 7 liefert — Selbstwiderspruch des Instruktions-Selbstbilds; fix: Revisionszahl angleichen (bzw. bei Rev-7-Rückbau konsistent „Revision 6" lassen) [schema/compiler.md:5, schema/compiler.md:127] — **erledigt, auf Revision 7 angeglichen, Rev 1.3** +- [x] [Review][Patch] `schema/compiler.md` §6.6-Referenztabelle enthält eine irreführende Zeile: canonical-Key-Reihenfolge wird als „✗"-Abweichung gelistet, aber als „kein FAIL, aber nicht erzeugt" beschrieben und das Label „§6.4" verweist auf eine reine Pfad-Regel (Punkt 4); fix: Zeile aus der ✗-Tabelle herausnehmen (kein Validator-FAIL) bzw. Label auf §4.4 korrigieren [schema/compiler.md:102] — **erledigt: Zeile auf reine ✓-Vorgabe, Label auf §4.2, Rev 1.3** +- [x] [Review][Patch] `schema/compiler.md` §1.2 vs. §1.4 widersprechen sich: „jede Datei unter `raw/` ist Evidenz" (extensiv) vs. „Artefakt-/Grenzdateien (`raw/README.md`, `raw/**/source.md`) sind KEIN Input" (restriktiv) — neue normative Regel, die so weder im Vertrag noch im Spine noch im Validator steht; fix: in §1.4 die nicht-mechanisch prüfbare Sonderregel als dokumentarische Konvention (nicht als Input-Verdikt) kennzeichnen; alternativ im Change Log als Klarstellung nachführen — **erledigt: §1.2 präzisiert, §1.4 als dokumentarische Konvention gekennzeichnet, Rev 1.3** +- [x] [Review][Patch] `wiki/log.md`-Einträge weichen vom Vertrags-§5-Beispielformat ab (freie Prosa statt „`- neu:` … angelegt (sources: …)"); keine Maschine prüft das, aber der dokumentierte Doku-Standard wird nicht eingehalten; fix: Einträge an das §5-Beispielformat angleichen [wiki/log.md] — **erledigt: drei Demonstrationslauf-Einträge auf §5-Format umgestellt** + +**defer:** + +- [x] [Review][Defer] Contract-Verletzung: `schema/validator.md` im Commit mutiert (Rev-7-Notiz §7.3), obwohl Always/Never + AD-3 es als unverändert autorisiert frieren [schema/validator.md:262] — **aufgelöst via Option A (2026-08-16):** `validator.md` bleibt mit Rev-7-Hinweis erhalten (inhaltlich korrekt, kein Rückbau); Heilung über die nächste **autorisierte Validator-Revision** (F-14-Fixture + Innen-Ebenen-Klarstellung dort formal tragen — vgl. `deferred-work.md`); Story 2.1 bleibt bis dahin `in-progress`, Review-Wiedervorlage vor `done`. (Grund: Frieren-Prinzip wahren, ohne die nützliche Klarstellung zu verwerfen.) +- [x] [Review][Defer] Content-Truth-Verifikation: kein Check verifiziert den Inhalt eines Concepts gegen seine deklarierten `raw/`-Quellen (Verification-Gap) — deferred, Story 2.2 [wiki/*.md] +- [x] [Review][Defer] Determinismus-Selbsttest-Dokumentation: §6.6-Interpretations-Hinweis behauptet eine starte „genau diese Form", obwohl `generated.at` pro Run variiert (AD-15) — deferred, Story 2.3 [schema/compiler.md:106] +- [x] [Review][Defer] R-1 (Compiler-Input-Interface): Compiler definiert seine Source-Eingabe als **Menge beliebiger `raw/`-Dateien (Set-Interface)** — Verdikt **Bestanden**. Der übergebene dryrun-Fall „einzelner Pfad" existiert nicht mehr. Empfehlung gemäß Review-Vorgabe ergänzend: den Mechanismus der Source-Auswahl (welche `raw/`-Dateien wann verarbeitet werden) als Konventions-/Erkennungsproblem für Epic 3/AD-5-Home-Story in `deferred-work.md` festhalten — Firm-Zwang, die „Run-ohne-Pfad"-Lücke der Nutzererwartung bleibt offen (Story 3.1/3.2) — deferred, Epic 3 +- [x] [Review][Defer] R-2 (Nicht-Markdown-Quellen): Compiler-Instruktion liest Sources **endungsneutral als Datei** (§1.2/§1.4, Verdikt **Bestanden**); die Konventions-/Asset-Zuordnungsfrage für PDF bleibt als dokumentierte Konvention offen — deferred, Epic 2/3 [raw/README.md] + +### Re-Review Verifikationsvermerk (bmad-code-review, 2026-08-16) + +Konforme Wiedervorlage nach dem Erst-Review — alle 5 Patch-Findings verifiziert, kein neuer Bruch: + +- ✅ P-1..P-5 (compiler.md Rev 1.3, log.md §5-Format, spec-status, deferred-work, sprint-status) sauber umgesetzt und im Working Tree verifiziert. +- ✅ **AC-Abgleich** gegen `epics.md` Story 2.1: unverändert gültig (type-Pflicht, §3-Subset, v1-Trust `generated {by,at}` ohne `verified`, Wissenseinheiten ≠ 1:1, Index-Pflicht, kein Area, D-3-Textinstruktion) — kein neuer Verstoß durch die Patches. +- ✅ **Validator-Run gegen das Bundle** (gemäß `schema/validator.md`): **SUCCESS für alle 5 Bundle-Dateien** (`index.md`, `log.md`, 3 Concepts) — Points 1–14 ✔, V-1/V-2 ✔, EC-1/EC-3/EC-11 ✔, Punkt 11 (alle 3 Identitäten verlinkt) ✔. Keine Abweichung. +- ✅ **AD/Provenienz:** AD-3 (`raw/` unangetastet, leerer Diff), AD-5 (nur neue Root-Concepts), AD-10 (`adapters/` unverändert, keine abweichende Knowledge-Semantik), D-3 (rein textuell, kein Executable-Block), AD-4b (alle `sources[].resource` → existierende `raw/`-Dateien, nie `wiki/`), v1-Default (`generated` gesetzt, `verified` ungesetzt). +- ✅ **R-1** (Menge von Source-Pfaden, Set-Interface — compiler.md §1.2 definiert die gesamte evidierenfähige `raw/`-Menge; Einzelpfad-Interface existiert nicht): **Bestanden**, kein Finding. Erkennungs-Mechanismus bewusst deferriert (AD-5-Home-Story, Epic 3, Story 3.1/3.2). +- ✅ **R-2** (Nicht-Markdown-Quellen): Instruktion liest Sources endungsneutral als Datei (Vertrag §3.3: nur Dateipfad unter `raw/`; Validator EC-1: nur Existenz); PDF zulässig; §1.4 dokumentarische Konvention (§1.2/§1.4-Widerspruch via Rev 1.3 Patch #4 sauber aufgelöst, kein neuer Bruch): **Bestanden**. +- ✅ **Option A intakt:** `validator.md` Rev-7-Notiz unverändert erhalten (kein Rückbau); Spec konsistent in-progress; `done`-Fähigkeit korrekt an die nächste autorisierte Validator-Revision gekoppelt (F-14-Fixture + Innen-Ebenen-Klarstellung), kein Widerspruch zum Frozen-Bereich. OBS-1 (`validator.md`-Header „Revision 6" vs. Revisionslog „Revision 7") als pre-existing Mitnahme in dieselbe Revision vermerkt. + +**Verdikt:** Story 2.1 bleibt **`in-progress`** — ausschließlich gebunden an die offene Option-A-Voraussetzung. Kein AC-/Vertrags-Blocker in den Story-Artefakten; keine neuen Findings aus den Nachzieh-Patches. Wiedervorlage vor `done`, sobald die nächste autorisierte Validator-Revision die F-14-Fixture + Innen-Ebenen-Klarstellung (und die Header-Anhebung) formal trägt. + ## Spec Change Log - (leer bis zum ersten Review-Loopback) diff --git a/_bmad-output/implementation-artifacts/sprint-status.yaml b/_bmad-output/implementation-artifacts/sprint-status.yaml index 55f9e8d..f384f0b 100644 --- a/_bmad-output/implementation-artifacts/sprint-status.yaml +++ b/_bmad-output/implementation-artifacts/sprint-status.yaml @@ -29,7 +29,7 @@ # - Dev moves story to 'review', then runs code-review (fresh context, different LLM recommended) # - Retrospective appends its action items to action_items; the status view surfaces open ones generated: 08-14-2026 00:00 -last_updated: 08-16-2026 11:48 +last_updated: 08-16-2026 12:10 project: wow20 project_key: NOKEY tracking_system: file-system @@ -43,7 +43,7 @@ development_status: epic-1-retrospective: done epic-2: in-progress - 2-1-concepts-aus-source-material-erzeugen-okf-konform: review + 2-1-concepts-aus-source-material-erzeugen-okf-konform: in-progress 2-2-claim-granulare-provenienz-dokumentieren: backlog 2-3-concepts-verlinken-eine-erlaubte-linkform: backlog 2-4-deterministische-bereichszuordnung-concept-hierarchie: backlog @@ -149,3 +149,14 @@ action_items: mit Epic-/Validator-Zuordnung notiert; F-06/F-08 zusaetzlich im Validator Rev. 6 als 'Offene Punkte' verankert." ref: "_bmad-output/implementation-artifacts/epic-1-retro-2026-08-15.md#F-04" + - id: "code-review-2-1-item-1-autorisierte-validator-revision-option" + epic: 2 + action: "Autorisierte Validator-Revision starten (Option-A-Heilung fuer Story 2.1): + 1) F-14-Negativ-Fixture (resource ausserhalb raw/, existiert) ergaenzen; + 2) Innen-Ebenen-Key-Subset-Klarstellung (Punkt 6 in sources/generated/verified) + formal tragen (bisher unautorisierte Rev-7-Notiz); + 3) Validator-Header-Revisionszahl anheben (Header 'Revision 6' vs. Revisionslog + 'Revision 7', OBS-1). Danach Story 2.1 zur Review-Freigabe wiedervorlegen." + owner: "dev" + status: open + ref: "_bmad-output/implementation-artifacts/deferred-work.md" diff --git a/schema/compiler.md b/schema/compiler.md index 4147a06..5acfdef 100644 --- a/schema/compiler.md +++ b/schema/compiler.md @@ -2,7 +2,7 @@ > **Status:** abgeleitet (Story 2.1) — deterministische, agent-unabhängige Compiler-Instruktion für die Erzeugung neuer Concepts aus Source Material. > **Normative Grundlage:** `schema/wiki-compiler.md` (autorisiert, Story 1.3) — insbesondere §2 Bundleroot, §3 Feldsubset (§3.1–§3.7), §5 `log.md`-Typdefinition, §6 Index-Regel/Prädikate, §7 abschließende 14-Punkte-Liste, §8 Normreferenzen. -> **Prüfgrundlage:** `schema/validator.md` (abgeleitet, Story 1.4; Revision 6) — die Validierung bleibt die mechanische Bestätigung der Konformität (AD-17h). +> **Prüfgrundlage:** `schema/validator.md` (abgeleitet, Story 1.4; Revision 7) — die Validierung bleibt die mechanische Bestätigung der Konformität (AD-17h). > **Ableitungsdatum:** 2026-08-16 > **Kanonischer Producer-Actor:** `wow-compiler/0.1.0` @@ -20,12 +20,12 @@ Ableitung (Story 2.1): schema/compiler.md (Erzeugungs-Instruktion) Bestätigung (Story 1.4): schema/validator.md (mechanische Prüfung, kein LLM-Urteil) ``` -## 1. Input (what the compiler consumes) +## 1. Input (was der Compiler konsumiert) 1. **Voraussetzung:** Der Run verarbeitet ausschließlich **veröffentlichte (committete) Inhalte** als Input (AD-17a — „Der Compiler darf nur veröffentlichte (committed) Inhalte als Input verwenden"); Zwischenstände während einer Mutation sind nie Input. -2. **Evidenz:** Das Source Material unter `raw/` — jede Datei unter `raw/` ist Evidenz (AD-2/AD-3). Vom Compiler erzeugte Concepts DÜRFEN ausschließlich auf solche `raw/`-Dateien als `sources`-`resource` zeigen. +2. **Evidenz:** Das Source Material unter `raw/` — jede Datei unter `raw/`, die als evidierenfähige Source verarbeitet wird, ist Evidenz (AD-2/AD-3). Vom Compiler erzeugte Concepts DÜRFEN ausschließlich auf solche `raw/`-Dateien als `sources`-`resource` zeigen. 3. **Bestehendes Bundle:** Das aktuelle `wiki/` (Bundleroot `index.md`, `log.md`, bestehende Concepts) ist der zweite Input; der Run beginnt mit dem vorhandenen Bundle und verändert nur, was durch neue Erkenntnisse betroffen ist (AD-5 — niemals „Regenerate Everything"). -4. **Nicht-Evidenz (Artefakt-/Grenzdateien) sind KEIN Input:** `raw/README.md`, jede `raw/**/source.md` (Provenienz-Sidecar), `schema/`, `adapters/` — sie sind keine zu verarbeitende Evidenz und dürfen **nie** als `sources`-`resource` eines Concepts verwendet werden. +4. **Nicht-Evidenz (Artefakt-/Grenzdateien) sind KEIN Input:** `raw/README.md`, jede `raw/**/source.md` (Provenienz-Sidecar), `schema/`, `adapters/` — sie sind keine zu verarbeitende Evidenz und dürfen **nie** als `sources`-`resource` eines Concepts verwendet werden. (Dokumentarische Konvention der Source-Bereitstellung nach `raw/README.md` — eine nicht-mechanische Ausnahme zur Evidenz-Erwartung; zu verarbeitende Evidenz kann auch andere Aufträge als `.md` tragen, z. B. PDF.) ## 2. Interpretieren (Wissenseinheiten erkennen) @@ -96,13 +96,13 @@ Die folgende Tabelle macht jede Erzeugungsregel dieser Instruktion reproduzierba | §4.3 `generated.by` Pflicht (§3.4) | `generated: {by: wow-compiler/0.1.0, at: …}` | `generated: {at: …}` (ohne `by`) → Punkt 7 | | §4.3 `generated.at` volles ISO-8601-Datetime (§3.4, Validator §4.3) | `at: 2026-08-16T09:23:33Z` | `at: 2026-08-16` (reines Datum) → Punkt 14 | | §4.3 `verified` ungesetzt (A0-20) | (kein `verified`) | `verified: {by: human:x, at: …}` → Punkt 6 (unautorisiertes Feld, nur maschinelle Erzeugung A0-20), hier nicht erzeugt | -| §4.4 canonical Key-Reihenfolge (Validator §4.1) | `type` → `sources` → `generated` | Reihenfolge `generated` vor `type` → Normalform-Abweichung (kein FAIL, aber nicht erzeugt) | +| §4.4 canonical Key-Reihenfolge (Validator §4.1) | `type` → `sources` → `generated` | — (kein Validator-FAIL: Reihenfolge ist Output-Normalform, kein §7-Punkt; der Compiler erzeugt sie deterministisch und die Normalform-Abweichung tritt damit nicht auf) | | §4.4 keine Duplikat-Keys (Punkt 13) | jeder Key einmal | zweimal `type:` → Punkt 13 | | §4.4 `sources`-Eintrag-Key-Subset (Vertrag §3.3) | nur `resource`, `id`, `title`, `author`, `usage_count`, `last_modified` | `resource …` + z. B. `role: x` → Punkt 6 (unautorisiertes Feld, Innen-Ebene) | | §4.4 kein `okf_version`/`type: bundle` (Punkt 9) | (nicht vorhanden) | `okf_version: "0.2"` → Punkt 9 | | §5.1 Root-Pfad & Verlinkung (Punkt 11, §6) | `wiki/.md` + Link in `wiki/index.md` | Concept ohne Link in `index.md` → Punkt 11; `wiki//.md` → Bereichs-Hinweis (Story 2.4) | | §5.4 `log.md`-Dokumentation (§5) | datumsgruppierter Eintrag mit Concept-Pfad + Quellen | fehlender Eintrag → kein Validator-FAIL, aber dokumentarische Pflicht verletzt | -| §6.4 Allen-Pfad-Formen-Vermeidung (Punkt 4) | `/`-getrennt, relativ, unter `raw/` | `..`-Traversal, führendes `/`, Backslash (`raw\foo.md`), URL-Form (`https://…`) → Punkt 4 | +| §4.2 Alle-Pfad-Formen-Vermeidung (Punkt 4) | `/`-getrennt, relativ, unter `raw/` | `..`-Traversal, führendes `/`, Backslash (`raw\foo.md`), URL-Form (`https://…`) → Punkt 4 | | §7 Selbstbegrenzung (kein Standalone, D-3) | rein textuelle Instruktion | Code-/Executable-Abschnitt → D-3-Verstoß | Interpretations-Hinweis: Die „✗"-Zeilen zeigen die deterministische Fehlerursache, die der Validator (Story 1.4) für die jeweilige Abweichung ausgibt. Die „✓"-Zeilen sind die Vorgabe, unter der ein neu erzeugtes Concept den Run passieren kann — genau diese Form wurde im Demonstrationslauf (2026-08-16) gegen alle 3 erzeugten Concepts erfüllt. @@ -124,7 +124,7 @@ Diese Instruktion ist auf die **Erzeugung neuer Concepts auf Root-Ebene** begren **Normreferenzen (read-only):** - `schema/wiki-compiler.md` — autorisierter Vertrag (Story 1.3): §2 Bundleroot, §3.1–§3.7 Feldsubset & Formate, §5 `log.md`-Typ, §6 Index-Regel/Prädikate, §7 abschließende 14-Punkte-Liste, §8 Normreferenzen. -- `schema/validator.md` — Prüfgrundlage (Story 1.4, Revision 6): §3 14 Punkte, §4 Normalform (Reihenfolge §4.1, ISO-8601 §4.3), §5 Verdikt, §6 Fachprüfungen (EC-1 Existenz, EC-3 Kalender, EC-11 non-md). +- `schema/validator.md` — Prüfgrundlage (Story 1.4, Revision 7): §3 14 Punkte, §4 Normalform (Reihenfolge §4.1, ISO-8601 §4.3), §5 Verdikt, §6 Fachprüfungen (EC-1 Existenz, EC-3 Kalender, EC-11 non-md). - Architektur-Spine (raw/`architecture-spine`): AD-2/AD-3 (raw immutable), AD-5 (inkrementelle Kompilation), AD-6 (Reason/Mutate-Trennung), AD-7a (Identität = OKF-Pfad ohne `.md`), AD-10 (agent-unabhängige Regeln), AD-11 (keine eigene Runtime), AD-15 (Trust-Metadaten v1), AD-17a (nur veröffentlichte/committete Inhalte als Input), AD-17f (Commit-Boundary = Mutations-Boundary), AD-17h (Determinismus), D-3 (kein Standalone). - PRD (raw/prd): FR-2 (Sources vs. Curated), FR-5 (Concept-Erzeugung), FR-9 (OKF-Konformität), A-4 (nur lokale Sources). - Epics (raw/epics): Story-2.1-Ziel und -Abgrenzung zu Story 2.2–2.5. @@ -134,3 +134,4 @@ Diese Instruktion ist auf die **Erzeugung neuer Concepts auf Root-Ebene** begren - **Revision 1 (2026-08-16):** Erstes abgeleitetes Artefakt — Concept-Erzeugung als deterministische Instruktion: Input-Grenzen (§1), Interpretieren (Wissenseinheiten, kein 1:1/keine Kopie, §2), Reconcile (Kollision-Hold, §3), Synthetisieren (Frontmatter-Normalform, §4), Mutieren (Root-Ebene + Index-Regel + log.md, §5), Validieren (Validator-SUCCESS als Erfolgsbedingung, §6), Selbstbegrenzung (§7). - **Revision 1.1 (2026-08-16):** Nach dem Demonstrationslauf ergänzt — §6.5 Determinismus- & Selbsttest-Norm (drei Nachprüf-Kriterien: §3-Subset-Konformität, `at`-Normalform, `sources`-Existenz; AD-17h-konform) und §6.6 Positiv-/Negativ-Beispiele (Referenztabellen je Erzeugungsregel mit deterministischer Fehlerursache). Revisionslog (§8) nachgeführt; §6-Nummerierung angepasst. - **Revision 1.2 (2026-08-16, Step-04-Review):** Nachschärfungen aus dem Story-2.1-Review — Input-Regel korrekt auf AD-17a statt AD-17.2 referenziert (§1); `sources`-Eintrag-Key-Subset (Innen-Ebene, Vertrag §3.3) in §4.2 und als §6.5-Kriterium-1 / §6.6-Tabellenzeile ergänzt; `status`-Absenz-Formulierung an die Vertrags-Definition (Absenz = `stable`, §3.6) angebunden (§4.4); Klarstellung Bereichs-Ziele bis Story 2.4 (§5.1/§6.6); §6.6-Fehlerursache der `verified`-Zeile auf Punkt 6 korrigiert; §6.6-Referenzlabel von §4.5 auf §4.4 korrigiert; §6.6 um vollständige Punkt-4-Pfad-Verbote ergänzt; AD-17f als Commit-Boundary in §0/§5.3/§6.6 sichtbar gemacht. +- **Revision 1.3 (2026-08-16, bmad-code-review Story 2.1):** Nachschärfungen aus dem Review-Patch-Block — §1-Überschrift ins Deutsche („Input (was der Compiler konsumiert)"); Prüfgrundlagen-Referenz auf `validator.md` Revision 7 angeglichen (§0-Header, §8); §6.6 canonical-Key-Reihenfolge-Zeile von der ✗-Liste auf reine ✓-Vorgabe korrigiert (kein Validator-FAIL, Normalform ohne §7-Punkt) und das irreführende „§6.4"-Label auf §4.2 berichtigt; §1.2 vs. §1.4-Evidenz-Widerspruch aufgelöst (§1.2 präzisiert auf verarbeitbare Evidenz, §1.4 Artefakt-Ausnahme als dokumentarische Konvention der Source-Bereitstellung nach `raw/README.md` gekennzeichnet). diff --git a/wiki/log.md b/wiki/log.md index 247072b..041db11 100644 --- a/wiki/log.md +++ b/wiki/log.md @@ -1,8 +1,11 @@ # Log ## 2026-08-16 +- Review-Nachschärfung (bmad-code-review Story 2.1, Nachzieh-Patches): `schema/compiler.md` auf 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 bleibt `in-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.md` auf 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.md` auf 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. -- Story 2.1 (Demonstrationslauf): drei neue Root-Concepts aus dem Source Material unter `raw/` erzeugt und in `wiki/index.md` verlinkt — `wiki/llm-wiki-prinzip.md` (aus `raw/prd/prd-wow20-2026-08-14.md`), `wiki/knowledge-kompilation-inkrementell.md` (aus `raw/epics/epics-2026-08-14.md`), `wiki/wissensarchitektur-trennung-states.md` (aus `raw/architecture-spine/architecture-spine-2026-08-14.md`). Trust-Metadaten gemäß A0-20: `generated { by: wow-compiler/0.1.0, at: }`, `verified` ungesetzt. `schema/compiler.md` (Revision 1) als deterministische Compiler-Instruktion angelegt. +- neu: `llm-wiki-prinzip` angelegt (sources: raw/prd/prd-wow20-2026-08-14.md) — Root-Concept, Trust-Metadaten A0-20 (`generated { by: wow-compiler/0.1.0, at: }`, `verified` ungesetzt) +- neu: `knowledge-kompilation-inkrementell` angelegt (sources: raw/epics/epics-2026-08-14.md) — Root-Concept, Trust-Metadaten A0-20 +- neu: `wissensarchitektur-trennung-states` angelegt (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.md` auf Revision 3 — `at`-Nur-Datum-Toleranz zurückgenommen. `at: 2027-01-01` ist jetzt FAIL nach Punkt 14 (reine Datumsangabe ≠ ISO-8601-Datetime); Positiv-Fixture 14c neu mit `±HHMM`-Form (`+0200`) belegt. Vertrag `schema/wiki-compiler.md` unverändert (autorisiert). Validator-Zertifizierung zugehörig geprüft: Fixture 14c (Negativ) erzeugt FAIL. - Retrospective-Follow-up (AI-2/F-02): `schema/validator.md` auf 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.md` auf Revision 5 — §3.2-Voraussetzungsprüfungen als fachliche Prüfklasse V-1/V-2 gelabelt (Verdikt `FAIL (Voraussetzung) … (V-1|V-2)` statt `FAIL (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).