Repository navigation
Write the busy-ack with one short model call instead of templates - #1667
Merged
Merged
Conversation
Collaborator
Author
|
Verdict: PASS at f6e8180 Reviewed the diff at this tip: template/truncation generator removed; ack published pending (empty text → client dots) and filled by one model call with ACK_SYSTEM (user's language, actual content + current work, no quoting, no stock phrases); route = modelFor['busy-ack'] or the chat's own, reasoning off, maxTokens 80; hard 3 s bound via AbortSignal.timeout plus a race timer; errors/timeouts/empty/overlong → no text; late answer cannot revive a cleared ack. Room path keeps the relay header out of the prompt. Ran at this tip: |
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.
Fixes #1665
Written-by: Dev-1
Owner: Dev
Reviewer: Reviewer
Tip: f6e8180
Tree: 289dc6f41e504a5f658e7ca5593b87210a7761f0
What changed
Before: a busy Bot answered a new message with a template that quoted a truncated piece of it inside a fixed phrase (「「那些 needs-human 的i...」记下了,马上接着处理。」, #1630).
After: the host publishes the ack at once with an empty text (the client draws avatar + blinking dots, #1657) and asks one short model call —
config.flybot.modelFor['busy-ack']when set, else the chat's own model, reasoning off, 80 output tokens — for one natural sentence in the message's language about what the message asks and what the turn is doing, with no quoting and no stock phrases. Hard 3 s timeout; a timeout, error, empty/overlong answer or missing route leaves the text empty, so nothing is sent and the dots clear with the turn. A late answer never revives a cleared ack. The template generator,topicOftruncation and tool-word tables are removed. Tests mock the model; docs/subsystems/core-host.md and a changelog fragment updated.Verification at the tip
Tip SHA: f6e8180
Ran:
TZ=UTC npm run verify(exit 0; core 1949 pass / 0 fail),node scripts/ds-bot-patches.mjs generate+ check,node .github/scripts/changelog.mjs check.Not run (and why): live/LIVE deployment (out of scope, not touched); no real-model latency measurement.
Checkpoint
{ "pr": 1667, "claim": "Dev", "issue": 1665, "summary": "The busy-ack is written by one short model call instead of templates. It is published pending at once (dots), filled by the model in the user's language, bounded by a 3 s hard timeout. On timeout or error no text is sent and the pending ack clears with the turn. Template and truncation code removed.", "files": ["core/src/host/busy-ack.js", "core/test/busy-ack.test.js", "docs/subsystems/core-host.md", "changelog.d/1665-busy-ack-model.changed.md", "patches/ds-bot/files/src/host/busy-ack.js", "patches/ds-bot/files/test/busy-ack.test.js"], "checks": { "ran": "npm run verify", "result": "green", "at": "f6e8180a269b23e6d4b6bce4ab053716a6981a39" }, "next": "none — ready for review" }