Tree:
c6ead68a89
master
v0.1a
${ noResults }
2 Commits (c6ead68a89534569ec4bfffa6ae8e1e0d151a6a0)
| Author | SHA1 | Message | Date |
|---|---|---|---|
|
|
c6ead68a89 |
probe-byte store unification + first-use settling for all query paths
opunk::console (0.2.0): - probe-byte waiting store changed from dict to array (::opunk::console::waiting_chunks) and made pluggable via waiting_chunks_arrayvar: integrating layers redirect it to their established cooperative store so bytes consumed by opunk::Console probe reads stay visible to active readers. The class remains free of punk::console dependencies - redirection is the integrator's act. punk::console (0.1.6): - default_console redirects the opunk::console store to punk::console::input_chunks_waiting (closing the split-store hazard that previously made opunk-level probes invisible to the punk repl reader) - get_ansi_response_payload performs first-use active settling for persistable console specs, guarded by a recursion latch around settle_can_respond's own probe: every query path (get_cursor_pos, get_device_status, ...) now pays at most one settling probe instead of a fresh timeout per call on unsettled ambiguous consoles punk::repl (0.1.6): - repl::init routes default console construction through punk::console::default_console (deduplicates creation logic and gains the store unification) tests: store-unification and get_cursor_pos first-use settling cases in consolespec.test (zero-emission and persistence asserts); consoleclass.test store assertions converted to array form. Console suites 25/25 + 9/9; punkexe 6/6, goals 8/8; 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 |
|
|
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 |