Files
orca/src
Jinwoo-HandOrca a088f481ba feat(pty): post-release monitoring + Issue #217 e2e regression test
Why (design doc §9): surface the signal that matters after shipping
the deterministic-sessionId fix. Two log sites added:

- daemon-pty-adapter.ts: warn when a spawn with an explicit sessionId
  produced a new daemon session AND no disk history was found — that
  means either the reaper ate the dir, or the persisted mapping
  pointed at a session that never wrote a checkpoint. Shouldn't happen
  under the defensive keep-set derivation; worth watching.

- main/index.ts: log the reaper's ReapStats at each startup pass so
  we can tell whether it's firing at all and whether the three gates
  (keep set, mtime grace, quarantine) are in expected ratios.

E2E test added (§7.2): Issue #217's load-bearing scenario — scrollback
survives a quit where the persisted orca-data.json lacks `ptyId`. We
simulate the SIGKILL-before-persist race by mutating orca-data.json
between launches (delete ptyId, leave terminal-history/ dir intact).
Pre-fix code couldn't reach the dir; post-fix code re-derives the id
via mintPtySessionId(worktreeId, tabId, leafId) and cold-restores.

Co-authored-by: Orca <help@stably.ai>
2026-05-04 16:24:23 -04:00
..