Freenove source-of-truth sync (story/ui/audio/hotline) #111

Merged
electron-rare merged 13 commits from codex/freenove-source-of-truth-20260227 into main 2026-02-27 13:54:01 +00:00
electron-rare commented 2026-02-27 13:48:48 +00:00 (Migrated from github.com)

Scope\n- Push current source-of-truth state requested in session\n- Includes Freenove story/UI LGFX text and scene flow updates\n- Includes LA detector/hourglass and U_SON audio behavior updates\n\n## Validation\n- PLATFORMIO_BUILD_DIR=/tmp/pio_build_zacus pio run -e freenove_esp32s3_full_with_ui\n\n## Notes\n- Branch created from detached HEAD state after clearing in-progress rebase metadata () to unblock push.\n

## Scope\n- Push current source-of-truth state requested in session\n- Includes Freenove story/UI LGFX text and scene flow updates\n- Includes LA detector/hourglass and U_SON audio behavior updates\n\n## Validation\n- PLATFORMIO_BUILD_DIR=/tmp/pio_build_zacus pio run -e freenove_esp32s3_full_with_ui\n\n## Notes\n- Branch created from detached HEAD state after clearing in-progress rebase metadata () to unblock push.\n
chatgpt-codex-connector[bot] (Migrated from github.com) reviewed 2026-02-27 13:54:57 +00:00
chatgpt-codex-connector[bot] (Migrated from github.com) left a comment

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: fc5f23a61e

ℹ️ 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 Here are some automated review suggestions for this pull request. **Reviewed commit:** `fc5f23a61e` <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>
@@ -77,0 +80,4 @@
-<ui_freenove_allinone/src/hardware_manager.cpp>
-<ui_freenove_allinone/src/network_manager.cpp>
-<ui_freenove_allinone/src/media_manager.cpp>
+<../libs/story/src/core/scenario_def.cpp>
chatgpt-codex-connector[bot] (Migrated from github.com) commented 2026-02-27 13:54:57 +00:00

P2 Badge Remove host-specific serial ports from shared PlatformIO env

This environment hardcodes a single macOS device path for both upload and monitor. Any developer/CI host that does not expose /dev/cu.usbmodem5AB907* (Linux, Windows, or a different USB ID) will fail -t upload/monitor workflows unless they edit committed config locally, which breaks reproducible shared tooling for freenove_esp32s3_full_with_ui.

Useful? React with 👍 / 👎.

**<sub><sub>![P2 Badge](https://img.shields.io/badge/P2-yellow?style=flat)</sub></sub> Remove host-specific serial ports from shared PlatformIO env** This environment hardcodes a single macOS device path for both upload and monitor. Any developer/CI host that does not expose `/dev/cu.usbmodem5AB907*` (Linux, Windows, or a different USB ID) will fail `-t upload`/monitor workflows unless they edit committed config locally, which breaks reproducible shared tooling for `freenove_esp32s3_full_with_ui`. Useful? React with 👍 / 👎.
@@ -35,3 +36,4 @@
StepExpect("SC_EVENT button ANY", "SCENE_LEFOU_DETECTOR", "SCENE_LEFOU_DETECTOR"),
)
chatgpt-codex-connector[bot] (Migrated from github.com) commented 2026-02-27 13:54:57 +00:00

P1 Badge Sync default-flow smoke steps with current scenario transitions

The updated smoke sequence no longer matches the DEFAULT scenario definition shipped in this same commit: RTC_ESP_ETAPE1 now uses screen_scene_id: SCENE_WIN_ETAPE and only espnow transitions (ACK_WIN1/ACK_WIN2), but this check still expects SCENE_WIN_ETAPE1 and drives SC_EVENT serial FORCE_DONE. Running verify_story_default_flow.py against current content will therefore fail deterministically in the middle of the flow, producing a false regression signal instead of validating runtime behavior.

Useful? React with 👍 / 👎.

**<sub><sub>![P1 Badge](https://img.shields.io/badge/P1-orange?style=flat)</sub></sub> Sync default-flow smoke steps with current scenario transitions** The updated smoke sequence no longer matches the DEFAULT scenario definition shipped in this same commit: `RTC_ESP_ETAPE1` now uses `screen_scene_id: SCENE_WIN_ETAPE` and only `espnow` transitions (`ACK_WIN1`/`ACK_WIN2`), but this check still expects `SCENE_WIN_ETAPE1` and drives `SC_EVENT serial FORCE_DONE`. Running `verify_story_default_flow.py` against current content will therefore fail deterministically in the middle of the flow, producing a false regression signal instead of validating runtime behavior. Useful? React with 👍 / 👎.
Sign in to join this conversation.