Appearance
Identification and Routing
The question this answers: how does a person holding a drum reach the right Chemical Record — and what happens when the question is typed rather than pointed at a label?
Two areas meet here, and both are named in the glossary: Identification and Routing, along with the Routing Floor, Query Intent, the Routing Threshold and the Escalation Trigger that the rulings below use. They are separate areas with separate rulings, and the relationship between them — whether the typed surface amounts to a fourth way of identifying a chemical — is itself settled in ADR-0031.
How the pieces sit
The shape above is drawn from the rulings in the tables below — including the arrow that goes from Routing into manual search rather than into a Chemical Record, which is ADR-0031 made visible.
Reaching a record from a container
| Question | Ruling |
|---|---|
| Which Identification routes exist, and what standing each has relative to the others | ADR-0030 |
| What the camera reads off a printed label, and in what order | ADR-0030, carrying the read order of the superseded ADR-0004 |
| Who makes the QR route real, and whose scope that work sits in | ADR-0030 — the work itself is described in Curation |
| Why the QR code printed on the source poster is not this route's QR code | ADR-0010 |
| What a Chemical Record is keyed on, and why two revisions of one product are two records | ADR-0013 |
| How the three routes are exercised without a camera | Specification, Seam 3 |
The read order in the third row is the one place a superseded ADR is still worth opening. ADR-0004 argued the ranking that ADR-0030 replaced, and the ranking is the only part that was replaced — the document records which part survived and why.
When one name matches several records
This is the case the area is built around rather than an edge of it, and the reason is worked in the ruling itself: ADR-0023 carries the acetone case, where two suppliers' sheets disagree about nitrile.
| Question | Ruling |
|---|---|
| Which SDS governs when the Corpus holds two records for one chemical | ADR-0023 |
| What the app does with a search term that matches several products | ADR-0023 |
| Whether merging, deduplicating or designating a canonical record was considered | ADR-0023, rejected options |
| Whether Routing may rank the best-matching record and answer from it | ADR-0031, rejected options |
| What a search matching several products must return under test | Specification, Seam 3 |
The failure both of those rulings guard against is the same one, and ADR-0031 says why it is worse in a router than in a generator. Its wording is worth reading rather than summarising.
From a typed question to a span
| Question | Ruling |
|---|---|
| What a natural-language question may resolve to, and what the model decides | ADR-0031 |
| Which record a question resolves to, and where a chemical name in a question is handed | ADR-0031 |
| What happens when retrieval's top hit sits below the Routing Threshold | ADR-0031 |
| Where the Routing Threshold is fixed, and by whom | ADR-0031; the work is in Curation |
| Whether the surface may write the safety answer it points at | ADR-0002 and ADR-0012, both restated in ADR-0031 — see The content split |
| What Escalation does relative to the network, and whether Routing may pick a Spill Response branch | ADR-0031, with the branch gate itself in ADR-0026 |
| When the server half of the Query Intent tier is built, and what the client does until then | ADR-0055, amending ADR-0033 |
| Whether the tier's answer may decide anything a person acts on | ADR-0043 |
| How the surface's behaviour narrates in the spec | Specification §9 |
ADR-0031 carries an explicit abuse warning naming the phrase that would be used to reopen ADR-0002 through this surface, and four specific changes it forbids by name. That section is the one to read before proposing an improvement to Routing.
The two tiers, and the states where one is gone
| State | Where it is settled |
|---|---|
| Both tiers present | ADR-0031 |
| No signal | ADR-0031, against the offline standing of ADR-0005 |
| The spend cap reached | ADR-0033, which names the state it lands in |
| No verifiably complete Corpus on the device — a different state from the row above it, and deliberately so | ADR-0032 |
| Whether every route must still work with the cloud tier dead | Specification, Seam 5 |
The last two rows are the ones that get collapsed into one, which is why ADR-0032 was written as a prohibition rather than as an expected value. It sets out which of the two states describes a document and which describes a device, and what remains reachable when there is no Corpus at all. The glossary defines both separately in CONTEXT.md.
What crosses the network
Read these two together — the second amends the first, and the first stands.
| Question | Ruling |
|---|---|
| What the provider receives, what it returns, and what never leaves | ADR-0031 |
| Which provider and model, on which tier | ADR-0033 |
| Which half of the original data requirement survived contact with a real provider, and which was withdrawn | ADR-0033 |
| The residual exposure, stated rather than implied | ADR-0033, Consequences |
| How spend is bounded, and what happens on reaching the bound | ADR-0033 |
| Why the endpoint is limited per client address rather than per user | ADR-0033, against the account ruling in ADR-0029 |
| Whether any safety surface may touch the network at all | ADR-0005, asserted mechanically by Specification, Seam 4 |
ADR-0033 records prices read on a stated date, one of which changes on a stated date. It says so itself, in its Dated facts paragraph.
Where this area is checked
| Mechanism | Where |
|---|---|
| Identification returns candidates across all three routes, including the no-match case | Specification, Seam 3 |
| A term matching several products is not collapsed to one | Specification, Seam 3 |
| Every Routing Fixture case resolves to one exact outcome, and passes again with the cloud tier dead | Specification, Seam 5 |
| No safety surface issues a network request while the Corpus is present | Specification, Seam 4 |
| The three curated artifacts this area needs, and what they cost | ADR-0031, Consequences and Curation |
| The terms this page uses — Identification, Routing, Routing Floor, Query Intent, Routing Threshold, Escalation Trigger, Routing Fixture | CONTEXT.md |