mirror of
https://github.com/stablyai/orca.git
synced 2026-10-16 16:03:26 +00:00
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>