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:
_Kerman
2026-07-26 14:29:30 +08:00
parent 57d90c343d
commit fc8d339bf0
18 changed files with 119 additions and 112 deletions

View File

@@ -2,5 +2,5 @@
# side as of the last confirmed-consistent state. Both languages carry equal authority;
# after editing either side, bring the other along and re-record with:
# pnpm run verify-translation-pairing --write
architecture.md: b426891c0483f42a64b597632cf1871aff79ca2d
architecture.zh.md: 13feefb6854e79ddee38602902d325a789fd7744
architecture.md: 456b97da984c39cfbd3284d31d81d115ecd00a3b
architecture.zh.md: e1aefb596483978f287b05ba446dc0d642a042c8