Browse Source
New proposed goal consuming G-101 follow-on items 1-3: punkshell 8.6 kits bake on the suite-built mk4 head via make.tcl (sdx ladder suite-shell rung as a shared seam with G-157 step 4, bi-class head variant, parity bakes for kit.punk86/kit.punkbi passing existing gates, clean-path boot comparison vs tclkit-baked siblings, no new committed binary, third-party-tclkit disposition record). Detail file carries the 2026-08-03 overlap survey (strongest: G-157; G-131/G-130/G-110/G-116/ G-137 related; libfetch/bin siblings judged not related) and the drafting decisions approved at review. GOALS.md staged hunk-scoped: the concurrent uncommitted G-111 activation + modpod re-vendor working state is left untouched for its own commit. Assisted-by: harness=claude; primary-model=claude-fable-5; api-location=anthropic.commaster
2 changed files with 88 additions and 0 deletions
@ -0,0 +1,84 @@
|
||||
# G-158 punk86-kit parity: punkshell 8.6 kits bake on the suite-built mk4 head |
||||
|
||||
Status: proposed |
||||
Scope: src/make.tcl (sdx resolution ladder suite-shell rung - shared seam with G-157 approach step 4; kit wrap path; runtime_caps/kit_type_mismatch accommodation); src/buildsuites/suite_tcl86/ (build_kithead86 bi-class head variant, mk4kit_attach battery payloads); src/runtime/mapvfs.toml (suite-head runtime rows + kit entries); bin/runtime/win32-x86_64/ (uncommitted local materialization slot for the heads - publication is follow-on); src/tests/shell/testsuites/punkexe/ (bake-path characterization); bin/sdx.kit (consumed by the ladder - its committed status is G-157's contract, not this goal's) |
||||
Goal: punkshell's punk86-class kits bake on the suite-built mk4 head through make.tcl's normal 'kit' path, so the 8.6 kit lane is self-hosted end-to-end - runtime, container engine and wrap tooling all punkshell-built - and the prebuilt third-party tclkits (tclkit86bi, tclkit-win64-dyn, tclkit-win64-dyn-8617) stop being load-bearing for it. |
||||
Acceptance: make.tcl's sdx resolution ladder gains a rung running sdx under a suite-built mk4-capable 8.6 shell, preferred ahead of the prebuilt-tclkit last resort and exercised by a real bake (one implementation shared with G-157's materialization arm - whichever goal lands it first, the other consumes it); a bi-class head variant with batteries in the runtime vfs (G-103 family payload shape) builds beside the plain head; kit.punk86 and kit.punkbi (or trial-named siblings from the same .vfs payloads) bake via make.tcl with the suite heads as runtime, passing the existing gates unweakened (G-125 boot-library gate, arch scan, punkres stamping seam, smoke); the runtime_caps probe and kit_type_mismatch check classify the heads correctly with no warn/skip on a legitimate bake; each baked kit boots on a path with no Tcl installation and resolves internal tm/auto_path trees equivalently to its tclkit-baked sibling, with the comparison recorded; no new binary is committed - the heads reach the bake from the suite output tree or an uncommitted local runtime materialization, with punkbin runtime-tier publication recorded as follow-on rather than required; and the third-party-runtime disposition is recorded - which of the three tclkits remains load-bearing for anything after the parity bakes, retirement itself staying a user decision. |
||||
|
||||
## Context |
||||
|
||||
The consumption arc of G-101 (achieved 2026-08-02 - see |
||||
goals/archive/G-101-tcl86-kit-container-strategy.md): that goal decided mk4, |
||||
demonstrated the whole chain end-to-end, and recorded a follow-on-to-parity |
||||
list whose items 1-3 this goal takes up. What already exists, verified there: |
||||
|
||||
- The mk4 kit-head: suite_tcl86's opt-in `kithead` step builds |
||||
tclsh8.6.18-mk4-r1.exe (static shell + engine + Mk4tcl/mk4too + static |
||||
tclvfs, preinit boot from its own attached container; boot.tcl in the vfs |
||||
per the tclkit convention; tools/mk4kit_attach.tcl plays the setupvfs |
||||
role). Bare-path boot, self-wrap of a separate copy via sdx, and |
||||
dll-load-from-vfs are all measured. |
||||
- The sdx circularity is broken: sdx.kit runs under the suite-built |
||||
tclsh86t (starkit 1.3.3 + vfs::mk4 ship with tclvfs trunk; Mk4tcl 2.4.9.8 |
||||
is the suite battery) and under the head itself - no tclkit in the chain. |
||||
- What is NOT yet wired is the bake: make.tcl's sdx resolution ladder still |
||||
ends at bin/sdx.kit + a prebuilt tclkit, the runtime_caps/kit_type |
||||
machinery has never seen a suite head, and no mapvfs entry names one. |
||||
|
||||
The parity targets are the three 'kit'-type rows riding prebuilt tclkits in |
||||
src/runtime/mapvfs.toml today: kit.punkbi (tclkit86bi - the bi shape), |
||||
kit.punk86 (tclkit-win64-dyn-8617) and kit.punksys (tclkit-win64-dyn). |
||||
kit.punksys is deliberately unnamed in Acceptance - same mechanism as |
||||
punk86; the disposition clause covers its runtime. |
||||
|
||||
Batteries for the bi shape: the head's boot puts <exe>/lib on auto_path, so |
||||
a bi variant is the attach step writing the suite's battery package dirs |
||||
(thread2.8.13, vfs1.4.2, tk + lib/tk8.6, tcllib/tcllibc) into the runtime |
||||
vfs alongside lib/tcl8.6 - the G-103 family payload shape (G-103 achieved |
||||
2026-07-22 - see goals/archive/G-103-runtime-kit-family.md), already the |
||||
attach tool's mechanism. |
||||
|
||||
Gate references in Acceptance, for the record: the G-125 boot-library gate |
||||
(achieved 2026-07-27 - goals/archive/G-125-unbootable-kit-deploy-gate.md; |
||||
its vfs_boot_library_report location list is checked against the tclkit |
||||
shape at the first parity bake, per G-101's follow-on item 3) and the |
||||
punkres stamping seam (G-057 achieved 2026-07-29 - |
||||
goals/archive/G-057-kit-icon-embedding.md; G-128 achieved 2026-07-29 - |
||||
goals/archive/G-128-portable-pe-resource-stamping.md). |
||||
|
||||
## Notes |
||||
|
||||
- Related: G-157 - the strongest overlap (survey 2026-08-03): the same |
||||
make.tcl sdx-ladder seam (its approach step 4 folds the suite-shell rung |
||||
into its materialization arm) and it owns sdx.kit's committed status. |
||||
Coordination: ONE rung implementation - whichever goal lands it first, the |
||||
other consumes it; this goal treats bin/sdx.kit purely as an input the |
||||
ladder resolves, wherever G-157 makes it come from. |
||||
- Related: G-131 - consumption sibling: the heads are its mk4 arm |
||||
(build_kithead86/kithead.c + boot.tcl are the metakit half of its |
||||
detection), and the parity kits become the starkit-family specimens its |
||||
no-regression clause compares against. |
||||
- Related: G-130 - the win32-ix86 head (G-101 follow-on parity item 4) |
||||
arrives through this goal's family mechanism applied on that lane's |
||||
runtimes; nothing here assumes x64-only shapes. |
||||
- Related: G-110 - kit battery loads ride the mk4 copy-to-temp shape this |
||||
goal makes routine punkshell practice; its cache investigation gains the |
||||
suite head as a first-party reproduction vehicle. |
||||
- Related: G-116 - the bi-family battery contract is generation-shaped; a |
||||
suite-built tcltls would join the bi head payload when it lands. |
||||
- Related: G-137 - RT_VERSION stamping sits at the same kit-wrap seam |
||||
(G-057/G-128 icon/stamp path); the mk4 container is measured move-safe |
||||
for post-hoc stamping (G-128 record). |
||||
- Overlap survey 2026-08-03 (goals_xref paths over src/make.tcl, |
||||
src/buildsuites/suite_tcl86, src/runtime/mapvfs.toml, |
||||
bin/runtime/win32-x86_64, bin/sdx.kit, |
||||
src/tests/shell/testsuites/punkexe): G-105/G-023/G-005/G-006 sibling |
||||
adjacency only (buildsuite target dimension, binary naming, build/download |
||||
channels - the latter two arrive via G-157); G-141/G-142/G-147 bin/ |
||||
path-siblings only, judged not related in substance; G-077/G-061 |
||||
punkexe-test-dir neighbours only. |
||||
- 2026-08-03: drafted (user-approved this session) from G-101's follow-on |
||||
items 1-3. Drafting decisions recorded at approval: the bi variant is IN |
||||
scope (kit.punkbi parity needs it); punkbin publication is OUT |
||||
(follow-on, keeping the goal bake-focused); kit.punksys unnamed in |
||||
Acceptance per Context. |
||||
Loading…
Reference in new issue