Tree:
a20a64a2a1
master
v0.1a
${ noResults }
1 Commits (a20a64a2a1aaf2752e94f771b6ff796fe5d20c3a)
| Author | SHA1 | Message | Date |
|---|---|---|---|
|
|
a20a64a2a1 |
G-099 achieved: suite_tcl86 zig buildsuite for Tcl 8.6 (runtime, thread 2.8, tclvfs, core-test gate)
Builds a Tcl 8.6.18 windows runtime from core-8-6-branch sources with the
pinned zig 0.16.0 toolchain only (no MS toolchain), forked from suite_tcl90
(duplication-with-a-note posture). Products (stock threaded-release naming -
rules.vc keeps the 't' SUFX on 8.6):
bin/tcl86t.dll + tcl86t.lib shared core (static zlib compiled in; no zlib1.dll)
bin/tclsh86ts.exe static shell (kit-class; dde/registry static)
bin/tclsh86t.exe dynamic shell against the dll
lib/libtclstub86.a stub lib for extensions
lib/tcl8.6/... script library tree (dde/reg dlls inside)
lib/tcl8/{8.5,8.6}/... tm modules; lib/thread2.8.13, lib/vfs1.4.2
Companions: thread 2.8.13 (thread2813t.dll, TEA installed shape from the
checkout's own pkgIndex.tcl.in) and tclvfs 1.4.2 (vfs142t.dll) build and load;
registry 1.3.5 / dde 1.4.6. No zipfs in 8.6 - exe+dll+on-disk lib tree only,
resolved hermetically (exe/dll-relative, TCLLIBPATH/TCL_LIBRARY unset in all
child runs).
Recipe: build86.zig + build_common.zig + build_zlib86/build_tclthread86/
build_tclvfs86 helpers; tools/ and src/main.zig copied verbatim (suite-agnostic).
Two load-bearing 8.6 findings recorded in the README DERIVATION and recipe
comments: MP_FIXED_CUTOFFS (the in-core libtommath ships no bn_cutoffs.c) and
TCL_BROKEN_MAINARGS + console subsystem for the gcc-class main() entry.
Test gates (suite.tcl test -> zig build test-gate/test-libraries) parse all.tcl
totals (exit codes untrusted) and gate against tracked dispositioned baselines.
First census + two-consecutive-run deterministic PASS (machine SuperBee):
core 46525 run / 2 failed (filename-16.12/16.13 admin-share self-globbing)
thread 142 run / 0 failed (empty baseline)
tclvfs 51 run / 2 failed (vfsUrl-1.2/2.1 external ftp.tcl.tk dependency)
Goal flipped to achieved 2026-07-26 and archived; reference sweep updated G-005,
G-100 (now unblocked), G-101 and ARCHITECTURE.md. No project-version bump
(arm's-length build tooling, not shipped shell behaviour).
Assisted-by: harness=claude; primary-model=claude-fable-5; api-location=anthropic.com
|
2 weeks ago |
|
|
a7ca13bf53 |
suite_tcl90: tclvfs -> forTcl9 branch (1.5.0); version-derived vfs names; familyrev default 2
User direction: the BAWT-shipped tclvfs 1.5.0 comes from the forTcl9 branch of the same core.tcl-lang.org/tclvfs repo our trunk ref trailed at 1.4.2 - tcl9 suites move to it (a future suite_tcl86 keeps trunk; recorded in sources.config). Both flows updated: sources.config ref + build.zig.zon per-checkin tarball pin (75a2672991). build_tclvfs_shared.zig gets the G-107 derivation treatment: every version-derived name (package dir, dlls, rc fields, configured vfs.tcl/pkgIndex.tcl) now follows the checkout's AC_INIT via versionInfo() - the hardcoded 1.4.2 was the same stamped-mismatch class as the thread 3.0.1 case. build905 consumers use the derived info (szip staging, family staging, family_check args, artifact metadata). forTcl9 build glue: export guard is now lowercase BUILD_vfs; HAVE_SYS_STAT_H defined; and an include-order shim TU works around zig's mingw headers defining __stat64 as a MACRO for _stat64 - tcl.h's 'typedef struct __stat64 Tcl_StatBuf' parsed before <sys/stat.h> binds a forever-incomplete tag and forTcl9's direct Tcl_StatBuf field access fails (MSVC has a real tag; upstream never sees this; -include trips zig cc CacheCheckFailed, hence the generated-TU overlay). Verification: all three family members PASS self-containment with vfs 1.5.0 incl the functional zip-mount round-trip; tclvfs test gate PASS 51/42/9/0 twice-deterministic - the branch CLEARED the whole 1.4.2-era baseline (glob-nomatch drift entries now pass, network vfsFtp/vfsUrl now skip) - baseline re-established empty. familyrev default bumped to 2 (r1 published+immutable; r2 emitted locally + staged to the runtime store; r2 publication is a user decision). Wrapped kits confirm the resolution skew the user found is gone: punk9bi_beta script-mode 'package require vfs' now 1.5.0 (boot loads the runtime's copy - both tiers now agree). Assisted-by: harness=claude; primary-model=claude-fable-5; api-location=anthropic.com |
2 weeks ago |
|
|
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 |
|
|
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 |
|
|
4b87720328 |
G-096: zig 0.16.0 adopted - recipe ported to 0.16 build API, suite pin repointed, punk-getzig pin 0.16.0
The build016 experiment port lands in the tracked recipe (root_module/ createModule creation, addLibrary+linkage, .root_module.* method sweep, linkSystemLibrary options arg, array_list.Managed, Io.Dir dir-walks with b.graph.io, wrapfiletofile ported to the 0.16 entry/Io idiom). 0.14 support deprecated per user direction; 0.14.1 remains archived on punkbin. Verified on the pinned default (bin/tools/zig-x86_64-windows-0.16.0): build PASS, shells 9.0.5, tcl-test parity 557/357/200/0 identical to the 0.14.1 build. punk-getzig payload pins -> 0.16.0 (windows zip + linux tarball), re-wrapped checkfile ERROR-free, ps1 twin refreshed. punkbin commit 54714d7 holds the 0.16.0 archive; push pending gitea recovery (server currently 500s). Assisted-by: harness=claude; primary-model=claude-fable-5; api-location=anthropic.com |
3 weeks ago |
|
|
120f03085d |
G-096: suite_tcl90 - tracked zig recipe + driver build Tcl 9.0.5 end-to-end; piperepl patches recovered
First real buildsuite: build905.zig (verbatim G-076-validated recipe) + helper modules + tools, driven by suite.tcl which stages the recipe into src/buildsuites/_build/suite_tcl90, arranges sources (tcl fossil core-9-0-branch --nested with FOSSIL_HOME isolation; thread/tclvfs trunk; zlib from the tcl tree's compat/zlib; vqtcl from a local dir), generates the configure-products fresh checkouts lack (tclUuid.h, tclsh.exe.manifest, thread.rc include), builds and smoke-tests. Verified PASS: static + zip shells report 9.0.5 (checkout 1a9c3b9d96), Thread 3.0.1 builds from current trunk (new generated-include fix in build_tclthread) and loads. The 2024 TCLSH_PIPEREPL/tclZipfs/tclCmdIL patches are now tracked under suite_tcl90/patches with a semantics README (not applied by default builds). Assisted-by: harness=claude; primary-model=claude-fable-5; api-location=anthropic.com |
3 weeks ago |