You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Purpose. Design how humans intervene in, approve, and override SAO agent runs — beyond the existing manual dispatch trigger — as a first-class harness concern.
Context
HITL (Human-in-the-Loop) is a core Specorator principle: the runtime emits artifact proposals; humans review, edit, and accept or reject. The SAO must extend this principle into automated agent runs.
The current SAO design doc includes manual dispatch as a trigger but doesn't specify:
How humans approve or reject an agent's output before stage advancement
Whether auto-advance can be toggled per-feature or per-stage
How humans can abort a running agent without corrupting the worktree
How the fleet dashboard (specorator#168) surfaces pending-review runs
HITL interaction patterns
Pattern
Description
V1?
Auto-advance mode
On all sensors pass → automatically merge and advance
Optional (default off)
Review gate mode
On all sensors pass → notify human; hold in pending-review
Default for V1
Human abort
Kill the agent process mid-run; preserve worktree for inspection
The fleet dashboard (specorator#168) is the primary surface for reviewing pending runs. Requirements:
pending-review indicator visible in the feature matrix
Run diff/artifact preview accessible from the fleet row
Approve / reject / abort actions available inline
Notification when a run enters pending-review (plugin notification or status bar)
Auto-advance toggle
interfaceAgentOrchestratorSettings{autoAdvance: boolean;// global default; default falseperStageAutoAdvance?: Record<string,boolean>;// stage-level override}
When autoAdvance: false (default), every successful sensor pass creates a pending-review entry. When true, successful runs merge and advance automatically.
Abort safety
Aborting a running agent process must:
Send SIGTERM to the Claude CLI subprocess (graceful)
Wait up to abortTimeoutMs for process exit
Send SIGKILL if timeout exceeded
Preserve the worktree for human inspection (do not auto-delete)
Transition to released with reason ABORTED_BY_USER
Meta
Context
HITL (Human-in-the-Loop) is a core Specorator principle: the runtime emits artifact proposals; humans review, edit, and accept or reject. The SAO must extend this principle into automated agent runs.
The current SAO design doc includes manual dispatch as a trigger but doesn't specify:
HITL interaction patterns
pending-reviewState extension
The five-state taxonomy from #43 (
unclaimed → claimed → running → retry-queued → released) needs apending-reviewstate for V1 HITL:Decision needed: is
pending-reviewa sixth orchestration state, or a sub-state ofreleased?OrchestratorPort HITL verbs
Fleet dashboard integration
The fleet dashboard (specorator#168) is the primary surface for reviewing pending runs. Requirements:
pending-reviewindicator visible in the feature matrixpending-review(plugin notification or status bar)Auto-advance toggle
When
autoAdvance: false(default), every successful sensor pass creates apending-reviewentry. Whentrue, successful runs merge and advance automatically.Abort safety
Aborting a running agent process must:
abortTimeoutMsfor process exitreleasedwith reasonABORTED_BY_USERorchestration.abortedevent (→ Phase 1 · Failure-event taxonomy — which *.failed events ship in V1 #21)Acceptance
pending-reviewstate decision: sixth state or sub-state ofreleasedABORTED_BY_USERandHUMAN_REJECTEDreason codes added toreleasedtaxonomyorchestration.abortedevent requirement forwarded to Phase 1 · Failure-event taxonomy — which *.failed events ship in V1 #21 (failure-event taxonomy)