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
Generated shims can outlive the shiv version and template that produced them.
A concrete example on this machine is mise-managed shiv:codebase@0.3.0. Its active shim still exports generic:
export CALLER_PWD="$PWD"
Current shiv has generated package-scoped variables such as CODEBASE_CALLER_PWD since #113, and the installed codebase source already prefers that variable. Updating shiv or vfox-shiv did not regenerate the existing concrete codebase installation, so the old generated contract persists.
Those source fixes do not repair already-generated shims by themselves.
Desired direction
Make stale generated artifacts visible and give each installation model a bounded repair path:
A traditional global shiv upgrade may regenerate shims owned by its global registry.
A mise/vfox-managed package rebuild may regenerate only that isolated package installation's shim.
Neither path should rewrite shims owned by the other model.
Existing concrete mise package versions need an explicit invalidation/rebuild story when vfox-shiv's bundled shiv generator changes; updating the plugin/bootstrap alone does not currently reinstall them.
Potential mechanisms include generator/format metadata in shim headers, shiv doctor detection, atomic owned-shim regeneration, and a vfox-shiv rebuild contract. The implementation should choose the smallest mechanism that makes ownership and upgrade behavior reliable.
Acceptance criteria
Generated shims expose enough provenance or format information to detect stale templates.
Global shiv can atomically regenerate only globally registered shims.
Mise/vfox-managed installs can rebuild only their version-local shims.
Upgrading one installation model cannot overwrite the other's shims.
A regression proves that a package installed with an older shim template is detected and repaired after the relevant generator upgrade.
Problem
Generated shims can outlive the shiv version and template that produced them.
A concrete example on this machine is mise-managed
shiv:codebase@0.3.0. Its active shim still exports generic:Current shiv has generated package-scoped variables such as
CODEBASE_CALLER_PWDsince #113, and the installed codebase source already prefers that variable. Updating shiv or vfox-shiv did not regenerate the existing concrete codebase installation, so the old generated contract persists.This is adjacent to, but distinct from:
CALLER_PWD;Those source fixes do not repair already-generated shims by themselves.
Desired direction
Make stale generated artifacts visible and give each installation model a bounded repair path:
Potential mechanisms include generator/format metadata in shim headers,
shiv doctordetection, atomic owned-shim regeneration, and a vfox-shiv rebuild contract. The implementation should choose the smallest mechanism that makes ownership and upgrade behavior reliable.Acceptance criteria