Workflow engines
Camunda, Temporal, Dapr, Inngest, and Trigger.dev can still run durable work. Flow records gate state and evidence.
required paths, gates, evidence, and exceptions made inspectable
Agents skip steps, accept weak evidence, summarize work as complete, and lose the thread after compaction. Flow is the small thing missing in the middle: a record of the required path, the evidence each gate expected, the evidence that was actually collected, and the exceptions that need explicit human trust. It does not replace workflow engines, agent runtimes, observability tools, approval apps, or policy engines. It explains why the work was allowed to advance.
$ flow status run.dev-1847 --format summary
flow run: agent-dev-flow / feature-search-filters
current step: verify
PASS plan gate: acceptance criteria linked
PASS implementation gate: scoped files changed
BLOCK verify gate: browser evidence missing
expected: tests, lint, screenshot, Veritas readiness
next action: run browser check before publish
continuation: resume from verify, not chat memory
report: .flow/runs/run.dev-1847/report.md
Quickstart
$ npm install -D @kontourai/flow
$ npx flow init
$ npx flow start examples/agent-dev-flow.json --run-id dev-1847
$ npx flow attach-evidence dev-1847 --gate verify-gate \
--file ./test-output.json --kind command
$ npx flow report dev-1847
What Flow answers
Example use case
A team asks an agent to ship a pricing-page change. Flow records the required path: plan, implementation, code review, rendered-page verification, release readiness, and post-deploy smoke. The work can only advance when each gate has the evidence it asked for.
If the browser check is missing, the run does not become "done." It stays blocked with a resumable next action.
PASS plan: acceptance criteria present
PASS implementation: scoped diff
PASS review: no high findings
BLOCK verify: rendered-page screenshot missing
expected: desktop + mobile evidence
next action: capture browser evidence, then resume
The difference
Observability is necessary, but a trace alone does not know whether the right verification happened, whether approval had enough context, or whether the agent skipped a required handoff.
Flow turns required paths into evidence-gated transitions. If the evidence is missing, the run blocks or routes back. If the user accepts the gap, the exception becomes part of the record.
What Flow does not replace
Camunda, Temporal, Dapr, Inngest, and Trigger.dev can still run durable work. Flow records gate state and evidence.
LangGraph, CrewAI, OpenAI Agents, Microsoft Agent Framework, and runtime SDKs can still execute agent loops.
Phoenix, LangSmith, AgentOps, and OpenTelemetry can still store traces. Flow interprets traces against gate expectations.
OPA, security tools, and Veritas can still evaluate rules. Flow records their decisions as process evidence.
Flow Console
flow console --run <id>
serves a live view of a run straight from
.flow/runs/<id>/.
Loopback only. No cloud, no login.
$ npx flow console --run dev-1847
Flow Console running at http://127.0.0.1:4317
Reading: .flow/runs/dev-1847/
run: agent-dev-flow / feature-search-filters
GET / 200 console shell
GET /api/run 200 run graph + timeline
GET /api/gates 200 gate detail + evidence
───────────────────────────────
PASS plan · implementation
BLOCK verify · browser evidence missing
loopback only · no hosted service
Product line
Surface makes claims inspectable. Survey makes producer-side provenance inspectable. Flow makes process transitions inspectable. Flow Agents applies Flow and Veritas discipline inside Codex, Claude Code, Kiro, GitHub Actions, and future agent tools.
You get a workflow that simply works. Underneath, each Kontour product adds one focused layer of the trust stack.
Surface claims, evidence, policies, trust snapshots
Survey producer-side source → review → claim, projected into Surface
Flow steps, gates, transitions, exceptions, reports
Veritas repo standards, evidence checks, merge readiness
Flow Agents runtime-native workflows + work modes
shared promise: Kontour AI shows the work behind AI.