feat: Show resolving_conflict activity state on initiative cards

Add 'resolving_conflict' to InitiativeActivityState and detect active
conflict agents (name starts with conflict-) in deriveInitiativeActivity.
Conflict resolution takes priority over pending_review since the agent
is actively working.

- Add resolving_conflict to shared types and activity derivation
- Include conflict agents in listInitiatives agent filter (name + mode)
- Map resolving_conflict to urgent variant with pulse in InitiativeCard
- Add merge: prefix to INITIATIVE_LIST_RULES for merge event routing
- Add spawnConflictResolutionAgent to INVALIDATION_MAP
- Add getActiveConflictAgent to detail page agent: SSE invalidation
This commit is contained in:
Lukas May
2026-03-06 13:32:37 +01:00
parent 05efa9c08e
commit e3246baf51
8 changed files with 42 additions and 20 deletions

View File

@@ -4,17 +4,18 @@ export type { PendingQuestions, QuestionItem } from '../../../apps/server/agent/
export type ExecutionMode = 'yolo' | 'review_per_phase';
export type InitiativeActivityState =
| 'idle' // Active but no phases and no agents
| 'discussing' // Discuss agent actively scoping the initiative
| 'planning' // All phases pending (no work started)
| 'detailing' // Detail/plan agent actively decomposing phases into tasks
| 'refining' // Refine agent actively working on content
| 'ready' // Phases approved, waiting to execute
| 'executing' // At least one phase in_progress
| 'pending_review' // At least one phase pending_review
| 'blocked' // At least one phase blocked (none in_progress/pending_review)
| 'complete' // All phases completed
| 'archived'; // Initiative archived
| 'idle' // Active but no phases and no agents
| 'discussing' // Discuss agent actively scoping the initiative
| 'planning' // All phases pending (no work started)
| 'detailing' // Detail/plan agent actively decomposing phases into tasks
| 'refining' // Refine agent actively working on content
| 'resolving_conflict' // Conflict resolution agent actively fixing merge conflicts
| 'ready' // Phases approved, waiting to execute
| 'executing' // At least one phase in_progress
| 'pending_review' // At least one phase pending_review
| 'blocked' // At least one phase blocked (none in_progress/pending_review)
| 'complete' // All phases completed
| 'archived'; // Initiative archived
export interface InitiativeActivity {
state: InitiativeActivityState;