orca/docs/reference
Kaynan Sampaio de Camargo 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
..
plans fix: reconcile SSH repo rows after host re-add (#8201) 2026-07-11 03:20:55 -07:00
2026-06-27-orca-mobile-manual-network-address-design.md feat(mobile-pairing): combobox with manual network address entry (#6501) 2026-06-29 00:32:36 -07:00
README.md Document headless Linux server setup (#6802) 2026-06-30 00:04:47 -07:00
agent-hook-stdin-lifecycle.md fix(agent-hooks): drain stdin before hook script early exits so agents never hit EPIPE (#8430) 2026-07-13 00:26:22 -07:00
agent-session-resume-cli-evidence.md Persist agent session metadata for workspace resume (#4706) 2026-06-07 19:41:25 -07:00
direct-url-or-file-entry.md Update oxlint and oxfmt 2026-05-30 13:09:17 -07:00
feature-discovery-interaction-tracking.md Add Floating Workspace contextual tour (#5062) 2026-06-10 14:12:07 -07:00
feature-education-retention-analytics.md Add contextual feature tours (#2734) 2026-06-01 21:20:15 -07:00
feature-education-state.md Add contextual feature tours (#2734) 2026-06-01 21:20:15 -07:00
git-compatibility.md fix(git): cache unsupported capabilities per host (#8109) 2026-07-10 18:19:36 -07:00
headless-linux-server.md Document headless Linux server setup (#6802) 2026-06-30 00:04:47 -07:00
keyboard-layout-shortcut-dispatch.md Fix keyboard layout shortcut dispatch 2026-05-26 18:28:55 -07:00
new-user-parallel-work-telemetry.md Remove split terminal from onboarding checklist (#6340) 2026-06-25 01:49:56 -07:00
opencode-commit-message-stdin.md Send OpenCode source-control prompts over stdin (#4859) 2026-06-07 21:00:20 -07:00
project-ordering-mode.md fix: address review findings (#4865) 2026-06-07 22:17:52 -07:00
reliability-gates-implementation-plan.md Harden reliability gate policy and register merged terminal regression tests as gates (#7295) 2026-07-03 19:58:07 -07:00
reliability-pain-points-2026-06-30.md Add reliability gate manifest (#7001) 2026-07-03 19:26:00 -07:00
ssh-typing-latency-under-relay-load.md perf(ssh): bound relay bulk-stream backlog so PTY echo is not head-of-line blocked (#7601) 2026-07-06 17:10:04 -07:00
telemetry-availability.md Follow up Windows terminal onboarding polish (#5530) 2026-06-16 14:59:35 -07:00
terminal-cold-park-reveal-cost.md perf(terminal): tune cold-park keep-warm so common rotation never remounts (#8262) 2026-07-12 11:48:17 -07:00
terminal-hidden-view-parking.md perf(terminal): tune cold-park keep-warm so common rotation never remounts (#8262) 2026-07-12 11:48:17 -07:00
terminal-model-view-contract.md Terminal performance initiative: pipeline fixes + term-speed-2 revival + PTY flow control (integration branch) (#7214) 2026-07-10 17:27:47 -07:00
terminal-query-authority.md Fix mobile terminal query reply authority (#8227) 2026-07-11 02:13:15 -07:00
terminal-side-effect-authority.md Terminal performance initiative: pipeline fixes + term-speed-2 revival + PTY flow control (integration branch) (#7214) 2026-07-10 17:27:47 -07:00
terminal-switch-typing-lag-investigation.md Fix terminal switch input lag from daemon session listing (#7002) 2026-07-01 13:19:50 -07:00

README.md

Durable Docs

Keep this folder for versioned reference docs that are meant to survive past a single design or implementation pass.

What Goes Here

What Stays Out

Ephemeral design notes, implementation sketches, and planning docs should stay as local Markdown files under docs/. They are ignored by default so they do not get checked in accidentally.