From a26b534c34a1bd71867f4fd0ea4b773317e493ff Mon Sep 17 00:00:00 2001 From: Lars Date: Sat, 11 Jul 2026 10:17:57 +0200 Subject: [PATCH] DOC: Status-Review, Truth Table Sync und Dogfooding R1 Seed. Review-Auswertung, aktualisierte Roadmap/Gap-Analyse und idempotenter Seed fuer Kairo-Jinkendo als Referenz-Vorhaben mit Gates, Actions und Gitea-Evidence. Co-authored-by: Cursor --- .../seed_004_dogfooding_kairo_jinkendo.py | 411 ++++++++++++++++++ .../Kairo_Current_State_Gap_Analysis_v0.2.md | 4 +- .../Kairo_Current_State_Gap_Analysis_v0.3.md | 97 +++++ .../Kairo_Canonical_Operating_Model_v0.2.md | 2 +- .../Kairo_Corrected_MVP_Roadmap_v0.2.md | 92 ++-- .../Kairo_Dogfooding_Mirror_Steering_v0.1.md | 256 +++++++++++ .../Kairo_Implementation_Truth_Table_v0.1.md | 161 ++++--- docs/product/Kairo_MVP_Definition_v0.3.md | 2 + ...Kairo_Status_Review_and_Next_Steps_v0.1.md | 170 ++++++++ ...Kairo_Vision_and_Product_Direction_v0.2.md | 42 +- 10 files changed, 1124 insertions(+), 113 deletions(-) create mode 100644 backend/seeds/seed_004_dogfooding_kairo_jinkendo.py create mode 100644 docs/architecture/Kairo_Current_State_Gap_Analysis_v0.3.md create mode 100644 docs/product/Kairo_Dogfooding_Mirror_Steering_v0.1.md create mode 100644 docs/product/Kairo_Status_Review_and_Next_Steps_v0.1.md diff --git a/backend/seeds/seed_004_dogfooding_kairo_jinkendo.py b/backend/seeds/seed_004_dogfooding_kairo_jinkendo.py new file mode 100644 index 0000000..d16421a --- /dev/null +++ b/backend/seeds/seed_004_dogfooding_kairo_jinkendo.py @@ -0,0 +1,411 @@ +"""Dogfooding R1 — Referenz-Vorhaben „Jinkendo Kairo“ (idempotent, Nicht-Prod). + +Spiegelt Plan aus docs/product/ gemäß Kairo_Dogfooding_Mirror_Steering_v0.1.md. +""" + +from __future__ import annotations + +import os +from typing import Any, Optional + +GITEA_BASE = "http://192.168.2.144:3000/Lars/Kairo-Jinkendo" +INITIATIVE_TITLE = "Jinkendo Kairo" +TENANT_SLUG = "stommer" + + +def _gitea_commit(sha: str, label: str = "") -> str: + line = f"Commit: [{sha[:7]}]({GITEA_BASE}/commit/{sha})" + if label: + return f"{label}\n{line}\nBranch: develop" + return f"{line}\nBranch: develop" + + +def _resolve_context() -> tuple[str, str]: + from db import get_connection + from psycopg2.extras import RealDictCursor + + conn = get_connection() + try: + with conn.cursor(cursor_factory=RealDictCursor) as cur: + cur.execute("SELECT id FROM tenants WHERE slug = %s", (TENANT_SLUG,)) + row = cur.fetchone() + if not row: + raise RuntimeError( + f"Tenant '{TENANT_SLUG}' nicht gefunden — zuerst Portal-Admin/seed_003" + ) + tenant_id = str(row["id"]) + cur.execute( + """ + SELECT a.id + FROM actors a + WHERE a.tenant_id = %s AND a.actor_type = 'human' AND a.is_active = TRUE + ORDER BY a.created_at + LIMIT 1 + """, + (tenant_id,), + ) + actor_row = cur.fetchone() + if not actor_row: + raise RuntimeError("Kein Human-Actor im Tenant — seed_003 zuerst") + return tenant_id, str(actor_row["id"]) + finally: + conn.close() + + +def _find_initiative(tenant_id: str) -> Optional[dict[str, Any]]: + from services.initiatives import list_initiatives + + for item in list_initiatives(tenant_id=tenant_id): + if item["title"] == INITIATIVE_TITLE: + return item + return None + + +def _find_by_title(items: list[dict[str, Any]], title: str) -> Optional[dict[str, Any]]: + for item in items: + if item["title"] == title: + return item + return None + + +def _close_gate_and_verify(*, tenant_id: str, item_id: str) -> None: + from services.roadmap import verify_reached + from services.roadmap_criteria import list_criteria_for_item, waive_criterion + + for criterion in list_criteria_for_item(tenant_id=tenant_id, item_id=item_id): + if criterion["status"] not in {"satisfied", "waived", "deferred"}: + waive_criterion( + tenant_id=tenant_id, + criterion_id=criterion["id"], + decision_title="Dogfooding R1 — historisches Gate", + decision_description="Rückwirkende Abnahme per Seed.", + ) + verify_reached(tenant_id=tenant_id, item_id=item_id) + + +def _ensure_gate_chain( + *, + tenant_id: str, + initiative_id: str, + gates: list[tuple[str, str, str]], +) -> dict[str, str]: + """gates: (title, status, goal) -> id map.""" + from services.roadmap import add_dependency, create_roadmap_item, list_roadmap_items + + existing = list_roadmap_items(tenant_id=tenant_id, initiative_id=initiative_id) + ids: dict[str, str] = {} + ordered: list[str] = [] + + for index, (title, status, goal) in enumerate(gates): + found = _find_by_title(existing, title) + if found: + gate_id = found["id"] + else: + created = create_roadmap_item( + tenant_id=tenant_id, + initiative_id=initiative_id, + title=title, + item_type="milestone", + goal_description=goal, + status="planned" if status == "reached" else status, + sort_order=index * 10, + initial_criterion_title=f"{title} — Abnahme", + ) + gate_id = created["id"] + existing.append(created) + + ids[title] = gate_id + ordered.append(gate_id) + + if status == "reached": + _close_gate_and_verify(tenant_id=tenant_id, item_id=gate_id) + + for i in range(1, len(ordered)): + try: + add_dependency( + tenant_id=tenant_id, + from_item_id=ordered[i], + to_item_id=ordered[i - 1], + dependency_type="requires", + ) + except ValueError as exc: + if "existiert bereits" not in str(exc): + raise + + return ids + + +def _ensure_projects( + *, tenant_id: str, initiative_id: str, titles: list[str] +) -> dict[str, str]: + from services.projects import create_project, list_projects_for_initiative + + existing = list_projects_for_initiative(tenant_id=tenant_id, initiative_id=initiative_id) + ids: dict[str, str] = {} + for index, title in enumerate(titles): + found = _find_by_title(existing, title) + if found: + ids[title] = found["id"] + continue + created = create_project( + tenant_id=tenant_id, + initiative_id=initiative_id, + title=title, + description=f"Ist-Struktur — {title}", + sort_order=index, + ) + ids[title] = created["id"] + existing.append(created) + return ids + + +def _ensure_action( + *, + tenant_id: str, + initiative_id: str, + title: str, + status: str, + roadmap_item_id: Optional[str] = None, + project_id: Optional[str] = None, + description: str = "", +) -> dict[str, Any]: + from services.actions import create_action, list_actions_for_initiative + + existing = list_actions_for_initiative(tenant_id=tenant_id, initiative_id=initiative_id) + found = _find_by_title(existing, title) + if found: + return found + return create_action( + tenant_id=tenant_id, + initiative_id=initiative_id, + title=title, + description=description, + status=status, + roadmap_item_id=roadmap_item_id, + project_id=project_id, + ) + + +def _ensure_evidence( + *, + tenant_id: str, + initiative_id: str, + title: str, + description: str, + roadmap_item_id: Optional[str] = None, + action_id: Optional[str] = None, + actor_id: Optional[str] = None, +) -> None: + from services.evidence import create_evidence, list_evidence_for_initiative + + for item in list_evidence_for_initiative(tenant_id=tenant_id, initiative_id=initiative_id): + if item["title"] == title: + return + create_evidence( + tenant_id=tenant_id, + initiative_id=initiative_id, + title=title, + description=description, + status="accepted", + roadmap_item_id=roadmap_item_id, + action_id=action_id, + submitted_by_actor_id=actor_id, + ) + + +def _ensure_decision( + *, + tenant_id: str, + initiative_id: str, + title: str, + outcome: str, +) -> None: + from db import get_connection + from psycopg2.extras import RealDictCursor + from services.decisions import create_decision + + conn = get_connection() + try: + with conn.cursor(cursor_factory=RealDictCursor) as cur: + cur.execute( + """ + SELECT 1 FROM decisions + WHERE tenant_id = %s AND initiative_id = %s AND title = %s + """, + (tenant_id, initiative_id, title), + ) + if cur.fetchone(): + return + finally: + conn.close() + + create_decision( + tenant_id=tenant_id, + initiative_id=initiative_id, + title=title, + description=outcome, + status="decided", + outcome=outcome, + ) + + +def _ensure_portfolio_first(*, tenant_id: str, initiative_id: str) -> None: + from services.initiatives import list_initiatives, reorder_portfolio + + all_items = list_initiatives(tenant_id=tenant_id) + ids = [initiative_id] + [i["id"] for i in all_items if i["id"] != initiative_id] + reorder_portfolio(tenant_id=tenant_id, initiative_ids=ids) + + +def run() -> None: + if os.getenv("ENVIRONMENT", "development").strip().lower() == "production": + print("[dogfooding] Übersprungen in Production") + return + + tenant_id, owner_actor_id = _resolve_context() + + initiative = _find_initiative(tenant_id) + if not initiative: + from services.initiatives import create_initiative + + initiative = create_initiative( + tenant_id=tenant_id, + title=INITIATIVE_TITLE, + owner_actor_id=owner_actor_id, + archetype_key="initiative.product", + method_profile_key="product.kairo_dev", + goal=( + "Operativer Program Director — MVP v0.3 Stufe A (B2b). " + f"Repository: {GITEA_BASE} (Branch develop)" + ), + vision="Kairo steuert Kairo — Dogfooding Referenz-Vorhaben.", + target_state_summary="Leitfrage in ≤2 Min; Gates + Ist gespiegelt aus Git/Docs.", + priority="high", + ) + print(f"[dogfooding] Initiative angelegt: {initiative['id']}") + else: + print(f"[dogfooding] Initiative vorhanden: {initiative['id']}") + + initiative_id = initiative["id"] + + gate_defs = [ + ("G1 — Foundation AP0", "reached", "Tenant, Actor, Auth, OM, Migrationen"), + ("G2 — IA & Steering Skeleton", "reached", "AP1.2c, AP1.0, Snapshot, Signals"), + ("G3 — Gates & Checkliste", "reached", "AP1.4/4b/4c, Verify, Kriterien"), + ("G4 — Ist-Hierarchie & Plan/Ist", "reached", "AP1.5/5c, AP1.6, AP1.14, Journey"), + ("G5 — PM Work Modes & Plan-Outline", "active", "AP1.9a ✓; AP1.12 ◐; 9b–e offen"), + ("G6 — Archetyp-Steuerung MVP", "active", "AP2.0 ◐; AP2.0d offen"), + ("G7 — MVP-Abnahfe B2b", "planned", "Validation, Leitfrage, Cockpit-Signale"), + ("G8 — Agent & Integration", "planned", "AP1.7, Gitea-Webhook, MCP"), + ] + gate_ids = _ensure_gate_chain( + tenant_id=tenant_id, + initiative_id=initiative_id, + gates=gate_defs, + ) + + project_ids = _ensure_projects( + tenant_id=tenant_id, + initiative_id=initiative_id, + titles=["Backend", "Frontend", "Docs & ADPs", "Deploy / CI"], + ) + + g5 = gate_ids["G5 — PM Work Modes & Plan-Outline"] + g6 = gate_ids["G6 — Archetyp-Steuerung MVP"] + g4 = gate_ids["G4 — Ist-Hierarchie & Plan/Ist"] + + done_actions = [ + ( + "AP1.6b — Journey Gate-Fortschritt", + "done", + g4, + project_ids["Frontend"], + "b85a6ec", + ), + ( + "AP1.8a — Portfolio-Rang Cockpit", + "done", + g5, + project_ids["Frontend"], + "a19c6ab", + ), + ( + "AP1.14 — Plan/Ist-Snapshots", + "done", + g4, + project_ids["Backend"], + "064779e", + ), + ( + "AP2.0 — Archetyp-Slice", + "done", + g6, + project_ids["Backend"], + "3bd9832", + ), + ( + "DOC-Sync — Status-Review & Roadmap", + "done", + g6, + project_ids["Docs & ADPs"], + None, + ), + ] + + for title, status, gate_id, project_id, sha in done_actions: + action = _ensure_action( + tenant_id=tenant_id, + initiative_id=initiative_id, + title=title, + status=status, + roadmap_item_id=gate_id, + project_id=project_id, + ) + if sha: + _ensure_evidence( + tenant_id=tenant_id, + initiative_id=initiative_id, + title=f"Merge {title}", + description=_gitea_commit(sha, title), + roadmap_item_id=gate_id, + action_id=action["id"], + actor_id=owner_actor_id, + ) + + open_actions = [ + ("AP1.9c — Cockpit-Signale auf Portfolio-Kacheln", g5, project_ids["Frontend"]), + ("AP2.0d — Next-Action-Strategien pro Archetyp", g6, project_ids["Backend"]), + ("Dogfooding R2 — Ist laufend pflegen", g6, project_ids["Docs & ADPs"]), + ] + for title, gate_id, project_id in open_actions: + _ensure_action( + tenant_id=tenant_id, + initiative_id=initiative_id, + title=title, + status="open", + roadmap_item_id=gate_id, + project_id=project_id, + ) + + _ensure_decision( + tenant_id=tenant_id, + initiative_id=initiative_id, + title="Join/Branch Graph — deferred", + outcome="OR-Alternativpfade und volle Join-Logik erst bei Use Case (AP1.15d). " + "Siehe ADP_Roadmap_Graph_and_Gate_Checklist_v0.1.md", + ) + _ensure_decision( + tenant_id=tenant_id, + initiative_id=initiative_id, + title="MCP nach Operational API", + outcome="MCP-Adapter erst nach AP1.7 (/api/operational). Schicht 4 eingefroren bis B2b-Validation.", + ) + _ensure_decision( + tenant_id=tenant_id, + initiative_id=initiative_id, + title="MVP v0.3 PO-Freigabe", + outcome="Abnahfe Stufe A: A1, A2, B2b + B3 minimal. Dokument: Kairo_MVP_Definition_v0.3.md", + ) + + _ensure_portfolio_first(tenant_id=tenant_id, initiative_id=initiative_id) + print("[dogfooding] R1 abgeschlossen — Kairo-Jinkendo als Vorhaben gespiegelt") diff --git a/docs/architecture/Kairo_Current_State_Gap_Analysis_v0.2.md b/docs/architecture/Kairo_Current_State_Gap_Analysis_v0.2.md index 732a85e..7f4b38f 100644 --- a/docs/architecture/Kairo_Current_State_Gap_Analysis_v0.2.md +++ b/docs/architecture/Kairo_Current_State_Gap_Analysis_v0.2.md @@ -1,7 +1,9 @@ # Jinkendo Kairo ## Current State & Gap Analysis v0.2 -**Status:** Gap-Analyse (living document) +> **Superseded:** Siehe **`Kairo_Current_State_Gap_Analysis_v0.3.md`** (Stand 2026-07-11). + +**Status:** Gap-Analyse (archiviert) **Stand:** 2026-07-05 (nach AP1.1b + DOC Welle 1) **Ersetzt für Ist-Stand:** `Kairo_Current_State_Gap_Analysis_AP0.1_AP0.6b_v0.1.md` **Detail-Tabelle:** `Kairo_Implementation_Truth_Table_v0.1.md` diff --git a/docs/architecture/Kairo_Current_State_Gap_Analysis_v0.3.md b/docs/architecture/Kairo_Current_State_Gap_Analysis_v0.3.md new file mode 100644 index 0000000..fc4b835 --- /dev/null +++ b/docs/architecture/Kairo_Current_State_Gap_Analysis_v0.3.md @@ -0,0 +1,97 @@ +# Jinkendo Kairo +## Current State & Gap Analysis v0.3 + +**Status:** Gap-Analyse (living document) +**Stand:** 2026-07-11 (Review + DOC-Sync) +**Ersetzt für Ist-Stand:** `Kairo_Current_State_Gap_Analysis_v0.2.md` +**Detail-Tabelle:** `Kairo_Implementation_Truth_Table_v0.1.md` +**Review & Roadmap:** `Kairo_Status_Review_and_Next_Steps_v0.1.md` + +--- + +## 1. Zweck + +Ordnet **Implementierungsstand** gegen **Vision v0.2** und **MVP v0.3** ein — nicht gegen veraltetes „Milestone minimal = fertig“. + +--- + +## 2. Was seit v0.2 (2026-07-05) dazugekommen ist + +| Paket | Geliefert | Produktwert | +|-------|-----------|-------------| +| AP1.4c–4e | Checkliste-UI, Graph Engine, Methodenprofile | ◐ Gates nutzbar | +| AP1.12a–d | Plan-Outline, Modal, Reorder, Actions im Baum | ◐ Plan-Modus | +| AP1.13a/b | Gate-Map, Dependency-Pflege | ◐ Graph-Sicht | +| AP1.14 | Plan-Snapshots, Plan/Ist-Diff | ◐ Kontrolle | +| AP1.15a–c | Zielzustands-Designer | ◐ Plan-Graph | +| AP1.5d | Task-Baum Backend + Outline | ◐ | +| AP1.6b | Journey Gate-Fortschritt + Ist-Graph | ◐ Kontrolle | +| AP1.8a | Portfolio-Rang | ◐ Cockpit | +| AP1.9a | PM Work Modes Shell | ✓ IA-Grundlage | +| AP1.10c | Profil-Modal Archetyp/EFS | ◐ | +| AP2.0a–c | Method-Stubs, Archetypen, Kontrolle-Lagebild | ◐ MVP-B2b-Basis | +| DOC Review | Status-Review, Dogfooding-Konzept | ✓ | + +--- + +## 3. Gap-Matrix (Vision v0.2 + MVP v0.3) + +| Konzept | Technisch | Produkt (Alltag) | Nächstes Paket | +|---------|-----------|------------------|----------------| +| Tenant / Actor / Capabilities | ✓ | ✓ | — | +| Initiative + Archetyp | ◐ | ◐ | Dogfooding R1 | +| Action (Arbeitspaket) | ✓ | ◐ | AP1.9 polish | +| Project / Task Hierarchie | ◐ | ◐ | AP1.5d Rest | +| Backlog / Blocker / Evidence / Decision / Review | ✓ | ◐ | Dogfooding Evidence | +| RoadmapItem / Gates | ◐ | ◐ | Dogfooding Gates | +| Plan vs. Ist | ◐ | ◐ | AP1.9d | +| Graph / Designer | ◐ | ◐ | — | +| Steering / Lifecycle / Snapshot | ◐ | ◐ | AP2.0d | +| NextAction mit Begründung | ◐ | ◐ | AP2.0d | +| Portfolio-Priorität | ◐ | ◐ | AP1.9c Signale | +| Situativer Kontext | ✗ | ✗ | AP1.8b deferred | +| PM Work Modes IA | ✓ Shell | ◐ | AP1.9b–e | +| Modal/Detail-Bearbeitung | ◐ | ◐ | AP1.12/10 polish | +| Journey | ◐ | ◐ | Validation | +| Operational Actor API | ✗ | ✗ | AP1.7 | +| Gitea-Integration | ✗ | ✗ | Phase 1 manuell; Webhook später | +| MVP-Abnahfe Stufe A | ◐ Infra | ✗ | AP2.1 / AP0.10d | + +--- + +## 4. Dokumenten-Gap + +| Gap | Status | +|-----|--------| +| Zielbild vs. Ist vermischt | ◐ → **verbessert** (Review + Truth Table Sync) | +| Vision §10 veraltet | ◐ → Verweis auf Truth Table | +| Roadmap Phasen veraltet | ✓ aktualisiert 2026-07-11 | +| Kein Dogfooding-Konzept | ✓ `Kairo_Dogfooding_Mirror_Steering_v0.1.md` | +| Target State ohne Marker | ◐ Implementation Map | + +--- + +## 5. Zwingende nächste Schritte + +1. **Dogfooding R1** — Kairo-Jinkendo in Kairo anlegen (manuell, Pi) +2. **AP1.9c** — Cockpit-Signale auf Portfolio-Kacheln +3. **AP2.0d** — Next-Action-Strategien pro Archetyp +4. **AP0.10d / AP2.1** — Validation B2b +5. **AP1.7** — Operational API (Voraussetzung MCP) + +Siehe `Kairo_Status_Review_and_Next_Steps_v0.1.md` §5. + +--- + +## 6. Risiko bei Verzögerung + +| Risiko | Folge | +|--------|-------| +| Weiter Plan-Politur ohne Steuerung | Infrastruktur ohne MVP-Wert | +| Kein Dogfooding | Keine ehrliche Validation | +| MCP vor AP1.7 | Ad-hoc-APIs, Scope-Verletzung | +| Truth Table erneut veralten | Falsche Prioritäten | + +--- + +*v0.2 archiviert als Referenz; bei Konflikt gilt v0.3.* diff --git a/docs/product/Kairo_Canonical_Operating_Model_v0.2.md b/docs/product/Kairo_Canonical_Operating_Model_v0.2.md index 0755fa4..ae46f88 100644 --- a/docs/product/Kairo_Canonical_Operating_Model_v0.2.md +++ b/docs/product/Kairo_Canonical_Operating_Model_v0.2.md @@ -19,7 +19,7 @@ Es verhindert: - CRUD-Omnibus-Seiten als Steuerungs-UI - Verwechslung von **implementiertem** und **zielbildlichem** Stand -**Implementierungsstand:** `Kairo_Implementation_Truth_Table_v0.1.md` +**Implementierungsstand:** `Kairo_Implementation_Truth_Table_v0.1.md` · **Gap:** `Kairo_Current_State_Gap_Analysis_v0.3.md` --- diff --git a/docs/product/Kairo_Corrected_MVP_Roadmap_v0.2.md b/docs/product/Kairo_Corrected_MVP_Roadmap_v0.2.md index 89e6bad..d6bf636 100644 --- a/docs/product/Kairo_Corrected_MVP_Roadmap_v0.2.md +++ b/docs/product/Kairo_Corrected_MVP_Roadmap_v0.2.md @@ -1,13 +1,14 @@ # Jinkendo Kairo ## Corrected MVP Roadmap v0.2 -**Status:** führende Produkt-Roadmap -**Stand:** 2026-07-06 (PO-Korrektur Schichtung) +**Status:** führende Produkt-Roadmap (AP-Historie + nächste Schritte) +**Stand:** 2026-07-11 (Review + DOC-Sync) **Ersetzt:** `Kairo_Corrected_MVP_Roadmap_v0.1.md` **Vision:** `Kairo_Vision_and_Product_Direction_v0.2.md` +**MVP-Nordstern:** `Kairo_MVP_Definition_v0.3.md` (führend für Abnahfe) **Ist-Stand:** `Kairo_Implementation_Truth_Table_v0.1.md` -**PO-ADP:** `ADP_PO_Product_Layering_and_IA_Reset_v0.1.md` -**Container-ADP:** `ADP_Recursive_Containers_and_Execution_Granularity_v0.1.md` +**Review & Nächste Schritte:** `Kairo_Status_Review_and_Next_Steps_v0.1.md` +**Dogfooding:** `Kairo_Dogfooding_Mirror_Steering_v0.1.md` --- @@ -99,20 +100,24 @@ Phase A OM-Inventar AP0.8–AP0.10 ✓ (technisch) Phase B Steering Skeleton AP1.0–AP1.1b ✓ (technisch) Phase C Dokumentation Welle 1–2 ✓ Phase D IA-Skeleton AP1.2 + AP1.2c ✓ -Phase E Steering AP1.2, AP1.3 ◐ -Phase F Gate-Backend AP1.4 + AP1.4b ✓ (Backend); UI minimal -Phase G Ist-Hierarchie AP1.5 ✓ -Phase G2 Rekursive Container AP1.5c–5d ✓ 5c / → 5d nach AP1.6 -Phase H Plan/Ist-Verknüpfung AP1.6 ✓ -Phase H2 PM Work Modes IA AP1.9 ✓ 9a / → 9b–9e -Phase H3 Plan Outline & Archetypes AP1.10–12 ← **NÄCHSTES DESIGN+CODE** (PO 2026-07-09) -Phase H4 Rekursive Tasks AP1.5d nach AP1.12d -Phase I Gate-Graph AP1.4d + AP1.13 nach AP1.12 -Phase J Portfolio & Kontext AP1.8 geplant -Phase K Agent Interface AP1.7 geplant (unverändert) -Phase L Validation AP0.10d (laufend PO) parallel +Phase E Steering AP1.2 ✓ / AP1.3 ○ +Phase F Gate AP1.4–AP1.4e ✓ Backend + ◐ UI +Phase G Ist-Hierarchie AP1.5 + AP1.5c ✓ +Phase G2 Rekursive Tasks AP1.5d ◐ Backend + Outline +Phase H Plan/Ist AP1.6 + AP1.6b ✓ +Phase H2 PM Work Modes AP1.9 ✓ 9a / → 9b–9e +Phase H3 Plan Outline AP1.12 + AP1.10 ◐ 12a–d, 10c +Phase I Gate-Graph AP1.13 + AP1.15 ◐ 13a/b, 15a–c +Phase I2 Plan/Ist Snapshots AP1.14 ✓ +Phase J Portfolio AP1.8 ◐ 8a ✓ / 8b deferred +Phase K Archetyp-Steuerung AP2.0 ◐ 2.0a–c ✓ / → 2.0d–f +Phase L Agent Interface AP1.7 ○ +Phase M Validation AP0.10d + Dogfooding ← **NÄCHSTES (PO 2026-07-11)** +Phase N Integration Gitea/MCP nach AP1.7 ``` +**Frontend-Version:** `0.18.0-ap2.0` · **Schema:** Migration 022 + --- ## 3. Erledigt (Referenz) @@ -131,27 +136,39 @@ Phase L Validation AP0.10d (laufend PO) parallel | AP1.4b | 0.13.1-ap1.4b | Gate-Checkliste Backend + Detail-Route | | AP1.5c | 0.14.1-ap1.5c | Rekursive Projects | | AP1.6 | 0.15.0-ap1.6 | Plan/Ist, Journey, Gate-Beiträge | -| AP1.5e | 0.15.1-ap1.5e | Projekt-Detail (Übergang) | -| AP1.9a | 0.16.x-ap1.9a | PM Work Modes Shell, Scope, Redirects | -| DOC Plan | 2026-07-09 | Plan Mode Design v0.1, ADP AP1.10 | -| DOC PM UI | 2026-07-08 | PM Frontend UI Concept v0.1, ADP AP1.9 | -| DOC PO | 2026-07-06 | ADP Product Layering & IA-Reset | -| DOC Container | 2026-07-06 | ADP Recursive Containers & Execution Granularity | +| AP1.6b | 0.15.0-ap1.6b | Journey Gate-Fortschritt + Ist-Graph | +| AP1.4c–4e | 0.15.x | Checkliste-UI, Graph Engine, Methodenprofile | +| AP1.12a–d | 0.16.x | Plan-Outline, Modal, Reorder | +| AP1.13a/b | 0.16.x | Gate-Map, Dependencies | +| AP1.14 | 0.17.x | Plan-Snapshots, Plan/Ist-Diff | +| AP1.15a–c | 0.17.x | Zielzustands-Designer | +| AP1.5d | 0.17.x | Task-Baum (teilweise) | +| AP1.8a | 0.18.x | Portfolio-Rang | +| AP2.0 | 0.18.0-ap2.0 | Archetyp-Katalog, Method-Stubs, Kontrolle-Lagebild | +| AP1.10c | 0.18.x | Profil-Modal Archetyp/EFS | +| DOC Review | 2026-07-11 | Status-Review, Truth Table Sync, Dogfooding-Konzept | --- ## 4. Nächste Pakete (verbindliche Reihenfolge — PO 2026-07-06) -### 4.0 Abnahme-Reihenfolge (Stand 2026-07-11) +### 4.0 Abnahme-Reihenfolge (Stand 2026-07-11 — Review) -| # | Paket | Status | Begründung | -|---|-------|--------|------------| -| 1 | **AP1.6b** Journey Gate-Fortschritt + Ist-Graph | ✓ | ADP-Lücke schließen; Plan/Ist in Kontrolle sichtbar | -| 2 | **AP1.9c/d** Cockpit + Kontrolle Polish | offen | Signale auf Portfolio-Kacheln, Filter | -| 3 | **AP1.5d** Rekursive Tasks (Rest) | → | Backend + Outline da; ggf. Task-Detail-Route | -| 4 | **AP1.8b** Situativer Kontext | deferred | Nach Portfolio-Prio (8a ✓) | -| 5 | **AP1.7** Agent Interface | offen | Nach Operating Model tragfähig | -| 6 | **AP1.15d** OR-Alternativpfade | deferred | Nur bei Use Case | +Siehe **`Kairo_Status_Review_and_Next_Steps_v0.1.md` §5** für vollständige Roadmap. + +| Phase | Paket | Status | Begründung | +|-------|-------|--------|------------| +| D0 | DOC-Sync (Truth Table, Gap, Review) | ✓ | eine Wahrheit | +| D1 | Dogfooding R1 — Kairo-Jinkendo in Kairo | **→ nächstes** | B2b-Validation | +| 1 | AP1.9c Cockpit-Signale | offen | MVP §5.7 | +| 2 | AP2.0d Next-Action-Strategien | offen | MVP Stufe A | +| 3 | Dogfooding R2 — Ist + Gitea-Evidence | offen | Fortschritt sichtbar | +| 4 | AP0.10d / AP2.1 Validation B2b | offen | MVP-Urteil | +| 5 | AP2.0f work_cycle (B3 minimal) | offen | Sprint-Zeitbox | +| 6 | AP1.7 Operational API | offen | MCP-Voraussetzung | +| 7 | Gitea-Webhook + MCP | deferred | Schicht 4 | + +**Erledigt (Review-Queue):** AP1.6b ✓ ### AP1.5 — Hierarchie & Ist-Ebene ✓ @@ -369,7 +386,7 @@ Criteria, Waive/Defer, Reopen, Detail-Route. Version `0.13.1-ap1.4b` | Thema | Bis wann | |-------|----------| -| Gate-UI-Politur (Modal, Checkliste, Designer) | **Nach AP1.6** (PO 2026-07-06) | +| Gate-UI-Politur (Modal, Checkliste, Designer) | **Teilweise geliefert** (AP1.4c, 12b, 15); weiter nur mit Steuerungs-Bezug | | Prompt/KI/MCP produktiv | Ist-Hierarchie + Plan/Ist | | Method Designer UI | AP1.3+ | | Gantt / Kalender | nach Plan/Ist | @@ -398,10 +415,13 @@ MVP-nah wenn: 0.14.0-ap1.5 ✓ Hierarchie (Project, Task flach) 0.14.1-ap1.5c ✓ Rekursive Projects 0.15.0-ap1.6 ✓ Plan/Ist / Journey -0.15.1-ap1.5d → Rekursive Tasks — NÄCHSTES -0.15.2-ap1.4d → Gate-Graph -0.16.0-ap1.7 → Agent Interface -0.17.0-ap1.8 → Portfolio + Kontext +0.15.0-ap1.6b ✓ Journey Gate-Fortschritt +0.16.x ✓ AP1.9a, AP1.12, AP1.13 (teilweise) +0.17.x ✓ AP1.14, AP1.15 (teilweise) +0.18.0-ap2.0 ✓ Archetyp-Slice AP2.0 +0.18.x → AP1.9c, Dogfooding, AP2.0d — NÄCHSTES +0.19.x → AP2.0f work_cycle, AP2.1 Validation +0.20.0-ap1.7 → Operational Actor Interface ``` --- diff --git a/docs/product/Kairo_Dogfooding_Mirror_Steering_v0.1.md b/docs/product/Kairo_Dogfooding_Mirror_Steering_v0.1.md new file mode 100644 index 0000000..2d7e5ea --- /dev/null +++ b/docs/product/Kairo_Dogfooding_Mirror_Steering_v0.1.md @@ -0,0 +1,256 @@ +# Jinkendo Kairo +## Dogfooding — Spiegel-Steuerung für Kairo-Jinkendo v0.1 + +**Status:** Betriebskonzept (Phase 1 — manuell) +**Stand:** 2026-07-11 +**Auslöser:** Kairo-Jinkendo als Referenz-Vorhaben B2b in Kairo führen; Plan bleibt in Git/Docs, Kairo spiegelt Ist + Fortschritt +**Bezug:** `Kairo_MVP_Definition_v0.3.md` §8 (B2b), `ADP_Archetype_and_Method_Catalog_v0.2.md` (`product.kairo_dev`), `Kairo_Status_Review_and_Next_Steps_v0.1.md` + +--- + +## 1. Prinzip: Spiegel, nicht Quelle + +| Ebene | **Quelle der Wahrheit (Phase 1)** | **Kairo-Rolle** | +|-------|-----------------------------------|-----------------| +| **Plan / Roadmap** | `docs/product/`, ADPs, Cursor/Git | Gates als **Abbild** der Phasen; Kriterien = Abnahme-Checkliste | +| **Feinplanung / APs** | Roadmap-Docs, Chat, Issues | **Actions** (committete Arbeitspakete) | +| **Ist-Fortschritt** | Git-Commits, Deploy, Tests | Action-Status, Gate-Verify, Evidence | +| **Ergebnisse / Artefakte** | Gitea (Commits, PRs, CI) | **Evidence** mit Link in `description` | +| **Entscheidungen** | ADPs, PO-Entscheidungen in Docs | **Decision**-Einträge (kurz + Verweis) | +| **Reise** | aggregiert | **Journey** (automatisch aus OM-Events) | + +**Phase 1:** Keine Planung **aus** Kairo heraus — nur **Spiegeln** und **Steuern** (Next Action, Attention, Gate-Fortschritt). +**Phase 2 (später):** Gitea-Webhook → Evidence/Journey automatisch (Schicht 4, nach AP1.7). +**Phase 3 (später):** MCP/Operational API — Agent pflegt Ist aus Cursor. + +--- + +## 2. Vorhaben-Setup (einmalig, manuell auf Pi) + +### 2.1 Initiative + +| Feld | Wert | +|------|------| +| **Titel** | Jinkendo Kairo | +| **Archetyp** | `initiative.product` | +| **Ausprägung / Profil** | `product.kairo_dev` | +| **Methode** | `continuous_product` (automatisch via Archetyp) | +| **Goal** | Operativer Program Director — MVP v0.3 Stufe A (B2b) | +| **EFS `metrics`** | KPIs: Deploy grün, Leitfrage ≤2 Min, Validation ≥3/5 | +| **EFS `release_theme`** | z. B. „Steuerung sichtbar + Dogfooding“ | + +Optional in **Goal** oder **metrics** (bis dediziertes EFS-Feld): + +```text +Repository: http://192.168.2.144:3000/Lars/Kairo-Jinkendo +Branch develop: Deploy + Tests +Branch main: Production +``` + +### 2.2 Projects (Ist-Struktur, optional) + +Spiegel der Code-Schichten — flach oder Baum: + +| Project | Inhalt | +|---------|--------| +| Backend | API, Steering, Migrationen | +| Frontend | Modi, Plan, Kontrolle | +| Docs & ADPs | Product, Architecture | +| Deploy / CI | Gitea Actions, Pi | + +Actions nur an **Blatt-Projects** (AP1.5c-Regel). + +### 2.3 Actors + +| Actor | Typ | Rolle | +|-------|-----|-------| +| Lars (User) | human | PO | +| Cursor Agent | agent | Vibe-Coder (später AP1.7) | + +--- + +## 3. Gate-Struktur (Plan-Spiegel) + +Gates = **Zielzustände** entlang der **bereits erledigten und offenen Phasen** — nicht jede Commit-Message. + +Vorschlag **8 Gates** (sequenziell, `requires`-Kanten): + +| # | Gate-Titel | Status (2026-07-11) | Kriterien (Beispiele) | +|---|------------|---------------------|------------------------| +| G1 | Foundation AP0 | **reached** | Tenant, Actor, Auth, OM-Tabellen | +| G2 | IA & Steering Skeleton | **reached** | AP1.2c, AP1.0, Snapshot | +| G3 | Gates & Checkliste Backend | **reached** | AP1.4/4b, Verify API | +| G4 | Ist-Hierarchie & Plan/Ist | **reached** | AP1.5/5c, AP1.6, AP1.14 | +| G5 | PM Work Modes & Plan-Outline | **active** | AP1.9a ✓, AP1.12 ◐, 9b–e offen | +| G6 | Archetyp-Steuerung MVP | **active** | AP2.0 ◐, AP2.0d offen | +| G7 | MVP-Abnahfe B2b | **planned** | Validation, Leitfrage, Cockpit-Signale | +| G8 | Agent & Integration | **planned** | AP1.7, Gitea-Webhook optional | + +**Verify-Regel:** Gate auf `reached` nur wenn Kriterien erfüllt (AP1.4b) — rückwirkend für G1–G4 mit Evidence „Completion Report / Commit-Spanne“. + +**Graph:** G1 → G2 → … → G8 (sequenziell); Parallel-Gruppen erst bei Bedarf (AP1.15c). + +--- + +## 4. Actions (Ist) — Mapping + +**Regel:** Eine Action = ein **committetes Arbeitspaket** (AP-Slice), nicht jeder Task. + +### 4.1 Erledigt → Action `done` + +| Action-Titel | Gate | Evidence | +|--------------|------|----------| +| AP1.6b Journey Gate-Fortschritt | G4 | Commit `b85a6ec` | +| AP1.8a Portfolio-Rang | G5 | Commit `a19c6ab` | +| AP1.15a–c Zielzustands-Designer | G4/G5 | Commits `0c2ca4a`…`d7aefed` | +| AP2.0 Archetyp-Slice | G6 | Commit `3bd9832` ff. | + +### 4.2 Offen → Action `open` / `in_progress` + +| Action-Titel | Gate | Priorität | +|--------------|------|-----------| +| AP1.9c Cockpit-Signale | G5 | **hoch** | +| AP2.0d Next-Action-Strategien | G6 | **hoch** | +| Dogfooding R1 Vorhaben anlegen | G7 | **sofort (manuell)** | +| AP1.7 Operational API | G8 | nach Validation | +| DOC-Sync (dieser Slice) | G6 | erledigt mit Commit | + +**Zuordnung:** `roadmap_item_id` = aktuelles Gate; `project_id` = Backend/Frontend/Docs. + +--- + +## 5. Fortschrittstracking + +### 5.1 Gate-Fortschritt (automatisch in Kairo) + +- **Kontrolle → Journey:** Fokus-Gates + Kriterien (AP1.6b) +- **Kontrolle → Plan/Ist:** Diff Plan-Snapshot vs. Ist (AP1.14) +- **Gate-Detail:** Checkliste, Verify, Dependencies + +### 5.2 Action-Fortschritt (manuell / aus Git spiegeln) + +| Ist in Git | Kairo-Update | +|------------|--------------| +| Commit auf `develop` merged | Action → `done`; Evidence anlegen | +| Work in Progress | Action → `in_progress` | +| Blockiert (CI rot, DB) | Blocker anlegen + Action → `blocked` | + +### 5.3 Portfolio + +- **Cockpit:** `portfolio_rank` #1 für „Jinkendo Kairo“ (AP1.8a) +- Nach AP1.9c: Signale auf Kachel (offene Blocker, Gate blockiert, …) + +--- + +## 6. Ergebnisse & Gitea-Verweise + +### 6.1 Was heute ohne Code geht + +**Evidence** (`title`, `description`, `roadmap_item_id`, `action_id`): + +- `title`: kurz, z. B. „AP1.6b merged“ +- `description`: Markdown mit Links: + +```markdown +Commit: [b85a6ec](http://192.168.2.144:3000/Lars/Kairo-Jinkendo/commit/b85a6ec) +Branch: develop +CI: [test.yml Run #…](http://192.168.2.144:3000/Lars/Kairo-Jinkendo/actions/runs/…) +Deploy: Pi develop OK +``` + +- `status`: `accepted` wenn Review/Verify OK +- Verknüpfung mit **Gate-Kriterium** (`satisfied_by_evidence_id`) wo sinnvoll + +**Decision** für PO-Entscheidungen: + +- Titel: „Join/Branch deferred“ +- Outcome: Verweis auf `ADP_Roadmap_Graph_and_Gate_Checklist_v0.1.md` § Join/Branch + +**Review** nach größeren Slices (optional): + +- Titel: „Review AP2.0 Steering Slice“ +- Summary + Link zum Sprint-Assignment + +### 6.2 Journey + +Journey aggregiert automatisch: Decisions, Reviews, Evidence, Actions (status `done`), Gates — **Gitea-Links erscheinen in Evidence-Summary**, wenn in `description` gepflegt. + +### 6.3 URL-Muster Gitea (Instanz Lars) + +| Artefakt | URL-Muster | +|----------|------------| +| Commit | `http://192.168.2.144:3000/Lars/Kairo-Jinkendo/commit/{sha}` | +| Branch | `http://192.168.2.144:3000/Lars/Kairo-Jinkendo/src/branch/{branch}` | +| Datei | `http://192.168.2.144:3000/Lars/Kairo-Jinkendo/src/branch/develop/{path}` | +| Actions/CI | `http://192.168.2.144:3000/Lars/Kairo-Jinkendo/actions` | +| Compare | `http://192.168.2.144:3000/Lars/Kairo-Jinkendo/compare/{base}...{head}` | + +### 6.4 Was später automatisiert wird (nicht Phase 1) + +| Integration | Trigger | Kairo-Ziel | Paket | +|-------------|---------|------------|-------| +| Push `develop` | Gitea Webhook | Evidence + Journey | AP2.x Integration | +| CI grün/rot | Workflow-Run | Evidence / Blocker | Hook `on_result_received` | +| PR merged | Gitea Event | Action `done` | AP1.7 + Agent | + +**Guardrail:** Kein paralleles Issue-Tracking — Gitea bleibt Code-Quelle; Kairo bleibt Steuerungs-Quelle für Plan/Ist/Entscheidungen. + +--- + +## 7. EFS-Erweiterung (optional, kleiner Code-Slice) + +Für sauberere Repo-Verknüpfung (AP1.10b-Pattern, kein neues OM-Objekt): + +| Feld | Archetyp | Typ | Zweck | +|------|----------|-----|-------| +| `repository_url` | `initiative.product` | text/uri | Gitea-Repo | +| `default_branch` | `initiative.product` | text | `develop` | +| `ci_status_url` | `initiative.product` | text/uri | Actions-Übersicht | + +**Phase 1:** ohne Migration — URLs in `metrics` oder Initiative-`goal`. +**Phase 1b:** Seed in `entity_fields/definitions.py` + Anzeige im Profil-Modal. + +--- + +## 8. Checkliste — Erste Anlage (Dogfooding R1) + +Auf dem **Pi-Deploy** (nach Push auf `develop`): + +**Automatisch:** Seed `seed_004_dogfooding_kairo_jinkendo` (Backend-Start, idempotent, Nicht-Prod). + +**Manuell prüfen** in Kairo UI: + +- [ ] Initiative „Jinkendo Kairo“ sichtbar (`initiative.product`, Profil `product.kairo_dev`) +- [ ] 4 Projects, 8 Gates (G1–G4 `reached`, G5–G6 `active`) +- [ ] Actions offen: AP1.9c, AP2.0d, Dogfooding R2 +- [ ] Evidence mit Gitea-Commit-Links (z. B. `b85a6ec`, `a19c6ab`) +- [ ] Cockpit: Portfolio-Rang #1 +- [ ] Kontrolle: Leitfrage-Test — „Was ist als Nächstes dran?“ + +**Erfolg R1:** In ≤2 Minuten in Kontrolle erkennbar: aktives Gate, nächste Action, letztes Evidence mit Gitea-Link. + +--- + +## 9. Abnahme Dogfooding (R2) + +| Check | Kriterium | +|-------|-----------| +| Plan-Spiegel | Gates entsprechen Roadmap-Phasen §2 | +| Ist aktuell | Offene Actions = echte nächste APs | +| Fortschritt | G5/G6 Kriterien reflectieren Truth Table | +| Gitea | Jede abgeschlossene Action hat ≥1 Evidence mit Commit-Link | +| Journey | ≥10 Events inkl. Decisions + Evidence | +| Steuerung | Next Action begründet (nach AP2.0d) | + +--- + +## 10. Bezug zu MCP (später) + +1. **AP1.7** — Agent liest `context`, `next-action`; schreibt Action-Status, Evidence +2. **MCP-Adapter** — Cursor ruft Operational API +3. Agent legt Evidence mit Commit-URL an nach jedem Push +4. **Kein** MCP vor AP1.7 (Scope Lock) + +--- + +*Siehe auch: `Kairo_Status_Review_and_Next_Steps_v0.1.md`, `Sprint1_AP2_0_Steering_Archetypes_Assignment_v0.1.md`, `.gitea/workflows/test.yml`* diff --git a/docs/product/Kairo_Implementation_Truth_Table_v0.1.md b/docs/product/Kairo_Implementation_Truth_Table_v0.1.md index d938a25..f941c14 100644 --- a/docs/product/Kairo_Implementation_Truth_Table_v0.1.md +++ b/docs/product/Kairo_Implementation_Truth_Table_v0.1.md @@ -1,11 +1,13 @@ # Kairo — Implementation Truth Table v0.1 **Status:** living document — bei jedem AP aktualisieren -**Stand:** 2026-07-11 (nach AP1.6b) +**Stand:** 2026-07-11 (Review + DOC-Sync; Code `develop` @ `b85a6ec`, Frontend `0.18.0-ap2.0`) **Zweck:** Ehrliche Trennung von **implementiert**, **teilweise**, **nur API/Schema**, **nur Dokumentiert** Verhindert, dass Zielbild-Dokumente als Ist-Stand gelesen werden. +**Review:** `Kairo_Status_Review_and_Next_Steps_v0.1.md` · **Dogfooding:** `Kairo_Dogfooding_Mirror_Steering_v0.1.md` + --- ## Legende @@ -30,7 +32,7 @@ Verhindert, dass Zielbild-Dokumente als Ist-Stand gelesen werden. | Capabilities | ✓ | Keine Objekt-Sichtbarkeit | | Auth / Session | ✓ | | | Audit (Auth/Admin) | ◐ | Nicht für alle OM-Events | -| Migrationen nummeriert | ✓ | Schema 014 | +| Migrationen nummeriert | ✓ | Schema bis **022** (`portfolio_rank`) | --- @@ -38,23 +40,28 @@ Verhindert, dass Zielbild-Dokumente als Ist-Stand gelesen werden. | Element | Stand | Anmerkung | |---------|-------|-----------| -| Initiative | ✓ | | -| Project | ◐ | AP1.5 + AP1.5c: Baum (`parent_project_id`), Blatt-Regel für Actions | -| Action | ✓ | Gate-Zuordnung AP1.6 | +| Initiative | ✓ | inkl. `archetype_key`, `portfolio_rank` | +| Project | ◐ | AP1.5 + AP1.5c: Baum, Blatt-Regel; `archetype_key` Mirror AP2.0b | +| Action | ✓ | Gate-Zuordnung AP1.6, `due_at` | | ActionAssignment | ✓ | | -| BacklogItem | ✓ | Gate-Zuordnung AP1.6 | +| BacklogItem | ✓ | Gate-Zuordnung AP1.6, `sort_order` | | Blocker | ✓ | `action_id` optional | -| Milestone | ◐ | Tabelle MVP-Brücke; kein Gate | -| Evidence | ✓ | | +| Milestone | ◐ | Legacy-Tabelle MVP-Brücke; RoadmapItem bevorzugt | +| Evidence | ✓ | `roadmap_item_id`, `action_id`; Gitea-Links in `description` (manuell) | | Decision | ✓ | | -| Review | ✓ | | +| Review | ✓ | `roadmap_item_id` | | RecurringElement | ✓ | | -| Task (unter Action) | ◐ | AP1.5 minimal GUI | +| Task (unter Action) | ◐ | AP1.5d: `parent_task_id`, Baum-API, Outline; Roll-up-UI ◐ | | Roadmap | ◐ | 1 pro Initiative; Migration 010 | -| RoadmapItem | ◐ | Verify über Checkliste AP1.4b | -| RoadmapItem Dependencies | ◐ | requires/blocks/related | -| RoadmapItem Criteria | ◐ | Checkliste, waive/defer, Reopen AP1.4b | -| Plan-Ist-Verknüpfung | ◐ | Evidence/Reviews + Kriterien | +| RoadmapItem | ◐ | CRUD + Detail; Verify AP1.4b | +| RoadmapItem Dependencies | ◐ | requires/blocks/related; Graph AP1.4d | +| RoadmapItem Criteria | ◐ | Checkliste, waive/defer, Reopen AP1.4b/c | +| Plan-Ist-Verknüpfung | ◐ | Links, Kriterien, Journey AP1.6; Snapshots AP1.14 | +| Plan-Snapshots | ◐ | Migration 021, Diff-View Kontrolle AP1.14 | +| Entity Field System | ◐ | Migration 017, Seeds AP1.10b/AP2.0b | +| Initiative Archetypes | ◐ | Migration 016, Registry AP2.0b | +| Method Profiles (Code-Seeds) | ◐ | `product.kairo_dev`, Kumite, Buch — AP2.0b | +| `work_cycle` / Sprint | ✗ | 📄 MVP v0.3 B3; Migration AP2.0f geplant | --- @@ -64,19 +71,21 @@ Verhindert, dass Zielbild-Dokumente als Ist-Stand gelesen werden. |---------|-------|-----------| | steering_contexts (009) | ✓ | Lifecycle, method_key | | backend/steering/ lifecycle | ✓ | | -| Signal Engine | ◐ | Regeln begrenzt | -| Method Registry | ◐ | generic_operating, product_milestone_driven; **Ziel AP2.0a:** program_delivery, continuous_product, … — siehe `ADP_Archetype_and_Method_Catalog_v0.2.md` | -| Archetyp-/Methoden-Katalog PO | ✓ | ADP v0.2 + MVP v0.3 freigegeben 2026-07-10 | -| NextActionCandidate | ◐ | API + Widget; nicht konfigurierbar auf beiden Ebenen | -| Portfolio-Priorität (Initiativen) | ◐ | AP1.8a: portfolio_rank, Cockpit-Reorder, Next-Action-Sort | -| Situativer Steuerungskontext (Next Action) | ✗ | 📄 Vision §7.6 | +| Signal Engine | ◐ | Regeln begrenzt; Cockpit-Kacheln offen AP1.9c | +| Method Registry | ◐ | AP2.0a: Stubs inkl. `continuous_product`, `program_delivery`, …; 2 Strategien aktiv | +| Archetyp-/Methoden-Katalog PO | ✓ | ADP v0.2 + MVP v0.3 | +| NextActionCandidate | ◐ | API + Widget; `reason_code` teilweise AP2.0c; Strategien AP2.0d offen | +| Portfolio-Priorität (Initiativen) | ◐ | AP1.8a: `portfolio_rank`, Reorder, Next-Action-Sort | +| Situativer Steuerungskontext (Next Action) | ✗ | 📄 Vision §7.6; AP1.8b deferred | | AttentionItem | ◐ | | -| Initiative Steering Snapshot | ✓ | Graph für Actions + linked | -| operating_phase | ✗ | entfernt AP1.2; Snapshot nutzt `signals` + Lifecycle | -| signals (Snapshot) | ✓ | `backend/steering/signals/snapshot_signals.py` | +| Initiative Steering Snapshot | ✓ | Actions + linked; Archetyp/Guidance AP2.0c | +| operating_phase | ✗ | entfernt AP1.2 | +| signals (Snapshot) | ✓ | `snapshot_signals.py` | +| Graph Read Models (blocked/ready) | ◐ | AP1.4d/e; Join/OR AP1.15d deferred | | Hook Orchestrator | ✗ | AP1.3 geplant | | Structure Builder | ✗ | 📄 | | DoD Engine | ✗ | 📄 | +| Gitea / Webhook Integration | ✗ | 📄 Schicht 4; manuelle Evidence-Links Phase 1 | --- @@ -84,16 +93,27 @@ Verhindert, dass Zielbild-Dokumente als Ist-Stand gelesen werden. | Sicht | Stand | Anmerkung | |-------|-------|-----------| -| Workspace (Portfolio aller Initiativen) | ✓ | Portfolio-Widget | -| Initiative-Übersicht (operative Steuerung) | ✓ | AP1.2c | -| Initiative Unterseiten (Plan, Inbox, …) | ✓ | Shell + Pflege verschoben | -| Journey (Kontrolle / Initiative) | ◐ | AP1.6b: Fokus-Gates + Kriterien read-only, Ist-Graph eingebettet | -| Next-Action-Widget konfigurierbar (Workspace + Initiative) | ✓ | scope portfolio/initiative | -| Action Detail-Route | ✓ | `/initiatives/:id/actions/:actionId` | -| Action Detail-Seite | ✗ | | -| Gate Detail-Seite | ◐ | `/initiatives/:id/plan/items/:itemId` AP1.4b | -| Modal-Bearbeitung | ✗ | Inline-Formulare überall | +| PM Work Modes Shell | ✓ | AP1.9a: Cockpit, Work, Plan, Control + Redirects | +| Cockpit (Portfolio) | ◐ | Widget-Grid; Rang AP1.8a; Signale auf Kacheln ✗ AP1.9c | +| Ausführen (/work) | ◐ | Heute, Meine APs | +| Planen (/plan) | ◐ | Outline AP1.12, Gates, Inbox, Struktur, Profil | +| Kontrolle (/control) | ◐ | Status, Plan/Ist AP1.14, Journey AP1.6b | +| Scope-Breadcrumb modus-sensitiv | ◐ | AP1.9b teilweise | +| Workspace (Legacy-Redirect) | ✓ | → Cockpit | +| Initiative-Übersicht (Steuerung) | ✓ | AP1.2c / Control Status | +| Journey | ◐ | AP1.6b: Fokus-Gates, Kriterien read-only, Ist-Graph | +| Next-Action-Widget | ✓ | portfolio + initiative scope | +| Action Detail-Route | ✓ | `/actions/:actionId` | +| Action Detail-Seite | ✓ | ActionHubCard + TasksSection | +| Gate Detail-Seite | ◐ | `/gates/:gateId`; Checkliste AP1.4c | +| Gate Map (read-only) | ✓ | AP1.13a | +| Gate Dependencies pflegen | ◐ | AP1.13b Detail | +| Zielzustands-Designer | ◐ | AP1.15a–c; OR deferred | +| Plan-Outline | ◐ | AP1.12a–d: Baum, Modal, Reorder, Actions | +| Profil-Modal (Archetyp/EFS) | ◐ | AP1.10c | +| Modal-Bearbeitung (Gates/Profil) | ◐ | viele Sektionen noch Inline-CRUD | | Admin-UI | ✗ | | +| Team-Modus | ✗ | AP1.9f | --- @@ -101,17 +121,34 @@ Verhindert, dass Zielbild-Dokumente als Ist-Stand gelesen werden. | Gate-Anforderung (Vision) | Ist | |---------------------------|-----| -| DoD / prüfbare Kriterien | ◐ | `roadmap_item_criteria`; Default „Gate allgemein“ | +| DoD / prüfbare Kriterien | ◐ | `roadmap_item_criteria`; UI AP1.4c | | Zieltermin | ◐ | `target_date` | -| Abhängigkeiten | ◐ | API; Graph Engine AP1.4d | -| parallel vs. sequenziell | ◐ | `sequencing_mode` (deprecated); Graph AP1.4d | -| Plan-Graph vs. Ist-Overlay | ◐ | AP1.13 Designer + AP1.6b Journey Ist-Graph (read-only); Plan/Ist-Diff AP1.14 | -| Zielzustands-Designer (Joint/Parallel) | ◐ | AP1.15a/b Designer; AP1.15c parallel/optional in Engine+Designer; OR deferred | +| Abhängigkeiten | ◐ | API + Graph Engine AP1.4d; Designer AP1.15 | +| parallel vs. sequenziell | ◐ | Kanten + `parallel_group`; `sequencing_mode` deprecated | +| Plan-Graph vs. Ist-Overlay | ◐ | Designer AP1.15; Journey Ist-Graph AP1.6b; Diff AP1.14 | +| Zielzustands-Designer (Joint/Parallel) | ◐ | AP1.15a–c; Join/OR AP1.15d deferred | | Plan-Revision / Graph-Historie | ◐ | AP1.14 Plan-Snapshots | -| Verify vor `reached` | ◐ | Kriterienplan + gate_override | -| Reopen nach `reached` | ◐ | `active`, Kriterien bleiben AP1.4b | +| Verify vor `reached` | ◐ | Kriterien + gate_override | +| Reopen nach `reached` | ◐ | AP1.4b | | Decision bei `moved` | ✗ | | -| Quality-Gate-Semantik | ◐ | Checkliste + Audit | +| Quality-Gate-Semantik | ◐ | Checkliste + Audit teilweise | + +--- + +## Archetyp / MVP v0.3 + +| Element | Stand | Anmerkung | +|---------|-------|-----------| +| Vier-Schichten-Modell dokumentiert | ✓ | ADP v0.2 | +| Initiative-Archetypen Seeds | ◐ | AP2.0b | +| Default-Methode bei Anlage | ◐ | AP2.0b | +| Next-Action program_delivery | ◐ | Strategie registriert | +| Next-Action continuous_product | ◐ | Strategie registriert | +| maturity / sequential / queue / recurring Strategien | ○ | AP2.0d | +| Referenz-Ausprägung product.kairo_dev | ◐ | Code-Seed; Dogfooding manuell | +| MVP-Abnahfe Stufe A validiert | ✗ | AP0.10d / AP2.1 offen | +| Operational Actor API | ✗ | AP1.7 | +| MCP produktiv | ✗ | nach AP1.7 | --- @@ -119,10 +156,27 @@ Verhindert, dass Zielbild-Dokumente als Ist-Stand gelesen werden. | Vision | UI heute | |--------|----------| -| Arbeitspaket | Maßnahme | -| Quality Gate | Meilenstein (CRUD) | +| Arbeitspaket | Maßnahme (interim) | +| Quality Gate | Zielzustand / Gate (teils „Meilenstein“ legacy) | | Programm | Vorhaben | -| Plan | ◐ | Plan-Liste + Gate-Detail AP1.4b | +| Plan | ◐ | Plan-Outline + Gates + Designer | +| Cockpit | ✓ | ehem. Workspace | + +--- + +## MVP-Nutzbarkeits-Bar (v0.3 §5) — Kurz + +| # | Kriterium | Stand | +|---|-----------|-------| +| 1 | Anlegen Archetyp/Methode | ◐ | +| 2 | Struktur modellieren | ◐ | +| 3 | Ist committen | ◐ | +| 4 | Kontrolle begründet | ◐ | +| 5 | Journey | ◐ | +| 6 | Leitfrage ≤2 Min | ◐ | +| 7 | Cockpit Attention | ◐ | + +Details: `Kairo_Status_Review_and_Next_Steps_v0.1.md` §2.1 --- @@ -131,20 +185,21 @@ Verhindert, dass Zielbild-Dokumente als Ist-Stand gelesen werden. | Risiko | Mitigation | |--------|------------| | Target State liest sich wie fertig | Truth Table + Vision v0.2 | -| Completion Reports = Vision erreicht | Banner „technisch, nicht produktlich“ | -| Usability Recovery → mehr InitiativeDetail | Recovery Plan v0.2 → IA-first | +| Completion Reports = Vision erreicht | Review-Doc + Dogfooding | +| Roadmap-Phasen veraltet | Roadmap v0.2 §2 aktualisiert 2026-07-11 | +| Usability Recovery → InitiativeDetail | IA-first, Redirects AP1.9a | --- -## Nächste erwartete Änderungen (nach DOC-Programm) +## Nächste erwartete Truth-Table-Änderungen -| AP | Erwartete Truth-Table-Änderung | -|----|--------------------------------| -| AP1.2c | IA-Skeleton ✓ | -| AP1.2 | operating_phase ✗, signals ✓ | -| AP1.4 | RoadmapItem ◐, Gate Verify ◐ | -| AP1.5 | Task ○, Project GUI ◐ | -| AP1.8 | Portfolio-Priorität ○, situativer Kontext ○ | +| AP | Erwartung | +|----|-----------| +| AP1.9c | Cockpit-Signale ◐→✓ | +| AP2.0d | Strategien ○→◐ | +| Dogfooding R1 | Referenz-Vorhaben in Alltag ◐ | +| AP2.0f | work_cycle ○→◐ | +| AP1.7 | Operational API ✗→◐ | --- diff --git a/docs/product/Kairo_MVP_Definition_v0.3.md b/docs/product/Kairo_MVP_Definition_v0.3.md index b5b17cb..7ffc4fd 100644 --- a/docs/product/Kairo_MVP_Definition_v0.3.md +++ b/docs/product/Kairo_MVP_Definition_v0.3.md @@ -221,3 +221,5 @@ Bei MVP-Fragen gilt: - `docs/architecture/Kairo_Method_Design_Principles_v0.1.md` - `docs/architecture/Kairo_Target_Architecture_Method_Driven_Adaptive_Steering_Core_v0.1.md` - `docs/product/Kairo_Implementation_Truth_Table_v0.1.md` +- `docs/product/Kairo_Status_Review_and_Next_Steps_v0.1.md` +- `docs/product/Kairo_Dogfooding_Mirror_Steering_v0.1.md` diff --git a/docs/product/Kairo_Status_Review_and_Next_Steps_v0.1.md b/docs/product/Kairo_Status_Review_and_Next_Steps_v0.1.md new file mode 100644 index 0000000..65dc921 --- /dev/null +++ b/docs/product/Kairo_Status_Review_and_Next_Steps_v0.1.md @@ -0,0 +1,170 @@ +# Jinkendo Kairo +## Status-Review & Nächste Schritte v0.1 + +**Status:** PO-Review-Auswertung (living document) +**Stand:** 2026-07-11 +**Auslöser:** Vollständiger Plan/Ist/Soll-Abgleich, MVP-Review, Vorbereitung Dogfooding +**Bezug:** `Kairo_MVP_Definition_v0.3.md`, `Kairo_Implementation_Truth_Table_v0.1.md`, `Kairo_Corrected_MVP_Roadmap_v0.2.md` +**Dogfooding:** `Kairo_Dogfooding_Mirror_Steering_v0.1.md` + +--- + +## 1. Executive Summary + +**Gesamtziel (unverändert):** Kairo ist der operative **Program Director** — Plan und Ist getrennt, Gates prüfbar, Steuerung archetyp- und methodengebunden, Agenten als Actors. + +**Ist (2026-07-11, `develop` @ `b85a6ec`):** + +- **Foundation & OM:** tragfähig (~95 %) +- **Plan/Gates/Infrastruktur:** weit (~70 %) — RoadmapItem, Checkliste, Graph Engine, Designer, Plan/Ist-Diff, Journey +- **IA / PM Work Modes:** Shell da (~60 %) — Polish offen +- **Archetyp-Steuerung (MVP v0.3):** erster Slice AP2.0 (~40 %) +- **MVP-Abnahfe Stufe A:** noch nicht validiert (~25 %) + +**Urteil:** Technisch **weit über dem alten MVP-Slice** (`Initiative → Action`), produktlich **noch nicht MVP-nah** im Sinne von v0.3 — weil **Steuerung pro Archetyp**, **Cockpit-Signale** und **Referenz-Validierung** fehlen. + +**Nächster strategischer Hebel:** Kairo-Jinkendo als **Referenz-Vorhaben B2b** in Kairo spiegeln (Dogfooding) — Plan bleibt in Git/Docs, Kairo trackt Ist + Fortschritt + Ergebnisse. + +--- + +## 2. Plan / Ist / Soll — Review-Matrix + +### 2.1 MVP-Nutzbarkeits-Bar (v0.3 §5) + +| # | Kriterium | Soll | Ist 2026-07-11 | Δ | +|---|-----------|------|----------------|---| +| 1 | Vorhaben anlegen (Archetyp, Methode, EFS) | Archetyp → Default-Methode | AP2.0b ✓, Profil-Modal AP1.10c ◐ | UX nicht geführt | +| 2 | Passende Struktur modellieren | methodenabhängig | Gates, Graph, Outline, Projects ◐ | archetyp-Flows fehlen | +| 3 | Ist committen | Actions, Tasks, Recurring | Actions ✓, Tasks ◐ AP1.5d, Recurring ✓ | Task-Roll-up ◐ | +| 4 | Kontrolle mit Begründung | Lifecycle, Methode, Next Action | AP2.0c Snapshot ◐ | Strategien unvollständig | +| 5 | Journey nachvollziehbar | ≥5 Events | AP1.6a/b ◐ | nicht validiert | +| 6 | Leitfrage ≤2 Min | ohne CRUD-Wand | IA AP1.9a ✓, Inline-Forms ◐ | Polish AP1.9c/d | +| 7 | Cockpit Portfolio-Attention | welches Vorhaben zuerst | AP1.8a Rang ✓, Signale ✗ | AP1.9c | + +**Score:** 0/7 voll ✓ · 7/7 ◐ + +### 2.2 Abnahfe-Stufen (Archetypen) + +| Stufe | Archetypen | Ist | +|-------|------------|-----| +| **A** | A1, A2, B2b, B3 minimal | **B2b am nächsten** (Kairo selbst); A1/A2 → AP2.0d; B3 → AP2.0f (`work_cycle` fehlt) | +| **B** | A3, B1, D1 | Katalog + Seeds, keine Strategien | +| **C** | C1 | nur Spezifikation | + +### 2.3 Reifegrad (technisch vs. produktlich) + +```text +Foundation ████████ ~95% +OM-Persistenz ██████░░ ~75% +Plan/Gates ██████░░ ~70% +IA / Modi █████░░░ ~60% +Steering-Kern ████░░░░ ~50% +Archetyp-Steuerung ███░░░░░ ~40% +MVP-Abnahfe A ██░░░░░░ ~25% +Agent/MCP ░░░░░░░░ ~5% +Dokumentation █████░░░ ~55% (nach diesem DOC-Slice) +``` + +--- + +## 3. Was seit dem letzten DOC-Stand geliefert wurde + +Commits auf `develop` bis `b85a6ec` (Auszug): + +| Paket | Inhalt | Produktwert | +|-------|--------|-------------| +| AP1.4c | Gate-Checkliste UI | Verify im Alltag | +| AP1.4d/e | Graph Engine, Methodenprofile | blocked/ready, enforce_gate_blocking | +| AP1.12a–d | Plan-Outline, Modal, Reorder, Actions im Baum | Plan-Modus nutzbar | +| AP1.13a/b | Gate-Map read-only + Dependency-Pflege | Graph-Sicht | +| AP1.14 | Plan-Snapshots, Plan/Ist-Diff | Kontrolle | +| AP1.15a–c | Zielzustands-Designer | Pan/Zoom, Drag-Kanten, parallel/optional | +| AP1.5d | Task-Baum Backend + Plan-Outline | ◐ Rest UI | +| AP1.6b | Journey Gate-Fortschritt + Ist-Graph | Kontrolle | +| AP1.8a | Portfolio-Rang, Cockpit-Reorder | Cockpit | +| AP2.0a–c | Method-Stubs, Archetyp-Seeds, Kontrolle-Lagebild | MVP-B2b-Basis | +| AP1.10c | Profil-Modal Archetyp/EFS | Anlage | + +**Frontend-Version:** `0.18.0-ap2.0` +**Schema:** Migrationen 001–022 + +--- + +## 4. Bekannte Abweichungen & Risiken + +| Thema | Beschreibung | Maßnahme | +|-------|--------------|----------| +| Dokumentationsdrift | Truth Table, Gap Analysis, Vision §10, Roadmap §2 veraltet | **dieser DOC-Slice** | +| Zwei Roadmap-Logiken | Roadmap v0.2 (AP-Historie) vs. MVP v0.3 §9 (Abnahfe-first) | MVP v0.3 führend für Abnahme | +| Infrastruktur > Steuerung | Viel Gate/Plan-UI ohne archetyp-Strategien | AP2.0d vor Plan-Politur | +| Todo-Explosion | Listen noch überall erreichbar | MVP §7 UI-Regeln + Default-Ansichten | +| MCP vor AP1.7 | Ad-hoc-Integration | Erst Operational API | +| Gitea-Integration | Schicht 4 eingefroren | Phase 1: manuelle Evidence-Links (Dogfooding-Doc) | + +--- + +## 5. Roadmap — Nächste Schritte (verbindlich) + +Priorität nach MVP v0.3 §9, Review 2026-07-11 und Dogfooding-Vorbereitung: + +| Phase | Paket | Ziel | Abhängigkeit | +|-------|-------|------|--------------| +| **D0** | **DOC-Sync** | Truth Table, Gap Analysis, Roadmap §2–3, dieses Dokument | — | +| **D1** | **Dogfooding R1** | Vorhaben „Kairo-Jinkendo“ in Kairo anlegen (Spiegel, manuell) | D0 | +| **1** | **AP1.9c** | Cockpit: Signale auf Portfolio-Kacheln | — | +| **2** | **AP1.9b/d** | Scope-Breadcrumb, Kontrolle-Polish | 1 optional parallel | +| **3** | **AP2.0d** | Next-Action-Strategien: maturity, sequential, recurring, queue | — | +| **4** | **Dogfooding R2** | Ist pflegen, Evidence mit Gitea-Links, Gate-Fortschritt | D1 | +| **5** | **AP0.10d / AP2.1** | Validation B2b: Leitfrage-Test auf Pi | 3, 4 | +| **6** | **AP2.0f** | `work_cycle` / Sprint auf Product (B3 minimal) | 5 optional | +| **7** | **AP1.5d Rest** | Task-Detail, Roll-up-UI | parallel möglich | +| **8** | **AP1.7** | Operational Actor Interface | nach 5 | +| **9** | **Integration** | Gitea-Webhook → Journey/Evidence (Schicht 4) | AP1.7 | +| **10** | **MCP-Adapter** | Cursor-Agent auf Operational API | 8 | + +```text +D0 DOC ──► D1 Dogfooding anlegen ──► 1 AP1.9c ──► 3 AP2.0d ──► 4 Ist spiegeln + └──► 5 Validation ──► 8 AP1.7 ──► 10 MCP +``` + +**Bewusst deferred:** AP1.15d OR-Pfade, AP1.8b situativer Kontext, AP1.3 Hook Orchestrator (parallel möglich, nicht MVP-kritisch). + +--- + +## 6. MVP-Urteil + +**Ist Kairo MVP-nah (v0.3)?** — **Nein**, aber **B2b-Abnahfe (Kairo steuert Kairo)** ist mit D1 + AP1.9c + AP2.0d + Validation in **2–3 Iterationen** erreichbar. + +Minimum für **Stufe-A-Abnahfe B2b**: + +1. Vorhaben `initiative.product` + Ausprägung `product.kairo_dev` +2. Gate-Struktur entlang Phasen (siehe Dogfooding-Doc) +3. Committete Actions für laufende APs +4. Kontrolle: Next Action mit Begründung (prüfen nach AP2.0d) +5. Journey + Gate-Fortschritt sichtbar +6. Cockpit: Priorität + Signale +7. Validation ≥3/5 „hilft bei Steuerung“ + +--- + +## 7. Dokumenten-Updates in diesem Slice + +| Dokument | Änderung | +|----------|----------| +| `Kairo_Implementation_Truth_Table_v0.1.md` | Vollständig auf Stand 2026-07-11 | +| `Kairo_Current_State_Gap_Analysis_v0.2.md` | → v0.3, Gap-Matrix aktualisiert | +| `Kairo_Corrected_MVP_Roadmap_v0.2.md` | Phasen §2, Erledigt §3, Nächste §4, Versionen §7 | +| `Kairo_Vision_and_Product_Direction_v0.2.md` | §10 Verweis auf Truth Table (Kurzstand) | +| `Kairo_Dogfooding_Mirror_Steering_v0.1.md` | **neu** — Spiegel-Steuerung + Gitea | + +--- + +## 8. PO-Freigabe (offen) + +- [ ] Roadmap §5 (Phasen D0–10) akzeptiert +- [ ] Dogfooding Phase 1 (manueller Spiegel) starten +- [ ] Gitea-Links in Evidence als Übergang bis Webhook OK + +--- + +*Siehe auch: `Kairo_MVP_Definition_v0.3.md`, `ADP_Archetype_and_Method_Catalog_v0.2.md`, `Kairo_Dogfooding_Mirror_Steering_v0.1.md`* diff --git a/docs/product/Kairo_Vision_and_Product_Direction_v0.2.md b/docs/product/Kairo_Vision_and_Product_Direction_v0.2.md index def9453..ecc54a5 100644 --- a/docs/product/Kairo_Vision_and_Product_Direction_v0.2.md +++ b/docs/product/Kairo_Vision_and_Product_Direction_v0.2.md @@ -399,29 +399,27 @@ Kairo ist **kein** einzelnes PM- oder Software-Framework. Auf **allen Ebenen** k ## 10. Ehrlicher Implementierungsstand (Kurz) -| Visionselement | Stand | -|----------------|-------| -| Tenant, Actor, Capabilities | ✓ produktionsnah | -| Initiative, Action, Assignment | ✓ flach | -| Backlog, Blocker, Evidence, Decision, Review | ✓ CRUD + APIs | -| Steering Foundation (Lifecycle, Snapshot) | ✓ Skeleton | -| Method Registry | ✓ minimal | -| Workspace Next Action / Heute | ✓ Widget-Ebene | -| **Portfolio-Priorität (Initiativen)** | ✗ | -| **Next-Action-Widget konfigurierbar (Workspace + Initiative)** | ◐ Widget-Registry; fest eingebaut | -| **Getrennte IA (Workspace → Initiative → Unterseiten)** | ✗ | -| **Operational Actor Interface (Vibe-Coder API)** | ✗ | -| **Situativer Steuerungskontext** | ✗ | -| **Modal/Detail-Bearbeitung** | ✗ | -| **Roadmap / RoadmapItem** | ✗ | -| **Gate mit DoD & Verifikation** | ✗ | -| **Abhängigkeiten** | ✗ | -| **Plan vs. Ist** | ✗ | -| **Task-Hierarchie unter Action** | ✗ | -| **Journey-Sicht** | ✗ | -| Project (optional im OM) | Schema/API teils, **GUI fehlt** | +**Vollständig:** `Kairo_Implementation_Truth_Table_v0.1.md` (Stand 2026-07-11) +**Review & Roadmap:** `Kairo_Status_Review_and_Next_Steps_v0.1.md` -Details: `Kairo_Implementation_Truth_Table_v0.1.md` +| Visionselement | Stand 2026-07-11 | +|----------------|------------------| +| Tenant, Actor, Capabilities | ✓ | +| Initiative, Action, Assignment, OM-CRUD | ✓ / ◐ GUI | +| Steering Foundation (Lifecycle, Snapshot, Signals) | ✓ Skeleton | +| Method Registry + Archetyp-Katalog | ◐ AP2.0a–c | +| PM Work Modes (Cockpit, Plan, Control) | ◐ Shell ✓, Polish offen | +| RoadmapItem / Gate / Checkliste / Graph | ◐ AP1.4–4e, 13, 15 | +| Plan vs. Ist / Journey | ◐ AP1.6, 1.14, 1.6b | +| Plan-Outline / Modal (Gates, Profil) | ◐ AP1.12, 1.10c | +| Portfolio-Priorität | ◐ AP1.8a | +| Next Action mit Begründung | ◐ AP2.0c; Strategien AP2.0d offen | +| Archetyp-Steuerung MVP v0.3 | ◐ nicht validiert | +| Operational Actor Interface / MCP | ✗ AP1.7 | +| Task-Hierarchie | ◐ AP1.5d | +| MVP-Abnahfe Stufe A | ✗ | + +**Urteil:** Technisch weit über dem historischen `Initiative → Action`-Slice; produktlich **noch nicht MVP-nah** (v0.3) — Dogfooding + AP1.9c + AP2.0d als nächste Hebel. ---