← All needs

grilling: every open branch is put to the user, even ones with a sensible default (no "assume and state" category)

## Problem `grilling` splits the tree into two kinds of nodes: **facts** (look them up yourself) and **decisions** ("the decisions are the user's: put each to them and wait"). There is no third kind: **a decision that already has a sensible default**. So the model puts every branch to the user, including ones where it already knows the answer. The round format shows the gap: each question comes with a ➡️ recommended answer. When that recommendation is a conventional default, the question often doesn't need asking. #282 already draws this line: "a model that asks redundant or low-value questions (a prompt-quality issue, not a quantity issue). The fix for the latter belongs in the skill prompt". This issue is a concrete proposal for that fix. It does **not** ask for a question cap or a different stop condition (#44, #487). ## What happened A design session (Claude Code, Opus): 22 questions over 4 rounds. When I asked "are these questions really key, or are you asking for the sake of asking?", the model sorted its own questions: - ~5 changed the architecture (e.g. keep the existing expression syntax vs. add a new loader). - 1 was a genuine domain call only I could make. - The rest fell into three groups: - **conventional defaults**: long vs. wide table, where a config option lives; - **implementation details**: column types, uniqueness constraints; - **already answered by me earlier**, which overlaps #1106. It then offered to "adopt the recommendations as defaults and write them into the design doc as overridable". That's the behaviour I wanted from the start. ## Proposed change Add a third category next to the fact/decision split, e.g.: > Put a decision to the user only if their answer would change what gets built and you can't settle it from what they've already said, the codebase, or a conventional default. Settle the rest yourself: list them in the round under **Assumed (override if wrong)**. That way nothing is *silently* assumed, and the user can still veto any of them. This keeps "nothing left silently assumed" and "shared understanding" as they are. Assumptions are still surfaced; they just don't cost the user a turn each.