Skip to content

v0.10.0

Choose a tag to compare

@arielbk arielbk released this 09 Jul 14:58

Highlights

Codex and Cursor sub-agents on the board (#53) — in-process sub-agents from Codex and Cursor now appear nested under their parent session with a type badge, the same way Claude sub-agents do. Neither tool has a SubagentStop-style hook, so discovery happens at board read time: listSessionsForTask links new children as part of the store's read-time refresh, so a fan-out shows up the moment anyone looks at the task.

  • Codex — children are recovered from rollout linkage on both ends: the child's session_meta names its parent thread, and the parent records a collab_agent_spawn_end event per spawn. Spawns whose rollout isn't on disk yet register under a synthetic locator that upgrades when a later scan finds the file.
  • Cursor — children are found via the composer's mirrored subagents/<id>.jsonl transcripts, with sub-agent type resolved from the child composer's subagentInfo (or prompt-matching as a fallback on machines without the GUI store).

Redundant belts

  • trace session scan --codex now links sub-agent rollouts automatically as a second pass, with zero extra file reads.
  • Task re-entry sweeps the task's Codex/Cursor root sessions before building the manifest (best-effort — an unreadable transcript never blocks re-entry).
  • New trace session discover-subagents <id> verb runs the right scanner on demand for any tool.

Internals

  • openTraceStore accepts optional codexHome / cursorProjectsRoot overrides for pointing discovery at fixtures.
  • setSessionParent accepts an optional subagentType (enrich-not-clobber) so discovery can promote a child a plain scan already registered as a root session.
  • session register / set-parent accept cursor as a tool.

18 new tests; 831 tests, typecheck, and lint green across the workspace.