170 lines
5.2 KiB
Markdown
170 lines
5.2 KiB
Markdown
|
|
# 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.*
|