Rules
Look up every stable Presswork Rule identifier, its examples, and the policy that enables it.
A Rule is a read-only check that evaluates documentation against one requirement of a Profile. Each Violation in a Check Report names one of the Rule identifiers below.
Configurable Rule groups
A Profile’s internal rules array selects these three groups. The selected Built-in Profile enables all three; individual Rule identifiers are not Presswork Configuration values.
Markdown destinations
Enabled by markdown-destinations.
| Rule | Reported condition |
|---|---|
markdown-destination-malformed |
A Markdown destination cannot be parsed or has an invalid supported-scheme form. |
markdown-destination-scheme-unsupported |
A destination uses a URI scheme other than HTTP, HTTPS, mailto, or tel. |
markdown-heading-fragment-missing |
A checked Markdown fragment does not match a GitHub heading slug in its target. |
markdown-local-target-case-mismatch |
A local target’s path casing differs from the repository path. |
markdown-local-target-missing |
A local target does not exist. |
markdown-local-target-outside-repository |
A local target escapes the Repository Root lexically or through symbolic links. |
Document Types and Templates
Enabled by document-types.
| Rule | Reported condition |
|---|---|
document-type-filename-invalid |
A direct typed-document child does not match its canonical filename pattern. |
template-definition-directive-malformed |
A Template contains an unsupported or malformed Template Directive. |
template-definition-heading-invalid |
A Template’s heading structure is invalid. |
template-definition-optional-placement-ambiguous |
Optional Template boundaries do not identify one valid heading section. |
template-definition-placeholder-malformed |
A Template placeholder does not use the supported identifier form. |
template-definition-prompt-unmatched |
Prompt Template Directive boundaries do not match. |
template-directive-unresolved |
A completed typed document retains a Template Directive. |
template-heading-missing |
A required Template heading is absent. |
template-heading-order |
Template headings appear out of their declared relative order. |
template-heading-structure-invalid |
A completed typed document does not have the required H1 and heading-level structure. |
template-heading-undeclared |
A Strict Template document contains an undeclared heading occurrence. |
template-placeholder-unresolved |
A completed typed document retains a Template placeholder or placeholder delimiter. |
Documentation indexes
Enabled by documentation-indexes. The Rules evaluate only enabled Index Policies.
| Rule | Reported condition |
|---|---|
documentation-index-directory-missing |
A relevant child Documentation Directory is absent from its parent’s Index Section. |
documentation-index-document-malformed |
The configured Index Document is not an eligible Recognized Document. |
documentation-index-document-missing |
A required Index Document is absent. |
documentation-index-entry-malformed |
One index inventory entry identifies more than one relevant member. |
documentation-index-member-duplicate |
A relevant member appears more than once in its Index Section. |
documentation-index-member-stale |
An Index Section identifies a member that is no longer relevant. |
documentation-index-member-undescribed |
An index member lacks meaningful authored loading guidance. |
documentation-index-member-wrong-depth |
An entry identifies a member below the direct-child level owned by that index. |
documentation-index-member-wrong-target |
An entry does not target the direct document or child directory index it identifies. |
documentation-index-orphaned-document |
A relevant direct child document is absent from its Index Section. |
documentation-index-section-ambiguous |
The Index Section heading appears more than once. |
documentation-index-section-missing |
The Index Section heading is absent. |
Matt Pocock Profile policy Rules
These seven Rules come from declarative requirements owned by the mattpocock@1 Profile. Selecting that Profile applies its requirements. They are not members of a configurable group and cannot be selected through the rules array.
| Rule | Reported condition |
|---|---|
mattpocock-adr-number-duplicate |
More than one canonical Architecture Decision Record uses the same number. |
mattpocock-adr-number-gap |
The canonical Architecture Decision Record sequence is not contiguous from 0001. |
mattpocock-adr-status-invalid |
Optional status frontmatter has an unsupported value. |
mattpocock-adr-structure-invalid |
An Architecture Decision Record lacks one H1 and its one-to-three sentence decision paragraph. |
mattpocock-adr-title-slug-mismatch |
The filename slug does not match the H1 title’s normalized slug. |
mattpocock-context-structure-invalid |
CONTEXT.md does not match the Profile’s context-language structure. |
mattpocock-context-map-structure-invalid |
CONTEXT-MAP.md does not match the Profile’s context-map structure. |
Diagnostics are not Rules
Operational Diagnostics explain why a Check could not complete. See Check Report for the complete catalog, fields, and effect on completeness.
CLI diagnostic codes describe failures at command boundaries rather than failed Rule evaluations. See CLI for the complete catalog, command behavior, and recovery contracts.