diff --git a/goals/G-128-portable-pe-resource-stamping.md b/goals/G-128-portable-pe-resource-stamping.md index eee8d6e9..b00c1534 100644 --- a/goals/G-128-portable-pe-resource-stamping.md +++ b/goals/G-128-portable-pe-resource-stamping.md @@ -369,3 +369,44 @@ the parked RT_VERSION stamping wants, since the project version is known late. the httpfixture server) and live-verified against the real punkbin server from the spaced checkout; (b) suffixless `use` materializing from a sole matching -rN artifact - still open, user-owned. +- 2026-07-29 increment 1e (user-directed): NON-WINDOWS-HOST END-TO-END RUN + DONE - the e2e acceptance clause is SATISFIED. Host (recorded per the + clause): WSL2 Ubuntu 24.04.4 LTS on this machine (hostname SuperBee, kernel + 6.6.87.2-microsoft-standard-WSL2, x86_64), distro /usr/bin/tclsh 8.6.14. + Two toolchain routes, both run: + - Route (a), hermetic: punkres cross-compiled x86_64-linux-musl (static + ELF) from the PINNED windows zig 0.16.0 out of the vendored tree. + TOOL-LEVEL: that binary running UNDER LINUX stamped a punk91.exe copy + (4013-member archive-relative overlay preserved; converged in rebuild + mode on the fleet-stamped input) with the ENTIRE read-back on linux: + list shows RT_GROUP_ICON "PUNKSHELL", extract-ico byte-identical to + punkshell.ico - no windows, no twapi. SEAM-LEVEL: a punkshell clone on + the WSL NATIVE filesystem (staging discipline) with the win32-ix86 + runtime and bin/punkres staged ran 'tclsh src/make.tcl bake -confirm 0 + punkluck86' under the linux tclsh - "kit icon (G-057): embedded default + icon into punkluck86.exe stub via punkres" ON A LINUX HOST (the exact + cross-host gap this goal closes), cross-target smoke skipped as + designed, kit assembled and deployed. + - Route (b), authentic: zig-x86_64-linux-0.16.0 fetched from ziglang.org + into WSL; 'zig build test' NATIVE ON LINUX from the staged vendored tree + - 33/33 after one real finding (the CLI usage pin hardcoded punkres.exe; + fixed upstream f97eda2+f0af880 with comptime EXENAME splices, both + platforms exact-pinned; re-vendored 0bee025e, punkres 0.3.1) - and the + natively-built binary's stamp of the same input is BYTE-IDENTICAL to the + cross-built binary's. + WINDOWS CONFIRMATION (the clause's second half): both linux-produced + artifacts confirmed on windows - extract-ico byte-identical to + src/runtime/punkshell.ico; the linux-stamped punk91 BOOTS (9.1b0, payload + punk::lib 0.5.1) and confirmed its own resources via its payload twapi + (twapi::extract_resources: 7 icons + group PUNKSHELL); the linux-BAKED + punkluck86 boots on windows (8.6.10) with sidecar embedding=punkres + + icon_group=PUNKSHELL from the linux bake. + CROSS-HOST DETERMINISM finding: linux post-hoc stamp == windows post-hoc + stamp, byte-identical over the whole 49.6MB artifact. The only delta vs + the fleet-deployed punk91 is the 4-byte PE CheckSum dword (offset 0x178): + stub-first bakes leave the STUB-time checksum in place after payload + concatenation (both arms, historical status quo, loader-ignored for exes), + while post-hoc stamping computes the whole-file value - an ordering + artifact, not nondeterminism. + REMAINS for acceptance: only the punkbin publication route (G-123/G-006 + channels) for no-toolchain users.