feat: Sources lokal unter raw/ materialisieren (Story 1.2)

- PRD, Architecture-Spine und epics als erste Evidenz-Sources unter raw/
  materialisiert (Per-Quelle-Verzeichnis + source.md Provenienz-Sidecar)
- raw/README um Quellen-Konvention erweitert (Benennung, additive
  Versionierung AD-3, Artefakt-Carve-out, lokale statt URL-Fetches)
- sprint-status.yaml: Story 1.2 auf review gesetzt

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Michael Tamse
2026-08-14 20:08:37 +02:00
co-authored by Claude
parent 4dfe37e77d
commit 2a557c3680
10 changed files with 2255 additions and 2 deletions
@@ -0,0 +1,19 @@
# Deferred Work
Noch nicht adressierte, aber real erkannte Arbeit — gesammelt aus Reviews. Einträge werden append-only ergänzt; bestehende Einträge werden nicht verändert.
- source_spec: `_bmad-output/implementation-artifacts/spec-1-2-sources-lokal-unter-raw-bereitstellen.md`
summary: Checksum-/Fingerprint (SHA-256) der evtl. Git-Revision der Herkunftsquelle in `source.md` aufnehmen, damit die Provenienz reproduzierbar ist.
evidence: Blind-Hunter-Review (Finding 1/2): `source.md`-Provenienz ist ohne Fingerprint der Quelle in einem reinen Clone nicht verifizierbar; AD-3-basiertes „neue, datierte Datei"-Schema braucht einen Maschinen-Lesbaren Stand.
- source_spec: `_bmad-output/implementation-artifacts/spec-1-2-sources-lokal-unter-raw-bereitstellen.md`
summary: Maschinen-lesbares, validierbares Metadaten-Schema (YAML-frontmatter) für `source.md` einführen.
evidence: Blind-Hunter-Review (Finding 13): Dokumentstand ist nur Prosa; ein späterer Ingestion-/Validierungsschritt (Story 1.3/1.4) kann ihn nicht prüfen.
- source_spec: `_bmad-output/implementation-artifacts/spec-1-2-sources-lokal-unter-raw-bereitstellen.md`
summary: Definition für die URL-Rückweisung operationalisieren (Fehlerartefakt/Exit-Code/Log), damit Story 1.2 AC-4 testbar wird.
evidence: Blind-Hunter-Review (Finding 17): „URL wird zurückgewiesen" ist im Source Material nur als Prosa beschrieben; kein testbares Verhalten abgelegt.
- source_spec: `_bmad-output/implementation-artifacts/spec-1-2-sources-lokal-unter-raw-bereitstellen.md`
summary: Asset-Zuordnung (roh-`assets/` vs. `<quelle>/assets/`) in der Konvention festlegen.
evidence: Blind-Hunter-Review (Finding 14): README nennt „einer Quelle zugeordnet oder global"; die aktuellen Sources nutzen nur global `raw/assets/`.
@@ -0,0 +1,80 @@
---
title: 'Sources lokal unter `raw/` bereitstellen (Story 1.2)'
type: 'feature'
created: '2026-08-14'
status: 'done'
route: 'one-shot'
review_loop_iteration: 0
context:
- _bmad-output/implementation-artifacts/epic-1-context.md
---
# Sources lokal unter `raw/` bereitstellen (Story 1.2)
## Intent
**Problem:** Der Workspace besitzt die `raw/`-Grenze, aber noch kein materialisiertes Source Material — ein Compilation Run hätte nichts zu verarbeiten.
**Approach:** Die ersten realen Sources (PRD, Architecture-Spine, epics) lokal unter `raw/` als immutable Evidenz materialisieren und in `raw/README.md` die Quellen-Konvention festhalten (pro-Quelle-Verzeichnis, `source.md`-Provenienz, additive Versionierung, lokale statt URL).
## Suggested Review Order
**Konvention & Grenze**
- Quellen-Konvention, Artefakt- vs. Evidenz-Carve-out, Benennung/Versionierung
[`raw/README.md`](../../raw/README.md#L11)
- Provenienz-Sidecar: einheitliche Metadaten, „keine Evidenz"-Hinweis
[`raw/prd/source.md`](../../raw/prd/source.md#L1)
[`raw/architecture-spine/source.md`](../../raw/architecture-spine/source.md#L1)
[`raw/epics/source.md`](../../raw/epics/source.md#L1)
**Materialisierte Evidenz (byte-identische Kopien der Planungs-Artefakte)**
- [`raw/prd/prd-wow20-2026-08-14.md`](../../raw/prd/prd-wow20-2026-08-14.md#L1)
- [`raw/architecture-spine/architecture-spine-2026-08-14.md`](../../raw/architecture-spine/architecture-spine-2026-08-14.md#L1)
- [`raw/epics/epics-2026-08-14.md`](../../raw/epics/epics-2026-08-14.md#L1)
**Status**
- Story-Status & `last_updated`
[`sprint-status.yaml`](../../_bmad-output/implementation-artifacts/sprint-status.yaml#L31)
## Tasks & Acceptance
**Execution:**
- [x] `raw/prd/`, `raw/architecture-spine/`, `raw/epics/` — erste reale Sources als Per-Quelle-Verzeichnisse anlegen — stellt dem Compiler Evidenz bereit (FR-1, AD-12)
- [x] `raw/<quelle>/source.md` — Provenienz-Sidecar je Quelle (Herkunft, Kopierdatum, Kurzbeschreibung) — Tracebarkeit & AD-3-Versionierung
- [x] `raw/README.md` — Quellen-Konvention dokumentieren — kanonischer Ort der Konvention; Benennung, additive Versionierung, Artefakt-Carve-out, lokale statt URL
**Acceptance Criteria:**
- Given ein initialisierter Workspace, When Sources unter `raw/` materialisiert sind, Then werden sie als immutable Evidenz erkannt und nicht automatisch nach `wiki/` kopiert (FR-2, AD-3)
- Given mehrere Quellen (1..n), When bereitgestellt, Then sind sie als Eingabe für einen Run lokalisierbar (FR-1)
- Given eine bereits verarbeitete Source, When erneut verarbeitet, Then bleibt die Originaldatei unter `raw/` unverändert; neue Versionen sind neue, datierte Dateien (AD-3)
- Given der manuelle Import (v1), When eine URL statt lokalen Materials angegeben wird, Then wird dies gemäß Konvention als nicht unterstützt zurückgewiesen (A-4)
## Spec Change Log
<!-- Append-only. Populated by step-04 during review loops. Empty until the first bad_spec loopback. -->
## Design Notes
Konvention (aus Blind-Hunter-Review um Artefakt-Carve-out, kebab-case und additive Versionierung geschärft):
```text
raw/<quelle>/
<quelle-kebab-case>-<jjjj-mm-tt>.md # Evidenz (AD-3, immutable)
source.md # Artefakt (keine Evidenz): Herkunft, Kopierdatum, Kurzbeschreibung
```
`source.md` ist als Artefakt kein Evidenz-Bestandteil — dieselbe Grenz-Logik wie `raw/README.md`. Herkunftspfade unter `_bmad-output/` sind generierte Planungs-Artefakte (nicht versioniert); Checksummen-/Fingerprint und maschinenlesbares Source-Metadaten-Schema sind als Deferred Work erfasst (Story 1.3/1.4 bzw. Provenienz).
## Verification
**Commands:**
- `git status --short && git diff --stat` — expected: 3 neue Quellen-Verzeichnisse + `source.md` je Quelle + `raw/README.md`-Erweiterung + `sprint-status.yaml`-Wired-Up (Story 1.2 in-progress, epic-1 in-progress)
- Copy-Verifikation: `git diff --no-index --stat <kanonisch> <raw-Kopie>` — expected: ply 0/keine Differenz (byte-identische Kopien)
**Manual checks (if no CLI):**
- `raw/README.md` Quellen-Konvention stimmt mit dem tatsächlichen `raw/`-Baum überein (Verzeichnisse `prd/`, `epics/`, `architecture-spine/`, `assets/`)
- Alle `source.md` referenzieren die tatsächlich vorhandene Evidenz-Datei im selben Verzeichnis
@@ -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-14-2026 19:55
last_updated: 08-14-2026 20:08
project: wow20
project_key: NOKEY
tracking_system: file-system
@@ -37,7 +37,7 @@ story_location: D:/mita/wow-2nd/_bmad-output/implementation-artifacts
development_status:
epic-1: in-progress
1-1-kanonischen-workspace-stamm-erstellen: done
1-2-sources-lokal-unter-raw-bereitstellen: backlog
1-2-sources-lokal-unter-raw-bereitstellen: review
1-3-okf-schema-vertrag-schema-wiki-compiler-md-autorisieren: backlog
1-4-schema-validierung-für-bundle-implementieren: backlog
epic-1-retrospective: optional