What the instrument measured.
Measured against a pinned commit.
- Repository
- home-assistant/frontend
- Revision
- 94fdea6f00f5, committed 2026-09-08
- System directory
- src/components
- Components found
- 401, of which 103 carry documentation and 0 have a colocated doc artifact
- Agent context
- 2 context files, 12 skills
- Tokens
- 684 distinct, across 10 sources (10 authored); dark mode unobservable
- Adherence surface
- 2,431 files outside the system, graded first-party: the frontend is the product, so the components and their consumers share one tree.
What the counts point at.
Each finding carries its count, its severity and up to three file references. A finding on a property that was not banded is still a finding; it is reported without a score.
The design system's own component source hardcodes colour and size values instead of referencing its own tokens. This happens in 1250 of 3023 total colour/size references in system source (41.3%), so an agent copying that file as a pattern copies the hardcoding along with it.
- src/components/media-player/ha-media-player-browse.ts:656 175px
- src/components/data-table/ha-data-table.ts:1129 rgba(
- src/components/chart/ha-chart-base.ts:467 450px
Design tokens are declared in more than one place in this repository's own authored source, so a value changed in one must be kept in agreement with the others by hand.
- src/resources/theme/color/color.globals.ts css-in-js, 317 token(s)
- src/resources/theme/color/semantic.globals.ts css-in-js, 103 token(s)
- src/resources/theme/color/wa.globals.ts css-in-js, 59 token(s)
Some components carry no documentation an agent could find. That is 298 of the 401 components found in system source, with no head comment on their own source, no colocated doc artifact matching their name, and no docs/ entry, so an agent must reverse-engineer their contract from implementation alone.
- src/components/chart/axis-label.ts
- src/components/chart/chart-sonification.ts
- src/components/ha-form/compute-initial-ha-form-data.ts
Adherence (reported, not banded)
The application hardcodes colour values instead of using the design system's own tokens, so an agent editing nearby code has no signal that a token exists and will likely repeat the pattern.
- src/resources/theme/color/color.globals.ts:5 #ffffff
- src/panels/config/config-sections.ts:60 #0D47A1
- src/resources/theme/color/core.globals.ts:11 #000000
The application defines its own component under the same name as one the design system already ships. This happens for 7 of the 332 component names the design system exports, so an agent importing that name by convention can silently get the wrong implementation.
- src/common/color/convert-light-color.ts DEFAULT
- src/common/map/base-layer.ts MAP
- src/data/automation.ts CONDITION
Not trialled.
The trial requires a system that can be installed from its own documentation into a clean scaffold. This one cannot be, because there is no published package. The components are the product's own tree, so there is nothing to install into a scaffold that is not the product itself. It keeps its row in the static index with that reason stated, per the standing rule.
Clone the repository at the revision above, point the instrument at the system directory, and the same numbers come out. The field manifest, the run script and the full payload this page was built from are committed beside it. Methods.