Browse Source
Both goals' open coherent-set promotion follow-ons name the SAME
vfscommonupdate/bake event; this change-set is that event, so both flip to
landed 2026-08-06 in the same work unit (the sanctioned archived-file edit).
Promotion (canonical release-sequence steps 5-8, native tclsh90 driver):
- mint: 'make.tcl packages -confirm 0'.
- promote: 'make.tcl bootsupport -confirm 0' - punk::args 0.17.0 -> 0.18.0 and
punk::ansi 0.1.3 -> 0.2.0. The second pass copied zero modules (the gate's
own contract) and 'make.tcl check' no longer reports stale bootsupport.
- promote: 'make.tcl vfscommonupdate -confirm 0' - the same two modules plus
punkboot core 0.7.0 (byte-identical to src/vfs/_config/punkboot_core.tcl),
punkexe moduledoc 0.6.1 -> 0.9.0, punkboot moduledoc 0.3.0 -> 0.3.1, and
app-punkscript/app-punkscript-docs 1.1 -> 1.3 (pkgIndex + punkscript.tcl;
vfscommon never carried the intermediate 1.2). Every promoted copy verified
byte-identical to its mint output.
- bake: 'make.tcl bake -confirm 0' - INSTALLED KITS (11), no FAILED KITS. The
templates modpod payload (both bootsupport and vfscommon copies) regenerated
from the G-170 layout core edits.
What a deployed kit now does that it could not before, probed directly against
bin/punk902z.exe (no src package mode, no fake-main harness):
- 'help script oneliner' narrows to the oneliner form's argument table - the
'-e' row, which is absent from form 0's default table - exit 0.
- the multi-form synopsis lines carry the un-suppressed formhint labels
(' <punkexe> help script file' / ' <punkexe> help script oneliner'), G-170's
resolution of the 0.6.1 circularity objection, rendered from the app-owned
definition G-169 moved beside the code that implements it.
- 'help script somefile.tcl' dry-runs: the matched form plus the
punk::args::parse_report landing report (Argument|Source|Value carrying
'scriptfile received somefile.tcl') - G-151's render consumed by the core.
- 'help buildinfo bogus' rejects with exit 1, byte-empty stdout and the parse
diagnosis on stderr; 'help shell somearg' keeps the passthrough
accepted-and-ignored render at exit 0.
- 'help tclsh somefile somearg' now DRY-RUNS (accepted, exit 0) where the baked
0.6.1 moduledoc had kept the historic ignored-tail render: the G-170 fence
witness requires a -regexprefail row in the definition actually served, and
the promoted 0.9.0 moduledoc supplies it. That was the recorded
mixed-vintage state, now resolved in the deployed kits.
Verification:
- launcherhelp.test 38/38 against the freshly baked kits. The two direct-kit
trailing-word pins that G-170 re-described as VINTAGE-PROOF hold under the
depth core exactly as designed.
- Full source-tree suite (-jobs 16): 1560 passed / 20 skipped / 1 failed. The
single failure is core/tcl/testsuites/tests/exec.test exec-14.3, a vendored
Tcl core test asserting stock's 'exec -gorp' error text without -encoding -
a Tcl 9.0.3 core-vintage mismatch, unrelated to this change-set.
- punkexe subtree 162 passed / 4 skipped / 0 failed. The 10 failures recorded
as pre-existing through the G-168/G-169/G-170 sessions (maketclbakelist 2 +
maketcllibfetch 8) now ALL PASS - they were stale build-state artifacts, and
this mint/promote/bake refresh is precisely what they were waiting for. Worth
weighing against the G-139 libfetch-test reading still pending a user call.
- punk/args subtree 337 passed / 3 skipped / 0 failed, its recorded baseline.
- Bake warnings are the known set only: punkmagic skipped (runtime
tclsh90magic.exe absent from the store) and the zint.dll i386-in-x64 arch
mismatch in the tcl8 kits punkbi/punksys/punk86, the recorded pre-existing
payload defect. No configured kit exe was locked (the running punk901t.exe
instances are not a configured bake target).
Project version 0.55.1 -> 0.56.0 with a CHANGELOG entry: the G-151/G-168/G-169/
G-170 launcher-family behaviour becomes user-visible in a deployed kit for the
first time with this bake, and none of those source commits bumped the project
version - the source change alone shipped nothing to a user.
ARCHITECTURE.md's launch-surface paragraph still described trailing help words
as merely 'accepted', which is pre-G-170 semantics, so that clause now states
the narrowing / dry-run / passthrough split; architecture_lint clean (66 path
refs, 62 goal refs). goals_lint clean (80 active / 90 archived).
Deliberately untouched and still open: G-151's make.tcl interim-report
retirement (its bootsupport gate is satisfied by this promotion, but the
make.tcl edit is separate work), G-169's app-ownership extension to
shell/punk/shellspy, and G-170's punkboot moduledoc authoring-hint note.
Claude-Session: https://claude.ai/code/session_01Y1diJnhjUxKgEG6EwYAzxj
Assisted-by: harness=claude; primary-model=claude-fable-5; api-location=anthropic.com
master
16 changed files with 1583 additions and 133 deletions
Binary file not shown.
@ -1 +1,9 @@
|
||||
package ifneeded app-punkscript 1.1 [list source [file join $dir punkscript.tcl]] |
||||
package ifneeded app-punkscript 1.3 [list source [file join $dir punkscript.tcl]] |
||||
#G-169: docs-only load of the same file - the execution gate in punkscript.tcl |
||||
#returns before the app body, so requiring the docs never runs a script. Used |
||||
#by the launcher's help path (guarded lazy require in punkboot_core.tcl). |
||||
package ifneeded app-punkscript-docs 1.3 [list ::apply {{dir} { |
||||
namespace eval ::app::punkscript {variable docs_only 1} |
||||
source [file join $dir punkscript.tcl] |
||||
namespace eval ::app::punkscript {variable docs_only 0} |
||||
}} $dir] |
||||
|
||||
Binary file not shown.
Loading…
Reference in new issue