docs: update TODO.md and AGENTS.md for current codebase#1070
Conversation
TODO.md: - Zigbee2MQTT now in current providers, removed from open PRs - Added Z2M-specific TODOs (code slot events, broad except) - Updated optimistic push updates note to include Z2M - Added frontend sync_status enhancement TODO AGENTS.md: - Listed all 6 providers in architecture section - Added managed_slots property and async_call_service to BaseLock description - Added coordinator slot_sync_mgrs_suspended documentation - Added sync state machine section (SyncState enum, transitions, error taxonomy) - Added sync_status attribute to binary_sensor description - Updated provider guide with managed_slots, async_call_service, and error handling - Updated test structure to include all provider directories - Updated websocket API docs for sync_status Entire-Checkpoint: 5d1fe4c9924a
There was a problem hiding this comment.
Pull request overview
Updates project documentation (TODO.md and AGENTS.md) to reflect the current provider set and recent architecture changes (notably SyncState/sync_status and Zigbee2MQTT), keeping contributor guidance aligned with the current codebase.
Changes:
- Refresh provider listings/TODOs, including Zigbee2MQTT-specific follow-ups.
- Expand AGENTS.md architecture notes (providers, BaseLock helpers, coordinator suspension, sync state machine, websocket
sync_statusnotes). - Update documented test structure/provider guide sections.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| TODO.md | Updates provider status lists and adds Zigbee2MQTT + sync_status-related TODO/architecture notes. |
| AGENTS.md | Updates architecture/provider/coordinator/sync-state-machine documentation and refreshes testing + websocket API notes. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| - **SYNCING** → sync operation in progress | ||
| - **SUSPENDED** → circuit breaker tripped or unexpected error, retries paused | ||
|
|
||
| Transitions: LOADING → IN_SYNC or OUT_OF_SYNC; IN_SYNC ↔ OUT_OF_SYNC; OUT_OF_SYNC �� SYNCING; |
There was a problem hiding this comment.
The transition line contains garbled characters (OUT_OF_SYNC �� SYNCING), which looks like an encoding issue. Replace the �� with the intended arrow so the state machine description renders correctly (e.g., OUT_OF_SYNC → SYNCING).
| Transitions: LOADING → IN_SYNC or OUT_OF_SYNC; IN_SYNC ↔ OUT_OF_SYNC; OUT_OF_SYNC �� SYNCING; | |
| Transitions: LOADING → IN_SYNC or OUT_OF_SYNC; IN_SYNC ↔ OUT_OF_SYNC; OUT_OF_SYNC → SYNCING; |
| 5. Override `async_setup()` to register event listeners | ||
| 6. Call `async_fire_code_slot_event()` when lock events indicate PIN usage | ||
| 7. Add tests in `tests/<provider>/test_provider.py` | ||
| 7. Add tests in `tests/providers/<provider>/test_<provider>.py` |
There was a problem hiding this comment.
Step 7 says provider tests should be added under tests/providers/<provider>/test_<provider>.py, but the documented test structure immediately above shows Zigbee2MQTT tests living at tests/providers/test_zigbee2mqtt.py (no per-provider subdirectory). Please align the guidance with the actual layout (either move the Z2M tests into a zigbee2mqtt/ folder or update the instruction to allow top-level provider test files).
| 7. Add tests in `tests/providers/<provider>/test_<provider>.py` | |
| 7. Add tests in `tests/providers/test_<provider>.py` (or | |
| `tests/providers/<provider>/test_<provider>.py` if that provider already uses a | |
| subdirectory) |
Proposed change
Updates documentation to reflect the current state of the codebase after recent PRs (#1062, #1063, #1065, #1067).
TODO.md:
AGENTS.md:
managed_slotsproperty andasync_call_service()on BaseLockslot_sync_mgrs_suspended/suspend_slot_sync_mgrs()sync_statusextra state attribute on in-sync binary sensorType of change
Additional information