Question Graphs
Loopism · questioning, zoomed in · draft 0.1 · 26 Oct 2026

Question Graphs

The questioning stage, opened up. A question graph holds every question an inquiry contains, how they depend on each other, and what is already known. The agent builds it, answers what it can from context, asks the person only the questions that matter now, and keeps it current as new information arrives.

The capability to aim for: given an inquiry context, generate the most useful question graph, harvest answers from context before asking, render the frontier in the cheapest form a person can answer, and update the graph whenever steering, verification or another person adds information. The same graph then serves as the spec, the steering map, the place where verification lands, and the unit that learning keeps.

Builds on the bead notation in Loopism Notation.

01 · Anatomy

One graph, mid-inquiry

Example inquiry: add team sharing to a notes app. Beads keep their meaning from the base notation. Edges mean "refines" unless dashed (pruned) or faint (dependency into a gated question).

FRONTIER · askable nowdeferred to steeringrepodecision log, loop 3Who can share?owners and editorsWhich permission levels?Live or snapshot?live: repo already uses CRDTsNotify recipients?Share outside the org?noGuest accounts?Guest billing?Per doc or per folder?Conflict handling?merge: same libraryWho sees edit history?What shouldsharing do?pruned by the answer “no”gated: needs the answer above
The frontier holds two questions, and the person should get the one with the larger halo first. Three answers came without asking anyone: two from the repo and one from an earlier decision. That earlier decision pruned two questions nobody had to ask.
Value haloBigger halo, bigger expected effect on the goal space.
FrontierOpen questions whose prerequisites are answered. Only these can be asked now.
GatedWaiting on a parent's answer.
PrunedMade irrelevant by another answer.
ReopenedAnswered once, invalidated by new information.
Context sourceRepo, documents, history, an earlier decision. Answers questions without asking.
New informationA residual, a new file, a changed requirement.
HarvestedAn answer drawn from context, with provenance.
02 · Shape

Trees, DAGs and revisable graphs

Tree, DAG and graph name three different commitments. Real inquiries start as trees, become DAGs once questions share sub-questions, and become revisable graphs once time passes.

Tree

Pure decomposition. Each question splits into narrower ones. Easy to render as an outline; wasteful when branches share a sub-question.

See: Self-Ask, erotetic search scenarios, Tree of Clarifications

shared

DAG

Dependencies and reuse. A question can be gated by several parents and is asked once. Answers propagate forward like values in a spreadsheet.

See: QOC, IBIS, Build systems à la carte

new informationreopensinvalidated

Revisable graph

New information reopens answered nodes and invalidates whatever depended on them. This is the shape a real inquiry has over time.

See: Questions under discussion, EvalGen criteria drift

03 · Before the goal

Questioning to find the goal

Sometimes there is no goal yet, only a felt need. Then the goal of questioning is to find the goal. The graph has no root and its links have no direction. Questions spread out to locate the problem in a space of possibilities. Taylor (1968) called this the visceral need, felt before it can be said. Kuhlthau found that this stage carries the most uncertainty and the least comfort.

POSSIBILITY SPACE · no root, no directiondimension found: one person ↔ between peoplegoal taking shape“something about how we shareknowledge feels broken”search?tagging?who knew what?decisions get losthandoffsonboarding?unexploredrootingDIRECTED GRAPH · rooted at the goal“Decisions get lost in handoffs. Why?”wherewhich kindhow oftenwho noticesunrooting: the residual shows the goal was wrong
Ripples mark questions the person reacted to strongly. A goal region forms where the ripples cluster, and the agent also discovers a dimension that organizes the space. Once the person can say the problem in a sentence, that sentence becomes the root of a directed graph, the kind shown in the rest of this page. If verification later shows the goal was wrong, the graph is unrooted and goes back to the field. That return is double-loop learning.
  1. Links mean "related to", not "refines".Sprawl is the point. Covering the space matters more than going deep, so the graph grows sideways and has no parent-child structure yet.
  2. Value is information about which problem.Impact on the goal can't be estimated without a goal. What can be estimated is how much new ground a probe opens and how strongly the person reacts. Formally, the hypotheses are candidate goals, not candidate solutions.
  3. Harvest means sketching a map.Before asking anything, the agent can build a rough field from context (past threads, tickets, docs) and show it. Reacting to a map costs the person far less than answering from a blank page.
  4. Exit by rooting.When reactions concentrate in one region and the person can state the problem in a sentence, the graph roots. This moment deserves its own interface: show the candidate root and ask "is this it?"
DEEPENDIG HERESCOUT ONCELET GOhandoffswho knew what?onboarding?tagging?search?opens new ground →resonance with the person (predicted) →

The triage chart changes axes. "Impact on the goal" becomes resonance: how strongly this person is likely to react. "Agent can answer from context" becomes new ground: how far the probe reaches beyond what has been explored.

Resonance has to be predicted before a probe is shown, so in this phase the agent is really learning the person: what they react to, and which words land. That knowledge belongs in the learning substrate and carries over to the next inquiry.

Forms that work before a goal exists

  • Show a mapThe agent sketches the field from context (threads, tickets, docs) and asks which part feels most off.
  • ProvocationAn extreme or half-wrong example. People recognize the problem before they can name it.
  • Contrast“More like this, or like that?” between two very different directions.
  • Recent episode“Tell me about the last time this hurt.” Concrete stories carry the goal implicitly.
  • Generated dimensionsPropose the axes of the space and let the person place themselves (as in Luminate or a Zwicky box).
  • Absence“If this problem vanished tomorrow, what would you notice first?”
04 · What organizes the asking

Shortest path or accumulation

Two philosophies of questioning pull in opposite directions. One looks for the single question that delivers the most critical information. The other gathers many small, reflective answers that add up. Which is right depends on whose uncertainty you are reducing.

SHORTEST PATH · the goal is foundGfew sharp questions, each rules out half of what could be trueACCUMULATION · the goal is madeGmany light questions, each adds a little shape to the goal
On the left, the goal already exists in the person's head and questions measure it. On the right, the goal does not exist yet and questions help build it. The same question can be a measurement in one situation and an intervention in another.
  1. The agent's uncertainty about a fixed goal.Choose by information gain and take the shortest path. Twenty questions, adaptive testing, and most clarification research live here.
  2. The person's uncertainty about their own goal.Choose questions that help the person think. Asking changes the answer, so many light reflections beat one sharp probe. Socratic midwifery and the construction-of-preference research live here.
  3. Uncertainty between people.Order questions by where people disagree. Questions reveal the overlap or gap between goal spaces and help shrink it.
  4. The person's own growth.Sometimes a question is worth asking for what it teaches the person, even when the agent could answer it. Bainbridge's irony applies: people who are never asked lose the ability to steer.
value(question) =  what it tells the agent about the goal
                 + how much it moves the person's own understanding
                 + how much it aligns the people involved
                 − attention it costs − interruption it causes
// the weights shift by phase: see the curve below

The way of asking shifts across the pipeline

Each phase has a natural way of asking, a pace, and an owner of the uncertainty. A harness that keeps one mode of questioning from start to finish will feel wrong somewhere.

BEFORE GOALQSStVLaccumulateconstructshortest pathmeasuredivergentelicitingconfirminginterruptingcomparingreflecting
PhaseModeTypical formsWho sets the paceWhose uncertainty
Before the goalDivergentMaps, provocations, stories, contrastsThe personThe person's own
QuestioningElicitingOpen questions, drafts to react to, ladderingBothMostly the agent's, partly the person's
SpecingConfirmingChoices, approvals, assumptions to confirmThe agentThe agent's
SteeringInterruptingOne tradeoff, with context, answerable in secondsThe workThe agent's, about one decision
VerifyingComparingA/B, “what's wrong here?”, rubric checksThe personBoth: criteria are still forming
LearningReflecting“What should I remember?”, retrospectivesEither, asynchronouslyBoth, about the next loop
05 · Lifecycle

Generate, harvest, ask, update

Four operations keep a question graph alive. The person only takes part in the third one.

1 · GENERATEagent drafts candidate questionsfrom the inquiry context2 · HARVESTcontextcontext answers what it can;some candidates drop out3 · ASKcontext+person answers the frontier;answers prune and spawn4 · UPDATEcontextnew info++new information reopensand extends the graph
  1. Generate.Draft candidate questions from the inquiry context, using templates for the domain and perspectives (STORM's trick). Over-generate, since pruning is cheap.Hard part: coverage of the questions nobody would think to ask.
  2. Harvest.Before asking anyone, try to answer each node from the repo, documents, history and priors, and record where each answer came from.Hard part: knowing when a harvested answer is confident enough to use.
  3. Ask.Rank the frontier by value and cost, pick a form, ask. Each answer prunes some branches and spawns others.Hard part: estimating value without simulating every possible answer.
  4. Update.New information from steering, verification or another person reopens answers and propagates to what depended on them, the way a build system rebuilds only what changed.Hard part: reopening only what is affected, and telling the person why.
06 · Who answers

Triage the frontier, then pick a form

ASK THE PERSONASSUME, ASK TO CONFIRMASSUME AND LOGDEFER OR DROPpermission levelsdoc or folderlive or snapshotconflict handlingnotify recipientsagent can answer from context →impact on the goal × hard to undo →

Every frontier question gets sorted on two axes: how much it moves the goal (weighted by how hard the choice is to undo), and how confidently the agent can answer it from context. Only one quadrant goes to the person as an open ask. The rest are harvested, confirmed with a glance, or deferred.

This is where much of a harness's value lives. Two harnesses with the same model differ in how much of the graph they can harvest, how well they estimate value, and how cheaply they let a person answer the rest.

Once a question is routed to the person, its form matters as much as its content. The same node can cost a glance or several minutes.

FormCost to the personWhat it yieldsBest when
Silent harvestNoneAn answer from repo, docs or historyConfidence high, stakes low
Assumption to confirmA glanceA yes, or a correctionConfidence high, stakes high
Multiple choiceSecondsOne option among known onesOptions can be listed; the person can't easily phrase them
A/B comparisonSecondsA preference, often with a reasonTaste and tradeoffs that are hard to state in the abstract
RankingUnder a minutePriorities between competing valuesNodes where several answers trade off
Draft to react toA minuteMany answers at once, including to questions nobody askedEarly, when the person can't yet describe the goal
CounterfactualA minuteThe edge of the goal space“What would make this wrong?” Good for verification criteria
LadderingMinutesParent nodes: the goal behind a requirement“Why does that matter?” Grows the graph upward
Open questionHighestAnything, including new branchesWhen the shape of the graph itself is unknown
07 · Across the loop

The graph outlives the questioning stage

If the graph persists, every later stage reads from it and writes to it. That makes it a shared spine for the whole loop instead of a pre-flight checklist.

QUESTION GRAPH · persists across the loopfrontiercontested: A ≠ BreopeneddeferrednewQ · QUESTIONINGS · SPECINGSt · STEERINGV · VERIFYINGL · LEARNINGgraph templates · answered nodes become priors · ask policygenerate · rankspec = answered pathtradeoff attaches to its parentresidual reopens a nodetemplatesanswers → priors
  1. Specing reads it.A spec is the answered path through the graph, plus the assumptions marked as such. Reviewing a spec becomes walking the graph, and two spec versions differ by their answer sets.
  2. Steering writes to it.A tradeoff found mid-run is a question the graph lacked. Attaching it to its parent keeps the context and shows whether it could have been asked earlier.
  3. Verification reopens it.A residual is most useful when traced to the node whose answer was wrong or missing. That node reopens and its dependents are flagged.
  4. Learning keeps it.Answered nodes with provenance become priors. Graph shapes that recur become templates for the next inquiry of the same kind.
  5. Several people share it.One graph, answers per person. Contested nodes are the agenda for a sync, and the merge happens node by node instead of document by document.
08 · Building blocks

What a question-graph harness would store

A sketch of the node a harness would keep, and the operations on it. Each field exists because some diagram above needs it.

QuestionNode {
  text, why                // the question, and what it decides in the goal space
  parents[], depends_on[]  // refines · gated by
  value, cost              // expected effect on the goal · effort for a person to answer
  answer, answered_by      // person | agent | context | prior
  provenance               // source, who, when, which loop
  confidence, valid_while[] // conditions that would reopen it
  owner_answers{}          // per person, for multiplayer; disagreement = contested
  status                   // candidate | gated | frontier | answered | assumed |
                           // deferred | pruned | contested | reopened
}
operations: generate · harvest · rank · render · ask · propagate · merge · promote
metrics:    information gained per minute of human attention · share harvested
            · reopen rate · questions not asked over successive loops
09 · Research map

Where question graphs already show up

Linguistics and logic have studied the structure of questions for decades. Recent LLM work covers choosing questions and decomposing them. Few systems combine generation, harvesting, asking and updating in one persistent graph, and that gap looks like the opening.

10 · To react to

Hypotheses