Kairo-Jinkendo/docs/sprints/Sprint1_AP1_2c_IA_Skeleton_Assignment_v0.1.md

170 lines
5.2 KiB
Markdown
Raw Normal View History

# AP1.2c — IA-Skeleton (Workspace, Initiative-Übersicht, Unterseiten)
## Implementierungsauftrag v0.1
**Status:** bereit zur Umsetzung (nach DOC Welle 2)
**Stand:** 2026-07-05
**Vision:** `Kairo_Vision_and_Product_Direction_v0.2.md` §7
**Recovery:** `Kairo_MVP_Usability_Recovery_Plan_v0.2.md`
**Vorgänger:** AP1.1b ✓ (Redirect-Ziel)
**Zielversion:** `0.12.0-ap1.2c` · **kein** Schema-Change
---
## Ziel
**Informationsarchitektur umsetzen** — ohne neues Fachmodell:
- Workspace = Portfolio aller Initiativen
- Initiative-Übersicht = operative Steuerung (read-heavy)
- Unterseiten = Pflege (bestehende Sektionen **verschieben**, nicht duplizieren)
- Next-Action-Widget konfigurierbar auf Workspace **und** Initiative-Übersicht
---
## Scope Lock
- **Keine** neuen Tabellen
- **Keine** RoadmapItem / Gate-Logik
- **Keine** Portfolio-Priorität (AP1.8)
- **Keine** `/api/operational/` (AP1.7)
- Steering nur bestehende APIs
---
## Teil A — Routing (React Router)
Neue Routen:
```text
/ Workspace (überarbeiten)
/initiatives/:id InitiativeOverviewPage (neu)
/initiatives/:id/plan InitiativePlanPage (Shell + MilestonesSection verschoben)
/initiatives/:id/execution InitiativeExecutionPage (ActionsHub)
/initiatives/:id/inbox InitiativeInboxPage (BacklogSection)
/initiatives/:id/journey InitiativeJourneyPage (Shell: Decisions/Reviews read)
/actions/:id ActionDetailPage (Modal-Alternative: volle Seite)
```
Redirect:
```text
/initiatives/:id/detail → /initiatives/:id (falls alte Links)
```
Alte `InitiativeDetailPage` → deprecate; Inhalt auf neue Pages **verteilen**.
---
## Teil B — Workspace (Portfolio)
### B1 — Initiative-Portfolio-Widget
- Kacheln oder kompakte Liste **aller** Initiativen des Tenants
- Pro Karte: Titel, Lifecycle-Badge, Method-Label, Kurzsignal (blockiert count, attention)
- Klick → `/initiatives/:id`
- Daten: bestehende `listInitiatives` + optional Snapshot-Summary (light endpoint oder parallel fetch — **kein** neues Backend nötig wenn Client parallel 5 Snapshots vermeidet: nur Initiative-Felder + counts aus workspace summary erweitern wenn nötig)
### B2 — Next-Action-Widget (Workspace-Instanz)
- Wiederverwendbare Komponente `NextActionWidget`
- Props: `scope: 'portfolio' | 'initiative'`, `initiativeId?`, `limit`, `filters`
- Portfolio: `/api/workspace/next-actions`
- Initiative: Snapshot `next_actions` oder Initiative-scoped API
### B3 — Layout-Registry
- Widget konfigurierbar in Workspace-Layout (bestehende View/Widget Registry AP0.6 erweitern — minimal: feste Slots wenn Registry zu schwer)
---
## Teil C — Initiative-Übersicht (read-heavy)
Neue `InitiativeOverviewPage`:
| Block | Quelle | Bearbeitung |
|-------|--------|-------------|
| Breadcrumb + Titel | initiative | — |
| Steering Hero | SteeringSnapshotPanel (read) | Methode wählen ✓ |
| Next-Action-Widget | scope=initiative | — |
| Roadblocker-Zusammenfassung | snapshot counts | Link → execution |
| Meilenstein-Horizont | snapshot | Link → plan |
| Nav-Karten | — | Links zu Unterseiten |
**Keine** Backlog/Blocker/Evidence-Listen inline. **Keine** Create-Formulare.
---
## Teil D — Unterseiten (Pflege verschieben)
| Page | Inhalt (aus InitiativeDetailPage) |
|------|-----------------------------------|
| Plan | `MilestonesSection` (+ später Roadmap) |
| Execution | `InitiativeActionsHub` |
| Inbox | `BacklogSection` |
| Journey | Shell + `DecisionsSection`, `ReviewsSection` read; Recurring optional |
Blockers/Evidence: primär am **ActionDetailPage**; vorhabenweite Blocker in Execution oder Inbox Sub-Sektion.
---
## Teil E — Action Detail
- Route `/actions/:id` oder `/initiatives/:id/actions/:actionId`
- ActionHubCard-Inhalt + volle Bearbeitung (ActionForm)
- Verknüpfte Blocker/Evidence/Reviews CRUD
---
## Teil F — Shared Components
- `NextActionWidget.jsx`
- `InitiativeNavTabs.jsx` oder Subnav
- `InitiativePortfolioGrid.jsx`
- CSS: bestehende steering/action-hub Styles
---
## Teil G — Tests
- Frontend: Smoke-Routes rendern (vitest optional minimal)
- Backend: keine Pflicht (kein Schema)
- Manuell: Navigation Workspace → Initiative → Plan → Execution
---
## Akzeptanzkriterien
- [ ] Workspace zeigt **alle** Initiativen als Portfolio
- [ ] Initiative-Übersicht ohne CRUD-Listen (nur Steuerung + Links)
- [ ] Next-Action-Widget auf Workspace **und** Initiative-Übersicht
- [ ] Unterseiten erreichbar; Pflege funktioniert dort
- [ ] Alte Omnibus-URL redirected oder ersetzt
- [ ] Version `0.12.0-ap1.2c`
- [ ] Truth Table aktualisiert
---
## Nicht-Scope
- RoadmapItem
- Portfolio-Priorität Feld
- Journey-Timeline visual
- Agent API
- operating_phase (→ AP1.2)
---
## Empfohlene Reihenfolge Implementierung
1. Routing + leere Shell-Pages
2. InitiativeOverviewPage (Snapshot + Next Action)
3. Execution/Inbox/Plan (Sektionen verschieben)
4. Workspace Portfolio
5. NextActionWidget extrahieren
6. ActionDetailPage
7. Redirect + alte Page entfernen
---
*Parallel empfohlen: AP1.2 (operating_phase entfernen) — kleiner Backend-PR vor oder nach 2c.*