You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docs: sync task cache reference with current types (#263)
## Summary
**Note:** I used AI to identify inconsistencies between the docs and the
code, and this were the parts they identified. I've also verified them
myself.
- sync the task cache docs with current type names and structures
- update environment and cache key terminology in the cache
documentation
- refresh module/file references for the current implementation layout
## Testing
- not run (docs only)
Co-authored-by: branchseer <3612422+branchseer@users.noreply.github.com>
@@ -129,7 +128,7 @@ This ensures cache invalidation when:
129
128
130
129
### 3. Environment Variable Impact on Cache
131
130
132
-
The `fingerprinted_envs` field is crucial for cache correctness:
131
+
The `fingerprinted_envs` field in `EnvFingerprints`is crucial for cache correctness:
133
132
134
133
- Only includes env vars explicitly declared in the task's `env` array
135
134
- Does NOT include untracked envs (PATH, CI, etc.)
@@ -142,7 +141,7 @@ When a task runs:
142
141
3. If a declared env var changes value, cache will miss
143
142
4. If an untracked env changes, cache will still hit
144
143
145
-
The `untracked_env` field stores env names (not values) — if the set of untracked env names changes, the cache invalidates, but value changes don't.
144
+
The `untracked_env_config` field stores env names (not values) — if the set of untracked env names changes, the cache invalidates, but value changes don't.
146
145
147
146
### 4. Execution Cache Key
148
147
@@ -152,11 +151,11 @@ The execution cache key associates a task identity with its cache entry:
152
151
pubenumExecutionCacheKey {
153
152
UserTask {
154
153
task_name:Str,
155
-
and_item_index:Option<usize>,
154
+
and_item_index:usize,
156
155
extra_args:Arc<[Str]>,
157
156
package_path:RelativePathBuf,
158
157
},
159
-
ExecAPI(Str),
158
+
ExecAPI(Arc<[Str]>),
160
159
}
161
160
```
162
161
@@ -169,7 +168,7 @@ pub struct CacheEntryValue {
169
168
pubpost_run_fingerprint:PostRunFingerprint,
170
169
pubstd_outputs:Arc<[StdOutput]>,
171
170
pubduration:Duration,
172
-
pubglobbed_inputs:Option<GlobbedInputs>,
171
+
pubglobbed_inputs:BTreeMap<RelativePathBuf, u64>,
173
172
}
174
173
```
175
174
@@ -204,7 +203,7 @@ Vite Task uses `fspy` to monitor file system access during task execution:
204
203
│ enum PathFingerprint { │
205
204
│ NotFound, // File doesn't exist │
206
205
│ FileContentHash(u64), // xxHash3 of content │
207
-
│ Folder(Option<HashMap>), // Directory listing │
206
+
│ Folder(Option<BTreeMap<Str, DirEntryKind>>), │
208
207
│ } ▲ │
209
208
│ │ │
210
209
│ This value is `None` when fspy reports that the task is │
@@ -213,7 +212,7 @@ Vite Task uses `fspy` to monitor file system access during task execution:
213
212
│ `openat(2)`. In such case, the folder's entries don't need │
214
213
│ to be fingerprinted. │
215
214
│ Folders with empty entries fingerprinted are represented as │
0 commit comments