chore(deps): refresh ESP-SR and pin the CI toolchain - #34
Conversation
|
🦞👀 Pull request received. I will update this pull request when review starts. ClawSweeper review completeClawSweeper finished reviewing this revision. The review result is being finalized. |
|
Codex review: needs real behavior proof before merge. Reviewed September 11, 2026, 1:54 PM ET / 17:54 UTC (Revision 13). ClawSweeper reviewWhat this changesRaises the ESP-SR speech-library minimum for both room-node examples, pins CI to ESP-IDF 5.5.5, adds the existing diagnostics test to CI, and records the update in the changelog. Merge readiness⛔ Blocked before merge - 4 items remain This remains a useful, distinct dependency update: main retains the earlier minimum and moving SDK image, and the merged firmware-packaging work explicitly leaves SDK selection separate. No blocking code defect was established, but runtime compatibility remains unproven. Priority: P2 Review scores
Verification
How this fits togetherThe room-node firmware uses ESP-SR to process microphone audio and detect wake words before starting Talk sessions. Dependency manifests select that library, while CI builds firmware for the supported boards using ESP-IDF. flowchart LR
A[Dependency manifests] --> B[ESP-IDF firmware builds]
B --> C[Room-node firmware]
D[Microphone audio] --> E[Speech processing and wake detection]
C --> E
E --> F[Talk session]
Before merge
Agent review detailsSecurityNone. Review metrics
Merge-risk optionsMaintainer options:
Technical reviewBest possible solution: Use one consistent SDK selection and accurate firmware provenance, with resolved speech-library versions demonstrated to preserve fresh-boot and existing-device audio behavior. Do we have a high-confidence way to reproduce the issue? Not applicable: this is dependency maintenance, and no concrete current-main failure is reported or established. Is this the best way to solve the issue? Yes, raising the existing minimum and matching CI to the documented SDK contract is a narrow approach; its hardware compatibility still needs evidence. AGENTS.md: not found in the target repository. Codex review notes: model internal, reasoning medium; reviewed against 407dc9e59d35. LabelsLabel justifications:
EvidenceWhat I checked:
Likely related people:
Rank-up movesOptional improvements that raise the rating; they are not merge blockers.
Rating scale
Overall follows the weaker of proof and patch quality. Workflow
HistoryReview history (12 earlier review cycles; latest 8 shown)
|
Updates the two room-node examples to ESP-SR 2.5.2 and keeps CI on the exact ESP-IDF version required by Tab5. This is a draft while local firmware build and on-device/QEMU validation remain incomplete.
Dependency changes
^2.5.1→^2.5.2. Upstream adds WakeNet10 w8a16 support and direction-of-arrival improvements; its ESP-DL minimum moves from 3.3.9 to 3.3.10. Upstream changelog.release-v5.5→ stablev5.5.5, matching the Tab5 manifest's==5.5.5contract. 5.5.5 is still the latest stable 5.5 patch.Held upgrades
Existing transitive holds remain owned by upstream constraints: esp-dsp 1.8.0 (ESP-SR exact pin), codec-device ~1.5, media_lib_sal ~0.9, nghttp ~1.65.0, esp_audio_codec ~2.5, esp_audio_effects ~1.3, esp_asrc
1.0, sensor_hub ^0.1.4, and cmake_utilities 0.*. Newer esp_capture 1.0.31 requires ESP-SR2.4 and codec-device 2.0 beta, incompatible with this graph. The Tab5 BSP registry release remains 1.2.01.Local proof
Both existing host suites pass:
Live host integration loads the compiled production library and validates the actual repository banner PNG:
Actual output:
The temporary integration driver uses Python ctypes to call
room_file_inspect_base64onbase64.b64encode(Path('docs/assets/esp-openclaw-node-banner.png').read_bytes()), checks the returned length against the actual file size, and callsroom_file_normalize_public_pathfor both displayed paths. This proves host integration only; it does not establish firmware or acoustic behavior.actionlintandgit diff --checkpass. Codex autoreview completed scoped-clean at the requested default P0 threshold, with no accepted/actionable findings.CI and remaining validation
The orchestrator reported NORUNS, but the actual latest default-branch CI run passed all five firmware builds. Component upload also passed; it is publication automation, while ClawSweeper Dispatch is operational automation. No default-branch test failure was found.
All five candidate CI builds passed, including both room nodes and the Unity test firmware. The Linux host-test step also passed.
Local firmware validation remains blocked by Docker setup:
docker pull espressif/idf:v5.5.5downloaded all layers but the image was still unavailable after more than 30 minutes; starting the already-present Ubuntu image also stalled for several minutes. Both task-owned attempts were stopped. Nativeidf.pyand a physical ESP board are unavailable. No Docker restart or unrelated cache removal was performed. Full local firmware builds, the Unity device suite, and speech hardware checks are not claimed. CI proves all five builds, but this draft should remain unmerged until the missing local/runtime proof is resolved or explicitly accepted by the maintainer.