Browse Source
tool_install_state judges bin/<tool>.exe current/stale by comparing its
mtime against the newest file anywhere in the tool tree. Two layers kept
that exe mtime frozen at the original link time: a zig cache-hit rebuild
does not rewrite the zig-out artifact, and Tcl's 'file copy -force'
preserves the source mtime (Windows CopyFile semantics). Once any
non-build-input file (e.g. PROVENANCE.md, edited after the G-128/G-135
doc passes) was newer than that link time, the tool was reported 'stale'
permanently - repeated 'make.tcl tool build' runs (field-observed
2026-08-01) reinstalled a timestamp-identical artifact and never cleared
it.
Fix: after the install copy, stamp the installed exe with the install
time ('file mtime $exe [clock seconds]'), making the state measure what
it means - installed since the last change in the tree. Also self-heals
mtime churn from branch switches/fresh clones on the next build.
punkshell 0.39.2 + CHANGELOG entry (patch: build-tooling bug fix).
Thin-layout make.tcl copies resynced via 'make.tcl libs -confirm 0'
(basic, project-0.1, modpod templates copy - byte-identical).
Assisted-by: harness=claude; primary-model=claude-fable-5; api-location=anthropic.com
master
6 changed files with 162 additions and 97 deletions
Loading…
Reference in new issue