Commit Graph

11 Commits

Author SHA1 Message Date
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
053168f6cf feat(14-04): export DefaultPhaseDispatchManager from dispatch module
- Add export for phase dispatch adapter
- Consistent with DefaultDispatchManager export pattern
2026-02-02 13:40:33 +01:00
Lukas May
1ba95871f5 feat(14-04): implement DefaultPhaseDispatchManager adapter
- In-memory queue with Map<string, QueuedPhase>
- Dependency checking via phaseRepository.getDependencies()
- queuePhase: fetch phase, get dependencies, emit PhaseQueuedEvent
- getNextDispatchablePhase: filter queue, sort by queuedAt
- dispatchNextPhase: update status to in_progress, emit PhaseStartedEvent
- completePhase: update status to completed, emit PhaseCompletedEvent
- blockPhase: update status to blocked, emit PhaseBlockedEvent
- getPhaseQueueState: return queued, ready, blocked arrays
2026-02-02 13:40:17 +01:00
Lukas May
a890df75d5 feat(14-03): export phase dispatch types from dispatch module
- Export QueuedPhase interface
- Export PhaseDispatchResult interface
- Export PhaseDispatchManager port interface
2026-02-02 13:36:25 +01:00
Lukas May
22cd82da40 feat(14-03): define PhaseDispatchManager port interface
- Add QueuedPhase interface (phaseId, initiativeId, queuedAt, dependsOn)
- Add PhaseDispatchResult interface (success, phaseId, reason)
- Add PhaseDispatchManager interface with queue/dispatch operations
- Methods mirror DispatchManager for consistency
2026-02-02 13:36:12 +01:00
Lukas May
91e57c66eb feat(11-01): add AgentMode type and database column
- Add AgentMode type: 'execute' | 'discuss' | 'breakdown'
- Add mode column to agents table with 'execute' default
- Update SpawnAgentOptions to accept optional mode
- Update AgentInfo interface to include mode field
- Update ClaudeAgentManager.toAgentInfo to map mode
- Fix MockAgentManager to include mode in spawn
- Fix dispatch manager tests to include mode
2026-01-31 19:03:42 +01:00
Lukas May
151a4c99f7 feat(10-01): extend agent schema to multi-question array
- Change status from 'question' to 'questions' (plural)
- Add QuestionItem with id field for answer matching
- Update PendingQuestion to PendingQuestions with questions array
- Update AgentWaitingEvent payload to questions array
- Update ClaudeAgentManager and MockAgentManager adapters
- Update TestHarness and all test files
2026-01-31 17:57:34 +01:00
Lukas May
3a3d3f4c08 feat(08.1-01): update AgentWaitingEvent with structured question data
- Add options array for predefined question choices
- Add multiSelect boolean for multi-selection questions
- Update dispatch manager test mock with getPendingQuestion
2026-01-31 15:25:11 +01:00
Lukas May
364ffc357b test(05-04): add DispatchManager tests and wire up exports
- Add 14 comprehensive tests for DefaultDispatchManager
- Test queue(), getNextDispatchable(), completeTask(), blockTask()
- Test dispatchNext() with agent dispatch flow
- Test getQueueState() for queue visibility
- Test priority ordering and dependency scenario
- Export DefaultDispatchManager from dispatch module
2026-01-30 20:42:38 +01:00
Lukas May
e924fb655a feat(05-04): implement DefaultDispatchManager with dependency checking
- Add DefaultDispatchManager class implementing DispatchManager interface
- Implement queue() with task fetching and event emission
- Implement getNextDispatchable() with priority-based ordering
- Implement completeTask() and blockTask() with status updates
- Implement dispatchNext() for agent assignment
- Implement getQueueState() for queue visibility
- Use in-memory Map for queue management
2026-01-30 20:40:34 +01:00
Lukas May
b2e7c2920f feat(05-03): create DispatchManager port interface
- QueuedTask type with priority and dependencies
- DispatchResult type for dispatch operation outcomes
- DispatchManager interface with queue/dispatch/complete/block methods
- Follows hexagonal architecture pattern (same as EventBus, AgentManager)
2026-01-30 20:32:43 +01:00