Nodes: the building blocks
Every piece of research in Thesis lives in a node. A node has a title, a summary (the core claim or plan), optional long-form content, and a kind that describes what type of research unit it represents.Nodes are the atomic unit of research in Thesis. Everything, hypotheses, experiments, insights, source summaries, is a node.
Node kinds
- Untyped. A general-purpose node. Use it for notes, source summaries, follow-up directions, or anything that doesn’t fit neatly into a specific category yet.
- Empirical. An experiment node. Empirical nodes carry an 8-section blueprint with a hypothesis, falsification criterion, method, expected outcomes, baseline, metrics, data config, and rigor review. They also have a status:
drafted,awaiting_approval,in_progress,completed, orfailed. - Insight. A synthesized finding. Use insight nodes to record conclusions drawn from experiments or sources, things you’ve determined to be true and want to preserve as durable knowledge.
Staged vs. committed
Every node exists in one of two lifecycle states:| State | Editable | Purpose |
|---|---|---|
| Staged | Yes | Working draft. You can update the title, content, kind, and summary freely. |
| Committed | No | Durable history. A committed node is frozen, it can never be edited, only branched from. |
Edges: how nodes relate
Nodes are connected by parent–child edges. A child node descends from one or more parents, and a parent can have many children. This lets the graph represent:- a hypothesis branching into several competing tests
- a failed experiment leading to a revised setup
- multiple source summaries merging into a single insight
- an experiment result spawning the next frontier of investigation
Branching and merging
Branch from a committed node
When you want to explore a new direction without disturbing stable work, branch from a committed node. The new node starts staged and inherits context from its parent.
Work in the staged state
Edit, annotate, and iterate on the staged node. Run searches, attach artifacts, let the agent write log entries. Nothing is locked yet.
Commit when findings are stable
Once you’re confident in a result or finding, commit the node. It becomes durable history, a fixed point in your research timeline.
The core workflow
The typical rhythm in Thesis follows this pattern:Why this structure matters
Most research tools treat notes as mutable documents and chat as the memory layer. Both break down quickly: documents get overwritten, and chat history becomes unreliable after a few sessions. Thesis’s graph gives you something more durable:Traceability
Traceability
Every node traces back to its ancestors. You can always answer: “where did this idea come from?”, by walking the parent edges to the original hypothesis or source.
Reversibility without loss
Reversibility without loss
Because committed nodes are frozen, branching never destroys what you’ve already established. Dead ends are recorded, not erased.
Agent-readable state
Agent-readable state
The graph is structured data, not prose. The Thesis agent can read the full project graph, understand what’s been tried, and plan the next step without relying on chat history.
Shareable and exportable
Shareable and exportable