proofs/contract-provenance.toml (#20) classifies 17 contracts as unmeasured because their since names a release that no implementation tag carries:
| since |
contracts |
| 0.34.4 |
C-160 |
| 0.37.1 |
C-191, C-192, C-193 |
| 0.38.1 |
C-194, C-195 |
| 0.53.7 |
C-215 |
| 0.54.1 |
C-216 |
| 0.56.1 |
C-220, C-221, C-222, C-223, C-224 |
| 0.56.2 |
C-225, C-226, C-227, C-228 |
since is defined as "the release in which the behaviour became normative — the first version a user can rely on it" (ledger header). A version that was never released cannot be that. For each: determine the first TAGGED release that carries the behaviour (the next tag after the since date, checked against the implementation's history) and correct since; or, if the version was tagged under another name, record it. Then python3 scripts/check-contract-provenance.py --write --impl-root <almide> — the rows leave unmeasured and the README provenance block updates. No normative change (S-editorial): the statements and evidence are untouched, only the release metadata.
proofs/contract-provenance.toml(#20) classifies 17 contracts asunmeasuredbecause theirsincenames a release that no implementation tag carries:sinceis defined as "the release in which the behaviour became normative — the first version a user can rely on it" (ledger header). A version that was never released cannot be that. For each: determine the first TAGGED release that carries the behaviour (the next tag after thesincedate, checked against the implementation's history) and correctsince; or, if the version was tagged under another name, record it. Thenpython3 scripts/check-contract-provenance.py --write --impl-root <almide>— the rows leaveunmeasuredand the README provenance block updates. No normative change (S-editorial): the statements and evidence are untouched, only the release metadata.