# Worked Example — „DemoLinks" (ein URL-Shortener) Eine **befüllte Momentaufnahme** des Betriebsmodells, damit man sieht wie der ausgefüllte Zustand aussieht — nicht nur die Platzhalter. Erfundene, generische Domäne; nichts davon muss man bauen. ## Was hier passiert ist (Story) 1. **Bootstrap:** Leader hat aus dem Brief „kleiner URL-Shortener" das Board ([`ROADMAP.md`](ROADMAP.md)) mit vier Items + Abhängigkeits-DAG erzeugt. 2. **Feature-Loop, Zyklus 1:** Ready-Set war `{F-01}`. Worker (Sonnet) hat die Storage-Schicht gebaut → Review-Gate (Opus) APPROVE → gemerged. Belegt im Session-Log ([`sessions/2026-06-03-S1.md`](sessions/2026-06-03-S1.md)) und als Entscheidung im ADR ([`docs/adr/0002-storage-keyvalue.md`](docs/adr/0002-storage-keyvalue.md)). 3. **Jetzt:** Ready-Set ist `{F-02, F-03}`. Für F-02 (🔌 Port) liegt ein fertiger Session-Prompt bereit ([`session-prompts/F-02.md`](session-prompts/F-02.md)). F-03 (🔬 Research) muss zuerst durch das Spike-Gate. Live-Stand: [`STATE.md`](STATE.md). 4. **Audit-Loop, parallel:** Ein kalter Auditor hat an F-01 ein „untested claim" gefunden ([`audits/2026-06-04-storage.md`](audits/2026-06-04-storage.md)) und eine Korrektur-Task mit Model-Zuweisung eingestellt. ## Worauf man achten sollte - **Board als DAG:** F-04 ist `⏸` weil sein Prereq F-02 noch nicht `✅` ist — der Leader dispatcht es gar nicht erst. F-03 zeigt die `🔬`-Spur (Spike vor Code). - **Port vs. Research:** F-02 hat eine Referenz-Impl (golden oracle) → Worker direkt. F-03 hat keine → Theorist → Spike → GO/NO-GO. - **Ownership-Tabelle** in `STATE.md`: jedes Paket hat disjunkte Pfade (mit Slash) — genau das prüft `scripts/gate-ownership.sh`. - **Spuren-Vollständigkeit:** ROADMAP (Plan) ↔ STATE (Live) ↔ Session-Log (was lief) ↔ ADR (warum) ↔ Audit (was driftet). Ein kalter Agent rekonstruiert daraus alles.