thinkn
  • Product
    Manifesto
    The reason we exist
    Founder Studioprivate beta
    Make better product decisions faster
    Belief SDKinvite only
    Add belief states to your AI system
    Request Access →Join the private beta waitlist
  • Docs
  • Pricing
  • FAQ
  • Docs
  • Pricing
  • FAQ
Sign In
Welcome
  • Hack Guide
  • Introduction
  • Install
  • Quickstart
  • FAQ
  • The Problem
  • Memory vs Beliefs
  • Drift
  • Examples
  • Beliefs
  • Intent
  • Clarity
  • Moves
  • World
core/moves.mdx

Moves

Ranked next actions by expected information gain.

What a Move Is

A move is a recommended action the system surfaces based on the current belief state. Each move has an action type, a target, a reason, and an expected value representing how much it would improve the agent's understanding.

1{
2  action: 'gather_evidence',
3  target: 'Missing APAC market analysis',
4  reason: 'High-impact gap with 3 downstream dependencies',
5  value: 0.72,
6  executor: 'agent',
7}
  • action. The type of move: clarify, resolve_uncertainty, gather_evidence, compare_paths.
  • target. The belief, gap, or contradiction the move addresses.
  • reason. Why this move matters, in natural language.
  • value. Expected information gain, 0–1. Higher means more uncertainty reduction.
  • executor. Who should act: agent, user, or both.

Move Types

ActionWhen it surfaces
gather_evidenceA gap or weakly supported belief needs investigation
clarifyA contradiction exists between beliefs
resolve_uncertaintyA load-bearing belief has insufficient evidence
compare_pathsMultiple valid interpretations need a decision framework

Each action can have a subtype for specificity:

SubtypeDescription
researchFind external data or sources
validate_assumptionTest whether an assumption holds
resolve_contradictionAddress conflicting beliefs
quantify_riskMeasure exposure on a risk belief
design_testPropose an experiment to confirm or refute
synthesizeCombine multiple findings into a conclusion
reframeRestructure the problem based on new information

How Moves Are Ranked

Moves are ranked by expected information gain: which action would most reduce uncertainty in the beliefs that matter most.

A gap with many downstream dependencies generates a higher-value move than a gap with none. A contradiction between two load-bearing beliefs generates a higher-value clarify move than a contradiction between peripheral claims.

The system considers:

  • How much uncertainty the move would reduce
  • How many other beliefs depend on the target
  • Whether the target belief is load-bearing
  • The current clarity score and what would improve it most

Reading Moves

Moves are returned from every major SDK method:

1// Before the agent acts
2const context = await beliefs.before(userMessage)
3console.log(context.moves)  // ranked actions for this turn
4
5// After the agent acts
6const delta = await beliefs.after(result.text)
7console.log(delta.moves)    // updated recommendations
8
9// Full world state
10const world = await beliefs.read()
11console.log(world.moves)    // all current recommendations

Routing on Moves

Use moves to direct agent behavior:

1const delta = await beliefs.after(result.text)
2const next = delta.moves[0]
3
4if (!next) {
5  // No recommended actions. Clarity is likely high.
6  await finalize(delta.state)
7} else if (next.action === 'gather_evidence') {
8  await runResearch(next.target)
9} else if (next.action === 'clarify') {
10  await resolveContradiction(next.target)
11} else if (next.action === 'resolve_uncertainty') {
12  await deepDive(next.target)
13} else if (next.action === 'compare_paths') {
14  await presentTradeoffs(next.target)
15}

Executor

The executor field indicates who should act on the move.

ExecutorMeaning
agentThe agent can handle this autonomously
userThis requires human input or judgment
bothThe agent can start, but the user needs to weigh in

A user executor move might surface when the system detects a value judgment or strategic decision that the agent should not make alone.

World

The full state: beliefs, edges, clarity, and moves together.

Learn more

Patterns

Move-driven routing and other common patterns.

Learn more
PreviousClarity
NextWorld

On this page

  • What a Move Is
  • Move Types
  • How Moves Are Ranked
  • Reading Moves
  • Routing on Moves
  • Executor