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:
@@ -5,7 +5,7 @@
|
|||||||
## Tasks Completed
|
## Tasks Completed
|
||||||
|
|
||||||
1. **Create initiative detail wireframe with hierarchical breakdown**
|
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)
|
- Added status indicators (DONE, IN PROGRESS, PENDING, BLOCKED)
|
||||||
- Included agent assignments inline with tasks `[gastown]`
|
- Included agent assignments inline with tasks `[gastown]`
|
||||||
- Visualized dependencies with `^` indicators and blocked-by annotations
|
- Visualized dependencies with `^` indicators and blocked-by annotations
|
||||||
@@ -16,7 +16,7 @@
|
|||||||
|
|
||||||
| File | Description |
|
| File | Description |
|
||||||
|------|-------------|
|
|------|-------------|
|
||||||
| `docs/wireframes/initiative-detail.md` | Initiative detail screen wireframe (299 lines) |
|
| `docs/wireframes/initiative-detail.md` | Initiative detail screen wireframe |
|
||||||
|
|
||||||
## Wireframe Contents
|
## Wireframe Contents
|
||||||
|
|
||||||
@@ -28,12 +28,11 @@
|
|||||||
- Agent Spawn Dialog for starting new agents
|
- Agent Spawn Dialog for starting new agents
|
||||||
|
|
||||||
### Component Specifications
|
### Component Specifications
|
||||||
- **PhaseAccordion**: Expandable phase container with status badge
|
- **PhaseAccordion**: Expandable phase container with tasks (no intermediate Plan layer)
|
||||||
- **PlanTree**: Nested task list with tree connectors
|
|
||||||
- **TaskRow**: Task with inline status and agent assignment
|
- **TaskRow**: Task with inline status and agent assignment
|
||||||
- **DependencyIndicator**: Shows blocking dependencies with `^` symbol
|
- **DependencyIndicator**: Shows blocking dependencies with `^` symbol
|
||||||
- **DecisionList**: Collapsible key decisions panel
|
- **DecisionList**: Collapsible key decisions panel
|
||||||
- **ProgressPanel**: Overall progress metrics (phases/plans/tasks)
|
- **ProgressPanel**: Overall progress metrics (phases/tasks)
|
||||||
|
|
||||||
### Interaction Notes
|
### Interaction Notes
|
||||||
- Click phase header → expand/collapse
|
- Click phase header → expand/collapse
|
||||||
@@ -42,7 +41,7 @@
|
|||||||
- "Spawn Agent" button on pending tasks
|
- "Spawn Agent" button on pending tasks
|
||||||
- "Queue Phase" / "Queue All" buttons for batch dispatch
|
- "Queue Phase" / "Queue All" buttons for batch dispatch
|
||||||
|
|
||||||
## Commit
|
## Commits
|
||||||
|
|
||||||
```
|
```
|
||||||
c1386ed docs(15-02): create initiative detail wireframe with hierarchical breakdown
|
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
|
## Deviations
|
||||||
|
|
||||||
None. Plan executed as specified with additional enhancements:
|
- Removed Plan layer from hierarchy (Initiative → Phase → Task, not Initiative → Phase → Plan → Task)
|
||||||
- Added expanded views for tasks with agents and blocked tasks
|
- Removed PlanTree component (tasks now directly under PhaseAccordion)
|
||||||
- Added TaskDetailModal wireframe
|
- Progress panel simplified to phases/tasks counts (no plans)
|
||||||
- Added Agent Spawn Dialog wireframe
|
|
||||||
- Added ProgressPanel component specification
|
|
||||||
- Added status color mapping
|
|
||||||
- Added responsive considerations
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# Initiative Detail Wireframe
|
# 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
|
## ASCII Wireframe
|
||||||
|
|
||||||
@@ -20,10 +20,10 @@ The Initiative Detail screen shows the hierarchical breakdown of an initiative i
|
|||||||
| | [==========------] 67% | | v Authentication Method | |
|
| | [==========------] 67% | | v Authentication Method | |
|
||||||
| | | | JWT with httpOnly cookies | |
|
| | | | JWT with httpOnly cookies | |
|
||||||
| | Phases: 2/3 complete | | Reason: XSS protection, refresh tokens | |
|
| | Phases: 2/3 complete | | Reason: XSS protection, refresh tokens | |
|
||||||
| | Plans: 6/9 complete | | | |
|
| | Tasks: 18/27 complete | | | |
|
||||||
| | Tasks: 18/27 complete | | v Token Expiry | |
|
| | | | v Token Expiry | |
|
||||||
| | | | 15min access / 7d refresh | |
|
| +---------------------------+ | 15min access / 7d refresh | |
|
||||||
| +---------------------------+ | Reason: Balance security & UX | |
|
| | Reason: Balance security & UX | |
|
||||||
| | | |
|
| | | |
|
||||||
| | > Session Storage (collapsed) | |
|
| | > Session Storage (collapsed) | |
|
||||||
| | > Password Policy (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 |
|
| v Phase 1: Core Infrastructure ------------------------------------ COMPLETE |
|
||||||
| | |
|
| | |
|
||||||
| +-- Plan 01: Project Foundation (3/3 tasks) ---------------------- DONE |
|
| |-- Task: Initialize repository --------------------------------- DONE |
|
||||||
| | |-- Task: Initialize repository -------------------- DONE |
|
| |-- Task: Configure TypeScript ---------------------------------- DONE |
|
||||||
| | |-- Task: Configure TypeScript --------------------- DONE |
|
| |-- Task: Setup build pipeline ---------------------------------- DONE |
|
||||||
| | +-- Task: Setup build pipeline --------------------- DONE |
|
| |-- Task: Create bin entry -------------------------------------- DONE |
|
||||||
| | |
|
| |-- Task: Add commander integration ----------------------------- DONE |
|
||||||
| +-- Plan 02: CLI Entry Point (2/2 tasks) ------------------------- DONE |
|
| |-- Task: Create ProcessManager --------------------------------- DONE |
|
||||||
| | |-- Task: Create bin entry ------------------------- DONE |
|
| |-- Task: Implement graceful shutdown --------------------------- DONE |
|
||||||
| | +-- Task: Add commander integration ---------------- DONE |
|
| +-- Task: Add signal handlers ----------------------------------- DONE |
|
||||||
| | |
|
|
||||||
| +-- Plan 03: Process Management (3/3 tasks) ---------------------- DONE |
|
|
||||||
| |-- Task: Create ProcessManager -------------------- DONE |
|
|
||||||
| |-- Task: Implement graceful shutdown -------------- DONE |
|
|
||||||
| +-- Task: Add signal handlers ---------------------- DONE |
|
|
||||||
| |
|
| |
|
||||||
| v Phase 2: Data Layer ----------------------------------------- IN PROGRESS |
|
| v Phase 2: Data Layer ----------------------------------------- IN PROGRESS |
|
||||||
| | |
|
| | |
|
||||||
| +-- Plan 01: Database Setup (1/2 tasks) ---------------------- ACTIVE |
|
| |-- Task: Create schema ----------------------------------------- DONE |
|
||||||
| | |-- Task: Create schema ---------------------------- DONE |
|
| |-- Task: Run migrations --------------- [gastown] --------- IN PROGRESS |
|
||||||
| | +-- Task: Run migrations --------- [gastown] --- IN PROGRESS |
|
| |-- Task: User repository -------------------- [blocked] ------- PENDING |
|
||||||
| | |
|
| | ^ blocked by: Run migrations |
|
||||||
| +-- Plan 02: Repository Layer (0/3 tasks) ----- [blocked by Plan 01] ---- |
|
| |-- Task: Task repository -------------------- [blocked] ------- PENDING |
|
||||||
| |-- Task: User repository -------------------------- PENDING |
|
| | ^ blocked by: Run migrations |
|
||||||
| |-- Task: Task repository -------------------------- PENDING |
|
| +-- Task: Init repository -------------------- [blocked] ------- PENDING |
|
||||||
| +-- Task: Init repository -------------------------- PENDING |
|
| ^ blocked by: User repository, Task repository |
|
||||||
| ^ blocked by: Plan 01 tasks |
|
|
||||||
| |
|
| |
|
||||||
| > Phase 3: Git Integration (0/2 plans) ----------------------------- PENDING |
|
| > Phase 3: Git Integration (0/6 tasks) ----------------------------- PENDING |
|
||||||
| ^ blocked by: Phase 2 |
|
| ^ blocked by: Phase 2 |
|
||||||
| |
|
| |
|
||||||
+----------------------------------------------------------------------------------+
|
+----------------------------------------------------------------------------------+
|
||||||
@@ -72,7 +66,7 @@ Legend:
|
|||||||
^ = Dependency indicator
|
^ = Dependency indicator
|
||||||
|
|
||||||
Status Indicators:
|
Status Indicators:
|
||||||
DONE / COMPLETE = Task/plan/phase finished
|
DONE / COMPLETE = Task/phase finished
|
||||||
IN PROGRESS = Currently being worked on
|
IN PROGRESS = Currently being worked on
|
||||||
PENDING = Not yet started
|
PENDING = Not yet started
|
||||||
BLOCKED = Has unresolved dependencies
|
BLOCKED = Has unresolved dependencies
|
||||||
@@ -102,8 +96,8 @@ Status Indicators:
|
|||||||
+-- Task: Init repository --------------------------------------------- PENDING
|
+-- Task: Init repository --------------------------------------------- PENDING
|
||||||
|
|
|
|
||||||
| ^ Blocked by:
|
| ^ Blocked by:
|
||||||
| | Plan 01 / Task: User repository (PENDING)
|
| | Task: User repository (PENDING)
|
||||||
| | Plan 01 / Task: Task repository (PENDING)
|
| | Task: Task repository (PENDING)
|
||||||
|
|
|
|
||||||
| Dependencies must complete before this task can start.
|
| Dependencies must complete before this task can start.
|
||||||
|
|
|
|
||||||
@@ -114,13 +108,13 @@ Status Indicators:
|
|||||||
|
|
||||||
### PhaseAccordion
|
### 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:**
|
**Props:**
|
||||||
| Prop | Type | Description |
|
| Prop | Type | Description |
|
||||||
|------|------|-------------|
|
|------|------|-------------|
|
||||||
| `phase` | `Phase` | Phase entity with status, number, name |
|
| `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 |
|
| `expanded` | `boolean` | Whether section is expanded |
|
||||||
| `onToggle` | `() => void` | Toggle expand/collapse |
|
| `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
|
- Default: First incomplete phase expanded, completed phases collapsed
|
||||||
- Click header to toggle expand/collapse
|
- Click header to toggle expand/collapse
|
||||||
- Shows phase status badge (COMPLETE, IN PROGRESS, PENDING, BLOCKED)
|
- Shows phase status badge (COMPLETE, IN PROGRESS, PENDING, BLOCKED)
|
||||||
- Shows dependency indicator if blocked
|
- Shows task count: `(completed/total tasks)`
|
||||||
|
- Shows dependency indicator if blocked by another phase
|
||||||
### 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
|
|
||||||
|
|
||||||
### TaskRow
|
### TaskRow
|
||||||
|
|
||||||
@@ -163,21 +141,22 @@ Single task row with status, assignment, and actions.
|
|||||||
- Shows agent name inline if assigned: `[agent-name]`
|
- Shows agent name inline if assigned: `[agent-name]`
|
||||||
- Shows status: DONE, IN PROGRESS, PENDING, BLOCKED
|
- Shows status: DONE, IN PROGRESS, PENDING, BLOCKED
|
||||||
- Pending tasks show "Spawn Agent" on hover
|
- Pending tasks show "Spawn Agent" on hover
|
||||||
|
- Tree connectors: `|--` for siblings, `+--` for last item
|
||||||
|
|
||||||
### DependencyIndicator
|
### DependencyIndicator
|
||||||
|
|
||||||
Shows what's blocking a task or plan.
|
Shows what's blocking a task or phase.
|
||||||
|
|
||||||
**Props:**
|
**Props:**
|
||||||
| Prop | Type | Description |
|
| Prop | Type | Description |
|
||||||
|------|------|-------------|
|
|------|------|-------------|
|
||||||
| `blockedBy` | `Dependency[]` | Array of blocking items |
|
| `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:**
|
**Behavior:**
|
||||||
- Renders `^` symbol with hover tooltip
|
- Renders `^` symbol with hover tooltip
|
||||||
- Clicking shows full dependency path
|
- Clicking shows full dependency path
|
||||||
- Format: `blocked by: {dependency description}`
|
- Format: `blocked by: {task/phase name}`
|
||||||
|
|
||||||
### DecisionList
|
### DecisionList
|
||||||
|
|
||||||
@@ -203,14 +182,12 @@ Shows overall progress metrics for the initiative.
|
|||||||
|------|------|-------------|
|
|------|------|-------------|
|
||||||
| `phasesComplete` | `number` | Completed phases count |
|
| `phasesComplete` | `number` | Completed phases count |
|
||||||
| `phasesTotal` | `number` | Total phases |
|
| `phasesTotal` | `number` | Total phases |
|
||||||
| `plansComplete` | `number` | Completed plans count |
|
|
||||||
| `plansTotal` | `number` | Total plans |
|
|
||||||
| `tasksComplete` | `number` | Completed tasks count |
|
| `tasksComplete` | `number` | Completed tasks count |
|
||||||
| `tasksTotal` | `number` | Total tasks |
|
| `tasksTotal` | `number` | Total tasks |
|
||||||
|
|
||||||
**Behavior:**
|
**Behavior:**
|
||||||
- Progress bar shows percentage
|
- Progress bar shows percentage based on tasks
|
||||||
- Breakdown by phase/plan/task counts
|
- Breakdown by phase and task counts
|
||||||
|
|
||||||
## Interaction Notes
|
## Interaction Notes
|
||||||
|
|
||||||
@@ -219,7 +196,6 @@ Shows overall progress metrics for the initiative.
|
|||||||
| Element | Action |
|
| Element | Action |
|
||||||
|---------|--------|
|
|---------|--------|
|
||||||
| Phase header | Expand/collapse phase |
|
| Phase header | Expand/collapse phase |
|
||||||
| Plan row | Expand/collapse plan tasks |
|
|
||||||
| Task row | Opens TaskDetailModal |
|
| Task row | Opens TaskDetailModal |
|
||||||
| Agent name `[gastown]` | Navigates to agent detail view |
|
| Agent name `[gastown]` | Navigates to agent detail view |
|
||||||
| "Spawn Agent" button | Opens agent spawn dialog for this task |
|
| "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 |
|
| Status: IN PROGRESS Priority: Normal |
|
||||||
| Assigned: gastown Started: 14:30 |
|
| Phase: Data Layer Started: 14:30 |
|
||||||
|
| Assigned: gastown |
|
||||||
| |
|
| |
|
||||||
| Description: |
|
| Description: |
|
||||||
| Run database migrations for user and session |
|
| Run database migrations for user and session |
|
||||||
@@ -265,6 +242,7 @@ When clicking "Spawn Agent" on a pending task:
|
|||||||
+------------------------------------------------------+
|
+------------------------------------------------------+
|
||||||
| |
|
| |
|
||||||
| Task: User repository |
|
| Task: User repository |
|
||||||
|
| Phase: Data Layer |
|
||||||
| |
|
| |
|
||||||
| Agent name: [auto-generated: yaletown] |
|
| Agent name: [auto-generated: yaletown] |
|
||||||
| Mode: [Execute v] |
|
| Mode: [Execute v] |
|
||||||
|
|||||||
Reference in New Issue
Block a user