A single-cell result is a chain of choices. A marker table depends on a clustering, the clustering depends on a graph, and the graph depends on exact cells, features, normalization, and reduction. When several branches share one datastore, a filename or cluster column cannot identify that chain.
CyteArc therefore persists substantial results as immutable artifacts. Each artifact records the producing operation, scientific parameters, and exact upstream inputs. Matching provenance can reuse completed work; changing an input creates a distinct downstream branch.
The branches share counts, selections, and normalization. Their reductions and downstream graphs remain distinct because those inputs differ. No branch becomes an implicit current result.
When a CyteArc release changes what an operation computes for the same parameters and inputs, it
gives the operation a new revision, and provenance records it. A stored result of an older revision
is then never reused: CyteArc computes the result again and logs which stored result it replaced and
why. The older result stays listable, loadable, and traceable, and lineage reports mark it as stale.
Results built from it keep their own current revision, but once the older result is computed
again, they have a new input and are computed again too.
Payload validation still applies: marker-table readers require fold_change_policy metadata
and refuse a table that does not record it.
Operation revisions explains the policy behind revisions.
Inputs that could change are frozen before a result uses them. Label transfer, for example, copies the reference labels it reads into the query datastore, so the saved query labels keep pointing at the exact annotations, threshold, and projection that produced them, even after the reference atlas is re-annotated.
A PipelineRun adds one durable record for a complete workflow invocation. It
binds named outputs and frozen cell and feature views without changing the artifact identity rules.
Provenance establishes computational relationships. It does not prove that a parameter was scientifically appropriate, decide which branch is best, or replace study records.
Use Reuse results and compare analysis settings for the single executable guide to listing, inspecting, branching, invalidating, and comparing artifact lineage. Use Artifacts, lineage, and summaries API reference for the complete API contract.