feat: add deterministic tape playback and pointer-aware automation - #18
feat: add deterministic tape playback and pointer-aware automation#18arimxyer wants to merge 9 commits into
Conversation
|
@kitlangton @jlongster Hey y'all just wanted to get your eyes on this. Or your bots' eyes on this. |
|
@kitlangton I saw the inclusion in the latest PR. Let me know if you want me to sync my fork. |
|
Landed the background-daemon detachment fix and adapted regression intent in #26. Named sessions now survive launcher-group SIGHUP after both start and restart; explicit stop still shuts down the application. The real-PTY regressions and both Linux CI runs pass. Thanks for including this fix. Tape playback and pointer automation remain separate in this PR; no removed workspace support was restored. |
|
The background-session lifetime fix is now released in Terminal Control 1.1.1 on crates.io and npm. The public Cargo/Bun/Node installed CLIs each pass the start/restart launcher-hangup and explicit-stop regressions, including ownership-checked fixture cleanup. Tape playback and pointer automation remain separate in this PR. |
Summary
.tapeplayback with Setup, Launch, Cleanup, waits, receipts, bounded process groups, and stable JSON outputSafety and compatibility
Verification
Pinned clean-room environment:
Commands completed successfully:
cargo fmt --all -- --checkcargo test --all-targets(211 passed, 1 manual benchmark ignored)cargo clippy --all-targets --all-features -- -D warningscargo build --releasebun run test:npmbun run build:npmbun run validate:npmcargo package --listcargo packageAdversarial resize testing verifies that mouse mutations ordered after a resize to a 1x2 viewport are rejected before PTY input, with an empty PTY log. Protocol-v8 compatibility testing verifies the restart diagnostic for structured mouse while unchanged raw Send remains accepted.
Release
Includes a minor changeset describing deterministic playback, structured pointer behavior, bounded actions, and viewport-safe input.