Auto-updated 2026-04-29T21:37:34+02:00. Snapshot at commit 80f279c5. Don’t hand-edit between the markers — anything outside is preserved.

Code, in lines

Hand-written, EF migrations excluded:

BucketFilesLines of code
Production1,06551,441
Tests26358,690
Total1,328110,131

Test-to-production ratio is 1.14. Median hand-written file is 22 lines.

EF Core’s generated migration files weigh in at another 389,083 lines across 403 files, excluded from every metric here.

Production, by group

GroupFilesCode
Core1607,219
Domains (26 projects)75433,843
Application793,863
Other726,516

Domains is where the actual game lives — 26 isolated projects, each with its own logic/profiles/repositories, never referencing each other directly. Biggest by line count: ActorFactory (4267), History (3863), Commerce (2612), Rendering (2571), Mining (2121). Smallest is Warehouse at 92 lines.

Five chunkiest production files:

  1. TransportPickupService.cs — 691 lines, cyclomatic complexity 131
  2. ProducerPricingComputer.cs — 494 lines, cyclomatic complexity 79
  3. StreetRenderer.cs — 431 lines, cyclomatic complexity 41
  4. GodotRenderingCallback.cs — 397 lines, cyclomatic complexity 31
  5. MarketClearingService.cs — 370 lines, cyclomatic complexity 52

Handlers stay thin

Across 51 Application-layer handlers:

Five fattest:

  1. RegionInitializationHandler — 197 LOC
  2. QuarterlyRentCollectionHandler — 154 LOC
  3. AnnualTitheCollectionHandler — 130 LOC
  4. MarketAnalysisRefreshHandler — 95 LOC
  5. EmploymentResultRecordingHandler — 92 LOC

Git, in commits

MetricValue
Commits559
Active commit-days81
Lines added893,086
Lines deleted644,726
Net248,360
Median churn per commit526
p90 churn per commit4,716

Five biggest single commits:

  1. style: fix formatting issues (line endings and whitespace) — 214,134 churn
  2. clean up — 145,931 churn
  3. fix: Fix test failures and improve employment system — 55,624 churn
  4. move to ecs — 45,169 churn
  5. fix: Complete trading system and price adjustment mechanism — 40,409 churn

What kind of commits

Top first-verb in commit messages, n=559:

VerbCountShare
fix8715.6%
refactor8415.0%
feat6812.2%
add539.5%
cycle437.7%
merge397.0%
docs254.5%
remove152.7%

Collapsed into semantic buckets:

Churn hotspots

Most-touched .cs files over the project life:

TouchesFile
82Application/ServiceCollectionExtensions.cs
38Domains.Market/Presentation/MarketFacade.cs
34Domains.Merchant/Presentation/MerchantFacade.cs
31Tests/Behaviors/ComprehensiveEconomyTests.cs
30Domains.Transport/Presentation/TransportFacade.cs
28Application/Handlers/Migration/ArrivalEvaluationHandler.cs
26Domains.Transport/Logic/TransportAllocationService.cs

History

Each entry is a snapshot taken at commit time.

DateCommitProd LOCTest LOCTest ratioHandlersCommitsNet
2026-04-29e4eb195851,44158,6901.1451558247,548
2026-04-2980f279c551,44158,6901.1451559248,360