The Manifest Document
SensorManifest and SensorEntry — the anatomy of a published sensor catalog
A manifest is one JSON document per organization. The top level identifies the publisher and holds the sensor catalog:
| Field | Type | Notes |
|---|---|---|
schemaVersion | string | Required. SemVer of the manifest schema targeted. |
org | string | Required. Display form ("ELDÆON"). |
orgSlug | string | Required. Stable kebab-case slug ("eldaeon") — the org half of a sensorRef. |
orgUrl | string | Publisher URL. |
generatedAt | string | ISO date the manifest was generated. |
sensors | SensorEntry[] | Required, ≥ 1. The catalog. |
futureUpgrades | FutureUpgrade[] | Planned hardware declared ahead of deployment. |
SensorEntry
Each entry is one sensor. id must be kebab-case and unique within the manifest — it is the sensor half of a sensorRef.
- Identity —
id,name,modality(one of six:audio,electro_optical,radio_frequency,quantum,environmental,biometric),manufacturerModel(class descriptors allowed),inHouse,compute. recordsMapping— how the sensor maps to theSensorType/DetectionMethodvocabulary in@disclosureos/records. Values outside those enums must be flaggedproposedSensorType: true/proposedDetectionMethod: true; the validator rejects unflagged strangers. This is also the pipeline for growing the records enums — flagged proposals from real manifests are how the vocabulary expands.timing—timeSource(atomic_clock,gps_disciplined,ntp,system,unknown) plustimeUncertaintyNs. Timestamp error of even a few seconds confounds multi-station correlation, so the clock is declared, never assumed.rawData—format,locatorPattern,sampleRateHz,bitDepth. Supports metadata-first distribution: circulate manifests widely, pull raw data on demand.measurements— each measured quantity with a UCUM-styleunitand GUM uncertainty (u_c,U,k,typeA/B). Nullable until an uncertainty budget exists.calibration— see Calibration.specs/specSource— free-form hardware spec sheet values and their provenance.
The DX quintet
Like every foundation package, instruments ships constants (MODALITIES, CALIBRATION_STATUSES, …), labels (MODALITY_LABELS, CALIBRATION_STATUS_DESCRIPTIONS, …), guards (isModality, …), factories (createSensorEntry, createSensorManifest), formatters (formatSensorManifest, …), and the canonical validator validateSensorManifest.
Schema artifact
The committed JSON Schema is emitted from the Zod source and drift-tested:
https://os.disclosure.org/schema/instruments/1.0.0/sensor-manifest.json