How much of an enforce() rule the compiled file carries (#355).
"full" (default) — the rule id and the whole why, as always.
"line" — the rule id and the first sentence of why.
"id" — the rule id only: the linter already holds the rule, so the prose
is a second copy that costs tokens on every request and can drift.
Whatever is rendered, the rule stays whole in the SPEC — lint, coverage, the
audit rule map and enforce-rules-format read the spec, not the markdown —
and the integrity hash is taken over the RENDERED file, so it stays a
function of what the model actually sees.
How much of an
enforce()rule the compiled file carries (#355)."full"(default) — the rule id and the wholewhy, as always."line"— the rule id and the first sentence ofwhy."id"— the rule id only: the linter already holds the rule, so the prose is a second copy that costs tokens on every request and can drift.Whatever is rendered, the rule stays whole in the SPEC — lint, coverage, the audit rule map and
enforce-rules-formatread the spec, not the markdown — and the integrity hash is taken over the RENDERED file, so it stays a function of what the model actually sees.