Companion to "AI Forgets Everything. We Measured What That Costs." Everything on this page is the raw material behind that article: the 79 measured context-replacement events with exact API-reported token counts, the conversion script, and the complete study with every caveat. Check our math.
Sort the context before column below: the median is 971,805. Sort context after: 71,266. Divide: 13.6×. Those are the article's numbers. Session IDs are anonymized to their UUID prefixes; no conversation content appears anywhere in this data. Token counts are exact API-reported usage; the summary-token column is estimated at 4 characters per token.
| # | session | timestamp (UTC) | context before | summary | context after | ratio |
|---|---|---|---|---|---|---|
| 1 | 31a2834f… | 2026-06-17 01:20:02 | 997,061 | 3,576 | 59,705 | 16.70× |
| 2 | 4b478dae… | 2026-05-31 03:13:34 | 966,326 | 3,220 | 56,609 | 17.07× |
| 3 | 4b8b173d… | 2026-06-11 01:57:11 | 998,187 | 5,639 | 138,009 | 7.23× |
| 4 | 4b8b173d… | 2026-06-19 15:31:46 | 987,130 | 3,290 | 68,714 | 14.37× |
| 5 | 4b8b173d… | 2026-06-30 07:08:54 | 998,893 | 4,158 | 71,266 | 14.02× |
| 6 | 4b8b173d… | 2026-06-30 16:07:14 | 999,142 | 4,637 | 76,057 | 13.14× |
| 7 | 4b8b173d… | 2026-07-01 06:36:41 | 997,191 | 3,207 | 108,458 | 9.19× |
| 8 | 4b8b173d… | 2026-07-02 12:25:41 | 999,010 | 4,822 | 76,883 | 12.99× |
| 9 | 4b8b173d… | 2026-07-03 14:27:31 | 986,784 | 3,989 | 82,663 | 11.94× |
| 11 | 4b8b173d… | 2026-07-07 17:35:08 | 984,305 | 4,635 | 103,450 | 9.51× |
| 12 | 4b8b173d… | 2026-07-10 14:55:43 | 736,961 | 3,776 | 395,498 | 1.86× |
| 13 | 4b8b173d… | 2026-07-12 16:56:36 | 960,782 | 6,589 | 101,759 | 9.44× |
| 15 | 4b8b173d… | 2026-07-14 16:29:32 | 959,889 | 4,464 | 98,858 | 9.71× |
| 16 | 4b8b173d… | 2026-07-14 20:43:19 | 999,608 | 6,725 | 108,181 | 9.24× |
| 17 | 4b8b173d… | 2026-07-15 13:18:18 | 998,689 | 5,140 | 138,401 | 7.22× |
| 18 | 4b8b173d… | 2026-07-15 19:07:55 | 658,731 | 5,631 | 106,621 | 6.18× |
| 19 | 85eceebe… | 2026-05-04 04:39:15 | 965,601 | 4,539 | 41,696 | 23.16× |
| 20 | 85eceebe… | 2026-05-04 16:38:14 | 923,039 | 3,797 | 45,079 | 20.48× |
| 22 | 85eceebe… | 2026-05-06 13:19:42 | 965,601 | 3,672 | 53,097 | 18.19× |
| 23 | 85eceebe… | 2026-05-08 13:42:17 | 960,562 | 4,502 | 49,048 | 19.58× |
| 24 | 85eceebe… | 2026-05-08 20:01:12 | 970,129 | 3,471 | 54,634 | 17.76× |
| 25 | 85eceebe… | 2026-05-09 14:50:56 | 133,333 | 4,159 | 55,492 | 2.40× |
| 26 | 85eceebe… | 2026-05-09 22:49:19 | 967,645 | 2,674 | 48,184 | 20.08× |
| 27 | 85eceebe… | 2026-05-10 17:08:17 | 945,380 | 4,393 | 52,721 | 17.93× |
| 28 | 85eceebe… | 2026-05-11 00:09:08 | 965,838 | 4,128 | 53,880 | 17.93× |
| 29 | 85eceebe… | 2026-05-11 16:50:00 | 966,628 | 4,151 | 50,098 | 19.29× |
| 30 | 85eceebe… | 2026-05-12 22:58:58 | 963,429 | 3,671 | 48,059 | 20.05× |
| 31 | 85eceebe… | 2026-05-17 15:01:21 | 473,668 | 4,090 | 52,706 | 8.99× |
| 32 | 85eceebe… | 2026-05-17 22:19:06 | 965,112 | 4,093 | 48,918 | 19.73× |
| 33 | 85eceebe… | 2026-05-20 21:23:36 | 582,252 | 3,976 | 53,700 | 10.84× |
| 35 | 85eceebe… | 2026-05-22 11:00:29 | 490,939 | 4,143 | 49,493 | 9.92× |
| 36 | 85eceebe… | 2026-05-30 13:04:39 | 966,755 | 3,852 | 50,068 | 19.31× |
| 37 | 85eceebe… | 2026-05-31 01:26:57 | 964,549 | 5,174 | 56,353 | 17.12× |
| 38 | 85eceebe… | 2026-05-31 16:11:22 | 971,805 | 5,044 | 53,774 | 18.07× |
| 39 | 85eceebe… | 2026-05-31 22:44:43 | 545,287 | 5,364 | 61,296 | 8.90× |
| 40 | 85eceebe… | 2026-06-01 14:29:22 | 998,001 | 5,044 | 65,017 | 15.35× |
| 41 | 85eceebe… | 2026-06-02 12:21:24 | 999,650 | 4,758 | 62,023 | 16.12× |
| 42 | 85eceebe… | 2026-06-05 09:08:41 | 987,651 | 5,309 | 71,372 | 13.84× |
| 43 | 85eceebe… | 2026-06-05 22:35:00 | 983,291 | 5,146 | 54,853 | 17.93× |
| 45 | 85eceebe… | 2026-06-06 17:25:22 | 977,175 | 4,190 | 62,986 | 15.51× |
| 48 | 85eceebe… | 2026-06-07 15:31:57 | 869,241 | 4,448 | 56,280 | 15.44× |
| 52 | 85eceebe… | 2026-06-09 03:29:39 | 874,548 | 5,904 | 63,516 | 13.77× |
| 53 | 85eceebe… | 2026-06-09 18:57:15 | 541,126 | 7,074 | 134,120 | 4.03× |
| 54 | 85eceebe… | 2026-06-10 13:39:11 | 953,121 | 5,248 | 235,021 | 4.06× |
| 55 | 85eceebe… | 2026-06-11 01:01:30 | 918,606 | 4,748 | 194,097 | 4.73× |
| 57 | 85eceebe… | 2026-06-12 13:33:41 | 778,945 | 4,620 | 63,484 | 12.27× |
| 58 | 85eceebe… | 2026-06-13 03:28:39 | 998,758 | 3,986 | 65,329 | 15.29× |
| 59 | 85eceebe… | 2026-06-13 18:48:42 | 989,792 | 4,236 | 48,587 | 20.37× |
| 60 | 85eceebe… | 2026-06-15 15:33:38 | 998,259 | 3,925 | 85,657 | 11.65× |
| 61 | 85eceebe… | 2026-06-16 02:26:50 | 969,888 | 3,963 | 62,644 | 15.48× |
| 63 | 85eceebe… | 2026-06-16 16:55:12 | 966,942 | 4,500 | 55,472 | 17.43× |
| 66 | 85eceebe… | 2026-06-16 21:32:05 | 934,643 | 4,487 | 69,077 | 13.53× |
| 70 | 85eceebe… | 2026-06-18 12:36:39 | 458,373 | 4,585 | 64,033 | 7.16× |
| 71 | 85eceebe… | 2026-06-19 12:40:02 | 997,728 | 5,142 | 78,143 | 12.77× |
| 72 | 85eceebe… | 2026-06-20 01:47:18 | 988,288 | 4,229 | 92,608 | 10.67× |
| 73 | 85eceebe… | 2026-06-20 15:49:31 | 993,829 | 3,527 | 78,402 | 12.68× |
| 74 | 85eceebe… | 2026-06-20 17:53:35 | 444,876 | 4,938 | 64,278 | 6.92× |
| 75 | 85eceebe… | 2026-06-21 00:26:18 | 999,065 | 5,070 | 85,750 | 11.65× |
| 76 | 85eceebe… | 2026-06-21 12:25:44 | 997,230 | 4,267 | 106,809 | 9.34× |
| 77 | 85eceebe… | 2026-06-21 16:47:20 | 998,040 | 4,786 | 70,591 | 14.14× |
| 78 | 85eceebe… | 2026-06-21 21:10:32 | 994,479 | 5,044 | 83,354 | 11.93× |
| 79 | 85eceebe… | 2026-06-22 02:00:40 | 995,445 | 4,761 | 93,016 | 10.70× |
| 80 | 85eceebe… | 2026-06-22 08:10:14 | 999,210 | 3,601 | 94,686 | 10.55× |
| 81 | 85eceebe… | 2026-06-22 15:38:36 | 918,213 | 5,499 | 67,849 | 13.53× |
| 83 | 85eceebe… | 2026-06-22 20:18:29 | 917,454 | 5,153 | 82,742 | 11.09× |
| 84 | 85eceebe… | 2026-06-23 11:46:27 | 995,437 | 4,967 | 94,124 | 10.58× |
| 85 | 85eceebe… | 2026-06-23 22:20:45 | 997,039 | 5,252 | 67,440 | 14.78× |
| 86 | 85eceebe… | 2026-06-24 12:52:05 | 999,730 | 3,965 | 90,745 | 11.02× |
| 87 | 85eceebe… | 2026-06-24 17:35:53 | 993,989 | 4,292 | 110,625 | 8.99× |
| 88 | 85eceebe… | 2026-06-25 14:02:37 | 980,095 | 5,211 | 86,189 | 11.37× |
| 89 | 85eceebe… | 2026-06-26 11:25:22 | 995,772 | 5,991 | 112,804 | 8.83× |
| 90 | 85eceebe… | 2026-06-27 19:09:45 | 988,276 | 4,585 | 93,872 | 10.53× |
| 91 | 85eceebe… | 2026-06-28 16:02:58 | 992,105 | 3,972 | 73,310 | 13.53× |
| 92 | 85eceebe… | 2026-06-29 13:38:15 | 998,942 | 5,036 | 78,944 | 12.65× |
| 93 | 85eceebe… | 2026-07-04 14:08:48 | 759,056 | 5,098 | 585,347 | 1.30× |
| 94 | 85eceebe… | 2026-07-04 17:37:46 | 998,518 | 4,883 | 138,663 | 7.20× |
| 95 | 85eceebe… | 2026-07-05 23:13:09 | 964,795 | 4,613 | 92,735 | 10.40× |
| 97 | 85eceebe… | 2026-07-07 11:51:18 | 961,400 | 4,988 | 103,405 | 9.30× |
| 98 | 85eceebe… | 2026-07-12 16:03:15 | 997,297 | 6,832 | 90,588 | 11.01× |
The script that turns the measured token figures into the article's watt-hour estimates, using Epoch AI's published long-context points (2.5 Wh @ 10k input tokens, 40 Wh @ 100k). Run it yourself.
// Synthesis arithmetic — all inputs from Task A/C/D reports
const slopeLo = 2.5/10000; // Wh per input token @10k scale (Epoch: 2.5 Wh / 10k)
const slopeHi = 40/100000; // Wh per input token @100k scale (Epoch: 40 Wh / 100k)
console.log('slope band mWh/token:', slopeLo*1000, slopeHi*1000);
// per-boundary (Task C medians, exact API tokens)
const pre = 971805, post = 71266, measuredPost = 106621;
const avoided = pre - post;
console.log('avoided tokens/boundary:', avoided);
console.log('rebuild Wh band:', (avoided*slopeLo).toFixed(1), (avoided*slopeHi).toFixed(1));
console.log('restore Wh band (71k..107k):', (post*slopeLo).toFixed(1), (measuredPost*slopeHi).toFixed(1));
const netLo = avoided*slopeLo - measuredPost*slopeHi;
const netHi = avoided*slopeHi - post*slopeLo;
console.log('net Wh/boundary:', netLo.toFixed(1), netHi.toFixed(1));
console.log('median-prompt equivalents/boundary:', (netLo/0.34).toFixed(0), (netHi/0.24).toFixed(0));
// measured-window totals (Task C exact sums, 79 events, 2026-05-04..07-15)
const totReplaced = 71980559, totAfter = 7100015;
console.log('window rebuild kWh:', (totReplaced*slopeLo/1000).toFixed(1), (totReplaced*slopeHi/1000).toFixed(1));
console.log('window restore kWh:', (totAfter*slopeLo/1000).toFixed(2), (totAfter*slopeHi/1000).toFixed(2));
console.log('window net kWh:', ((totReplaced-totAfter)*slopeLo/1000).toFixed(1), ((totReplaced-totAfter)*slopeHi/1000).toFixed(1));
const days = (Date.UTC(2026,6,15)-Date.UTC(2026,4,4))/86400000;
console.log('window days:', days, 'events/day:', (79/days).toFixed(2), 'events/yr:', Math.round(79/days*365));
const perYr = 79/days*365;
console.log('yearly avoided tokens:', Math.round(perYr*avoided));
console.log('yearly gross kWh:', (perYr*avoided*slopeLo/1000).toFixed(0), (perYr*avoided*slopeHi/1000).toFixed(0));
console.log('yearly restore kWh:', (perYr*post*slopeLo/1000).toFixed(1), (perYr*measuredPost*slopeHi/1000).toFixed(1));
console.log('yearly net kWh:', ((perYr*avoided*slopeLo - perYr*measuredPost*slopeHi)/1000).toFixed(0), ((perYr*avoided*slopeHi - perYr*post*slopeLo)/1000).toFixed(0));
console.log('yearly net prompt-equivalents (k):', ((perYr*avoided*slopeLo - perYr*measuredPost*slopeHi)/0.34/1000).toFixed(0), ((perYr*avoided*slopeHi - perYr*post*slopeLo)/0.24/1000).toFixed(0));
// Task A scale checks
console.log('cache share:', (12301635891/12591433284*100).toFixed(1)+'%');
console.log('mean input-side tokens/call:', Math.round(12591433284/24506));
When an AI working session ends, its accumulated context — everything the model learned by reading files, searching, and conversing — is normally thrown away. A returning session must either rebuild that context (re-read, re-search, re-ask) or restore it from persistent memory. Indelible stores sessions encrypted on the BSV blockchain so returning sessions restore instead of rebuild. How much energy does that replacement actually save? Every number below traces to one of four measurement reports (Tasks A–D): local scripts run against real transcripts and save receipts on this machine, plus primary-source-verified published energy baselines.
message.id; usage blocks verified to repeat across lines). Totals from API-reported usage fields: 12.59B input-side tokens processed (3.04M uncached input + 286.8M cache-creation + 12.30B cache-read — 97.7% of all input-side tokens are cached-context re-reads) + 51.2M output tokens. Mean input-side context per API call: ~514k tokens.ENERGY_STUDY_APPENDIX_RECEIPTS.md.Rebuild-vs-restore is an input-context question, so per-query chat medians (0.24–0.34 Wh, short prompts) cannot be applied flat. We derive a per-input-token band from Epoch AI's two published long-context points:
Basis: 0.25–0.40 mWh per input token that must actually be (re)computed (ESTIMATE — Epoch's own modeled figures; the upper slope reflects superlinear attention cost). We apply this band only to tokens forced through fresh computation (re-derived context; restore-boundary first calls). We deliberately do not energy-convert the 12.30B cache-read tokens: cached re-reads are cheaper per token and no verified published figure quantifies the discount (Task A/D caveats). The long-context regime is exactly where input dominates query energy (prefill 67–84% of total when input ≫ output — Task D, verified), so pricing the input side is the honest lens for this workload.
Arithmetic (script synth-arith.mjs in the study scratchpad, run against the task-report figures):
Per returning-session event (n=79 measured boundaries; token figures exact from API usage):
| Measure | Tokens (measured) | Energy (ESTIMATE, Epoch band) |
|---|---|---|
| Live context replaced (median / mean) | 971,805 / 911,146 | 225–360 Wh to re-derive cold |
| Rebuilt context after restore (median / mean) | 71,266 / 89,874 | 18–43 Wh |
| Measured live restore event (2026-07-15) | 658,731 → 106,621 | — |
| Net saving per event | ~900k tokens avoided | ~183–342 Wh ≈ 540–1,400 median chat prompts (at 0.24–0.34 Wh each) |
Compression ratios — the measured evidence that distilled memory replaces raw context:
load_context/recall_context call — vs 7.9M tokens of file-read/search results accumulated in the same session's cold re-derivation (replicated: 6.7M in a second session). A restore injection is 3–4 orders of magnitude smaller than the session's total re-derivation reading.Measured window totals (79 events, May 4 – Jul 15): 71.98M tokens of context replaced vs 7.10M tokens of post-restore first calls (both exact sums) → ~16–26 kWh net avoided in 10 weeks (ESTIMATE via the band).
Extrapolated per year for this heavy user (measured cadence 1.1 boundaries/day → ~400/yr):
Measured on one real power user's complete 5-month AI workload (5,289 sessions and ~262,000 messages persisted to the BSV blockchain; 12.6 billion input-side tokens across 24,506 API calls in 14 local transcripts), every return-to-work event replaces a median 971,805 tokens of accumulated working context with a 71,266-token restored one — a measured 12.3× compression, with the carried memory summary itself ~208× smaller than the context it replaces, and Indelible's on-chain restore injections smaller still at 0.35k–2.6k tokens versus ~7.9 million tokens of cold file-re-reading per long session. Converting only the avoided recomputation at Epoch AI's published long-context rates (2.5 Wh per 10k, 40 Wh per 100k input tokens), each restore-instead-of-rebuild event nets an estimated ~183–342 Wh — the energy of roughly 540–1,400 median chatbot queries at Google's measured 0.24 Wh and OpenAI's reported 0.34 Wh — which at this user's measured cadence of 1.1 events/day extrapolates to ~73–137 kWh of inference energy avoided per year for a single heavy user, net of the restore calls themselves. These are one user's measured numbers under estimate-labeled published conversion rates, covering inference only (itself an estimated 80–90% of AI compute), and make no use of unverified viral datacenter statistics.
Sources: Task A (transcript usage analysis), Task B (on-chain corpus), Task C (compaction census + rederive-vs-restore), Task D (primary-source-verified baselines). Conversion arithmetic: scratchpad/energy/synth-arith.mjs. Estimates are labeled; all before/after context token figures are exact API-reported usage.