How it works
Start with a result. Learn the process by running it.
Tell the Project Agent what useful work looks like. It creates visible canvas state and Tests the result while you watch. Captured runs show where discretion helped and where it repeated, giving you evidence to add types, policies, deterministic blocks, and deliberate human review.
Sketch · Refine · Formalize
Formalization is a journey, not a prerequisite.
A Sketch gives a durable name, instructions, tools, and ceilings to work that is not formalized yet. In Agent mode it can execute that work and produce a first result. You do not have to specify everything before you start, and the discretionary part does not disappear into a chat.
Refine it incrementally as the process reveals itself. Add a schema once you know the data's shape. Add a validator or human pause where mistakes matter. Replace a repeated choice with one or several narrower blocks once the evidence shows what the implementation should do.
Functionary captures agent runs, including prompts, tool activity, partial outputs, and typed results where possible. A transcript is not the final process, but it is useful evidence for building one.
The same project can hold the first agent-backed attempt and the mature, audited workflow it becomes. Graduation is not automatic learning: you narrow discretion deliberately when run and evaluation evidence support it.
Blocks · Effects · Provenance
Typed values, declared authority, recorded lineage.
Flows exchange typed values and artifacts. Documents — including text, Markdown, HTML, and PDF — and structured Records are common payload forms; blocks can also declare more specific contracts. A type mismatch renders as an unverified connection on the canvas before execution.
Block signatures describe effects, determinism, and discretion. That makes a pure model call different from a mechanical external write, and both different from an open-discretion Agent. Effects propagate through the graph so authority is visible before a run.
Successful block outputs carry append-only execution lineage: block, input IDs, time, configuration hash, and model or prompt hashes when applicable. Extraction blocks can additionally attach source passages to structured findings. Synthesized prose retains execution lineage, but is not currently guaranteed to preserve claim-level citations.
"provenance": [
{
"block_id": "extract-3",
"inputs": ["79aa04cc-…"],
"timestamp": "2026-08-25T14:02:11Z",
"config_hash": "sha256:…",
"model": "configured-provider-model",
"prompt_hash": "sha256:…"
}
] Humans are first-class
Some judgments are not delegable.
Human pauses cover different jobs: approval, schema-defined input, inspection, review, and handoff. The flow holds at that step and resumes only through the corresponding human action instead of quietly inventing the missing decision.
A waiting step carries the NEEDS-INPUT chip on the canvas, so the held decision is visible, not buried. Accountability is not transferable; the tool routes it rather than absorbing it.
Test before Production
External effects require a deliberate handoff.
Test is the default run mode. Use representative or real inputs while durable external writes are stubbed, and inspect the graph, results, effects, and review points before granting authority.
Production approval is pinned to the exact flow snapshot you reviewed and is valid for that run. The Project Agent can build and Test, but it cannot approve a Production run on your behalf.
Errors produce durable fixes
A mistake becomes evidence for a change.
When a flow fails, the run identifies the block and reason. Debug tracing can retain richer input and output envelopes when configured, while the run record and available provenance keep the investigation attached to the process instead of a private chat.
You or the Project Agent can make a targeted change and Test the new snapshot. History records who changed what and when, with conversation linkage for agent-authored edits. The graph and policy change consistently; nondeterministic outputs can still vary and remain subject to the evaluations and gates you chose.