Skip to content

Statistics

Explore Capsem’s source history from its first commit: where the code lives, how the workspace and tests developed, and how crates depend on each other. Change a snapshot, select chart series, or download the data to investigate a particular part of the architecture.

Source history: 2025-10-01 – 2026-11-02 · UTC month-end snapshots, the initial commit and latest partial month.

633,215first-party source lines
32workspace crates
15,017declared correctness tests

Where the code lives

Choose a snapshot to compare each component's share of source code.

Share of source code

633,215 source lines · 2026-11-02. All categories use the same percentage scale.

Data table
Category / dateShare of total LOC (%)
Hypervisor1.986
Clients5.097
Guest agent & scripts1.078
Host VM lifecycle1.238
Other host components18.333
Tests & support52.435
Citadel & guardrails6.642
Benchmark code1.501
Build & release tooling10.074
Docs & marketing0.666
Other code0.948
Client code breakdown

Client source lines at 2026-11-02. Every spoke uses the same 0–14,000 LOC scale across all snapshots; generated code and tests excluded.

Data table
Category / dateSource lines (LOC)
App12,003
CLI8,747
TUI4,710
Tray1,047
MCP515
Rust SDK2,378
Python SDK1,389
TypeScript SDK1,489

Growth from the first commit

Each point is an exact Git snapshot. The early Python implementation is included, Rust crate counts start at zero, and quiet months carry forward the last main-line commit.

Code growth from the first commit

Values in LOC. Select legend entries to show or hide a series.

Data table
Category / dateHypervisor (LOC)Clients (LOC)Guest agent & scripts (LOC)Host VM lifecycle (LOC)Other host components (LOC)Tests & support (LOC)Citadel & guardrails (LOC)Benchmark code (LOC)Build & release tooling (LOC)Docs & marketing (LOC)Other code (LOC)
2025-10-0100007311240000165
2025-10-3100002,0152,0110001570
2025-11-3000002,0152,0110001570
2025-12-3100002,0152,0110001570
2026-01-3100002,0152,0110001570
2026-02-285215,0369621876,82311,269049460135
2026-03-315,29410,1841,23336913,20236,82306994,9412504
2026-04-305,62614,2411,8372,65520,11561,89609416,3981,3304
2026-05-3110,65327,0112,8734,99249,287111,636472,86014,7801,50780
2026-06-3010,69022,8262,8714,45454,742127,8798,7624,4839,9241,329744
2026-07-3110,86126,3853,0174,67062,491162,59815,9924,55830,4711,7551,735
2026-08-3112,68426,9143,1354,69364,165191,47129,9026,32553,7092,082252
2026-09-3012,23728,7435,1826,05178,479241,12938,9548,06459,7992,082302
2026-10-3112,57732,2786,8267,840116,090331,85141,9939,50763,6534,2186,003
2026-11-0212,57732,2786,8267,840116,090332,02742,0589,50763,7914,2186,003
Crates and internal connections

Values in count. Select legend entries to show or hide a series.

Data table
Category / dateWorkspace crates (count)Internal dependency pairs (count)
2025-10-0100
2025-10-3100
2025-11-3000
2025-12-3100
2026-01-3100
2026-02-2855
2026-03-3155
2026-04-301424
2026-05-311945
2026-06-301826
2026-07-311826
2026-08-311827
2026-09-302768
2026-10-3132118
2026-11-0232118
Direct external dependencies

Values in packages. Select legend entries to show or hide a series.

Data table
Category / daterust (packages)npm (packages)python (packages)
2025-10-010010
2025-10-310322
2025-11-300322
2025-12-310322
2026-01-310322
2026-02-2844170
2026-03-3156287
2026-04-30782610
2026-05-31902915
2026-06-30942713
2026-07-31952715
2026-08-31952719
2026-09-30983226
2026-10-311123837
2026-11-021123837

Testing investment

These are declared test definitions. Parameterized cases, architecture runs and reruns can produce more executions. Benchmark code and performance measurements are tracked separately.

Declared correctness tests by system

Values in definitions. Select legend entries to show or hide a series.

Data table
Category / dateRust (definitions)Python build tooling (definitions)VM integration (definitions)Frontend (definitions)Citadel (definitions)Source contracts (definitions)Doctor (definitions)Ironbank (definitions)Python SDK (definitions)TypeScript SDK (definitions)MCP (definitions)Inspect AI (definitions)Other Python (definitions)Other JavaScript (definitions)
2025-10-0100000000000080
2025-10-310000000000001000
2025-11-300000000000001000
2025-12-310000000000001000
2026-01-310000000000001000
2026-02-28751000008900000380
2026-03-312,011005900218000006490
2026-04-303,029064030500226000006970
2026-05-313,622074339503242000009810
2026-06-303,857079637121902498800006550
2026-07-314,29101,12637654902498800001,3553
2026-08-314,5452,7761,1253773042252498600002180
2026-09-305,7693,21294744860323118912738492403700
2026-10-317,4713,628996603807239164210929831995628
2026-11-027,4713,636996603808239164210929831995628

Release success rate

Follow the percentage of recorded release attempts that succeeded each month. Reruns count separately; cancellations count as unsuccessful attempts.

Successful release attempts over time

Monthly success rate = successful attempts ÷ (successful + failed + cancelled attempts). Each rerun counts separately; binary and runtime workflows are included. Months with no attempts have no value.

Data table
Category / dateSuccessful attempts (%)
2025-1016.667
2025-11Not recorded
2025-12Not recorded
2026-01Not recorded
2026-02Not recorded
2026-0324.242
2026-0426.316
2026-0523.077
2026-0618.519
2026-0715.556
2026-083.846
2026-096.667
2026-106.098
2026-110

Crate dependency explorer

Inspect the dependencies declared in each snapshot's Cargo workspace. Search for a crate to show its direct neighbours, or show the whole workspace. External libraries are counted in the trend chart above.

32 workspace crates. Arrows point from a crate to a dependency. Search to focus on its direct neighbours.

Legend
  • Components, inputs and outputs
    No host-permission level assigned by this diagram.
FromConnectionTo
capsemruntimeassets
capsemruntimecore — (selected)
capsemruntimecrypto
capsemruntimefoundation
capsemruntimeproto
adminruntimeassets
adminruntimecore — (selected)
adminruntimecrypto
assetsruntimecrypto
assetsruntimefoundation
cacheruntimetelemetry
configruntimeproto
core — (selected)runtimeassets
core — (selected)runtimecache
core — (selected)runtimeconfig
core — (selected)runtimecredentials
core — (selected)runtimecrypto
core — (selected)runtimefoundation
core — (selected)runtimelogger
core — (selected)runtimemcp — transport
core — (selected)runtimeproto
core — (selected)runtimerouter
core — (selected)runtimetelemetry
credentialsruntimecrypto
credentialsruntimefoundation
credentialsruntimeproto
foundationruntimecrypto
foundationruntimeproto
loggerruntimecache
loggerruntimecrypto
loggerruntimefoundation
loggerruntimeproto
loggerruntimetelemetry
mcp — builtinruntimecore — (selected)
mcp — builtinruntimefoundation
mcp — builtinruntimemcp — transport
mcp — builtinruntimeproto
mcp — transportruntimefoundation
mcp — transportruntimeproto
processruntimeassets
processruntimecore — (selected)
processruntimefoundation
processruntimelogger
processruntimeproto
processruntimetelemetry
protoruntimecrypto
proxyruntimecore — (selected)
proxyruntimefoundation
proxyruntimelogger
proxyruntimeproto
proxyruntimetelemetry
routerruntimefoundation
routerruntimeproto
serviceruntimeassets
serviceruntimecache
serviceruntimecore — (selected)
serviceruntimecredentials
serviceruntimecrypto
serviceruntimefoundation
serviceruntimelogger
serviceruntimemcp — transport
serviceruntimeproto
serviceruntimerouter
serviceruntimetelemetry

Sources and definitions

How these numbers are collected

Source LOC excludes blank lines, comments, generated code, vendor code, data and lockfiles. Tests are assigned before production components; inline Rust test blocks are partitioned. Component ownership follows source paths, including historical layouts.

Direct external dependency counts deduplicate package names across workspaces, including development and build roles. Internal connections count distinct directed crate pairs. These describe size and structure rather than a quality score.

The June main reset has an explicit history-restoration merge. Collection follows that restored original main lineage and then current main, rather than selecting arbitrary feature branches by date. The initial commit already contains source code.

GitHub records are retained when older API evidence expires. GitHub observed at 2026-11-02T20:09:07.332802+00:00. Publication timestamps do not establish that an entire release workflow passed.

Source commit: c1018eacbcfb. Generated at 2026-11-02T20:09:07.332802+00:00. The Python collector and its tests live in the repository.