items.covers

Require a change list to cover every area the change touched.

Science officer: Fascinating claim. Source?

needs context What to pass

Quick reference

Written asFails withApplies to
items.covers=… experimentalmissing-context-value error
uncovered-area warn
list
items.covers.in=… experimentalmissing-context-value error
uncovered-area warn
list

Examples

items.covers

Require the list to mention every top-level area present in a context-supplied changed-file list, so a change summary cannot silently omit a whole touched area. A run without the context key could not check the document (missing-context-value); a trailing ? (covers=changedFiles?) makes that a note and the rule skips. A key whose value is not a JSON array of paths is reported too.

A list that names every changed area passes

contract.mdv.md
<!-- mdv: section -->
## Changes
<!-- mdv: list items.covers=changedFiles -->
context.json
{ "values": { "changedFiles": "[\"src/compile/pipeline.ts\", \"docs/reference/rules.md\"]" } }
document.md
## Changes

- Reworked the `src/` compile pipeline entry.
- Regenerated `docs/` reference pages.

✓ passes

A changed area the list never mentions is flagged

contract.mdv.md
<!-- mdv: section -->
## Changes
<!-- mdv: list items.covers=changedFiles -->
context.json
{ "values": { "changedFiles": "[\"src/compile/pipeline.ts\", \"docs/reference/rules.md\"]" } }
document.md
## Changes

- Reworked the `src/` compile pipeline entry.

✗ uncovered-area warn · line 3

A run with no changed-file list could not check the document

contract.mdv.md
<!-- mdv: section -->
## Changes
<!-- mdv: list items.covers=changedFiles -->
document.md
## Changes

- Reworked the `src/` compile pipeline entry.

✗ missing-context-value error

items.covers.in

Require the list to mention every top-level area present in a source-supplied changed-file list (a logical name or contract-relative file), so a change summary cannot silently omit a whole touched area. An unbound optional (trailing ?) source skips silently; a bound source grounds the check with no JSON-in-string plumbing.

A list that names every changed area passes

contract.mdv.md
<!-- mdv: section -->
## Changes
<!-- mdv: list items.covers.in=./changed.json -->
changed.json
["src/compile/pipeline.ts", "docs/reference/rules.md", "package.json"]
document.md
## Changes

- Reworked the `src/` compile pipeline entry.
- Regenerated `docs/` reference pages.

✓ passes

A changed area the list never mentions is flagged

contract.mdv.md
<!-- mdv: section -->
## Changes
<!-- mdv: list items.covers.in=./changed.json -->
changed.json
["src/compile/pipeline.ts", "docs/reference/rules.md", "package.json"]
document.md
## Changes

- Reworked the `src/` compile pipeline entry.

✗ uncovered-area warn · line 3

On this page