Sidecar

Your agents say they're done.

One daily digest of your coding agents' work, across every agent you run, checked against the evidence.

Every agent's session, read in full.

Each claim checked against the commit, the tests and CI.

One page a day. What needs you comes first.

Needs you

  • Session B says it deployed checkout. No commit, no pull request, no CI run. No deployment evidence found. (#14)
  • Session A chose SQLite for the ledger; session B chose Postgres an hour later. One has to give. (#17)
  • The Codex pane in Herdr has waited on an approval since 14:05. (#9)

Know what shipped. See what needs you.

Sample digest. A real one replaces it. Read the whole digest

Sidecar digest, 2026-10-08

Nine sessions today. One "deployed" claim has nothing behind it, two agents picked different databases for the same ledger, and one Codex pane is waiting on you.

Needs you

  • Session B says it deployed checkout. No commit, no pull request, no CI run. No deployment evidence found. (#14)
  • Session A chose SQLite for the ledger; session B chose Postgres an hour later. One has to give. (#17)
  • The Codex pane in Herdr has waited on an approval since 14:05. (#9)

Highlights

  • The rate-limit change is real: two commits on feat/limits, 12 passing in the transcript, and the pull request's checks are green. (#11, #12)
  • Three sessions left hand-offs for a person; two are the same migration. (#19, #20)

Sessions

SourceAgentStatusTitle
claude-codeclaudeworkingAdd rate limiting to the checkout API
codexcodexblockedMigrate the ledger to Postgres
claude-codeclaudeidleUse SQLite for the ledger
opencodeopencode/buildidleAdd coupons
grokgrok/defaultdoneRename the pricing module
cursorcursoridleCheckout flow
t3codeclaude-codeworkingCart totals
herdrClaude CodeblockedFix flaky test
codexcodexdoneWrite the changelog

Conflicts

  • [high] Session A chose SQLite for the ledger; session B chose Postgres for the same ledger. (#17)

False dones

  • contradicted: Deployed the checkout service to production (no commits on the branch in the window, no pull request, no CI run; the transcript shows no deploy command); cited: Pull request: none for this branch; Commits on the branch in window: none (#14)

Supported claims

  • supported: Tests pass after the rate-limit change (test output shows 12 passing; CI check verify=pass at the session's head); cited: [line 42] 12 passing; Pull request #31: OPEN; at this session's head; checks: verify=pass (#11)
  • supported: Opened a pull request for the rate limit (Pull request #31 exists at the session's head) (#12)

Unverified claims

  • unverified: Renamed every import of the pricing module (no test run in the transcript and the branch has uncommitted changes only; the rename may be complete, but nothing proves it) (#15)
  • (not yet checked) Coupons apply at checkout (#16)

Hand-offs

  • claude-code aaaa1111: Someone should add the migration for the new index. (#19)
  • codex bbbb2222: A person must approve the deploy to production. (#20)
  • opencode cccc3333: Decide whether coupons stack with promotions. (#21)

Decisions

  • claude-code aaaa1111: Use SQLite for the ledger (because it ships with Node and needs no server) (#3)
  • codex bbbb2222: Use Postgres for the ledger (because the team already runs it) (#5)
  • claude-code dddd4444: Rate-limit by API key, not by IP (because customers share egress IPs) (#7)
  • opencode cccc3333: Coupons are validated server-side only (#8)

Facts from the Sidecar ledger; every item above carries its ledger id and the ledger carries the transcript turn. Headline, needs-you and highlights written by Claude from those facts only.

git clone https://github.com/Sidecar-Tools/sidecar.git
cd sidecar && npm ci
npm run sidecar -- sessions
npm run sidecar -- digest

Sidecar Tools · hello@sidecar.tools · local first: transcripts stay on your machine, Claude sees redacted turns.