igneum/docs/analysis/card-lifetime-2026-10-05.md
igneum-labs 7eed16a29a Pre-public scrub, the text pass (7 October 2026, 19:5x UK): no founder name, personal login, earlier business or personal address in any tracked text file, and a gate check that keeps it so
The sweep (main's item 1): 199 tracked text files, 783 lines. The founder's full name, first name and possessive become "the founder" (sentence starts capitalised); the lowercase operating-system user name in WSL paths and commands becomes <user>; the second owner login becomes "the second owner login"; the three earlier businesses and the two other brands become "the other business", "the earlier entity", "the earlier business" and "another brand"; the Chrome profile rule names the igneum.network profile, not the profile's label. The standing commit login igneum-labs is not a founder term here: the fresh-repository step renames it in the history (docs/plans/history-rewrite.md, tools/repo/fresh-repo.sh).

The patterns never appear in plain text in the tree (a plaintext list would be the hit): tools/ci/founder-strings.b64 (perl regex, tab, a sample per row) is read by tools/ci/founder-strings-check.sh (every tracked text file, perl, known-failed first: the self-test plants each row's sample in a fixture and the hit must name the file), by tools/community/discord-hooks.mjs (the guard's founder and business rows; the test takes its fixtures from the samples) and by tools/repo/fresh-repo.sh (the business names of the rewrite rules). site/forbidden-strings.txt carries the same patterns as b64: lines, decoded case-insensitive by site/scrub.mjs and tools/ci/launch-gates-check.mjs (whose fixture now plants an encoded made-up name). The check runs in the gate's tree checks on every merge.

Not in this commit, by main's word: the 105 commit messages and 40 personal-identity commits that need the history rewrite (listed, not run), and the secrets found by gitleaks over the history (reported with owners).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 18:39:50 +00:00

8.8 KiB

Card lifetime per tier: how many years a card keeps mining

5 October 2026. Consequences review, sub-agent of the consequences reviewer. Desk arithmetic only; nothing was run.

1. Inputs

Input Source Value used
Dataset schedule docs/spec/01-lottery-hash.md 432 to 437 2 GiB at genesis plus 0.5 GiB a year (2,048 + 512 x years MiB)
Index mapping (a) same file, line 442 multiply-shift: the dataset grows every day, continuous
Index mapping (b) same file, line 442 power-of-two steps 2, 4, 8 GiB on the schedule's average: 4 GiB at year 4, 8 GiB at year 12; my extrapolation: 16 GiB at year 28, 32 GiB at year 60
Scratch per resident warp igneum-wt-ca2-cache/docs/plans/hot-table.md 66 to 73 32 or 128 KiB per warp; 5090 = 170 SMs x 48 warps = 8,160 (approximate, from memory)
Hot table, buffers same file, 70 hot table 32, 64 or 96 MiB (96 used here); buffers 128 MiB
Cache hot-table.md 70 (resident, 256 MiB in every total) against igneum-wt-ca2-era/docs/plans/era-layout.md 93 ("resident only while the day's dataset is built, then free") both readings carried: resident = worst case, freed = best case. The two plans disagree and gate 1 should say which
Cache growth igneum-wt-ca2-coord/docs/plans/counter-asic-2-status.md 79 (layer 6 option C) 256 MiB at genesis, 512 MiB at year 4, 1 GiB at year 12; by the same rule 2 GiB at year 28, 4 GiB at year 60
Budget rule same file, 17: the whole working set stays under 6 GB on an 8 GB card my reading: 75% of card memory at every tier. Apple: 50% of unified memory, because macOS, the display and the node share it; that share is my assumption
Public claims site/index.html 443, 461; site/litepaper.html 560; docs/evidence.md quoted in Table 3. evidence.md has no row on card lifetime

Card memory is binary (8 GB = 8,192 MiB). The hot-table row "An 8 GB card at 5090 occupancy" (line 73) counts 8,160 warps; a real 8 GB card has 20 to 24 SMs, so its scratch is about a tenth of that row. Resident warps below are SMs x 48 (NVIDIA Ampere and later), SM counts from memory, approximate; Apple uses the 2,048 warps the Metal harness launches (hot-table.md 66).

2. Table 1: non-dataset working set per tier (MiB)

Worst = scratch 128 KiB, cache resident. Columns g / y4 / y12 = genesis, year 4, year 12 (the cache doublings). Freed = era-layout's reading, constant over the years.

Tier Card assumed (SMs, approximate) Warps Scratch 128 KiB Scratch 32 KiB Cache resident, 128 KiB: g / y4 / y12 Cache resident, 32 KiB: g / y4 / y12 Cache freed: 128 / 32 KiB
4 GB GTX 1650 (14 SMs x 32 warps, Turing) 448 56 14 536 / 792 / 1,304 494 / 750 / 1,262 280 / 238
8 GB RTX 3050 (20) 960 120 30 600 / 856 / 1,368 510 / 766 / 1,278 344 / 254
12 GB RTX 3060 (28) 1,344 168 42 648 / 904 / 1,416 522 / 778 / 1,290 392 / 266
16 GB RTX 5060 Ti (36) 1,728 216 54 696 / 952 / 1,464 534 / 790 / 1,302 440 / 278
24 GB RTX 4090 (128) 6,144 768 192 1,248 / 1,504 / 2,016 672 / 928 / 1,440 992 / 416
32 GB RTX 5090 (170) 8,160 1,020 255 1,500 / 1,756 / 2,268 735 / 991 / 1,503 1,244 / 479
Apple 8 to 64 GB M-series, harness launch count 2,048 256 64 736 / 992 / 1,504 544 / 800 / 1,312 480 / 288

Every row = scratch + 96 (hot table) + 128 (buffers) + cache (256 / 512 / 1,024 when resident). The freed reading still peaks at dataset + cache during the daily build, but that peak is smaller than the resident total whenever hashing pauses for the build, so the freed column is the steady-state set.

3. Table 2: dataset room and the year the dataset outgrows it

Room = usable memory (75%, Apple 50%) minus Table 1. Worst = 128 KiB scratch, cache resident (room shrinks at years 4, 12, 28, 60). Best = 32 KiB scratch, cache freed. Option (a): the year 2,048 + 512 x y exceeds the room. Option (b): the first step the room cannot hold; the card mines up to that day.

Tier Usable MiB (share) Room at genesis, worst / best (a) ends, years, worst / best (b) ends, year, worst / best
4 GB 3,072 (75%) 2,536 / 2,834 1.0 / 1.5 4 / 4
8 GB 6,144 (75%) 5,544 / 5,890 6.3 / 7.5 12 / 12
12 GB 9,216 (75%) 8,568 / 8,950 12.0 / 13.5 12 / 28
16 GB 12,288 (75%) 11,592 / 12,010 17.1 / 19.5 28 / 28
24 GB 18,432 (75%) 17,184 / 18,016 28.0 / 31.2 28 / 60
32 GB 24,576 (75%) 23,076 / 24,097 37.6 / 43.1 60 / 60
Apple 8 GB 4,096 (50%) 3,360 / 3,808 2.6 / 3.4 4 / 4
Apple 16 GB 8,192 (50%) 7,456 / 7,904 10.1 / 11.4 12 / 12
Apple 32 GB 16,384 (50%) 15,648 / 16,096 25.1 / 27.4 28 / 28
Apple 64 GB 32,768 (50%) 32,032 / 32,480 55.1 / 59.4 60 / 60

What the table says per tier:

Tier Reading
4 GB Mines at genesis with 488 to 786 MiB spare. Under (a) it is out within 1 to 1.5 years. Under (b) it lasts to the year-4 step, as the spec's own remark says (line 442)
8 GB 6 to 7.5 years under (a). 12 years under (b): "more than a decade" is true only under (b), and only just
12 GB The year-12 cache doubling (1 GiB resident) is what ends it, under both options, if the cache stays resident. With the cache freed it reaches year 28 under (b). This tier's lifetime is decided by the cache residency question, not by the dataset
16 GB 17 to 19.5 years under (a), year 28 under (b)
24 GB Under the resident reading the year-28 cache doubling (2 GiB) ends it the same day under both options. Freed: 31 years or year 60
32 GB 38 to 43 years under (a), year 60 under (b). Not a constraint for any plan
Apple 8 GB 2.6 to 3.4 years under (a), year 4 under (b). The base 8 GB Apple laptop is a short-lived miner
Apple 16 GB 10 to 11.4 years under (a), year 12 under (b): the same shape as an 8 GB card
Apple 32 / 64 GB 25 years and 55 years or more. No constraint

Proving is a separate budget (the 15.6 GB peak the 12 GB mine-and-prove question came from); this file covers mining only.

4. Table 3: the public sentences against the numbers

Where Sentence now What the tables give Proposed sentence (the founder decides the wording)
site/index.html 443 Memory: "2 GB, fixed" (RandomX) / "2 GB, growing" (Igneum) 2 GiB at genesis, plus 0.5 GiB a year on average under either option "2 GB, growing 0.5 GB a year". The row is right; the rate is the useful addition
site/index.html 461 "Any 4 GB card, approximate." True at genesis (2,584 to 2,834 MiB of a 3,072 MiB budget). Ends at 1 to 1.5 years under (a), year 4 under (b) "Any 4 GB card at launch, 8 GB for the long run, approximate."
site/litepaper.html 560 "a 4 GB card mines for about four years and an 8 GB card for more than a decade, approximate." 4 GB: 1 to 1.5 years (a) or 4 years (b). 8 GB: 6.3 to 7.5 years (a) or 12 years (b). Both numbers hold only under option (b) If gate 1 picks (b): "a 4 GB card mines until the first dataset step at year 4, an 8 GB card until the second at year 12 and a 16 GB card until year 28, approximate." If (a): "a 4 GB card mines for about a year, an 8 GB card for about seven and a 16 GB card for about seventeen, approximate."
site/litepaper.html 560 "12 GB or more proves full shards." Not a lifetime claim; left as is. For mining, 12 GB lasts 12 years with the cache resident, year 28 with it freed under (b) No change from this file
docs/evidence.md No row on card lifetime The litepaper sentence is a public claim with no row Add a row, label "designed", sources: spec 1.13.3 and this file; status moves to "tested" once a 4 GB and an 8 GB card run the genesis working set under the cap

5. Reading

  • The two index-mapping options end on the same day where a cache doubling takes the last of the room. With the cache resident that is the 12 GB tier at year 12 and the 24 GB tier at year 28 (Table 2, worst column). Under option (b) every tier ends on a step day by construction, so a tier ends on the same day under both options exactly when option (a) also ends it on a doubling day.
  • Everywhere else option (b) is kinder: 4 GB gains about 2.5 years, 8 GB about 5, 16 GB about 10. The site and litepaper numbers are option (b) numbers. If gate 1 picks (a), both public sentences are wrong today by 2.5 to 5 years.
  • The cache residency disagreement (hot-table.md 70 against era-layout.md 93) decides the 12 GB tier's lifetime (12 against 28 years) and nothing else. It should be settled at gate 1 beside the mapping choice.
  • The 75% rule is my generalisation of "under 6 GB on an 8 GB card"; at 4 GB it leaves 1 GB for the driver and the display, which a headless rig would not need. A 4 GB card on a bare Linux rig might hold out to year 2 under (a). Not measured.