Skip to content

v0.46.0

Latest

Choose a tag to compare

@apollo-watcher-release apollo-watcher-release released this 27 Oct 23:03
Immutable release. Only release title and notes can be modified.

This release records Claude Code and Codex subagents as their own linked sessions, lets you move between them in the Analyzer, and adds an optional upload size limit for self-hosted deployments.

Breaking changes

  • Changed: The Watcher client migrates its local upload state the first time it runs. The migration is one-way: older clients cannot read the migrated state, and reinstalling an older client does not reverse it. You cannot downgrade the client below this release, so do not roll the server back to a release that needs an older client.
  • Changed: In enforce mode, a subagent tool call is reviewed with the subagent's own transcript. If that transcript is missing or the call's agent identity conflicts, Watcher applies the grading-failure policy. It no longer falls back to the parent's transcript.
  • Changed: A subagent session with no owner inherits its parent session's owner when the two are linked. Known owners are never overwritten. A link or attribution request that conflicts with a known owner returns HTTP 409.
  • Changed: The ingest source watcher-hook is now reserved. Custom callers that send source="watcher-hook" to POST /v1/ingest, the append route, or the Python SDK's ingest and ingest_append receive HTTP 422 and must use a different source string. This applies to self-hosted deployments and Watcher Cloud. The Watcher client and gateway hooks need no change.

Live

  • Added: Claude Code and Codex subagents are recorded as separate sessions, including subagents that make no tool calls. Each one is linked to its parent session and, when available, to the call that started it.

Analyzer

  • Added: Subagent sessions are labelled, with links between a session, its parent, its subagents and the calls that started them.
  • Added: A session's decision count opens the matching tool calls, counted across every transcript branch.

API

  • Added: Self-hosted deployments can cap upload size with WATCHER_MAX_UPLOAD_BYTES in Docker Compose or api.maxUploadBytes in Helm. Larger hook deliveries, ingests and trajectory appends receive HTTP 413. There is no cap by default.
  • Fixed: Saving Slack webhook settings no longer fails with a server error after the server's cloud credentials expire.
  • Fixed: When an agent sends several tool calls at once, Watcher's checks on them no longer wait for each other. The wait made some checks take over 25 seconds.
  • Fixed: When a gateway conversation sends a Watcher refusal back in its next OpenAI Responses request, the refusal's ID no longer exceeds OpenAI's 64-character limit.

Other

  • Changed: Watcher server images no longer trust the leaked eMudhra intermediate certificate authorities.
  • Changed: The Subagent coverage guide describes how child sessions are recorded, reviewed and linked.