Coverage rules#
- A need
Xof itemAis covered iff an item matchingXexists. For a concrete revision that means the exact IDX; for a wildcard revision (e.g.impl:a#2.x) it means at least one defined item whose ID matches the pattern. - Item
Ais shallow-covered iff all of its needs are covered; deep-covered iff additionally every needed item is itself deep-covered (transitively, cycle-safe). - A forwarding
[A --> B](see Forwarding / delegation) redirectsA's obligation:Ais shallow-covered iffBexists and deep-covered iffBis deep-covered;A's own needs are not checked for coverage (but still validate incomingCoversentries). - A
Covers: Yentry on itemAis valid iff itemYexists andYlistsA's exact ID in itsNeeds.
Defects#
| Defect | Meaning |
|---|---|
| uncovered | A needed ID - or a forwarding target - does not exist. If the same type:group/name exists at another revision, the report flags the revision mismatch (outdated/predated reference). |
| orphaned | A Covers entry points to a non-existent ID (with the same revision-mismatch hint). |
| unwanted | Coverage nobody asked for: a Covers entry whose target does not need the coverer's ID, or a code item whose ID is neither needed by any item nor a forwarding target. |
| duplicate | The same full ID is defined more than once, or more than one forwarding is declared for the same source ID. |
| problem | Parse-level error, e.g. a [>>…] tag with no preceding item tag, a malformed ID in a Needs/Covers list, a forwarding from a non-existent item, or a cyclic forwarding chain. |