Corrections & changes

Corrections & changes

When an entry gets something wrong, the fix is logged here — what it said, what it says now, and when it changed. Site fixes worth knowing about are logged below.

AI education

The where to study AI resource and its forty-eight university pages are checked on a schedule rather than when someone notices. Link integrity runs monthly through a scheduled job; ranking positions, founding years and programme details are re-read against their sources by hand, because nothing can verify those automatically and a job that pretended to would be worse than none.

Every change to the dataset is logged below, including additions.

Universities

26 July 2026 — created. Forty-eight institutions across the United States, United Kingdom and China. Ranking positions from the QS Data Science and Artificial Intelligence table for 2026 and the CSRankings 2025 and 2026 editions. Founding years, programme names and reference links verified against each institution's own pages on this date.

No changes since creation.

Article sources

26 July 2026 — Territories 5 and 6 complete. All twelve domain articles and all five incident-record articles now carry the primary documents behind their claims, along with the COMPAS piece. Between them: a tribunal decision, an SEC filing index, two randomised-trial reports, an impossibility proof, a device authorisation list, a court-sanctions database, a census survey, federal model-risk guidance, two investigations and three incident registers.

Five citations ship without a link, and each says why. Reuters restructured its archive and no canonical URL for the 2018 Amazon piece resolves. The EBU and BBC study was published jointly rather than at one address. The customer-service figures come from vendor reporting rather than an independent audit, and the article says so rather than dressing that as a finding. In every case the document is named precisely and the absence is stated, because a link to somebody's summary would look like sourcing while quietly replacing the record.

76 articles remain unsourced, and most of them should stay that way. Two still make dense numerical claims. The rest are explainers whose claims are conceptual rather than measured, and attaching a sources block to those would be decoration: a citation that supports nothing in particular is worse than an honest blank, because it borrows authority without carrying evidence.

Link integrity is checked monthly across every outbound URL the site publishes as a fact. A dead citation is treated as more serious than a dead directory entry, because it makes a measured claim uncheckable.

What gets logged here

Additions. A new institution or programme, with the date and the sources checked.

Removals. A programme that has closed or an institution dropped, with the reason.

Ranking movements. When a new edition of either table publishes and a position changes.

Dead links. The monthly job opens an issue naming any URL that stopped resolving. The fix and its date appear here.

And corrections. A founding year, programme name or claim found to be wrong, in the same old-wording, new-wording format as the rest of this log.

What will not appear: tuition fees, acceptance rates and entry requirements, because they are not on the page. They change annually, cannot be verified at scale, and every entry links to the institution's own admissions page where they are current.

How this log works

Entries are checked against their sources as part of ongoing editorial review, and anything substantively wrong gets fixed and recorded here. Typos and formatting don't make the log; wrong claims do. Each item shows the old wording, the new wording, and the date it changed. If you spot an error, report it — confirmed corrections are logged with credit if you want it.

July 18, 2026

ROC-AUC — wrong lower bound. Was: "One number, between 0.5 (coin flip) and 1.0 (perfect)." Now: "1.0 is perfect, 0.5 is a coin flip, and below 0.5 means the model is worse than chance — its scores are systematically inverted, and flipping them would do better." AUC's floor is 0.0, not 0.5. A classifier can rank worse than chance.

Retrieval-Augmented Generation — clarified what the founding paper actually describes. Was: the Lewis et al. (2020) citation read simply "the paper that named it." Now: it adds that the paper describes a different system to today's — a DPR retriever and a BART generator fine-tuned jointly, not a frozen model with retrieved text in the prompt. The name survived; the architecture didn't.

July 17, 2026

Prompt Engineering — a "first" the cited paper itself contradicts. Was: in-context learning "was first demonstrated at scale" by GPT-3. Now: GPT-3's contribution was few-shot in-context learning at scale, and the name — its own paper credits GPT-2 (Radford et al., 2019) with demonstrating zero-shot task transfer.

Perplexity — cited a problem, omitted the same paper's answer. Was: Ouyang et al. (2022) cited for "the alignment tax; usefulness up, perplexity worse." Now: the note adds that the paper largely resolves the tax it names — mixing pretraining gradients into RLHF (PPO-ptx) removes most of the regression.

July 16, 2026

k-Nearest Neighbours — a folk law stated without its condition. Was: "As dimensions grow, distances concentrate: the ratio between the nearest and farthest neighbour tends toward 1" — stated as unconditional, and repeated in the summary card ("Breaks on — high dimensions, where distances concentrate"). Now: Beyer et al.'s result carries a condition close to i.i.d. dimensions, and Durrant & Kabán proved the converse — distances don't concentrate at any dimensionality when the relevant dimensions grow with the total. The enemy is irrelevance, not dimension. Corrected in the depth text, the summary card, and the source note.

July 15, 2026

Word2Vec — the doctor-nurse analogy is an artifact. Was: "the same geometry that gives you king − man + woman ≈ queen gives you doctor − man + woman ≈ nurse." Now: Nissim et al. (2020) showed the analogy returns doctor unless the evaluation forbids repeating input words — the same hidden constraint that manufactures the queen result. The entry keeps what survives: bias in embeddings is real; the analogies were never the evidence for it.

July 14, 2026

Scaling Laws — deleted a refuted explanation. Was: the entry repeated Hoffmann et al.'s suggestion that the Kaplan/Chinchilla discrepancy came from learning-rate schedules — "a difference in the learning-rate schedule turned out to matter enormously." Now: the claim is gone, not footnoted. Porian et al. (2024) traced the gap to FLOP counting, warmup length, and optimizer tuning instead.

July 13, 2026

Citation years — preprint dates replaced with published dates. Was: several entries cited papers by their arXiv year — Holtzman et al. as 2019, Bahdanau et al. as 2014, He et al.'s ResNet paper as 2015, LoRA as 2021, the ViT paper as 2020, among others. Now: all cite the published year and venue — Holtzman is ICLR 2020, Bahdanau is ICLR 2015, ResNet is CVPR 2016, LoRA is ICLR 2022, ViT is ICLR 2021. House rule going forward: the published version is the citation.


The map

The concept map is the part of this site that changes most and explains itself least, so its history is recorded here separately. Entry corrections are above; this is structural.

July 24 — five final concepts, and the cap. Pragmatics, Compositionality, Symbol Grounding, Reproducibility and Continual Learning brought the graph to 275 nodes, which is the ceiling set when the corpus was planned. Any further concept now requires retiring one, deliberately, rather than growing the map until it stops meaning anything.

26 July — the ceiling raised to 279, after checking whether anything deserved retiring. The incident record generated a vocabulary the graph did not contain: sixteen terms with standing in the literature, none present as nodes. The stated rule was to retire one for each addition, so the graph was measured first. The thinnest node runs 384 words with six connections and six sections, against a median of 648, and nothing sits under half the median depth. There was nothing weak to retire, which makes the swap rule the wrong instrument here. Four nodes added instead: automation bias, distribution shift, construct validity and external validation. Each is established in the literature rather than coined here, each carries five depths with sources and flashcards, and nine articles now cite one. 26 July, second addition: contestability, taking the ceiling to 280. It has standing in the governance literature, was already a glossary entry, and the Robodebt article turns on it. The other four terms that article introduces are its own framing of a mechanism rather than established concepts, so they went to the glossary and not the graph. 30 July, Territory 7 opens and the ceiling moves to 282. The graph held 280 concepts about artificial intelligence and no node for robotics, which is a gap rather than a judgement, and none for teleoperation, which is the distinction that makes an autonomy claim checkable. Both are established fields, both are now cited by an article, and three further terms that article introduces, environment engineering, intervention rate and open-ended variation, are its own framing and went to the glossary. 30 July, second Territory 7 article, ceiling to 284. Autonomous vehicle had no node, which is the same kind of gap robotics was, and operational design domain is formalised in SAE J3016, applies to every deployed model rather than only to vehicles, and is the concept the Waymo article turns on. Four further terms went to the glossary. 30 July, third Territory 7 article, ceiling to 285. One addition: pre-registration, which was already a glossary entry, has standing across research methodology, and is leaned on repeatedly by the corpus without ever having been a node. The surgical robotics article introduces no new field, since teleoperation and external validation were both added in the previous two rounds, and three further terms went to the glossary. 29 July, agricultural robotics: no addition. The check ran and returned nothing. Robotics, operational design domain and distribution shift, which the article leans on, were added in the preceding three rounds; irreversible failure and co-design are that article's own framing; force control is a subfield rather than a concept the corpus uses elsewhere. Four terms to the glossary and none to the graph. A round that adds no node is the rule working, not the rule being skipped. The ceiling stands at 285.

28 July, warehouse robotics: no addition either. Construct validity, external validation and automation bias, which the article leans on, are already nodes. Ergonomics is a real discipline and the corpus touches it once, which is not enough to justify a node; substituted risk, metric divergence and rate pressure are the article's framing. Four terms to the glossary. Two consecutive rounds with no addition, which is what a ceiling with a rule attached is supposed to produce.

27 July, drone delivery, ceiling to 286. One addition: task redefinition. It failed the test as one article's framing and passes it now, because the same move appears across four Territory 7 articles in four forms: environment engineering for industrial robots, domain narrowing for vehicles, target standardisation for crops, and sub-task deletion for parachute delivery. An idea that unifies a territory is a node; an idea that explains one article is a glossary entry. Three terms to the glossary. The ceiling stands at 286.

26 July, domestic robotics: no addition, one amendment. The check returned something the rule had not anticipated. Task redefinition, created the round before with four forms, gains a fifth: tolerance widening, accepting a worse result far more often. It was found in the case where the other four are blocked, since a home cannot be rebuilt, barely narrows, cannot be standardised, and contains no sub-task to delete because in a chore the manipulation is the product. Amending an existing node is a better answer than adding one and it had not come up before. The node now carries five forms and the question of which task shapes the fifth fits. The ceiling stands at 286.

26 July, construction robotics: the check declined a tempting addition. Prefabrication looked like a sixth form of task redefinition, since the industry's real automation happens by moving work into factories. It is not one: a factory is environment engineering, achieved by changing location rather than contents. No addition and no amendment. Four terms to the glossary, including workspace as product, which is a condition on an existing form rather than a form itself. Declining an addition that would have made the framework look more complete is the point of having a rule. The ceiling stands at 286.

27 July, robot learning, ceiling to 287. The check found a gap that was not the article's framing at all: imitation learning had a glossary entry and no node, while reinforcement learning has had one from the start. It is a foundational paradigm, it is what nearly every useful robot was trained with, and the corpus has leaned on it repeatedly without ever defining it structurally. Four terms to the glossary. The most useful thing the check does is find omissions that predate the article prompting it. The ceiling stands at 287.

28 July, humanoid deployment, ceiling to 288. Citation decay was a glossary entry and the corpus has now hit it three times in three territories: the Amazon hiring case, the warehouse injury dispute, and circulated humanoid unit counts that do not originate with the companies they describe. Three appearances across unrelated subjects is the recurrence test, and it is also the mechanism this whole site exists to resist, which made its absence from the graph an odd omission. Three terms to the glossary. The ceiling stands at 288.

29 July, Territory 7 closes: no addition, one amendment. A synthesis introduces no concepts by construction, and the five forms, task shape, robotics, operational design domain and imitation learning were all added across the ten articles it closes. What it did earn was an amendment: the falsification test for task redefinition now sits on the node rather than only in an article. A framework that can describe anything after the fact is a description, so the node carries the deployment that would break it: more than a hundred units, materially different tasks without reconfiguration, an unmodified site, and a published intervention rate. A concept that cannot be wrong does not belong in a graph that claims to check things. The ceiling stands at 288.

29 July, Territory 8 opens: no addition, one amendment. The check found AI Energy Use already present and carrying none of the mechanism the new IEA figures establish. Rather than adding a Jevons paradox node beside it, the existing node was amended to carry three things: that the efficiency paradox is now documented rather than argued, with one operator cutting emissions 12% while absolute consumption grew 27%; that per-query framing is anchored to roughly 2% of the total on the IEA's own arithmetic; and that the global share conceals the local concentration that binds. Amending the node that already owns the subject beats adding one next to it. The ceiling stands at 288.

28 July, GPU depreciation, ceiling to 289. Load-bearing assumption passed the recurrence test across three territories: Zillow, where an estimate moved from advice to a bid without its error bar changing; Robodebt, where averaging assumed an even income distribution the population did not have; and hyperscaler depreciation, where two audited companies reached opposite conclusions about identical hardware weeks apart. Three distinct shapes of the same failure, in three unrelated subjects, is what a node is for. Four terms to the glossary. The ceiling stands at 289.

27 July, the EUV chokepoint: no addition, one amendment. The check found the GPU node naming vendor lock-in as the field's most obvious structural risk while saying nothing about the layer beneath it, where every accelerator below roughly 7nm is made on machines from a single supplier regardless of vendor or fab location. Semiconductor supply chain was considered as a node and declined: the corpus has touched it once, and one appearance is a glossary entry under the rule used for everything else. The node that was already almost right got the correction instead. The ceiling stands at 289.

26 July, AI revenue figures: nothing. The check returned no addition and no amendment, and the reason is worth recording. Citation decay, construct validity and load-bearing assumption are all already nodes, and all three do the work in that article. It applies three existing mechanisms to a fourth subject rather than introducing one, which is what a graph is for once it has been built properly. Four terms to the glossary. A round where the existing concepts explain the new material without extension is the graph working, not the graph stalling. The ceiling stands at 289.

30 July — the daily publishing cap was briefly raised to five and has been reverted. Every recent date sat at the four-article ceiling, so the cap was raised rather than filling one of the 56 earlier dates that still had room. That was the wrong call. The dates are a publishing schedule across a corpus built in bursts, not a log of when each draft was typed, and the schedule has gaps by design. The cap is back at four and the affected article has been moved into a gap.

30 July, inference prices: nothing, and the check found the node already there. Benchmark contamination, which the article turns on, has its own node and is cross-referenced from the Benchmark node. Milestone choice, margin compression and LLMflation are the article's framing or a coined term, and went to the glossary. The graph anticipated the article, which after 289 nodes is what should start happening.

14 July, AI water use, ceiling to 290. Scope boundary produced the clearest recurrence the check has found: four appearances across four territories. Customer service deflection against resolution, which count different events. Per-query electricity against sector total, where the first is about 2% of the second. A clinical model's overall accuracy against its performance on cases clinicians had already missed. And direct cooling water against water including electricity generation, a difference of roughly a thousandfold. In every pair both figures are accurate and only one answers the question asked, which is a mechanism rather than a framing. Three terms to the glossary. The ceiling stands at 290.

13 July, AI and labour: no addition, one amendment. The new scope boundary node did the explanatory work immediately, which is the first time a concept added one round was load-bearing in the next. The check instead found Automation and Augmentation arguing the distinction conceptually while carrying none of the measurements that now constrain it, and it has been amended with both sides: aggregate continuity across three independent datasets, and a within-firm payroll finding of a fifth of an entry-level cohort gone. A node that argues a question should carry the evidence that has since arrived. The ceiling stands at 290.

11 July, circular financing, ceiling to 292. Correlated exposure passed the recurrence test across three territories: Zillow, where one estimate priced the purchase, valued the inventory and set the write-down; the lithography chokepoint, where vendor choice, fab location and geography all resolve to one supplier; and vendor financing, where chip revenue, equity stakes and debt guarantees all move with end-user demand. The common error in all three is treating a count of supports as a measure of robustness, which is a mechanism with a formal basis rather than a framing. The count also moved by two this round because the previous amendment surfaced a node that existed without any article citing it; that has been corrected and the article now cites it. The ceiling stands at 292.

10 July, grid interconnection, ceiling to 293. Binding constraint is the clearest case the check has produced, because the corpus had been using the idea for eleven articles without naming it: agricultural robotics, where capability was never what limited adoption; construction robotics, where a technology tripling productivity holds 0.03% of spend; robot learning, where the ceiling is physical rather than financial; and now grid connection, where capital is unlimited and transformers are not. A concept used repeatedly and never defined is the strongest possible argument for a node, and it has a formal basis in shadow prices rather than being a framing. Four terms to the glossary. The ceiling stands at 293.

9 July, export controls: nothing. Scope boundary, binding constraint and construct validity are already nodes and all three carry the article. Objective drift, the one idea that looked like a candidate, is construct validity applied to a policy rather than to a measurement, which is a variant of an existing mechanism rather than a new one. Naming every variant separately is how a graph stops being a graph. Four terms to the glossary. The ceiling stands at 293.

8 July, Territory 8 closes, ceiling to 294. A synthesis adds no concepts by construction, and this one is the exception for a reason set in Territory 7: an idea that unifies a territory is a node. Disclosure obligation appears in all ten articles as the thing that predicted whether a figure could be checked, more reliably than the importance of the question did. Securities filings, regulatory crash reporting and statutory environmental returns produced numbers that survive scrutiny; everywhere else the best figure came from an interested party and the alternative was none. Applying the Territory 7 rule to Territory 8 rather than making an exception is the whole point of having written it down. Two terms to the glossary. The ceiling stands at 294.

7 July, Territory 9 opens, ceiling to 295. Survivorship bias had appeared five times across four territories without a node: incident registers that count only what somebody reported, a sepsis failure mode that produces no artefact at all, 391 employers checked against 18 posting a required audit, a synthesis noting that comparable harms without a court record are absent by construction, and now publisher panels that cannot see the sites which closed. The corpus already had the glossary entry for it, phrased as a reported floor rather than a count. It is also an established statistical concept with standing far beyond this site, which is the second of the two tests. Three terms to the glossary. The ceiling stands at 295.

6 July, model collapse: no addition, and the node was already right. The check found Model Collapse present, carrying the replacement and accumulation distinction, citing the paper that established it, and opening its frontier section on a paper's framing outrunning its setup, which is the article's own argument. The graph had the finding before the article restated it. One small amendment: the node now carries the formal result, that accumulation gives a finite upper bound on test error independent of iteration count, and the live objection that the real-data proportion vanishes anyway. Two terms to the glossary. The ceiling stands at 295.

5 July, research integrity, ceiling to 297. Rate against level was added after a check that nearly went the other way. The glossary already carried per-unit substitution, and the temptation was to call this a variant of it. It is not: that entry is about a unit standing in for a total, while this is about a present size and a growth rate supporting opposite conclusions from the same data. Three clean appearances with that structure: a reassuring share of research fraud doubling twice as fast as its correction, energy per query falling while sector consumption rises, and inference price collapsing while total spend grows. Three terms to the glossary. The ceiling stands at 297.

30 July, a graph audit rather than an article. Checking the last fifteen articles against the map found a pattern worth recording. Four of the eight nodes added recently were cited by one article or none, including two whose entire justification was recurrence across several. A node added because an idea appears in five places, then linked from one of them, has not actually been earned; it has been asserted. Twelve articles were amended to cite the node their own case established: Zillow and the lithography chokepoint now carry correlated exposure, four incident and audit articles carry survivorship bias, four carry error asymmetry, and two carry rate against level. Four terms went to the glossary for load-bearing vocabulary used without definition: behind-the-meter, neocloud, advanced packaging, and accumulation against replacement. No concepts added. The rule going forward is that a recurrence argument has to be wired at the moment it is made, not left as a claim on the changes page.

8 July, AI slop in advertising, ceiling to 298. Proxy decay was added and wired in the same operation, which is the new rule working. The check had to separate it from construct validity, and the distinction is temporal: construct validity covers a measurement that never captured its construct, while this covers one that genuinely worked, because of an undocumented correlation, and stopped when the correlation broke. Three appearances: production cost standing in for intent until publishing became free, text predictability standing in for machine authorship until it turned out to be shared with second-language writing, and held-out benchmark performance standing in for capability until the benchmark entered the training corpus. In all three the metric is unchanged and its meaning is not, which is a different failure from an instrument that was wrong to begin with. Three terms to the glossary. The ceiling stands at 298.

6 July, maintainer collapse, ceiling to 299, and a naming collision found. Refutation cost passed on four appearances across the territory: fraud doubling twice as fast as retraction, a generated page passing every delivery metric while assessing its worth stayed expensive, denial costing a sentence where fabrication costs effort, and generation taking seconds where refutation takes hours. The check then found the glossary already carrying verification asymmetry, defined in the opposite direction: that checking an answer is cheaper than producing one, which is true for problems with a cheap machine check and is the basis for reinforcement learning from verifiable rewards. Two real mechanisms were sharing one name. The distinction is whether a cheap check exists, and it is now recorded on both entries rather than resolved by picking a winner. Three terms to the glossary, one disambiguated. The ceiling stands at 299.

5 July, content provenance: no addition, one amendment, and two candidates refused. Watermarking already carried C2PA and signing at capture, so the three limits that have since become visible went there: a trust root being a single point of failure with retroactive revocation, signing outpacing verification because pipelines strip metadata, and a certificate cost with no free tier. Trust root was considered as a node and declined, because it is a specific instance of correlated exposure, which is already a node covering several exposures resolving to one variable. Coordination adoption was declined on one appearance, under the rule used for everything else. Four terms to the glossary. The ceiling stands at 299.

4 July, Territory 9 closes, ceiling to 300. The Territory 7 rule says a synthesis adds nothing unless an idea unifies a territory, and this is the first time that exception was satisfied in advance: refutation cost was already a node, added two articles earlier, and it unifies all eight. So the addition came from elsewhere. Cost externality passed on four appearances and one axis nobody had named: alert volume absorbed by clinicians who did not procure the system, false accusations landing on students rather than on the institution that bought the tool, review burden falling on unpaid maintainers, and an advertiser paying above clean rates for a residual every metric called premium. It is distinct from error asymmetry, which compares the cost of one error type against another, where this asks who absorbs either. Wired to five articles in the same operation. Three terms to the glossary. The ceiling stands at 300.

3 July, Territory 10 opens, ceiling to 301. Selective transmission passed on three appearances and is distinct from citation decay in a way worth stating precisely. Citation decay describes a figure degrading or losing its provenance as it passes between sources. This describes a figure staying perfectly accurate while the qualifying material published beside it stays behind. An energy report whose own worked example undercuts the framing its projections carry; a price analysis publishing a hundredfold range and a contamination caveat alongside the single rate that circulated; a deployment study reporting 83% pilot-to-implementation for one category on the same page as the 5% figure that became a headline. A citation check passes in all three cases, because the quote matches and the source says more. Wired to three articles in the same operation. Four terms to the glossary. The ceiling stands at 301.

6 July, outcome pricing, ceiling to 302. Interested definition passed on four appearances and one axis the graph did not previously carry. Load-bearing assumption already covers a judgement determining a reported result; this covers the case where the party who benefits from the answer controls the judgement, which is a question about interest rather than about magnitude. A support vendor defining what a resolution is and invoicing for it; two audited firms setting opposite useful lives on identical hardware with profit downstream; a company choosing between run rate and booked revenue when quoting itself; deflection reported where resolution is the thing that matters. In all four the arithmetic is correct, the definition is disclosed, and an audit confirms both, which is exactly why an accuracy check cannot find it. Wired to four articles in the same operation. Four terms to the glossary. The ceiling stands at 302.

1 August, shadow AI, ceiling to 303. Commissioned framing passed on five appearances and sits upstream of two concepts already in the graph. Selective transmission decides which findings travel. Publication bias decides which results appear. This decides which studies are run at all, which makes it the least visible of the three, since an unfunded question leaves no trace to detect. The instances: vendor accuracy pages measuring improvement on the benchmark that exposed a flaw; pricing comparisons published by competitors who each win their own table; sources documenting grid constraints while selling the off-grid alternative; security vendors sizing the threat they remediate; and consultancies and security firms reaching opposite conclusions about the same companies because one sells a remedy for over-investment and the other for under-control. The article that introduced it also applied it to this corpus, which uses commissioned evidence across most of Territory 10 with four reliable anchors. Three terms to the glossary. The ceiling stands at 303.

1 August, AI code quality, ceiling to 304. Self-report gap passed on three appearances pointing the same way: developers estimating 20% faster and measuring 19% slower on the same tasks in the same study; 97% of executives reporting benefit against 29% reporting organisational return; and 59% of developers reporting improved code quality while repository telemetry showed refactoring falling to 3.8% and churn rising. It is distinct from construct validity, where the measure fails to capture the construct, and from commissioned framing, which decides which question is funded. Here both instruments are valid and they observe from different positions: the operator sees effort saved, and cost that is deferred, displaced or diffused is invisible to them by construction. The bias is directional, so larger samples do not help. The article derives a falsifiable rule from the three instances and names what would break it. Wired to three articles in the same operation. Three terms to the glossary. The ceiling stands at 304.

31 July, vendor lock-in, ceiling to 305, with one instance weaker than the other two. Undecided commitment was added on an axis the graph did not carry: whether a commitment was visible at the moment it was incurred. Existing nodes cover what limits output, what a judgement determines, who bears a cost and how risks correlate. None covers a dependency created by a choice nobody treated as one. The instances: a prototype's model selection becoming prompts, guardrails and evaluations that constitute the switching cost; and on-site generation installed to skip a grid queue, fixing emissions for the equipment's twenty-year life on the basis of a scheduling problem. The third, a system shipped early to fall inside a transitional compliance exemption, is weaker and is recorded as weaker, because a transitional provision is a known trade rather than an unnoticed one. Two clean instances and one partial is thinner than the threshold used elsewhere, and stating that is better than rounding it up. Four terms to the glossary. The ceiling stands at 305.

1 August, AI drug discovery, ceiling to 306. Aggregate evidence gap was added on an axis the graph did not carry: the level at which rigour applies. Disclosure obligation covers whether anyone must publish; commissioned framing covers which question gets funded. This covers a field where every individual study is registered, blinded and peer-reviewed while the field-level number is reported thirty points apart by different analysts, because peer review, registration and regulatory assessment are all unit-scoped and nothing governs the sum. Three instances: over a thousand devices each correctly cleared, where establishing that 1.6% cite trial data took a separate study; rigorous agent benchmarks with no production aggregate; and registered drug trials with disputed category success rates. The counterintuitive part is that field statistics are less reliable than their components and trusted more. Wired to three articles in the same operation. Three terms to the glossary. The ceiling stands at 306.

31 July, therapy chatbots, ceiling to 307. Comparator choice was added on an axis the graph did not carry. Scope boundary covers what a measurement counts and construct validity covers whether it captures its construct. This covers what the thing was measured against, which is frequently unstated and often nothing. Three instances: a mental health trial whose control group received no intervention at all, so the comparison captures expectancy, attention and natural fluctuation alongside any effect; an enterprise pilot failure rate published with no corresponding rate for comparable non-AI pilots; and a support deflection figure reported with no baseline for how many enquiries would have resolved without intervention. The general point is that effect sizes are not portable across comparators, since two studies with different control arms are answering different questions rather than disagreeing. Wired to three articles in the same operation. Four terms to the glossary. The ceiling stands at 307.

11 July, dermatology and skin tone, ceiling to 308. Unrecorded stratifier was added on an axis the graph did not carry. Aggregate evidence gap covers rigorous units with an unowned sum; scope boundary covers what a measurement counts. This covers a variable absent from the record entirely, which makes an aggregate uninterpretable rather than imprecise, because a confidence interval describes uncertainty about a population and the population is unspecified. Three instances: 232 pooled studies of AI skin cancer detection where 1.3% recorded Fitzpatrick type; over 1,500 cleared devices with no population characterisation in the aggregate; and an internally validated prediction model reported without a demographic breakdown. The node carries three criteria for when an omission is load-bearing rather than ordinary: the variable plausibly affects the mechanism, the sample is documented as skewed on it, and recording costs a column. Wired to three articles in the same operation. Three terms to the glossary. The ceiling stands at 308.

2 July, Territory 11 closes, ceiling to 309. Measurement concentration was added at the synthesis rather than two articles earlier, which is what the Territory 7 rule is for: a synthesis adds nothing unless an idea unifies the territory, and this one does. Research effort settles at the stage of a causal chain that is cheapest to instrument, independently of which stage decides the outcome. Vignettes need no clinic and evidence assembly does. Phase I needs a molecule and Phase II needs a population. Discrimination is retrospective and override rates need a deployment. Time in a record is instrumented and dread is not. Accuracy needs no demographic column and skin type needs a rater. The distinguishing feature is that no quality mechanism corrects it, because peer review, registration and replication all operate on studies that were run and say nothing about how studies distribute across stages. The article states four forward predictions and a single-counterexample falsification test, which is an attempt to answer the objection that the mechanism explains everything after the fact. Two terms to the glossary. The ceiling stands at 309.

1 July, academic integrity, ceiling to 310. Constraint over classification was added after being stated in four articles across three territories without ever being named. Where a control must hold against a counterparty who adapts, bounding the conditions under which work is done outperforms detecting what was produced: a reproducible test case that a genuine contributor already has, a capability an agent lacks so no instruction can invoke it, a signature chain that does not judge appearance, and process evidence that makes the finished artefact stop being the only evidence. The node carries one property the individual articles did not derive: detector precision inverts on base rate, since false positives track the compliant population while true positives shrink with genuine violations, so a detector performs worst in exactly the settings where the underlying problem is least severe. Constraints have no equivalent inversion. The cost is friction rather than classification error, which is why the detector route keeps being chosen despite the record. Wired to four articles in the same operation. Three terms to the glossary. The ceiling stands at 310.

A coverage gap found by a reader, not by the map check. An audit of thirty prominent AI terms against both the concept graph and the glossary found the entire graph learning family absent from both: graph neural network, message passing, node classification, link prediction, graph convolution, graph attention, adjacency matrix and graph engineering. Knowledge Graph and GraphRAG existed; the architecture underneath them did not. This is a different failure from the ones the map check catches. The map check asks whether a recurring idea has earned a node. It never asks whether a standard term is missing, because it only examines concepts that articles happened to raise, and no article had raised this one. A corpus that adds nodes only when its own writing surfaces them will have gaps shaped like its coverage. Graph Neural Network added as concept 311, with twelve glossary terms, and a standing note that periodic coverage audits against external term lists are a distinct check the map check does not perform. The ceiling stands at 311.

2 July, teacher workload, ceiling to 312. Review offset was added on three clean appearances in unrelated fields: clinical documentation where mandatory physician review partially offsets capture savings, software where senior engineers report twenty to thirty-five per cent more review time, and teaching where sixty-two per cent of surveyed teachers report savings partially offset by reviewing outputs. It is distinct from cost externality, which asks who bears a burden, and from self-report gap, which compares perception against measurement. This concerns a specific quantity: the saving returning as checking time, systematically underreported because a self-report instrument samples the participant when the benefit is salient and the cost has not yet been incurred. Where the reviewer is somebody other than the author, the underreporting is structural, since the respondent is not concealing the cost but is not positioned to observe it. Wired to three articles in the same operation. Three terms to the glossary. The ceiling stands at 312.

The education directory expands from three countries to six, and the expansion was cut to what could be verified. Eight institutions added: Toronto, Montreal, Alberta and Waterloo in Canada; ETH Zurich and EPFL in Switzerland; the National University of Singapore and Nanyang Technological University in Singapore. Each carries the same eleven fields as the existing forty-eight, including a named programme, an official URL and three specific achievements, and every one of those was checked against a source rather than written from memory. The original plan was sixteen. It was cut to eight because the QS subject table below fifth place loads by JavaScript and could not be retrieved, and because programme names and URLs for Germany, South Korea, the Netherlands and Japan could not be confirmed in the time available. Writing them anyway is the failure this corpus documents in others, and a directory whose value is that its links were checked cannot contain links that were guessed. The remaining countries stay named in the disclosure and unprofiled, which is the same position as before for fewer of them. Three defects surfaced during the work. The institution mark palette and the education-system descriptions were both keyed by country code with no fallback, so adding a country crashed the build twice; the palette now falls back rather than throwing. And the duplicate merge recorded above broke six concept links, because each merged pair had entries pointing at different concepts and the surviving entry pointed at the more general one. Those six were repointed to their dedicated pages. A separate pre-existing warning that fifty-four concepts carry no glossary link is maintenance debt rather than damage from this work, and is recorded here so it is not rediscovered as new. The ceiling stands at 312.

A reader review found a genuine self-contradiction in the education directory. The page cited the QS 2026 table, named the National University of Singapore as third in the world, and did not list it, because the directory covers three countries and Singapore is not one of them. The scope limit was disclosed, several paragraphs below the ranking, which is the wrong order. A reader met an excluded institution before learning the rule that excluded it. The limit is now stated in the opening line and again at the point where the ranking is quoted, as a limit of the directory rather than a judgement about the institutions. The same review's larger claim, that the omission of Canada, Switzerland, Singapore, Germany, the Netherlands and South Korea is an undisclosed blind spot, is answered by the page's own text, which names those six countries in that order. That paragraph was already there and the review quoted it while presenting the point as a discovery. The remaining question, whether the directory should expand beyond three countries, is open and is not fixed by a wording change. Each entry carries a named programme, an official URL and three specific verified achievements, and a sixteen-institution expansion is a research task rather than an editorial one. It is recorded here as outstanding rather than done, because writing programme names and URLs from memory is the failure this corpus documents in others. The ceiling stands at 312.

A coverage audit prompted by two external reviews, one of which was substantially wrong. Two documents assessed the glossary and map against the claim of being comprehensive. The first was largely accurate: its counts matched, its structural criticism about the 312-node map sitting under a 1,341-term glossary was correct, and 28 of its 47 flagged terms were genuinely absent. The second was not. Eight of its nine claimed-missing nodes already had glossary entries, including flow matching, consistency models, Gaussian splatting, classifier-free guidance, contrastive learning, meta-learning and machine unlearning. It also reported the glossary at 1,110 terms against an actual 1,341, a seventeen per cent error on a figure printed on the page, which indicates the sweep was not run against the current site. Six of its findings were correct and were mixed with eight that were never true. Rather than accept either, every specific claim was checked, and a broader audit ran 119 terms across nine clusters and found 68 absent. The worst was interpretability at one of ten, followed by hardware and systems at eight of twenty-four and evaluation science at three of ten. All 68 were written and added: memory hierarchy, prefill and decode, collective communication and quantization methods; Gaussian processes, MCMC, kernel methods and the information bottleneck; activation patching, circuit discovery, causal scrubbing and the logit lens; contamination detection, canary strings, statistical power and inter-rater reliability. The general lesson is the one recorded when a reader found the graph learning gap: the map check examines concepts articles raised, and never asks what a standard reference would contain. Sixty-three terms added, five already present. The fill also surfaced a defect nobody had looked for: a duplicate check across all entries found thirteen concepts listed twice under slightly different names, including mixture of experts, NeRF, DPO, PEFT, RLAIF, sparse autoencoder and vision-language model, each pair pointing at a different concept node. These were merged, keeping the fuller entry. Two collisions were left in place because they are genuinely distinct: bias in its neuron, social and statistical senses, and pass^k against pass@k. The duplicates had been live for an unknown period and were found only because a normalisation check was run for another reason, which is the second time in this session that a defect surfaced from a check performed for an unrelated purpose. The ceiling stands at 312.

6 June, AI education equity: no addition, and a refusal on precedent. Emergent compounding, meaning two independent mechanisms landing on one population without either being designed against it, has two appearances: an AI grader rewarding the property an AI detector flags, and under-resourced districts receiving unsupervised deployments while their students are more likely to be flagged. Both are inferences joining separate literatures rather than observations, and the first was declined three articles ago on exactly that basis. Refusing the second for the same reason is what a precedent is for, and doing otherwise would let a rule apply once and lapse. Two instances of the same weakness do not become a strength. It goes to the glossary flagged as inferred, and both articles name the interaction as their own weakest link. Four terms to the glossary. The ceiling stands at 312.

8 July, AI grading: no addition, and a candidate declined for a reason not previously used. Signal collision, meaning two systems reading one statistic in opposite directions, has one instance and that instance is constructed rather than observed. Published work shows an AI grader scoring low-perplexity text higher and separate published work shows a detector flagging the same property, but no study follows a submission through both and no institution has been documented running the pair. Every other candidate refused in this corpus was declined for insufficient recurrence across observed cases. This one is declined because the single case is an inference joining two literatures, which is a weaker basis than one observation, not a stronger one. It goes to the glossary flagged as unobserved, and the article names it as its own weakest link. Four terms to the glossary. The ceiling stands at 310.

1 July, Territory 12 opens: no addition, one candidate held, and a prediction tested. Assist-versus-test reversal, meaning performance rising with a tool present and falling when it is removed, has one clean appearance and was declined on that basis, with a second partial instance in the developer productivity work where the tool was present throughout and no unassisted condition existed. It goes to the glossary and will be found again if a third arrives. The more useful result is that measurement concentration, added at the close of Territory 11, made a forward prediction that this article tests. The prediction was that a stage requiring new instrumentation will be under-measured relative to its importance. In education, performance during a session is instrumented by the platform and accrues free; performance weeks later without the tool requires a separate assessment and a reason to run it. The two point in opposite directions and only the cheap one is routinely reported. One instance is weak evidence and the prediction survived its first opportunity to fail, which is worth recording because it was made before the article rather than after. Four terms to the glossary. The ceiling stands at 309.

4 July, alert fatigue: no addition, one amendment, and one candidate deliberately held for the synthesis. Measurement concentration, meaning research effort settling at the stage of a causal chain that is cheapest to measure rather than the stage that decides the outcome, has four clean appearances across this territory: vignette accuracy studied extensively while evidence assembly is unmeasured; Phase I success rates published cleanly while Phase II is disputed; single-attempt agent scores reported while consistency is not; and model discrimination researched exhaustively while override rates sit in a different literature. It was not added, because it unifies the territory rather than recurring within it, and the rule set in Territory 7 reserves that case for the closing synthesis. Adding it two articles early would satisfy the rule by accident. Model Monitoring was amended instead, with the pandemic case showing that monitoring which asks whether a model performs as validated will pass in exactly the cases where the population moved underneath it. Three terms to the glossary. The ceiling stands at 308.

8 July, dermatology and skin tone: no addition, one amendment. Representation without competence is a genuinely interesting finding and has one appearance, so it went to the glossary rather than the graph. The instance: across 4,000 generated dermatologic images, the single model matching census demographics at 38.1% dark skin was also the least accurate, with residents identifying the intended condition in 0.94% of its images against 15% overall. Demographic balance in the output was achieved without the underlying visual knowledge. Bias and Fairness was amended with that, with the separation between the diagnostic problem, which is a training data problem with a demonstrated fix, and the generative one, which is not. The amendment also records that the Fitzpatrick scale was built to classify sunburn propensity and classifies inconsistently where the disparity is. Three terms to the glossary. The ceiling stands at 307.

31 July, the FDA framework: no addition, one amendment. Procedural versus scientific, meaning the distinction between obligations answerable by drawing a line and those requiring a settled evidentiary standard, had two appearances and only one is independent. The EU deferring high-risk duties while transparency landed, and the FDA finalising change control while credibility drafts, are the same claim observed twice rather than a mechanism recurring across unrelated subjects. AI Regulation was amended instead, with that observation and a second one the article develops: regulation is unit-scoped by construction, since a regulator assesses one product for one use by one sponsor, and the five evidence failures this territory has documented all sit above that level. Three terms to the glossary. The ceiling stands at 307.

1 August, LLM diagnosis: no addition, one amendment, one refusal. Assembly half, meaning the work of deciding what to ask and order rather than reasoning over the result, was declined because Task Redefinition already covers it as environment engineering. The node was amended to record that the forms appear at the evaluation layer as well as the deployment layer, with a distinction worth keeping: in robotics the engineering was visible and deliberate, since somebody flattened the floor. In evaluation it is invisible, because a clinicopathological conference case was assembled decades ago to test whether a trainee could reason from evidence, on the assumption that gathering evidence was assessed separately. A model taking the same test inherits the assumption without the separate assessment. Four terms to the glossary. The ceiling stands at 306.

2 August, the mammography trial: no addition, one amendment. Qualifier attenuation was the candidate and is a variant of Selective Transmission rather than a new mechanism, so the node was amended instead. The distinction is worth recording because the defence differs: in the ordinary case the qualifying material never leaves the source; in this one the qualifier travels and loses its function. A vendor release describing a non-inferior twelve per cent reduction retains the technical word while a reader parses it as a reduction that is also good. Non-inferiority trials are structurally prone to this, since with a true difference of zero the point estimate favours the intervention about half the time by chance, leaving a favourable number in a paper whose conclusion is only that the intervention is not worse. Four terms to the glossary. The ceiling stands at 305.

2 August, Territory 11 opens: nothing added, one candidate held over. Genuine spread, meaning variation that reflects the world rather than a definitional choice, is a useful corrective to a habit this corpus has developed of finding definitional problems everywhere. It was declined on one clean appearance. Documentation savings of 72.6 seconds per emergency encounter against 30 minutes per ambulatory day are the same measurement in different settings, which is genuinely distinct from figures differing because they count different things. One instance is not a mechanism, and candidates with four appearances have been refused in this territory's predecessor on stricter grounds than this one would need. It is recorded here so it can be found again if a second and third arrive. Four terms to the glossary. The ceiling stands at 305.

2 August, Territory 11 opens: nothing added, and a candidate refused at one appearance. Genuine spread, meaning variation that reflects the world rather than a definitional difference, is a useful corrective to a habit this corpus has developed and it has one clean appearance. Domain distance was refused at four and borrowed conditions was refused despite fitting cleanly, so refusing this is the easy consequence of those. It is recorded here so it can be found again if a second and third instance appear, which is the same treatment repeated-attempt exposure received. The article develops it as three operational tests rather than as a concept, which is where a one-instance idea belongs. Four terms to the glossary. The ceiling stands at 305.

2 August, Territory 10 closes: nothing added, and the rule was satisfied three times over. A synthesis adds no concepts unless an idea unifies the territory, which is the rule set in Territory 7. Three ideas unify this one and all three were already nodes, added during the territory rather than at its close: binding constraint, for the finding that the operative variable was organisational in every subject; commissioned framing, for the finding that the evidence base has the shape of its buyers; and self-report gap, for the finding that perception is more favourable than measurement every time. Adding a fourth to mark the occasion would have been ceremony. Two terms to the glossary. A glossary audit prompted by the synthesis found exactly one normalisation collision across 1,277 entries, the one already fixed by hand, and no silent losses elsewhere. The ceiling stands at 305.

31 July, data readiness: no addition, one amendment, one refusal. Borrowed conditions was the candidate and was declined because External Validation already covers it, and its own one-liner says so: an independent check that separates performance from the conditions it was reported under. The enterprise pilot is an instance of exactly that and is rarely recognised as one, because the same party runs both stages so nothing looks like a missing external check. The node was amended with the four conditions a pilot removes at production, and with the observation that such deployments rarely fail at launch but some weeks later, when the manual review nobody documented as part of the system stops happening. Refusing a well-fitting candidate because an existing node already says it, and then making the existing node say it explicitly, is the amendment doing the work an addition would have duplicated. Four terms to the glossary. The ceiling stands at 304.

2 August, the byline corrected across 165 articles. Every article carried Azmath A. as author. That implied one person wrote 164 articles averaging over three thousand words in under three months, which is not what happened. The first two articles, from 18 and 19 May, keep the personal byline because they were written that way. The remaining 165 now carry Artifipedia Media Team, and the About page states what that phrase means rather than leaving it to suggest a newsroom: drafted with AI assistance, from primary sources retrieved and checked during the work, reviewed and approved before publication, with one person accountable. The previous About text said "working solo" and "one person read the filings", and both had stopped being true. The structured data follows automatically, since named human bylines emit as Person and anything else falls back to Organization, which is the correct signal in both cases.

2 August, the AI Act: no addition, and the largest factual amendment so far. The EU AI Act node was operationally stale rather than wrong. Its argument about the compute threshold being a contested proxy still holds and is now more pointed, since penalty powers attached to that threshold today. What it lacked was the entire revised timetable, which changed after the node was written: the Digital Omnibus deferring Annex III to December 2027 and Annex I to August 2028, three mechanisms taking effect on schedule today, watermarking moving to December 2026, and the replacement of a conditional trigger with fixed dates. A node describing a live legal instrument goes stale in a way a conceptual node does not, which is a maintenance category this corpus had not previously had to name. Four terms to the glossary. The ceiling stands at 302.

3 July, prompt injection in production: no addition, one amendment, one candidate held over. Prompt Injection already stated the problem as unsolved and plausibly unsolvable at the prompt layer, which is the article's own conclusion, and lacked the evidence that has since been published. The node now carries the attempt-scaled system card figures, the EchoLeak CVE, and the trifecta condition. Repeated-attempt exposure was considered and held over on two appearances rather than three, which is the threshold used throughout: reliability decaying because every attempt must succeed, and security decaying because every attempt must fail, are the same arithmetic with opposite signs and appear so far only in these two articles. A candidate that will probably qualify later does not qualify now, and recording it here is how it gets found again. Four terms to the glossary. The ceiling stands at 302.

2 July, agent reliability: no addition, one amendment. The check found Agent Evaluation already stating that reliability numbers are rarely published and variance rarely reported, which is the article's own argument, and lacking the metric that measures it. The node now carries pass^k against pass@k and the distinction of who is permitted to retry, the 61% against 25% figure, and three systematic omissions across the major agent benchmarks: no cost in primary scoring, binary success in almost all of them, and graceful failure unscored everywhere. Reliability against capability was considered as a node and declined, because separating what a system can do from what it will do every time is scope boundary applied to a metric, and domain distance was refused on that reasoning two articles ago. Four terms to the glossary. The ceiling stands at 302.

4 July, motion tokenization: no addition, one amendment, one refusal on consistency grounds. Domain distance had four appearances and was declined anyway. A metric that is valid where it was made and progressively less informative as the question changes is scope boundary applied to domains rather than to inclusions, and objective drift was refused on identical reasoning two territories ago as construct validity applied to policy. Refusing a well-supported candidate for consistency is the harder call and the correct one, since the alternative is a graph with a node for every domain an existing mechanism operates in. The imitation learning node was amended instead, with the finding that a data constraint can be routed around where a pre-existing corpus happens to exist, and that this covers locomotion and excludes contact-rich manipulation. Four terms to the glossary. The ceiling stands at 301.

7 July, human detection: no addition, one amendment. The check found Deepfake already opening its frontier section on the liar's dividend, already citing Chesney and Citron, and already making the argument that the second-order effect matters more than any individual fake. What it lacked was the evidence that has since arrived, so the node now carries the first empirical confirmation from the American Political Science Review in 2024 and the human detection baseline of 24.5% on high-quality synthetic video against a coin's 50%. A node that made a prediction should be updated when the prediction is tested, which is a different reason to amend than any recorded so far. Three terms to the glossary. The ceiling stands at 298.

5 July, AI detection, ceiling to 296. Error asymmetry produced the strongest recurrence the check has found: five appearances across four territories. A Dutch family losing everything to a false flag while a missed case cost the state little. Thirty hours in a cell from a false match. A clinical system at 109 alerts per true case where the missed case leaves no artefact. A missed weed caught next pass against a bruised fruit that is not. And a detector whose false negative is a nuisance and whose false positive is a misconduct accusation against a named person. In every one, a single accuracy figure averages over the distinction that is the whole question. Three terms to the glossary. The ceiling stands at 296.

13 July, AI and entry-level employment, ceiling to 291. Automation and augmentation passed the recurrence test across four territories and is established economics rather than this corpus's framing. Warehouse robots automate transport and leave manipulation. Agricultural robots automate weeding and have not automated harvesting. Surgical robots are pure augmentation and decide nothing. And employment declines concentrate in AI-exposed occupations where the technology automates, not where it augments, which is the most identifying evidence available for attributing labour effects to AI at all. The distinction is decided by deployment rather than by capability, which is why it belongs in the graph rather than in a single article. Three terms to the glossary. The ceiling stands at 291.

July 24 — ten prerequisite edges added. Half the graph had nothing depending on it: 137 of 270 nodes were terminal, including deep concepts with two or three prerequisites of their own. Those were under-wired rather than genuinely final. Prompt Injection now sits beneath Agent Governance, Speaker Diarization beneath Voice Cloning, Multilingual AI beneath Machine Translation, and seven others. Two further edges were proposed and rejected because they would have created cycles.

July 24 — the concept list came off the map page. The map previously ended with all 270 concepts listed alphabetically, duplicating the homepage index and adding 60 KB to a page people arrive at to look at a picture. It now ends with six routes onward: plan a path, learning tracks, symptoms, glossary, the full index, and articles.

July 24 — diagram stroke weights rebalanced. Connector lines went from 1.6 to 2 pixels with rounded caps, and node borders from 1.2 to 1.5. Both already held their width at any screen size, so this is about weight rather than scaling: 1.6 pixels is thin for a connector, and once the contrast fix below forced a stronger colour, a thin line in a medium grey read as harsh rather than soft.

July 24 — correction to the July 21 entry below. The fullscreen and embed controls were moved beneath the map, and the move was logged here as done. It was not. They had landed inside the map container rather than after it, so they rendered within the canvas area and were effectively invisible at every screen size. Nesting is now verified by walking the element tree rather than by comparing positions in the markup, which is what let the original error through.

July 22 — prerequisite diagrams made legible. The connecting lines on every concept diagram were drawn in the hairline colour, which measures 1.18 contrast in light mode and 1.36 in dark. They were effectively invisible. Moved to the muted colour, at 5.03 and 6.33, then thickened from 1.6px to 2px with rounded caps and the node borders lifted to 1.5px so the boxes are not out-weighted by the lines between them.

July 21 — fullscreen and embed moved below the map. Both controls sat above it, which pushed the map itself off the first screen on a phone. The legend stayed above; the controls moved down.

July 20 — the map became embeddable. An iframe target at /embed with sizing controls, so the map can be placed in a course page, a blog post or an internal wiki. The concept diagrams are not yet embeddable, only the map.

Earlier — how the graph is built. Edges are authored as direct prerequisites only; anything transitive is computed rather than written. They reference slugs rather than titles, so renaming a concept cannot silently break an edge. The build fails rather than warns if an edge points at a concept that does not exist, or if the graph contains a cycle.


Site fixes

July 18 — reading progress bar extended to articles. The thin green bar that tracks reading position existed on concept pages but not on the long-form articles and blog posts — the pages that needed it most. Found while testing on a phone; now on every long-form page.

July 18 — tables scroll on mobile. Some comparison tables in articles overflowed the screen on phones with no way to reach the right-hand columns. All tables now scroll horizontally.

July 17 — search understands abbreviations. Typing "knn", "svm", "vae", "mcp", "ner" or similar into search returned nothing, because search matched titles ("K-Nearest Neighbours") but not the short names people actually type. Found while testing on a phone; search now matches both.