Documentation
¶
Overview ¶
Package cache implements opt-in, per-task content-hash caching for tasks carrying [cache(inputs=[...], outputs=[...])]. There is NO timestamp-based skipping (Principle I): a task is skipped iff its fingerprint matches the stored one AND every declared output exists. Every decision is logged (cached/running) by the caller; corruption is treated as a miss, never an error.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Fingerprint ¶
type Fingerprint struct {
Key string `json:"key"`
Namespace string `json:"namespace"`
Hash string `json:"hash"`
Inputs []string `json:"inputs"`
Outputs []string `json:"outputs"`
Executor string `json:"executor"`
CreatedAt string `json:"createdAt"`
}
Fingerprint is the on-disk cache record (contracts/cache-fingerprint.md).
type Spec ¶
type Spec struct {
Key string // task name (display)
Namespace string // mod namespace ("" at top level)
Root string // directory containing the Runefile (cache + glob base)
Inputs []string // input glob patterns
Outputs []string // output path patterns
Body string // raw body text (pre-interpolation)
Vars map[string]string // resolved variables/params referenced by the task
Executor string // executor identity (e.g. "sh" or "python:[python3]")
}
Spec describes a cacheable task invocation.
Click to show internal directories.
Click to hide internal directories.