Appearance
The Corpus lifecycle
The question this answers: how does a supplier's document become an answer on a device with no signal?
Corpus, The Plant, Study Area, Not Stated and Corpus Unavailable are glossary terms, and CONTEXT.md holds the definitions the rulings use. The stages below are described in Specification §2, §4 and §5.
From binder to device
Sourcing: which documents, and how many
| Question | Ruling |
|---|---|
| Whose documents the Corpus is made of, and whether public manufacturer sheets may stand in for them | ADR-0011 — The corpus is the case-study plant's own SDS, ingested as files |
| Whether a live integration with a plant chemical-management system is in prototype scope | ADR-0011 (D-15) |
| What sizes the Corpus, now that a document count is no longer the unit | ADR-0034 — The Corpus is sized to one production area, not to a document count |
| Which artifact is requested from The Plant first, and why it is a smaller ask than the binder | ADR-0034 (D-80) |
| What each admitted document then costs | ADR-0028, summarised in Curation |
An earlier sourcing ruling is kept and marked dead rather than deleted: ADR-0003 — superseded by ADR-0011; do not follow it.
The proxy set
The dotted lane in the diagram is the only path into Curation that is not The Plant's. What it is for, what it may never become, and the single document that distinguishes a real Corpus from a scaffolded one are settled in ADR-0016 — A proxy corpus develops the pipeline; it is never the delivered corpus.
That ADR carries an explicit abuse warning naming the phrase that would be used to ship the option ADR-0011 rejected. The proof test is restated in the spec's Declared Gaps, which is where a demonstration running on scaffolding is obliged to say so.
Getting the Corpus onto the device
| Question | Ruling |
|---|---|
| Why the whole Corpus is on the device rather than fetched at the point of need | ADR-0005 — Safety content is offline-first; only the chatbot requires a network |
| Whether a cache of recently viewed chemicals would serve instead | ADR-0005, rejected options |
| What the web platform costs this promise — storage eviction, installability, service workers | ADR-0020 (D-42) |
| Which premises of ADR-0005's rationale were retracted, and what it now rests on | ADR-0018 (D-34) |
| What a published version is, and whether its bytes may change afterwards | ADR-0056 |
| What a server with nothing published answers, and which version a device takes as its sentinel | ADR-0057 |
| Why that refusal is never the same thing as Corpus Unavailable | ADR-0057, against ADR-0032 |
| In what shape an SDS Section crosses the snapshot seam, so a Thai-first device can name it | ADR-0072 |
What syncs, in which direction, what is versioned, and why Corpus replacement is atomic are set out in Specification §2 and §4. The client and server split itself is in System architecture.
Between the "Corpus of record" and "Corpus snapshot" boxes in the diagram sits a publish, and it is a gate rather than an export: the parent repository's Seam 1 checker runs against the payload before a version exists at all. What a refusal from that gate carries is ADR-0062; what the payload is once it passes is ADR-0056.
When the device holds nothing verifiable
| Question | Ruling |
|---|---|
| Whether a device holding no verifiable Corpus may answer the way a silent SDS does | ADR-0032 — A missing Corpus is its own answer, and it is never Not Stated (D-72) |
| What "verifiably complete" is checked against, and whether a partial Corpus is readable at all | ADR-0032 (D-73) |
| What still works on a device holding nothing | ADR-0032 (D-74) |
| Why Escalation precedes procedure wherever it appears | ADR-0006 |
| What the recovery path costs, and what this ruling does not solve | ADR-0032, Consequences |
Not Stated and Corpus Unavailable are separately defined in CONTEXT.md, and the distinction between a statement about a document and a statement about a device is the whole subject of ADR-0032. The rule that neither may be produced by generated prose is in The content split.
Where the lifecycle is checked
| Mechanism | Where |
|---|---|
| Assertions over the Corpus snapshot as pure data, before any interface exists | Specification, Seam 1 |
| The assertion that no safety read touches the network | Specification, Seam 4 |
| The companion case: with the Corpus removed, every safety surface reports Corpus Unavailable and none reports Not Stated | ADR-0032, Consequences |
| The gaps this lifecycle openly carries — no automatic updates, no coverage guarantee outside the Study Area | Specification, Declared Gaps |
Where the rest of this is
- The steps inside the Curation box are in Curation.
- What a snapshot contains is in Data model.
- What is blocked on The Plant right now is in Current state.