Rule handbook metadata
- Rule
DET.KS.PRIMITIVE_VERSION_MATCH· lanedeterministic- Page status
- current
- page_version
d62aa3874ad23258093eb86857f84022eb29a00430830ee1d05102f79d3d46e8- generated_at
- 2026-05-28T20:30:00.000Z
- registry_fingerprint
aef1de6082cf0f50d463783c843dee0ffb9132fbd5ed4ea6e5bb3f031f359c72
How this rule is fixed
Pilot deterministic fixer: plan_only · harness mode repo_overlay · verify expect_rule_clean.
See fixer module for plan_only in lib/ux-deterministic-fixers/.
Detection module: docs/design/ux-audit/deterministic-design-rules.md#det-ks-primitive-version-match. Scroll down for Before / After examples and Evidence and remediation steps.
Purpose
When a react-primitive root or registry row declares a primitive version, the DOM attribute data-ks-primitive-version must match primitive_version in visual-registry.yaml or the contract Primitive version line. Scope: rulesScope ks / auto; generic sites skip with skipped_scope.
Passing signals
data-ks-primitive-versionequals catalog version for each governed hash, or neither side declares a version.DET.KS.PRIMITIVE_VERSION_MATCHreturns no findings.
Failing signals
- version-mismatch: DOM
v2vs registryv1on hashFsb. - missing-runtime-version: registry declares version; DOM omits attribute.
Before example
Before (failing example)
After example
After (passing example)
Deterministic checks
DET.KS.PRIMITIVE_VERSION_MATCH—det-ks-primitive-version-match.check.jscrosswalks DOM andvisual-registry.generated.json.
Remediation
Set primitive_version in the registry and contract, then emit matching data-ks-primitive-version from ksReactPrimitiveAttrs or the consumer mount.