Generated on 2026-07-10T06:10:11+08:00
This PR hardens the soma primitive lifecycle by adding proper shutdown handlers to audio_client_bridge, tiago_camera, and tiago_lidar drivers, and improves driver start scripts with log redirection and background process management. The Webots CI ran 15 scenarios covering builtin, capability, and flow tests, all passing. The change also fixes atlas endpoint rewriting in soma's launcher and adds resilience to empty/invalid process state files.
| Source | Line | Excerpt |
|---|---|---|
| 5 | "failed": 0, | |
| 85 | RESULT: PASS — 15/15 | |
| 480 | @tiago_camera.on_shutdown\ndef shutdown():\n return Ok() | |
| 324 | let provider_atlas = self.provider_atlas_endpoint(); | |
| 165 | if content.trim().is_empty() {\n warn!(...);\n self.save_state_internal(&HashMap::new())?;\n return Ok(());\n} |
| Generated On | 2026-07-10T06:10:11+08:00 |
|---|---|
| Test Report Generated On | 2026-07-10T06:09:21+08:00 |
| Run Id | 29053127033 |
| Workflow | Robonix CI Bot |
| Event | issue_comment |
| Repository | syswonder/robonix |
| Tested Commit | 405e154c274a |
| Tested Commit Subject | Merge remote-tracking branch 'refs/remotes/robonix-pr/138/head' into dev |
| Tested Commit Author | github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> |
| Tested Commit Date | 2026-07-10T06:00:27+08:00 |
| Pr Number | #138 |
| Pr Title | fix(webots): harden soma primitive lifecycle |
| Pr Author | enkerewpo |
| Pr Url | https://github.com/syswonder/robonix/pull/138 |
| Pr Head Ref | codex/soma-primitive-lifecycle |
| Pr Head Repo | syswonder/robonix |
| Triggered By | enkerewpo |
| Actor | enkerewpo |
| Triggering Actor | enkerewpo |
| Runner Name | robonix-runner-workpc-debian13-temp |
| Runner Os | Linux |
| Runner Arch | X64 |
| Origin Url | https://github.com/syswonder/robonix |
| Run Attempt | 1 |
| Ref | refs/heads/dev |
| Sha | 8bdf2a254ab6 |
| Pr Base Ref | dev |
| Pr Head Sha | 052dffade968416c340f47c29f68782ffaa02292 |
| Report Id | 29053127033 |
| Test Ref | refs/heads/dev |
| Hostname | dedsec-amd0 |
|---|---|
| Os Pretty Name | Debian GNU/Linux 13 (trixie) |
| Kernel | Linux 6.12.90+deb13.1-amd64 x86_64 GNU/Linux |
| Arch | x86_64 |
| Cpu Model | AMD Ryzen 5 7600X 6-Core Processor |
| Cpu Cores | 12 |
| Mem Total | 30Gi |
| Gpu Summary | 0, NVIDIA GeForce RTX 2060, 6144 MiB, 580.95.05 |
| Nvidia Driver | 580.95.05 |
| Cuda Version | 13.0 |
| Docker Version | 29.5.3 |
| Docker Compose Version | 5.1.4 |
| Webots Version | webots package 2025a |
| Ros Distro | humble |
| Ros Domain Id | 123 |
| Sim Container | ci-29053127033-sim |
| Sim Image | ci-29053127033-sim |
| Webots Stream Port | 23033 |
| Webots Viewer Port | 24033 |
| Python Version | Python 3.13.5 |
| Rustc Version | rustc 1.95.0 (59807616e 2026-04-14) |
| Rbnx Version | rbnx 0.1.0 |
| Status | Suite | Scenario | Rounds | Dispatched contracts | Failures | Log |
|---|---|---|---|---|---|---|
| PASS | builtin | fault_recovery_builtin | 3 | robonix/system/executor/builtin/read_file robonix/system/executor/builtin/write_file | - | |
| PASS | builtin | file_roundtrip | 1 | robonix/system/executor/builtin/list_dir robonix/system/executor/builtin/read_file robonix/system/executor/builtin/write_file | - | |
| PASS | builtin | plan_control_builtins | 1 | robonix/system/executor/builtin/get_all_plans robonix/system/executor/builtin/get_plan_status robonix/system/executor/builtin/stop_plan_at | - | |
| PASS | builtin | run_command | 1 | robonix/system/executor/builtin/run_command | - | |
| PASS | cap | camera_snapshot | 1 | robonix/primitive/camera/snapshot | - | |
| PASS | cap | explore_smoke | 2 | robonix/skill/explore/explore robonix/skill/explore/explore/cancel robonix/skill/explore/explore/status | - | |
| PASS | cap | lidar_snapshot | 1 | robonix/primitive/lidar/snapshot | - | |
| PASS | cap | mapping_save | 1 | robonix/service/map/save_map | - | |
| PASS | cap | memory_roundtrip | 1 | robonix/service/memory/save robonix/service/memory/search | - | |
| PASS | cap | scene_object_fixture | 1 | robonix/system/scene/list_objects | - | |
| PASS | cap | speech_speak | 1 | robonix/service/speech/speak | - | |
| PASS | cap | voiceprint_list | 1 | robonix/service/voiceprint/list | - | |
| PASS | flow | fault_recovery | 4 | robonix/service/memory/save | - | |
| PASS | flow | object_navigation | 4 | robonix/service/navigation/navigate robonix/skill/explore/explore robonix/system/scene/goal_near robonix/system/scene/list_objects | - | |
| PASS | flow | patrol_observe | 3 | robonix/primitive/camera/snapshot robonix/primitive/lidar/snapshot robonix/service/memory/save robonix/service/memory/search | - |
Each scenario step is one VLM planning round. The tree below is the RTDL returned for that round; every do leaf has its own expected runtime contract and output checks.
Build stdout is embedded as sim_logs/build-webots-deployment.log when the build step starts. The deploy supervisor output with the Robonix boot banner is embedded as rbnx-boot.log.
No log selected.Contracts observed by the scenario runner in executor leaf results. This shows which runtime contract ids were exercised by this run; it is not a full API inventory.
| Area | Contract id |
|---|---|
| robonix/primitive/camera | robonix/primitive/camera/snapshot |
| robonix/primitive/lidar | robonix/primitive/lidar/snapshot |
| robonix/service/map | robonix/service/map/save_map |
| robonix/service/memory | robonix/service/memory/save |
| robonix/service/memory | robonix/service/memory/search |
| robonix/service/navigation | robonix/service/navigation/navigate |
| robonix/service/speech | robonix/service/speech/speak |
| robonix/service/voiceprint | robonix/service/voiceprint/list |
| robonix/skill/explore | robonix/skill/explore/explore |
| robonix/skill/explore | robonix/skill/explore/explore/cancel |
| robonix/skill/explore | robonix/skill/explore/explore/status |
| robonix/system/executor | robonix/system/executor/builtin/get_all_plans |
| robonix/system/executor | robonix/system/executor/builtin/get_plan_status |
| robonix/system/executor | robonix/system/executor/builtin/list_dir |
| robonix/system/executor | robonix/system/executor/builtin/read_file |
| robonix/system/executor | robonix/system/executor/builtin/run_command |
| robonix/system/executor | robonix/system/executor/builtin/stop_plan_at |
| robonix/system/executor | robonix/system/executor/builtin/write_file |
| robonix/system/scene | robonix/system/scene/goal_near |
| robonix/system/scene | robonix/system/scene/list_objects |