Skip to content

docs: update TODO.md and AGENTS.md for current codebase#1070

Merged
raman325 merged 1 commit intomainfrom
docs/update-todo-agents
Apr 21, 2026
Merged

docs: update TODO.md and AGENTS.md for current codebase#1070
raman325 merged 1 commit intomainfrom
docs/update-todo-agents

Conversation

@raman325
Copy link
Copy Markdown
Owner

Proposed change

Updates documentation to reflect the current state of the codebase after recent PRs (#1062, #1063, #1065, #1067).

TODO.md:

  • Zigbee2MQTT moved from open PRs to current providers
  • Added Z2M-specific TODOs (code slot events, broad except narrowing)
  • Updated architecture notes for Z2M optimistic updates
  • Added frontend sync_status enhancement TODO

AGENTS.md:

  • Listed all 6 providers in architecture section
  • Documented managed_slots property and async_call_service() on BaseLock
  • Documented coordinator slot_sync_mgrs_suspended / suspend_slot_sync_mgrs()
  • Added sync state machine section (SyncState enum, transitions, error taxonomy)
  • Documented sync_status extra state attribute on in-sync binary sensor
  • Updated provider guide with new base class helpers and error handling guidance
  • Updated test structure to include all provider directories
  • Updated websocket API docs for sync_status fields

Type of change

  • Dependency upgrade
  • Bugfix (non-breaking change which fixes an issue)
  • New feature (which adds functionality)
  • Breaking change (fix/feature causing existing functionality to break)
  • Code quality improvements to existing code or addition of tests

Additional information

  • This PR fixes or closes issue:
  • This PR is related to issue:

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
Copilot AI review requested due to automatic review settings April 21, 2026 17:58
@github-actions github-actions Bot added documentation Documentation changes code-quality Pull requests that improve code quality labels Apr 21, 2026
@raman325 raman325 merged commit ab1d8a1 into main Apr 21, 2026
10 of 12 checks passed
@raman325 raman325 deleted the docs/update-todo-agents branch April 21, 2026 17:59
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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_status notes).
  • 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.

Comment thread AGENTS.md
- **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;
Copy link

Copilot AI Apr 21, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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).

Suggested change
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;

Copilot uses AI. Check for mistakes.
Comment thread AGENTS.md
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`
Copy link

Copilot AI Apr 21, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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).

Suggested change
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)

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

code-quality Pull requests that improve code quality documentation Documentation changes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants