Commit Graph

6 Commits

Author SHA1 Message Date
William Valentin f8bec2d6d5 fix: ignore non-persistent claude startups 2026-04-30 17:07:19 -07:00
William Valentin fd17628e94 fix: ignore invalid claude hook starts 2026-04-29 09:41:07 -07:00
William Valentin fdfcb50e80 feat(hooks): consolidate shared transport helpers 2026-03-26 11:22:27 -07:00
William Valentin a87bbc6983 fix(claude-hook): derive span durations from start timestamps 2026-03-20 11:17:40 -07:00
William Valentin d235e3c873 feat(hooks): add telemetry handlers for codex/copilot/gemini 2026-03-20 11:17:26 -07:00
William Valentin 2e277fb138 fix: preserve session state across turns in claude-code hook handler
handleNotification("Done") was incorrectly emitting session.end and
calling clearState at the end of each Claude turn. Since "Done" means
a turn finished (not the session), clearing state caused subsequent
tool calls to find no runId, storing spans without run_id and making
them invisible in run-level queries.

- handleNotification: remove session.end emission and clearState call;
  only emit run.end for the completed turn
- handleSessionEnd: load state file to get runId (in-memory activeRuns
  is always empty in a subprocess)
- handlePromptSubmit: load state file to get runId for ending previous
  run before starting a new one

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-18 23:42:22 -07:00