Skip to content
Redgold.AI Blog

· 6 min read · coding agents, operations, data

One Day of an AI Coding Fleet, in Numbers

On 21 October, 21 agent sessions made 11,873 model calls and merged 51 pull requests into one monorepo. Here is when they worked, how long they waited, and where the time went.

Most writing about coding agents describes one agent on one task. We run a fleet of them against a single Rust monorepo, all taking tickets from the same board and merging into the same integration branch. This post takes one day, 21 October 2026 (Pacific time), and lays out what the fleet did, using the gateway’s per-call usage ledger and the branch history. It was a quieter day than average: the 30-day average was 94 merged pull requests a day, with a peak of 197.

The day at a glanceAgent pull requestsBoard-sync commitsMergedMerged · Agent pull requests: 51 commitsMerged · Board-sync commits: 14 commits65
The day at a glance. Pull requests squash-merged into the integration branch on 21 October 2026, Pacific time. Board-sync commits are written by a bot from ticket changes.
Show the data
Agent pull requestsBoard-sync commits
Merged5114
  • 21 sessions made model calls: 18 long-running coding agents and three short ones.
  • 11,873 model calls, which produced about 8 million output tokens.
  • 51 pull requests merged, plus 14 automated board-sync commits.
  • About $87 of estimated model spend across every role on the gateway that day, roughly $1.70 per merged pull request.

When the fleet works

The fleet is not a steady 24-hour machine. Agents pick up work when the operator sets it or the board schedules it, and they stop when a task is done or blocked. The hourly shape follows the operator’s day: calls start around 9am, peak in the evening, and fall off after midnight. Between 4am and 8am that day there were no coding-agent calls at all.

Model calls per hour01.0k2.0k12am: 405 calls1am: 270 calls2am: 149 calls3am: 41 calls9am: 460 calls10am: 848 calls11am: 975 calls12pm: 556 calls1pm: 315 calls2pm: 264 calls3pm: 1.1k calls4pm: 701 calls5pm: 367 calls6pm: 1.1k calls7pm: 453 calls8pm: 840 calls9pm: 1.0k calls10pm: 1.7k calls11pm: 254 calls12am3am6am9am12pm3pm6pm9pm
Model calls per hour. Coding-agent calls on 21 October 2026, by Pacific hour.
Show the data
calls
12am405
1am270
2am149
3am41
4am0
5am0
6am0
7am0
8am0
9am460
10am848
11am975
12pm556
1pm315
2pm264
3pm1.1k
4pm701
5pm367
6pm1.1k
7pm453
8pm840
9pm1.0k
10pm1.7k
11pm254

Merges were spread more evenly than calls, with at least one in every hour from 9am to midnight. A merge is the end of a chain of work (edit, remote build, CI run, review, merge), so merges trail the calls that produced them by tens of minutes to hours.

Where the time goes

The ledger records when each call happened, so the gap between one call and the next in a session shows what the agent was doing in between. Short gaps are the agent reading files, editing and running quick commands. Gaps of several minutes are almost always a remote build or a CI run. Gaps over an hour are idle time between tasks.

Time between consecutive model callsUnder 2 minutes2 to 60 minutesOver an hourSession-hoursSession-hours · Under 2 minutes: 75.5 session-hoursSession-hours · 2 to 60 minutes: 44.8 session-hoursSession-hours · Over an hour: 166 session-hours286.3
Time between consecutive model calls. Summed across all sessions on 21 October 2026. Each bar segment is total session-hours spent in gaps of that length.
Show the data
Under 2 minutes2 to 60 minutesOver an hour
Session-hours75.544.8166

97% of gaps were under two minutes, and they added up to about 75 session-hours of active work. The 336 gaps between two minutes and an hour were rare but long: about 45 session-hours, most of it waiting on builds and CI. That is the number we work hardest to shrink, because a waiting agent holds its context and its task while doing nothing.

Agents are not equal

The busiest session made 1,589 calls; the quietest long-running one made 83. The top five sessions made 53% of the day’s calls. Call count tracks the shape of the task more than the agent: refactors across many small files produce many short calls, while a task that waits on a long build produces few.

Model calls per session01.0k2.0k#1: 1.6k calls#2: 1.6k calls#3: 1.3k calls#4: 980 calls#5: 899 calls#6: 848 calls#7: 780 calls#8: 653 calls#9: 622 calls#10: 611 calls#11: 491 calls#12: 379 calls#13: 328 calls#14: 284 calls#15: 205 calls#16: 127 calls#17: 110 calls#18: 83 calls#1#4#7#10#13#16
Model calls per session. The 18 long-running coding-agent sessions on 21 October 2026, busiest first.
Show the data
calls
#11.6k
#21.6k
#31.3k
#4980
#5899
#6848
#7780
#8653
#9622
#10611
#11491
#12379
#13328
#14284
#15205
#16127
#17110
#1883

What the day was spent on

Pull request titles give a rough split of the work. A dozen touched long-running agent workflows (scheduling, recovery, forecasting). Six were Android client fixes, five each were terminal UI and image-publishing work, five were changes to the gateway’s prompt-cache guard, and the rest were spread across billing, builders and data reads. Most of these were small: a fix, a guard, a missing check found while doing something else.

What we take from it

  • Waiting is the biggest cost after tokens. Cutting build and CI time helps more than a faster model.
  • Throughput comes from many small merges. Fifty-one merges a day only works with strict branching rules and CI that proves it tested the exact commit that merged.
  • A per-call ledger is enough to see all of this. We did not need tracing or a separate analytics stack, only a timestamp and a session key on every call.