Research preview
How MATTER works
MATTER reads a publication and records what it reports, keeping the source wording behind a published value wherever the release carries it, and saying so where it does not.
How this page is built
This page starts from what you can do with it, follows one publication through the compiler to a released record, and only then explains the machinery underneath. Every live count on it is read from the same catalog and dataset the rest of the application serves, every other figure names its date, and where a live read fails the page says so rather than showing a stale number.
Start here
One value, beside the sentence it came from
MATTER is a compiler for scientific evidence. Give it a publication and it produces a record: the values the publication reports, each with its number, its unit, the condition it was published under and the wording the paper used, and behind each value the retained passage it was read from. Where a record cannot carry one of those, it says which and why.
The full account
Below, when the catalog can be read, is a value from the records this deployment serves, shown with the same parts its record shows.
A published value, as its record shows it
source-reported / not adjudicatedProperty
Seebeck coefficient
- Method
- Not stated by supported metadata
As the publication words it
The maximum value of the Seebeck coefficient of 161.52 μV·K−1 is obtained for the π-SnSe alloy at the highest temperature (1000 K).
The passage it was read from
The maximum value of the Seebeck coefficient of 161.52 μV·K−1 is obtained for the π-SnSe alloy at the highest temperature (1000 K).
Value 48 to 54Unit 55 to 61Temperature 123 to 127
Also matched in this passage, and not marked because it overlaps the marked parts: Reported wording 0 to 131.
A publication
The compiler
- S0
- S1
- S2
- S3
- S4
- S5
A record
A refused claim stays in the released record with its reason
- One stage reads the source with a model
- A second may ask a model to choose among governed candidates
- Every other step applies fixed rules to retained bytes
Why it exists
Reading is not understanding
The world does not primarily lack scientific data. It lacks a trustworthy account of what the data means. A model can read a paper, but before a number in it can be used, the reader has to know eight things about it, and a table of numbers keeps almost none of them.
Eight things a reader has to know about a number
a table of numbers keeps almost none of them
Three ways a number loses its meaning
The condition lives in another sentence
a valuethe temperature it holds atOn the six records released by 13 September 2026
14 of the 19 withheld entries
the most common reason a claim was withheld
In words
A paper states a value in one sentence and the temperature it holds at in another, or in a figure caption. Read the value alone and the condition is gone; guess it, and the record has invented a fact.
Each value is anchored to one retained sentence, and a value whose condition that sentence does not state is withheld with the reason. On the six records released by 13 September 2026, that was the most common reason a claim was withheld: 14 of the 19 withheld entries.
One property, two specimens
different pieces cut from one batch
A thermoelectric figure of merit combines
- the Seebeck coefficient
- the electrical conductivity
- the thermal conductivity
nothing is joined into a curve or a comparison on the value's behalf
In words
A thermoelectric figure of merit combines the Seebeck coefficient, the electrical conductivity and the thermal conductivity, and papers routinely measure them on different pieces cut from one batch, sometimes in different directions.
A record keeps the specimen a value belongs to and the preparation step that produced it. Rows stay in served order, and nothing is joined into a curve or a comparison on the value's behalf.
A guess promoted to a fact
a candidateits quoted sentence is found exactly once in the retained textwherever rights let the passage be kept, each of its parts is found in that passagea published valueIn words
Extraction models over-extract, borrow a temperature from a nearby sentence, rescale a unit the paper did not print, and restate one fact as several rows, and their output looks exactly like data.
Every extraction here begins as a candidate. It becomes a published value only when its quoted sentence is found exactly once in the retained text and, wherever rights let the passage be kept, each of its parts is found in that passage; a model's answer is treated as a proposal to be checked, never as a truth.
Four ways in
Four ways to work a publication
You probably arrive holding one of three things: a paper, a DOI, or a quantity you care about. There are four surfaces, each costing a different amount of your time, and none of them is an answer box. Nothing here ranks, summarises or guesses.
- Browse research/browse
Bring a property name, a DOI, or words from the sentence a value was reported in
Not the web, not semantic, and nothing is ranked by relevance, recency or magnitude.
In words
A literal, case-insensitive search over the current records this deployment has released: the registry title, the DOI, the property and the reported wording, with a property filter and a method filter beside the field. Two views of one catalog, records and findings, with every refusal listed apart so an empty result never hides one.
A typed question finds nothing.
- Literature/literature
Bring a title, an author, or a DOI you already have
Not the catalog of records, not verified science and not verified rights.
In words
A frozen collection of publication metadata exported from OpenAlex on a stated date, searched literally by title, DOI and author, twenty works a page, with any released record for the same DOI named beside a work. The form that submits a publication lives here.
Saving a work to an investigation starts nothing; processing it is a separate, explicit action.
- Workspace/workspace
Bring the question you are trying to answer
Nothing is synced and no account exists.
In words
Named investigations that live in this browser: an organising question, notes, references, and the findings you collected, compared side by side exactly as the current release serves them and exported as a CSV, a JSON package and a citation text.
No value is ever stored here: every fact is read again from the server each time, and nothing is normalised, converted, ranked or averaged.
- The assembled dataset/dataset
Bring a reason to want every record at once
A deployment that binds no dataset says so in words.
In words
The one dataset this deployment binds: its licence and attribution, what it covers and what it withheld with the denominators visible, the records it was built from, and its files, each with a digest the download route checks byte for byte.
It is never rendered as an empty dataset.
In words
The first page is one search field and a few sample searches read from the catalog's own index, never written by hand. With scripting on it also offers a short tour drawn over the real pages: each step points at something the page already shows, invents no example of its own, and is skipped when its target is not there.
From a publication to a record
How a publication becomes a released record
This is the one part of the page that is a sequence, so its steps are numbered. A submitted reference is answered at a door, an admitted one is followed on a trail, and the compile itself is a fixed chain of six stages whose state is replayed from an append-only ledger.
The full account
One stage reads the source with a model; a second may ask a model to choose among governed candidates, and that choice is recorded but never allowed to continue on its own; every other step applies fixed rules to retained bytes. What every stage can do is refuse. A refused claim stays in the released record with its reason; a refused stage ends the run on its ledger, the trail says so, and no record is released.
At the door: five typed answers
A submitted reference
The door admits exactly four licences, where the record says they cover the version of record or names no version at all
Admitted
- CC BY 4.0
- CC BY 3.0
- CC0 1.0
- the Public Domain Mark
Refused
- Non-commercial
- no-derivatives
- share-alike
- a record that states no licence at all
In words
Rights are read from the registrant's own record and checked by machine; nobody's assertion is accepted. The door admits exactly four licences, where the record says they cover the version of record or names no version at all: CC BY 4.0, CC BY 3.0, CC0 1.0 and the Public Domain Mark. Non-commercial, no-derivatives and share-alike licences are refused, and so is a record that states no licence at all.
On the trail: what happened, in order
- the doorRecorded
- the doorStarted
- the intake workerAdmitted
- the intake workerCompiling
- the publisherReleased final
- the publisherFinished without a record final
- the intake workerRefused final
- whichever identity was carrying itFailed final
Inside the compiler: six stages, in order
Acquire: Fetch the source, under its rights
applies fixed rules to retained bytes
In words
Each planned artifact is fetched under a closed rights table that decides, per licence tier, whether its bytes are retained and distributable, kept in controlled custody, or held as a digest only. A tier the table has not decided is a refusal, never a default. A PDF is derived to text by a converter whose identity is bound, and that derived text is what the model will read and what every anchor is later checked in.
Perceive: Read it once, with a model
reads the source with a model
In words
The one model call in every literature run released so far; the deployed lane can make a second, bounded call in the next stage when a property name does not resolve exactly, and no released run has needed it. Every retained artifact is loaded with its digest re-verified, the text is shown to the model, and the model is asked for a candidate lineage: materials, specimens, process steps and claims, with every claim and every process step quoting its verbatim source sentence. The request pins the tightest schema the provider accepts and the answer is held to the full schema after it returns: it parses into candidates or it is a typed refusal, and an answer the provider cut short never completes the stage. Before the request leaves, the run's qualification must be current, and the whole exchange is retained content-addressed.
Refine: Anchor and resolve, or refuse
may ask a model to choose among governed candidates
In words
Each claim's quoted sentence must resolve exactly once in the derived text of the run's own retained bytes. Units resolve only through a closed table with declared conversions, and properties only to the governed vocabulary. A claim that fails becomes a typed refusal naming the failing step, kept in the package beside the claims that succeeded. Where exact resolution fails the claim is withheld. The deployed lane may ask a qualified model to pick from a closed list of governed names, and its answer is recorded, but the policy withholds the claim whatever it picks, so nothing a model chose is released.
Validate: Check the arithmetic
applies fixed rules to retained bytes
In words
Decimal arithmetic over the refined package, from three checks bound to a governed registry: whether a reported power factor reproduces the Seebeck coefficient squared times the conductivity, whether a figure of merit reproduces from its parts, and whether a curve peaks where the text says it does. A check that cannot run abstains with a reason rather than guessing or skipping, and in every run released so far all three abstained for want of operands.
Adjudicate: Apply the policy, claim by claim
applies fixed rules to retained bytes
In words
A severity lattice: an open high-severity item blocks a claim's acceptance, lesser items attach as stated qualifications, and review items are raised as optional attention. No route waits for a person. In a source-discovery run nothing is accepted at all: every claim is source-reported, or withheld with its reason.
Release: Bind everything, or ship nothing
applies fixed rules to retained bytes
In words
The stage refuses on any artifact in controlled custody or on a document that fails schema validation; a failed arithmetic check does not block a release under the current registry, it is raised as a review item and attached to the claim as a qualification. Otherwise it binds every artifact by digest into a release record. The publisher then replays the ledger, holds every receipt to the sealed specification, copies the release verbatim and writes the catalog entry last, so a publish that dies leaves nothing visible.
no record is releaseda refused stage ends the run on its ledger, the trail says so
Nothing compiles without a current qualification.
The full account
A reviewed rule, selected by digest, names one model, one project, one serving location, one SDK version and the exact prompt digest a probe is sent under. A probe makes one real exchange with the provider and always leaves a retained observation; a qualification is issued only when the retained bytes agree with every claim about them, and it lapses after seven days. The model version the provider reports back is compared with the sealed binding before the stage is written as finished.
One live run, and how the quantity narrowed
2 September 2026about seven minutes
- candidates
- 15
- claims
- 7
- refined, refused
- 3 + 4
- review items still open
- 7
- refined
- refused
- review items still open
In words
Counts describe scope. They are not a confidence score, and a larger number does not make a value stronger. Each figure counts claim entries the release served, one per claim id, not distinct scientific findings: two entries may report the same value, and both are kept with their own id, evidence and disposition rather than merged or judged to be one finding.
The first live run through this path, on 2 September 2026: a DOI submitted at the door went from recorded to released in about seven minutes, with no operator step inside it. Two more went through the door on the two days after: one stopped at acquisition, one released.
Human review is optional and attributed, and it is never a dependency of publication. The routing policy states that no route waits for a person, and the live run above released with all seven of its review items still open. Nothing a person decides can override a rights, custody, integrity or provenance refusal, and a recorded decision creates a new version rather than rewriting a published record.
Inside a record
What a record contains
What a record carries depends on what kind of record it is. A record of what a publication reports carries the values the source reports. An adjudicated record names one claim, and carries a value only where that claim is recorded accepted; where it is not, the record carries its evidence scope and its limitations and no value at all. A release may also carry a presentation this application does not know how to display, in which case it is listed and not described.
The anatomy of one published value
- Read from the retained source and checked
- Unavailable, with a stated reason
- No component evidence released
- This value has no such part
Excerpt not served
In words
Where a record does carry a value, it can also carry the source wording that value was read from, the transformation that turned that wording into a normalized number and unit, and the passage in the retained source it came from.
None of those three is guaranteed. A release may publish no component evidence at all; it may publish evidence that explains why a part could not be read; and the rights scope served with a source may withhold the passage itself while keeping its locator and digests. Where a record does not contain one of them, it says which and why. An absence with a stated cause is a result, not a gap in the page.
A rights scope that withheld the passage is a property of the value's anchor, not a fifth mark: the locator and the content digests still identify the passage exactly. A missing passage under a scope that permits it is said to be not carried, never blamed on rights.
On a record of what a publication reports, four parts of every published value, its number, unit, condition and wording, each carry exactly one of these marks on the record's provenance ledger, and the distinctions are the point.
How a record of what a publication reports reads
In words
- What it reports
- Every published value, under the specimen it was served for, with its property, its stated condition and the paper's own wording.
- One value
- One value in full, chosen in the address bar, so a single value has a link of its own; the citation names the record it belongs to.
- Not published
- The claims the release withheld, each with the reason it recorded.
- Where this came from
- How the record was built: the retained source, what was read from it, how much of each value is anchored.
- Cite this
- The registry citation, kept apart from the stable release identity.
A reading order, not a sequence, which is why these are not numbered. An adjudicated record reads from its outcome to its limits instead.
What it will not say
What MATTER does not claim
A page that only says what a system does invites the reader to assume everything else. Each colour below means exactly one thing, a withheld claim is a result rather than a gap, and a count is never a score.
Each colour means one thing
Two ways a claim is withheld
Withheld at refinement
KeptreasonNot servedvaluepropertypassagebindingThe reason travels.
In words
Anchoring, value resolution, unit resolution or property resolution kept the claim out. The reason names the step that failed.
The reason travels. No value, property, passage or binding is served for it.
Withheld for an unsupported part
KeptvalueunitconditionwordinganchorbindingsreasonLabelled as what the extraction proposed, never as what the source says
In words
One part of the value, typically a numeric condition, is not stated in the passage the claim is anchored to.
The value, unit, condition, wording, anchor and bindings are kept beside the reason, so a reader can see the candidate next to the passage and why it was not published. The candidate is labelled as what the extraction proposed, never as what the source says.
The full account
A value appearing in MATTER is not a stronger claim than the publication made. Where a record shows what a source reported, nothing in it has been adjudicated, corroborated or promoted.
Counts of evidence describe how much was in scope. They are not a confidence score, and a larger number does not make a claim stronger.
MATTER does not infer whether a value was measured, computed, digitized or derived. Where supported metadata stated a method, the record carries it and the value shows it; where it did not, the value says the method is not stated, and neither the title, the journal nor the extraction is consulted to fill it in.
A model's answer is treated as a proposal to be checked, never as a truth. No score, probability or confidence is served on any record or read by any route, the engines this deployment runs produce none, and where a model could choose between candidates the choice is withheld rather than trusted.
Human review is optional and contextual. Nothing is held back waiting for someone's attention, and no person can override a rights, custody, integrity or provenance refusal.
Every value traceable
Identity you can check
Every released record is named by a digest of its own bytes, and everything it distributes is pinned by digest inside it. Nothing about identity is asserted: the catalog re-proves a release from the record itself on every read. The figures in this section are read when the page is requested: the record counts from that catalog, the published and withheld figures from the assembled dataset, and the collection's size from the literature collection's own manifest.
What this deployment holds, read now
- records of what a publication reports
- adjudicated records, one claim each
6
released records, current
5of 6
records of what a publication reports
1of 6
adjudicated records, one claim each
3
catalog entries this deployment will not serve
A current record is one no newer release replaces; an older release still opens and points forward. A refusal is a typed reason, not a record, and it says nothing about the science. Apart from the catalog, the Literature page serves 14,130 works of publication metadata from OpenAlex, exported on 9 September 2026: a collection to find a publication in, not the catalog of records.
The API served no assembled dataset, and said why. no dataset is bound to this deployment; it serves compiled releases and no assembled dataset The figure that would sit here, values published against values withheld, is not shown rather than estimated.
A release is its digest
The release record is named by the SHA-256 of its own canonical bytes, and the catalog recomputes that digest from the record on every read. Every artifact the release distributes is listed inside it with its digest, media type and byte count, and must match to be served.
A re-release points forward
A newer release names the one it replaces in its own sealed record; nothing is ever written onto the older one, which still opens unchanged and routes the reader to the current release. A fork, where two newer releases name one older, is stated and never resolved by choosing.
The run has a ledger
Every compile appends to a hash-chained, append-only history: each event carries a digest over its content and the digest of the event before it, so any alteration or gap is detectable and the run's state is always replayed from it.
The method is manifest
Every stage result names the grammar profile, the kernel version, the model and prompt version it used, its tool versions and decoding settings, and the digests of every input and output, and the manifest must reconcile exactly with the artifacts it declares.
The model's exchange is retained
Each request to the model and its response are kept content-addressed under a key made from the model identity, the prompt version, the decoding settings and the input digests, and are re-verified when read.
The bibliography is somebody else's
A release carries a DOI and a source id but no title, authors or date. Those are looked up from the public CrossRef registry for exactly that DOI, attributed to the registry with the time of the lookup, and cited apart from the release identity.
In words
The identity the record copies is a plain string of stable identifiers: the DOI where one is served and the release digest, or for an adjudicated record the claim it names and the release digest. Naming a claim in it is not an endorsement of the claim.
Underneath
How it is built underneath
For readers who want the machinery. MATTER is a compiler, so the platform is a build farm plus a read-only serving side over content-addressed outputs; the two run under different identities with different grants, and the serving side has no code path that opens the compiler's stores.
Three lanes, three identities
the compiler
Compile
Reads custody, ledger, recordings
the publisher
Publish
Reads compiled runs; writes serving
the API
Serve
Reads the serving copy only: the serving database and the serving folder
No grant
Folders
- the browser
- the serverexactly eight named GraphQL operationsan identity token minted on the server for the API's address
- the private APIre-proving each release from its own bytes
- the serving copy
In words
Compile. One batch task owns one run from start to finish. It writes the retained bytes into custody, appends the run's ledger and retains the model recordings.
Publish. Replays the ledger, verifies the run once, copies the release verbatim into the serving store, files a receipt and writes the catalog entry last.
Serve. Answers reads over the serving copy, re-proving each release from its own bytes, and writes one thing: a submission's trail under the serving prefix, where a front door is built. It has no grant on the ledger, on package custody, on controlled custody or on the recordings, and no code path that opens them.
The model is Vertex AI Gemini, and which model, at which serving location and endpoint, is a field of the reviewed qualification rule, never a constant in stage code. The only assurance claimed is a provider-stable named model inside a bounded window, not fixed weights.
The rules this application is built under
- Server first.every page still works with scripting off
- One upstream.it has no default, it is never exposed to the browser
- Eight operations.exactly eight named GraphQL operations
- Its own identity.No browser ever holds it, and there is no login.
- No authored science in the artifact.a build check fails if any fixture string appears in the deployable tree
- Colour that means something.every ink clears a 4.5 to 1 contrast floor on every ground
In words
Server first. Pages are rendered on the server; small client components exist only where an interaction needs them, and every page still works with scripting off.
One upstream. A single server-only setting names the API; it has no default, it is never exposed to the browser, and reaching it from browser code is a build error.
Eight operations. The application can send exactly eight named GraphQL operations, each validated offline against a frozen copy of the API's schema whose own digest is checked first. There is no general query route.
Its own identity. Every request to the private API carries an identity token minted on the server for the API's address. No browser ever holds it, and there is no login.
No authored science in the artifact. Test fixtures reach the application only over the network from a loopback stub, and a build check fails if any fixture string appears in the deployable tree.
Colour that means something. One layered stylesheet is generated from a token source; no raw colour exists outside it, every ink clears a 4.5 to 1 contrast floor on every ground, and the doorway, browse, about, record, submission and literature pages are checked for accessibility violations.
Most of these are held by a check in the application's own gate rather than by a document; the first is how the pages are written, and the browser tests that run with scripting off exercise it.
During development the application is open: anyone can read it and there is no login.
The full account
The API behind it is private under every posture; this application reaches it only as its own identity, and its other invokers are the operators and the compiler's own front end. Submission execution is switched off, so a submitted publication is recognized and nothing more: nothing is written, nothing compiles, and compiles are launched by the operators.
How a record's domain is chosen
Records are compiled under explicitly selected profiles.
The full account
A profile declares the domain it supports - the properties, units, conversions and validators the compiler may use - and every submission is compiled under exactly one profile, never under a guess. A deployment configured with a profile the compiler does not carry refuses with a typed refusal, unsupported_domain, before any work starts. A publication whose content lies outside the selected profile's domain is not detected and not refused as a whole: it is compiled under that profile, and what the profile cannot name is withheld or refused claim by claim, never extracted free-form.
Two facts about profiles are different and are kept apart here. Which profiles a deployment has installed is answered by the compiler API, at GET /version under supported_profiles: only profiles whose authority that deployment carries are listed. Which one profile the intake lane actively compiles under is fixed by the deployment's configuration, and it is not the same fact as the installed list. This page has no live view of either: it carries no reader of the API's version report, only the record operations it shows, and it repeats neither list, because a copy could outlive the deployment it described. Nothing here should be read as support for an arbitrary domain; the profiles that exist today are extensions of one materials domain.
What it is not
What MATTER is not, and the edges it keeps honest
The clearest way to say what something is, is to say what it is not.
Not a search engine
Browse matches literally over the records this deployment released and ranks nothing, and a question typed into it finds nothing. Two governed lanes that would turn a question into a chosen search exist behind an API door; both were qualified on 14 September 2026, and the door still starts nothing, because no dispatcher is wired to them: no page calls it and nothing spends through it.
Not a database of truth
A record says what a publication reported, not whether it is true. Nothing in a source record has been adjudicated, corroborated or promoted, and appearing here is not an independent validation.
Not a chatbot
There is no answer box. A research question is something the researcher organises in a workspace, not something a page generates.
Not a committee of agents
A literature run makes one schema-constrained model call. There are no critic or decomposer agents, no confidence vector, and the model's selection of a candidate is never authorised to continue on its own.
Not every domain
Records are compiled under one materials profile, and the vocabulary that runs today is a thermoelectrics subset. The compiler carries one more installed profile, a thermoelectric extension of the same materials domain; which one profile a deployment compiles under is its configuration, as the section below says. The biomedical and climate profiles exist as schema files that prove conformance and are not operational.
Not human-reviewed
Publication completes without a human decision. Review is optional, attributed and outside the critical path, and it creates a new version rather than rewriting a published record.
The edges
The full account
This is a research preview, open by default during development, and it is not production. There is no login, and production promotion waits on a separate security and governance program.
The catalog is small and the counts on this page are read live. On 13 September 2026 it held six released records, two of which published no values at all, and roughly half of all extracted claims were withheld with a typed reason.
Verification is partial and stated. Only the parts of a value that were read from the retained passage and checked are marked as such; the rest say why they are not, and nothing already published gains a binding without a re-release.
Nobody has measured that this makes a researcher faster. No outside researcher has yet been observed using it, and the page does not claim otherwise.
Tests that feed the compiler doctored inputs it must refuse are written under their own marker and are not run in any gate. Running them is a campaign the product owner authorises.
Scope
What is not here yet
This is an early research preview and its scope is deliberately narrow. What follows is what a reader might expect to find and will not, stated so that nothing on the other pages has to be discovered by its absence.
It does not
Deferred
- scientific-statement search
- arXiv lookup
- recommendations
- personalization and authentication
- server-side catalog pagination and filtering
- a full accepted-release claim list
In words
It does not search by question, statement or keyword: Browse matches LITERALLY, against the registry title where one was read, the DOI or source identity, the property, the method and the reported wording of the records it has loaded, and it narrows by property and by method. It has no pagination and no topics, it ranks nothing, and it reaches only the records this deployment has released - it is not a search of the literature. To look a publication up before MATTER has read it, the Literature page searches one bounded, locally held collection of publication metadata exported from OpenAlex on a stated date: it is a way to find and keep a publication, not the catalogue of records and not verified science or rights. Accounts, synced work and personalization do not exist; investigations live in this browser only.
For a release with an accepted claim, MATTER can currently serve that one claim and no listing of the others, so those records show a single finding rather than a complete inventory.
Deferred by name when the application was scoped, and not to be read as coming soon. Natural-language question search and publication ranking were reopened narrowly as governed lanes in September 2026; both are qualified, no dispatcher is wired to them, and no page calls them.
Read next
Where to go from here
This page is the overview. Each of these is a surface of the application, and each says on its own face what it does not do.
Start
The doorway
One search field, sample searches read from the catalog, and, with scripting on, a short tour over the real pages.
/
Catalog
Browse research
Every current released record, as records or as findings, with the refusals apart.
/browse
Collection
Literature
A frozen collection of publication metadata, and the one form that submits a publication.
/literature
Yours
Workspace
Investigations that live in this browser: question, notes, references, comparison, export.
/workspace
Download
The assembled dataset
The dataset this deployment binds, with its coverage, its members and its files.
/dataset
On this page
The value in the first section, the record and refusal counts and the published and withheld figures are read from the catalog and the dataset this deployment serves when the page is requested, and the literature collection's size and export date are read from the collection's own manifest. Everything else describes what the application does, written to match its code, and every dated figure names its date. Where a live read fails, the page says so rather than showing a stale number.