Rule handbook metadata

Rule
DET.APP.PRIMITIVE_SOURCE · lane deterministic
Page status
current
page_version
4442b823bacd1c3e62a40a05c4c9debc6b8b53fe6b14a423f07955c208506cd3
generated_at
2026-05-28T17:05:34.731Z
registry_fingerprint
aef1de6082cf0f50d463783c843dee0ffb9132fbd5ed4ea6e5bb3f031f359c72

How this rule is fixed

Pilot deterministic fixer: app_primitive_source · harness mode repo_overlay, live_scenario · verify expect_rule_clean.

See fixer module for app_primitive_source in lib/ux-deterministic-fixers/.

Detection module: docs/design/ux-audit/deterministic-design-rules.md#det-app-primitive_source. Scroll down for Before / After examples and Evidence and remediation steps.

Purpose

Repo scan: every react/*.tsx listed in KS_REACT_PRIMITIVE must spread ksReactPrimitiveAttrs() on the primitive root. Harness uses a repo overlay (defects come from overlay react/*.tsx, not DOM).

Before example

Before (failing example)

Harness serves this page; audit uses --repo overlay sources.

After example

After (passing example)

Overlay react/HarnessStatusBanner.tsx spreads ksReactPrimitiveAttrs().

Evidence and remediation

Run generator/build_rule_defect_fixtures.py and auditor-tests/invoke-det-ruleset-harness.sh --only-rule DET.APP.PRIMITIVE_SOURCE with --repo pointing at the overlay kitchensink root.