Repository navigation
fix(cache): honor explicit untrackedEnv for tool-reported reads - #856
Open
jasonkuhrt wants to merge 4 commits into
Open
jasonkuhrt wants to merge 4 commits into
jasonkuhrt wants to merge 4 commits into
Conversation
Apply the existing untracked contract to bulk queries while retaining explicit reads and non-UTF-8 validation. Builds on the approach proposed in voidzero-dev#693. Co-authored-by: Codex (GPT-6) <noreply@openai.com>
Co-authored-by: Codex (GPT-6) <noreply@openai.com>
Keep complete environment observations and apply explicit task overrides consistently during validation. Preserve built-in passthrough defaults as tool dependencies and add a real Vite stale-bundle regression. Co-authored-by: Codex (GPT-6) <noreply@openai.com>
Co-authored-by: Codex (GPT-6) <noreply@openai.com>
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Note
AI-authored PR. Code and tests by Codex (GPT-6); reviewed by Claude Opus 5.5.
Motivation
Refs #505; related proposal: #693.
Currently
untrackedEnvcontrols the spawned environment, but tools' trackedgetEnvandgetEnvsreads still invalidate the cache for those variables. This makes it impossible for task config to exclude volatile values from broad tool-reported queries.Explicit
cache.untrackedEnvpatterns now override both scalar and bulk tool-reported dependencies, including additions and removals. This changes existing explicit configs: to keep a tool-reported variable tracked, declare it incache.envor exclude it fromuntrackedEnvwith!. Command-prefix assignments remain fingerprinted.For GitHub Actions run metadata, a task can explicitly configure
untrackedEnv: ['ACTIONS_*', 'GITHUB_*', 'RUNNER_*']. Built-in passthrough defaults do not cancel tool-reported tracking, so default configs are unchanged: a Vite build still invalidates whenVITE_MAPBOX_TOKENchanges.Complete observations remain stored, so removing an exclusion restores invalidation even with an unchanged cache key. Validation uses filtered iterators and compiles an override matcher only when needed. Existing default patterns, serialized cache keys and the cache format are unchanged.