Space Certification Support Kit
make space-certification-kit-check is the bounded Phase S5 gate for
project-tailorable certification evidence support. It does not certify a
mission, target, or product. External certification and mission approval remain
outside the repository and must be supplied by the project authority.
Scope
The support kit provides source-owned, reproducible inputs that a project can
tailor for an external certification or mission assurance workflow:
- standards-specific plan templates for software development, verification,
configuration management, quality assurance, tool qualification, and formal
methods;
- Flight Core coding-standard rows;
- tool operational requirements for compiler, analyzer, verifier, formatter,
package resolver, trace, evidence, and hardware tools;
- trace exports from requirements to source, tests, proof obligations, binary
artifacts, telemetry schemas, physical evidence state, and evidence bundle
identifiers;
- coverage ingestion rows with an MC/DC or equivalent structural coverage path;
- target reports for known limitations and implementation-defined behavior;
- a sample space-profile bundle generated from local inputs.
Source Files
The gate validates these source files:
space/certification-kit-plans.tsv;space/flight-core-coding-standard.tsv;space/tool-operational-requirements.tsv;space/certification-trace-export.tsv;space/coverage-ingestion.tsv;space/target-behavior-reports.tsv;space/certification-kit/templates/*.html;space/certification-kit/sample-project/manifest.json;space/certification-kit/coverage/mcdc-report.json;space/certification-kit/targets/*.html.
Claim Boundary
Generated support kit templates must say evidence support. They must not
claim certified status unless a project supplies external approval artifacts
and records that acceptance outside the default repository inventory.
The checker enforces that boundary on the kit templates. The public docs may
discuss external certification, but repository evidence stays scoped to support
artifacts, reproducible traces, and release inputs.
Tool Operational Requirements
Each tool row records:
- intended tool use;
- failure modes;
- validation data;
- replayability;
- independent review hook;
- evidence paths.
This is enough for a project to tailor a tool qualification plan without
pretending that repository tests alone qualify a tool for a mission.
Trace Export
space/certification-trace-export.tsv links sample requirements to source,
tests, proof obligations, a source-controlled binary artifact, telemetry schema
rows, physical evidence state, and the generated sample-space-profile
evidence bundle.
Physical evidence can remain physical-gated. That is accepted for repository
evidence because physical-board proof is handled by
make physical-hardware-evidence-check and target-specific lab artifacts.
Coverage Ingestion
space/coverage-ingestion.tsv records structural coverage inputs. The current
sample path uses an MC/DC-equivalent report in
space/certification-kit/coverage/mcdc-report.json. A mission can replace that
input with its own coverage report, but the gate requires explicit method,
threshold, branch policy, and MC/DC policy rows.
Target Behavior Reports
Target reports are split into:
- known limitations;
- implementation-defined behavior.
The emulator-backed sim-cortex-m0 row is accepted locally. The
lab-cortex-m0 row is physical-gated until physical evidence intake accepts
real board logs, flashing receipts, monitor traces, recovery traces, and
operator signoff.
Diagnostics
tools/space-certification-kit-check.py reports stable JSON diagnostics. See
docs/diagnostics.html for the diagnostic class list.