Skip to content

Normative rule index

Carve has one normative language contract. These views filter that contract by implementation responsibility; they do not define conformance profiles or make any rule optional.

ViewRulesResponsibility
Parsing111Input normalization, layout, block and inline recognition, attributes, and lexical boundaries.
Resolution and rendering36Document-wide resolution, core semantic behavior, and HTML serialization.
AST interchange36The core serialized tree shape, source positions, and cross-implementation AST guarantees.
Canonical writing42Canonical Carve source, Markdown and plain-text targets, round trips, and escaping.
Imports, security, and extensions24Optional and host-facing behavior, importer contracts, security limits, diagnostics, and extension surfaces.

Together the views cover all 249 active rules exactly once. The source metadata lives in resources/spec/rules.json.

Retired rule IDs

Retired IDs are never reused. Their replacement points to the document that now owns the contract.

RuleLast titleReplacement
CARVE-P9-028THE ENGINE'S OWN WORDS ARE A RENDER OPTIONCARVE-P9-063
CARVE-PRE-001THE EXECUTABLE ARTIFACTS DECIDE NOTHING.github/CONTRIBUTING.md#what-settles-a-question
CARVE-PRE-002A GOLDEN IS NORMATIVE ONCE COMMITTED, NOT ONCE GENERATED.github/CONTRIBUTING.md#what-settles-a-question
CARVE-PRE-003A CHECKER THAT DISAGREES WITH A COMMITTED GOLDEN IS WRONG UNTIL A CLAUSE SAYS OTHERWISE.github/CONTRIBUTING.md#what-settles-a-question

Released under the MIT License.