Development record
When abcd asks the person to choose, the question keeps running past the host's question box: a question over 24 rows at 80 columns was refused in a live session on the 0.13.2 plugin, and the agent cut its options down to a few words each to get it through. The product thinker, reading the refused draft, saw that its long text added nothing: a paragraph before the options described each option again, while the options' own labels and descriptions were already perfectly clear. The problem was repetition, not too little room, so the fix is a rule against it rather than a second channel for the overflow; a separate text file for the full options was considered and dropped on the product thinker's ruling of 2026-10-09.
When abcd asks the person to choose, the question keeps running past the host's question box: a question over 24 rows at 80 columns was refused in a live session on the 0.13.2 plugin, and the agent cut its options down to a few words each to get it through. The product thinker, reading the refused draft, saw that its long text added nothing: a paragraph before the options described each option again, while the options' own labels and descriptions were already perfectly clear. The problem was repetition, not too little room, so the fix is a rule against it rather than a second channel for the overflow; a separate text file for the full options was considered and dropped on the product thinker's ruling of 2026-10-09.
The rule: the text before a question says only what its options cannot, which is what is being decided and where it stands now, and never restates an option's meaning, gain or cost. It belongs in the GRILL asking rules and in the abcd:question-drafter agent, which v0.13.3 ships to draft questions within the limit; the guard can count rows but cannot judge repetition, so the drafter is where it is enforced. v0.13.3 also stops refusing a question whose only fault is its length (iss-2610070637562567), which removes the refusal but not the repetition.
The lab that follows runs the drafter on the quick tier (Haiku 4.5), rewriting until the row count, computed exactly by abcd, fits the window, and compares its drafts with the default tier's on the same material: how often each fits, whether any meaning is lost, and the cost. Its result feeds the model-tier idea in iss-2610080618506115.
Frontmatter
| id | iss-2610090816296964 |
|---|---|
| type | issue |
| lifecycle | open |
| severity | minor |
.abcd/work/issues/open/iss-2610090816296964-a-decision-s-full-options-do-not-fit-the.md
open on GitHub ↗ · commit history ↗
mentions6
- iss-2610070637562567After the hook commands became one-line wrappers, a guard refusal still reaches the person as 'PreToolUse:<tool> hook error: [sh "${CLAUDE_PLUGIN_ROOT}/hooks/pre-tool-use.sh"]: <message>', framed as an error, because the guard blocks by exiting 2 with its message on stderr. Claude Code's hooks reference documents a structured alternative for PreToolUse: exit 0 with hookSpecificOutput.permissionDecision "deny" and permissionDecisionReason on stdout, which blocks the call (a question included) and hands the model only the reason; the command echo in front of an exit-2 message is not documented at all. Unverified here: the guide that reported it worked from summarised documentation.
- iss-2610080618506115Route work to model tiers by role, per task as well as per agent: thinking (Opus today), default (Sonnet) and quick (Haiku), so that, for example, a summary written for the product thinker goes to the quick tier rather than the thinking tier. The tier names are what abcd stores; each model family maps them to its own models, so a move to another vendor changes the mapping and nothing else. This refines the planned per-agent tier table (itd-2609170822093401), which has economy and frontier but no middle tier and no per-task routing. Before a cheaper tier takes over any task it should earn it: keep the thinking tier doing the live work and run the quick tier on the same task in the shadow, recording both outputs, so a later evaluation can show where the quick tier is good enough.
- iss-2610230745597968Questions still break abcd's asking limits after several rounds of fixes, on two accounts on 2026-10-23. (1) In a repository abcd manages, on another account, an agent bundled four separate issues into one question without going through the abcd:question-drafter agent, and the question check refused 21 parts at once: headers that were not role chips, no Decide later option, no Now: or Change later: lines, and question text that did not quote the thing being decided; the status line meanwhile read 'waiting on the product thinker'. (2) In abcd's own checkout, a question was refused because its text did not end with the question, and it also ran 25 rows against the 24-row limit (header and frame 8, question text 7, options 10), which the check reports but does not refuse, so it would have been shown and a narrow window might cut it; at the same time an abcd:question-drafter run spent 9 minutes 32 seconds and 174.2k tokens recounting over-limit tabs with a hand-written rows script. Earlier rounds include iss-2610071538055431, iss-2610100626327722, iss-2610161734179773 and the open iss-2610090816296964.
- itd-2610100627454580An agent's text comes back from abcd's rewriter written for its reader and within its limits
- itd-2610230756259215Every question abcd asks passes its check before the person sees it
- spc-2610301917245442Every question abcd asks passes its check before the person sees it