Auto-updated 2026-05-15T22:47:18+02:00. Snapshot at commit fdd5c4e7. Don’t hand-edit between the markers — anything outside is preserved.

Code, in lines

Hand-written, EF migrations excluded:

BucketFilesLines of code
Production31823,289
Tests19639,415
Total51462,704

Test-to-production ratio is 1.69. Median hand-written file is 56 lines.

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

Production, by group

GroupFilesCode
Core2168,534
Application217,407
Other817,348

Domains is where the actual game lives — 0 isolated projects, each with its own logic/profiles/repositories, never referencing each other directly. Biggest by line count: . Smallest is n/a at 0 lines.

Five chunkiest production files:

  1. CommerceSystems.cs — 996 lines, cyclomatic complexity 303
  2. RenderingSystems.cs — 957 lines, cyclomatic complexity 78
  3. ProductionSystems.cs — 899 lines, cyclomatic complexity 232
  4. MigrationSystems.cs — 820 lines, cyclomatic complexity 81
  5. PresentationSystems.cs — 646 lines, cyclomatic complexity 118

Handlers stay thin

Across 0 Application-layer handlers:

Five fattest:

Git, in commits

MetricValue
Commits623
Active commit-days93
Lines added953,311
Lines deleted814,609
Net138,702
Median churn per commit536
p90 churn per commit5,499

Five biggest single commits:

  1. style: fix formatting issues (line endings and whitespace) — 214,134 churn
  2. clean up — 145,931 churn
  3. remove region and history domains — 60,880 churn
  4. fix: Fix test failures and improve employment system — 55,624 churn
  5. move to ecs — 45,169 churn

What kind of commits

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

VerbCountShare
fix9214.8%
refactor8513.6%
feat6810.9%
add589.3%
cycle436.9%
merge396.3%
remove294.7%
move294.7%

Collapsed into semantic buckets:

Churn hotspots

Most-touched .cs files over the project life:

TouchesFile
124Application/ServiceCollectionExtensions.cs
46Tests/Behaviors/ComprehensiveEconomyTests.cs
38Domains.Market/Presentation/MarketFacade.cs
34Domains.Merchant/Presentation/MerchantFacade.cs
30Domains.Transport/Presentation/TransportFacade.cs
29Domains.Migration/Presentation/MigrationFacade.cs
29Application/Handlers/Migration/ArrivalEvaluationHandler.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
2026-04-3001e0c3d151,48659,1051.1549560248,515
2026-04-30b8e0f8cb51,44559,1051.1547561249,142
2026-04-30cd20c92951,47459,1051.1546562249,095
2026-04-301616c7ec51,24158,9931.1542563249,139
2026-04-300466492244,01352,0811.1830564248,632
2026-04-3054fd04da44,04452,1691.1828565228,546
2026-04-3084cf951244,00852,1701.1926566228,707
2026-04-30ba650d4e43,99052,1711.1925567228,613
2026-04-30901a6f6443,98852,1721.1924568228,602
2026-05-01e9d81cf943,96652,1731.1922569228,608
2026-05-01d34c310d43,97352,1731.1922570228,575
2026-05-012e6def7c43,97051,8471.1819571228,585
2026-05-010902f65843,90151,8471.1815572228,088
2026-05-01da1eac9043,76852,0231.1912573228,003
2026-05-01b3c3b1cd43,70152,0181.1912574228,101
2026-05-01d54a4aac43,80152,1991.1912575228,016
2026-05-06afb0a00843,82552,5161.212575228,765
2026-05-06be20b41e43,82552,5161.212580229,089
2026-05-071a6bf81943,38952,3771.2112577228,853
2026-05-07f40faca943,15052,3211.2112578228,181
2026-05-0758def47343,14252,3211.2112579227,881
2026-05-073b4aa54243,10252,2791.2112580227,861
2026-05-07c166a34443,08552,2371.2112581227,761
2026-05-083b2d055341,68051,9341.2512582227,633
2026-05-092c860ec341,76452,3841.2512583224,932
2026-05-09ed76284341,69352,3531.2612584225,659
2026-05-09822c1a2041,69352,3531.2612585225,517
2026-05-099d2169ba40,04451,4901.2912586225,518
2026-05-1007c340c836,42550,9601.410587221,564
2026-05-1038552b5735,59448,5641.3611588216,548
2026-05-1064937ea834,52449,4571.4311589212,447
2026-05-113cfda9d233,91649,1311.4511590211,926
2026-05-113f0907d533,26348,3991.4611591210,474
2026-05-1217d4dbeb33,22348,7741.4711592208,512
2026-05-1249e6cdb833,65048,9611.4611593208,918
2026-05-130fd5983333,62948,9611.4611594209,643
2026-05-1371282a0f33,59548,7871.4511595209,627
2026-05-130d53f6e333,41447,5371.4211596209,443
2026-05-13159af2f233,38944,8341.3411597207,591
2026-05-14946f1ffe33,39944,6931.3411598204,032
2026-05-14d1a76c5233,40544,6931.3411599203,793
2026-05-146defe2c933,40544,8301.3411600203,805
2026-05-142efd255c31,02643,1111.3911601203,965
2026-05-14ba5b0a1f30,67743,2201.4111602197,828
2026-05-1490c86fc230,09842,1441.411603197,408
2026-05-14e00ba10424,52841,4171.696604195,225
2026-05-143671441b23,42240,4821.730605134,681
2026-05-1406bcb54123,42240,4821.730606131,831
2026-05-143e2e1e4722,58238,8241.720607131,833
2026-05-1474a94a7422,45138,5681.720608127,966
2026-05-1494fb0c8521,99338,4321.750609127,334
2026-05-14f1d0642e21,94138,4321.750610126,471
2026-05-144c3172c422,33138,4321.720611128,768
2026-05-14829e535522,67838,5581.70612129,241
2026-05-158c2b66f422,67838,5581.70613136,716
2026-05-1551f6797b22,67838,5581.70614136,778
2026-05-157183f9ac22,67838,5581.70615136,790
2026-05-15f3d014b422,67838,5581.70616136,796
2026-05-152a9a9b1422,63638,7501.710617136,798
2026-05-15aa1cb80d22,63638,7501.710618137,014
2026-05-15d06a572922,82938,8321.70619137,188
2026-05-15a28eded322,94339,1261.710620137,524
2026-05-1570bfd75923,13839,2001.690621138,028
2026-05-15745d597b23,27039,2891.690622138,418
2026-05-15fdd5c4e723,28939,4151.690623138,702