diff --git a/docs/dispatch-events.md b/docs/dispatch-events.md index 779e016..ffd51ae 100644 --- a/docs/dispatch-events.md +++ b/docs/dispatch-events.md @@ -11,13 +11,13 @@ - **Adapter**: `TypedEventBus` using Node.js `EventEmitter` - All events implement `BaseEvent { type, timestamp, payload }` -### Event Types (54) +### Event Types (55) | Category | Events | Count | |----------|--------|-------| | **Agent** | `agent:spawned`, `agent:stopped`, `agent:crashed`, `agent:resumed`, `agent:account_switched`, `agent:deleted`, `agent:waiting`, `agent:output` | 8 | | **Task** | `task:queued`, `task:dispatched`, `task:completed`, `task:blocked`, `task:pending_approval` | 5 | -| **Phase** | `phase:queued`, `phase:started`, `phase:completed`, `phase:blocked` | 4 | +| **Phase** | `phase:queued`, `phase:started`, `phase:completed`, `phase:blocked`, `phase:changes_requested` | 5 | | **Merge** | `merge:queued`, `merge:started`, `merge:completed`, `merge:conflicted` | 4 | | **Page** | `page:created`, `page:updated`, `page:deleted` | 3 | | **Process** | `process:spawned`, `process:stopped`, `process:crashed` | 3 | @@ -42,6 +42,7 @@ TaskCompletedEvent { taskId, agentId, success, message } TaskQueuedEvent { taskId, priority, dependsOn[] } PhaseStartedEvent { phaseId, initiativeId } MergeConflictedEvent { taskId, agentId, worktreeId, targetBranch, conflictingFiles[] } +PhaseChangesRequestedEvent { phaseId, initiativeId, taskId, commentCount } AccountCredentialsRefreshedEvent { accountId, expiresAt, previousExpiresAt? } ``` @@ -117,3 +118,4 @@ Multiple rapid events (e.g. several `phase:queued` from `queueAllPhases`) are co - **YOLO**: phase completes → auto-merge → auto-dispatch next phase → auto-dispatch tasks - **review_per_phase**: phase completes → set `pending_review` → STOP. User approves → `approveAndMergePhase()` → merge → dispatch next phase → dispatch tasks +- **request-changes**: phase `pending_review` → user requests changes → creates revision task (category=`'review'`) → phase reset to `in_progress` → agent fixes → phase returns to `pending_review` diff --git a/docs/server-api.md b/docs/server-api.md index bc87365..926dc6c 100644 --- a/docs/server-api.md +++ b/docs/server-api.md @@ -113,6 +113,7 @@ Each procedure uses `require*Repository(ctx)` helpers that throw `TRPCError(INTE | getPhaseReviewCommits | query | List commits between initiative and phase branch | | getCommitDiff | query | Diff for a single commit (by hash) in a phase | | approvePhaseReview | mutation | Approve and merge phase branch | +| requestPhaseChanges | mutation | Request changes: creates revision task from unresolved comments, resets phase to in_progress | | listReviewComments | query | List review comments by phaseId | | createReviewComment | mutation | Create inline review comment on diff | | resolveReviewComment | mutation | Mark review comment as resolved |