Skip to content

Stale ids after replace/reload: orchestration tombstones, Codex window lease, PTY attach count across renderer reload #1283

Open

Description

@Juliusolsson05

Grouped P3s from the C2 hunt:

  • OrchestrationBridge closed-child tombstones keep orchestrationParentId=P after the parent is reloaded as P'; P' list_agents/read_run_outputs omit the child and read_agent returns not-found.
  • Codex same-rollout handoff: main kills the predecessor inside spawn and the renderer then skips killOwnedSession(oldId), the only release of SessionWindowRouter's lease for it; the old id stays owned for the app run.
  • PTY attach counts are not tied to a webContents/document (unlike the perf(ipc): forward session:screen only to a renderer that leased it #1236 screen leases), so a renderer reload/crash leaves the count at 1; later detaches never reach 0, raw output keeps flowing to nobody, and the saved PTY size is never restored.

Found by the Stage 3 C2 hunt; lines are origin/main 9c6e48f. Findings file: temp/quality-loop/hunt-c2.md.

🤖 Generated with Claude Code

Activity

  1. added a commit that references this issue on Sep 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingclass:C2-identityIdentity/ownership across reload, replace, restore, wakesev:P3Minortype:bugSomething works wrong

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions