Skip to content

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

QuestionRuling
Which Identification routes exist, and what standing each has relative to the othersADR-0030
What the camera reads off a printed label, and in what orderADR-0030, carrying the read order of the superseded ADR-0004
Who makes the QR route real, and whose scope that work sits inADR-0030 — the work itself is described in Curation
Why the QR code printed on the source poster is not this route's QR codeADR-0010
What a Chemical Record is keyed on, and why two revisions of one product are two recordsADR-0013
How the three routes are exercised without a cameraSpecification, 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.

QuestionRuling
Which SDS governs when the Corpus holds two records for one chemicalADR-0023
What the app does with a search term that matches several productsADR-0023
Whether merging, deduplicating or designating a canonical record was consideredADR-0023, rejected options
Whether Routing may rank the best-matching record and answer from itADR-0031, rejected options
What a search matching several products must return under testSpecification, 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

QuestionRuling
What a natural-language question may resolve to, and what the model decidesADR-0031
Which record a question resolves to, and where a chemical name in a question is handedADR-0031
What happens when retrieval's top hit sits below the Routing ThresholdADR-0031
Where the Routing Threshold is fixed, and by whomADR-0031; the work is in Curation
Whether the surface may write the safety answer it points atADR-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 branchADR-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 thenADR-0055, amending ADR-0033
Whether the tier's answer may decide anything a person acts onADR-0043
How the surface's behaviour narrates in the specSpecification §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

StateWhere it is settled
Both tiers presentADR-0031
No signalADR-0031, against the offline standing of ADR-0005
The spend cap reachedADR-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 soADR-0032
Whether every route must still work with the cloud tier deadSpecification, 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.

QuestionRuling
What the provider receives, what it returns, and what never leavesADR-0031
Which provider and model, on which tierADR-0033
Which half of the original data requirement survived contact with a real provider, and which was withdrawnADR-0033
The residual exposure, stated rather than impliedADR-0033, Consequences
How spend is bounded, and what happens on reaching the boundADR-0033
Why the endpoint is limited per client address rather than per userADR-0033, against the account ruling in ADR-0029
Whether any safety surface may touch the network at allADR-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

MechanismWhere
Identification returns candidates across all three routes, including the no-match caseSpecification, Seam 3
A term matching several products is not collapsed to oneSpecification, Seam 3
Every Routing Fixture case resolves to one exact outcome, and passes again with the cloud tier deadSpecification, Seam 5
No safety surface issues a network request while the Corpus is presentSpecification, Seam 4
The three curated artifacts this area needs, and what they costADR-0031, Consequences and Curation
The terms this page uses — Identification, Routing, Routing Floor, Query Intent, Routing Threshold, Escalation Trigger, Routing FixtureCONTEXT.md