Squashed 'scanners/commons/' changes from 532d70d..4641a7b
4641a7b release(0.3.0): a detection pattern changed value — that is new here 1482c0b feat(schema,spec): give the §1.1 MUST a shape, since v0.2.0 shipped it without one 25a2cf9 feat(conformance): the witness case, and the derivation rule that had no room for it c1b2385 fix(lexicon): converge script-tag on its source — re-extraction, not revision 6f79a6e fix(lexicon,docs): the script-tag row reversed — commons is now the sole diverger git-subtree-dir: scanners/commons git-subtree-split: 4641a7b5184047460e3f10038b615a61e7a4ac21
This commit is contained in:
parent
9b95fc607e
commit
bbd03f9b52
9 changed files with 585 additions and 25 deletions
|
|
@ -48,6 +48,22 @@ Two constraints keep the verdict from becoming an exit:
|
|||
MUST run every case scoped to it, including the ones it fails. Per-case opt-out is exactly
|
||||
the silent skip §1 forbids.
|
||||
|
||||
**The shape of the declaration.** A runtime publishing a declaration MUST use the shape in
|
||||
[`schema/conformance-declaration.schema.json`](../schema/conformance-declaration.schema.json):
|
||||
runtime, the commons commit measured, the declared table set, and the four verdict counts with
|
||||
their total. The requirement is the shape, not a validation step — nothing in this repository
|
||||
runs, so no runtime is gated on it. It exists because a free-form declaration makes
|
||||
`83 passed, 6 not-applicable` unparseable by anyone but its author, and a result only its
|
||||
author can read is not a cross-runtime measurement. That schema also carries the two arithmetic
|
||||
invariants this section implies but cannot state in prose without ambiguity: the counts MUST sum
|
||||
to the total, and the total MUST equal the corpus case count at the commit measured.
|
||||
|
||||
A runtime SHOULD derive its declared set from the same constant its runner uses to accept or
|
||||
reject a `scope`, rather than maintain a second list beside it, and SHOULD record which of the
|
||||
two it did. The anti-narrowing constraint above is then structural rather than promised:
|
||||
narrowing the declaration is narrowing what the runtime accepts, which is a change to code with
|
||||
tests behind it instead of an edit to a published file nobody re-reads.
|
||||
|
||||
**What the verdict does not say.** `not-applicable` records that a runtime does not implement
|
||||
a named commons table. It is not a statement that the runtime is blind to the phenomenon
|
||||
behind it — a runtime may well detect the same construct through some other mechanism that
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue