|
|
|
@ -45,6 +45,13 @@ permanently own - a thousand lines of boot code. |
|
|
|
exist yet) - it is sourced by vfs-relative path from the thin main. The |
|
|
|
exist yet) - it is sourced by vfs-relative path from the thin main. The |
|
|
|
default dispatch portion runs post-boot and may be package-based if that |
|
|
|
default dispatch portion runs post-boot and may be package-based if that |
|
|
|
proves cleaner; record the split point here when decided. |
|
|
|
proves cleaner; record the split point here when decided. |
|
|
|
|
|
|
|
DECIDED 2026-08-02 (increment 2): the default dispatch stays IN the core |
|
|
|
|
|
|
|
file - one sourced file, no package hop; the dispatch handlers are already |
|
|
|
|
|
|
|
one-line package requires, so a package-based dispatch would add a moving |
|
|
|
|
|
|
|
part for no reduction. The core is a naked script body (no apply wrapper of |
|
|
|
|
|
|
|
its own) sourced from inside the thin main's one-level 'apply {args {...}}' |
|
|
|
|
|
|
|
frame - the dispatch's 'uplevel 1' semantics (evaluate at global level) are |
|
|
|
|
|
|
|
preserved by construction and the contract is stated in the core header. |
|
|
|
- Registration model: the thin main declares subcommands (name -> handler |
|
|
|
- Registration model: the thin main declares subcommands (name -> handler |
|
|
|
package/command, plus optional punk::args definition id for G-032) before |
|
|
|
package/command, plus optional punk::args definition id for G-032) before |
|
|
|
invoking the default dispatch; built-ins (tclsh/shellspy/punk/shell/script, |
|
|
|
invoking the default dispatch; built-ins (tclsh/shellspy/punk/shell/script, |
|
|
|
@ -181,10 +188,31 @@ permanently own - a thousand lines of boot code. |
|
|
|
Minted + promoted (bootsupport, vfscommon); layout make.tcl copies (basic, |
|
|
|
Minted + promoted (bootsupport, vfscommon); layout make.tcl copies (basic, |
|
|
|
project-0.1, templates modpod) synced by the modules step. Gate probed live |
|
|
|
project-0.1, templates modpod) synced by the modules step. Gate probed live |
|
|
|
against a bootsupport-only tm path (0.7.0 served, collision fixture ok=0). |
|
|
|
against a bootsupport-only tm path (0.7.0 served, collision fixture ok=0). |
|
|
|
- Remaining for acceptance: the split itself (boot core extraction + thin |
|
|
|
- 2026-08-02 increment 2 LANDED - the split itself, punkshell side (0.45.0): |
|
|
|
main handover), project_main.tcl rebirth as the commented sample + README |
|
|
|
boot core extracted verbatim-plus-contract to src/vfs/_config/punkboot_core.tcl |
|
|
|
boot-entry sections, the punk::args::moduledoc boot-core package, derived |
|
|
|
(::punkboot::core_version 0.1.0), delivered as <vfsroot>/punkboot/core.tcl |
|
|
|
project proof (tomlish), G-025 vintage tie-in, behaviour parity exercise |
|
|
|
by a new vfscommonupdate step; punk_main.tcl reborn as the thin main |
|
|
|
across dispatch cases and vfs types. Collision gate is unit+probe covered |
|
|
|
(publishes launch_args/main_script, ==CUSTOMIZE== declaration points, |
|
|
|
but not yet exercised by a real bake; consider a 'make.tcl check' surface |
|
|
|
three-candidate core lookup: vfs root, parent dir for nested app/main.tcl, |
|
|
|
line for it when the moduledoc lands. |
|
|
|
sibling master for source-tree execution). Registration model live: |
|
|
|
|
|
|
|
project_subcommands merge in (built-ins unshadowable, reported+ignored on |
|
|
|
|
|
|
|
collision), launch_defaults noargs/unknownfirst declared not hardcoded. |
|
|
|
|
|
|
|
Parity evidence: full punkexe suite 110/0 against freshly baked punk902z; |
|
|
|
|
|
|
|
kitmountpoint 4/4 (8.6-backport exe-path mount, 32-bit modern //zipfs:/app, |
|
|
|
|
|
|
|
64-bit kit, unattributed-mount stderr pin) - the sibling-master candidate |
|
|
|
|
|
|
|
exists BECAUSE those tests run punk_main.tcl as a plain script under raw |
|
|
|
|
|
|
|
runtimes (a supported shape to preserve); registration model exercised via |
|
|
|
|
|
|
|
a scratch fake.vfs under plain tclsh (declared subcommand + tool-style |
|
|
|
|
|
|
|
defaults + shadow refusal); 11-kit default bake, only known-baseline |
|
|
|
|
|
|
|
warnings; punk86 metakit/starkit 8.6.17 smoke green. cookfs branch carried |
|
|
|
|
|
|
|
verbatim - NO cookfs kit is currently mapped in mapvfs.toml to exercise it |
|
|
|
|
|
|
|
(stale bin/punk9cook.exe predates the split and shows an old monolith |
|
|
|
|
|
|
|
vintage - not a regression). |
|
|
|
|
|
|
|
- Remaining for acceptance: layout _config copies (OUTSIDE the sync channels |
|
|
|
|
|
|
|
- the 0.43.0 lesson - hand-swept deliberately next increment) and |
|
|
|
|
|
|
|
project_main.tcl rebirth as the commented thin sample + README boot-entry |
|
|
|
|
|
|
|
sections; the punk::args::moduledoc boot-core package (runtime-queryable |
|
|
|
|
|
|
|
API doc); derived-project proof (tomlish); G-025 vintage tie-in (core |
|
|
|
|
|
|
|
carries core_version; kit-level reporting pending). Collision gate now |
|
|
|
|
|
|
|
exercised by real bakes (11-kit run clean); 'make.tcl check' surface line |
|
|
|
|
|
|
|
still a candidate when the moduledoc lands. |
|
|
|
|