Commit Graph

342 Commits

Author SHA1 Message Date
Lukas May
8cfc197378 feat(18-01): create ProgressPanel component
- Card with Progress heading using CardHeader/CardContent pattern
- Reuses existing ProgressBar for task completion percentage
- Displays phase and task completion counts
- Handles 0/0 gracefully via ProgressBar's built-in guard
2026-02-04 21:32:46 +01:00
Lukas May
a00b7b56b3 feat(18-02): create DependencyIndicator component
Pure presentational component that renders blocked-by annotations
with ^ prefix in amber text. Returns null when blockedBy is empty.
2026-02-04 21:32:35 +01:00
Lukas May
62409a6302 feat(18-01): create InitiativeHeader component
- Back button with ChevronLeft icon for dashboard navigation
- Card displaying initiative name, status badge, and dates
- Disabled Actions placeholder button for future Plan 04 work
- Pure presentational component receiving props
2026-02-04 21:32:28 +01:00
Lukas May
305809f0b2 docs(18): create initiative detail phase plan
Phase 18: Initiative Detail
- 4 plans in 2 waves
- 3 parallel (wave 1), 1 sequential (wave 2)
- Ready for execution
2026-02-04 21:28:33 +01:00
Lukas May
cbf0ed28cb fix: wire database and repositories into server startup for tRPC context
The server never created a database or instantiated repositories, so all
tRPC procedures requiring initiativeRepository (and other repos) threw
"Initiative repository not available" on every request.

- Create ensureSchema() for shared database table initialization
- Extend TrpcAdapterOptions to accept all repository/manager dependencies
- Add ServerContextDeps to CoordinationServer for dependency injection
- Wire database, schema, and repositories in CLI startServer()
- Refactor test-helpers to use shared ensureSchema()
2026-02-04 21:18:30 +01:00
Lukas May
078e1dde30 docs(17): complete initiative dashboard phase 2026-02-04 21:10:31 +01:00
Lukas May
37683f26f9 docs(17-04): complete initiative dashboard integration plan with summary
Phase 17-04 wires all dashboard components into a functional page with
status filtering, create dialog, and card-to-detail navigation. AppLayout
header cleaned up. Build and types verified.
2026-02-04 21:09:46 +01:00
Lukas May
cc533c81f7 refactor(17-04): remove placeholder New Initiative button from AppLayout header
The dashboard page now owns the create action via its own header button
and empty state CTA. This keeps AppLayout generic — other pages like
Inbox shouldn't show initiative-specific actions.
2026-02-04 21:08:47 +01:00
Lukas May
24bfcfa421 feat(17-04): wire initiative dashboard with filter, list, and create dialog
Replace placeholder DashboardPage with fully functional initiative dashboard:
- Page header with title, status filter dropdown, and New Initiative button
- InitiativeList with statusFilter prop for backend-driven filtering
- CreateInitiativeDialog controlled by local state
- Navigation to /initiatives/$id via TanStack Router useNavigate
- All card callbacks wired (view, spawn architect, delete placeholder)
2026-02-04 21:08:20 +01:00
Lukas May
ca3c05e7b8 docs(17-03): complete interactive dialog and dropdown components plan
Tasks completed: 2/2
- CreateInitiativeDialog with shadcn primitives and tRPC mutation
- SpawnArchitectDropdown and ActionMenu with tRPC mutations

SUMMARY: .planning/phases/17-initiative-dashboard/17-03-SUMMARY.md
2026-02-04 21:06:42 +01:00
Lukas May
f24d136742 docs(17-02): complete InitiativeCard & InitiativeList plan
Tasks completed: 2/2
- InitiativeCard component with status, progress, and actions
- InitiativeList component with loading/empty/error states and filtering

SUMMARY: .planning/phases/17-initiative-dashboard/17-02-SUMMARY.md
2026-02-04 21:06:09 +01:00
Lukas May
895c96435c feat(17-02): create InitiativeList component
- Fetches initiatives via trpc.listInitiatives with optional status filter
- Handles loading, error, empty, and populated states
- Empty state shows "No initiatives yet" with CTA button
- Error state shows message with retry button
- Renders vertical stack of InitiativeCards with space-y-3 gap
- Fix: SerializedInitiative type for tRPC Date→string serialization
2026-02-04 21:04:43 +01:00
Lukas May
f6caa5df1a feat(17-03): add SpawnArchitectDropdown and ActionMenu components
- SpawnArchitectDropdown: discuss/breakdown modes via tRPC mutations
- Brief success state on button text after spawn
- ActionMenu: archive with browser confirm, disabled edit/duplicate/delete
- No deleteInitiative tRPC procedure exists, so delete is placeholder
- Both components invalidate listInitiatives on success
2026-02-04 21:04:42 +01:00
Lukas May
e5acb9f214 feat(17-03): create CreateInitiativeDialog with shadcn primitives
- Install shadcn Dialog, Input, Label, Textarea components
- Move from @/ literal dir to src/components/ui/ (known shadcn CLI issue)
- CreateInitiativeDialog: controlled dialog with name/description fields
- tRPC createInitiative mutation with loading/error states
- Form resets on open, validates name non-empty
2026-02-04 21:04:05 +01:00
Lukas May
ec93835ae5 feat(17-02): create InitiativeCard component
- Renders initiative name, StatusBadge, ProgressBar, and phase count
- Fetches phase stats per-card via trpc.listPhases (self-contained)
- Spawn Architect dropdown with discuss/breakdown modes
- More actions menu with edit/duplicate/archive/delete
- Responsive: stacks vertically on mobile, hides phase count text
- Card clickable with stopPropagation on action buttons
2026-02-04 21:03:44 +01:00
Lukas May
ff9c17c05b docs(17-01): complete StatusBadge & ProgressBar plan
Tasks completed: 2/2
- StatusBadge component with color-coded initiative/phase statuses
- ProgressBar component with percentage-based fill

SUMMARY: .planning/phases/17-initiative-dashboard/17-01-SUMMARY.md
2026-02-04 21:01:59 +01:00
Lukas May
ff60ce08bc feat(17-01): create ProgressBar component
- Percentage-based horizontal bar with completed/total props
- Gray track (bg-muted), blue fill for partial, green fill for 100%
- Text label showing percentage
- Handles 0/0 total gracefully (empty bar)
2026-02-04 21:00:40 +01:00
Lukas May
22873a0ad9 feat(17-01): create StatusBadge component
- Colored badges for initiative statuses (active, completed, archived)
- Colored badges for phase statuses (pending, in_progress, completed, blocked)
- Unknown statuses default to gray
- Display text uppercase with underscores replaced by spaces
2026-02-04 21:00:23 +01:00
Lukas May
840c280749 docs(17): create initiative dashboard phase plan
Phase 17: Initiative Dashboard
- 4 plans in 3 waves
- 2 parallel (Plans 02 + 03 in Wave 2), 2 sequential
- Ready for execution
2026-02-04 20:53:57 +01:00
Lukas May
93f2b0f5ee fix(16-05): wire eventBus into CLI server startup
startServer() was creating CoordinationServer without an EventBus,
causing all tRPC requests to fail with "Server not initialized or
missing eventBus". Create and pass EventBus through to both
ProcessManager and CoordinationServer.
2026-02-04 20:48:37 +01:00
Lukas May
ab056e13f4 docs(16-05): complete dev server integration verification
Tasks completed: 1/1 (+ 1 checkpoint pending visual verification)
- Verified backend TypeScript build passes
- Verified Vite production build (205 modules, 901ms)
- Verified shared types and web package type-checks pass

SUMMARY: .planning/phases/16-frontend-scaffold/16-05-SUMMARY.md
2026-02-04 20:42:33 +01:00
Lukas May
7eb4abcd99 docs(16-04): complete router and app shell plan with summary
Create 16-04-SUMMARY.md documenting TanStack Router setup, file-based
routes, app shell layout, and page stubs. Update STATE.md with plan
position, decisions, and velocity metrics.
2026-02-04 20:39:46 +01:00
Lukas May
6d2920d60f feat(16-04): add TanStack Router file-based routes and app shell layout
Create route structure with __root, index (redirect to /initiatives),
initiatives/index (dashboard stub), initiatives/$id (detail stub with
type-safe params), and inbox (stub). Add AppLayout with persistent nav
header matching wireframe: title, New Initiative button, navigation tabs
with active highlighting. Disabled tabs for Agents/Tasks/Settings (out
of scope). Replace temporary health-check App with RouterProvider.
Route tree auto-generated by TanStack Router Vite plugin.
2026-02-04 20:38:30 +01:00
Lukas May
64d751d203 feat(16-04): install TanStack Router and add shadcn/ui base components
Add @tanstack/react-router, @tanstack/router-plugin (Vite plugin for
file-based route generation), and Radix UI primitives. Configure
TanStackRouterVite plugin before React plugin in vite config. Add four
foundational shadcn/ui components: button, badge, card, dropdown-menu.
2026-02-04 20:37:28 +01:00
Lukas May
0bae7caca5 docs(16-03): complete tRPC client wiring plan
Tasks completed: 2/2
- Install tRPC React Query dependencies
- Wire tRPC React Query client with providers

SUMMARY: .planning/phases/16-frontend-scaffold/16-03-SUMMARY.md
2026-02-04 20:35:31 +01:00
Lukas May
0d5645f9c8 feat(16-03): wire tRPC React Query client with providers
Create tRPC client with httpBatchLink targeting /trpc (Vite proxy).
Wrap app in trpc.Provider and QueryClientProvider with sensible
defaults. Add health check query to App.tsx for connection
verification. Add vite-env.d.ts for CSS module types. Remove
unused Plan import from backend router.
2026-02-04 18:07:15 +01:00
Lukas May
603d90850b feat(16-03): install tRPC React Query dependencies
Add @trpc/client, @trpc/react-query, @tanstack/react-query to web
package. Link @codewalk-district/shared as workspace dependency.
Add project reference to shared in tsconfig.app.json.
2026-02-04 18:03:44 +01:00
Lukas May
92745bee77 docs(16-01): complete Vite + React + Tailwind + shadcn/ui plan
Tasks completed: 2/2
- Create Vite + React + TypeScript project
- Configure Tailwind CSS and shadcn/ui

SUMMARY: .planning/phases/16-frontend-scaffold/16-01-SUMMARY.md
2026-02-04 18:02:06 +01:00
Lukas May
bb468e00f0 feat(16-01): configure Tailwind CSS and shadcn/ui
- Tailwind CSS v3 with postcss and autoprefixer
- shadcn/ui components.json and cn() utility
- Path alias @/ -> ./src/ in vite.config.ts and tsconfig.app.json
- CSS custom properties for shadcn theming (light/dark)
- tailwindcss-animate and @tailwindcss/typography plugins
- App.tsx uses cn() with Tailwind classes to verify integration
2026-02-04 18:00:51 +01:00
Lukas May
08d54c827b docs(16-02): complete shared types package plan
Tasks completed: 1/1
- Create shared types package (@codewalk-district/shared)

SUMMARY: .planning/phases/16-frontend-scaffold/16-02-SUMMARY.md
2026-02-04 17:58:11 +01:00
Lukas May
4a373714bd feat(16-02): create shared types package
- @codewalk-district/shared exports AppRouter and entity types
- Re-exports Initiative, Phase, Plan, Task, Agent, Message from schema
- Types-only package with no runtime dependencies
- TypeScript resolves directly (no build step needed)
2026-02-04 17:55:45 +01:00
Lukas May
99348e0650 feat(16-01): create Vite + React + TypeScript project
- packages/web/ with Vite dev server, React 19, TypeScript
- Server proxy /trpc -> http://127.0.0.1:3847 for CORS-free dev
- Root npm workspaces configured (packages/*)
- dev:web script for workspace dev server
2026-02-04 17:10:15 +01:00
Lukas May
f5f25c4854 docs(16): create frontend scaffold phase plan
Phase 16: Frontend Scaffold
- 5 plans in 3 waves
- 4 parallel-capable, 1 sequential with checkpoint
- Ready for execution
2026-02-04 17:04:59 +01:00
Lukas May
6c3188020d docs: create milestone v2.0 Frontend (6 phases)
Phases:
- 16. frontend-scaffold: Vite project setup, tRPC client, shadcn/ui
- 17. initiative-dashboard: List view with status badges, progress bars
- 18. initiative-detail: Phase/task hierarchy accordion, queue actions
- 19. agent-inbox: Multi-question forms, answer submission, notifications
- 20. real-time-subscriptions: WebSocket transport, subscription hooks
- 21. polish-integration: Navigation, error/loading states, responsive layout
2026-02-04 16:52:29 +01:00
Lukas May
98fb3477b0 chore: complete v1.3 milestone
- Added MILESTONES.md entry
- Evolved PROJECT.md with validated requirements
- Created milestone archive: milestones/v1.3-ROADMAP.md
- Updated STATE.md
- Tagged v1.3
2026-02-04 16:46:20 +01:00
Lukas May
1156933a8e 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.
2026-02-02 15:48:52 +01:00
Lukas May
05b7b717f8 docs(15): complete frontend wireframes phase
- Phase 15/15 complete: all 3 wireframe plans executed
- Milestone v1.3 shipped (Parallel Execution & UI Design)
- 61 total plans completed across 15 phases
2026-02-02 15:25:56 +01:00
Lukas May
788bfce21d docs(15-03): add agent inbox wireframe summary
Document completion of Plan 15-03 with commit reference and
component specifications for InboxList, MessageCard, MessageDetail,
QuestionForm, OptionGroup, and FreeTextInput.
2026-02-02 15:23:42 +01:00
Lukas May
51e7fbe978 docs(15-02): add plan summary for initiative detail wireframe 2026-02-02 15:23:40 +01:00
Lukas May
c1386ed227 docs(15-02): create initiative detail wireframe with hierarchical breakdown
- ASCII wireframe showing phase -> plan -> task hierarchy
- Status indicators: DONE, IN PROGRESS, PENDING, BLOCKED
- Agent assignments shown inline with tasks
- Dependency visualization with ^ indicators
- Component specs: PhaseAccordion, PlanTree, TaskRow, DependencyIndicator, DecisionList
- Interaction notes for click actions, modals, and spawn dialog
2026-02-02 14:58:06 +01:00
Lukas May
95c3f5f6b8 docs(15-03): create agent inbox wireframe
- ASCII wireframes for inbox list and message detail views
- Multi-question Q&A layout with radio/checkbox variants
- Component specifications: InboxList, MessageCard, MessageDetail, QuestionForm, OptionGroup, FreeTextInput
- Interaction flow for answer submission and real-time updates
- Filter/sort options for message management
2026-02-02 14:58:01 +01:00
Lukas May
31bb8c7758 docs(15-01): create initiative dashboard wireframe
- ASCII wireframe showing initiative list with status, progress, actions
- Empty state wireframe for no initiatives
- Component specs: InitiativeCard, ProgressBar, StatusBadge, ActionMenu, SpawnArchitectDropdown
- Interaction notes for navigation, spawning architects, filtering
- Data requirements and responsive behavior documentation
2026-02-02 14:57:42 +01:00
Lukas May
aa82eeea63 docs(15): update roadmap with plan breakdown 2026-02-02 14:54:37 +01:00
Lukas May
736852376b docs(15): create phase plans
Phase 15: Frontend Wireframes
- 3 plans in 1 wave (all parallel)
- Plan 01: Initiative Dashboard wireframe
- Plan 02: Initiative Detail wireframe (phase/task hierarchy)
- Plan 03: Agent Inbox wireframe (Q&A flow)
- Ready for execution
2026-02-02 14:54:23 +01:00
Lukas May
8d6e2e4607 docs(14): complete Parallel Phase Execution phase 2026-02-02 13:50:37 +01:00
Lukas May
aace6a3c11 docs(14-08): complete phase dispatch E2E tests plan
Tasks completed: 2/2
- Add phaseDispatchManager to TestHarness
- Create phase dispatch E2E tests

SUMMARY: .planning/phases/14-parallel-phase-execution/14-08-SUMMARY.md
2026-02-02 13:49:55 +01:00
Lukas May
491dcc5fec docs(14-07): complete unit tests for phase dependencies and dispatch
Tasks completed: 2/2
- Add PhaseRepository dependency tests (createDependency, getDependencies, getDependents)
- Add DefaultPhaseDispatchManager tests (queuePhase, getNextDispatchablePhase, dispatchNextPhase, completePhase, blockPhase)

SUMMARY: .planning/phases/14-parallel-phase-execution/14-07-SUMMARY.md
2026-02-02 13:49:20 +01:00
Lukas May
1aac486f48 test(14-07): add DefaultPhaseDispatchManager tests
- Add queuePhase tests (add to queue, emit event, include deps)
- Add getNextDispatchablePhase tests (empty, no deps first, skip incomplete, oldest)
- Add dispatchNextPhase tests (update status, emit event, remove from queue)
- Add completePhase tests (update status, remove from queue, emit event)
- Add blockPhase tests (update status, add to blocked, emit event)
- Add dependency scenario test (diamond dependency pattern)
2026-02-02 13:48:35 +01:00
Lukas May
03fefd896a test(14-08): add phase dispatch E2E tests
- Test independent phases dispatch in parallel
- Test dependent phase waits for prerequisite
- Test diamond dependency pattern (A -> B,C -> D)
- Test blocked phase prevents dispatch
- Test blocked phase propagates down dependency chain
2026-02-02 13:48:28 +01:00
Lukas May
38ee2d17c4 feat(14-08): add phaseDispatchManager to TestHarness
- Import PhaseDispatchManager type and DefaultPhaseDispatchManager
- Add phaseDispatchManager property to TestHarness interface
- Wire DefaultPhaseDispatchManager with phaseRepository and eventBus
2026-02-02 13:47:09 +01:00