Appendix D: Reference method for intent coverage
This section is informative.
This appendix defines one way to compute intent coverage, so that producers who use it report comparable figures. Other methods remain allowed; each is identified by its own method URI.
Method URI: https://ois.example/methods/basic-intent-coverage/v0.1 (placeholder until the project domain is chosen).
Inputs: one intent version v, one release subject s (the code or build artifact being released) and the criteria in scope: the passport’s scope entries that belong to v, or all criteria of v when scope is absent.
Counted evidence: an evidence record counts if all of the following hold:
- it references a criterion of v, or carries over to v under the stale evidence rule (section 6.3);
- its
resultispass; - its
derivedFromisintent; - its
subjectis s, or an artifact listed in the inputs of s; - it has not been revoked (R11);
- its
observedAtis later than thecreatedAtof itssubject.
Covered criterion: a criterion is covered if at least one counted evidence record references it. A criterion with a target is covered only if that evidence carries a measure whose name equals the target’s metric and whose value satisfies the target’s operator and value.
Coverage: the number of covered criteria divided by the number of criteria in scope for v, reported as a Measurement named intentCoverage with a value between 0 and 1.
Attested variant: intentCoverageAttested applies the same method but excludes evidence whose test artifact has a self-declared context (R12). Passports SHOULD report both values when they differ.
Weighted variant: intentCoverageWeighted weights each criterion by criticality (high 3, medium 2, low 1, unset 1) and divides the weight of covered criteria by the total weight.
Diverse variant: intentCoverageDiverse counts evidence only when the producers of the test and of the subject are agents on different models (provider or name differ in every listed model), or when at least one of them is human. It addresses the shared blind spots of agents on the same model, which R5 alone does not catch.