Files
wow20/_bmad-output/implementation-artifacts/spec-3-1-inkrementellen-datenfluss-implementieren-interpret-reconcile-synthesize-update.md
T
Michael TamseandClaude efc543c9e1 feat: Story 3.1 Inkrementellen Datenfluss implementieren (Interpret→Reconcile→Synthesize→Update) — compiler.md Revision 2.4/2.4.1, Update-Routing + §5.9, Diff-Selbsttest, Review-Patch-Runde; Review-Handoff auf story-3-1
- schema/compiler.md: §3 Pkt. 2 Update-Routing (statt Kollision-Hold) + textuell-deterministische Kandidatenliste (AD-13); §5.9 Update-Mutationsmechanik (Erweitern/Präzisieren/Korrigieren, sources nur echte Belege, generated.at-Konvention, log.md-Eintragspflicht Story-3.1-Update, Mehrfach-Treffer-Konsolidierung); Erhaltungs-Invariante + deterministischer Diff-Selbsttest (git diff --name-only -- wiki/ ⊆ Kandidatenliste∪log.md∪Index, Ghost-Diff-Rück-Rollen); Run-Vorphase-Bausteine (Defer R-1 Change-Detection + P2 Pre-Run-Reconcile; Baseline = HEAD der vorherigen Mutations-Boundary); §0-Aufruf Update-Variante; §5.7/§5.8-Referenzen nachgeführt; §7 Update entlassen; §8 Prüfgrundlage Revision 9 (Punkt-11-Area-Lesart, Rev-9-Lücke geschlossen) + Revisionslog 2.4/2.4.1 (Step-04-Review-Patch-Runde, AD-3/D-3 gehalten, Worked Example real)
- wiki/log.md: Story-3.1-Nachweis (Diff-Selbsttest wiki/log.md, per-Datei-Verdikt, Rev-9-Präzisierung, Sprint in-progress→review)
- deferred-work.md: R-1/P2 aufgegriffen (2026-08-18 §5.9); Review-Findings-Protokoll bzw. F17-Defer (git-lose Ausweichform ab Story 3.2)
- sprint-status.yaml: Story 3.1 → in-progress → review (Sprint-Sync), last_updated 22:30
- neu: epic-3-context.md, spec-3-1-… (status done, Suggested Review Order)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-19 05:22:30 +02:00

21 KiB
Raw Blame History

title, type, created, status, review_loop_iteration, baseline_commit, context
title type created status review_loop_iteration baseline_commit context
Inkrementellen Datenfluss implementieren (Interpret → Reconcile → Synthesize → Update) (Story 3.1) feature 2026-08-18 done 0 802a5576eb
_bmad-output/implementation-artifacts/epic-3-context.md

Intent

Problem: Die Compiler-Instruktion (schema/compiler.md) kennt heute nur den Neu-Anlage-Pfad (Erzeugung neuer Concepts). Die Erweiterung/Präzisierung/Korrektur bestehender Concepts wird an zwei Stellen explizit als Epic-3-Vorbehalt ausgeschlossen (compiler.md:40 §3.2-Kollision-Hold „Aktualisierung ist Epic 3"; compiler.md:287 §7), und der §0-Aufruf (compiler.md:13) beschreibt die Phasenfolge Interpret → Reconcile → Synthetisieren → Mutieren → Validieren nur als Erzeugungs-Ablauf. Damit ist der zweite Compilation Run gegen bestehendes Wissen (FR-4) instruktionsseitig nicht definiert: Es gibt keinen deterministischen Pfad, wie ein Run neue Evidenz mit den tatsächlich betroffenen Concepts verrechnet, ohne unverändertes Wissen zu regenerieren (AD-5, A0-6, FR-6, FR-12).

Approach: Story 3.1 verankert den inkrementellen Datenfluss als Erweiterungs-Instruktion in schema/compiler.md (D-3, rein textuell — kein Code, kein Standalone): (a) das bestehende Reconcile (§3) wird vom bloßen Dateikollisions-Hold zum Update-Routing (erkannte bestehende Wissenseinheit → Update-Kandidat, kein Duplikat, kein stilles Überschreiben); (b) eine neue Update-Mutations-Sektion (§5.9) spezifiziert, wie ein bestehendes Concept erweitert/präzisiert/korrigiert wird (FR-6) und wie Inline-Provenienz (§5.5) und sources nachgeführt werden; (c) die Erhaltungs-Invariante wird verankert: nicht betroffene Concept-Pfade bleiben bit-identisch unverändert (FT-6, FR-12), Git-Änderungen konzentrieren sich auf betroffene Concepts — nachweisbar über einen deterministischen Diff-Selbsttest; (d) die Defer-BausteineR-1 (Input-Zuwachserkennung: welche raw/-Dateien sind neu/modifiziert — via git diff und/oder SHA-256-Record aus source.md) und P2 (Pre-Run-Reconcile-Check-Block als wiederverwendbarer, textueller Vorprüf-Block) werden als Teil des inkrementellen Runs eingearbeitet. Vertrag (schema/wiki-compiler.md), Validator (schema/validator.md) und raw/ bleiben read-only (AD-3); keine neue §7-Invaliditätsklasse.

Boundaries & Constraints

Always:

  • Story 3.1 ist eine Instruktions-Story (D-3). Der inkrementelle Datenfluss wird ausschließlich in schema/compiler.md als deterministische Text-Instruktion verankert. Kein ausführbares Programm, kein Standalone-Validierungs-Tool, keine neue §7-Invaliditätsklasse, kein Change an schema/wiki-compiler.md / schema/validator.md / raw/ (AD-3).
  • Das Update ersetzt den Abbruch, nicht die Erhaltung. Wo heute der Kollisions-Hold bei „Concept existiert bereits" den Run für die Einheit abbricht, tritt das Update-Routing: eine erkannte bestehende Wissenseinheit wird im bestehenden Concept-Pfad aktualisiert (keine neue Datei, kein Duplikat — FR-6). Beibehaltende und neue belegte Aussagen werden sauber geführt. Kein stummer Überschreib (bestehende Provenienz/Inhalte werden nie ohne Beleg entfernt — AD-16-Default behält die Erhaltung; die AD-16-Klassifikation selbst ist Epic 4, Story 4.1, und wird hier nicht vorweggenommen).
  • Erhaltungs-Invariante (Kern): Ein Compilation Run darf nur die Concepts neu anlegen oder verändern, die durch den erkannten neuen Erkenntnis-Zuwachs tatsächlich betroffen sind. Nicht betroffene Concept-Pfade bleiben byte-identisch unverändert (FT-6, FR-12); es gibt nie „Regenerate Everything" aus allen Rohquellen (AD-5, A0-6). Nachweisbar über einen re-executierbaren Diff-Selbsttest (git diff --stat auf wiki/ zeigt ausschließlich betroffene Dateien + log.md + Index-Nachführungen).
  • published/committed als Input (AD-17.2/AD-17a): Der Run verarbeitet ausschließlich veröffentlichte (committete) Inhalte als Input — neues Source Material, sobald es unter raw/ committet ist, und das bestehende wiki/ aus committetem Zustand. Zwischenstände während einer Mutation sind nie Input (§1.1 bleibt bestehende Regel, wird referenziert).
  • Reconcile-Ergebnis ist die Update-Kandidatenliste. Der Reconcile-Schritt erzwingt, dass der Producer die Menge der betroffenen Concepts als nachvollziehbare Kandidatenliste (Concept-Pfade) erhebt, bevor mutiert wird. Der feinkörnige Relevanz-Findungsmechanismus (grep/ripgrep/Markdown-Traversal/Link-Following als eigene Ausformulierung) ist Story 3.2 vorbehalten; Story 3.1 bindet die Kandidatenerhebung an textuelle, deterministische Mittel (Konzept-/Term-Überschneidung zwischen neuer Evidenz und bestehenden Concept-Bodies via grep/ripgrep, index.md-Traversal, Link-Following) — keine Embeddings/Vector (AD-13).
  • Kein Leasing-/Dirty-Tree-Scope in 3.1. Leasing, Dirty-Tree-Schutz, Staleness, Merge-vermittelte Kollision sind Story 3.5/3.6. Story 3.1 behält die bestehende Commit-Boundary = Mutations-Boundary-Regel (AD-17f, compiler.md:13/:63) bei und ändert sie nicht.
  • Defer-Bausteine werden mitgezogen: deferred-work R-1 (Input-Zuwachserkennung via git diff + SHA-256-Record aus source.md) und P2 (Pre-Run-Reconcile-Check-Block bündeln) werden als Teil der inkrementellen Run-Instruktion eingearbeitet und in deferred-work.md als aufgegriffen markiert (append-only, keine Duplikate).
  • sprint-status.yaml: Key 3-1-inkrementellen-datenfluss-implementieren-interpret-reconcilein-progress.

Ask First: AD-7d-Renames/Redirects bestehender Concepts · Einführung einer echten Kollisions-Klassifikation (CORRECTING/CONTRADICTING etc.) vor Epic 4 · Wechsel des generated.at-Verhaltens bei Updates gegenüber der hier festgelegten Konvention (s. Design Notes) · Validator-/Vertrags-/raw/-Change · Änderung der Commit-Boundary-Regel.

Never: Änderungen an schema/wiki-compiler.md/schema/validator.md/raw/ (AD-3) · neue §7-Invaliditätsklasse · Einführung eines Standalone-Programms/Validators (D-3) · „Regenerate Everything" über bestehende Concepts (AD-5, A0-6) · stummer Überschreib oder Löschung bestehender Provenienz ohne Beleg (AD-16-Default: Erhaltung) · Embedding/Vector-Suche (AD-13) · Duplikat-Anlage eines bestehenden Concept-Pfads.

I/O & Edge-Case Matrix

Scenario Input / State Expected Output / Behavior Error Handling
HAPPY_PATH_UPDATE Bestehendes Concept wiki/<a>/<c>.md + neue committete Evidenz raw/… betrifft es (Term-/Konzept-Überschneidung) Update-Routing: Concept wird im bestehenden Pfad erweitert/präzisiert (§5.9); Inline-Provenienz + sources nachgeführt (nur echt neue Belege ergänzt); log.md-Eintrag (Vertrag §5-Format) mit Story 3.1; kein neues File, kein Duplikat N/A
UNTOUCHED_CONCEPT Neue Evidenz betrifft ein bestehendes Concept nicht (keine Überschneidung) Concept bleibt unverändert: keine Dateiänderung, kein Index-, kein log.md-Zusatz (FT-6/FR-12); Diff-Selbsttest zeigt keinen Ghost-Diff auf diesem Pfad N/A
INPUT_UNCOMMITTED Run erhält uncommittete Zwischenstände (Arbeitskopie wiki//raw/ abweichend von HEAD) als Input Run lehnt ab bzw. bezieht nur published/committed Zustand ein (AD-17a); keine Mutation gegen Zwischenstände textuell benannter Abbruch „published/committed Input erforderlich" (§1.1-Fortsetzung)
CHANGE_DETECTION (R-1) raw/ enthält (a) eine neue, (b) eine unveränderte Evidenzdatei Zuwachserkennung: nur die neue/modifizierte Datei wird als Zuwachs interpretiert (git-diff-basiert und/oder SHA-256-Record aus source.md); unveränderte bleiben außen vor unlesbarer/fehlender SHA-256-Record → Hinweis, Datei dennoch als Zuwachs nicht doppelt verarbeiten
CONCEPT_COLLISION_BESTEHEND Erkannte Wissenseinheit = bereits existierendes Concept (Ziel-Pfad belegt) Statt bisherigem Kollision-Hold-Abbruch: Update-Routing (§5.9) — Mutation im bestehenden Pfad; kein Duplikat, kein stummer Überschreib; Index-Link bleibt unverändert gültig Widersprechender Inhalt ohne Ersetzungsevidenz → Erhaltung; explizite Ablage in log.md (Epic-4-Interface, keine Korrektur-Klassifikation hier)
PRE_RUN_RECONCILE (P2) Run-Start mit neuem Zuwachs Pre-Run-Reconcile-Check-Block (Zielpfade, Quellen-Existenz EC-1, Betroffenheits-Kandidatenliste, wiki/index.md-V-1) wird vor jeder Mutation durchlaufen und textuell festgehalten fehlende Bundleroot → Run-FAIL (V-1, besteht fort)

Code Map

  • schema/compiler.mdprimär mutiert (D-3, einziger Instruktions-Ort):
    • §0-Aufruf (:13): Ablaufstruktur um die Update-Variante präzisieren — die sechs Phasen bleiben; Reconcile/Mutieren betreffen auch bestehende Concepts.
    • §3 Reconcile (:3741): Pkt. 2 Kollision-Hold (:40) — Epic-3-Abbruch („Aktualisierung ist Epic 3") ersetzen durch Update-Routing (→ §5.9); Candidate-Erhebung (betroffene Concepts) textuell-deterministisch; Pkt. 3 V-1-Prüfung (:41) bleibt.
    • Neue §5.9 „Inkrementelles Update bestehender Concepts (Story 3.1)" nach §5.8 (nach :233, vor §6 :234): (1) Update-Stimulus = Reconcile-Kandidatenliste (betroffene Concept-Pfade); (2) Mutationsmechanik — Erweitern (Absatz/Beleg ergänzen), Präzisieren (Aussage schärfen, Beleg neu/nachführen), Korrigieren (ersetzte Aussage + Ersetzungsbeleg, keine stille Löschung), Frontmatter-sources nur um echte neue Belege ergänzen, generated.at = aktueller Run-Zeitstempel (Konvention, s. Design Notes), vorhandenes verified bleibt stehen; (3) Index-/Link-Form unverändert (§5.6-Pin), kein neuer Link bei reinem Body-Update; (4) log.md-Eintragspflicht (Vertrag §5; „Story 3.1-Update" markieren); (5) deterministischer Diff-Selbsttest der Erhaltungs-Invariante (nur betroffene Dateien + log.md + Index im git diff --stat auf wiki/); (6) Change-Detection (Defer R-1: git diff auf raw/ und/oder SHA-256-Record aus raw/**/source.md bestimmt den Zuwachs) und Pre-Run-Reconcile-Check-Block (Defer P2) als wiederverwendbare textuelle Check-Blöcke der Run-Vorphase.
    • §7 (:287): Epic-3-Vorbehalt auf die verbleibenden 3.x-Themen kürzen (Synthese über mehrere Concepts → 3.4; Leasing/Dirty-Tree → 3.5/3.6; Relevanz-Verfeinerung → 3.2) — das Update-Thema ist damit aus dem Vorbehalt entlassen.
    • §8 Revisionslog (:291317): Revision 2.4 (Story 3.1) + Normreferenzen unverändert (AD-5, AD-6, AD-17h sind schon gelistet; A0-6/FR-6/FR-12 ggf. ergänzen); Abschlussklausel (kein Vertrag-/Validator-/raw/-Change, keine neue §7-Klasse, kein Standalone).
  • wiki/log.mdappend: Story-3.1-Eintrag (Vertrag §5-Format, ## YYYY-MM-DD Gruppe nach :3) mit Update-Semantik, Erhaltungs-Invariante, Diff-Selbsttest-Beleg (Ist-Baum: kein Ghost-Diff), Statuswechsel 3-1-… backlog → in-progress, per-Datei-Validator-Verdikt-Zeile (Ist-Baum SUCCESS) — Analogie Story-2.5-Eintrag (log.md:5).
  • _bmad-output/implementation-artifacts/deferred-work.mdmutiert (append-only): Defer R-1 (:126128) und P2 (:160162): status-Nachführungs-Notiz „aufgegriffen (2026-08-18, Story 3.1 — §5.9)" — bestehende Einträge nicht verändern, nur Status-Ergänzung im vorgegebenen append-only-Stil.
  • _bmad-output/implementation-artifacts/sprint-status.yamlmutiert: Key 3-1-inkrementellen-datenfluss-implementieren-interpret-reconcile (:54) → in-progress.
  • schema/validator.md, schema/wiki-compiler.md, raw/…, bestehende Concept-Inhalte — read-only (AD-3). Story 3.1 mutiert selbst keine Concept-Inhalte (Instruktions-Story); Demo-/Nachweis-Läufe laufen im Sandbox-Baum oder gegen den Ist-Baum ohne Inhalts-Mutation (Diff-Selbsttest + Validator-Verdikt).

Tasks & Acceptance

Execution:

  • schema/compiler.md — §3-Pkt.-2-Hold → Update-Routing; Candidate-Erhebung; neue §5.9 (Mutationsmechanik, log.md, Diff-Selbsttest, R-1-Change-Detection, P2-Check-Block); §0-Präzisierung; §7-Vorbehalt kürzen; §8-Revision 2.4. Kein Vertrag-/Validator-/raw/-Change.
  • wiki/log.md — Story-3.1-Eintrag (Vertrag §5-Format) mit Update-Semantik, Erhaltungs-Invariante + Diff-Selbsttest-Beleg, Statuswechsel, Validator-Verdikt.
  • deferred-work.md — R-1-/P2-Einträge mit „aufgegriffen (Story 3.1)"-Statusnachführung markieren (append-only); sprint-status.yaml — Key 3-1-…in-progress.
  • Edge-Tests im Sandbox-Baum (I/O-Matrix): HAPPY_PATH_UPDATE, UNTOUCHED_CONCEPT (kein Diff), CONCEPT_COLLISION_BESTEHEND (kein Duplikat), CHANGE_DETECTION (nur Zuwachs), PRE_RUN_RECONCILE.

Acceptance Criteria:

  • Given ein bestehendes Bundle und neues Source Material, when ein Compilation Run startet, then folgt er dem inkrementellen Datenfluss Interpret → Reconcile → Synthesize → Update affected Concepts (AD-5, A0-6) — instruktionsseitig in schema/compiler.md (§3 + neue §5.9) verankert.
  • Given ein Run, when er einen bestehenden Concept-Pfad nicht betrifft, then bleibt dessen Inhalt unverändert erhalten — keine Regeneration (FT-6, FR-12); belegt durch den re-executierbaren Diff-Selbsttest (nur betroffene Dateien + log.md + Index im git diff --stat).
  • Given ein Lauf, when er abgeschlossen ist, then konzentrieren sich die Git-Änderungen auf durch die neue Erkenntnis betroffene Concepts (AD-5, FR-6) — kein Ghost-Diff, kein Duplikat bestehender Concept-Pfade.
  • Given der Run-Input, when verarbeitet, then verwendet er ausschließlich published/committed Inhalte und nie Zwischenstände während der Mutation (AD-17.2/AD-17a) — bestehende §1.1-Regel bleibt und wird referenziert.
  • Given die Instruktion, when geprüft, then bleibt schema/validator.md/schema/wiki-compiler.md/raw/ unverändert (AD-3), es gibt keine neue §7-Klasse und kein Standalone (D-3) — der Validator läuft auf dem Ist-Bundle SUCCESS (per-Datei-Verdikt-Nachweis in wiki/log.md).

Spec Change Log

  • 2026-08-18 (Erstellung): Initiale Approve-Baseline.

Design Notes

Warum §5.9 als eigene Sektion statt Umbau von §5: Die 5.x-Sektionen sind die nachgelagerten Spezifikations-Ebenen der Mutationsphase (§5.5 Claim-Provenienz, §5.6 Links, §5.7 Bereichszuordnung, §5.8 Discovery). Das inkrementelle Update ist die nächste Spezifikations-Ebene desselben §5 (Mutieren) — konsistent als §5.9, verortet nach §5.8 vor §6. Der bestehende §3-Reconcile wird nicht umgeschrieben, sondern seine Pkt.-2-Ausnahme („Aktualisierung ist Epic 3") durch das Update-Routing ersetzt — der Kollisions-Hold-Teil („nicht stumm überschreiben") bleibt als Schutzprinzip erhalten und wird lediglich um den Update-Ausweg ergänzt.

Erhaltungs-Invariante als Diff-Selbsttest: Die Inkrementalität ist nur dann AD-17h-fest belegbar, wenn sie mechanisch kontrollierbar ist. Konvention: Nach jedem Run prüft der Producer über git diff --stat -- wiki/ (bzw. git status --porcelain), dass die geänderten Dateien ⊆ (betroffene Concepts log.md nachgeführte index.md) sind. Eine Abweichung (Ghost-Diff) ist ein Instruktions-Verstoß (FT-6) und wird textuell benannt. Für Story 3.1 selbst (Instruktions-Story ohne Inhalts-Mutation) ist der Nachweis: Ist-Baum zeigt keinen neuen Ghost-Diff nach dem Instruktions-Ergänzungs-Commit.

generated.at-Konvention bei Updates (A0-20): Ein maschinelles Update eines maschinell erzeugten Concepts bleibt maschinell → generated bleibt gesetzt, at wird auf den aktuellen Run-Zeitstempel aktualisiert (einmalige at-Festlegung pro Run, Dryrun-P1-Konvention). verified wird durch ein maschinelles Update nicht gesetzt und ein vorhandenes human-verified wird nicht entfernt (menschliche Kuratierung ist Bestandswissen, A0-21/FR-13-Nähe). Ein menschliches Update ändert generated/verified nicht automatisch.

Defer-Bausteine inside der Run-Vorphase: Defer R-1 (Change-Detection) beantwortet „welche raw/-Dateien sind Zuwachs" — als textueller Check-Block vor der Interpretation (git-diff-basiert und/oder SHA-256-Record aus source.md); Defer P2 bündelt die bestehenden textuellen Vorprüfungen (Zielpfad, Quellen-Existenz EC-1 via Validator-Punkt, Reconcile-Kandidaten-Erhebung, V-1) zu einem wiederverwendbaren Pre-Run-Reconcile-Check-Block. Beide sind keine neuen Prozesse — nur reproduzierbare Check-Blöcke innerhalb der Instruktions-Ausführung (D-3).

Verification

Commands (re-executierbar, ab Workspace-Root):

  1. Instruktions-Integrität: grep -n "5.9" schema/compiler.md liefert die neue Sektion; grep -n "Aktualisierung ist Epic 3" schema/compiler.md liefert keinen Treffer mehr (Hold durch Update-Routing ersetzt); §7-Vorbehalt enthält „Update" nicht mehr.
  2. Diff-Selbsttest (Erhaltungs-Invariante): vor dem Story-Commit den Ist-Baum-Status aufzeichnen, nach dem Commit git diff --stat -- wiki/ prüfen — erwartet: nur die von Story 3.1 berührten Dateien (log.md, ggf. index.md) bzw. nach dem Instruktions-Commit der Story selbst kein weiterer Ghost-Diff; auf dem Sandbox-Baum: HAPPY_PATH_UPDATE zeigt ausschließlich betroffene Datei + log.md + Index.
  3. Validator-Lauf: alle wiki/-Dateien SUCCESS (unverändert zur Story 2.5; der Validator ist eine reine Text-Instruktion, human-mechanisch ausgeführt, D-3 — es gibt keinen CLI-Invoker); das per-Datei-Verdikt wird als Ausführungs-Nachweis im log.md-Eintrag geführt.

Manual checks:

  • §3-Pkt.-2-Hold ersetzt (Update-Routing) und §5.9 vorhanden (Update-Semantik, Diff-Selbsttest, R-1/P2-Bausteine); compiler.md §8-Revision 2.4 mit Abschlussklausel; kein schema/validator.md-/schema/wiki-compiler.md-/raw/-Diff; §7-Vorbehalt gekürzt; wiki/log.md-Eintrag datiert mit Story-3.1-Semantik, Diff-Selbsttest-Beleg, Statuswechsel backlog → in-progress, per-Datei-Verdikt; deferred-work.md-R-1-/P2-Einträge als aufgegriffen markiert (append-only); sprint-status.yaml konsistent (3-1-… → in-progress).

Suggested Review Order

Inkrementeller Datenfluss — Update-Routing (Einstieg)

  • §3 Reconcile: Kollision-Hold durch Update-Routing ersetzt — der architektonische Kern der Story compiler.md:40

  • Textuell-deterministische Kandidatenliste (AD-13) als Update-Stimulus compiler.md:41

  • §0-Aufruf: sechs Phasen für Neu-Anlage- und Update-Variante präzisiert compiler.md:13

§5.9 Update-Mutationsmechanik (neue Sektion)

  • §5.9-Überblick: einziger Instruktions-Ort der Update-Mutationsmechanik (D-3) compiler.md:236

  • Update-Stimulus: Kandidatenliste, published/committed-Input (§1 Pkt. 1, AD-17a) compiler.md:240

  • Mutationsmechanik: Erweitern/Präzisieren/Korrigieren + Mehrfach-Treffer-Konsolidierung compiler.md:242

  • Index-/Link-Form unverändert (§5.6-Pin); log.md-Eintragspflicht bleibt davon unberührt compiler.md:249

  • Worked Example an den realen Ist-Baum gebunden (FR-12, kein Ghost-Diff) compiler.md:259

Erhaltungs-Invariante & Diff-Selbsttest (Review-Patch-Kern)

  • Diff-Selbsttest operationalisiert: git diff --name-only -- wiki/ ⊆ Kandidatenliste log.md Index compiler.md:251

  • Run-Vorphase-Bausteine: Change-Detection (R-1, Baseline = HEAD der vorherigen Mutations-Boundary) + Pre-Run-Reconcile-Check-Block (P2) compiler.md:255

  • Revisionslog 2.4.1: Review-Patch-Runde mit Abschlussklausel (AD-3/D-3 gehalten) compiler.md:348

Referenz-Abgrenzung §5.7/§5.8

  • §5.7 Pkt. 3: Top-Level-Kollision → Update-Routing, kein MOVE compiler.md:199

  • §5.8 Pkt. 2: Rev-9-Punkt-11-Area-Lesart als geschlossene Lücke dokumentiert compiler.md:231

  • §5.8 Pkt. 3: §5.8-Hold bewusst nicht das Update-Routing (Zwei-Ebenen-Kartografie) compiler.md:232

Nachweise (Log, Deferred-Work, Sprint-Status)

  • wiki/log.md: Story-3.1-Nachweis mit Diff-Selbsttest-Beleg und Rev-9-Präzisierung log.md:4

  • deferred-work.md: R-1 (Change-Detection) und P2 (Pre-Run-Reconcile) als aufgegriffen markiert deferred-work.md:129

  • Review-Findings-Protokoll (VG-Nachweis, F9/F12, F17-Defer als Folge-Aufgabe) deferred-work.md:164

  • sprint-status.yaml: Story 3.1 in-progress (Sprint-Sync konsistent) sprint-status.yaml:54