Kairo-Jinkendo/docs/architecture/methods/SPEC_D_dispute_procedure_v0.1.md

195 lines
7.1 KiB
Markdown
Raw Permalink Normal View History

# 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 |