How Roboticks computes coverage states per requirement, the state machine, aggregation rules across hierarchy and multi-repo projects, and snapshot vs live 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.
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.
If a requirement was 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.
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.
A Roboticks project can host requirements that are confirmed by tests in multiple repos. The rollup is the same — a requirement is confirmed 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.
The denominator includes only requirements with 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.
The matrix has a snapshot selector. The numbers it shows depend on which mode:
Mode
What “confirmed” means
Live
Current state on the default branch’s latest run. Updated continuously.
Snapshot
State at the moment the snapshot was cut. Immutable, never updates.
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.
For investigation, the CLI can recompute coverage from artifacts:
rbtk coverage compute --sha abcd1234
This is a read-only operation — it doesn’t mutate the database — and is mostly useful for sanity-checking the platform against a custom expectation in an audit.