Skip to content
Back to the lab

An agent-scale Git readiness scorecard for writes, hot refs, and CI fan-out

Measure repository writes, shared-ref contention, CI fan-out, cache behavior, and review queues before raising agent concurrency.

Super Genius Labs Editorial · 5 min read

GitHub describes coding-agent traffic as sustained concurrent reads and writes. Frequent checkpoints raise push demand, merges contend on a shared reference, and each push can trigger substantial CI and scanning read fan-out (GitHub’s architecture account).

The operating question is therefore not simply how many agents can run. It is how their writes move through shared publication points, downstream systems, and human review. The answer has to come from local measurement: GitHub’s experience describes a workload shape, not a capacity forecast for another repository.

Concurrency produces an event chain

A repository may look quiet along one axis while pressure accumulates elsewhere. A moderate number of agents can create frequent checkpoints. A small number of pushes can initiate many reads. Independent branches can converge on one shared ref at publication.

A compact way to organize the measurements is:

agent runs × pushes per run × downstream work per push

This is a proposed measurement frame, not a sourced performance formula. Its purpose is to keep an agent limit from standing in for the workload that limit produces.

Independent coverage interprets GitHub’s account as a repository-capacity problem. It recommends tracking pushes, clones, Actions runs, cache hits, review wait time, and failed jobs, together with explicit concurrency limits for agents and CI jobs (Made With Models). The same brief reports that GitHub is separating durable storage from compute and caches. That is a description of GitHub’s architecture, not a prescribed topology for other teams.

For one observation window and one workload class, record the chain in a single scorecard. Keep routine dependency updates separate from broad refactors, for example.

DimensionRecordPressure signalLocal decision question
Agent activityConcurrent runs and run start rateRuns accumulate faster than they finishAt what concurrency does queueing begin?
Write activityPushes per run, pushes per minute, and rejected pushesWrite rate or rejection rate rises with concurrencyIs the limit associated with agents, their checkpoint cadence, or both?
Shared publication pointsPushes and merges by target ref, plus wait and retry timeOne ref carries disproportionate contentionCan publication be staggered or partitioned without changing correctness?
Downstream fan-outCI runs, scanning jobs, and fetches per pushWork per push rises or queues lengthenWhich triggers are intentional, duplicated, or deferrable?
Cache behaviorHits, misses, evictions, and cold-fetch volumeMisses or evictions rise during burstsDoes the cache absorb repeated reads under the tested workload?
CI executionQueued, running, failed, and canceled jobsQueue age or failed jobs increasesIs agent concurrency outrunning CI capacity?
Human reviewOpen review items and time waiting for first reviewCompleted agent work waits longer for reviewIs repository capacity being shifted into a review queue?

This scorecard is an original SGL worksheet derived from the operating questions raised by the two sources. Every value needs its denominator and time window. Twenty failed jobs means something different across twenty runs and two thousand runs. A cache-hit percentage without request volume can also conceal a larger absolute miss load. These are measurement cautions, not findings reported by the sources.

Locate pressure at publication

Total push volume does not show where writers collide. Record the target ref for each measured publication event, then group wait time, retries, and failures by ref.

GitHub identifies merges contending on a shared reference as part of the workload it describes (GitHub’s architecture account). That makes the busiest shared refs useful comparison points in a local test, but it does not establish that ref contention will be the bottleneck elsewhere.

Keep branch-local checkpoints and publication to a shared branch in separate series. Combining them can let a high checkpoint rate obscure a smaller set of contended publication events. This separation is an analytical choice proposed here.

Attribute fan-out to its originating push

For representative pushes, attach downstream work to the event that created it. Record:

  • CI and scanning jobs triggered
  • repository fetches or clones attributable to those jobs
  • cache hits and misses
  • queue time before execution
  • completion, failure, and cancellation state

GitHub says each push can cause substantial CI and scanning read fan-out (GitHub’s architecture account). A local trace measures the fan-out created by a particular repository configuration; it does not convert GitHub’s platform experience into a local capacity estimate.

Event-level attribution also separates two possible interventions. Reducing push frequency changes the number of trigger events. Removing redundant downstream work changes the cost of each event. Local measurements determine whether either intervention helps.

Find the first ceiling

Start with a short baseline at the current concurrency. Increase one limit at a time while holding the workload class and trigger configuration stable. At each level, preserve this sequence:

agents → pushes → hot-ref waits → downstream jobs and reads → review arrivals

Choose provisional ceilings for measures that matter locally, such as push rejection rate, ref wait time, oldest queued CI job, failed-job rate, or review wait time. The concurrency budget is the highest tested level that remains within those locally selected ceilings. It applies only to that test window and configuration; it is not a permanent repository rating.

Keep agent and CI limits under separate controls. The independent brief recommends concurrency limits for both agents and CI jobs (Made With Models). Varying them independently can show whether pressure first appears in repository writes, downstream execution, or the handoff into review.

Repeat the test after material changes to checkpoint behavior, branch strategy, CI triggers, scanning rules, cache configuration, or review staffing. This retest condition is an SGL prescription because each change can alter the measured path; the sources do not establish a universal interval.

Report the envelope, not an agent count

The result should remain attached to the conditions that produced it:

Under this workload class, branch policy, CI configuration, and observation window, the tested concurrency stayed within the selected write, queue, cache, and review ceilings.

That statement gives operators a bounded decision without implying that one number describes every repository state. Teams preparing a broader agent deployment can incorporate the scorecard into the architecture and delivery work described on Build. Begin with one representative workload at the current limit, then follow the first queue that grows.