Repository navigation
Size replies to the question, gate claims on results, and say the push to act once - #1538
Draft
davidmckayv wants to merge 8 commits into
Draft
davidmckayv wants to merge 8 commits into
davidmckayv wants to merge 8 commits into
Conversation
This branch has not been deployed
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.
Every Bot's working rules, reworked against what dogfooding showed: replies that ran to 600 words for a yes-or-no question, "are you able to...?" answered by doing unasked work, "done" said before anything was checked, a Python script approved on a computer with no Python, and spreadsheets left plain.
What changes for every Bot
<how_to_work>, the ask test's "keep going" and the Personal Assistant's role) with nothing about scope. It is now said once, in<how_to_work>: do the preparation a task needs without asking, take a decided step in the same reply, and do not start work nobody asked for, so a question gets its answer, not the job it is about. The ask test's else-branch now reads "carry on with what was asked".readsBackleaves the read-back sentence out for Claude Opus 5 and later; the claims rule stays for every model. GPT-6.x and Claude Sonnet/Haiku keep a bounded "once", which is OpenAI's own fix for GPT-6 testing too broadly. Gemini 3.x has no such guidance and keeps it.<replies>, new: size the reply to the question and lead with the answer. Yes/no gets yes or no and at most one line more. A question about whether the Bot can do something gets a short answer from what it holds and an offer, not the work, not a read of the person's data, not a capability list. A request worded as a question ("can you send me today's agenda?") is a request. A finished job is one or two sentences with the result or a link. No recaps, no repeated summaries, no message per step. It says it is about words: a component the answer calls for is still drawn, so generative UI is unchanged.<documents>, new: spreadsheets get labelled input cells, live formulas, units in headers, a bold frozen header row, real number, percent, currency and date formats, one tab for a small task, kept formatting, and a read-back for #REF!, #NAME? and #VALUE! before delivery. Documents get a title, headings and no filler.computerGuidancetakes an optionalinstalledlist from the deployment that builds the computer's image, and tells the Bot to check before writing a script and never to ask the person to approve a script for a program the computer does not have.Tests
shared/bot-prompt.test.ts: the push to act appears once across every Bot's working rules and "keep going" nowhere; scope, search wait and typed retries; the claims rule; the read-back present for GPT-5.6, GPT-6.1, Sonnet 5.5, Haiku 5.5, Opus 4.8, Gemini 3.8 and unknown models, absent for Opus 5 and later; reply shapes including the request-worded-as-a-question case and the line that keeps components; spreadsheet defaults; the computer's software line only when given; section order; no shouting.agent-claude-sdk/tests/fixtures/server-instructions.jsonregenerated, andtest_openbot_instructions.pypasses against it.Evidence from real-model runs, before and after, is below.