docs: close and retire the handover — refs removed, HANDOVER.md gitignored - #171
Conversation
…ning landed Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018Unpt5UPRdLoZkahH6a4gL
|
Warning Review limit reached
Next review available in: 53 minutes You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (15)
📝 WalkthroughWalkthroughThe PR updates release and handover documentation, documents bridge-node publication and local installation, removes retired ChangesRelease documentation
Estimated code review effort: 2 (Simple) | ~10 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
…es-driven from here Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018Unpt5UPRdLoZkahH6a4gL
…nt rehomed (#136 arc close) The handover was the build record; work is issues-driven now. The file leaves the repo (gitignored, kept locally) and every reference follows: README's two Pages links, the IMPLEMENTATION/PRD companion pointers, TESTING.md + testing.html war-story links, and the five code-comment pointers. The one live runbook it held — the bridge-node release steps and local-install recipe — moves to bridge-node/README.md § Releasing, and the export PRD's E7 row now states the package IS published (it said publishing was pending, which bridge_agent.py contradicted). SCANNED_DOCS drops the entry so the retired-menu guard doesn't chase a file fresh clones don't have. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018Unpt5UPRdLoZkahH6a4gL
…shed-status claims /review-pr on #171: the eight dated 'HANDOVER 2026-06-09 item 4' lesson citations now cite issue #56 (the lesson text was already inline); the repo no longer references the document anywhere. The retirement also surfaced now-false publish claims the handover used to reconcile: INSTALL.md's 'You cannot install this yet' block and its troubleshooting row, MATTER.md's 'not installable yet', README's local-install-only framing, and the export PRD's §266/E8 rows — indigo-matter-bridge is on npm (0.5.0 onward, pin 0.8.0). bridge-node/README's § Releasing now states honestly that test_bridge_agent only catches a pin AHEAD of package.json; the in-step bump is manual discipline. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018Unpt5UPRdLoZkahH6a4gL
There was a problem hiding this comment.
Actionable comments posted: 1
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (3)
indigo-matter.indigoPlugin/Contents/Server Plugin/http_api_mixin.py (3)
205-208: 🔒 Security & Privacy | 🟠 Major | ⚡ Quick winPrevent caching of the pairing response.
The pairing page returns a live manual pairing code and raw
MT:payload. The response currently sets onlyContent-Type. A browser or intermediary can retain this authenticated GET response and expose commissioning credentials to another user of the cache. AddCache-Control: no-store.Proposed header
reply["headers"] = indigo.Dict({ "Content-Type": "text/html; charset=utf-8", + "Cache-Control": "no-store", })🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@indigo-matter.indigoPlugin/Contents/Server` Plugin/http_api_mixin.py around lines 205 - 208, Update the response headers in the pairing-page handler that calls _pairing_page() to include Cache-Control: no-store alongside the existing Content-Type header, ensuring the live pairing credentials are not cached.
141-142: 🩺 Stability & Availability | 🟠 Major | ⚡ Quick winRoute decommission deletes through the loop-to-Indigo handoff.
delete_node(node_id, ...)callsindigo.device.delete(...)directly. When callers submit_decommissionon the asyncio runtime thread, Indigo device deletion also runs on that thread, so route this removal through the approved thread-safe device-sync handoff or add a thread-safe deletion wrapper that performs direct deletion.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@indigo-matter.indigoPlugin/Contents/Server` Plugin/http_api_mixin.py around lines 141 - 142, Update the _decommission flow around device_sync.delete_node so deletion is dispatched through the approved loop-to-Indigo thread-safe handoff when invoked from the asyncio runtime thread. If needed, add and use a thread-safe deletion wrapper rather than calling indigo.device.delete directly, while preserving the existing removed_ids, fabric_removed, and known checks.Source: Coding guidelines
45-62: 📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick winSuppress
unused-argumenton these HTTP callback signatures.The configured lint rules do not disable
unused-argument, and the shown# noqa: N802does not suppressW0613/ARG002. Mark the unused callback parameters withARG002/unused-argument, or rename the unused ones with_/Nonenames. Use the same approach forhttp_status,http_commission,http_decommission, andhttp_diagnostics.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@indigo-matter.indigoPlugin/Contents/Server` Plugin/http_api_mixin.py around lines 45 - 62, Update the callback signatures of http_status, http_commission, http_decommission, and http_diagnostics to suppress unused-argument lint warnings by adding the appropriate ARG002/unused-argument suppression or renaming unused parameters with the project’s accepted underscore convention, while preserving the callback API.Source: Coding guidelines
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@docs/PRD-indigo-matter-export.md`:
- Line 382: Update the E8 release-status row adjacent to E7 so it no longer
states that the indigo-matter-bridge npm package is unpublished; align its
wording with the published 0.5.0+ status already recorded in the E7 row, without
changing unrelated E8 details.
---
Outside diff comments:
In `@indigo-matter.indigoPlugin/Contents/Server` Plugin/http_api_mixin.py:
- Around line 205-208: Update the response headers in the pairing-page handler
that calls _pairing_page() to include Cache-Control: no-store alongside the
existing Content-Type header, ensuring the live pairing credentials are not
cached.
- Around line 141-142: Update the _decommission flow around
device_sync.delete_node so deletion is dispatched through the approved
loop-to-Indigo thread-safe handoff when invoked from the asyncio runtime thread.
If needed, add and use a thread-safe deletion wrapper rather than calling
indigo.device.delete directly, while preserving the existing removed_ids,
fabric_removed, and known checks.
- Around line 45-62: Update the callback signatures of http_status,
http_commission, http_decommission, and http_diagnostics to suppress
unused-argument lint warnings by adding the appropriate ARG002/unused-argument
suppression or renaming unused parameters with the project’s accepted underscore
convention, while preserving the callback API.
🪄 Autofix
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro Plus
Run ID: f6491937-6f41-41c7-962b-9dec7c434e9d
📒 Files selected for processing (16)
.gitignoreREADME.mdbridge-node/README.mdbridge-node/src/endpoints.tsdocs/HANDOVER.mddocs/IMPLEMENTATION.mddocs/PRD-indigo-matter-export.mddocs/PRD-indigo-matter-plugin.mddocs/TESTING.mddocs/testing.htmlindigo-matter.indigoPlugin/Contents/Info.plistindigo-matter.indigoPlugin/Contents/Server Plugin/bridge_agent.pyindigo-matter.indigoPlugin/Contents/Server Plugin/export_handlers.pyindigo-matter.indigoPlugin/Contents/Server Plugin/http_api_mixin.pytests/test_launch_agent.pytests/test_plugin_module.py
🚧 Files skipped from review as they are similar to previous changes (1)
- indigo-matter.indigoPlugin/Contents/Info.plist
Summary by CodeRabbit
New Features
Documentation