An official website of the Disclosure Foundation

Introduction

Overview

Modules

The Manifest DocumentCalibration

Guides

Publishing a Manifest

Publishing a Manifest

Author, validate, and register your organization's sensor manifest

Any operator — vendor, research group, or institution — can publish a manifest. Three steps:

1. Author it

Build the document with the factories (or write JSON directly against the schema artifact):

import { createSensorEntry, createSensorManifest } from '@disclosureos/instruments';

const magnetometer = createSensorEntry('site-a-fluxgate', 'Fluxgate Magnetometer', 'environmental', {
  recordsMapping: { sensorType: 'fluxgate_magnetometer', detectionMethod: 'magnetic' },
  timing: { timeSource: 'gps_disciplined', timeUncertaintyNs: null },
  rawData: { format: 'CSV', locatorPattern: 'site-a/mag/YYYY/MM/DD/' },
  measurements: [{ name: 'field_strength', unit: 'uT', uncertainty: { u_c: null, U: null, k: null, type: 'B' } }],
  calibration: {
    status: 'in_practice',
    currentMethod: 'weekly zero-field chamber check',
    traceableReference: 'USGS/INTERMAGNET',
    referenceInUse: false,
  },
});

const manifest = createSensorManifest('Example Observatory', 'example-observatory', [magnetometer], {
  orgUrl: 'https://example.org',
});

Be honest about gaps — null uncertainty and status: 'none' are correct answers, not failures. Spec-level class descriptors are fine where you prefer not to disclose exact hardware.

2. Validate it

disclosureos manifest validate ./example-observatory-sensors.json

Or programmatically with validateSensorManifest(manifest), which returns a list of issues (empty = valid). Proposing a sensorType or detectionMethod that isn't in the records enums yet? Flag it with proposedSensorType: true / proposedDetectionMethod: true — that flag is the standard's vocabulary-growth pipeline.

3. Host it and register it

Host the JSON at a stable URL you control, then add your organization to the community registry via pull request:

{
  "orgSlug": "example-observatory",
  "org": "Example Observatory",
  "manifestUrl": "https://example.org/sensors.json"
}

Once registered, any record's sensorRef ("example-observatory:site-a-fluxgate") resolves to your published spec — and claims backed by your calibrated instruments earn scoring credit.

Calibration

The calibration maturity gradient, honest nulls, and the scoring feedback loop

On this page

1. Author it
2. Validate it
3. Host it and register it