Julian Noble
98941f0c5b
punk::libunknown 0.2.1: zipfs tm skip-state keyed by scanned subset - fixes kit 'shell'
...
All tcl9 zip kits failed the 'shell' subcommand with "could not find
interpreter code": the repl codethread could not resolve root-level tm
packages (commandstack, via punk::packagepreference) after any subdir tm
(punk::args) had resolved on the same path. zipfs_tm_UnknownHandler's
static-path can_skip_update state was WRITTEN keyed by the tm-list root
(currentsearchpath) but READ keyed by the namespace-subdir searchpath
actually scanned (specificsearchpath) - so a punk/ scan poisoned the
ROOT's skip map and later root-level requires were skipped as
known-absent. Only zipfs tm paths take the skip branch, which is why
src/dev filesystem launches never showed it; kits have exactly one
(zipfs) tm path so every shell boot hit it. Independent of the epoch-copy
unsoundness fixed earlier today (reproduced with a fresh libunknown init).
Fix: both added-map writes now key by specificsearchpath, matching the
reader and libunknown::init's indexbase keying. Version bumped to 0.2.1
with history note (the file rename itself rode the previous commit via a
staged git mv; this commit carries the 0.2.1 content).
_vfscommon refreshed via make.tcl modules + vfscommonupdate + vfs (also
picks up today's punk::lib epoch-export, punk::repl collect-guard and
punk::config PUNK_FOSSIL_STORE changes); 5 kits rebuilt. Verified:
ordered probe (subdir-then-root require in a fresh thread) fails on
kit-bundled 0.2.0, passes with 0.2.1; 'shell' now reaches the repl and
evaluates on punk905_beta, punk902z and punk91; full native runtests
sweep twice at machine baseline (1037/1021/15/1 exec-14.3 only).
Assisted-by: harness=claude; primary-model=claude-fable-5; api-location=anthropic.com
3 weeks ago
Julian Noble
a55708312e
G-087 stage 3: regenerated build outputs (bootsupport, vfscommon, modpod payload)
...
Batched punkcheck-managed build outputs from the stage-3 rebuild cycles
(make.tcl modules/bootsupport/vfscommonupdate/project):
- src/bootsupport: punk::cap::handlers::templates 0.3.0, punk::mix::templates
0.2.0 (modpod now carrying the thin punk.project layout), punk::mix::
commandset::project 0.3.0, punkcheck 0.4.0, punk::mix::base 0.1.2, plus
manifest catch-up copies (cmdline, struct::set, textutil, textutil::expander,
textutil::patch) and pending punk::config 0.2.0 / shellrun 0.2.0 refreshes;
superseded versions pruned. Stale pre-modpod residue removed: the unpacked
punk/mix/templates tree (old-grammar .ref, dead layouts/utility payloads).
- src/vfs/_vfscommon.vfs: same module refreshes; stale unpacked templates tree
and superseded templates-0.1.0.tm removed.
- src/modules/punk/mix/#modpod-templates-*/templates/project_layouts/: the
build-managed thin punk.project payload synced from src/project_layouts
(82 files incl fossil settings; excludes bin/sdx.kit and the
src/PROJECT_LAYOUTS_* marker) - packed into the punk::mix::templates module
so bare kits can generate projects.
Claude-Session: https://claude.ai/code/session_01WS3VakZo4sgbFzcQFW3twZ
Assisted-by: harness=claude; primary-model=claude-fable-5; api-location=anthropic.com
3 weeks ago
Julian Noble
f0c712543a
repl shutdown/eof fixes, PUNK_PIPE_EOF policy, console query guards, opunk::console voo class, test framework fixes
...
punk::repl (0.1.4):
- cancel the deferred (after idle) stdin reader registration when the repl finishes - a stale
registration could re-attach a reader to a completed repl (piped stdin racing shutdown produced
'error2 in repl_process_data: invalid thread handle ""')
- repl_process_data drops input arriving after codethread teardown instead of erroring
- repl::init constructs the process-default console object (anchored opunk::console instance
'default') and settles can_respond 1 for interactive stdin
app-punkshell:
- eof on the input channel now follows env(PUNK_PIPE_EOF): exit | interactive | unset=heuristic
(reopen console if available, else terminate) - replaces the unconditional CONIN$/dev-tty repl
restart that hung automated callers forever; documented in punk::config punk_env_vars_config
('help env')
punk::console (0.1.4):
- input_at_eof (certainty, with non-blocking probe read for deferred pipe eof) and
is_input_console_or_tty (heuristic incl. mintty-without-winpty env hints)
- get_size skips ANSI cursor-report mechanisms for non-terminal input (tput then 80x24 default)
- removed erroneous repl-restart attempts from get_ansi_response_payload eof handling (re-entrancy,
bypassed eof policy; one call was a typo repl::reopen)
- console_spec_resolve: -console (and legacy positional inoutchannels) accepts a channel pair, an
anchored opunk::console instance name, or an ::opunk::Console object value; settled can_respond 0
refuses query emission and supplies the object's default size; default_console proc + auto-attach
of the anchored 'default' instance for matching channel pairs
opunk::console (new, 0.1.0):
- voo-based -virtual class ::opunk::Console: console as an in/out channel pair with settled
capability facts; canonical instances anchored at ::opunk::console::instances::<name> with
value semantics as snapshots; subclass dispatch via slot-0 tag for future channel-environment
consoles (ssh, tk-widget terminals); added to bootsupport (with voo) for boot-level use
tests:
- src/tests/shell/testsuites/punkexe: hang-proof punk_run/punk_run_expect_alive harness; termination
guards, exitcode propagation, help-env render with piped stdin, default-console smoke test,
PUNK_TEST_GOALS-gated interactive drop-in goal tests
- src/tests/modules/punk/console: probe helper and console-spec/integration suites
- src/tests/modules/opunk/console: Console class suite incl. virtual dispatch
- runtests.tcl testinterp: 'package prefer latest' (dev 999999 alpha modules no longer shadowed by
stable bootsupport copies) and src/vendormodules on the module path (voo etc resolvable)
AGENTS: punk::args usage policy, -console migration contract, bootsupport update workflow
correction, opunk voo conventions, testinterp contracts
Assisted-by: harness=claude; primary-model=claude-fable-5; api-location=anthropic.com
1 month ago
Julian Noble
e796135b2c
executable stdin handline, + various
1 month ago
Julian Noble
2b5cef9d36
fifo2 & startup interim fixes. sqids lib. vfs tidy
2 months ago
Julian Noble
36cb87b0dd
punk::lib - tclscript_info tclscript_showparse, remove line continuations for better cmdtrace support
3 months ago
Julian Noble
d6d6ea8de5
overtype,punk::winlnk,punk::args,punk::console etc fixes.
4 months ago
Julian Noble
d97971b045
punk::winlnk,punk::du,punk::auto_exec,punk::args,punk::nav::fs + tests,inspect,tstr,gohome & ~ & newdir & newns, documentation
4 months ago
Julian Noble
2f787109d8
main.tcl dev-os-internal pkIndex and tm package ordering, punk::args tests/fixes, docs and misc
1 year ago
Julian Noble
ae2acc3d5f
punk::args fixes and more tclcore documentation
1 year ago
Julian Noble
9201234c4f
add previous updates to bootsupport and project_layouts and common vfs
1 year ago
Julian Noble
801a80bc5d
update vfs tomlish
1 year ago
Julian Noble
24d6f6e149
update bootsupport,vfs,project_layouts
1 year ago
Julian Noble
5336b12bd5
table and interactive documentation fixes
2 years ago
Julian Noble
de8c5ff7ad
punk::args and punk::ns improvements, command help with 'i'
2 years ago
Julian Noble
f753a4ac75
update vfs & project layotu
2 years ago
Julian Noble
7b2dd56666
update src/vfs_vfscommon modules
2 years ago
Julian Noble
3fd56394a3
vfs update for last changes
2 years ago
Julian Noble
dbb7360568
ansi fixes + tomlish
2 years ago
Julian Noble
f8b44d6306
far too big a checkin. vfs folders that will need to be optimised later etc
2 years ago
Julian Noble
4838319af5
make.tcl updates support for modules_tclX where X is tcl major version
2 years ago
Julian Noble
2edad23c8d
pdict/showdict, textblock performance
2 years ago
Julian Noble
cbc49f02d7
shellfilter better ansiwrap, textblock::table performance
2 years ago
Julian Noble
8b32256c74
performance refactoring, punk::args fixes
2 years ago
Julian Noble
ac5a496f92
safe interp fixes
2 years ago
Julian Noble
27ca9cf38d
punk::ns use info cmdtype on 8.7+, major refactor of punk::repl and punk::args
2 years ago
Julian Noble
cab6dc2e0c
ansi and raw repl modes - ansi testfiles
2 years ago
Julian Noble
facd6a6f23
initial trun command for raw windows commandline execution (non-capturing alternative to exec craziness)
3 years ago
Julian Noble
acf2f1e479
unicode and ansi fixes/mods
3 years ago
Julian Noble
86c612704b
A late checkin of much functionality. Tcl du cmd, Multishell cross-platform shell script and pmix wrap, make.tcl fixes & changes
3 years ago
Julian Noble
d4191188c2
reorg repl, implement punk mix system with project and module templates, change make.tcl layout and make generic
3 years ago
Julian Noble
072d547992
partially complete punk modules - required for previous checkin to function
3 years ago