My agent swarm had a productive night. My pipeline lied about it. A developer's Grok CLI agent swarm autonomously closed 37 backlog items and landed 20 commits overnight, adding 2,838 lines of code across 51 files. However, an audit revealed the developer's own data ingest pipeline had silently corrupted the entire session record, reporting zero subagents and only 99 total turns despite evidence of dozens of subagents launching within seconds. The schema mismatch stemmed from the importer being built against a Claude-Code-shaped assumption that failed to parse Grok CLI's distinct JSON structure, including missing role fields and tool calls stored as top-level arrays rather than embedded content blocks. I gave a Grok CLI agent swarm one instruction around 1am and went to bed. By 5:30 it had closed 37 items off my operator backlog and landed 20 commits on main: 2,838 lines added, 112 removed, across 51 files. Good night’s work for a process I wasn’t awake for. Then I tried to audit it, and discovered my own ingest pipeline had quietly turned the entire run into garbage. The schema mismatch is mundane. The lesson underneath it is not. I run a personal automation stack with an operator backlog: a Postgres-backed queue of tickets tagged by whether an agent can safely act on them unattended. My usual agents drain that queue against a set of contracts: an investigator role that diagnoses, and a worker role that ships with test gates. I wanted to see how a Grok CLI swarm would handle the same contracts. The kickoff was one line: keep working through the queue, do the autonomous-safe work. The first session fanned out a dozen subagents in about three seconds. Each read the same prompt contracts, and each claimed tickets with a lease so they wouldn’t collide. Every session writes a transcript to disk. My stack ingests those transcripts into Postgres so I can answer questions like “what did agent 7 actually run.” Standard local-first observability: the model provider doesn’t hold my data, I do. I went to look at the per-session breakdown and the numbers were obviously wrong: SELECT count AS sessions, count model AS with model, sum turn count AS turns, count FILTER WHERE is subagent AS subagents FROM grok sessions; sessions | with model | turns | subagents ----------+------------+-------+----------- 95 | 0 | 99 | 0 Ninety-five sessions, zero with a model recorded, ninety-nine total turns, zero subagents. That immediately failed a sanity check: six sessions had subagent-