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
kac export states each type's in-force status in the manifest. Each entry under types has inForce, the status value its schema declares as in-force:, or null for a type with no status range. An inherited type
states its producer's value, and two corpora stating different values for one type stop the export. kac bundle
reads it for the review view, which named active for a standard whatever the schema said. An export without the key
still bundles, and its review view says the status is not stated. formatVersion stays at 4.
Fixed
kac bundle names the status a control is in force at in the review view. The view said a control checks a rule
only where its status is active, whatever the controls schema declared as in-force:. It now reads inForce on
the controls entry of the export's manifest, as it does for standards. Where the entry states none, the view says so,
says no control is known to check a rule, and leaves every obligation to the reviewer.
present() and entries() read a filled-in object field. On a report holding generated: with its keys, present('generated') read false and entries('generated') read 0. An unquoted {{…}} placeholder still reads as
absent. kac validate reports one under an object field, or in a list of objects, as it does under any other field.
It failed there with an InvalidCastException.
kac bundle names the version a plugin keeps when the corpus states none. Where .corpus.yaml had no content-version, bundle warned that the plugin had no version and nothing would install it. The plugin kept the
version its own plugin.json states, so the warning was wrong. It now names that version. Set content-version and
export again to choose the version a plugin publishes.
kac validate reports a rule severity: it cannot read. A value other than error or warning, such as eror or Error, read as no severity at all. A rule nothing implements then passed as an intention, unreported, and
an expr: rule was told it had no severity. schema-dispatch now reports the value against the rule's line in its .schema/ file.
kac report --out refuses a corpus whose .corpus.yaml states no corpus:. The report's sources cited the
corpus by its absolute path, so a committed report named one machine's folder. It writes nothing now, and says to
write the key. A report printed without --out cites that corpus as this corpus.
kac new removes a reference definition naming a declined type's page. A seed linking a type page by reference,
such as [deviation][deviations] with [deviations]: ../deviations.md, kept that definition in a corpus that
declined the type. The corpus failed link-resolves on its first validate. The definition now goes, and each link
citing it keeps its words, as an inline link already did.
kac update names the CI system each withheld file belongs to. A corpus holding none of the template's CI files
was told it withheld three continuous integration starters. One of the three is .github/dependabot.yml, which runs
no build. The line now counts the files and names their systems, such as github and azure-devops.
kac export writes a section's reference links inline. A section using [resilience][pol-RECV] travelled
without the definition at the foot of its record, so the link lost its target. Each full, collapsed or shortcut
reference, and each image reference, now arrives as an inline link to the target its definition states. A reference
with no definition arrives as written.
kac export writes a part line's reference links inline. A part's lead, asides and bullets, such as a term's
definition or a rule's obligations, kept a reference such as [pol-TRUS] without the definition at the foot of its
record, so the link had no target. Each now arrives as an inline link to that target, as one in a section does. A
record's last part, where it holds only asides, no longer exports those definitions as its lead.
kac export writes a relative link as the address of the page it points at. A link such as ../policies/x.md in a section or a part line was relative to the producer's record, so a consumer's reader could
not follow it. Where the corpus has an address, a target resolving to a Markdown file it contains now arrives as that
file's address. Any other target arrives as written. A record inherited from a package exported by 0.38.0 or earlier
keeps its relative targets until that producer publishes a new version.
kac export keeps the indent of a block inside a list item. A fence inside a numbered item lost the indent of
its opening line, so a renderer closed the list there and showed the code outside it. A paragraph in the item lost
its indent when unwrapped. Both now arrive indented as written.
kac export keeps a fence that holds a blank line.export split a section at each blank line before it looked
for a fence. The lines after a blank line inside a code block were then joined onto one line. A fence now arrives as
written up to its closing line, or to the end of its section where it has none.
kac report coverage lists only a deviation in force. The Deviations column listed every deviation citing a
clause in departs-from:, so a closed one read as a departure that still stands. A deviation now appears only while
its status is the value its type declares in in-force:, which is active. ## Limits says so.
kac validate reports a clause opening with a keyword in a code span. A clause such as `SHOULD` go passed clause-modal as though it opened with the keyword. A code span names a keyword, so that clause states no
obligation. clause-modal now reports it as opening with no modal. It reports a bold MUST followed by `NOT`
too, which kac export read as MUST NOT.
kac export refuses a consumed type that lost record files. Where none arrived, the type and its part lines
left the export unreported. Where some did, the rest went missing unreported. export now stops and names the type
and its producer when fewer files arrive than the producer's manifest counts, or part lines arrive with none. A type
with no records, lines or counts is still left out.