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
fix(ipc): serve getEnv(s) from the spawn's full env context saved in the plan
A command-prefixed env (PREFIXED_ENV=x node tool.mjs) is part of the
spawn's env, but getEnv resolved against the session snapshot only and
answered (unset) — and recorded that wrong value into the post-run
fingerprint.
The plan now saves two env maps per spawn: all_envs (filtered, passed to
the child — unchanged) and full_envs, the planning context's envs overlaid
with the spawn's own additions. Nested expansions already thread prefix
envs into the context, so full_envs picks up enclosing runs' prefixes too
(taskA: PREFIXED_A=a vt run taskB → taskB's getEnv sees PREFIXED_A).
full_envs is serde-skipped: it mirrors the ambient env and is not part of
the plan's identity.
The Recorder and tracked-env validation both use full_envs, keeping record
and lookup symmetric per cache key (prefix envs are in the spawn
fingerprint, so a changed prefix is a different entry).
e2e: fetch_env_sees_command_prefix_env (was failing, now green) and
fetch_env_sees_intermediate_prefix_envs (nested prefix accumulation +
cache-hit validation).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
0 commit comments