Skip to content

Generation map

One authoritative graph of every checked-in generated artifact: who owns it, what it is generated from, what regenerates it, and what changes downstream when its source does. Rendered from the GENERATORS registry in scripts/check_generated_docs.py; that gate's UNGATED scan fails CI if any banner-bearing tracked file is missing here, so this map is complete by construction. Do not hand-edit โ€” edit the registry.

  • gated โ€” CI runs the generator and fails if the tree is stale (inputs are in-tree).
  • map-only โ€” inputs live outside the tree (e.g. durable/ fixtures) or it is run by hand, so CI does not staleness-check it; it is still owned and mapped.

The graph

output(s) gate generated by edit instead (sources) downstream
docs/dev/reference/ADAPTER-CONFIG.generated.md, docs/dev/reference/CAPABILITY-FLAGS.generated.md gated adapter-config (python scripts/gen_adapter_config_docs.py) custom_components/eufy_vacuum/adapters/config_schema.py ยท custom_components/eufy_vacuum/adapters/registry.py ยท custom_components/eufy_vacuum/core/capabilities.py ยท custom_components/eufy_vacuum/adapters/eufy/adapter.py ยท custom_components/eufy_vacuum/adapters/roborock/adapter.py ยท custom_components/eufy_vacuum/adapters/dreame/adapter.py ยท custom_components/eufy_vacuum/core/manager.py ยท custom_components/eufy_vacuum/diagnostics.py ยท custom_components/eufy_vacuum/mapping/mapping_services.py โ€”
custom_components/eufy_vacuum/frontend/animal-svg/animals/*.js (6) map-only animal-modules (node scripts/build-animal.mjs --first-party) custom_components/eufy_vacuum/frontend/animal-svg/src/ โ€”
src/i18n/guide-keys.js map-only dreame-guide-keys (python scripts/sync-dreame-guide-keys.py) durable/dreame-port-fixture/resources/key-authoring/ (external) โ€”
docs/dev/reference/EVENTS.md gated events (python scripts/gen_event_docs.py) custom_components/eufy_vacuum/ โ€”
docs/dev/reference/GENERATION_MAP.md gated generation-map (python scripts/gen_generation_map.py) scripts/check_generated_docs.py โ€”
custom_components/eufy_vacuum/frontend/locales/en.reference.jsonc map-only locale-reference (npm run build:locale-reference) src/i18n/en.js โ€”
docs/testing/subsystems/*.md (19) gated ยท region mock-column (python scripts/mock_docs.py) tests/ โ€”
docs/dev/reference/THEME_TOKEN_MAP.md, docs/dev/reference/THEME_TOKEN_USAGE.md gated theme-tokens (node scripts/gen-theme-token-docs.mjs) src/theme-tokens/ ยท src/styles/ โ€”

Reverse index โ€” โ€œI need to change โ€ฆโ€

  • custom_components/eufy_vacuum/ โ†’ regenerates docs/dev/reference/EVENTS.md ยท run python scripts/gen_event_docs.py
  • custom_components/eufy_vacuum/adapters/config_schema.py โ†’ regenerates docs/dev/reference/ADAPTER-CONFIG.generated.md, docs/dev/reference/CAPABILITY-FLAGS.generated.md ยท run python scripts/gen_adapter_config_docs.py
  • custom_components/eufy_vacuum/adapters/dreame/adapter.py โ†’ regenerates docs/dev/reference/ADAPTER-CONFIG.generated.md, docs/dev/reference/CAPABILITY-FLAGS.generated.md ยท run python scripts/gen_adapter_config_docs.py
  • custom_components/eufy_vacuum/adapters/eufy/adapter.py โ†’ regenerates docs/dev/reference/ADAPTER-CONFIG.generated.md, docs/dev/reference/CAPABILITY-FLAGS.generated.md ยท run python scripts/gen_adapter_config_docs.py
  • custom_components/eufy_vacuum/adapters/registry.py โ†’ regenerates docs/dev/reference/ADAPTER-CONFIG.generated.md, docs/dev/reference/CAPABILITY-FLAGS.generated.md ยท run python scripts/gen_adapter_config_docs.py
  • custom_components/eufy_vacuum/adapters/roborock/adapter.py โ†’ regenerates docs/dev/reference/ADAPTER-CONFIG.generated.md, docs/dev/reference/CAPABILITY-FLAGS.generated.md ยท run python scripts/gen_adapter_config_docs.py
  • custom_components/eufy_vacuum/core/capabilities.py โ†’ regenerates docs/dev/reference/ADAPTER-CONFIG.generated.md, docs/dev/reference/CAPABILITY-FLAGS.generated.md ยท run python scripts/gen_adapter_config_docs.py
  • custom_components/eufy_vacuum/core/manager.py โ†’ regenerates docs/dev/reference/ADAPTER-CONFIG.generated.md, docs/dev/reference/CAPABILITY-FLAGS.generated.md ยท run python scripts/gen_adapter_config_docs.py
  • custom_components/eufy_vacuum/diagnostics.py โ†’ regenerates docs/dev/reference/ADAPTER-CONFIG.generated.md, docs/dev/reference/CAPABILITY-FLAGS.generated.md ยท run python scripts/gen_adapter_config_docs.py
  • custom_components/eufy_vacuum/frontend/animal-svg/src/ โ†’ regenerates custom_components/eufy_vacuum/frontend/animal-svg/animals/*.js (6) ยท run node scripts/build-animal.mjs <descriptor.json> --first-party
  • custom_components/eufy_vacuum/mapping/mapping_services.py โ†’ regenerates docs/dev/reference/ADAPTER-CONFIG.generated.md, docs/dev/reference/CAPABILITY-FLAGS.generated.md ยท run python scripts/gen_adapter_config_docs.py
  • durable/dreame-port-fixture/resources/key-authoring/ (external, provenance only) โ†’ regenerates src/i18n/guide-keys.js ยท run python scripts/sync-dreame-guide-keys.py
  • scripts/check_generated_docs.py โ†’ regenerates docs/dev/reference/GENERATION_MAP.md ยท run python scripts/gen_generation_map.py
  • src/i18n/en.js โ†’ regenerates custom_components/eufy_vacuum/frontend/locales/en.reference.jsonc ยท run npm run build:locale-reference
  • src/styles/ โ†’ regenerates docs/dev/reference/THEME_TOKEN_MAP.md, docs/dev/reference/THEME_TOKEN_USAGE.md ยท run node scripts/gen-theme-token-docs.mjs
  • src/theme-tokens/ โ†’ regenerates docs/dev/reference/THEME_TOKEN_MAP.md, docs/dev/reference/THEME_TOKEN_USAGE.md ยท run node scripts/gen-theme-token-docs.mjs
  • tests/ โ†’ regenerates docs/testing/subsystems/*.md (19) ยท run python scripts/mock_docs.py

Per generator โ€” edit here, never there

adapter-config

the adapter config contract, witnessed by all three shipped adapters - EDIT HERE: custom_components/eufy_vacuum/adapters/config_schema.py, custom_components/eufy_vacuum/adapters/registry.py, custom_components/eufy_vacuum/core/capabilities.py, custom_components/eufy_vacuum/adapters/eufy/adapter.py, custom_components/eufy_vacuum/adapters/roborock/adapter.py, custom_components/eufy_vacuum/adapters/dreame/adapter.py, custom_components/eufy_vacuum/core/manager.py, custom_components/eufy_vacuum/diagnostics.py, custom_components/eufy_vacuum/mapping/mapping_services.py - DO NOT EDIT: docs/dev/reference/ADAPTER-CONFIG.generated.md, docs/dev/reference/CAPABILITY-FLAGS.generated.md - REGEN: python scripts/gen_adapter_config_docs.py

animal-modules ยท map-only

per-animal codegen from a sanitised descriptor; own gate is check-animal-pr - EDIT HERE: custom_components/eufy_vacuum/frontend/animal-svg/src/ - DO NOT EDIT: custom_components/eufy_vacuum/frontend/animal-svg/animals/*.js (6) - REGEN: node scripts/build-animal.mjs <descriptor.json> --first-party

dreame-guide-keys ยท map-only

the 18 Dreame key packs -> bundled EN + served per-lang key JSON - EDIT HERE: durable/dreame-port-fixture/resources/key-authoring/ (external) - DO NOT EDIT: src/i18n/guide-keys.js - REGEN: python scripts/sync-dreame-guide-keys.py

events

every hass.bus.async_fire call site - EDIT HERE: custom_components/eufy_vacuum/ - DO NOT EDIT: docs/dev/reference/EVENTS.md - REGEN: python scripts/gen_event_docs.py

generation-map

this registry, rendered as the who-generates-what navigation graph - EDIT HERE: scripts/check_generated_docs.py - DO NOT EDIT: docs/dev/reference/GENERATION_MAP.md - REGEN: python scripts/gen_generation_map.py

locale-reference ยท map-only

translator reference: full nested key structure + context comments of en.js - EDIT HERE: src/i18n/en.js - DO NOT EDIT: custom_components/eufy_vacuum/frontend/locales/en.reference.jsonc - REGEN: npm run build:locale-reference

mock-column

the generated Mocking column, from the mock census - EDIT HERE: tests/ - DO NOT EDIT: docs/testing/subsystems/*.md (19) - REGEN: python scripts/mock_docs.py

theme-tokens

theme editor registry + card CSS - EDIT HERE: src/theme-tokens/, src/styles/ - DO NOT EDIT: docs/dev/reference/THEME_TOKEN_MAP.md, docs/dev/reference/THEME_TOKEN_USAGE.md - REGEN: node scripts/gen-theme-token-docs.mjs