How We Measured Deliveri's Results

Every measured number on this site links here. Each figure on this page is labelled as measured or estimated, each estimate states its method, and every caveat that applies to comparing the human team with Nebula Swarm is on this page, including the ones that make Nebula Swarm look less impressive. If a number isn't defensible, we don't quote it, and the last sections say which ones and why.

  • EXACT measured from a system of record
  • EST estimated, method stated
  • N/A could not be measured

The Two Periods We Compare

Each period starts or ends at a date that's visible in the record: the last human engineer's final commit, and the commit that installed Nebula Swarm.

  1. 2024-04-26 → 2026-05-29109 weeks

    Human era

    Starts at the first commit in any company repo; nothing exists before it, so per-week averages start there. Ends with the last engineer's final commit. Up to six engineers at the peak; from May 2025 one engineer made 97% of the commits.

  2. 2026-08-26 10:32 ET → 2026-10-086.2 weeks

    Nebula Swarm

    Starts at commit 8fafb458d (DLC-611), which installed the harness. The first Nebula Swarm run and the first overnight batch followed within a day. 44 days, 32 weekdays.

The weeks between those two dates aren't counted in either period.

Side by Side, Per Week

Same product, same Jira, two ways of building it. Rates are per week unless the row says median. Source lines are secondary and shown in grey; tickets, build time and tests carry the argument.

Scroll the table sideways →

Per week · Deliveri, both products (DLC + GEN)
MeasureHuman eraNebula SwarmBasis
Output
Tickets completed UAT or Done, DLC + GEN1.97157 ÷ 79.6 Jira wk*29.4182 ÷ 6.18 wkEXACT
Feature and capability tickets Story + Task1.5522.5EXACT
Bug tickets0.437.0EXACT
Speed (median, not per week)
Build time per ticket Jira In Progress → complete15.2 hn = 1313.3 hn = 134EXACT
Quality
Automated test cases added0.5156 in total1,2427,673 in totalEXACT
Reverts + hotfixes per merged PR matched on names, not on actual regressions4.0%(2 + 8) ÷ 2531.3%(1 + 2) ÷ 227EXACTlabel-based
Production rollbacksN/Ano deploy records0EXACTNebula Swarm only
Secondary
Source lines added tests, lockfiles, generated, migrations, vendored code excluded2,26815,025EXACTfiltered

Complete means UAT or Done: the code is finished and deployed to dev. A ticket counts at its first move to UAT, or at Done if it skipped UAT. Epics and Won't Do tickets are excluded. The Genesis (GEN) project only started during Nebula Swarm, so all 68 completed GEN tickets fall there.

* Human-era Jira rates use the weeks Jira existed (from 2024-11-25, 79.6 weeks), not the full 109. Jira was barely used from June to December 2025, so the human rate is understated. Build time is like for like because both eras used the same Jira "In Progress" status. It measures time in progress only; Nebula Swarm also works several tickets in parallel.

Reverts and hotfixes, read honestly. Nebula Swarm's 1.3% is lower than the human era's 4.0%. Nebula Swarm's two hotfixes both fixed dev, not production: one for deploy workflows still pointing at an old folder, one for a migration that crashed the dev migration run. Its one revert was to the harness's own workflow, internal tooling. The human team used "hotfix" loosely, often for styling fixes, which may overstate their rate. Neither era records actual regressions, and the PR unit differs between eras (see What Makes This Comparison Unfair, below).

Source lines favor the human era in the counting method: the human team's lines are summed commit by commit, so rework counts more than once, while Nebula Swarm's count only what finally landed.

Nebula Swarm Against One Engineer

The human team shrank, so two-year averages mix a four-to-six person period with a solo year. This table corrects for that by comparing Nebula Swarm with one engineer's weekly output, two ways.

Scroll the table sideways →

Per week · one engineer vs Nebula Swarm
MeasurePer engineer, human era ESTSolo-engineer year EXACTNebula SwarmNebula Swarm ÷ one engineer
Tickets completed1.0–1.30.9929.422–30×
Feature and capability tickets0.8–1.10.7522.520–30×
Test cases added0.22–0.29~01,242quote absolutes
Source lines added963–1,2631,50015,02510–16×

Per engineer EST: era totals divided by engineer-weeks. The low end assumes everyone active in a month worked all of it (257 engineer-weeks); the high end counts only weeks in which a person committed (196). Real effort is in between, because part-time and contract status isn't recorded. Ticket rates use the 117 commit-weeks inside the Jira period at the high end and about 153 at the low end EST.

Solo-engineer year EXACT: 2025-05-01 to 2026-05-29 (56.3 weeks), when one engineer made 97% of the commits, with a short-term contributor and a director making the rest. It's the cleanest one-engineer baseline, with no team coordination, but it covers the period when Jira was barely used, which lowers its ticket rate.

The Nebula Swarm column isn't zero people. A director spends an estimated 22 to 47 hours a fortnight directing the agents. Per director-hour, the ratios are smaller than per engineer-week.

What It Took, and What It Would Have Taken

  • ~35 h/ fortnightDirector hands-on time, range 22–47 hours in the last 14 days (mid 35, about 2.5 hours per active day). EST
  • 699agent-hoursAll parallel agents summed, last 30 days. 449 in the last 14 days. At least one agent was working in 285 of ~730 elapsed hours. EST
  • ~10engineersLow end of the FTE range for the six weeks on Nebula Swarm, on standard 8-hour days. The full range is 10–19. EST

Sources: 5,022 agent session logs and Jira status history. Method below.

Director hours EST

Prompts typed by a human were grouped into sittings: prompts within 15, 30 or 45 minutes of each other count as one sitting, with 2, 5 or 10 minutes added per sitting for reading and thinking. That gives low / mid / high of 22 / 35 / 47 hours in the last 14 days (374 prompts on 14 days) and 51 / 77 / 103 hours in the last 30 days (846 prompts on 28 days).

Undercounts: reviewing and merging PRs in GitHub, Jira, hands-on browser testing. Overcounts: sittings that weren't engineering, such as PRDs, mockups and offer work. Since-Nebula Swarm total: N/A, because transcripts before 2026-09-08 are gone.

Agent-hours EST

Each gap of 5 minutes or less between consecutive messages in a transcript counts as working time; longer gaps count as idle. Summed across all parallel agents: 449 hours in 14 days, 699 in 30 days. Hours with at least one agent working: 183 of ~350 elapsed (14 days), 285 of ~730 (30 days).

Transcripts are kept for 30 days, so the since-Nebula Swarm figure is a floor (≥ 699). A second director's agent sessions run on his own machine and aren't included; he had no PRs in the 30-day window.

Agents ran about half of each day in this period, not around the clock; any figure for round-the-clock running is an estimate, and it's labelled as one wherever it appears.

The FTE estimate EST

FTE = tickets completed ÷ (tickets per engineer per day × weekdays)

182 ÷ (0.6 × 32) = 9.5 → ~10  ·  182 ÷ (0.3 × 32) = 19.0 → 19

  • Throughput assumption. A competent mid-to-senior engineer finishes 1.5 to 3 tickets of this size a week, including tests, review and PR overhead (0.3 to 0.6 a day). This is a working assumption: we found no credible public benchmark for tickets per engineer, because ticket size varies too much between teams.
  • Weekdays only. 32 weekdays since Nebula Swarm started, though the agents also ran on weekends.
  • 12-hour days. If engineers worked 12-hour days, the range is 7–17. Output per engineer is assumed to be 1.15 to 1.35 times an 8-hour day, not 1.5, because research on long hours (Pencavel, 2014) finds output per hour falls sharply past about 50 hours a week.
  • Ticket size drives the spread. It alone accounts for the 2× range. Weighting the small Genesis tickets at half brings the 14-day, 8-hour figure from 14–28 to about 9–19.
  • Cross-check. Task PRs divided by LinearB merge-frequency benchmarks (1.2 to 2.5 merged PRs per developer per week) gives 13–27 on 8-hour days. Our PRs are much larger than LinearB's elite size, so this probably understates the human effort per PR.

That's why we say "output in line with a team of roughly 10 engineers": it's the low end of the since-Nebula Swarm range, on standard days, with the full method here.

What Makes This Comparison Unfair

No before-and-after comparison of a team is clean. These are every factor we found, and which way each one pushes the result.

Favors Nebula Swarm

The tools, not just the harness
AI coding tools in general also helped; this comparison doesn't isolate Nebula Swarm's share.
Greenfield vs mature codebase
Humans built the product from nothing: 30+ repos, carrier API certification, infrastructure. Nebula Swarm works in an established monorepo with conventions, CI and a written memory of past decisions. External carrier work is slow regardless of who does it.
Multi-repo overhead
Human-era work was split across 37 repos with separate deploys. The monorepo removed that overhead before Nebula Swarm arrived (from 2026-06-12).
Team shrank to one engineer
Two-year averages include a solo year. The per-engineer figures above correct for this.
Quiet periods
September 2024 was nearly silent. Jira was nearly unused from June to December 2025. No repos existed from January to April 2024, which is excluded from the denominator.
Ticket size and Jira use
Nebula Swarm plans work as many small tickets, Genesis especially: 60 of the 92 tickets completed in the last 14 days are Genesis slices. Human-era Stories are often larger. Jira only exists from 2024-11-25.
Short Nebula Swarm sample
6.2 weeks of a planned build-out, against 109 weeks that include maintenance and slow periods.
Director time
Nebula Swarm's output includes a director's hands-on time, which isn't counted as an engineer.

Favors the human era

Commit habits
Humans committed small changes straight to develop, while Nebula Swarm's work reaches main through pull requests. Line counts sum human churn but only Nebula Swarm's net change.
AI tools already in use
Some May 2026 human-era commits, all from one engineer, carry Claude co-author trailers. Of the 56 human-era tests, 20 are in the backend, some from that AI-assisted work. Copilot or Cursor leave no trace in git and can't be ruled out.

Could favor either

PRs used differently
Human PRs were mostly release promotions (131 of 253 merged). Nebula Swarm's PRs carry reviewed ticket work. PR counts aren't compared directly.
Contractors and part-time work
Employment type isn't recorded, so engineer-weeks are given as a range.

Context

Production releases
Not a productivity measure. Releases are batched on purpose so each can be tested, and cadence is similar in both eras (about 0.6 a week). Work in UAT is on dev and goes to production in the next batch; 112 completed tickets were on dev at the time of the audit, planned for the 2026-10-09 release.

Numbers We Don't Quote, and Why

Some figures in the reports are exact and still misleading. These never appear in our marketing.

Commit counts

The human team committed small changes straight to develop; Nebula Swarm's work reaches main through reviewed pull requests. Commit counts aren't comparable across the two eras, so we don't quote them.

Instead: tickets completed.

PR multipliers

The human team used PRs mainly to promote releases; Nebula Swarm uses them to carry reviewed ticket work. A ratio of PR counts compares two different things.

Instead: tickets completed and build time.

Total lines changed

Line counts include files Nebula Swarm writes as it works, so we don't quote them. Test lines are 2.2× source lines on their own.

Instead: filtered source lines added, as a secondary figure.

The test-rate ratio

Dividing Nebula Swarm's weekly test rate by the human era's produces a multiplier in the thousands. A ratio that large reads as a gimmick; the honest story is that the old codebase had almost no tests.

Instead: absolutes: 56 tests in two years, 7,673 in six weeks.

Created → complete time

It got slower under Nebula Swarm (4.3 days → 7.5 days median) because the backlog is planned weeks ahead and Genesis tickets were filed in bulk, then built 1 to 3 weeks later. It measures how far ahead work is planned, not how fast it's built.

Instead: In Progress → complete.

"All tests passing" and coverage

On 2026-10-08, CI on main was red: one Go test failed in the run for PR #390. No CI job collects coverage, so we have no coverage number. Neither claim appears on this site.

Instead: declared test cases, and executed counts from a dated CI run.

"Fewer bugs"

Bug tickets completed rose with everything else (0.43 → 7.0 a week). Reverts plus hotfixes fell (4.0% → 1.3%), but they're matched on PR names, not on actual regressions; the human team used "hotfix" loosely, and its PRs were mostly release promotions. Neither is a like-for-like defect rate.

Instead: 0 production rollbacks, and both hotfixes fixed dev, not production.

Where Every Number Comes From

Two reports, both dated 2026-10-08: a before-and-after comparison across all of Deliveri's repositories, and a productivity audit of the six weeks on Nebula Swarm. [Link to the redacted PDFs, if we publish them]

Git
All 37 repositories in Deliveri's GitHub organization, cloned including every refs/pull/* head so deleted PR branches count. "Trunk" means commits reachable from main, master, prod, develop, dev or qa. The monorepo at origin/main 3803e9d10 for the Nebula Swarm audit.
Deduplication
The monorepo imported the old web app and backend histories, so duplicate commits were removed by matching author, subject, date and diff size. For test counts, identical files copied between repos are counted once. Known aliases of the same person were merged before counting people (11 distinct people across the human era).
Exclusions
The github-actions[bot] account (production image-tag syncs); no other bot accounts exist. The Claude Code git identity is treated as an agent, not a human. Epics and Won't Do tickets. For lines of code: lockfiles, build output and vendored code (node_modules, dist, build, .serverless, storybook-static, source maps), generated files (Swagger specs, changelog HTML/JSON, snapshots), migrations, binary assets, docs, and files Nebula Swarm writes as it works. No individual is named or ranked.
GitHub
780 PRs across all repos (393 in the monorepo), with per-PR commit counts via GraphQL, and GitHub Actions history for every deploy and promote workflow.
Jira
823 issues across projects DLC (customer app) and GEN (Genesis admin app), with full status history via REST v3. Jira starts on 2024-11-25. The human team filed features as Story; agent-era DLC work is mostly filed as Task, so Story + Task is the fair feature count.
"Complete"
UAT or Done: the code is finished and deployed to dev. A ticket counts at its first move to UAT, or at Done if it skipped UAT. Build time is first "In Progress" to that moment. Production releases are batched by choice and aren't a productivity measure.
Tests
Static count of it( / test( declarations in *.spec / *.test files and func Test in Go. Each it.each table counts once and Go t.Run subtests are left out (416 more today), so it understates what runs. The human-era figure scans the last trunk state before 2026-05-30 in every repo. Executed counts come from CI runs 37781086749 (main) and 37798707490 (web suite) on 2026-10-08.
Lines of code
Per-commit numstat over trunk-reachable, deduplicated, non-bot commits with rename detection; for Nebula Swarm, git log --first-parent --numstat on main, bucketed by path. "Source" includes config, CSS, Terraform and workflow YAML.
CI
Logs of the two runs above, plus Actions history for every Promote and Deploy workflow. All four NEB-era production promotes succeeded; one staging promote failed on 2026-09-17 and succeeded on the re-run the next day.
Transcripts
5,022 agent session logs, kept for 30 days; the earliest surviving event is 2026-09-08 10:27 ET. Used for agent-hours and director hours only.
Benchmarks
LinearB Engineering Metrics Benchmarks and community benchmarks (PR cross-check). Pencavel, "The Productivity of Working Hours", Economic Journal, 2014; cited from memory in the audit, not re-fetched. [verify citation before launch]

We'll Measure Your Team the Same Way

On day one of the install we record your baseline from your own git, Jira and CI history, using these definitions. At day 15 and day 30 we show you the change, with the same labels and the same caveats.