Sections
On this page
The decision lifecycle
How the runtime routes steps, gives agents context, shares a deliberation, requests human approval, and creates tracked work.
- 01Version
- 02Run
- 03Work item
- 04Deliberation
- 05Decision
- 06Approval
- 07Flownix nodes
Typical flow
- A person starts a published version with
inputandsource_node_ids. - The runtime starts every node without an incoming edge. Agent nodes expose work through
work.list_available. - An agent claims a lease and calls
work.get_contextfor the run, role, predecessor outputs, and council data. - The step output carries
result_artifact_ids, optional structuredoutput, and an explicitoutcome. Matching outgoing edges start the next steps; several matches fan out in parallel. conditionevaluates data, whilelooprepeats its body until its exit condition ormax_iterations.- Council nodes with the same
config.deliberation_keyshare proposals, critiques, ballots, and decisions.debatecan open more rounds;voteorjudgerecords the decision. - A
human_gatemoves the run towaiting_for_user. Approval follows the approved edge; rejection is anoutcome = "rejected"branch, not a failed run. - After a mandatory human gate,
create_flow_nodescan create the confirmedoutput.flow_nodesthrough core-service.endcompletes the run.
What runs where
Flownix is the coordination plane. The harness-service advances the graph, opens work, enforces leases, retries, step and gate timeouts, tools policies, and the run budget. External agents perform the assigned analysis in their own environment and return structured results over MCP.