User requirements batch 2026-07-20 integrated:
- G-103 runtime kit family: buildsuites produce self-contained kits whose
info library and batteries live in the initially attached zip - PLAIN
tclsh kit (Thread + tclvfs/vfs::* + tcllib/tcllibc), PUNK kit (piperepl
applied, ENABLED BY DEFAULT with env opt-out - gating review agreed; the
plain kit serves stock semantics), BI kits adding libraries we build (Tk
now; sqlite3/tdom easy/moderate futures; twapi flagged needs-investigation
under the zig-only policy). tcllib+tcllibc in all members (user lean,
agreed). Artifact metadata in punkbin (+compatible repos) surfaced by the
runtime scriptset list/use. G-018 flagged as substantially subsumed. 8.6
variant deferred through G-101 (static-vfs/metakit questions noted there).
- G-104 make.tcl buildsuite surface: list / info <suite> / build <suite>
with suites SELF-describing (info contract survives the G-102 driver
migration; copied trees appear automatically). mapvfs single-kit/list
wishes noted as sibling ergonomics.
- G-105 cross-target builds: -target as an invocation dimension (suite
folders stay version-named), linux x86_64 first verified via local WSL
with its own test baseline; zig tier findings VERIFIED and recorded -
the freebsd asymmetry suspicion is inverted (freebsd AS TARGET was the
gap, closed in zig 0.16 for FreeBSD 14+ with CI-tested x86_64/aarch64;
building FROM freebsd was already fine); macOS-as-target (SDK/frameworks)
recorded as the hard case; fully-static-musl dlopen limitation drives a
dynamic first linux target.
Cross-edits: G-096 piperepl matrix gains the kit-default policy update
(punk kits opt-out not opt-in); G-101 records the 8.6 kit-family
dependency; G-102 notes the family/target/surface as build-graph products.
goals_lint clean.
Assisted-by: harness=claude; primary-model=claude-fable-5; api-location=anthropic.com
G-098 (suite_tcl90 Tk+tklib, tcllib/tcllibc via critcl, test gating)
flipped to achieved 2026-07-20 and archived - all acceptance items
recorded in the goal file across increments 1-7 (Tk 9.0.2 + tklib,
tcllib+tcllibc ~248x hashing speedup, parsed-totals test gate with
dispositioned baseline, full punkshell runtests parity with the Tcl903
baseline including Tk suites unskipped, kit-hosted runs fixed).
New proposed goals mirror the arc for fossil core-8-6-branch (8.6 stays
punkshell's real Tcl 8 target; current punk86-class kits ride prebuilt
third-party tclkits - a provenance gap):
- G-099: suite_tcl86 core - zig-only 8.6 runtime + thread 2.8-branch +
tclvfs + parsed-totals core-test gate with its own dispositioned
baseline. Records expected differences (no zipfs, entry-point/bundled
lib divergences, no tcl::process).
- G-100: Tk 8.6 + tklib + tcllib/tcllibc via critcl on the 8.6 runtime +
punkshell runtests census against a native 8.6 kit baseline.
- G-101: kit container strategy without zipfs (metakit/tclkit lineage vs
cookfs vs zipvfs boot; TEMP_REFERENCE/metakit + KitCreator guidance) -
separated so the well-understood ports stay incrementally landable.
Sequencing recorded in each goal: recommendation is to close G-096's
remainder and run the punk905_beta trial to promotion before activating
the 8.6 arc, so shared suite scaffolding settles before it is forked.
goals_lint clean.
Assisted-by: harness=claude; primary-model=claude-fable-5; api-location=anthropic.com