Phase 1: Domain Layer #231

Merged
mprihoda merged 3 commits from IW-148-phase-01 into IW-148 2026-03-02 21:55:12 +00:00
mprihoda commented 2026-03-02 21:55:05 +00:00 (Migrated from github.com)

Phase 1: Domain Layer

Goals: Add ProjectRegistration value object and extend ServerState and its codec to store registered projects independently from issue worktrees.

Tests: 18 unit tests added
Review: review-phase-01-20260302.md

Changes

  • ProjectRegistration case class with create() validation factory
  • ServerState.projects field with listProjects and removeProject
  • ServerStateCodec and StateJson extended for project serialization
  • StateRepository and ServerStateService threading
  • Backward-compatible: missing projects key defaults to Map.empty

🤖 Generated with Claude Code

## Phase 1: Domain Layer **Goals**: Add `ProjectRegistration` value object and extend `ServerState` and its codec to store registered projects independently from issue worktrees. **Tests**: 18 unit tests added **Review**: [review-phase-01-20260302.md](https://github.com/iterative-works/iw-cli/blob/IW-148-phase-01/project-management/issues/IW-148/review-phase-01-20260302.md) ### Changes - `ProjectRegistration` case class with `create()` validation factory - `ServerState.projects` field with `listProjects` and `removeProject` - `ServerStateCodec` and `StateJson` extended for project serialization - `StateRepository` and `ServerStateService` threading - Backward-compatible: missing `projects` key defaults to `Map.empty` 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Sign in to join this conversation.
No description provided.