You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Added
The framework declares a deviations type. A deviation records a knowing departure from a policy or a standard:
the clauses it departs from, the person who accepted the risk, the day they accepted it, and the day somebody looks
at it again. departs-from names those clauses one by one and refuses a bare policy or standard id, because a bare
id claims a departure from every clause the rule carries. kac update --add-type deviations takes it, and kac new
offers it beside the rest. Three rules run over a record. review-after-acceptance errors where the review date falls
on or before the acceptance date, so a deviation cannot expire as it is written. not-open-ended warns where the
record reads as a standing departure rather than a bounded one. expiry warns where a record is still active on a
day its review-by has gone by, and stays a warning so a late review never makes deleting the record the cheapest
way to a green build.
A rule expression can call today(). It answers with the day the run happens, as an ISO date, so a rule compares
it against a date field under the string comparison the grammar already uses between two dates. The day is read once
for the whole run, so a corpus validated across midnight cannot answer one way for its first record and another for
its last.
Changed
The template's shape is at version 7. It carries the deviations page, its index and its record template, so a
corpus running kac update is offered the type.
Fixed
A field may name a part spelled unlike the record holding it.id-format read the whole entry as one id, so std-ERRORS.a-failure-says-what-happened failed: a standard's record id carries a mnemonic and its rules are
heading slugs. The check now reads the record and leaves the part to ref-resolves, which is what answers for
whether the part exists.