Generated on 2026-07-23T17:13:22+08:00
This CI run tested the merged PR #172 'feat(scene): epoch-safe semantic map persistence keyed by save tokens' on commit c02f920. All 15 scenarios passed (15/15, 100%), including builtin file operations, camera/lidar snapshots, explore smoke tests, mapping save, memory roundtrip, speech, voiceprint, and flow scenarios for fault recovery, object navigation, and patrol observe. The test also exercised a map save/load/delete cycle with scene object persistence, confirming the new epoch-safe snapshot mechanism works correctly.
| Source | Line | Excerpt |
|---|---|---|
| 5 | "failed": 0, | |
| 85 | RESULT: PASS — 15/15 | |
| 1 | save_response {"annotations": 0, "detail": "saved spatial map ci_scene_map_29993498427-1; rtabmap backup completed; ...", "objects": 27, "ok": true, "snapshot_partition": "ci_scene_map_29993498427-1__s1", ...} | |
| 2 | PASS scene_save_ok saved spatial map ci_scene_map_29993498427-1; rtabmap backup completed; ... | |
| 3 | PASS scene_validation_spatial_ok ok | |
| 4 | PASS scene_validation_has_preview validation={'map_id': 'ci_scene_map_29993498427-1', 'spatial_ok': True, ...} | |
| 5 | PASS scene_semantic_counts_reported objects=27 rooms=0 | |
| 6 | artifact {"artifact_size": 69885952, "base": "/home/wheatfox/.../mapping-maps/ci_scene_map_29993498427-1", ...} | |
| 7 | PASS artifact_directory_exists /home/wheatfox/.../mapping-maps/ci_scene_map_29993498427-1 | |
| 8 | PASS artifact_sqlite_exists ['meta.yaml', 'occupancy.pgm', 'occupancy.png', 'occupancy.yaml', 'rtabmap.db'] | |
| 9 | PASS artifact_quick_check_ok ok | |
| 10 | PASS artifact_size_nontrivial 69885952 | |
| 11 | PASS artifact_nodes_nontrivial {'Node': 98, 'Data': 98, 'Link': 482, 'Word': 21327} | |
| 12 | PASS preview_exists ['meta.yaml', 'occupancy.pgm', 'occupancy.png', 'occupancy.yaml', 'rtabmap.db'] | |
| 13 | load_response {"detail": "loaded immutable map ci_scene_map_29993498427-1 via runtime copy; ...", "objects_flushed": 25, "objects_restored": 27, "ok": true, "snapshot_partition": "ci_scene_map_29993498427-1__s1"} | |
| 14 | PASS scene_load_ok loaded immutable map ci_scene_map_29993498427-1 via runtime copy; ... | |
| 15 | PASS scene_load_reported_fresh_occupancy {'count': 98, 'stamp_unix': 1784797732.973829, 'width': 210, 'height': 243} | |
| 16 | live_map {"frame_id": "map", "free": 21055, "height": 243, "known": 23049, "occupied": 1994, ...} | |
| 17 | PASS live_map_known_cells {'width': 210, 'height': 243, 'resolution': 0.05000000074505806, 'known': 23049, ...} | |
| 18 | PASS preview_matches_meta meta=210x243 preview=210x243 | |
| 19 | INFO loaded_map_dimensions meta=210x243 live=210x243 delta=0x0 cells | |
| 20 | PASS loaded_map_origin_matches_saved_meta dx=0.0000 dy=0.0000 meta=(-7.699544906616211, -5.276757717132568) live=(-7.699544906616211,-5.276757717132568) | |
| 21 | delete_response {"detail": "deleted ci_scene_map_29993498427-1", "map_id": "ci_scene_map_29993498427-1", "ok": true, "scene_cleanup": {"annotations_deleted": true, "objects_deleted": 27}} | |
| 22 | PASS delete_after_ok {'ok': True, 'map_id': 'ci_scene_map_29993498427-1', 'detail': 'deleted ci_scene_map_29993498427-1', 'scene_cleanup': {'annotations_deleted': True, 'objects_deleted': 27}} | |
| 23 | summary: 16/16 checks passed |
| Generated On | 2026-07-23T17:13:22+08:00 |
|---|---|
| Test Report Generated On | 2026-07-23T17:12:30+08:00 |
| Run Id | 29993498427 |
| Workflow | Robonix CI Bot |
| Event | issue_comment |
| Repository | syswonder/robonix |
| Tested Commit | c02f920a2001 |
| Tested Commit Subject | Merge remote-tracking branch 'refs/remotes/robonix-pr/172/head' into dev |
| Tested Commit Author | github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> |
| Tested Commit Date | 2026-07-23T17:03:09+08:00 |
| Pr Number | #172 |
| Pr Title | feat(scene): epoch-safe semantic map persistence keyed by save tokens |
| Pr Author | enkerewpo |
| Pr Url | https://github.com/syswonder/robonix/pull/172 |
| Pr Head Ref | feat/scene-epoch-persistence |
| 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 | 46dcc5c36930 |
| Pr Base Ref | dev |
| Pr Head Sha | e5de7fe4e6f18eafc341026535b7d808070cafbf |
| Report Id | 29993498427 |
| 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 | 117 |
| Sim Container | ci-29993498427-sim |
| Sim Image | ci-29993498427-1-sim |
| Webots Stream Port | 23427 |
| Webots Viewer Port | 24427 |
| 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 |