Skip to content

aislop: ai-slop/hallucinated-import across integration dependencies #655

Description

@tykeal

Found by aislop scan v0.12.0 on upstream/main (clean checkout).

  • Rule ID: ai-slop/hallucinated-import
  • aislop description: Import names a package not declared by the project.
  • Triage: HARD

Affected imports

homeassistant (151 findings)

  • custom_components/keymaster/__init__.py: lines 13, 14, 15, 16, 17, 18, 19, 20
  • custom_components/keymaster/autolock/scheduler.py: lines 18, 19
  • custom_components/keymaster/autolock/store.py: lines 20, 21, 22
  • custom_components/keymaster/autolock/timer.py: lines 44, 45
  • custom_components/keymaster/binary_sensor.py: lines 6, 11, 12, 13, 14, 15
  • custom_components/keymaster/button.py: lines 7, 8, 9, 10, 11
  • custom_components/keymaster/config_flow.py: lines 11, 12, 13, 14, 15, 16, 17
  • custom_components/keymaster/const.py: lines 5
  • custom_components/keymaster/coordinator.py: lines 17, 18, 19, 29, 30, 31, 32, 33, 34, 35
  • custom_components/keymaster/datetime.py: lines 7, 8, 9, 10, 11
  • custom_components/keymaster/entity.py: lines 9, 10, 11, 12, 13, 14
  • custom_components/keymaster/event.py: lines 7, 8, 9, 10, 11, 12
  • custom_components/keymaster/exceptions.py: lines 3
  • custom_components/keymaster/helpers.py: lines 10, 11, 12, 13, 14, 15
  • custom_components/keymaster/lovelace.py: lines 13, 14, 15, 16
  • custom_components/keymaster/migrate.py: lines 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24
  • custom_components/keymaster/number.py: lines 6, 12, 13, 14, 15, 16
  • custom_components/keymaster/providers/__init__.py: lines 7, 8, 9
  • custom_components/keymaster/providers/_base.py: lines 16, 17, 18
  • custom_components/keymaster/providers/akuvox.py: lines 25, 26
  • custom_components/keymaster/providers/schlage.py: lines 22
  • custom_components/keymaster/providers/zha.py: lines 14, 15, 16, 17, 18
  • custom_components/keymaster/providers/zigbee2mqtt.py: lines 14, 15, 16, 17, 18
  • custom_components/keymaster/providers/zwave_js.py: lines 32, 33, 34, 35, 36, 37, 38, 39
  • custom_components/keymaster/resources.py: lines 8, 9, 13, 14
  • custom_components/keymaster/sensor.py: lines 8, 9, 10, 11, 12
  • custom_components/keymaster/services.py: lines 5, 6, 7
  • custom_components/keymaster/switch.py: lines 8, 9, 10, 11, 12, 13, 14
  • custom_components/keymaster/text.py: lines 6, 7, 8, 9, 10
  • custom_components/keymaster/time.py: lines 8, 9, 10, 11, 12
  • custom_components/keymaster/websocket.py: lines 10, 11, 12, 13

voluptuous (2 findings)

  • custom_components/keymaster/config_flow.py: lines 9
  • custom_components/keymaster/websocket.py: lines 8

yaml (1 findings)

  • custom_components/keymaster/lovelace.py: lines 11

zigpy (1 findings)

  • custom_components/keymaster/providers/zha.py: lines 11

zwave_js_server (9 findings)

  • custom_components/keymaster/providers/zwave_js.py: lines 12, 13, 14, 19, 20, 21, 29, 50, 55

Why this is non-trivial

This is a Home Assistant custom integration, so several imports are supplied by Home Assistant or optional integration packages rather than normal application dependencies. The right fix may be an aislop configuration/ignore, test dependency manifest change, or package metadata decision; changing imports directly would be incorrect.

Suggested starting point

Decide how the project wants to model Home Assistant/runtime-only dependencies for aislop, then add the minimum repo configuration or dependency metadata so legitimate imports are not reported as hallucinated.

Metadata

Metadata

Assignees

No one assigned

    Labels

    aislopFindings from aislop scan

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions