CI Pipeline / best-practices (push) Successful in 5s
CI Pipeline / documentation (push) Successful in 5s
CI Pipeline / canary (push) Successful in 29s
CI Pipeline / lint (push) Successful in 37s
deploy / deploy (push) Skipped
CI Pipeline / type-check (push) Successful in 30s
CI Pipeline / gitea-offline (push) Successful in 15s
CI Pipeline / unit-tests (push) Successful in 4m46s
CI Pipeline / required-checks (push) Successful in 1s
CI Pipeline / CI Pipeline / notify-event-bridge (push) Successful in 4s
TTY-repair tranche: bash.ts v2 replaces bare execSync with a process-group-owned spawn wrapper (MODE A: captured pipes, own pgid, SIGTERM->SIGKILL group kill on timeout, listener teardown before finalize) and an explicit detached mode (MODE B: setsid, stdin /dev/null, output to a durable log file, unref) for nohup/setsid/&- suffixed commands. Wait-intent compilation preserved with a STRICT gate (normalized=true + ContinuePendingOperation + concrete operation bound); arbitrary shell syntax passes through untouched. execFile with argv array (no nested sh -c quoting) for the router call. await-operation.ts pinned as canonical source (accepted healthy path, unchanged). scripts/install_mimo_tools.py installs + hash-verifies. tests/test_mimo_tty_contract.py: 8 tests (A-I incl. fd-no-pts, group-kill, no-accumulation, quoting, wait-intent boundary, await-op preservation).