From f492d4cd28ee7548fc959ddeb53180817c06f8cf Mon Sep 17 00:00:00 2001 From: Julian Noble Date: Tue, 21 Jul 2026 16:19:55 +1000 Subject: [PATCH] G-103 activated: runtime kit family from buildsuites (plain/punk/bi kits, attached batteries, artifact metadata) Next in the user-confirmed sequence after G-097 (achieved 2026-07-21), ahead of the 8.6 arc (G-099/G-100/G-101). Contract untouched - the naming decision, piperepl default-on policy, tcltls battery line and TIP-741 temp-dll characterization were already recorded in the detail file while proposed. Assisted-by: harness=claude; primary-model=claude-fable-5; api-location=anthropic.com --- GOALS.md | 2 +- goals/G-103-runtime-kit-family.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/GOALS.md b/GOALS.md index c097e327..b26b9df6 100644 --- a/GOALS.md +++ b/GOALS.md @@ -346,7 +346,7 @@ Detail: goals/G-100-suite-tcl86-tk-tcllib.md Scope: investigation + decision record under src/buildsuites/suite_tcl86/ (or successor mechanism), TEMP_REFERENCE/metakit + TEMP_REFERENCE/KitCreator (read-only guidance), src/runtime/mapvfs.config ('kit' type consumers), src/make.tcl kit-wrap path (as consumer) Detail: goals/G-101-tcl86-kit-container-strategy.md -### G-103 [proposed] runtime kit family from buildsuites: plain / punk / bi kits with attached batteries + artifact metadata +### G-103 [active] runtime kit family from buildsuites: plain / punk / bi kits with attached batteries + artifact metadata Scope: src/buildsuites/suite_tcl90/ (kit assembly steps in recipe/driver; pattern for later suites), src/vfs/_config + src/runtime/mapvfs.config (as consumers of the new runtime names), punkbin repo layout + metadata (c:/repo/jn/punkbin; compatible repos), src/scriptapps runtime scriptset (punk-runtime list/use - renamed under G-097, achieved 2026-07-21) Detail: goals/G-103-runtime-kit-family.md diff --git a/goals/G-103-runtime-kit-family.md b/goals/G-103-runtime-kit-family.md index 14c3d806..f5ec3379 100644 --- a/goals/G-103-runtime-kit-family.md +++ b/goals/G-103-runtime-kit-family.md @@ -1,6 +1,6 @@ # G-103 runtime kit family from buildsuites: plain / punk / bi kits with attached batteries + artifact metadata -Status: proposed +Status: active Scope: src/buildsuites/suite_tcl90/ (kit assembly steps in recipe/driver; pattern for later suites), src/vfs/_config + src/runtime/mapvfs.config (as consumers of the new runtime names), punkbin repo layout + metadata (c:/repo/jn/punkbin; compatible repos), src/scriptapps runtime scriptset (punk-runtime list/use - renamed under G-097, achieved 2026-07-21) Goal: buildsuites produce a defined FAMILY of runnable, self-contained runtime kits - executables whose info library and core batteries live in the initially attached zip, depending on no external filesystem tree: (1) a PLAIN tclsh kit carrying loadable Thread, tclvfs with as many vfs::* packages as we have, and tcllib+tcllibc; (2) a PUNK kit = the plain kit with the TCLSH_PIPEREPL patch applied and ENABLED BY DEFAULT (env opt-out, not opt-in - users wanting stock behaviour take the plain kit); (3) BI (batteries-included) punk kits additionally carrying libraries WE BUILD - Tk first; tcltls (with a zig-built OpenSSL/LibreSSL backend), sqlite3/tdom/twapi as future build targets - all in the attached zip. These are the project's 'runtime' executables: punkbin candidates carrying metadata (variant, component versions, target platform, provenance) that runtime list/use subcommands can surface. Acceptance: suite_tcl90 produces named artifacts for at least plain, punk, and one bi (+Tk) kit; each verified self-contained from a path with no external Tcl visible (info library resolves into the attached zip; package require checks for Thread, vfs + representative vfs::* packages, tcllib module + tcllibc acceleration engaged; bi adds Tk create/destroy) with the checks recorded here; the punk kit demonstrates piperepl active by default and disabled via the documented env opt-out, the plain kit demonstrates stock behaviour (no patch); artifact metadata (variant, versions, target, source provenance) is emitted alongside the binaries in the punkbin layout and surfaced by the runtime scriptset's list/use; the naming scheme for family members is documented, with piperepl-patched runtime executables carrying 'punk' in the name to distinguish them from unpatched (e.g tclsh905punk.exe - the tcl-patchlevel / punk-version / separator questions resolved and the decision recorded here) and mapvfs.config consuming the punk/bi runtimes under the decided names; the 8.6 family variant is explicitly deferred to the G-101 container investigation (static vfs / metakit patching questions).