Browse Source

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
master
Julian Noble 1 week ago
parent
commit
50269d6ad9
  1. 4
      GOALS.md
  2. 7
      goals/G-138-punkbin-library-artifact-tier.md
  3. 5
      goals/G-139-punkbin-library-consumption.md

4
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/<target>, 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/<target>/ (new untracked materialization tier mirroring bin/runtime/<tier>/); 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<N> 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

7
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/<target>, 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 `<package>-r<N>.zip` artifacts in a distinct library tier of the punkbin artifact repository (platform-neutral packages under lib/allplatforms, per-platform binary packages under lib/<target>), 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<N> 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/<target> 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.

5
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/<target>/ (new untracked materialization tier mirroring bin/runtime/<tier>/); 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<N> 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/<target> input tier from which make.tcl installs the deployed lib_tcl<N> 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/<target>/ 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<N>/allplatforms and lib_tcl<N>/<platform> 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<N>/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.

Loading…
Cancel
Save