ADR 243 · Accepted
A rule set is a snippet and a term list
Context
An audit of the stack asked for a central record of brand, legal and design rules that the cowriter, nr-landingpage and nr-repurpose use as context and can be checked against. ADR-139 deferred a context provider registry until a consumer has a source that can be expressed neither as a skill nor as a tagged snippet. ADR-214 item 8 settled how a snippet reaches a caller that sends its own system message.
Decision
No new record. A rule set is a tagged snippet for the context and a term list for the check. Both exist, and the trigger of ADR-139 has not fired: rules for a brand are text, which a snippet holds.
The prose goes into a prompt snippet with a tag the configurations of these surfaces select. Without a system message of the caller it joins the configuration's prompt. With one, as a surface with its own prompt sends, it joins when an administrator marked the snippet and the configuration opted in (ADR-214 item 8).
What a machine can check goes into a term list on the same configurations (ADR-238): forbidden and required terms, with a message that can point at the rule.
A required term is not asked of an agent run. A prose rule is not checked. ADR-238 rejected a language model as the checker, because a block has to be explainable by pointing at a line in a record, and a rule set does not change that.
Consequences
● One place for the prose and one for the words, both already editable, marked and reported on.
◑ A rule such as "address the reader formally" is context and no check.
◑ A surface that sends its own system message needs the mark and the opt-in, or the rule does not reach it.
Net Score: +2
Alternatives considered
A rule set record with sections. Rejected: it would be a third home for the text of a snippet, with its own approval path and no consumer it serves better.