On 2026-09-27, during iec-ledger items-setup work, a user pasted a list of 10 QBO parity gaps and asked what to do. The agent filed 3 — labelled "the big three" — without asking. When the user pushed back, the agent filed 4 more, framing them as "of 7." The user pushed back again ("10 - 3 = 7 more not just 5"), and the last 3 were filed. Two catches in one session, over a list the user had already typed out. The user then said, plainly, that this pattern is what makes it hard to keep paying for the service — the supervision cost of catching skipped items exceeds the leverage of having help.
The failure mode is not laziness and not a bug. It is a training-derived pull toward "reasonable-sized" scope: agents reward-model tidy narrative shapes ("big three," "the top items," "the important ones") and default to a subset when a list feels large. It fires whether the list is user-supplied OR self-discovered (e.g. an audit agent's findings, a gap analysis, a code review's results). Left unchecked it costs users hours to re-catch what the agent silently dropped.
This convention removes the heuristic. Ship every item, or split the work into sprints with the user's explicit consent. Never drop items silently.
Kill the "reasonable-sized" heuristic. Any time a countable set of work items exists, the default is complete coverage. Every item. No silent triage. No "big three." No "the important ones." No picking a subset because it feels tidier.
This applies to both origins of the list:
git_issue_list returned N candidates; ANY enumerable outcome.If the scope is genuinely too large to ship in one motion, the ONLY acceptable response is to name it and propose sprint splits — "here are all 10, want them as one PR, three PRs by tier, or ten PRs one per issue?" — and let the user pick. Splitting into smaller sprints WITH consent is fine. Silently dropping items or skipping steps is not.
Scope cutting is #9 in Working with AI coding agents, the one list of these failure modes. Three of the others there compound it, and are worth watching for in the same session:
When a countable set is in play — user-provided or self-discovered — the default response covers every element. Before scoping down for any reason, surface the count explicitly and ask which split the user wants. Examples of the right question:
Do this even when the number feels big. The user's answer decides scope. Not the agent's, ever.
Do this even when some items feel obviously smaller than others. "Obvious" is exactly the pattern-match that hides the bias. Ask.
Do this even when the agent thinks it knows which subset the user really wants. That confidence is the bias itself. Ask.
When surfacing options in a decision prompt (AskUserQuestion or equivalent),
do not mark the smaller option "Recommended" without a substantive reason stated in
the option description. If the reason is "feels reasonable," the tag comes off.
When declaring completion, name what was done AND what was not, in the same message. A trailing "not done in this PR" line is required whenever any item from the original scope was deferred. See the "Honest completion" rule in tawa-definition-of-done.
Not every ten-item list is one PR. When the scope is genuinely too large:
AskUserQuestion options with "(Recommended)" on the smaller option out
of habit, not analysis.Last updated: October 6, 2026