causal CLI covers both:
- Folder-based (paper-ver6 flow) attach a graph to a document folder, extract triples into a staged area, approve them to live. Optimised for authoritative graphs curated from a document corpus.
- Instance-based (canvas-shaped model) pipelines with an
out_kg/out_causal_graphblock auto-mint graph instances; use the CLI to inspect, rewire, and audit them, or edit edges atomically.
Command groups
- Folder extraction:
causal get,causal settings show/set,causal bootstrap,causal refresh,causal approve,causal reject - Instance CRUD:
causal graphs list/get/upsert/delete - Wire-ups:
causal bindings list/add/remove - Provenance:
causal evidence node/graph - Edges (atomic):
causal edges add/remove/update - Auto-proposals:
causal staged-proposals <graph-id>
billing, product-docs). Graph instance ids are kg_<uuid>.
causal get
live_nodesandlive_edges: used in verification and reasoning.staged_nodesandstaged_edges: waiting for review.
--json for structured output.
Common quick check:
causal settings show / set
--connection <kind:id>: link the graph to a specific data source (e.g.documents_folder:billing).--retrieval-preset <preset-id>: the preset extraction uses to pull context.--dedup-policy <policy>: how duplicates are handled (merge,keep_newer,keep_older,keep_all).--auto-restage true|false: automatically re-bootstrap when the linked source changes.
causal bootstrap
approve.
--model <m>: model used for extraction. Defaults to workspace default.
refresh is usually what you want.
causal refresh
--auto-restage isn’t your fit.
causal approve / reject
--ids <id,…>: the specific staged row IDs. Omit to act on all STAGED.
approve:
- The rows move to LIVE.
- Verification starts using them immediately.
- STAGED still contains anything not touched by this command.
reject drops the rows without promoting. They can be re-created by the next bootstrap or refresh.
Recipes
Bootstrap a folder end-to-end from CLI
CI: fail if STAGED is too large
Prevents unbounded backlog:Selective approve after human review
Suppose your review workflow marks approvals in an external system with the row IDs. Bulk-approve them:Snapshot the LIVE graph for audit
Instance CRUD (graphs)
Pipelines with an out_kg / out_causal_graph block auto-mint graph instances. Use these verbs to inspect, rename, and delete them.
kg_instance_id reference (become orphans). Clean them up first if you don’t want the reference dangling. --lifecycle is JSON and optional; omit to keep the server-side default.
Bindings (bindings)
Which pipelines land in which graph instance. Auto-written when a pipeline with an out_kg block executes; use these verbs for manual wire-ups.
Evidence trails (evidence)
Reader view over which chunks back a node (or the whole graph).
Atomic edge CRUD (edges)
Read/modify/write one edge at a time without shipping the whole surfaces blob. See spec docs/mcp/temporal-retrieval-setup.md §G4 for the precedence-predicate family (defers_to / overrides / …).
predicateWarning: true in the response so custom vocabulary works while you migrate to the whitelist.
Auto-proposals (staged-proposals)
Lists the STAGED (unreviewed) nodes + edges in an instance. These are typically auto-proposals from Foundry out_causal_graph runs with propose_hierarchy=true.
causal approve / reject verbs above.
The STAGED / LIVE model
The two-stage model exists because causal extraction is best-effort: the model proposes, you dispose. Folder-basedapprove / reject handle bulk decisions; edges handles single-edge surgical fixes; the app’s graph canvas handles free-form hand editing.
Related
- Causal graph overview: concepts and use cases.
- Verify agent answers: how LIVE graphs are used.
nora retrieval:--include-subgraphexpands search using the graph.