Compare
This record retrieves each tracked source on a repeating schedule and, where it can extract text, retains the normalised text it hashed. Where two of those readings are held for one source, the difference between them can be computed. This page indexes what can be compared, and states the conditions under which a comparison is refused.
A refusal is an answer, not a failure. Every pair that is not shown carries the name of the condition that stopped it, and the conditions are evaluated in a fixed order, so a pair refused on the first is never tested against the rest.
What the corpus holds
Each of the 132 tracked entries sits in exactly one of the four states below. The state records what this record retained, and not anything a publisher stated.
| State | Rows | What the state records |
|---|---|---|
| two or more points | 83 | Two or more distinct retained digests, so at least one pair can be formed. Listed below. |
| one point | 43 | Every reading that produced a digest produced the same one. Nothing has been observed to differ from it, and a comparison needs two points. |
| no retained text | none | Digests exist and no normalised text is held for any of them, so there is nothing on this side to compare. |
| no digest | 6 | The row has been observed and no observation produced a digest. That is an absence in this record, not an absence of change at the source. |
What the comparisons found
2781 pairs can be formed from the points held for the 83 rows in the first state above. Each is computed at build time and each carries one verdict.
| Verdict | Pairs | What the verdict records |
|---|---|---|
| difference | 239 | The words that differ are fewer than the ceiling and are shown. |
| withheld | 1722 | More words differ than the ceiling of 14 this site publishes quoted text under. The counts are shown and the words are not: a shortened quote is a fabricated measurement of what a publisher wrote, so it is withheld whole rather than cut to fit. |
| refused | 820 | A condition stopped the comparison before it was computed. The conditions are listed below. |
| no difference in the words | none | The two digests differ and the normalised words do not: what changed lies in spacing this record’s tokeniser folds together. |
| not measured | none | This record could not look. An unmeasured result is not a negative one and is not counted with the refusals. |
The conditions, in the order they are evaluated
A pair names the FIRST condition that fired and makes no claim about the ones beneath it, so a count against one condition is not a count of the pairs that would have failed it. Not reached is not zero: three of the conditions belong to the form of the comparison that takes two dates, and every pair counted on this site is formed from points addressed by the key the store gives them, so those three are never evaluated here.
| Condition | Pairs | What the condition states |
|---|---|---|
licence-restricted | 762 | No text from this document appears on this site, so no difference between two readings of it is shown either. The digests, the dates and the addresses are the record for this row. |
licence-unread | none | No reading of the terms this source states is recorded for the row. That is an absent reading rather than an absent term, and the row is handled here exactly as a restricted one until a reading is recorded. |
date-not-observed | not reached | No observation of this row on that day holds retained text. |
date-not-unique | not reached | That day holds more than one distinct retained digest for this row, so a date alone does not name one observation. The addressed form — the day and the sequence within it — does. |
one-point | not reached | Both dates resolve to the same observation. |
referent-unclassified | none | The class of one of these observations could not be read, so neither was shown to be an observation of the document itself. |
referent-class | 15 | One of these observations is not of the document. A listing page that names the document and the document are different subjects, and a difference between them is not a difference in the document. |
referent-normalisation | 39 | These two digests were taken over different kinds of text — one over markup, one over prose extracted from a file — so the words they yield differ for a reason that is not the publisher’s. |
referent-address | 4 | These two observations answered at different addresses. A difference between them is at least in part a difference between two pages. |
text-not-retained | none | No normalised text is held here for one of these observations, so there is nothing on this side to compare. |
snapshot-unreadable | none | Normalised text is recorded for one of these observations and could not be read from this record. |
span-unverified | none | A span this comparison would have shown could not be found, word for word and in that order, in the retained text it was drawn from. The comparison is withheld rather than shown: a phrase assembled out of words a publisher did not write next to each other is a fabricated measurement of what the publisher wrote. |
over-ceiling | 1722 | A faithful difference is longer than the word ceiling this site publishes under. It is withheld whole rather than cut to fit: a shortened quote is a fabricated measurement of what a publisher wrote. The figures below are counts of the difference, not the difference. |
Text this record may not reproduce is not compared. 16 of the 83 rows with two or more points record their terms as something other than open, and every pair on those rows is refused before any retained text is opened. Their points, dates and digests are published; no words from them appear here.
17 of the 83 rows interleave their points. A digest was observed again after a later one had already appeared, so those points are not a sequence of versions but a set of readings, ordered by when each was first seen. Each such page says so on its face.
Rows with two or more points
| Source | Points | Pairs | Difference | Withheld | Refused | Terms |
|---|---|---|---|---|---|---|
| ASTM E2363 | 3 | 3 | none | none | 3 | restricted |
| ASTM E2500 | 3 | 3 | none | none | 3 | restricted |
| ASTM E2537 | 2 | 1 | none | none | 1 | restricted |
| CISA CPG 2.0 | 2 | 1 | none | none | 1 | open |
| EMA AI reflection paper points interleave | 2 | 1 | none | 1 | none | open |
| Annex 11 concept paper | 2 | 1 | none | none | 1 | open |
| EMA CT computerised systems | 2 | 1 | none | none | 1 | open |
| EMA data quality framework | 2 | 1 | none | none | 1 | open |
| Annex 15 revision concept paper | 2 | 1 | none | none | 1 | open |
| DI revision concept paper | 2 | 1 | none | none | 1 | open |
| EMA work programme points interleave | 2 | 1 | 1 | none | none | open |
| EU AI Act | 2 | 1 | 1 | none | none | open |
| EU GMP Annex 1 | 2 | 1 | none | none | 1 | open |
| EU GMP Annex 10 | 2 | 1 | none | none | 1 | open |
| EU GMP Annex 11 points interleave | 2 | 1 | none | none | 1 | open |
| EU GMP Annex 11 (draft) | 2 | 1 | none | none | 1 | open |
| EU GMP Annex 12 | 2 | 1 | none | none | 1 | open |
| EU GMP Annex 13 | 2 | 1 | none | none | 1 | open |
| EU GMP Annex 14 | 2 | 1 | none | none | 1 | open |
| EU GMP Annex 15 | 2 | 1 | none | none | 1 | open |
| EU GMP Annex 16 | 2 | 1 | none | none | 1 | open |
| EU GMP Annex 17 | 2 | 1 | none | none | 1 | open |
| EU GMP Annex 19 | 2 | 1 | none | none | 1 | open |
| EU GMP Annex 2 | 2 | 1 | none | none | 1 | open |
| EU GMP Annex 21 | 2 | 1 | none | none | 1 | open |
| EU GMP Annex 22 | 3 | 3 | none | none | 3 | open |
| EU GMP Annex 3 | 2 | 1 | none | none | 1 | open |
| EU GMP Annex 6 | 2 | 1 | none | none | 1 | open |
| EU GMP Annex 7 | 2 | 1 | none | none | 1 | open |
| EU GMP Annex 8 | 2 | 1 | none | none | 1 | open |
| EU GMP Annex 9 | 2 | 1 | none | none | 1 | open |
| EU GMP Chapter 1 | 2 | 1 | none | none | 1 | open |
| EU GMP Chapter 2 | 2 | 1 | none | none | 1 | open |
| EU GMP Chapter 3 | 2 | 1 | none | none | 1 | open |
| EU GMP Chapter 4 | 2 | 1 | none | none | 1 | open |
| EU GMP Chapter 4 (draft) | 2 | 1 | none | none | 1 | open |
| EU GMP Chapter 5 | 2 | 1 | none | none | 1 | open |
| EU GMP Chapter 6 | 2 | 1 | none | none | 1 | open |
| EU GMP Chapter 7 | 2 | 1 | none | none | 1 | open |
| EU GMP Chapter 8 | 2 | 1 | none | none | 1 | open |
| EU GMP Chapter 9 | 2 | 1 | none | none | 1 | open |
| EU Machinery Regulation | 2 | 1 | 1 | none | none | open |
| EU MDR | 2 | 1 | 1 | none | none | open |
| FDA AI guidance points interleave | 4 | 6 | none | none | 6 | open |
| FDA AI device list | 2 | 1 | none | none | 1 | open |
| FDA device cybersecurity points interleave | 2 | 1 | none | none | 1 | open |
| FDA device cybersecurity (2026) | 3 | 3 | none | none | 3 | open |
| FDA electronic systems (clinical) | 2 | 1 | none | none | 1 | open |
| FDA/EMA AI principles | 2 | 1 | none | none | 1 | open |
| FDA guidance agenda points interleave | 2 | 1 | none | none | 1 | open |
| Health Canada ML | 2 | 1 | none | 1 | none | open |
| IEC 62304 points interleave | 2 | 1 | none | none | 1 | restricted |
| IEC 81001-5-1 | 3 | 3 | none | none | 3 | restricted |
| ISO 14971 points interleave | 2 | 1 | none | none | 1 | restricted |
| ISO/IEC 22989 | 2 | 1 | none | none | 1 | restricted |
| ISO/IEC 24028 points interleave | 18 | 153 | none | none | 153 | restricted |
| ISO/IEC 27017:2026 points interleave | 2 | 1 | none | none | 1 | restricted |
| ISO/IEC 38507 points interleave | 20 | 190 | none | none | 190 | restricted |
| ISO/IEC 42005 points interleave | 21 | 210 | none | none | 210 | restricted |
| ISO/IEC 5259 points interleave | 18 | 153 | none | none | 153 | restricted |
| ISO/IEC SC 42 points interleave | 10 | 45 | 11 | 34 | none | open |
| GAMP AI Guide | 7 | 21 | none | none | 21 | restricted |
| ISPE GAMP RDI | 5 | 10 | none | none | 10 | restricted |
| GAMP 5 2nd Ed | 5 | 10 | none | none | 10 | restricted |
| MHRA AI points interleave | 8 | 28 | 28 | none | none | open |
| MHRA AI Airlock | 9 | 36 | 16 | 20 | none | open |
| MHRA data integrity points interleave | 9 | 36 | 36 | none | none | open |
| NIST agent standards | 8 | 28 | 1 | 27 | none | open |
| NIST AI 600-1 | 2 | 1 | none | none | 1 | open |
| NIST AI RMF points interleave | 3 | 3 | none | none | 3 | open |
| NIST AI RMF Playbook | 2 | 1 | none | none | 1 | open |
| NIST CSF 2.0 | 2 | 1 | none | none | 1 | open |
| NISTIR 8183 | 2 | 1 | none | none | 1 | open |
| NMPA portal | 3 | 3 | 1 | 2 | none | open |
| PIC/S GMP Guide | 2 | 1 | none | none | 1 | restricted |
| PIC/S PI 041 | 2 | 1 | 1 | none | none | open |
| PMDA AI | 36 | 630 | 13 | 617 | none | open |
| 21 CFR Part 11 | 12 | 66 | 55 | 11 | none | open |
| 21 CFR Part 211 | 10 | 45 | 36 | 9 | none | open |
| 21 CFR Part 820 (QMSR) | 10 | 45 | 36 | 9 | none | open |
| WHO AI health | 2 | 1 | 1 | none | none | open |
| WHO data management | 45 | 990 | none | 990 | none | open |
| WHO computerised systems | 2 | 1 | none | 1 | none | open |
The same thing for a machine
Every point and every verdict on this page is published at
/api/v1/compare.json,
with the condition that refused each pair. The observations the points are
drawn from are at
/api/v1/observations.json.
A difference here is a difference between two readings this record retained of one address. It is not a statement about what a document requires, about what changed in substance, or about anything that follows from it. The digest is of the normalised text rather than of the bytes served, so hashing a source as served will not reproduce it. Normalisation removes scripts, comments, navigation and page chrome, then strips tags. Where a tag is malformed the strip does not match it, so a fragment of a tag attribute can survive into the text that was hashed — a span shown here is a span of the normalised text this record hashed, and not necessarily of the document’s prose. How this record is built.
Last updated: