The numbers panel reads a steady-state model of the federation. For each tier (client, proxy/L0 server, L1 server) the model computes how much storage that tier holds, how much bandwidth it moves per day, and how much CPU it burns. Then it multiplies by how many of that tier exist at the user count you picked.
The load-bearing formula is the same one the Rust toy uses:
effective_R = trust_radius * trust_multiplier(depth)
daily_admitted = effective_R * daily_bytes * publishable_cohort
trust_budget = 0.85 * (disk_budget - own - traces)
retention_days = trust_budget / daily_admitted
admitted_held = daily_admitted * retention_days (capped)
inbound_bw = daily_admitted + daily_fetch * (1 - cache_hit)
fanout = 1 + narrow_cohort*4 + wide_cohort*64
outbound_bw = daily_bytes * fanout
Each server only holds bytes from its effective trust set (direct trust R, expanded by the recursion depth knob via small-world overlap), and only for as long as the disk budget allows. There’s no archive-vs-cache distinction in v0.3; both push and pull terminate at the same gate, and bytes that earn demand stay while everything else gets evicted when newer or more popular content arrives.
Per-server feasibility is checked against three hard gates: one terabyte of disk, one gigabit per second of bandwidth (which is ten point eight terabytes per day), and one full CPU core. The ✓ or ⚠ next to each per-server stat tells you whether the scenario fits.