OrbitFabric v0.3.0 — Data Product and Storage Contracts¶
Status: development preview
Release type: model and documentation release
Primary focus: Data Product and Storage Contracts
Summary¶
OrbitFabric v0.3.0 introduces the first Data Product and Storage Contract slice.
This release extends the Mission Data Contract beyond payload behavior and into the first concrete layer of the Mission Data Chain:
Payload Contract
-> Data Product Contract
-> Storage Intent
-> Downlink Intent
The main result is that OrbitFabric can now describe optional mission data products produced by payloads or subsystems, validate them structurally and semantically, generate documentation for them and demonstrate them in the synthetic demo-3u mission.
Highlights¶
- Optional
mission/data_products.yamlmodel domain. DataProductContractmodel.- Data product producer references.
- Data product type support.
- Estimated data product size.
- Data product priority.
- Storage intent.
- Storage class.
- Retention intent.
- Overflow policy.
- Downlink intent.
- Downlink policy.
- Semantic lint rules for data products.
- Generated
data_products.mddocumentation. - Invalid data product fixtures and tests.
- Synthetic demo mission data product.
- ADR-0008 for Data Product and Storage Contracts.
What Data Product Contracts Describe¶
Data Product Contracts may describe:
- data product identity;
- producer reference;
- producer type;
- optional payload reference;
- product type;
- estimated size;
- priority;
- storage class;
- retention intent;
- overflow policy;
- downlink intent.
What Data Product Contracts Do Not Describe¶
Data Product Contracts do not describe:
- real onboard storage runtime;
- file-system implementation;
- compression engines;
- payload data processing pipelines;
- physical payload simulation;
- contact window modeling;
- RF link modeling;
- downlink runtime;
- ground segment implementation;
- runtime skeleton generation.
Demo Mission Addition¶
The synthetic demo-3u mission now includes one clean-room data product:
data_products:
- id: payload.radiation_histogram
producer: demo_iod_payload
producer_type: payload
type: histogram
estimated_size_bytes: 4096
priority: high
storage:
class: science
retention: 7d
overflow_policy: drop_oldest
downlink:
policy: next_available_contact
This demonstrates the relationship between a payload contract, a produced mission-data object, storage intent and downlink intent.
Positioning¶
OrbitFabric remains a Mission Data Contract framework.
This release does not turn OrbitFabric into:
- a flight software framework;
- an onboard storage runtime;
- a payload processing pipeline;
- a physical simulator;
- a ground segment;
- a CCSDS/PUS/CFDP implementation;
- a runtime code generator.
Compatibility¶
OrbitFabric is still pre-1.0.
The Mission Model, Payload Contract Model and Data Product Contract Model may evolve before v1.0.
Verification¶
Expected verification commands:
ruff check .
pytest
mkdocs build --strict
The demo mission should also pass:
orbitfabric lint examples/demo-3u/mission/
orbitfabric gen docs examples/demo-3u/mission/
orbitfabric sim examples/demo-3u/scenarios/battery_low_during_payload.yaml