[codex] harden bt scan mode and refresh hardware validation reports #9

Merged
electron-rare merged 1 commits from codex/web-network-controls-latest into audit/telephony-webserver 2026-02-20 23:05:04 +00:00
electron-rare commented 2026-02-20 23:01:24 +00:00 (Migrated from github.com)

Context

After merge of #8 into audit/telephony-webserver, hardware validation on connected A252 bench units found two follow-up needs:

  • tighten Classic BT discoverability policy during outbound HFP attempts,
  • publish updated hardware test evidence (BLE/HFP-assisted runs + refreshed functional report).

User impact

This reduces random inbound Classic BT grabs while keeping outbound HFP connect flow available, and provides up-to-date hardware validation artifacts for QA/audit.

Root cause

BluetoothManager::ensureBtStackReady() used ESP_BT_GENERAL_DISCOVERABLE, which made the board broadly discoverable during normal operation. On noisy environments this can increase unsolicited inbound attempts.

Fix

  • In src/bluetooth/BluetoothManager.cpp:
    • keep device connectable but switch to ESP_BT_NON_DISCOVERABLE.
  • Refresh hardware validation docs:
    • update docs/rapport_hw.json
    • update docs/rapport_tests_fonctionnels.md
    • add docs/rapport_ble_mac.json
    • add docs/rapport_hfp_mac.json
    • add docs/rapport_hfp_pairing_assiste.json
    • add docs/rapport_hfp_pairing_assiste_v2.json

Validation

  • python3 -m py_compile scripts/hw_validation.py -> PASS
  • platformio run -e esp32dev -> PASS
  • platformio test --without-uploading --without-testing -e esp32dev -> PASS

Coordination

  • Cross-repo hardware sync branch created:
    • coord/hw-sync-rtc-zacus-20260220 (RTC)
    • coord/hw-sync-rtc-zacus-20260220 (Zacus)
## Context After merge of #8 into `audit/telephony-webserver`, hardware validation on connected A252 bench units found two follow-up needs: - tighten Classic BT discoverability policy during outbound HFP attempts, - publish updated hardware test evidence (BLE/HFP-assisted runs + refreshed functional report). ## User impact This reduces random inbound Classic BT grabs while keeping outbound HFP connect flow available, and provides up-to-date hardware validation artifacts for QA/audit. ## Root cause `BluetoothManager::ensureBtStackReady()` used `ESP_BT_GENERAL_DISCOVERABLE`, which made the board broadly discoverable during normal operation. On noisy environments this can increase unsolicited inbound attempts. ## Fix - In `src/bluetooth/BluetoothManager.cpp`: - keep device connectable but switch to `ESP_BT_NON_DISCOVERABLE`. - Refresh hardware validation docs: - update `docs/rapport_hw.json` - update `docs/rapport_tests_fonctionnels.md` - add `docs/rapport_ble_mac.json` - add `docs/rapport_hfp_mac.json` - add `docs/rapport_hfp_pairing_assiste.json` - add `docs/rapport_hfp_pairing_assiste_v2.json` ## Validation - `python3 -m py_compile scripts/hw_validation.py` -> PASS - `platformio run -e esp32dev` -> PASS - `platformio test --without-uploading --without-testing -e esp32dev` -> PASS ## Coordination - Cross-repo hardware sync branch created: - `coord/hw-sync-rtc-zacus-20260220` (RTC) - `coord/hw-sync-rtc-zacus-20260220` (Zacus)
electron-rare commented 2026-02-20 23:01:30 +00:00 (Migrated from github.com)

@codex review

@codex review
electron-rare commented 2026-02-20 23:01:46 +00:00 (Migrated from github.com)

Cross-repo coordination branch is active in both repos ().\n\n@codex review

Cross-repo coordination branch is active in both repos ().\n\n@codex review
electron-rare commented 2026-02-20 23:01:50 +00:00 (Migrated from github.com)

Cross-repo coordination branch is active in both repos (coord/hw-sync-rtc-zacus-20260220).

@codex review

Cross-repo coordination branch is active in both repos (`coord/hw-sync-rtc-zacus-20260220`). @codex review
chatgpt-codex-connector[bot] commented 2026-02-20 23:04:03 +00:00 (Migrated from github.com)

Codex Review: Didn't find any major issues. Chef's kiss.

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Codex Review: Didn't find any major issues. Chef's kiss. <details> <summary>ℹ️ About Codex in GitHub</summary> <br/> [Your team has set up Codex to review pull requests in this repo](http://chatgpt.com/codex/settings/general). Reviews are triggered when you - Open a pull request for review - Mark a draft as ready - Comment "@codex review". If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". </details>
Sign in to join this conversation.