mirror of
https://github.com/deepseek-ai/deepseek-harness
synced 2026-08-15 21:04:50 +00:00
fix(acp): settle admission-blocked and retried prompts after the merge
The automation bridge inherited two master-era assumptions the message machine no longer honors. A prompt blocked at pre-turn admission opens no turn, so no turn/end could ever settle it — the bridge now watches whenIdle() and reports a turnless slot as cancelled (the disposed-agent guard moved to a registry identity check before send). A failed turn no longer rejects at its turn/end either: agent.retry() closes the failed turn and opens a successor on the same history, so the bridge holds the terminal error and lets a retry-triggered turn/start adopt the prompt, rejecting only at quiescence with no successor. Also: refresh the empty-response-retry fixture for retry-as-turn logging, adapt master-side tests to the unified send()/UserMessageData API and registry-fact disposal, resync the doc pairs both sides touched, trim architecture.md back under its word ceiling, and regenerate the event and persistence catalogs.
This commit is contained in:
@@ -100,9 +100,8 @@ forever:
|
||||
each model-order result -> ordered tools/post-execute -> 'tool/result'
|
||||
drain accepted tool context and steering
|
||||
'step/end'
|
||||
a concluding tool result ends the turn; drained steering waits for the next turn
|
||||
continue when tools or steering require another step
|
||||
otherwise agent/stopping -> drain once more -> continue only for steering
|
||||
continue for tools or steering unless a result concluded the turn
|
||||
otherwise agent/stopping -> drain -> continue only for steering
|
||||
'turn/end' -> agent/idle
|
||||
start the next waking queued message, or emit agent/status(idle)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user