Phase 2: Application Layer #232

Merged
mprihoda merged 4 commits from IW-148-phase-02 into IW-148 2026-03-03 07:49:23 +00:00
mprihoda commented 2026-03-03 07:49:16 +00:00 (Migrated from github.com)

Phase 2: Application Layer

Goals: Add business logic for project registration and merge registered projects with worktree-derived projects in the dashboard.

Tests: 19 unit tests added

Changes

  • ProjectRegistrationService with register() and deregister() (pure business logic)
  • MainProjectService.resolveProjects() merges registered + derived projects, deduplicates by path
  • ServerStateService.updateProject() and pruneProjects() for thread-safe persistence
  • DashboardService.renderDashboard() now uses merged project list
  • CaskServer passes state.projects to dashboard

🤖 Generated with Claude Code

## Phase 2: Application Layer **Goals**: Add business logic for project registration and merge registered projects with worktree-derived projects in the dashboard. **Tests**: 19 unit tests added ### Changes - `ProjectRegistrationService` with `register()` and `deregister()` (pure business logic) - `MainProjectService.resolveProjects()` merges registered + derived projects, deduplicates by path - `ServerStateService.updateProject()` and `pruneProjects()` for thread-safe persistence - `DashboardService.renderDashboard()` now uses merged project list - `CaskServer` passes `state.projects` to dashboard 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Sign in to join this conversation.
No description provided.