Publication side-effects handled ahead of the punkbin push (b5c258f
there - first family -r1 artifacts + metadata + defaults flip to
tclsh9.0.5-punk-r1.exe):
- remote-only rows skip support files (the six metadata tomls now ride
in the server's sha1sums beside the runtimes; same extension set as
the local candidate filter).
- the '(= server default)' active marker also matches via the active's
beside-toml artifact identity: the default names an immutable -r<N>
artifact while the active is typically its materialized WORKING name,
so exact-name matching alone would never fire post-family.
Live-verified against the pushed server: no-name fetch resolves
tclsh9.0.5-punk-r1.exe + metadata; list -remote shows all three -r1
artifacts Same version, the default row marked, active
tclsh9.0.5-punk.exe annotated '(= server default)' through its toml
identity, and no toml leakage. G-067 note records publication done
(r1 immutable - next republish takes -Dfamilyrev=2). Rewrapped;
roundtrip pin PASS; layout copy refreshed. Project 0.18.8.
Assisted-by: harness=claude; primary-model=claude-fable-5; api-location=anthropic.com
Final acceptance item closed by the punk9_beta/punk9bi_beta kit-wrap
trial (user go-ahead; quiet tree): make.tcl project wrapped both kits
over the family runtimes (the user's own earlier same-day build agreed -
punkcheck no-change), and probes UNDER each kit verified 9.0.5,
//zipfs:/app/tcl_library, PIPEREPL MACHINERY PRESENT, Thread 3.0.7
winning over the vfs payload's legacy thread3.0.1, vfs/tcllib/tcllibc
engaged, punk::args from the vfs side, and Tk create/destroy in both -
punk9bi_beta's Tk necessarily from the runtime's attached image
(punk9win_for_tkruntime.vfs carries none). Every acceptance clause is
now met; evidence recorded in the detail file.
Flip mechanics: Status achieved 2026-07-22; detail file to
goals/archive/ (content-identical move after edits); index entry to
GOALS-archive.md; reference sweep across 13 live goal files (archive
markers per the G-058 precedent - non-contract text only, Scope lines
untouched; pending-tense updates in G-099 arc-unblocked, G-108 family
production landed, G-018/G-023 naming-authority pointers). Forward
pointers pushed to live goals: G-101 (8.6-family deferral target),
G-067 (family -rN artifacts exist; publication user-gated with the
defaults.txt flip process).
Flagged (completion report): tcltls bi-battery line loses its goal home
with this archive - candidate goal on request; punk9wintk905.vfs legacy
thread3.0.1 payload cleanup can ride a future payload refresh; beta
promotion is the user's interactive trial per the *_beta convention.
Assisted-by: harness=claude; primary-model=claude-fable-5; api-location=anthropic.com
Non-contract Context/Notes updates from the user's long-term framing:
- G-004: the two further motivations (third-party distribution platforms
that disallow binaries; the consent promise as an auditable product
commitment); binaries must still OPERATE in the tree post-achievement
(local uncommitted experimentation + permissive derived projects - scan
polices the committed tree only, ignore rules double as drop-in
enablement); exit-path assessment for the src/vfs interim exception
(prefer suite batteries + per-package punkbin library artifacts; whole
.vfs zip archives recorded as an open third-class option).
- G-006: the consent gate recorded as a product commitment, not just
anti-surprise hygiene.
- G-067: buildsuites as a producing source - per-platform library .tm
artifacts as punkbin's second artifact class (platform canon + G-103
metadata pattern); retrieval-target/G-004 ignore interplay.
- G-114: provenance boundary - binary .tm arrive via G-067/local drops,
never checked into punkshell; drop-in acceptance ties to G-004's
operate-in-tree requirement.
Goal/Acceptance contract lines untouched throughout.
Assisted-by: harness=claude; primary-model=claude-fable-5; api-location=anthropic.com
Characterized (windows tcl 9.0.5) how a binary inside a zip-based .tm (modpod)
loads, per user request. All three loading locations - dll direct in a kit's
zipfs, a standalone .tm on disk, and a .tm nested inside a kit's zipfs
(zip-in-zip, mounts in place, no .tm pre-extraction) - converge on the same
copy-to-temp path: the binary extracts to %TEMP%\TCL<hex>\ with the same
TIP-741 non-cleanup/accumulation flaw (verified with a #modpod-mybintest
wrapping a real tcl9thread307.dll built via modpod::lib::make_zip_modpod).
- G-066 (substantive): the characterization + the multi-package-name design -
manifest-at-well-known-location read by libunknown (not yet implemented);
multi-name .tm are punkshell/libunknown-only, not plain-tclsh loadable, which
is acceptable if clearly documented; TIP 590 lowercase single-name is the
plain-tclsh-loadable happy path; complex mechanisms OK with extensive tests.
- G-103: TIP-741 thread extended - windows flaw now confirmed for BOTH
direct-kit and modpod-.tm binary loads.
- G-105: linux leg BLOCKED - local WSL is tcl 8.6.14 (no zipfs); needs a linux
tcl9 runtime. Windows done; linux expectation (no accumulation) unverified.
- G-067: binary modpod .tm as a publish payload; cross-refs.
Temp reclaim also done this session: 15,596 orphaned %TEMP%\TCL* dirs removed.
Notes only; no contract changes. goals_lint clean.
Assisted-by: harness=claude; primary-model=claude-fable-5; api-location=anthropic.com
New goals (user-approved drafts, all proposed) covering the declarative
vendoring direction:
- G-065 declarative vendoring: toml-declared external packages with
version/commit pinning, retrieval provenance, binary-scan gating with
punkproject.toml override; manual drop-ins stay supported (surfaced as
undeclared); agent-free by design
- G-066 pkgIndex.tcl-to-.tm repackaging: lib.copyasmodule expansion with
embedded LICENSE/metadata datafile and distribution-unit tracking for
multi-package upstreams (tcllib-style)
- G-067 module artifact channel: publish/retrieve prepared .tm modules
against configurable artifact servers, sharing the G-006 consent-gating
and source-override pattern
- G-068 agent-assisted moduledoc generation workflow for vendored
third-party libraries (G-055 pattern generalized), decoupled from basic
vendoring
G-063 contract extended (user-approved): vendored-package license
indications additionally carry verification provenance (method, verifier,
date), reported by the audit surface.
Proving case recorded in G-065 notes: the hand-trimmed tcl_oauth2_library
copy was load-tested then removed before ever being committed, so the
first vendoring of it runs end-to-end through the declaration; the
TEMP_REFERENCE clone remains the upstream stand-in.
goals_lint: clean.
Assisted-by: harness=claude; primary-model=claude-fable-5; api-location=anthropic.com