Conversation
There was a problem hiding this comment.
Pull request overview
Adds coverage for additional Bluetooth SIG GATT services (and related support types) so the library’s service layer and registry can represent more of the assigned-number catalog consistently.
Changes:
- Added new service test suites for multiple SIG services using the shared
CommonServiceTestscontract. - Updated shared service test expectations to allow advertisement-only services with zero characteristics.
- Introduced/updated service/type definitions to support the new services (including BSS split-header encoding).
Reviewed changes
Copilot reviewed 279 out of 280 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| src/bluetooth_sig/gatt/services/generic_access.py | Service characteristic requirement flags for GAP. |
| src/bluetooth_sig/gatt/services/phone_alert_status.py | Service characteristic requirement flags for Phone Alert Status. |
| src/bluetooth_sig/types/bss.py | BSS data types; split-header encode/decode helper used by BSS characteristics. |
| tests/gatt/services/test_service_common.py | Adjusts shared assertions for expected characteristics to support 0-characteristic services. |
| tests/gatt/services/test_volume_offset_control_service.py | Adds service contract tests for Volume Offset Control. |
| tests/gatt/services/test_volume_control_service.py | Adds service contract tests for Volume Control. |
| tests/gatt/services/test_transport_discovery_service.py | Adds service contract tests for Transport Discovery. |
| tests/gatt/services/test_telephony_and_media_audio_service.py | Adds service contract tests for Telephony and Media Audio. |
| tests/gatt/services/test_telephone_bearer_service.py | Adds service contract tests for Telephone Bearer. |
| tests/gatt/services/test_reconnection_configuration_service.py | Adds service contract tests for Reconnection Configuration. |
| tests/gatt/services/test_ranging_service.py | Adds service contract tests for Ranging. |
| tests/gatt/services/test_published_audio_capabilities_service.py | Adds service contract tests for Published Audio Capabilities. |
| tests/gatt/services/test_public_broadcast_announcement_service.py | Adds service contract tests for Public Broadcast Announcement (0 characteristics). |
| tests/gatt/services/test_physical_activity_monitor_service.py | Adds service contract tests for Physical Activity Monitor. |
| tests/gatt/services/test_object_transfer_service.py | Adds service contract tests for Object Transfer. |
| tests/gatt/services/test_microphone_control_service.py | Adds service contract tests for Microphone Control. |
| tests/gatt/services/test_mesh_proxy_solicitation_service.py | Adds service contract tests for Mesh Proxy Solicitation (0 characteristics). |
| tests/gatt/services/test_mesh_proxy_service.py | Adds service contract tests for Mesh Proxy. |
| tests/gatt/services/test_mesh_provisioning_service.py | Adds service contract tests for Mesh Provisioning. |
| tests/gatt/services/test_media_control_service.py | Adds service contract tests for Media Control. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request makes significant improvements to project documentation and enforces architectural and implementation rules for the Bluetooth SIG Standards Library. The changes clarify project structure, update and reorganize instructions for contributors, correct minor code issues, and update the Bluetooth SIG submodule. The most important changes are grouped below.
Documentation and Project Guidance:
.github/copilot-instructions.mdto clarify project layout, non-negotiable rules, workflow, quality gates, and authoritative references. The new version is clearer, more concise, and easier to follow for contributors.CLAUDE.mdas a quick-start and guidance document, directing contributors to canonical rules and focused instructions..github/instructions/documentation.instructions.md.Architecture and Implementation Rules:
.github/instructions/bluetooth-gatt.instructions.mdand.github/instructions/python-implementation.instructions.mdto emphasize the prohibition of hardcoded UUIDs, clarify type safety requirements, and detail implementation patterns for characteristics. [1] [2].github/instructions/testing.instructions.mdwith a clear characteristic test pattern, edge case requirements, and improved coverage policy.Codebase and Submodule Updates:
bluetooth_sigsubmodule to a newer commit, ensuring the latest SIG YAML data is used.CharacteristicNamefrom the correct module (gatt.characteristics.registry), improving code clarity and correctness. [1] [2] [3]Acceleration3DCharacteristicto match the SIG specification.Tooling and Configuration:
.vscode/settings.jsonfor proper environment detection.Cleanup:
.github/instructions/memory.instruction.mdfile.These changes collectively improve the project's maintainability, onboarding experience, and enforceability of best practices.