Commit Graph
227 Commits
Author SHA1 Message Date
Jinwoo-HandOrca 4207c207ab fix(ssh): accept native arm64 MSBuild casing
Co-authored-by: Orca <help@stably.ai>
2026-07-14 14:30:15 -04:00
Jinwoo-HandOrca 65d44d72f7 docs(ssh): gate arm64 build-input diagnostic
Co-authored-by: Orca <help@stably.ai>
2026-07-14 14:18:47 -04:00
Jinwoo-HandOrca 0d3a0c9d3f test(ssh): diagnose generated arm64 build inputs
Co-authored-by: Orca <help@stably.ai>
2026-07-14 14:16:12 -04:00
Jinwoo-HandOrca a6b423f33f docs(ssh): gate MSVC determinism correction
Co-authored-by: Orca <help@stably.ai>
2026-07-14 13:58:15 -04:00
Jinwoo-HandOrca a51093f009 docs(ssh): record full PE scan gate
Co-authored-by: Orca <help@stably.ai>
2026-07-14 13:39:07 -04:00
Jinwoo-HandOrca 27c6a5718c docs(ssh): record bounded PE diagnostic evidence
Co-authored-by: Orca <help@stably.ai>
2026-07-14 13:21:13 -04:00
Jinwoo-HandOrca 39ee3451b8 build(ssh): diagnose Windows PE reproducibility drift
Co-authored-by: Orca <help@stably.ai>
2026-07-14 13:19:46 -04:00
Jinwoo-HandOrca a7151f9750 docs(ssh): record arm64 reproducibility boundary
Co-authored-by: Orca <help@stably.ai>
2026-07-14 13:08:01 -04:00
Jinwoo-HandOrca de541efd11 docs(ssh): record builder parser correction
Co-authored-by: Orca <help@stably.ai>
2026-07-14 12:54:04 -04:00
Jinwoo-HandOrca 25ca53910d docs(ssh): record builder parser boundary
Co-authored-by: Orca <help@stably.ai>
2026-07-14 12:52:02 -04:00
Jinwoo-HandOrca 54df2cb998 docs(ssh): record native linker correction
Co-authored-by: Orca <help@stably.ai>
2026-07-14 12:40:31 -04:00
Jinwoo-HandOrca c62b0d0a95 docs(ssh): record native reproducibility red
Co-authored-by: Orca <help@stably.ai>
2026-07-14 12:08:20 -04:00
Jinwoo-HandOrca 09b047f4ee docs(ssh): record clean-build oracle gate
Co-authored-by: Orca <help@stably.ai>
2026-07-14 11:52:07 -04:00
Jinwoo-HandOrca c70e96374c test(ssh): gate runtime clean-build identity
Co-authored-by: Orca <help@stably.ai>
2026-07-14 11:49:48 -04:00
Jinwoo-HandOrca d35ab55b9f docs(ssh): record native Windows runtime proof
Co-authored-by: Orca <help@stably.ai>
2026-07-14 11:35:19 -04:00
Jinwoo-HandOrca d9a556b9c8 docs(ssh): record ConPTY worker settlement gate
Co-authored-by: Orca <help@stably.ai>
2026-07-14 11:23:18 -04:00
Jinwoo-HandOrca c04b4f6300 fix(ssh): settle copied Windows ConPTY worker
Co-authored-by: Orca <help@stably.ai>
2026-07-14 11:20:42 -04:00
Jinwoo-HandOrca 2aaea70465 docs(ssh): record Windows resource diagnostic gate
Co-authored-by: Orca <help@stably.ai>
2026-07-14 11:05:43 -04:00
Jinwoo-HandOrca 6bba900209 test(ssh): classify lingering Windows smoke resources
Co-authored-by: Orca <help@stably.ai>
2026-07-14 11:05:09 -04:00
Jinwoo-HandOrca b6291e55b1 docs(ssh): record Windows smoke settlement gate
Co-authored-by: Orca <help@stably.ai>
2026-07-14 10:53:50 -04:00
Jinwoo-HandOrca ddf28eb8db test(ssh): settle Windows runtime PTY smoke
Co-authored-by: Orca <help@stably.ai>
2026-07-14 10:52:54 -04:00
Jinwoo-HandOrca df661e3701 docs(ssh): record Windows smoke timeout gate
Co-authored-by: Orca <help@stably.ai>
2026-07-14 10:36:47 -04:00
Jinwoo-HandOrca 3aab5aff8c test(ssh): preserve runtime smoke failure details
Co-authored-by: Orca <help@stably.ai>
2026-07-14 10:36:28 -04:00
Jinwoo-HandOrca 42aa02fa9e docs(ssh): record Windows GPG path gate
Co-authored-by: Orca <help@stably.ai>
2026-07-14 10:24:00 -04:00
Jinwoo-HandOrca b6903b2205 fix(ssh): keep GPG verification paths portable
Co-authored-by: Orca <help@stably.ai>
2026-07-14 10:23:38 -04:00
Jinwoo-HandOrca b387ac48cd test(ssh): preserve Windows verification fixtures
Co-authored-by: Orca <help@stably.ai>
2026-07-14 10:14:48 -04:00
Jinwoo-HandOrca ef94c90663 test(ssh): keep relay CLI modules importable
Co-authored-by: Orca <help@stably.ai>
2026-07-14 10:11:21 -04:00
Jinwoo-HandOrca 55f7137c6e test(ssh): make relay tar fixture portable
Co-authored-by: Orca <help@stably.ai>
2026-07-14 10:07:55 -04:00
Jinwoo-HandOrca 539cd060e7 docs(ssh): record Windows runtime artifact gates
Co-authored-by: Orca <help@stably.ai>
2026-07-14 09:59:58 -04:00
Jinwoo-HandOrca 922edb6ff2 build(ssh): add Windows relay runtime artifacts
Co-authored-by: Orca <help@stably.ai>
2026-07-14 09:58:21 -04:00
Jinwoo-HandOrca c308107a96 docs(ssh): record native runtime artifact CI
Co-authored-by: Orca <help@stably.ai>
2026-07-14 09:23:40 -04:00
Jinwoo-HandOrca 151628992f fix(ssh): canonicalize runtime watcher smoke paths
Co-authored-by: Orca <help@stably.ai>
2026-07-14 09:10:28 -04:00
Jinwoo-HandOrca f8a230ef30 docs(ssh): record runtime artifact draft PR
Co-authored-by: Orca <help@stably.ai>
2026-07-14 09:04:47 -04:00
Jinwoo-HandOrca f2b387b21b build(ssh): assemble relay runtime artifacts
Co-authored-by: Orca <help@stably.ai>
2026-07-14 09:03:25 -04:00
Jinwoo-HandOrca 0c299fe189 docs(ssh): record relay contract CI
Co-authored-by: Orca <help@stably.ai>
2026-07-14 07:58:41 -04:00
Jinwoo-HandOrca 6732d911a8 docs(ssh): link relay contract evidence
Co-authored-by: Orca <help@stably.ai>
2026-07-14 07:44:23 -04:00
Jinwoo-HandOrca b9d80a4cbc feat(ssh): define relay runtime artifact contracts
Co-authored-by: Orca <help@stably.ai>
2026-07-14 07:43:28 -04:00
Jinwoo-HandOrca 959bc05cac docs(ssh): link safety decision evidence
Co-authored-by: Orca <help@stably.ai>
2026-07-14 07:15:52 -04:00
Jinwoo-HandOrca 5c37e8efeb docs(ssh): close relay safety contracts
Co-authored-by: Orca <help@stably.ai>
2026-07-14 07:14:40 -04:00
Jinwoo-HandOrca 12291e1ad0 docs(ssh): link baseline decision evidence
Co-authored-by: Orca <help@stably.ai>
2026-07-14 07:01:19 -04:00
Jinwoo-HandOrca a84d52dc63 docs(ssh): close runtime baseline decisions
Co-authored-by: Orca <help@stably.ai>
2026-07-14 07:00:30 -04:00
Jinwoo-HandOrca 9a8f98fd9b docs(ssh): record WP0 CI evidence
Co-authored-by: Orca <help@stably.ai>
2026-07-14 06:51:29 -04:00
Jinwoo-HandOrca 94e58d83ea docs(ssh): record WP0 draft PR evidence
Co-authored-by: Orca <help@stably.ai>
2026-07-14 06:35:12 -04:00
Jinwoo-HandOrca 2b67de8701 docs(ssh): add relay runtime distribution plan
Co-authored-by: Orca <help@stably.ai>
2026-07-14 06:28:26 -04:00
Brennan Benson 36cd8a3347 fix(terminal): retire sessions when tabs close (#8628)
* fix(terminal): retire sessions when tabs close

* fix(terminal): close remaining session lifecycle gaps

* fix(terminal): close review-discovered lifecycle gaps

* fix(terminal): revalidate bulk session retirement

* fix(terminal): harden retirement review edges

* fix(agent): reverify restored pane authority

* test: make terminal retirement gate portable on Windows

* test: use POSIX join in Linux PATH assertion

* test: keep simulated Linux PATH host-consistent
2026-07-14 00:15:34 -07:00
Kaynan Sampaio de CamargoandJinjing c3ab805d12 fix(agent-hooks): drain stdin before hook script early exits so agents never hit EPIPE (#8430)
* Fix hook scripts to drain stdin before any early-exit path

Generated agent hook scripts and missing-script launchers could exit
successfully before consuming the payload written to their stdin,
leaving the writer with a broken pipe (EPIPE/ERROR_BROKEN_PIPE) once
the reader closed early. Capture stdin (or drain it via a shared
epilogue/fast-path guard) before any whole-script success exit across
all POSIX, batch, PowerShell, and Git Bash launcher variants, and add
a cross-agent lifecycle test suite plus a live Electron verification
script to guard the contract going forward.

* Harden hook scripts against unreadable managed scripts and add a Claude/

- Extend the POSIX launcher guard to also require `[ -r ]`, not just `-f`/`-x`,
  so an executable-but-unreadable managed script still drains stdin instead of
  erroring or silently misbehaving.
- Add a verifier case (`verifyClaudeDevinSkip`) that spins up a local HTTP
  server and confirms the Claude hook never forwards a request that Devin
  already imported, catching accidental double-forwarding.
- Update installer-utils tests and stdin-lifecycle docs to match the new
  readable-file guard and the added verification case.

* Fix hook-launcher verification to derive script paths from the installed

Extract the quoted path from the launcher's `if [ -f '...'` clause instead of
reconstructing it via join(home, ...), so missing/failing-script test cases
can't silently fall through to the real script if the install layout changes.

---------

Co-authored-by: Jinjing <6427696+AmethystLiang@users.noreply.github.com>
2026-07-13 00:26:22 -07:00
Jinwoo Hong 7b12d38b17 perf(terminal): tune cold-park keep-warm so common rotation never remounts (#8262) 2026-07-12 11:48:17 -07:00
Jinwoo HongandOrca 25ecf2eea2 fix: reconcile SSH repo rows after host re-add (#8201)
Co-authored-by: Orca <help@stably.ai>
2026-07-11 03:20:55 -07:00
NeilandOrca fd6805a299 Fix mobile terminal query reply authority (#8227)
* Fix mobile terminal query reply authority

* fix(terminal): harden mobile query reply handoffs

* fix(terminal): exclude passive mobile query responders

* fix(terminal): gate mobile query replies on host capability

Older hosts strip terminal.send's inputKind (zod drops unknown keys), so a
forwarded xterm reply would land as ordinary floor-taking shell input. Hosts
now advertise terminal.query-reply-input.v1 via status.get and mobile drops
replies unless the host advertises it (pre-fix behavior). Also documents the
bounded desktop-to-mobile handoff double-reply residual.

Co-authored-by: Orca <help@stably.ai>

* fix(terminal): advance snapshot seq across recovery snapshots

The pending-overflow recovery loop trims buffered output against
recovery.seq while query replay and boundary strips kept using the
initial snapshot seq. Unreachable under today's control flow (no await
separates the initial-overflow consume from the loop), but the stale
seq would silently drop covered query replies if that ordering ever
changes. Track the seq that actually covered the buffered chunks.

Co-authored-by: Orca <help@stably.ai>

---------

Co-authored-by: Orca <help@stably.ai>
2026-07-11 02:13:15 -07:00
Neil 533992bdda fix(git): cache unsupported capabilities per host (#8109)
* fix(git): cache unsupported capabilities per host

Old Git worktree, ref-search, and merge-tree fallbacks retried unsupported flags on recurring operations, flooding subprocess traces. Centralize capability probing per native, WSL, and SSH execution host, coalesce concurrent probes, and retry periodically for in-place Git upgrades.

* fix(git): recognize real old-Git merge-tree rejection

* test(git): enforce real binary compatibility matrix

* fix(ci): preserve Git compatibility test ownership

* fix(git): retain supported capability state
2026-07-10 18:19:36 -07:00