nomograph/synthesist

Spec management for AI coordination

One CLI. Versioned database in your repo. The same interface for the human and the agent doing the work.

go install gitlab.com/nomograph/synthesist@latest
workflow
6 phases
with human gate
storage
Dolt
SQL, versioned
manages
19 repos
across 3 trees
language
Go
MIT licensed
The thesis

Spec work front-runs context.

Writing a spec before executing forces you to name the goal, the dependencies, the stakeholders, and the acceptance criteria. That structured context is exactly what an AI agent needs to do good work across sessions. The spec IS the context. Synthesist makes spec work a first-class operation so both humans and agents work from the same source of truth.

The workflow

Every body of work follows a six-phase cycle. The critical constraint: no execution without human approval.

01
Orient

Read the landscape. Stakeholder dispositions, upstream specs, what changed since last session.

02
Plan

Create specs and task DAGs. Dependencies, acceptance criteria, human gates.

03
Agree

Human reviews and approves the plan. The only mandatory checkpoint. Nothing executes without this.

04
Execute

Claim tasks. Do the work. Record discoveries. Write findings to disk before context fills.

05
Reflect

Check propagation. Did upstream data change? Are downstream artifacts stale? Fix before moving on.

06
Report

Close the body of work. Retro with arc and transforms. Merge the session.

How it works

Spec trees

Work organized into trees and specs. Each spec has a goal, decisions, tasks, and discoveries. Trees span repos. Our estate has 3 trees covering 19 repos.

Task DAGs

Tasks with dependencies, human gates, and acceptance criteria. The system enforces ordering. You can't claim what isn't ready. You can't complete what isn't verified.

Propagation

When data changes upstream, propagation check finds every downstream artifact that references it. Papers, websites, READMEs. Nothing ships with outdated numbers.

Stakeholders

Record signals (what someone said or did), dispositions (what it means for us), and stances (the relationship). Alignment without guessing. Evidence-linked.

Sessions

All writes require an active session. Sessions branch like git branches for your spec data. Merge atomically when done. No partial state, no conflicts.

Discoveries

Findings that emerge during work. Attached to the spec they came from. The things you learn that weren't in the plan. They persist. They propagate.