# Charts plan for slides v4

For Jacob Steeves' keynote, Exploit Conference, Montreal, 28 September 2026. Written 21 September 2026, seven days out. Order follows `docs/structure-b.md`. Every series below lives in one file in the deck repository, `content/data.json` (branch `slides-site`); edit that file on 27 September, run `npm run slides`, and every chart re-renders. Nothing is drawn from a chart library. Each figure is inline SVG built from the series at page load.

## Rules for every figure

- Black on white, or white on black. One grey (`#8e8e8e`) for the secondary series or the secondary label. Nothing else.
- No gridlines, no axes unless the axis is the point, no legend. At most two data labels plus one annotation sentence.
- One figure per slide at most. Eleven slides carry a figure; fifteen do not. Slide numbers and titles follow `docs/slides-draft-v4.md`, whose titles are the `[Slide: …]` cues of `docs/thesis-v3-script.md`.
- Every number on a figure has a source and a date in `content/data.json` and is listed in the "Live values" table of `docs/research/factcheck-slides-v2.md` or in `docs/research/ecosystem-as-empowerment.md`.
- [VERIFY] marks a number to re-pull on 27 September. [JACOB] marks a number only Jacob can supply.

## The eleven figures, in deck order

### 1. The year of the merger (slide 3, "5:21 pm", section 2, 3:00)

- **Purpose.** Show that the switch, the exam, the pact and the bill happened in one summer, each called safety.
- **Series** (`data.json → timeline2026`). Dated events, 12 June to 28 September 2026:
  - 12 Jun: a letter at 5:21 pm; a lab switches its model off for everyone; 18 days under the order. Source: anthropic.com/news/fable-mythos-access (12 Jun 2026); redeploying-fable-5 (30 Jun 2026).
  - 14 Jul: the exam. "Frontier Models would be required to pass it to be deployed in the US market." Source: x.com/demishassabis/status/2076957440109625718.
  - 21 Jul: the lab that ran ExploitGym confirms the agents left the sandbox. Source: openai.com/index/hugging-face-model-evaluation-security-incident/ (21 Jul 2026); Hugging Face disclosure 16 Jul.
  - 23 Jul: the kill-switch bill, H.R. 9917, introduced. Source: congress.gov.
  - 11 Sep: a Senate draft with a power to block a release. Source: Reuters, 11 Sep 2026.
  - 12 Sep: "We Must Pace the Frontier"; two rivals endorse within three hours. Source: darioamodei.com; post timestamps 14:01, 15:01, 16:30 UTC.
  - 28 Sep: this room.
- **Chart type.** One horizontal line, June to September, ticks at each date, date above and three-word label below. Today's date is the last tick, hollow.
- **Annotation.** "Every step is called safety."
- **[VERIFY]** Whether the Senate bill text has been published by 27 Sep; if so, the 11 Sep tick becomes the publication date.

### 2. US labor share, 1947 to 2026 (slide 7, section 3, 10:30)

- **Purpose.** Show the hands losing weight: the share of output paid for work is the lowest since the series began.
- **Series** (`data.json → laborShare`). BLS nonfarm business labor share. Verified anchors: Q1 1947 65.8; Q4 2000 62.8; Q4 2011 56.0; Q4 2025 54.4; Q1 2026 53.7; Q2 2026 52.9 (preliminary). Source: bls.gov/news.release/prod2.htm (6 Aug 2026); BLS TED 2017. Intermediate points are the shape of the series by decade and are marked `verified: false` in the file.
- **Chart type.** One black line, no gridlines, two labelled dots.
- **Annotation.** "Lowest since the series began in 1947."
- **[VERIFY]** Q2 2026 revision on 27 Sep (BLS revised release, early September). Replace the unverified intermediate points with the BLS series PRS85006173 if there is time; the two labelled anchors are the ones that matter.

### 3. Every company becomes small (slide 6, "35 → 4", section 3, 9:30)

- **Purpose.** Show, on one axis, how few people the most valuable companies now need, next to the employers that once shared what they made through a payroll.
- **Series** (`data.json → headcounts`). People on the payroll, log scale:
  - Opentensor Foundation, 2022: 35 [JACOB]. Opentensor core team, 2026: 4 [JACOB]. Source: Jacob, 14 Sep.
  - Anthropic, 2026: about 5,000 (trackers 2,300 to 5,200; valuation $965B post-money, 28 May 2026). Source: anthropic.com/news/series-h; Fortune, Revelio, Crustdata.
  - OpenAI, 2026: about 7,800 (Revelio, Mar 2026; 4,500 core per CB Insights). Valuation $852B (31 Mar 2026).
  - NVIDIA, FY2026: 42,000. Source: 10-K.
  - General Motors, 1979: 853,000. Source: CBS News GM timeline; Spokesman-Review, 2 Jun 2009.
  - Walmart, FY2025: 2,100,000. Source: Walmart 10-K.
- **Chart type.** Dot plot on one horizontal log axis. Labs in black, the old giants in grey. The two Opentensor dots are joined by a short arrow.
- **Annotation.** "One of these is worth about a trillion dollars."
- **Why not value per employee.** The brief asked for value per employee. GM's 1979 market value is not in any verified file, and a valuation per head for a private lab moves with each round. Headcount is verified for every dot and makes the same point. Value per head stays in the notes: Anthropic about $190 million of valuation per person; Walmart about $324,000 of revenue per person.
- **[VERIFY]** Headcount trackers on 27 Sep; keep "about" on the two labs. [JACOB] both Opentensor figures, the year, and the entity, before this goes on screen.

### 4. The two checks (slide 8, "The money cannot leave", section 3, 11:30)

- **Purpose.** The hinge of the argument in four cells: what held the state in check for three hundred years, and what AI does to each.
- **Series** (`data.json → checks`). Rows: The money; The hands. Columns: For three hundred years; Now. Cells: could leave / cannot leave; could stop / are not needed. Sources for the words: Montesquieu XXI.20; Tilly 1975; Forged Through Fire 2016 (left column); `docs/trajectory.md` steps 3 and 4 (right column).
- **Chart type.** A 2×2 grid drawn with hairlines. Left column grey, right column black.
- **Annotation.** "The two things that kept the state honest are sitting in its lap."
- **[VERIFY]** None. Words, not numbers.

### 5. The exit is not a place (slide 11, section 4, 18:30)

- **Purpose.** Show Bitcoin as the shield: one line that has run since 2009 and never been switched off, with everything that could only exist because it exists stacked on top of it.
- **Series** (`data.json → shield`). Base band: Bitcoin, 3 January 2009, running. Layers above, by launch year: Ethereum 2015; stablecoins 2014; DeFi 2020; Bittensor 2021 (mainnet 3 January 2021).
- **Chart type.** Layered diagram: a wide black band at the bottom spanning 2009 to today; thinner bands above it starting at each year, labelled once, grey.
- **Annotation.** "The shield does not need to be the biggest thing. It needs to be unbreakable."
- **[VERIFY]** The launch years for Ethereum (30 Jul 2015), Tether (2014), DeFi (2020 as a convention) and Bittensor mainnet (3 Jan 2021) are common knowledge but are not in the fact-check file. Check each once before 27 Sep.

### 6. The lock (slide 14, "Energy abhors a gradient", section 4, 23:00)

- **Purpose.** Show the difference between a lock cut wrong and a lock cut right: ExploitGym's energy went out the side; a subnet's lowest point is the commodity.
- **Series** (`data.json → lock`). Two labelled shapes, not data: left, "ExploitGym": a well with no bottom and a side path out; right, "A subnet": a closed well whose floor is labelled "the commodity", the side path re-cut. Words from Jacob's 4 Nov 2025 thread and `docs/harness-the-exploit.md` §3.
- **Chart type.** Two potential-well curves side by side, black stroke; the leak path in grey with an arrowhead; the re-cut path as a short closed stroke.
- **Annotation.** "Energy abhors a gradient." (Jacob, 4 Nov 2025.)
- **[VERIFY]** None. The ExploitGym numbers (1,200 agents, 70,000 messages, four hours, six thought of telling) are spoken, not drawn, and are checked in `harness-the-exploit.md` §2.

### 7. Affine One, honestly (slide 16, section 5, 26:30)

- **Purpose.** Show where Affine's base model sits against the frontier on one public coding benchmark, and say plainly what Affine has not yet measured.
- **Series** (`data.json → affineBenchmark`). SWE-bench Verified, maker-reported: Claude Opus 4 (22 May 2025) 72.5; Qwen3.6-35B-A3B, Affine's base (16 Apr 2026) 73.4; Claude Sonnet 4.5 (29 Sep 2025) 77.2; Claude Opus 4.6 (5 Feb 2026) 80.8. Affine fine-tunes: no public score. Source: `docs/research/affine-neurips-factcheck.md`, comparison table; Anthropic announcements; Qwen model card.
- **Chart type.** Four horizontal bars, sorted by score; the base in black, the closed models in grey; a fifth, empty row for "Affine One fine-tune" with a hairline and the words "no public score".
- **Annotation.** "The base already does what the frontier did a year ago. We are behind. There is no denying it."
- **[VERIFY]** Whether the Affine team publishes a SWE-bench Verified score for a crowned king before 27 Sep; if so, add the bar, in black. Never say "on par with Opus 4.6".

### 8. Layer by layer (slide 17, "What has been built", section 5, 28:00)

- **Purpose.** Show the stack in Jacob's own five layers, each with a live market and one checkable number, so "in unison" is a picture and not a claim.
- **Series** (`data.json → layers`). From `ecosystem-as-empowerment.md`, "One-slide layout":
  - Compute: Lium SN51, Targon SN4. 1,449 GPUs listed, 1,227 rented (17 Sep); $964K billed in a month (9 Sep).
  - Inference: Chutes SN64, Engy SN53. 2.4M requests a day (7-day average to 16 Sep); a 2.8T-parameter model on 80 gaming cards (27 Jul).
  - Data: Hippius SN75. 100 TB of egress in a month, billed $0 (8 May).
  - Knowledge: Teutonic SN3. A 110B-parameter permissionless training run (24 Aug); not finished.
  - Free intelligence: Affine SN120. Five open slots, about $50,000 a week each (23 Aug).
- **Chart type.** Five stacked bands, bottom to top, layer name in black, subnets in grey, one number right-aligned in mono.
- **Annotation.** "No account. No ID. No permission."
- **[VERIFY]** Every number on 27 Sep: lium.io/api/executors/stats; api.chutes.ai/invocations/stats/llm; the Teutonic dashboard (say "right now" only if live). Cacheon (SN14) is not on the figure until Jacob confirms name and netuid [JACOB].

### 9. The honest count (slide 19, "128 · 23 · 72 · 33", section 5, 31:30)

- **Purpose.** Show all 128 markets in one bar, including the ones that have not found a customer and the ones that have stalled.
- **Series** (`data.json → subnetCount`). 128 subnets on 17 Sep 2026: 23 live with paying customers; 72 live without evidence of paying customers; 33 stalled or empty. Source: `ecosystem-as-empowerment.md`, Deliverable 1.
- **Chart type.** One stacked horizontal bar, full width. Paying in black, live-without in grey, stalled as a hairline outline. Three numbers beneath the segments.
- **Annotation.** "A market that lets things fail is the point."
- **[VERIFY]** Re-count on 27 Sep against taostats and the map; the total may not be 128 if a slot deregisters.

### 10. Where the vote went (slide 20, "What a holder gets", section 5, 32:30)

- **Purpose.** Show bottom-up voting as a number that moved: the share of all TAO sitting on the passive root pool fell from 70% to 47.5%, and about 2 million TAO was placed by holders into specific markets.
- **Series** (`data.json → rootShare`). On-chain, archive node, `ecosystem-as-empowerment.md` §3.4:
  - 13 Feb 2025: 70.0% (dTAO launch, block 4,920,351); 21 Apr 2025: 65.9%; 15 Jul 2025: 64.9%; 6 Oct 2025: 59.4%; 15 Dec 2025: 53.9% (first halving); 8 Mar 2026: 49.3%; 30 May 2026: 48.4%; 18 Aug 2026: 47.7%; 17 Sep 2026: 47.5%.
  - TAO in subnet pools, 17 Sep 2026: 2,007,889 (17.4% of supply, about $453M at $225.60).
- **Chart type.** One black line, nine points, two labelled dots.
- **Annotation.** "About 2 million TAO moved by holders into markets. Nobody approved it."
- **[VERIFY]** Root stake and `SubnetTAO` totals on 27 Sep. Say the critique in the notes: the move was flat after March 2026, and the top ten markets take about 61% of new TAO.

### 11. Nobody can be sent the letter (slide 22, section 5, 35:00)

- **Purpose.** Grade the three layers honestly so the key confession is a diagram, not an apology: two layers decentralized, one centralized, with a deadline.
- **Series** (`data.json → decentralizationGrade`). Production: decentralized; concentrated like Bitcoin's hashrate (three pools mine more than half; none can print a coin; mempool.space, 17 Sep). Funding: decentralized by construction; protocol emissions, about 3,555 TAO a day. Control: centralized; one key, a multisig that runs through Jacob; date: December 2027 [JACOB]. Source: `project-context.md`, decentralization under this angle; factcheck S19-1 to S19-4.
- **Chart type.** Three rows. A filled black square for decentralized, a hollow square for centralized; the layer name; one grey line each.
- **Annotation.** "The third has a deadline."
- **[VERIFY]** Bitcoin pool shares (moves weekly). [JACOB] the date, and the nominated-proof-of-stake target, before either is spoken.

## Kept as text, not as a figure

- **The 2024 tweet (slide 21).** Set as plain text in the deck typeface, not a screenshot. A screenshot shows it is a reply inside a longer post and invites the room to read the thread instead of the sentence. The date line reads "Missed. New date: December 2027." until Jacob confirms or changes it in `content/data.json → keyDate` [JACOB]; the notes carry the badge.
- **The three pillars (slide 23) and the list (slide 24).** Three sentences in a column. Drawing three pillars adds nothing the words do not say, and the third pillar still needs Jacob's three sentences [JACOB]. The list is four rows with a date lead; three leads read "date to confirm" until Jacob supplies them.

## Rejected, and why

1. **Value per employee as a dot plot** (Anthropic, OpenAI, NVIDIA vs GM 1979, Walmart). Rejected in that form. GM's 1979 market value is not in any verified file, and mixing valuation per head for private labs with revenue per head for Walmart puts two different numbers on one axis. Replaced by figure 3, people on the payroll, which is verified for every dot and makes the same point. The per-head arithmetic stays in the notes.
2. **The four checks as a table with what AI does to each.** Accepted as a 2×2 (figure 4), but the brief's "four checks" collapses to two rows: money and hands. There are two checks, each with a before and an after. Four cells, not four checks.
3. **The three pillars as a figure.** Rejected as a drawing. See above.
4. **The 2024 tweet as a screenshot.** Rejected as a screenshot. See above.
5. **A Bitcoin mining-pool chart** (three pools, more than half of blocks). Not requested, considered, rejected. The concentration is a spoken concession on figure 11 and a chart of it would look like a warning about Bitcoin on the one slide where Bitcoin is the shield.
6. **A revenue-versus-emissions bar** (about $17M checkable against about $294M paid out). Considered, rejected. It is the most important honest number in the deck and it belongs in the notes of slide 19, said out loud with the count. On a screen next to the 23/72/33 bar it would read as two bad-news charts in a row and the room would stop listening before the root-share slide.

## What to do on 27 September

1. Open `content/data.json` in the `slides-site` branch.
2. For each series, re-pull the number from the source URL in the same entry and update `value` and `asOf`.
3. Run `npm run slides` and `npm run build`; open the deck locally and check slides 3, 6, 7, 16, 17, 19, 20 and 22.
4. Run `npm run deploy`.
5. Confirm with Jacob: the two Opentensor headcounts (figure 3), the key date (figure 11 and slide 22), Cacheon (figure 8).
