← All projects

Agent Observability

Working private tool

A Go CLI and SQLite pipeline that normalizes six coding-agent log formats into bronze/silver/gold data layers for failure, token, and workflow analysis.

GoSQLiteData PipelineDeveloper ToolingAI Agents

At a glance

  • Outcome — One queryable place to understand what my coding agents actually did: where they failed, what they spent, and which anti-patterns keep recurring, across six different agent harnesses with six different log formats.
  • Status — Working private tool, in daily use on my own agent sessions.
  • Role — Solo. I own problem selection, architecture, acceptance criteria, integration, review, and debugging; implementation is AI-assisted and reviewed.
  • Stack — Go 1.25, SQLite, CLI.
  • Source — Private while licensing and distribution are decided; happy to walk through modules in an interview.
  • What works today — Capture, parsers for six agent-harness log formats, a bronze/silver/gold SQLite pipeline, archive/restore, configuration swap/rollback, diffs, and statistics.
  • Validation — An extensive Go test suite across parsers, pipeline stages, and recovery behavior.
  • Limitations — No public release, CI, or license yet; the restore/swap commands are destructive by design and their safety model is still being tightened.

Overview

Working with multiple coding-agent harnesses means every one of them writes a different session log in a different shape, and none of them answer the questions that matter after a week of heavy use: which sessions failed and why, where the tokens went, and which prompting or workflow anti-patterns keep showing up.

Agent Observability is a Go CLI that treats those logs as a data-engineering problem. Raw captures land in a bronze layer exactly as found; parsers normalize six harness formats into a common silver schema; and gold tables hold the derived analysis — failure classification, token accounting, and anti-pattern detection — all in SQLite, so everything is one query away.

What it does

  • Capture and archive. Sessions are captured and archived portably, with restore back to a working state.
  • Six parsers, one schema. Each supported agent harness gets a parser that maps its log format into the shared silver schema, so analysis code never has to know which tool produced a session.
  • Configuration swap and rollback. Agent configurations can be swapped and rolled back, with diffs, so experiments against the same task are comparable.
  • Analysis. Failure, token, and anti-pattern statistics over the gold layer.

The debugging that mattered

The work I can defend line-by-line is in the unglamorous parts: correlating tool calls back to their originating requests after a parser’s backing slice reallocated mid-stream, and making archive/restore atomic so an interrupted restore can’t leave the store half-swapped. Those two investigations shaped the pipeline’s ownership and recovery rules more than any feature did.

Limitations

This is a personal tool first. It has no install story for anyone else yet, no CI or license file, and the destructive restore/swap surface assumes an operator who has read the code. Making it publishable — license, CI, a quickstart, and a safety model for the destructive commands — is the next block of work, not a claim I’m making today.