Make cache keys include generator versions and relevant environment
Generated client code changed after a tool upgrade while the cache reused an old successful result.
- Focused work estimate
- 3h 30m + prerequisites
- Priority in the scenario
- High
- Engineering practice
- Caching · Reproducibility
Estimated field mix
- Developer tooling70%
- Storage systems30%
Field percentages are editorial estimates of the ticket's engineering focus. They total 100%; they are not measured time, proficiency scores, or ownership evidence.
Review it, then add it to your workspace.
The board opens an editable draft; nothing is saved until you confirm it. Sign-in and workspace permissions apply, and Demo boards remain ephemeral.
Project context
A fictional internal tools team maintains eighteen packages. Engineers currently run everything because the affected-package script occasionally misses downstream consumers.
Setup prerequisites
- Create a local six-package fixture with a dependency cycle, shared compiler configuration, and two example changes.
Preceding work
Complete these dependencies, or supply their agreed outputs before taking this ticket.
Acceptance criteria
- Hash declared inputs using stable ordering.
- Include generator version and allowlisted environment names.
- Exclude secrets and unrelated environment values from key material.
Implementation constraints
- A cache hit must never authorize skipping an undeclared dependency.
Verification to include
- Change each declared input and observe key changes.
- Verify secret values are absent from keys and diagnostic output.
Deliverables
- Cache-key contract and regression checks.
Rollout and recovery
Invalidate old keys on adoption; revert to uncached commands if key provenance is missing.
Value of the work
For the engineer: Practice graph analysis, reproducible commands, and safe developer-tool failure modes.
For the team: Produce an inspectable CI selection plan that avoids unnecessary work without silently skipping consumers.
Evidence boundaries
Outcome Evidence: Tests, patches, and runbooks are requested deliverables. They become Outcome Evidence only through a qualified Mission and immutable Evidence IDs.
Ownership Evidence: Independent adaptation must be observed under a declared verification policy and cite immutable Evidence IDs. Completing a planning ticket establishes no Ownership Evidence.