ZBBS-HOME-436: paraphrase a quote-take as bought, not offered#236
Merged
Conversation
A pay_with_item carrying quote_id settles instantly in the engine (ZBBS-HOME-424 fast path), so replaying it as '(I offered to buy ...)' misreads a done deal as still pending and primes a re-buy — half of the Ezekiel six-meat morning. Quote-takes now replay as '(I bought Meat from John Ellis and ate it on the spot)'; plain offers keep the offered phrasing, which is still accurate for the pending slow path. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
code_review: the 'I bought' paraphrase relies on the [error] tool result replaying immediately adjacent (paired by tool_call_id in stored row order) to correct a rejected take. Pin that invariant in test-build-tool-use-messages.js rather than leave it implicit. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
jeffdafoe
added a commit
that referenced
this pull request
Jun 16, 2026
* ZBBS-HOME-436: paraphrase a quote-take as bought, not offered A pay_with_item carrying quote_id settles instantly in the engine (ZBBS-HOME-424 fast path), so replaying it as '(I offered to buy ...)' misreads a done deal as still pending and primes a re-buy — half of the Ezekiel six-meat morning. Quote-takes now replay as '(I bought Meat from John Ellis and ate it on the spot)'; plain offers keep the offered phrasing, which is still accurate for the pending slow path. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * ZBBS-HOME-436: pin the rejected-quote-take replay adjacency in tests code_review: the 'I bought' paraphrase relies on the [error] tool result replaying immediately adjacent (paired by tool_call_id in stored row order) to correct a rejected take. Pin that invariant in test-build-tool-use-messages.js rather than leave it implicit. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> --------- Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
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.
Companion to salem #419.
A
pay_with_itemcarryingquote_idsettles instantly in the engine (ZBBS-HOME-424 fast path), so replaying it in cross-tick history as(I offered to buy …)misreads a done deal as still pending and primes a re-buy — half of the Ezekiel six-meat morning.paraphraseToolCall:quote_idpresent (Number() > 0, Llama may stringify) →(I bought Meat from John Ellis and ate it on the spot); plain offers keep the offered phrasing, still accurate for the pending slow path.[error]tool result immediately adjacent (paired by tool_call_id in stored row order) — invariant pinned intest-build-tool-use-messages.jsper code_review.Tests:
test-paraphrase-tool-call.js20/20,test-build-tool-use-messages.js14/14.Reviewed by code_review (mail
bc43e08d); findings addressed in1c4631e.🤖 Generated with Claude Code