An official website of the Disclosure Foundation
Datasets
Meet DisclosureOS v2Install the betaObservation recordsEvent and settingInstruments and acquisitionConnect measurements to instrumentsA complete synthetic measurementClaims and interpretationsTestimony and recorded accountsDocuments and provenancePhysical samples and custodyRun the provenance examplesAssessment and reviewPrepare a dataset contribution

v2 Beta · Integration preview

A complete synthetic measurement

Run the published binding evaluator on documents and actual local bytes.

This example follows a synthetic radial-velocity measurement through its source assertion, declared reduction, raw product, captured channel and instrument configuration. All values, identities, calibration declarations and files are synthetic. It contains no ELDÆON data.

Download the complete example. The archive includes four JSON documents, three small artifacts, a pinned package dependency and run.mjs.

Run the check

Unzip the download, open its measurement folder, and use Node.js 22 or newer:

npm install
npm start

The script reads the supplied documents and local bytes, then calls evaluateMeasurementBindings from @disclosureos/schema/experimental/v2. No provider URLs are fetched by the evaluator.

Expected output:

{
  "success": true,
  "checks": {
    "structural": "passed",
    "semantic": "passed",
    "profile": "passed",
    "external": "not_checked"
  },
  "scientific": "not_checked",
  "clockUncertainty": "not_checked",
  "artifactContents": "not_checked"
}

Follow the same reading across four documents

FileWhat to inspect
history.jsonobservation.measurements[0] declares −3 m/s. Its source is assertion:velocity, which points to product:summary; the declared reduction traces that product to product:raw.
context.jsonproduct:captured-raw belongs to acquisition:a1, which pins the instrument configuration and captures channel radar.
bindings.jsonConnects source:station to instrument:station, and observation product:raw to context product:captured-raw.
measurements.jsonConnects measurement:velocity to that raw product, channel radar and the explicit instant 2026-07-28T12:10:00Z.

The channel and measurement both declare radial velocity and m/s. Measurement time falls at the start of the one-minute capture interval. The raw-product, manifest and calibration-report files match their declared byte lengths and hashes.

The history also contains synthetic source and assessment claims. Those are attributed declarations; their outcomes are not conclusions established by the binding evaluator. The calibration review remains unreviewed, and the reduction has not been reproduced.

Try two informative failures

  1. In run.mjs, omit the final { assets } argument. An otherwise eligible profile becomes not_checked because required artifact bytes were not supplied. The script exits unsuccessfully and prints diagnostics.
  2. Restore that argument, then alter assets/product-captured-raw.txt without changing the metadata. The supplied bytes no longer match their declarations and verification fails.

This demonstrates the difference between missing information and contradictory supplied information. Neither state is a scientific judgment about a real observation.

Use this pattern with a provider

Replace the synthetic material with an agreed sample from one real capture. Preserve native bytes, identifiers, units, time semantics and configuration references. Do not fabricate missing calibration, clock or location context to get a passing result.

A useful first ELDÆON integration will exercise this path on a small native sample before expanding to the full archive. The ELDÆON public preview remains separate from this example and from a validated native-data integration.

Source and implementation

The four documents and three artifacts are copied unchanged from the canonical synthetic example, under its MIT license. The portal adds the runnable wrapper and dependency pin. Read the script.

Continue with Records, Instruments or binding rules and limitations.

Connect measurements to instruments

Follow references from the observation to captured products and channels.

Claims and interpretations

Preserve source statements, attributed assessments and revision history.

On this page

Run the check
Follow the same reading across four documents
Try two informative failures
Use this pattern with a provider
Source and implementation