Skip to content

split ChecklistPanel from FocusedAgentPanel (#548)#553

Merged
JeremyDev87 merged 1 commit intomasterfrom
feat/tui-checklist-panel-548
Feb 18, 2026
Merged

split ChecklistPanel from FocusedAgentPanel (#548)#553
JeremyDev87 merged 1 commit intomasterfrom
feat/tui-checklist-panel-548

Conversation

@JeremyDev87
Copy link
Owner

Summary

Extracts the Checklist section from FocusedAgentPanel into a dedicated ChecklistPanel component, placed at the top of the focused-agent column across all layout modes.

Closes #548

Changes

New Files

File Purpose
ChecklistPanel.tsx New panel component with border and title header
ChecklistPanel.spec.tsx Component rendering tests
checklist-panel.pure.ts resolveChecklistTasks — pure fallback logic
checklist-panel.pure.spec.ts TDD tests (4 cases) for resolveChecklistTasks

Modified Files

File Change
dashboard-types.ts Add checklistPanel: GridRegion to DashboardGrid
grid-layout.pure.ts Compute checklistPanel region; adjust focusedAgent height
grid-layout.pure.spec.ts Assert checklistPanel dimensions for all layout modes
FocusedAgentPanel.tsx Remove tasks prop and Checklist section
FocusedAgentPanel.spec.tsx Remove checklist-related tests
components/index.ts Export ChecklistPanel and resolveChecklistTasks
dashboard-app.tsx Render ChecklistPanel above FocusedAgentPanel in all modes

Layout After Change

Wide / Medium mode:

┌──────────────┬──────────────────────┐
│  FlowMap     │  ChecklistPanel      │  ← NEW (top, 30% height)
│              │                      │
├──────────────┼──────────────────────┤
│ ActivityViz  │  FocusedAgentPanel   │  ← checklist removed
│              │                      │
└──────────────┴──────────────────────┘

Narrow mode:

┌──────────────────────┐
│  ChecklistPanel      │  ← NEW (top)
├──────────────────────┤
│  FocusedAgentPanel   │
├──────────────────────┤
│  FlowMap             │
└──────────────────────┘

Key Implementation Details

  • Height formula: max(6, min(10, ceil(mainHeight * 0.3)))
  • Fallback logic (never blank): contextDecisions[0]contextNotes[0]"Review current task objectives"
  • formatEnhancedChecklist reused from focused-agent.pure.ts — no duplication

Test Coverage

  • resolveChecklistTasks: 4 cases (tasks present / empty+decisions / empty+notes / empty+no context)
  • ChecklistPanel: rendering with tasks, fallback from decisions, fallback from notes, default fallback
  • grid-layout.pure: checklistPanel dimensions asserted for wide, medium, and narrow modes

Acceptance Criteria

  • ChecklistPanel renders at the top of the focused-agent column in wide/medium/narrow modes
  • ChecklistPanel is never blank — always shows at least 1 TODO item
  • Fallback TODO derived from contextDecisionscontextNotes → default message
  • FocusedAgentPanel no longer contains a Checklist section
  • DashboardGrid includes checklistPanel: GridRegion
  • All existing tests pass
  • New tests cover resolveChecklistTasks (4 cases) and ChecklistPanel rendering

@vercel
Copy link

vercel bot commented Feb 18, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
codingbuddy-landing Ready Ready Preview, Comment Feb 18, 2026 1:13pm

@JeremyDev87 JeremyDev87 self-assigned this Feb 18, 2026
@JeremyDev87 JeremyDev87 added feat tui TUI Agent Monitor labels Feb 18, 2026
@JeremyDev87 JeremyDev87 changed the title feat(tui): split ChecklistPanel from FocusedAgentPanel (#548) split ChecklistPanel from FocusedAgentPanel (#548) Feb 18, 2026
- Add ChecklistPanel component rendered at the top of the focused-agent column
- Add resolveChecklistTasks pure function with fallback logic (decisions → notes → default)
- Add checklistPanel GridRegion to DashboardGrid type and computeGridLayout
- Remove tasks prop and Checklist section from FocusedAgentPanel
- Wire ChecklistPanel in dashboard-app for wide/medium/narrow layout modes
- Add tests for resolveChecklistTasks (4 cases) and ChecklistPanel rendering
- Add grid-layout assertions for checklistPanel dimensions across all layout modes
- Fix dashboard-types.spec.ts DashboardGrid fixture to include checklistPanel field

Checklist height: max(6, min(10, ceil(mainHeight * 0.3)))
@JeremyDev87 JeremyDev87 force-pushed the feat/tui-checklist-panel-548 branch from 3adc428 to cda6035 Compare February 18, 2026 13:13
@JeremyDev87 JeremyDev87 merged commit f65e4b5 into master Feb 18, 2026
25 checks passed
@JeremyDev87 JeremyDev87 deleted the feat/tui-checklist-panel-548 branch February 18, 2026 13:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feat tui TUI Agent Monitor

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(tui): Split ChecklistPanel from FocusedAgentPanel into separate panel

1 participant