fix(acp): deliver plain-text replies when send is skipped - #3883
Draft
nimittamatram07-lab wants to merge 2 commits into
Draft
fix(acp): deliver plain-text replies when send is skipped#3883nimittamatram07-lab wants to merge 2 commits into
nimittamatram07-lab wants to merge 2 commits into
Conversation
Buffer assistant message chunks for each ACP turn and publish them as a harness-signed threaded reply on EndTurn when no message delivery was confirmed. Keep the fallback armed after failed or cancelled sends, suppress duplicate delivery after a successful send, and skip bare acknowledgements. Co-authored-by: Michael Neale <michael.neale@gmail.com> Co-authored-by: npub1qyvc0c5kl4gqv2fd97fsk46tu378sqgy35vc83rvgfwne90sel7s0ed67d <011987e296fd5006292d2f930b574be47c7801048d1983c46c425d3c95f0cffd@buzz.block.builderlab.xyz> Co-authored-by: Tyler Longwell <tlongwell@block.xyz> Co-authored-by: nimittamatram07-lab <258744135+nimittamatram07-lab@users.noreply.github.com> Signed-off-by: nimittamatram07-lab <258744135+nimittamatram07-lab@users.noreply.github.com>
Contributor
|
plain-text fallback when send is skipped is useful. does the activity log still show the skipped send so operators can tell delivery was degraded? |
Co-authored-by: nimittamatram07-lab <258744135+nimittamatram07-lab@users.noreply.github.com> Signed-off-by: nimittamatram07-lab <258744135+nimittamatram07-lab@users.noreply.github.com>
Author
|
@Chessing234 Good catch. The original patch emitted a harness WARN, but it did not add an explicit degraded-delivery item to the Desktop Activity feed. Fixed in ff34b9c: successful fallback delivery now emits a Delivery fallback activity item, while a fallback publish failure emits Delivery fallback failed with the reason. The full buzz-acp suite passes (668 tests), and strict Clippy is clean. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Fixes silent conversational turns from ACP runtimes that return assistant text
without explicitly calling
buzz messages send.agent_message_chunktext for the current ACP turn.EndTurn, posts buffered text as a harness-signed threadedkind-9 reply when no publish delivery was confirmed.
cancelled sends leave the fallback armed while successful sends suppress it
and avoid duplicates.
a reply target, or bare acknowledgements.
buzz-acp; the child runtime never needs theBuzz private key.
This rebases and adapts the approach from #2681 onto current
main, preservingthe original contributors in the commit trailers and resolving the intervening
turn-lifecycle changes.
Related issue
Closes #2698.
Related implementation: #2681.
Testing
Passed:
cargo fmt --all -- --checkcargo clippy -p buzz-acp --all-targets -- -D warningscargo test -p buzz-acp— 668 passed, 0 failedcargo build --release -p buzz-acpjust cistages through:Live end-to-end verification used an existing local Hermes ACP agent:
a59d58941f1fa83d4029aa3032308711d8a59b7fe52878f5620e4a330dca58f96cfcf56c2ee63029c90494dcc5f1cd04df0e4261648974a8f3d84964be87db29Existing Hermes connected securely.channel/root/reply tags, and produced no duplicate.
The repository-wide
just cirun ultimately stopped in the pre-existingDesktop scroll-test suite: multiple unchanged tests fail with
TypeError: act is not a function. This PR changes onlycrates/buzz-acp/src/acp.rsandcrates/buzz-acp/src/pool.rs; the focusedbuzz-acpsuite and all earlier repository-wide stages are green.