Back to Dagger

Cache Expert

skills/cache-expert/SKILL.md

0.20.81.8 KB
Original Source

Cache Expert

High-Level Architecture

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.

Quick Reference

Jump to the right doc for your task:

TaskRead
Understand how IDs encode operations and digestsids.md
Understand cache-relevant dagql execution flowdagql-api-server.md
Understand base/session cache storage and lifecyclecache-storage.md
Debug cache misses and cache behavior regressionsdebugging.md
Understand filesync cache behaviorfilesync.md

Core References

To build cache expertise, read these in order:

  1. ids.md - How IDs and digests define cache identity
  2. dagql-api-server.md - How Select/preselect/call drive cache usage
  3. cache-storage.md - How results are stored, indexed, released, and persisted

Optional References

Load on-demand for specific tasks:

  • debugging.md - Practical debugging loop and instrumentation points
  • filesync.md - Host filesystem sync internals and filesync cache model