# WHAT THIS BUILD IS SUPPOSED TO ANNOUNCE, recorded so that a change to the
# composition has something to disagree with. THREE COLUMNS:
#
#     <entity_id>   <unique_id>   <device identifier>
#
# ⚠️ ALL THREE, AND THE SECOND AND THIRD ARE THE HALF THE FIRST DRAFT MISSED.
# A reference that carries only entity_ids cannot see the two changes that
# orphan an install without changing a single composed id:
#
#   `BASE` renamed (`goodwe_ctl` -> anything)      every unique_id changes
#   `DEVICE["identifiers"]` changed                HA sees a NEW device
#
# Home Assistant's MQTT integration keys its entity registry on `unique_id` and
# its device registry on the device identifier. Change either and HA creates a
# NEW entity beside the old one - and because discovery is published with
# `retain=True` and nothing publishes a removal payload, the OLD config stays on
# the broker and the dead entity stays in the registry, still named by every
# automation that referenced it, never updating again. The composed entity_id is
# identical on both, so an entity_id-only comparison reports a clean transition.
# That is the same shape as the habit-4 this file's own card already caught
# once: a reference that does not carry the thing that moved.
#
# ⚠️ AND `object_id` IS DELIBERATELY NOT A COLUMN. `app/mqtt.py` lines 36-42 and
# 61-76 record that HA 2026.8 does NOT honour `object_id` in a discovery
# payload - the id is composed from device name plus entity name - so renaming
# one is a true no-op and a column for it would make this file refuse a change
# that costs nothing. The check is graded on what HA actually keys on.
#
# PROVENANCE, stated exactly:
#   - recorded 2026-09-08 from `release/1.0` at `meter_source: firmware`,
#     roster of one, by reading `mqtt.discovery_payloads(units=[])`. It is what
#     the code announces.
#   - `sensor.goodwe_p1_sample_age` is additionally recorded in `app/mqtt.py` as
#     VERIFIED AGAINST THE LIVE SYSTEM on 2026-08-26, and the ESP32's ingest
#     guard subscribes to that exact string.
#   - ⚠️ IT IS NOT A DUMP OF THE LIVE INSTALL'S ENTITY REGISTRY. That is what
#     `--live-entities` is for. This file is about THE BUILD.
#
# Editing this file is how you say "the announcement changed on purpose". Do not
# edit it to make a check pass.
sensor.goodwe_setpoint            goodwe_ctl_setpoint     goodwe_rs485_controller
sensor.goodwe_grid_power          goodwe_ctl_grid         goodwe_rs485_controller
sensor.goodwe_battery_power       goodwe_ctl_battery      goodwe_rs485_controller
sensor.goodwe_battery_soc         goodwe_ctl_soc          goodwe_rs485_controller
sensor.goodwe_circulating_power   goodwe_ctl_circulation  goodwe_rs485_controller
sensor.goodwe_maintenance_phase   goodwe_ctl_phase        goodwe_rs485_controller
sensor.goodwe_controller_status   goodwe_ctl_status       goodwe_rs485_controller
sensor.goodwe_p1_sample_age       goodwe_ctl_p1_age       goodwe_rs485_controller
