Skip to content

OrbitFabric v0.8.0 - Ground Integration Artifacts

Status: Released
Scope: Ground-facing Mission Data Contract exports


Summary

OrbitFabric v0.8.0 introduces the first ground-facing generated artifact slice.

This release turns the validated Mission Model into a deterministic, inspectable and tool-neutral ground-facing mission data package.

The feature remains deliberately bounded.

It does not generate a ground segment, mission control system, telemetry archive, command uplink service, operator console, decoder runtime, database schema or tool-specific Yamcs/OpenC3/XTCE integration.

It generates contract-aligned artifacts that ground software engineers, mission control engineers and integration teams can review, adapt or consume downstream.


Architectural meaning

v0.8.0 is the first OrbitFabric release where the Mission Model produces a ground-facing artifact package.

The intended chain is:

Mission Model
        -> validation and linting
        -> GroundContract
        -> generic ground-facing dictionaries
        -> JSON / CSV / Markdown review artifacts
        -> downstream ground-system integration outside OrbitFabric

The important rule is:

generated ground artifacts are disposable;
the Mission Model remains the source of truth;
real ground behavior lives outside OrbitFabric;
tool-specific claims require explicit implementation and tests.

Added

v0.8.0 adds:

GroundContract intermediate model
orbitfabric gen ground command
ground_contract_manifest.json
generic ground generation profile
JSON dictionaries for telemetry, commands, events, faults, data products and packets
CSV dictionaries for review workflows
README.md generated for the ground artifact directory
ground_dictionaries.md generated for human engineering review
manifest boundary flags for ground runtime, database, transport and tool-specific compatibility claims

Ground generator command

Ground artifacts are generated with:

orbitfabric gen ground examples/demo-3u/mission/

The default output is:

generated/ground/generic/

The current supported profile is:

generic

Generated artifacts

The generic profile generates:

generated/ground/generic/
├── ground_contract_manifest.json
├── README.md
├── dictionaries/
│   ├── telemetry_dictionary.json
│   ├── command_dictionary.json
│   ├── event_dictionary.json
│   ├── fault_dictionary.json
│   ├── data_product_dictionary.json
│   └── packet_dictionary.json
├── csv/
│   ├── telemetry_dictionary.csv
│   ├── command_dictionary.csv
│   ├── event_dictionary.csv
│   ├── fault_dictionary.csv
│   ├── data_product_dictionary.csv
│   └── packet_dictionary.csv
└── ground_dictionaries.md

These files are generated artifacts.

They are reproducible and disposable.

They are not committed as source files.


GroundContract manifest

The manifest records the generated ground-facing package and its architectural boundary.

It includes mission identity, generation profile, contract counts, artifact paths and boundary flags.

It explicitly records:

generated_artifacts_are_disposable = true
contains_ground_runtime = false
contains_operator_console = false
contains_transport = false
contains_database = false
claims_yamcs_compatibility = false
claims_openc3_compatibility = false
claims_xtce_compliance = false

These flags are part of the public v0.8.0 boundary.


JSON dictionaries

The JSON dictionaries expose machine-readable ground-facing views for:

telemetry
commands
events
faults
data products
packets

They are intended for scripts, review automation and downstream tool adaptation.

They do not implement decoders, encoders, telemetry archives, command uplinks or live ground behavior.


CSV dictionaries

The CSV dictionaries provide review-friendly tabular views of the same contract metadata.

Scalar fields are written directly as columns.

Nested metadata is serialized into stable compact JSON cells.

CSV files are intended for spreadsheet-style review, not as the primary machine-readable contract artifact.


Markdown review artifacts

The generated README.md orients users opening the ground artifact directory.

The generated ground_dictionaries.md is a human-reviewable engineering document with sections for telemetry, commands, events, faults, data products and packets.

The Markdown output avoids HTML table line-break tags to stay portable across common Markdown editors.


Validation baseline

The release baseline is:

ruff check .
pytest
mkdocs build --strict

orbitfabric lint examples/demo-3u/mission/ \
  --json generated/reports/lint_report.json

orbitfabric gen docs examples/demo-3u/mission/

orbitfabric gen data-flow examples/demo-3u/mission/ \
  --output-file generated/docs/data_flow.md

orbitfabric gen runtime examples/demo-3u/mission/

cmake -S generated/runtime/cpp17 -B generated/runtime/cpp17/build
cmake --build generated/runtime/cpp17/build

orbitfabric gen ground examples/demo-3u/mission/

orbitfabric sim examples/demo-3u/scenarios/battery_low_during_payload.yaml \
  --json generated/reports/battery_low_during_payload_report.json \
  --log generated/logs/battery_low_during_payload.log

orbitfabric sim examples/demo-3u/scenarios/payload_data_flow_evidence.yaml \
  --json generated/reports/payload_data_flow_evidence_report.json \
  --log generated/logs/payload_data_flow_evidence.log

Expected result:

all checks passing
lint result: PASSED
docs generation: PASSED
runtime generation: PASSED
C++17 host-build smoke: PASSED
ground generation: PASSED
scenario result: PASSED

Non-goals

v0.8.0 intentionally does not introduce:

live ground segment
mission control system
operator console
telemetry archive
telemetry database
command uplink service
telecommand transport
telemetry downlink runtime
network/session/routing behavior
command authentication or authorization
security enforcement
Yamcs integration
OpenC3 integration
XTCE compliance
CCSDS/PUS/CFDP implementation
binary packet decoder
binary telecommand encoder
offset/bitfield layout model
calibration model
RF/link-budget behavior
pass scheduling
station automation

These are not missing pieces of v0.8.0.

They remain intentionally outside the Ground Integration Artifacts boundary.


Final position

OrbitFabric v0.8.0 remains a Mission Data Contract framework.

Ground Integration Artifacts are ground-facing contract exports.

They are not ground software.

They provide a reproducible, inspectable and tool-neutral mission data package derived from the Mission Model.