Follow-up from PR #320 (merged as 93a4b3e).
declaresLimitShapedKey partitions schema descriptors by a file-level boolean, so a new limit-shaped key added to a file that already carries one needs no new Coverage Matrix row. The contract then passes without ever having seen the new key.
Impact: the declared-limit assertion coverage contract is the guard that a declared limit is actually asserted somewhere; at file granularity it silently stops guarding new keys in already-covered files — the failure mode the contract exists to prevent.
Wanted
- Move the partition to key granularity (one row per limit-shaped key) or state explicitly in the contract doc why file granularity is sufficient.
- A test that adding a limit-shaped key to an already limit-bearing file fails the contract until a matrix row exists.
Sites
doc/development/declared-limit-assertion-coverage.adoc (the contract, declaresLimitShapedKey is described around line 629)
api-sheriff/src/test/java/de/cuioss/sheriff/gateway/config/DocumentedSetsContractTest.java
Follow-up from PR #320 (merged as 93a4b3e).
declaresLimitShapedKeypartitions schema descriptors by a file-level boolean, so a new limit-shaped key added to a file that already carries one needs no new Coverage Matrix row. The contract then passes without ever having seen the new key.Impact: the declared-limit assertion coverage contract is the guard that a declared limit is actually asserted somewhere; at file granularity it silently stops guarding new keys in already-covered files — the failure mode the contract exists to prevent.
Wanted
Sites
doc/development/declared-limit-assertion-coverage.adoc(the contract,declaresLimitShapedKeyis described around line 629)api-sheriff/src/test/java/de/cuioss/sheriff/gateway/config/DocumentedSetsContractTest.java