Tree:
c0412a5660
master
v0.1a
${ noResults }
4 Commits (c0412a5660c687cac42ff3e2099b50aa077266a7)
| Author | SHA1 | Message | Date |
|---|---|---|---|
|
|
6a92d63cf5 |
G-103: runtime kit family assembly - kit-family + kit-family-artifacts steps, all members verified
suite_tcl90 now assembles and verifies the G-103 family as part of the default pipeline: - kit-family: two staging trees (core, bi) wrap into working-name products tclsh9.0.5.exe / tclsh9.0.5-punk.exe / tclsh9.0.5-punk-bi.exe under out/family. Attached image mirrors the installed prefix - tcl_library/ at the app root (stock C-boot position, no main.tcl - falls through to the interactive shell), tm tree at tcl9/<ver>, batteries under lib/ with their installed-shape pkgIndexes (../../bin -> /app/bin), dlls under bin/, plus a one-line stock pkgIndex hook at lib/pkgIndex.tcl extending auto_path (the tclPkgUnknown mid-scan growth mechanism tcllib's own index uses). - tools/family_check.tcl: per-member self-containment verification from a scratch dir with scrubbed env - patchlevel, zipfs tcl_library, tzdata/ encodings, attached tm modules, functional Thread (cross-thread eval), vfs zip-mount round-trip, tcllib md5 + tcllibc accel engaged, piperepl default-ON/opt-out per variant (::tclsh(istty) discriminator), Tk create/destroy + tklib for bi. All three members PASS. - kit-family-artifacts + tools/family_artifacts.tcl: punkbin-layout emission (immutable -r<N> names via -Dfamilyrev, per-artifact toml metadata with variant/sha1/versions/provenance/G-107 evidence, sha1sums.txt), run UNDER the plain family kit itself. punkbin publication stays a user step. - build_tclthread/build_tk return pkgidx+version facts; tclvfs configured package generation shared between prefix install and family staging; tm-module install list single-sourced; manifestUuid helper tolerates repos without the fossil manifest setting. - consumers: mapvfs.config entries punk9_beta (punk + punk9wintk905.vfs) and punk9bi_beta (punk-bi + punk9win_for_tkruntime.vfs); working names copied to bin/runtime/win32-x86_64 (untracked). src/runtime/AGENTS.md stale runtime.cmd references updated to punk-runtime (G-097). Full pipeline suite.tcl build PASS end-to-end; verification evidence recorded in the goal Progress section. Remaining: punk-runtime list/use metadata surfacing, kit-wrap trial of the new mapvfs entries. Assisted-by: harness=claude; primary-model=claude-fable-5; api-location=anthropic.com |
3 weeks ago |
|
|
10128952aa |
suite_tcl90: derive thread version from the checkout (was hardcoded 3.0.1)
Found by G-107's first library-test census: build_tclthread.zig compiled thread trunk 3.0.7 sources with -DPACKAGE_VERSION="3.0.1", so the dll self-reported the wrong version, and the pkgIndex declared only capital-T Thread 3.0.1 - the thread testsuite's 'package require -exact thread 3.0.7' could never load the package (nothing previously load-tested thread at all). The version now derives from the tree's AC_INIT (new build_common helpers acInitVersion/stripChars) and flows into every version-derived name: dll tcl9thread<nodots>.dll, install dir lib/thread<version>, PACKAGE_VERSION/ PACKAGE_STRING defines, rc resource fields, and a pkgIndex declaring BOTH 'Thread' and 'thread' (threadCmd.c provides both; the testsuite requires lowercase, existing punkshell consumers the capitalized name). Dead zip-related consts riding the stale version removed. Note for the next kit/vfs refresh: the punk905 kit payload (src/vfs/punk9wintk905.vfs/lib_tcl9/thread3.0.1/) still carries the old self-consistent 3.0.1-stamped copy - refresh to the derived naming then. Assisted-by: harness=claude; primary-model=claude-fable-5; api-location=anthropic.com |
3 weeks ago |
|
|
e5db051389 |
G-102 M3+M4: post-tclsh phases as recipe steps; suite.tcl reduced to dev wrapper
The whole pipeline now lives in the zig recipe; Tcl remains the tool exactly
where a tclsh is guaranteed to exist - run by the FRESHLY BUILT suite shell
as build steps:
- New steps (native-host builds): smoke (static shell patchlevel; zip shell
patchlevel + attached tzdata/autoload), tklib / tcllib (their own installers,
batch, -pkg-path as a cached output dir installed into the prefix, + package
smokes incl withdrawn-Tk tooltip), tcllibc (critcl driving zig cc via the
tracked critcl_zig.config, module list parsed from tcllib's version.tcl,
pinned-zig dir prepended to PATH, + accel smoke), test-gate (tools/
test_gate.tcl - the parsed-totals gate vs expected_test_failures.txt,
-Dtestargs passthrough).
- Package landing moves into the recipe proper: thread pkgIndex.tcl
(build_tclthread), tk pkgIndex.tcl (build_tk), and the tclvfs script package
incl .in-template substitution + dll (build_tclvfs_shared
install_tclvfs_package) - all hooked to the install step.
- Step scripts: tools/test_gate.tcl, tools/suite_smoke.tcl, tools/pkg_smoke.tcl
(run under the built shell; assertions live in Tcl).
- Two windows-childproofing findings encoded: built-shell Runs execute the
CACHED artifact (no ../lib/tcl9.0 beside it) so each such Run gets
TCL_LIBRARY pointed at the source tree's script library (the zip smoke
deliberately excluded - its attached library is the thing under test); and
cached (non-side-effect) Runs spawn with stdout IGNORED, leaving the tcl
child without a stdout channel ('can not find channel named "stdout"',
critcl's logging) - such runs capture stdout to give the child a real pipe
while keeping caching.
- suite.tcl: thinned to the fossil dev flow - fetch live checkouts (git kind
now handled in the main loop for critcl's pin), stage the recipe, delegate
to the staged steps (run_zig_steps; 'test' delegates to test-gate). Default
-steps and the bootstrap default grow to the full pipeline short of
test-gate. critcl_zig.config + expected_test_failures.txt join both staging
lists. Docs updated (README two-flow section, sources.config two-surface
header, overlay section); .gitignore learns .zig-cache/ and zig-pkg/ (zig
0.16 extracts fetched packages into zig-pkg/ beside the manifest).
Verified (fossil flow): full pipeline PASS - suite_smoke static+zip, tklib
tooltip:2.0.4 under withdrawn Tk, tcllib md5/sha1/cmdline, tcllibc:2.0 with
md5-critcl-accel:1; 'suite.tcl test -testargs {-file http.test}' delegates to
the gate step (528/519/9/0 GATE PASS).
Assisted-by: harness=claude; primary-model=claude-fable-5; api-location=anthropic.com
|
3 weeks ago |
|
|
84a1b22515 |
G-102 M1: suite_tcl90 configure-products as zig overlays; source trees read-only
Generation of the configure-products a fresh checkout lacks moves from suite.tcl tree-writes into the zig recipe as build-cache overlays: - tclUuid.h / tkUuid.h / threadUuid.h: wrapfiletofile Run outputs consumed via overlay include dirs added FIRST per module (stale tree copies from pre-G-102 flows can never shadow; the LazyPath also carries the step dep). The unused addUpdateSourceFiles tree-write variants (build905 prepare-source, build_tclthread) are removed. - tclsh.exe.manifest: configure-time substitution (tcl.h parsed by the new build_common.zig helpers); tclsh.rc compiled from an overlay COPY beside the generated manifest because rc resource references resolve rc-file-relative before include paths. Both tclsh exes switch to .include_paths LazyPaths. - wish.exe.manifest: overlay dir first in tk.rc include_paths (RT_MANIFEST resolves through rc include paths - the arrangement the tk build already relied on). tk.rc itself stays tree-compiled (lives in win/rc, no stale risk). - thread.rc: compiled from an overlay copy with the tcl.h include inserted (the historical checkout edit is normalized if a mutated tree is staged); the staged tclthread checkout's thread.rc edit has been fossil-reverted. - build905.zig: redundant configure-time top-level library install loop removed (install_library_tree already covers it); dead zlib stage copy and the suite.tcl generation blocks removed (read-only version parsing kept for smokes/logging). Verified: full staged-mode rebuild PASS (all smokes incl tklib/tcllib/tcllibc); built binaries carry the overlay products (tcl::build-info reports 9.0.5+1a9c3b9d..., tclsh manifest version 9.0.2.905, tk dll manifest + tk checkout uuid, thread dll uuid; thread dll's empty FileVersion matches the pre-change binary - upstream quirk). Source checkouts stay pristine (fossil changes empty). Core test gate: 69783 run, 12 failed - 11 baselined plus http-4.14.2, a network-timing flake that passes on isolated rerun (528/519/9/0). tclsh90sprzip.exe install into out/bin is currently blocked by an open user application holding the file; the product builds identically into the zig cache and installs on next run once released. Assisted-by: harness=claude; primary-model=claude-fable-5; api-location=anthropic.com |
3 weeks ago |