From 50269d6ad998a15ac967318173dca42bd6b55894 Mon Sep 17 00:00:00 2001 From: Julian Noble Date: Thu, 30 Jul 2026 17:51:45 +1000 Subject: [PATCH] G-138 + G-139 activated (user-directed) Index tags and detail-file Status mirrors flipped proposed -> active. Activation-freshness overlap surveys re-run (goals_xref score, both goals): no overlaps beyond the drafting-day survey - drafted and activated same day, no goals drafted in the interval; survey notes recorded in both detail files. goals_lint clean. Assisted-by: harness=claude; primary-model=claude-fable-5; api-location=anthropic.com --- GOALS.md | 4 ++-- goals/G-138-punkbin-library-artifact-tier.md | 7 ++++++- goals/G-139-punkbin-library-consumption.md | 5 ++++- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/GOALS.md b/GOALS.md index bdd05084..02db6dcc 100644 --- a/GOALS.md +++ b/GOALS.md @@ -407,10 +407,10 @@ Detail: goals/G-136-generated-project-icon-seeding.md Scope: src/tools/punkres/ (VS_VERSIONINFO construction, set-version + field-level read-back - upstream at c:/repo/jn/zig/punkres); src/make.tcl (version stamping at the G-057/G-128 kit-icon seam, punkres arm); bin/*.resources.toml sidecar format + bin/AGENTS.md (version fields and status vocabulary); punkproject.toml (field source - configurable overrides); src/tests/ (characterization) Detail: goals/G-137-kit-version-resources.md -### G-138 [proposed] Punkbin library artifact tier: suite-built tcllib/tcllibc published as versioned package zips +### G-138 [active] Punkbin library artifact tier: suite-built tcllib/tcllibc published as versioned package zips Scope: src/buildsuites/suite_tcl90/ (library-artifact emission step + tools - beside family_artifacts.tcl, schema emission coordinated with G-123); src/buildsuites/suite_tcl86/ (same emission for the tcl8-generation build); punkbin artifact repo (external, c:/repo/jn/punkbin - new lib/ tier: lib/allplatforms + lib/, layout docs, sha1sums, minisign posture); src/tools/punkzip (as consumed - deterministic zip assembly) Detail: goals/G-138-punkbin-library-artifact-tier.md -### G-139 [proposed] Consume punkbin library artifacts: fetch/materialize tier replacing vendored tcllib/tcllibc +### G-139 [active] Consume punkbin library artifacts: fetch/materialize tier replacing vendored tcllib/tcllibc Scope: src/make.tcl (consent-gated library fetch entrypoint; libs step consuming the packages tier; vfslibs as touched); bin/packages// (new untracked materialization tier mirroring bin/runtime//); src/runtime/vendorlib_vfs.toml (tcllib/tcllibc kit-vfs declarations with supersedes removal of the legacy versions); src/vendorlib_tcl8/win32-x86_64/tcllib1.21 + src/vendorlib_tcl9/win32-x86_64/tcllib2.0 (retirement targets); src/vfs/*.vfs lib_tcl trees (kit payload switchover incl. the punk86-family tcllib 2.0 upgrade); lib_tcl8/ + lib_tcl9/ (deployed-tree materialization targets); user-config consent (server-trust pattern shared with G-123/G-006) Detail: goals/G-139-punkbin-library-consumption.md diff --git a/goals/G-138-punkbin-library-artifact-tier.md b/goals/G-138-punkbin-library-artifact-tier.md index ea2c8e49..e97735ef 100644 --- a/goals/G-138-punkbin-library-artifact-tier.md +++ b/goals/G-138-punkbin-library-artifact-tier.md @@ -1,6 +1,6 @@ # G-138 Punkbin library artifact tier: suite-built tcllib/tcllibc published as versioned package zips -Status: proposed +Status: active Scope: src/buildsuites/suite_tcl90/ (library-artifact emission step + tools - beside family_artifacts.tcl, schema emission coordinated with G-123); src/buildsuites/suite_tcl86/ (same emission for the tcl8-generation build); punkbin artifact repo (external, c:/repo/jn/punkbin - new lib/ tier: lib/allplatforms + lib/, layout docs, sha1sums, minisign posture); src/tools/punkzip (as consumed - deterministic zip assembly) Goal: the library packages the buildsuites already build and verify - tcllib (pure-Tcl, platform-neutral) and tcllibc (per-platform critcl accelerators built by critcl driving zig cc), both Tcl generations - are published as immutable `-r.zip` artifacts in a distinct library tier of the punkbin artifact repository (platform-neutral packages under lib/allplatforms, per-platform binary packages under lib/), each zip carrying the package folder in installed pkgIndex.tcl shape plus an embedded artifact record (schema class "library", the G-123 schema-v2 lineage) with checkout/toolchain provenance, so library binaries get the same punkbin integrity story as runtimes (immutable -r names, toml sidecars, sha1sums, minisign posture) and the repo can stop carrying hand-dropped built copies (the G-004 direction; consumption is G-139). Acceptance: an emission step produces punkbin-layout library artifacts from verified suite builds - suite_tcl90 demonstrated end-to-end (a platform-neutral tcllib zip under lib/allplatforms and a win32-x86_64 tcllibc zip under lib/win32-x86_64), with suite_tcl86's tcl8-generation emission demonstrated or recorded here as an explicit follow-through; zips are assembled with deterministic member ordering (punkzip) so identical input trees reproduce identical zips, and the zig non-bit-reproducibility caveat is recorded with the publish discipline it forces (revisions bump only on deliberate publish, never per rebuild); each zip contains the package folder in installed shape with an embedded punkbin-artifact.toml (class library; provenance covering the source checkout uuids, critcl ref, zig version, optimize mode and driving-shell patchlevel); beside-artifact toml sidecars and sha1sums.txt entries are emitted in the same step; publication to the real punkbin repo remains a deliberate user step and the punkbin layout docs record the lib tier; the md5c package question is dispositioned (published as its own zip or dropped, with the tcllibc-provides-the-md5-accelerator rationale recorded either way). @@ -90,3 +90,8 @@ via an untracked bin/packages/ tier (G-139). G-115/G-127 (vendorlib_vfs.toml as a surface), G-004/G-006 (posture), all carried as Related here or in G-139; no live goal owns src/vendorlib_tcl8|9. +- Activation survey 2026-07-30: goals_xref score G-138 re-run at activation + (user-directed, same day as drafting - no goals drafted in the interval); + no overlaps beyond the drafting survey. Remaining unlinked pairs + (G-130/G-101/G-105/G-116 et al) share only the buildsuites tree, no + contract-level relationship. diff --git a/goals/G-139-punkbin-library-consumption.md b/goals/G-139-punkbin-library-consumption.md index d094b034..4065b499 100644 --- a/goals/G-139-punkbin-library-consumption.md +++ b/goals/G-139-punkbin-library-consumption.md @@ -1,6 +1,6 @@ # G-139 Consume punkbin library artifacts: fetch/materialize tier replacing vendored tcllib/tcllibc -Status: proposed +Status: active Scope: src/make.tcl (consent-gated library fetch entrypoint; libs step consuming the packages tier; vfslibs as touched); bin/packages// (new untracked materialization tier mirroring bin/runtime//); src/runtime/vendorlib_vfs.toml (tcllib/tcllibc kit-vfs declarations with supersedes removal of the legacy versions); src/vendorlib_tcl8/win32-x86_64/tcllib1.21 + src/vendorlib_tcl9/win32-x86_64/tcllib2.0 (retirement targets); src/vfs/*.vfs lib_tcl trees (kit payload switchover incl. the punk86-family tcllib 2.0 upgrade); lib_tcl8/ + lib_tcl9/ (deployed-tree materialization targets); user-config consent (server-trust pattern shared with G-123/G-006) Goal: punkshell obtains tcllib and tcllibc from the punkbin library tier (G-138) instead of committed vendored copies - a consent-gated fetch materializes verified library zips into an untracked bin/packages/ input tier from which make.tcl installs the deployed lib_tcl trees and the declared kit vfs payloads - retiring the hand-dropped src/vendorlib tcllib trees in the G-004 direction, with every materialized package self-describing via its embedded artifact record, and the derived-project story recorded (fetch as the default path; in-project suite build as the alternative). Acceptance: a make.tcl entrypoint fetches declared library artifacts from the punkbin lib tier into bin/packages// with sha1 verification and beside-toml metadata (consent keyed to server trust per the G-123 posture - fetches from the canonical origin prompt nothing new); the libs step materializes lib_tcl/allplatforms and lib_tcl/ from that tier with punkcheck-tracked provenance; tcllib and tcllibc enter src/runtime/vendorlib_vfs.toml (or its G-115/G-024 successor) declarations so the declared kit vfs trees receive them, with supersedes removing tcllib1.21 (including its nested tcllibc 0.4 and md5c) from the 8.6-family kits; the punk86-family upgrade to tcllib 2.0 + a current tcllibc is validated by kit-hosted runtests against a same-day baseline with every difference dispositioned; the vendored src/vendorlib_tcl8/win32-x86_64/tcllib1.21 and src/vendorlib_tcl9/win32-x86_64/tcllib2.0 trees are removed from the tracked tree once a bake fed from the artifact path reproduces working kits; a bake on a checkout without those trees (fetch consented or bin/packages pre-populated) ships kits whose tcllib/tcllibc provenance is verifiable from the embedded records; the derived-project decision is recorded in this file (fetch via the same entrypoint as the default - the copy-and-tweak in-project suite build per G-104's self-description contract remains the documented alternative). @@ -101,3 +101,6 @@ State at drafting worth recording: additionally src/vfs intersects G-115/G-127/G-065 (payload declaration surfaces - carried as Related) and lib_tcl/make.tcl show no live-goal intersections. +- Activation survey 2026-07-30: goals_xref score G-139 re-run at activation + (user-directed, same day as drafting - no goals drafted in the interval); + no overlaps beyond the drafting survey.