suite_tcl90: critcl_zig.config gains the linux-x86_64-zig cross target
(zig cc -target x86_64-linux-gnu.2.17 - the dynamic-glibc floor decision,
recorded in the goal file and fed to G-105). build905.zig gains the
tcllibc-linux step (critcl driver on the windows suite shell, stubs
linkage, no linux host; uuid.tcl excluded matching upstream's own
native-linux package shape) gated by the new tools/elf_gate.tcl
(G-133-equivalent ELF64/LSB/ET_DYN/x86_64 structural check - the
load-smoke stand-in for cross lanes). library-artifacts emits
lib/linux-x86_64/tcllibc-tcl9-r<N>.zip in the same run: target =
linux-x86_64, build_host_platform = win32-x86_64, full provenance set,
deliberately no [tests] section. build_id seeds now include the tier
path so same-named artifacts in different target tiers get distinct
identity digests (both suites' tool copies kept byte-identical). Step
lists (build905.zig -Dsteps default, suite.tcl) and README document the
lane and invocation.
Consumption: libpackages.toml declares tcllibc-tcl9-linux (target
linux-x86_64); vendorlib_vfs.toml install.tcllibc_tcl9_linux switches
punk9linux.vfs/lib_tcl9 - replace retires the hand-dropped tcllibc,
supersedes removes the stray tcllibc2.0 - so the last provenance-less
accelerator hand-drops in any kit payload are gone. punkshell902 baked
(G-133 payload arch scan: 6/6 match target linux-x86_64) and
WSL-verified: materialized-tier accel smoke plus baked-kit smokes
(default paths + a pinned variant proving the kit's own lib_tcl9
artifact tree loads with the accelerator engaged). Finding recorded:
the tclkit-902 runtime bundles its own lib/tcllibc2.0 which wins
default precedence - the origin of the retired stray folder name.
Determinism: back-to-back re-emission byte-identical for all three
artifacts; the zig Run session-env cache finding extended (FOSSIL_HOME
and invocation mode churn the key; the linux ELF .so observed
bit-stable across critcl re-runs, unlike the windows PE). Goal flipped
achieved with evidence in the detail file; G-105 notes carry the libc
decision as prior art. Docs: buildsuites AGENTS.md child index,
ARCHITECTURE.md buildsuites paragraph, CHANGELOG + punkproject 0.32.2.
Assisted-by: harness=claude; primary-model=claude-fable-5; api-location=anthropic.com
Non-contract addition - the approved Acceptance wording is untouched; the
archived-goal marker lint wants now lives in the Anchors line.
Assisted-by: harness=claude; primary-model=claude-fable-5; api-location=anthropic.com
New proposed goal, flagged at the G-139 achieved flip: punk9linux.vfs's
linux-built tcllibc + stray tcllibc2.0 are the last provenance-less
accelerator hand-drops in any kit payload. G-140 commits a narrow zig
-target lane on the existing windows suite: critcl driving zig cc with an
explicit linux target section (stubs linkage - no cross-built runtime, no
linux build host), emitted as lib/linux-x86_64/tcllibc-tcl9-r<N>.zip through
the established G-138 machinery (record target=linux-x86_64,
build_host_platform=actual host), verified by a host-side ELF check +
byte-identical re-emission + a WSL accel smoke under an existing punkbin
linux Tcl 9 runtime, consumed via the G-139 declaration idiom
(libpackages.toml + vendorlib_vfs.toml supersedes/replace + a punkshell902
cross-target bake with in-kit record + WSL kit smoke). The libc/triple
decision (dynamic glibc floor direction) is recorded as direct input to
G-105's dynamic-libc and mapping items - back-pointer added to G-105 Notes
(non-contract). tcl8 generation dispositioned out of the committed set (no
linux tcl8 kit).
Overlap survey run (goals_xref paths across the scope): G-105 the strongest
live intersection (carried as Related with the lands-first framing);
G-116/G-130/G-060/G-123/G-004/G-065 carried; G-108/G-110/G-131 co-location
only. goals_lint clean.
Assisted-by: harness=claude; primary-model=claude-fable-5; api-location=anthropic.com