Coverage
Coverage in Roboticks is requirement coverage, not source-line coverage. The question is “is every requirement confirmed by a passing test on this SHA?”, not “how many source lines did the test suite touch?”. Both are useful; only the first is what an auditor asks about.The state machine
Every requirement is in exactly one of five states per SHA:
State is computed deterministically — same inputs, same SHA, same answer. The audit pack includes a re-computation script that proves it.
Calculation inputs
For a given SHA, the inputs are:- The requirement set in scope (the current
roboticks/requirements.yamlor the snapshot for a release SHA). - The RequirementLink rows in scope (the union of source-code-derived, manual, and accepted LLM links).
- The JUnit XML output of the test run on this SHA.
- The prior coverage state on the parent branch’s last successful run (for regression detection).
Examples
Single requirement, single test
Single requirement, two tests
Requirement that has never been confirmed
regression is reserved for requirements that were once confirmed. A first-time partial is just partial — no regression alarm.
Regression detection
Regression detection runs against the parent branch’s last successful Roboticks run, defined as:- For a PR, the base branch.
- For a push to a release branch, the prior commit on the same branch.
- For the first run on a new branch, the inherited state from the branch’s fork point.
confirmed in that reference run and is partial or has a failing confirming test in the current run, it becomes regression. This is the strongest negative signal Roboticks emits — it shows up red in the Check Run and the matrix, and is called out separately in the summary.
Hierarchy rollup
Parent requirements (those with descendants) get their state from their children:
Verification methods other than
test (i.e. inspection, analysis, demonstration) are excluded from rollup — they don’t drag a parent down to gap just because Roboticks can’t verify them by test. See Hierarchy.
Multi-repo rollup
A Roboticks project can host requirements that are confirmed by tests in multiple repos. The rollup is the same — a requirement isconfirmed if any confirming test in any linked repo passes on the current SHA of its repo.
A push to one repo only re-runs its tests; results from the other repos are read from their last-known-good run. See Multi-repo projects for the freshness rules.
Coverage percentage
The dashboard summary shows a per-requirement-type percentage:verification_method: test. Inspection / analysis / demonstration requirements are reported separately as out-of-band verification.
A weighted variant — ”% of ASIL-D requirements confirmed” — drives some auditor-facing dashboards. See Standards overview for the integration.
Live vs snapshot coverage
The matrix has a snapshot selector. The numbers it shows depend on which mode:
This is what makes the evidence pack reliable — the snapshot’s coverage numbers don’t drift between when you ship and when the auditor reads them three years later.
Where coverage updates trigger
Re-computing coverage
For investigation, the CLI can recompute coverage from artifacts:Next
Matrix
The UI that renders these states.
Gaps
What to do with a
gap.Change-impact
Affected-requirements detection per PR.
Snapshotting
Per-release coverage immutability.