Rule handbook metadata

Rule
DET.KS.VISUAL_FAMILY_COVERAGE · lane deterministic
Page status
current
page_version
372fb6ccde94dcae83a6f9aa45f05d1e4c4816ab65d2929fa23dcc5a2b0c7c43
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-visual-family-coverage. Scroll down for Before / After examples and Evidence and remediation steps.

Purpose

Registry rows that emit HTML to consumers (emits_html, react-primitive, components/, react/, assets/svg/) must have contract_status: own with an on-disk contract, or family-covered with a justified family contract. Scope: KS repos; repo scan only.

Passing signals

Failing signals

  • missing-contract-path — consumer-bound hash without contract.
  • contract-file-missingcontract: path not found on disk.

Before example

Registry row without contract:

hash: Zzz
type: component
emits_html: true
contract_status: missing

After example

hash: Zzz
type: component
emits_html: true
contract_status: own
contract: docs/design/catalog/components/Zzz-example.md

Deterministic checks

Remediation

Add {HASH}-*.md under docs/design/catalog/ or mark family-covered with a valid family contract file.