Julian Noble
f6ed50eb0c
punk::console active settling probe (settle_can_respond) + raw-mode cycling guard
...
punk::console (0.1.5):
- settle_can_respond: layered active settling of a console's response capability, persisted on
the anchored opunk::console instance. Layer 1 certainty (input eof -> 0, no emission),
layer 2 strong-negative heuristic (plain pipe, no terminal hints -> 0, no emission - piped/CI
output streams stay clean), layer 3 active CSI 6n probe with timeout, only in the ambiguous
zone (real consoles / pipe-presenting terminals such as mintty without winpty). -force
unsettles and re-probes; -timeout_ms overrides can_respond_probe_timeout_ms (default 500).
Unmatched input consumed while waiting is preserved via input_chunks_waiting.
- get_size triggers first-use settling for persistable specs only (anchored instance name or
the auto-attached default) so unanchored object values cannot cause per-call probes
- get_ansi_response_payload only cycles console raw mode when the input channel is a
console/tty: pipe-targeted probes no longer flip the real console's mode as a side effect,
and a repeat-cycle deadlock under captured-channel environments (runtests runx) is fixed.
(Latent enableRaw_twapi/disableRaw_twapi restore asymmetry noted for future attention.)
punk::repl (0.1.5) / opunk::console (0.1.1): docs reference the active settling mechanism
(no behaviour change; probe machinery stays in punk::console so the class remains free of
that dependency)
tests: 5 new settle_can_respond cases in consolespec.test - certainty and clean-pipe settling
with zero-emission asserts, ambiguous probe timeout with emission and input-preservation
asserts, response arrival settling 1 with realistic event-loop delivery then -force
transition to 0, and get_size first-use settling. Console suites 23/23; full suite green
except pre-existing exec-14.3.
Assisted-by: harness=claude; primary-model=claude-fable-5; api-location=anthropic.com
2 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
2 weeks ago
Julian Noble
0455efd614
startup behaviour,punk::path fixes, AGENTS guidance
3 weeks ago
Julian Noble
e796135b2c
executable stdin handline, + various
3 weeks ago
Julian Noble
20fde7a135
xbin (.xb) support without font
2 months ago
Julian Noble
50de46ff65
update bootsupport,project_layouts,vfs
2 months ago
Julian Noble
2b5cef9d36
fifo2 & startup interim fixes. sqids lib. vfs tidy
2 months ago
Julian Noble
e67566bfdf
overtype fixes, raw-mode repl fixes - literal tab handling, punk::ansi fixes
2 months ago
Julian Noble
36cb87b0dd
punk::lib - tclscript_info tclscript_showparse, remove line continuations for better cmdtrace support
3 months ago
Julian Noble
b8f57878f2
overtype and ansi changes, untabify, opunk, experimental punk::lib::tclscript_info static analysis beginnings
3 months ago
Julian Noble
4c6a3058c3
punk::ansi and overtype fixes and tests, grepstr fixes, punk::args synopsis improvements, voo module
3 months ago
Julian Noble
d6d6ea8de5
overtype,punk::winlnk,punk::args,punk::console etc fixes.
4 months ago
Julian Noble
413d25c065
fix ::env(SHELL) more posixy,mintty fixes,fglob -patterndebug,dirfiles_dict collection changes for links,remove punk::args stderr debug output
4 months ago
Julian Noble
7af968865a
agent hints, test package changes, pattern module changes, new module punk::net::vxlan, etc (late checkin)
6 months ago
Julian Noble
50d264eb53
punk::console DECRQM DECRPM updates
7 months ago
Julian Noble
226b82e591
update ansi,sauce - bootsupport punk::nav::fs etc
7 months ago
Julian Noble
d814e7e283
misc ansi fixes, refactoring
8 months ago
Julian Noble
d6d70a19ce
bootsupport,vfs,project_layout catch up with module changess
8 months ago
Julian Noble
ce9c44c3c3
repl debug, updated shellfilter,shellthread,punk::netbox
8 months ago
Julian Noble
463b955303
bootsupport update
8 months ago
Julian Noble
37bbe92cf8
fix some overtype issues, fix modpod and libunknown global var pollution
9 months ago
Julian Noble
2746fc666c
update bootsupport/vfs/layouts
9 months ago
Julian Noble
b152ea9775
update bootsupport and project_layotus
9 months ago
Julian Noble
d405fbbf51
upgrade modpod, punk::args
10 months ago
Julian Noble
0539d6ddcf
bootsupport,vfs,project_layouts update
10 months ago
Julian Noble
963a5a788b
make.tcl and console rawmode fixes
10 months ago
Julian Noble
9e20b9d437
update multishell wrapper and punk::mix::commandset::scriptwrap to support longer nextshellpath + more shell capability
10 months ago
Julian Noble
39ce3b7f5b
update bootsupport and vfs
12 months ago
Julian Noble
c5dc332e18
make.tcl fixes and scriptwrap fixes, sdx.kit
12 months ago
Julian Noble
d4284083a2
add punk::args::tclcore to bootsupport, but make it a soft dependency in punk::repl interps
12 months ago
Julian Noble
5deb0d67e0
add punk::repl to bootsupport
12 months ago
Julian Noble
1838b61557
update bootsupport
12 months ago
Julian Noble
d926570b8c
make.tcl bootsupport fixes etc
1 year 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
4773a6a562
misc fixes, punk::args, repl timing, tclcore & tkcore docs, libunknown, test::punk::ansi testsuite beginning
1 year ago
Julian Noble
cc5300400d
punk::libunknown - package unknown system
1 year ago
Julian Noble
f65d8f7c02
optimised package loading in zipfs, various fixes
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
ab43137c29
add punk::imap4 pkg, promise pkg, console/cesu/args updates
1 year ago
Julian Noble
ae83749222
punk::args and ansi fixes, another vfs
1 year ago
Julian Noble
24c788b646
punk::args fixes, package override check of info loaded
1 year ago
Julian Noble
1f68b9aa62
punk::args fixes, auto_execok override
1 year ago
Julian Noble
ca1d9f422f
textblock unicode and table work, function documentation (i command)
2 years ago
Julian Noble
de8c5ff7ad
punk::args and punk::ns improvements, command help with 'i'
2 years ago
Julian Noble
7e890a8eb2
punk::args leading positionals
2 years ago
Julian Noble
9ad29680c3
misc ansi and console fixes
2 years ago
Julian Noble
80239a0246
many punk::args and textblock changes
2 years ago
Julian Noble
11690a0994
zip and make.tcl fixes - bulk
2 years ago