Source: Tradium citing China customsSourcedTradium citing China customsOpen the source →kg · May 20263 (Apr 2026) → 6,200 (May 2026).How this is computedThe latest value in a series minus the value before it, divided by the earlier value, same series and unit.3 (Apr 2026) → 6,200 (May 2026).Method →Code → vs Apr 2026 · loosens
Source: Tradium citing China customsSourcedTradium citing China customsOpen the source →kg · May 20262 (Apr 2026) → 1,134 (May 2026).How this is computedThe latest value in a series minus the value before it, divided by the earlier value, same series and unit.2 (Apr 2026) → 1,134 (May 2026).Method →Code → vs Apr 2026 · loosens
Source: TrendForce News (citing Economic Daily News / industry estimates)SourcedTrendForce News (citing Economic Daily News / industry estimates)Open the source →wafers/month · Dec 202535,000 (2024) → 75,000 (Dec 2025).How this is computedThe latest value in a series minus the value before it, divided by the earlier value, same series and unit.35,000 (2024) → 75,000 (Dec 2025).Method →Code → vs 2024 · loosens
Source: Blooming Global citing China customsSourcedBlooming Global citing China customsOpen the source →t · Jul 2026352.8 (Jun 2025) → 647.3 (Jul 2026).How this is computedThe latest value in a series minus the value before it, divided by the earlier value, same series and unit.352.8 (Jun 2025) → 647.3 (Jul 2026).Method →Code → vs Jun 2025 · loosens
Source: TSMC 4Q25 earnings call transcriptSourcedTSMC 4Q25 earnings call transcriptOpen the source →USD bn · Q4 202540.9 (2025) → 11.5 (Q4 2025).How this is computedThe latest value in a series minus the value before it, divided by the earlier value, same series and unit.40.9 (2025) → 11.5 (Q4 2025).Method →Code → vs 2025 · tightens
Source: ASML Q4 2025 press conference presentationSourcedASML Q4 2025 press conference presentationOpen the source →units · 31 Dec 20255 (Q1 2025) → 8 (31 Dec 2025).How this is computedThe latest value in a series minus the value before it, divided by the earlier value, same series and unit.5 (Q1 2025) → 8 (31 Dec 2025).Method →Code → vs Q1 2025 · loosens
Source: Hitachi Energy (press release)SourcedHitachi Energy (press release)Open the source →USD bn · 15 Sep 20261 (Sep 2025) → 1.5 (15 Sep 2026).How this is computedThe latest value in a series minus the value before it, divided by the earlier value, same series and unit.1 (Sep 2025) → 1.5 (15 Sep 2026).Method →Code → vs Sep 2025 · loosens
Source: TSMC 4Q25 earnings release (SEC Form 6-K exhibit)SourcedTSMC 4Q25 earnings release (SEC Form 6-K exhibit)Open the source →USD bn · 202642 (2025) → 56 (2026).How this is computedThe latest value in a series minus the value before it, divided by the earlier value, same series and unit.42 (2025) → 56 (2026).Method →Code → vs 2025 · loosens
Source: Daqo New Energy Q2 2026 results (SEC Form 6-K exhibit 99.1)SourcedDaqo New Energy Q2 2026 results (SEC Form 6-K exhibit 99.1)Open the source →USD/kg · Q2 20265.96 (Q1 2026) → 4.04 (Q2 2026).How this is computedThe latest value in a series minus the value before it, divided by the earlier value, same series and unit.5.96 (Q1 2026) → 4.04 (Q2 2026).Method →Code → vs Q1 2026 · loosens
Source: ASML Q2 2026 financial resultsSourcedASML Q2 2026 financial resultsOpen the source →units · Q2 202667 (Q1 2026) → 86 (Q2 2026).How this is computedThe latest value in a series minus the value before it, divided by the earlier value, same series and unit.67 (Q1 2026) → 86 (Q2 2026).Method →Code → vs Q1 2026 · loosens
“Specifically, this update of the EU control list provides for the addition of new dual-use items, including: Semiconductor manufacturing and testing equipment and materials (e.g. Atomic Layer Deposition equipment for molybdenum and Ruthenium, equipment for the development and the inspection of Extreme Ultra-Violet masks and reticles, and single wafer cleaning equipment)”
2026-09-10
TightensPolicyCN
China’s November export controls will test whether rare-earth refining and recycling outside it can scale.
“For decades, China has been the dominant supplier of the rare earths required to produce sintered neodymium-iron-boron (NdFeB) magnets: neodymium-praseodymium (NdPr), dysprosium and terbium.”
2026-03-27
TightensPolicyEU
The European Commission opens a safeguard investigation into imports of grain-oriented electrical steel.
“on March 27, 2026, the European Commission issued a notice initiating a safeguard investigation on certain Grain-Oriented Electrical Steel (GOES) products.”
2025-11-07
LoosensPolicyCN
China suspends the export-control package it issued a month earlier, including its gallium measures, until November 2026.
Scenarios from the record: an export halt or an outage, traced to the bottlenecks and companies it reaches.
China halts gallium exportsBasis: China suspends the export-control package it issued a month earlier, including its gallium measures, until November 2026. (2025-11-07)
ASML cannot shipBasis: ASML plans to ship more than 60 EUV scanners in 2026, high-NA and low-NA together, on memory demand. (2026-04-15)
Ukraine’s neon goes offline againBasis: TSMC moves to build a neon supply chain in Taiwan after the war in Ukraine cut global supply. (2022-11-10)
Qatar’s helium stopsBasis: The war that began in Iran in February triggers a helium shortage that could slow chip production. (2026-03-18)
Japanese photoresist supply stopsBasis: Japanese photoresist makers warn Samsung and SK hynix that the Iran war has cut supply of the solvents the chemistry needs. (2026-04-23)
The Quartz Corp closesBasis: The Quartz Corp indefinitely closes one of its Spruce Pine plants, the most concentrated node in the chain. (2026-06-30)
Korea’s HBM lines stopBasis: Foreign-produced direct product rule additions, including controls on high-bandwidth memory (2024-12-05)
Computed: For each resolved holding: the bottlenecks its companies hold (maker, capacity or part supplier), the ones a filing says they need or sell into, and everything upstream of a held or needed rail through recorded "needs" rows.Computed: Sum of the weights of the holdings that touch a rail, divided by the sum of the weights of all resolved holdings. With no weights given, every holding counts equally.Computed: For each country: the share of portfolio weight on a rail whose every recorded maker operates there, and the share on a rail with at least one recorded maker there. Part suppliers are not makers.Computed: Direct hits: bottlenecks where the failed node is a maker, a part supplier or the location. Makers wholly inside it are lost; makers also operating elsewhere are partly affected; the rest remain. Downstream: every bottleneck that needs a hit one, transitively, through recorded rows. Exposed: holders of hit and downstream bottlenecks and companies a filing says need or sell into them.Computed: The country’s recorded annual production divided by the recorded world total for the same year and unit, from config/substrata-quantities.ts (USGS).Computed: Rows that held over rows looked at, pooled across every check of that criterion for that dataset, rounded down to a tenth of a percent.Computed: The mean of the criterion scores that could be measured for the dataset.Computed: Rows: judged by the dataset’s first provenance check. Sourced: share of those that pass it. Verified: rows re-derived from their source by a network look, over every row such a look covers. Stale: rows past their declared age. Broken: source links that failed three tries.Computed: Tokens per UTC day on this site's free AI keys, summed per class: interactive (Ask and fact-checks, a reader waiting) and background. Background is zero from 2026-09-25: no scheduled job may call the free models, and test/no-free-background-ai.test.ts fails the build if one tries. Drafting runs on readers' own keys and is not on this ledger.Computed: Over every Ask question in the last 24 hours that got an answer: the 50th and 90th percentile (continuous, PostgreSQL percentile_cont) of milliseconds from the request reaching the server to the first answer text streamed, and to the finished answer.Computed: Count of rows in the bottleneck corpus: every material plus every non-material chokepoint.Computed: Count of bottlenecks whose assessed horizon is "now".Computed: Sum of four judged scores, each 0–3: concentration + substitution + lead time + inelasticity.Computed: Count of (bottleneck, producer) pairs across every material in the corpus.Computed: Producer rows counted by verification state from the corpus: sourced (an accepted primary source is linked) or unverified (none yet). Unchecked pages: open rows in the producer-sourcing queue, counted live from the database.Computed: Count of rows in the market-participant directory.Computed: Count of bottlenecks on which this organisation is recorded as a producer, a holder of the capacity, or a supplier of a critical part.Computed: Accepted events that name this organisation, plus (counted separately) accepted events on a bottleneck it holds that do not name it.Computed: Count of policy instruments in the corpus; each one links its official text.Computed: Count of science entries: technologies recorded as able to relieve a named bottleneck.Computed: Accepted events whose date falls within the last N days of today.Computed: Leads in the research sweep’s queue that no person has read yet and that have not expired, counted live from the database.Computed: Waiting: open sweep leads — no reviewer decision, not expired. Oldest: whole days since the earliest open one was found. Drafts ready: waiting leads whose AI draft suggests an event and passed the checks.Computed: Count of bottlenecks tagged with that technology, industry or stage.Computed: Number of distinct country codes on the rows being counted (makers, or rules).Computed: Rules counted by the effect recorded on each: "tightens" slows building, "loosens" speeds it; a rule recorded as both ways is counted in neither.Computed: Rules with at least one proponent: an organisation that asked for it in a document linked on the row.Computed: A judged level on a nine-step scale from "idea with a physical basis" (1) to "in production at scale" (9).Computed: Technologies tracked = science entries; bottlenecks addressed = distinct bottlenecks named as relieved by any entry; reaching production = entries judged 8 or 9; sourced = entries whose readiness cites a source.Computed: Kinds = rows in the capital-kinds list; providers = named funders, each linking its own mandate page; assessed = bottlenecks with a funding judgement; "money is not it" = those judged "not-money".Computed: Open = calls without a resolution; resolved = right + wrong + unclear; overdue = past the resolve-by date and not yet marked; hit rate = right ÷ (right + wrong), published only once enough calls have resolved.Computed: Bottlenecks on that stage of the loop, and how many of them have every producer row sourced.Computed: The highest severity score among the bottlenecks recorded as gates on the loop.Computed: Count of explainer files in content/learn, and of entries in the glossary.Computed: A place's annual production ÷ the published world total, same unit and year.Computed: Sum of the squares of each producer’s share of world output (0–1).Computed: Published reserves ÷ annual production, same place, unit and year.Computed: Accepted events in the last 90 days that tighten it, minus those that loosen it. Neutral events count for neither.Computed: One row per (bottleneck, holder) after the screen’s filters; the bottleneck count is the distinct bottlenecks among those rows.Computed: Organisations recorded on a bottleneck (maker, capacity holder or part supplier) whose shares, or a parent’s, trade on an exchange found in the SEC ticker file or OpenFIGI.Computed: Items per stage = papers, preprints and grants collected for the bottleneck whose relevance score is 2 or more, placed on a stage by the rule in lib/science.ts; judgements are counted separately.Computed: Items first collected in the last 7 days whose publication or award date is within the last 30 days.Computed: Items per institution per bottleneck, counting each item once per institution named on it by the source; a company is matched to the directory only when every distinguishing word of both names agrees.Computed: The latest value in a series minus the value before it, divided by the earlier value, same series and unit.Computed: Count of dated values in a series, or of series matching the filters, across the committed corpus and the official statistics fetched on schedule.Computed: Count of postings currently listed on the public job boards Substrata reads, after the page’s filters. By default software and business roles that name no bottleneck are left out; "Every role" puts them back.Computed: A posting is filed under a bottleneck when its title names one of that bottleneck’s terms, or its description names them at least twice (title only for software and business roles); its role family is the first family whose title terms its title names.Computed: For each skill or credential in the published list, the number of open postings whose title or description names any of its terms.Computed: Count of programmes in research/learning-paths.json, each with the official page it was checked on.Computed: A feed is fresh within one scheduled interval plus half an interval (at least 20 minutes) of its last good run, late up to three intervals, stale beyond; failing when its newest failure is newer than its last good run.Computed: Now minus the finish time of the last good run (feeds), or whole UTC days since the date the committed file records it was checked (datasets).Computed: A sweep lead is open while nobody has reviewed it and it was found less than 30 days ago; unreviewed and 30 days or older, it is expired. The review queue is open leads only: late when its oldest has waited more than 7 days, stale past 31.Computed: Position of a country when the countries USGS lists individually are sorted by the same column, largest first; equal values share a rank.Computed: Latest year ÷ the year before − 1, same country, same column of the same table (USGS or EIA).Computed: A country's resources are ordered by its largest share of world output on any production column of each table (e.g. palladium within PGMs).