A diverge-graph-converge engine for automated research and sensemaking.
Most AI research tools try to give you an answer; this one helps you map the questions. inquiry-loop is an experimental inquiry engine that uses a graph workspace to drive automated research and sensemaking. Instead of treating statements as simple true/false propositions, it maps how they function in context - as claims to be tested, evidence to be weighed, or assumptions to be challenged. By running a continuous loop of generating questions, finding evidence, and graphing relationships, it acts as a branching, automated 'Five Whys' designed to augment human critical thinking rather than bypass it.
No engine yet. The repo is a deliberately low-tech prototype: each run is a single markdown note in runs/, driven by an operator working with an LLM in a conversation. The point is to see how the loop actually behaves on real seeds before designing schema or code around it.
What's here:
runs/- completed runs, one per markdown file. Each run picks a seed (claim, evidence, assumption, or question), names an intent, diverges into questions, prunes, answers a cluster, and observes what reframed what.runs/_template.md- skeleton for new runs. Intents and categories are suggestions; runs are welcome to invent new ones.notes/engine-notes.md- what we believe so far about how the loop should behave, sourced from the runs. Each belief is tagged [high] / [medium] / [candidate] by how much evidence supports it.notes/seed-patterns.md- operational suggestions for operators: which seed + intent combinations have worked, what they produce, and what they tend to open.
If you're new here, start with runs/001-truth-edges-of-attention.md for a quick read, then skim notes/engine-notes.md for the headline beliefs.
- Seed. Statement + initial role (Claim / Evidence / Assumption / Question) + intent (what the operator wants from the run).
- Pre-flight. Engine names what it expects, what it's borrowing from prior runs, and what it's watching for.
- Diverge. Engine generates questions, tagged by category. Operator prunes - stars, strikes, adds notes.
- Answer pass. Engine picks a cluster of questions that share an intent and answers them together. The interesting behavior shows up between the answers.
- Converge. Output shape follows intent (verdict, meaning-map, axis-map, stakeholder atlas, precondition-monitoring, decidability-reframe, ...).
- Process observations. What did this run change about how we think the loop should work? Update
notes/engine-notes.mdandnotes/seed-patterns.md.
The current rule: resist formalizing until the prose breaks. Cross-run consumption works by name-reference in pre-flight - no schema, no database, no graph data structure yet.
Six runs in, the loop has demonstrated:
- Six distinct output shapes, one per intent type observed so far.
- Meta-edges between answers ([medium]: symmetrizes, operationalizes; [candidate]: constrains-the-decidability).
- Four distinct prune patterns, including prune-as-analytical-center (which turns out to be operator-expertise-mediated, not role-mediated - see run 006).
- That the same role+intent can produce mechanically different patterns depending on whether the operator already holds the assumption.
Open questions worth poking at next: see the end of notes/engine-notes.md.
It's early. If a seed interests you, copy runs/_template.md to runs/NNN-<short-label>.md, fill in seed and intent, and run it. The runs are the contribution - the notes update from them.
MIT.