skills/cache-expert/SKILL.md
The Dagger Engine serves a GraphQL-based API for building and executing DAG workflows.
Each operation takes immutable objects/scalar values as inputs and produces an immutable object/scalar value as output. "Mutability" is simulated as a DAG of these operations on immutable values, similar to functional programming.
This enables caching: since inputs are immutable and operations are deterministic, cache keys can be derived from the operation and its inputs.
DAGs of operations can be serialized as IDs, which have associated digests that serve as the operations' cache keys.
Jump to the right doc for your task:
| Task | Read |
|---|---|
| Understand how IDs encode operations and digests | ids.md |
| Understand cache-relevant dagql execution flow | dagql-api-server.md |
| Understand base/session cache storage and lifecycle | cache-storage.md |
| Debug cache misses and cache behavior regressions | debugging.md |
| Understand filesync cache behavior | filesync.md |
To build cache expertise, read these in order:
Select/preselect/call drive cache usageLoad on-demand for specific tasks: