diff --git a/goals/G-020-screencap-input-module.md b/goals/G-020-screencap-input-module.md index f2e47e1e..3acb8c39 100644 --- a/goals/G-020-screencap-input-module.md +++ b/goals/G-020-screencap-input-module.md @@ -102,7 +102,12 @@ navigation - see the preserve-list in goals/G-044 detail) currently has no autom harness: the underlying editbuf is console-coupled and there is no expect-like system. This module is the practical near-term bridge on windows: inject keystrokes at a live punkshell window and capture/compare the rendered region. Coarser than a pseudoconsole -expect-alternative (the durable successor - candidate goal drafted 2026-07-11) but +expect-alternative (the durable successor - that candidate became G-061) but available sooner, and it can verify exactly the rendered-behaviour tier that unit tests cannot reach. Worth weighting this goal's priority accordingly when sequencing repl refactor work. + +Reference material (added 2026-07-21): `TEMP_REFERENCE/expect-6.0a1` (readonly) is +the community Tcl 9 port of classic Expect - unix-pty only, no windows/ConPTY +backend, so it does not displace this module's windows role; see the G-061 detail +file's notes for the full assessment. diff --git a/goals/G-044-repl-command-completion.md b/goals/G-044-repl-command-completion.md index 39d053e0..0769e844 100644 --- a/goals/G-044-repl-command-completion.md +++ b/goals/G-044-repl-command-completion.md @@ -125,4 +125,7 @@ Testability findings (spikes 2026-07-11): just a feature goal. - Interactive end-to-end verification tiers: G-020 (screencap+input injection) as the near-term windows-only harness; a pseudoconsole (ConPTY/pty) expect-alternative as - the durable cross-platform mechanism (candidate goal drafted 2026-07-11). + the durable cross-platform mechanism - that candidate became G-061. Reference + material for the latter (added 2026-07-21): `TEMP_REFERENCE/expect-6.0a1` + (readonly), the community Tcl 9 port of classic Expect (unix-pty only, no + ConPTY) - assessment recorded in the G-061 detail file's notes. diff --git a/goals/G-061-pseudoconsole-expect.md b/goals/G-061-pseudoconsole-expect.md index 0e8fec70..5ab82f12 100644 --- a/goals/G-061-pseudoconsole-expect.md +++ b/goals/G-061-pseudoconsole-expect.md @@ -70,6 +70,20 @@ expect-like primitives over a REAL pseudo-terminal: ## Notes +- Reference material (added 2026-07-21): `TEMP_REFERENCE/expect-6.0a1` is a readonly + checkout of the community Tcl 9 port of classic Expect (contributions from Steve + Shaw, Paul Obermeier, OpenMandriva, Ashok P. Nadkarni; per its README: builds on + Tcl 8.6 and 9.x, work-in-progress alpha, only Linux tested). It is unix-pty only - + it contains NO ConPTY/windows backend (the `_WIN32` occurrences are + autoconf/tcl.m4 boilerplate) - so it does not solve this goal's windows side. + Its value here: (a) the authoritative reference for expect primitive semantics + this harness mirrors - spawn/send/expect/interact, timeout and eof handling, + pattern matching over the pty byte stream (exp_command.c, exp_inter.c, + exp_event.c, exp_chan.c); (b) a concrete candidate for the "existing tool at + arm's length" option for the unix backend (see open implementation questions + above) - a Tcl 9-compatible expect proper may serve as the unix pty driver, + with the harness contract layered over it; (c) its pty allocation code + (pty_termios.c etc) as reference if we build our own openpty shim instead. - Related: [[G-044]] (completion/hinting - consumes this for its own verification), [[G-001]] (fake-console unit tier), [[G-020]] (screen-capture tier), [[G-059]] (WSL execution pattern), [[G-060]] (guest-driving contract - a pty harness inside a QEMU