Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 54s
Phase 5d (file metadata + ops): - 11 SX primitives: file-size/mtime/stat/isfile?/isdir?/readable?/writable?/ delete/mkdir/copy/rename — wrap Unix.stat/access/unlink/mkdir/rename - Tcl `file` subcommands real (were stubs): isfile, isdir, readable, writable, size, mtime, atime, type, mkdir, copy, rename, delete - file delete/copy/rename strip leading-`-` flags - +10 idiom tests Phase 5e (clock options + scan): - clock-format extended to (t fmt tz), tz ∈ utc|local - Added specifiers: %y, %I, %p, %w, %% - New clock-scan SX primitive — format-driven parser + manual timegm - Tcl clock format/scan accept -format, -timezone, -gmt 0|1 - +5 idiom tests Phase 5f (socket -async): - socket-connect-async SX primitive: Unix.set_nonblock + connect, catches EINPROGRESS; returns channel immediately - channel-async-error: Unix.getsockopt_error - Tcl `socket -async host port`; `fconfigure $sock -error` - Connection completes on writable; canonical fileevent pattern works - +3 idiom tests Bug fix: tcl-call-proc was discarding :fileevents/:timers/:procs updates made inside Tcl procs (only :commands forwarded). Now forwards full result-interp as base, restoring caller's frame/stack/result/output/code. This was masked until socket-async made fileevent-from-inside-proc the natural pattern. test.sh inner timeout bumped 1200s→2400s (post-merge JIT remains slow). 376/376 green. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>