← Back to Changelog

Subagent transcripts and support for earth's biggest monorepos

Headline this week is a new authorship notes backend built for massive monorepos. refs/notes/ai works great at most scales, but on repos landing ~1k commits/hour the fetch-merge-push cycle can lose to contention and some users' notes pushes get dropped. The new HTTP backend swaps in a commit-addressable key-value store with a local SQLite cache and async daemon flush — fully opt-in, no change for existing users.

We also extended transcript capture to subagents, finished migrating Codex hooks to inline TOML, and added a batch of new attributes on metric events for downstream analytics.

Earth's biggest monorepos

  • HTTP notes backend (opt-in) — set notes_backend.kind = "http" in ~/.git-ai/config.json to swap refs/notes/ai for a commit-addressable HTTP store. git push no longer touches the notes ref, reads are local-first via SQLite, and git pull pre-warms the cache for up to 500 commits behind new tips.
  • git ai notes migrate — bulk-uploads existing refs/notes/ai content for repos moving onto the HTTP backend.
  • Transparent everywhere elselog, blame, diff, show, search, rebase/amend, virtual attribution, range authorship, and stats all route through a single notes_api module that dispatches by backend kind.

Subagent transcripts

Building on last week's transcript streaming rewrite, this week was about getting more signal out of long-running sessions without a performance or memory hit.

  • Incremental reads with byte-offset watermarks — the new CopilotCliAgent (and the streaming pipeline more broadly) tracks where it last left off in each transcript file and only reads new bytes on each sweep, instead of re-parsing the whole file. Flat memory and near-constant CPU even on multi-hour sessions.
  • Subagent transcript sweep — when a Claude checkpoint fires, the transcript worker discovers and enqueues any subagent transcripts under the session's subagents/ directory, linking them via external_parent_session_id. Full agent trees reconstruct end-to-end without re-walking everything on every checkpoint.
  • Per-event timestamps for every agent — agents now provide a concrete u32 timestamp per transcript event instead of falling back to SystemTime::now(), fixing ordering bugs in mixed-agent sessions and removing a wall-clock dependency from the hot path.

Codex toml migration

  • Inline TOML hooks — migrated Codex from the deprecated hooks.json to inline [[hooks.PreToolUse]] in config.toml, and from codex_hooks to hooks under [features]. Existing hooks.json entries are cleaned up at install time.

Track every line of AI code and the prompts that generated it