Skip to content

fix: synthetic tasks inherit parent task's cache config#150

Merged
branchseer merged 2 commits intomainfrom
02-10-fix_allow_to_disable_cache_for_synthetic_tasks
Feb 11, 2026
Merged

fix: synthetic tasks inherit parent task's cache config#150
branchseer merged 2 commits intomainfrom
02-10-fix_allow_to_disable_cache_for_synthetic_tasks

Conversation

@branchseer
Copy link
Copy Markdown
Member

@branchseer branchseer commented Feb 10, 2026

Synthetic tasks (e.g., vp lintoxlint) now respect the parent task's cache configuration

Synthetic tasks (e.g., vp lintoxlint) now respect the parent
task's cache configuration instead of always enabling their own cache.
Cache is enabled only when both parent and synthetic want it, and
parent settings like passThroughEnvs are properly propagated.

  • Add ParentCacheConfig enum (None/Disabled/Inherited) to represent
    parent cache state passed to synthetic task planning
  • Add resolve_synthetic_cache_config to merge parent and synthetic
    cache configs with clear precedence rules
  • Change EnvConfig.pass_through_envs from Arc<[Str]> to
    FxHashSet<Str> for natural deduplication during merge
  • Sort pass-through envs for deterministic cache fingerprinting
  • Add synthetic-cache-disabled test fixture with 6 cases covering
    disabled scripts, disabled tasks, enabled tasks, env inheritance,
    and expanded query task independence

Synthetic tasks (e.g., `vp lint` → `oxlint`) now respect the parent
task's cache configuration instead of always enabling their own cache.
Cache is enabled only when both parent and synthetic want it, and
parent settings like `passThroughEnvs` are properly propagated.

- Add `ParentCacheConfig` enum (None/Disabled/Inherited) to represent
  parent cache state passed to synthetic task planning
- Add `resolve_synthetic_cache_config` to merge parent and synthetic
  cache configs with clear precedence rules
- Change `EnvConfig.pass_through_envs` from `Arc<[Str]>` to
  `FxHashSet<Str>` for natural deduplication during merge
- Sort pass-through envs for deterministic cache fingerprinting
- Add `synthetic-cache-disabled` test fixture with 6 cases covering
  disabled scripts, disabled tasks, enabled tasks, env inheritance,
  and expanded query task independence

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Copy link
Copy Markdown
Member Author

This stack of pull requests is managed by Graphite. Learn more about stacking.

@branchseer branchseer marked this pull request as ready for review February 10, 2026 14:54
@branchseer branchseer requested a review from fengmk2 February 11, 2026 00:24
@branchseer branchseer merged commit 846885e into main Feb 11, 2026
7 checks passed
@branchseer branchseer deleted the 02-10-fix_allow_to_disable_cache_for_synthetic_tasks branch February 11, 2026 00:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants