orca/docs/reference
Kaynan Sampaio de Camargo 6e2a4a824d
fix(worktrees): stop surfacing prunable git worktrees as live workspaces (#8409)
* fix(worktrees): stop surfacing prunable git worktrees as live workspaces

A worktree still registered in git but whose directory was deleted
(git's `prunable` state) was enumerated as a normal workspace,
producing repeated pty:spawn DaemonProtocolError / fs:readDir ENOENT
loops and a blank pane.

- Parse the `prunable` porcelain field (Git >= 2.36) in both the main
  and relay worktree-list parsers.
- For Git < 2.36 (no `prunable` field), probe each linked worktree
  path for existence on the fallback line-block path, skipping locked
  registrations to mirror git's own prunable rules.
- Omit prunable worktrees from the detected-workspace enumeration only;
  removal/cleanup flows keep seeing them.
- Extend the real-binary compatibility contract with the 2.36
  `prunable` boundary.

Fixes #8389

Claude-Session: https://claude.ai/code/session_018Rg1Bpq4GGwmz613hq6RSD

* fix(worktrees): pin the prunable/locked porcelain annotations to their real Git 2.31 boundary

The prunable and locked annotations landed in Git 2.31, five releases
before `worktree list -z` (2.36); only -z defines the capability
fallback boundary. Correct the compatibility contract so a future
matrix entry in the 2.31-2.35 range passes, and reword the fallback
comments: on 2.31-2.35 the annotations still parse and the existence
probe is a backstop; only Git <2.31 relies on it outright.

* fix(worktrees): omit prunable registrations from the Space scan

A prunable registration has no directory to size or reclaim, so Space
rendered it as a dead "Missing" row whose checkbox stayed disabled with
no prune/remove affordance (reported on macOS after a reboot cleared
/private/tmp under 16 registrations). Skip prunable entries in the scan,
matching the workspace enumeration; removal flows list worktrees
separately and still see them.

---------

Co-authored-by: kaynan <kaynan.camargo@terceiro-sky.com.br>
Co-authored-by: Brennan Benson <79079362+brennanb2025@users.noreply.github.com>
2026-07-15 15:24:15 -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): make Windows cmd hook launcher directly spawnable (#8430 regression) (#8737) 2026-07-14 05:41:19 -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
feature-discovery-interaction-tracking.md Add Floating Workspace contextual tour (#5062) 2026-06-10 14:12:07 -07:00
feature-education-retention-analytics.md
feature-education-state.md
git-compatibility.md fix(worktrees): stop surfacing prunable git worktrees as live workspaces (#8409) 2026-07-15 15:24:15 -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
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-gssapi-kerberos.md feat(ssh): support Kerberos/GSSAPI hosts via the system OpenSSH transport (#7507) 2026-07-15 01:58:46 -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-session-lifecycle.md fix(terminal): kill agent descendant processes on session teardown (STA-1800) (#8706) 2026-07-15 13:25:24 -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.