# SPEC-D — `dispute_procedure` ## Steuerungsmethode — Spec-Tiefe D v0.1 **Status:** vorläufig freigegeben (PO 2026-07-26) — mit zugehöriger Archetyp-Vollspec; Implementierungsausreichendheit noch offen **Stand:** 2026-07-26 **Default für:** C1 `initiative.dispute_case` **OM-Struktur:** `SPEC_C1_dispute_case_v0.1.md` §4 **Nicht:** Workflow-Engine-Runtime · künstliche Parallel-/Dep-Limits · keine Rechts-Fachlogik --- ## D1 Identität | Feld | Wert | |------|------| | `method_key` | `dispute_procedure` | | Rolle | primary (**Ausführung** — Kernel §6) | | Label (DE) | Verfahrenssteuerung | | Zweck | Event→Reaktionsstrang steuern (reaktiv dominant): parallele/abhängige Schritte, Dritt-Actors, Fristen; optional **vorbereitete** Stränge aktivieren; Waiting ≠ Fall-Freeze. Closure am Fallende. | --- ## D2 Geltung | Feld | Wert | |------|------| | Default | C1 `initiative.dispute_case` | | kompatibel als Primary | nur C1 | | Komposition | — | | Dominanz | `event` | | nicht | Care; A3-Cadence-Kern; offene Workflow-Engine | --- ## D3 Horizon | Horizont | Bedeutung | |----------|-----------| | Aktive `procedure_phase` | Phasen-Fokus | | Aktive Reaktionsstränge | steuerungsrelevante Arbeitscluster (`active`) | | Vorbereitete Stränge | Plan-Nebenblick (`prepared`) — nicht Next | | Nächste Frist(en) | Schritt-, Strang- oder Phasen-Deadline | --- ## D4 Leading Work Item Polymorph: | Typ | Wann | |-----|------| | `Action` (ready) | Deps erfüllt, nicht im Waiting, nicht blocked | | `Decision` | offene Entscheidungspflicht | | Strang-/Schritt-Frist | fällige/überfällige Deadline-Arbeit | Primary-Next = Top-Rank eines ready Items. **Weitere parallele Ready-Items** sind Nebenkandidaten (sichtbar), kein Singleton-Zwang der Ready-Menge. Waiting-Schritt ist **nicht** Leading, erzeugt Attention; parallele Ready-Geschwister bleiben Leading-fähig. --- ## D5 Lifecycle-Pfad | Schritt | Status | Bedeutung | |---------|--------|-----------| | intake | active | Fall, Parteien/Actors (inkl. Dritte) | | method_bind | active | `dispute_procedure` | | structure_setup | active | Phasen; Event-Eingang; Strang-Editor (prepared/active) | | planning | light | vorbereiten & nachziehen — **kein** Vollplanungszwang; Dominanz bleibt event/reaktiv | | next_work | active | Ready nur aus `active`-Strängen (D6) | | assignment | active | Actor je Schritt (Selbst, Anwalt, …) | | waiting | **central** | am Schritt/Strang — Fall bleibt steuerbar | | result / event | **central** | Actor-Done + externe Events | | validation | active | Phasen-/Strang-Kriterien | | review | active | Decisions | | adaptation | active | Strang erweitern, Deps/Fristen ändern nach Event | | closure | **active** | Fallende | --- ## D6 Next Action — konkrete Regeln ### Ready Action/Decision ist ready wenn: 1. Strang-Status = **`active`** (nicht `prepared`), und 2. Status offen, und 3. alle `requires`-Vorgänger erfüllt, und 4. **nicht** im Waiting-Zustand, und 5. nicht durch Blocker gesperrt Parallel: fehlende Dep ⇒ gleichzeitig ready — **ohne Obergrenze** für parallele Schritte oder parallele `active`-Stränge. Deps: gerichteter azyklischer Graph, **ohne** Maximaltiefe/-kanten-Cap; Zyklen = Validierungsfehler. `prepared`: nicht ready. Strang-übergreifende `requires` erlaubt. ### Ranking 1. überfällige Schritt-/Strang-/Phasen-Frist 2. heute fällige Frist / Fenster-Druck 3. offene Pflicht-Decision 4. ready Schritte (Owner Selbst vor optionaler Anzeige Dritter — oder nach `due`/`sort_order`) 5. reine Waiting-Hinweise → Attention, nicht Fake-Next **reason_codes:** `dispute_deadline_overdue`, `dispute_deadline`, `dispute_decision_open`, `dispute_phase_step`, `dispute_parallel_ready`, `dispute_waiting_event` **Leerer Fall:** nur Waiting, keine parallele Ready-Arbeit → Next leer + Attention `dispute_waiting` (kein A2-Planning-Debt). **Anti:** Waiting friert Fall; `prepared` als Ready; Todo-Wand; Engine-Runtime; Pflicht-Vollplanung; künstliche Caps auf Parallelität/Deps. ### Event / Result → Strang (Steuerregel) 1. **Neu reaktiv:** Event/manuell → Strang `active` mit 1..n Schritten. 2. **Aktivierung:** Event, Actor-Result, Decision-Outcome oder manuell → passenden Strang `prepared` → `active` (Aktivierungsregel am Strang oder Auswahl-UI). 3. **Erweitern:** Adaptation fügt Schritte an `active`-Strang an; kein Duplikat-Chaos. 4. **Weiche:** ein Outcome aktiviert genau einen (oder bewusst mehrere) vorbereitete Stränge — deklarativ, keine offene Engine. --- ## D7 Attention | Code | Wann | |------|------| | `dispute_deadline_overdue` | Frist überschritten | | `dispute_deadline_soon` | Frist/Fenster nahe | | `dispute_decision_stale` | Decision ohne Fortschritt | | `dispute_waiting` | Strang/Schritt wartet (extern) | | `dispute_third_party_stale` | zugewiesener Dritt-Actor ohne Rückmeldung über Schwellwert | | `dispute_phase_stalled` | Phase ohne Ready und ohne begründetes Waiting | | `dispute_unscoped_event` | Event ohne Strang/Phase-Zuordnung und ohne aktivierbaren prepared-Strang | | `dispute_dep_blocked` | kritische Dep blockiert fristrelevanten Schritt | | `dispute_prepared_pending` | Outcome/Event legt Aktivierung nahe, passender prepared-Strang noch nicht aktiviert | --- ## D8 Events | Event | Wirkung | |-------|---------| | Brief / Dokument | Evidence; `active`-Strang öffnen/erweitern **oder** `prepared` aktivieren | | Termin gesetzt | Schritt/Frist; ggf. Waiting | | Gegenseite / Behörde | Ready/Decision; Waiting lösen; ggf. prepared aktivieren | | Fristablauf | Attention + Pflicht-Schritt/Decision | | Actor-Result (inkl. Dritte) | Schritt done; Deps freigeben; **kann** prepared-Strang aktivieren | | Decision-Outcome | Pfad fortsetzen, Closure, **oder** vorbereiteten Strang aktivieren | | Phasen-Kriterien | nächste Phase | | Fallabschluss | Closure | --- ## D9 Nested Kann Kind unter B2a sein. Parent-Impulse ≠ Child-Next. --- ## D10 OM-Voraussetzungen | Minimal | Vollmodell | |---------|------------| | C1 + Methode | mehrere Phasen | | Event-Eingang | Reaktionsstränge mit strand_id | | Actions + `requires` | parallele Ready-Mengen | | Assignment (Actors) | Dritt-Actors | | Fristen an Action | Strang-/Phasen-Fenster | | Waiting an Action/Strang | Evidence, Decision, Closure | --- ## D11 Extension Points | Art | Ziel | |-----|------| | next_work_strategy | `dispute_procedure` (Parallel-Ready + Ranking) | | attention_rules | D7 | | horizon_resolver | Phase + Stränge + Fristen | | event_hooks | Event→Strang öffnen/erweitern | | assignment_policy | inkl. Dritt-Actors | | steering_elements | `next_action_primary`, `dispute_timeline` | | compatible_archetype_keys | `initiative.dispute_case` | | data_slices | actions, roadmap, evidence, decisions, blockers, reviews, steering_methods | --- ## D12 Spannungen · PO | Punkt | Lage | |-------|------| | Komplexität | beliebig viele Stränge/Deps/Parallelen — **keine** Produktlimits | | Optik | Graph/Timeline als Hilfe, nicht als Engine | | prepared → active | verbindlich; reaktiv dominant | | Waiting ≠ Freeze | verbindlich | | Dritte | Actors + Assignment |