fix(15-02): remove Plan layer from UI hierarchy

Simplified to Initiative → Phase → Task (no intermediate Plan layer).
Removed PlanTree component, tasks now directly under PhaseAccordion.
This commit is contained in:
Lukas May
2026-02-02 15:48:52 +01:00
parent 05b7b717f8
commit 1156933a8e
2 changed files with 46 additions and 73 deletions

View File

@@ -5,7 +5,7 @@
## Tasks Completed
1. **Create initiative detail wireframe with hierarchical breakdown**
- Created ASCII wireframe showing phase → plan → task hierarchy
- Created ASCII wireframe showing phase → task hierarchy (simplified from phase → plan → task)
- Added status indicators (DONE, IN PROGRESS, PENDING, BLOCKED)
- Included agent assignments inline with tasks `[gastown]`
- Visualized dependencies with `^` indicators and blocked-by annotations
@@ -16,7 +16,7 @@
| File | Description |
|------|-------------|
| `docs/wireframes/initiative-detail.md` | Initiative detail screen wireframe (299 lines) |
| `docs/wireframes/initiative-detail.md` | Initiative detail screen wireframe |
## Wireframe Contents
@@ -28,12 +28,11 @@
- Agent Spawn Dialog for starting new agents
### Component Specifications
- **PhaseAccordion**: Expandable phase container with status badge
- **PlanTree**: Nested task list with tree connectors
- **PhaseAccordion**: Expandable phase container with tasks (no intermediate Plan layer)
- **TaskRow**: Task with inline status and agent assignment
- **DependencyIndicator**: Shows blocking dependencies with `^` symbol
- **DecisionList**: Collapsible key decisions panel
- **ProgressPanel**: Overall progress metrics (phases/plans/tasks)
- **ProgressPanel**: Overall progress metrics (phases/tasks)
### Interaction Notes
- Click phase header → expand/collapse
@@ -42,7 +41,7 @@
- "Spawn Agent" button on pending tasks
- "Queue Phase" / "Queue All" buttons for batch dispatch
## Commit
## Commits
```
c1386ed docs(15-02): create initiative detail wireframe with hierarchical breakdown
@@ -58,10 +57,6 @@ c1386ed docs(15-02): create initiative detail wireframe with hierarchical breakd
## Deviations
None. Plan executed as specified with additional enhancements:
- Added expanded views for tasks with agents and blocked tasks
- Added TaskDetailModal wireframe
- Added Agent Spawn Dialog wireframe
- Added ProgressPanel component specification
- Added status color mapping
- Added responsive considerations
- Removed Plan layer from hierarchy (Initiative → Phase → Task, not Initiative → Phase → Plan → Task)
- Removed PlanTree component (tasks now directly under PhaseAccordion)
- Progress panel simplified to phases/tasks counts (no plans)

View File

@@ -1,6 +1,6 @@
# Initiative Detail Wireframe
The Initiative Detail screen shows the hierarchical breakdown of an initiative into phases, plans, and tasks. It provides visibility into progress, dependencies, and agent assignments.
The Initiative Detail screen shows the hierarchical breakdown of an initiative into phases and tasks. It provides visibility into progress, dependencies, and agent assignments.
## ASCII Wireframe
@@ -20,10 +20,10 @@ The Initiative Detail screen shows the hierarchical breakdown of an initiative i
| | [==========------] 67% | | v Authentication Method | |
| | | | JWT with httpOnly cookies | |
| | Phases: 2/3 complete | | Reason: XSS protection, refresh tokens | |
| | Plans: 6/9 complete | | | |
| | Tasks: 18/27 complete | | v Token Expiry | |
| | | | 15min access / 7d refresh | |
| +---------------------------+ | Reason: Balance security & UX | |
| | Tasks: 18/27 complete | | | |
| | | | v Token Expiry | |
| +---------------------------+ | 15min access / 7d refresh | |
| | Reason: Balance security & UX | |
| | | |
| | > Session Storage (collapsed) | |
| | > Password Policy (collapsed) | |
@@ -35,33 +35,27 @@ The Initiative Detail screen shows the hierarchical breakdown of an initiative i
| |
| v Phase 1: Core Infrastructure ------------------------------------ COMPLETE |
| | |
| +-- Plan 01: Project Foundation (3/3 tasks) ---------------------- DONE |
| | |-- Task: Initialize repository -------------------- DONE |
| | |-- Task: Configure TypeScript --------------------- DONE |
| | +-- Task: Setup build pipeline --------------------- DONE |
| | |
| +-- Plan 02: CLI Entry Point (2/2 tasks) ------------------------- DONE |
| | |-- Task: Create bin entry ------------------------- DONE |
| | +-- Task: Add commander integration ---------------- DONE |
| | |
| +-- Plan 03: Process Management (3/3 tasks) ---------------------- DONE |
| |-- Task: Create ProcessManager -------------------- DONE |
| |-- Task: Implement graceful shutdown -------------- DONE |
| +-- Task: Add signal handlers ---------------------- DONE |
| |-- Task: Initialize repository --------------------------------- DONE |
| |-- Task: Configure TypeScript ---------------------------------- DONE |
| |-- Task: Setup build pipeline ---------------------------------- DONE |
| |-- Task: Create bin entry -------------------------------------- DONE |
| |-- Task: Add commander integration ----------------------------- DONE |
| |-- Task: Create ProcessManager --------------------------------- DONE |
| |-- Task: Implement graceful shutdown --------------------------- DONE |
| +-- Task: Add signal handlers ----------------------------------- DONE |
| |
| v Phase 2: Data Layer ----------------------------------------- IN PROGRESS |
| | |
| +-- Plan 01: Database Setup (1/2 tasks) ---------------------- ACTIVE |
| | |-- Task: Create schema ---------------------------- DONE |
| | +-- Task: Run migrations --------- [gastown] --- IN PROGRESS |
| | |
| +-- Plan 02: Repository Layer (0/3 tasks) ----- [blocked by Plan 01] ---- |
| |-- Task: User repository -------------------------- PENDING |
| |-- Task: Task repository -------------------------- PENDING |
| +-- Task: Init repository -------------------------- PENDING |
| ^ blocked by: Plan 01 tasks |
| |-- Task: Create schema ----------------------------------------- DONE |
| |-- Task: Run migrations --------------- [gastown] --------- IN PROGRESS |
| |-- Task: User repository -------------------- [blocked] ------- PENDING |
| | ^ blocked by: Run migrations |
| |-- Task: Task repository -------------------- [blocked] ------- PENDING |
| | ^ blocked by: Run migrations |
| +-- Task: Init repository -------------------- [blocked] ------- PENDING |
| ^ blocked by: User repository, Task repository |
| |
| > Phase 3: Git Integration (0/2 plans) ----------------------------- PENDING |
| > Phase 3: Git Integration (0/6 tasks) ----------------------------- PENDING |
| ^ blocked by: Phase 2 |
| |
+----------------------------------------------------------------------------------+
@@ -72,7 +66,7 @@ Legend:
^ = Dependency indicator
Status Indicators:
DONE / COMPLETE = Task/plan/phase finished
DONE / COMPLETE = Task/phase finished
IN PROGRESS = Currently being worked on
PENDING = Not yet started
BLOCKED = Has unresolved dependencies
@@ -102,8 +96,8 @@ Status Indicators:
+-- Task: Init repository --------------------------------------------- PENDING
|
| ^ Blocked by:
| | Plan 01 / Task: User repository (PENDING)
| | Plan 01 / Task: Task repository (PENDING)
| | Task: User repository (PENDING)
| | Task: Task repository (PENDING)
|
| Dependencies must complete before this task can start.
|
@@ -114,13 +108,13 @@ Status Indicators:
### PhaseAccordion
Container for a phase that can be expanded/collapsed to show its plans.
Container for a phase that can be expanded/collapsed to show its tasks.
**Props:**
| Prop | Type | Description |
|------|------|-------------|
| `phase` | `Phase` | Phase entity with status, number, name |
| `plans` | `Plan[]` | Plans belonging to this phase |
| `tasks` | `Task[]` | Tasks belonging to this phase |
| `expanded` | `boolean` | Whether section is expanded |
| `onToggle` | `() => void` | Toggle expand/collapse |
@@ -128,24 +122,8 @@ Container for a phase that can be expanded/collapsed to show its plans.
- Default: First incomplete phase expanded, completed phases collapsed
- Click header to toggle expand/collapse
- Shows phase status badge (COMPLETE, IN PROGRESS, PENDING, BLOCKED)
- Shows dependency indicator if blocked
### PlanTree
Displays a plan with its nested task list in tree format.
**Props:**
| Prop | Type | Description |
|------|------|-------------|
| `plan` | `Plan` | Plan entity with number, name, wave |
| `tasks` | `Task[]` | Tasks belonging to this plan |
| `blockedBy` | `string | null` | What's blocking this plan (if any) |
**Behavior:**
- Shows task count: (completed/total tasks)
- Tree connectors: `|--` for siblings, `+--` for last item
- Plan status derived from task statuses
- Shows blocked indicator if dependencies exist
- Shows task count: `(completed/total tasks)`
- Shows dependency indicator if blocked by another phase
### TaskRow
@@ -163,21 +141,22 @@ Single task row with status, assignment, and actions.
- Shows agent name inline if assigned: `[agent-name]`
- Shows status: DONE, IN PROGRESS, PENDING, BLOCKED
- Pending tasks show "Spawn Agent" on hover
- Tree connectors: `|--` for siblings, `+--` for last item
### DependencyIndicator
Shows what's blocking a task or plan.
Shows what's blocking a task or phase.
**Props:**
| Prop | Type | Description |
|------|------|-------------|
| `blockedBy` | `Dependency[]` | Array of blocking items |
| `type` | `'task' | 'plan' | 'phase'` | What level this dependency is at |
| `type` | `'task' \| 'phase'` | What level this dependency is at |
**Behavior:**
- Renders `^` symbol with hover tooltip
- Clicking shows full dependency path
- Format: `blocked by: {dependency description}`
- Format: `blocked by: {task/phase name}`
### DecisionList
@@ -203,14 +182,12 @@ Shows overall progress metrics for the initiative.
|------|------|-------------|
| `phasesComplete` | `number` | Completed phases count |
| `phasesTotal` | `number` | Total phases |
| `plansComplete` | `number` | Completed plans count |
| `plansTotal` | `number` | Total plans |
| `tasksComplete` | `number` | Completed tasks count |
| `tasksTotal` | `number` | Total tasks |
**Behavior:**
- Progress bar shows percentage
- Breakdown by phase/plan/task counts
- Progress bar shows percentage based on tasks
- Breakdown by phase and task counts
## Interaction Notes
@@ -219,7 +196,6 @@ Shows overall progress metrics for the initiative.
| Element | Action |
|---------|--------|
| Phase header | Expand/collapse phase |
| Plan row | Expand/collapse plan tasks |
| Task row | Opens TaskDetailModal |
| Agent name `[gastown]` | Navigates to agent detail view |
| "Spawn Agent" button | Opens agent spawn dialog for this task |
@@ -238,7 +214,8 @@ When clicking a task row, a modal opens with:
+------------------------------------------------------+
| |
| Status: IN PROGRESS Priority: Normal |
| Assigned: gastown Started: 14:30 |
| Phase: Data Layer Started: 14:30 |
| Assigned: gastown |
| |
| Description: |
| Run database migrations for user and session |
@@ -265,6 +242,7 @@ When clicking "Spawn Agent" on a pending task:
+------------------------------------------------------+
| |
| Task: User repository |
| Phase: Data Layer |
| |
| Agent name: [auto-generated: yaletown] |
| Mode: [Execute v] |