Repository navigation
fix(terminal): repair fallback job control and prepare remote human input (ALL-143) - #353
Draft
allisoneer wants to merge 2 commits into
Draft
allisoneer wants to merge 2 commits into
allisoneer wants to merge 2 commits into
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The portable supervised PTY fallback redirected Bash
fgstderr to/dev/null, leaving the supervisor and requested interactive shell stopped in a background process group on macOS Bash 3.2. Keep stderr attached while retaining stdout suppression, and prepare human-only CLI construction withssh -e noneandpodman exec --detach-keys=so transport escape/detach sequences cannot consume human input.This draft depends immediately on ALL-141 / #352 (
codex/all-141-browser-terminal, basea87fd5d3f22c892723d0e6eb4e3492147ede380f) and is a sibling of ALL-142 and ALL-144. Model launch flags, TERM/pager/environment defaults, selected backend, credential filtering and cleanup authority remain preserved. The foreground fix deliberately applies to existing model PTYs using the same broken fallback. Pipe invocation and the Linuxsetsid -wbranch are unchanged.Human SSH/Podman admission remains rejected in both permission and manager boundaries. ALL-143 is incomplete: no disposable Linux SSH target was assigned and the existing Podman VM is stopped. Real controlling-terminal fidelity, SSH/Podman byte pass-through, full-screen apps, remote/browser reload and backend outage/restart acceptance remain unverified; the draft does not advertise remote human support.
docs/terminal-remote-qualification.mdrecords the exact remaining fixtures and infrastructure authorization required.Validation:
make setuppassed in the isolated managed worktree.cargo test --locked -p nac-core --lib -- --test-threads=4: 1,552 passed, 0 failed, 9 existing infrastructure-dependent tests ignored.cargo test --locked -p nac-core remote_pty_tests -- --test-threads=1: 2 passed. A bounded real local PTY regression forces fallback and exercises monitor mode, 24x80→31x91 geometry, UTF-8/ANSI, Ctrl-C, Ctrl-Z/bg and a separate-job-group background descendant cleanup. Descriptor closure/reaping is bounded and failed cleanup retains authority.cargo check, strict productioncargo clippy --locked -p nac-core --lib --bins -- -D warnings,cargo fmt --all -- --check, staged diff check andmake test-source-sizepassed.No dependencies, generated API/assets, VM state, external host/container services, or common-branch files changed. No final independent PR review has been spent yet.