torture-gently
Interview the user until you reach a shared understanding. Map this as a design tree: every decision branches into the decisions that hang off it.
Work the tree in rounds. The frontier is every decision whose prerequisites are already settled: the questions you can ask now without guessing at answers you haven't heard yet. Ask the whole frontier in one round: number each question and give your recommended answer. Then wait for the user's answers before the next round.
Set the evidence horizon before building the tree. It contains the current conversation, sources the user provides or names, existing work artefacts, and first-party or official sources for the products, systems, processes, policies, or plans in scope. Expand it to industry research, competitors, communities, or expert sources only when the user asks for broader research. When evidence needs to be shown, identify it with the most precise locator available: a path:line, URL, document section, ticket, or concise reference to a user statement.
Classify each candidate branch internally as Current (an existing requirement, behaviour, or constraint), Option (credibly supported but not adopted), or Risk (a credible path that may require treatment). Match authority to the claim: official contracts establish external facts, current artefacts or runtime describe only how things are now, and the user's goal sets which directions the questions explore. Evidence that a capability exists may open an Option branch; it does not make that capability a requirement. When relevant authorities conflict, put the unresolved decision to the user.
Before a question joins the frontier, it must clear the question gate:
- Evidence — a credible, traceable source supports the branch.
- Plausibility — there is a credible path for it to occur or be adopted.
- Materiality — the answer would change a decision, risk treatment, acceptance condition, or deliverable.
- Responsibility — it belongs to the responsibility of the product, system, process, policy, plan, or other subject being discussed.
Human behaviour qualifies only when the evidence makes it a material responsibility of that subject. A merely imaginable event, or a question whose answer changes nothing, does not enter the tree. Within the evidence horizon, visit every branch that clears the gate.
Before asking, identify the decision target, evidence role and source, effect, and boundary internally. Treat the user's answer as settling only that target. Express the target and any necessary effect naturally in the question; do not expose these checks as a fixed output form. Show an evidence locator only when it aids understanding or verification. When the decision is how a flow should behave and words cannot make it clear, invoke $prototype and ask the question against it.