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:
| Bucket | Files | Lines of code |
|---|---|---|
| Production | 1,065 | 51,441 |
| Tests | 263 | 58,690 |
| Total | 1,328 | 110,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
| Group | Files | Code |
|---|---|---|
| Core | 160 | 7,219 |
| Domains (26 projects) | 754 | 33,843 |
| Application | 79 | 3,863 |
| Other | 72 | 6,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:
TransportPickupService.cs— 691 lines, cyclomatic complexity 131ProducerPricingComputer.cs— 494 lines, cyclomatic complexity 79StreetRenderer.cs— 431 lines, cyclomatic complexity 41GodotRenderingCallback.cs— 397 lines, cyclomatic complexity 31MarketClearingService.cs— 370 lines, cyclomatic complexity 52
Handlers stay thin
Across 51 Application-layer handlers:
- median lines of code: 36
- median dependencies: 3
- median complexity: 4
Five fattest:
RegionInitializationHandler— 197 LOCQuarterlyRentCollectionHandler— 154 LOCAnnualTitheCollectionHandler— 130 LOCMarketAnalysisRefreshHandler— 95 LOCEmploymentResultRecordingHandler— 92 LOC
Git, in commits
| Metric | Value |
|---|---|
| Commits | 559 |
| Active commit-days | 81 |
| Lines added | 893,086 |
| Lines deleted | 644,726 |
| Net | 248,360 |
| Median churn per commit | 526 |
| p90 churn per commit | 4,716 |
Five biggest single commits:
style: fix formatting issues (line endings and whitespace)— 214,134 churnclean up— 145,931 churnfix: Fix test failures and improve employment system— 55,624 churnmove to ecs— 45,169 churnfix: Complete trading system and price adjustment mechanism— 40,409 churn
What kind of commits
Top first-verb in commit messages, n=559:
| Verb | Count | Share |
|---|---|---|
fix | 87 | 15.6% |
refactor | 84 | 15.0% |
feat | 68 | 12.2% |
add | 53 | 9.5% |
cycle | 43 | 7.7% |
merge | 39 | 7.0% |
docs | 25 | 4.5% |
remove | 15 | 2.7% |
Collapsed into semantic buckets:
- Cleanup/refactor: 29.2%
- Net-new: 24.9%
- Bug-shaped: 16.3%
- Plumbing: 16.3%
Churn hotspots
Most-touched .cs files over the project life:
| Touches | File |
|---|---|
| 82 | Application/ServiceCollectionExtensions.cs |
| 38 | Domains.Market/Presentation/MarketFacade.cs |
| 34 | Domains.Merchant/Presentation/MerchantFacade.cs |
| 31 | Tests/Behaviors/ComprehensiveEconomyTests.cs |
| 30 | Domains.Transport/Presentation/TransportFacade.cs |
| 28 | Application/Handlers/Migration/ArrivalEvaluationHandler.cs |
| 26 | Domains.Transport/Logic/TransportAllocationService.cs |
History
Each entry is a snapshot taken at commit time.
| Date | Commit | Prod LOC | Test LOC | Test ratio | Handlers | Commits | Net |
|---|---|---|---|---|---|---|---|
| 2026-04-29 | e4eb1958 | 51,441 | 58,690 | 1.14 | 51 | 558 | 247,548 |
| 2026-04-29 | 80f279c5 | 51,441 | 58,690 | 1.14 | 51 | 559 | 248,360 |