What happened
code_version is computed from the recipe command string + container image + decisions, but NOT from the contents of the script the command invokes. After materializing an output, editing the underlying script (e.g. changing the weighting logic in run_reconstruction.py) leaves lc status reporting the output as ok, and a plain lc run skips it as already-built. The output silently reflects stale code. The only ways to rebuild are lc run -f or deleting the output dir — both require the user to know the script changed, which defeats the point of provenance/staleness tracking.
Reproduction
lc run <output_id> to materialize an output whose recipe is python scripts/foo.py ....
- Edit
scripts/foo.py (change behavior, not the recipe command).
lc status -> still ok; lc run <output_id> -> skipped (no rerun).
Expected: a script-content change invalidates dependent outputs (hash the resolved script file(s), or the command's file dependencies, into code_version / a rerun-trigger).
Environment
- ASTRA (astra-spec): 0.0.7
- lightcone-cli: 0.3.0
- Python: 3.11.14
- OS: Linux 6.4.0 (NERSC Perlmutter)
What happened
code_versionis computed from the recipe command string + container image + decisions, but NOT from the contents of the script the command invokes. After materializing an output, editing the underlying script (e.g. changing the weighting logic inrun_reconstruction.py) leaveslc statusreporting the output asok, and a plainlc runskips it as already-built. The output silently reflects stale code. The only ways to rebuild arelc run -for deleting the output dir — both require the user to know the script changed, which defeats the point of provenance/staleness tracking.Reproduction
lc run <output_id>to materialize an output whose recipe ispython scripts/foo.py ....scripts/foo.py(change behavior, not the recipe command).lc status-> stillok;lc run <output_id>-> skipped (no rerun).Expected: a script-content change invalidates dependent outputs (hash the resolved script file(s), or the command's file dependencies, into
code_version/ a rerun-trigger).Environment