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 |
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/โ regeneratesdocs/dev/reference/EVENTS.mdยท runpython scripts/gen_event_docs.pycustom_components/eufy_vacuum/adapters/config_schema.pyโ regeneratesdocs/dev/reference/ADAPTER-CONFIG.generated.md,docs/dev/reference/CAPABILITY-FLAGS.generated.mdยท runpython scripts/gen_adapter_config_docs.pycustom_components/eufy_vacuum/adapters/dreame/adapter.pyโ regeneratesdocs/dev/reference/ADAPTER-CONFIG.generated.md,docs/dev/reference/CAPABILITY-FLAGS.generated.mdยท runpython scripts/gen_adapter_config_docs.pycustom_components/eufy_vacuum/adapters/eufy/adapter.pyโ regeneratesdocs/dev/reference/ADAPTER-CONFIG.generated.md,docs/dev/reference/CAPABILITY-FLAGS.generated.mdยท runpython scripts/gen_adapter_config_docs.pycustom_components/eufy_vacuum/adapters/registry.pyโ regeneratesdocs/dev/reference/ADAPTER-CONFIG.generated.md,docs/dev/reference/CAPABILITY-FLAGS.generated.mdยท runpython scripts/gen_adapter_config_docs.pycustom_components/eufy_vacuum/adapters/roborock/adapter.pyโ regeneratesdocs/dev/reference/ADAPTER-CONFIG.generated.md,docs/dev/reference/CAPABILITY-FLAGS.generated.mdยท runpython scripts/gen_adapter_config_docs.pycustom_components/eufy_vacuum/core/capabilities.pyโ regeneratesdocs/dev/reference/ADAPTER-CONFIG.generated.md,docs/dev/reference/CAPABILITY-FLAGS.generated.mdยท runpython scripts/gen_adapter_config_docs.pycustom_components/eufy_vacuum/core/manager.pyโ regeneratesdocs/dev/reference/ADAPTER-CONFIG.generated.md,docs/dev/reference/CAPABILITY-FLAGS.generated.mdยท runpython scripts/gen_adapter_config_docs.pycustom_components/eufy_vacuum/diagnostics.pyโ regeneratesdocs/dev/reference/ADAPTER-CONFIG.generated.md,docs/dev/reference/CAPABILITY-FLAGS.generated.mdยท runpython scripts/gen_adapter_config_docs.pycustom_components/eufy_vacuum/frontend/animal-svg/src/โ regeneratescustom_components/eufy_vacuum/frontend/animal-svg/animals/*.js(6) ยท runnode scripts/build-animal.mjs <descriptor.json> --first-partycustom_components/eufy_vacuum/mapping/mapping_services.pyโ regeneratesdocs/dev/reference/ADAPTER-CONFIG.generated.md,docs/dev/reference/CAPABILITY-FLAGS.generated.mdยท runpython scripts/gen_adapter_config_docs.pydurable/dreame-port-fixture/resources/key-authoring/(external, provenance only) โ regeneratessrc/i18n/guide-keys.jsยท runpython scripts/sync-dreame-guide-keys.pyscripts/check_generated_docs.pyโ regeneratesdocs/dev/reference/GENERATION_MAP.mdยท runpython scripts/gen_generation_map.pysrc/i18n/en.jsโ regeneratescustom_components/eufy_vacuum/frontend/locales/en.reference.jsoncยท runnpm run build:locale-referencesrc/styles/โ regeneratesdocs/dev/reference/THEME_TOKEN_MAP.md,docs/dev/reference/THEME_TOKEN_USAGE.mdยท runnode scripts/gen-theme-token-docs.mjssrc/theme-tokens/โ regeneratesdocs/dev/reference/THEME_TOKEN_MAP.md,docs/dev/reference/THEME_TOKEN_USAGE.mdยท runnode scripts/gen-theme-token-docs.mjstests/โ regeneratesdocs/testing/subsystems/*.md(19) ยท runpython 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