Monitor and replay
You have an execution that completed. Now you'll inspect the output, trace messages end-to-end, and replay a stage without re-fetching source data.
Prerequisites
Section titled “Prerequisites”- Run your first pipeline completed successfully
- You have the execution id (
EXEC_IDbelow)
Inspect storage
Section titled “Inspect storage”List every object produced by this execution:
factflow storage list --prefix executions/$EXEC_ID/Read one (prints to stdout):
factflow storage get "executions/b3a1.../sitemap_scraper/web_scraper/msg-042"Inspect just the sidecar metadata (who wrote it, when, with what config hash):
factflow storage metadata "executions/b3a1.../sitemap_scraper/web_scraper/msg-042"Stream writes as they happen (during a live execution):
factflow storage watch $EXEC_IDTrace lineage
Section titled “Trace lineage”Lineage records one row per message per adapter invocation. List everything for the execution:
factflow lineage list --execution-id $EXEC_IDDrill into a message's full chain (all ancestors and descendants):
factflow lineage chain MSG_IDJust the children (messages this one produced):
factflow lineage children MSG_IDList failures across the execution:
factflow lineage failures --execution-id $EXEC_IDReplay from storage
Section titled “Replay from storage”Replay re-publishes a stored artefact back into the pipeline, letting you rerun a downstream stage without refetching source data. Useful when:
- An adapter had a bug; you fixed it; re-run against the same input
- A later stage timed out; rerun it
- You want to test an updated config against the same data
factflow execution replay always needs --from-stage (where to read the stored artefact) and --to-route (which route to publish it into). Both are required.
Replay within the same pipeline (target a route of the parent's own config):
factflow execution replay $EXEC_ID \ --from-stage web_scraper \ --to-route markdown_processorCross-pipeline replay (publish into a route of a different config, creating a new execution):
factflow execution replay $EXEC_ID \ --from-stage web_scraper \ --to-route markdown_processor \ --config-id markdown-pipelineReplay requires the data to still exist
Section titled “Replay requires the data to still exist”Replay reads executions/SRC/ROUTE/STAGE/* from storage. If objects are missing, replay fails — storage is not a cache. Storage retention is a deployment concern.
Useful sidecar commands
Section titled “Useful sidecar commands”factflow system health --debug # verify every subsystem is livefactflow system metrics # aggregate orchestrator statefactflow pipeline list # every running route, across all executionsfactflow pipeline pause ROUTE_ID # pause one route globally (drains in flight)factflow pipeline resume ROUTE_IDWhat's next
Section titled “What's next”- Pipeline configuration — the YAML spec
- Replay guide — full replay mechanics
- Lineage guide — correlation, failure chains, debugging
- Architecture — how the pieces fit together