Variable: NO_REQUIREMENT_KEYWORD_PATTERN
constNO_REQUIREMENT_KEYWORD_PATTERN:string
Defined in: packages/contracts/src/schemas/governance-metamodel.ts:129
A principle contains no capitalised RFC 2119 keyword anywhere, as a whole word. The Metamodel says principles MUST NOT contain testable requirements (its 1.9); this is that rule made mechanical. "Whole word" is judged by Unicode letters and digits on either side, so the rule reads the same in a sentence that mixes scripts.
A keyword that only looks like one is refused too (the 2026-10-14 security review).
Each letter matches its look-alikes (LOOK_ALIKES, in this file), so MUST, МUST with a
Cyrillic М, and any mix of the three scripts spelling a keyword are refused as MUST
is. The mathematical alphanumerics (U+1D400 to U+1D7FF, which NFKC folds to Latin) are
refused anywhere in a principle: a value statement has no use for them. A keyword split
by an invisible character (M U+200D UST) never reaches this rule, because
FRAMEWORK_TEXT_PATTERN refuses every default-ignorable code point first.
What remains, stated rather than chased: look-alikes outside Cyrillic, Greek, the
fullwidth forms and the mathematical block (Cherokee Ꮇ, Armenian Ս, the letterlike
symbols such as ℳ, circled and parenthesised letters, small capitals). A principle
that spells a keyword with those passes this pattern; the publish-time review by a
person, which every framework has, is what catches it.