Generated on 2026-07-28T12:36:23+08:00
HTTP Error 402: Payment Required
LLM analysis was not available; deterministic logs remain embedded below.
| Generated On | 2026-07-28T12:36:23+08:00 |
|---|---|
| Test Report Generated On | 2026-07-28T12:36:00+08:00 |
| Run Id | 30328785101 |
| Workflow | Robonix CI Bot |
| Event | issue_comment |
| Repository | syswonder/robonix |
| Tested Commit | 8727deee5a87 |
| Tested Commit Subject | Merge remote-tracking branch 'refs/remotes/robonix-pr/199/head' into agent/dev-next-portability |
| Tested Commit Author | github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> |
| Tested Commit Date | 2026-07-28T12:28:04+08:00 |
| Pr Number | #199 |
| Pr Title | fix(scene): make object world state reliable and recoverable |
| Pr Author | enkerewpo |
| Pr Url | https://github.com/syswonder/robonix/pull/199 |
| Pr Head Ref | agent/scene-object-management-177 |
| 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 | efec93b93d76 |
| Pr Base Ref | agent/dev-next-portability |
| Pr Head Sha | 062394099bc965b49cae608b5080df8f729f650f |
| Report Id | 30328785101 |
| Test Ref | refs/heads/agent/dev-next-portability |
| 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 | 91 |
| Sim Container | ci-30328785101-sim |
| Sim Image | ci-30328785101-1-sim |
| Webots Stream Port | 23101 |
| Webots Viewer Port | 24101 |
| 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 | flow | object_navigation | 4 | robonix/service/navigation/navigate robonix/skill/explore/explore robonix/system/scene/goal_near robonix/system/scene/list_objects | - | |
| 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 | 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_label_stability | 1 | robonix/system/executor/builtin/run_command | - | |
| FAIL | cap | scene_object_dropout | 1 | robonix/system/executor/builtin/run_command | steps[0] did not match any plan round from 0; expected contracts=['robonix/system/executor/builtin/run_command']; observed round 0: calls=[('robonix/system/executor/builtin/run_command', '33:0')]; rtdl.children[0]: expected leaf 'robonix/system/executor/builtin/run_command' did not satisfy assertions: output JSON did not contain subset {'ok': True, 'reappeared_same_id': True}, got {'ok': False, 'error': 'Webots supervisor rejected fixture: {"success": false}'} | |
| PASS | cap | scene_object_fixture | 1 | robonix/system/scene/list_objects | - | |
| FAIL | cap | scene_object_management | 5 | robonix/system/scene/delete_object robonix/system/scene/flush_objects robonix/system/scene/list_objects robonix/system/scene/update_object_geometry robonix/system/scene/update_object_label | steps[2] did not match any plan round from 2; expected contracts=['robonix/system/scene/list_objects']; observed round 2: calls=[('robonix/system/scene/list_objects', '39:0')]; rtdl.children[0]: expected leaf 'robonix/system/scene/list_objects' did not satisfy assertions: checks[0] failed: select='$.objects[]' where={'all': [{'path': '$.id', 'op': 'eq', 'value': {'var': 'object_id'}}, {'path': '$.label', 'op': 'eq', 'value': 'ci_verified_object'}]} assert={'op': 'exists'} values=[] | round 3: calls=[('robonix/system/scene/update_object_label', '40:0')]; rtdl.children[0]: expected leaf contract='robonix/system/scene/list_objects' success=True, observed [('robonix/system/scene/update_object_label', True)] | round 4: calls=[('robonix/system/scene/update_object_geometry', '41:0'), ('robonix/system/scene/delete_object', '41:1'), ('robonix/system/scene/flush_objects', '41:2')]; planned 3 call(s), expected 1; rtdl.children[0]: expected leaf contract='robonix/system/scene/list_objects' success=True, observed [('robonix/system/scene/update_object_geometry', False), ('robonix/system/scene/delete_object', False), ('robonix/system/scene/flush_objects', False)] | |
| FAIL | cap | scene_object_quality | 1 | robonix/system/executor/builtin/run_command | steps[0] did not match any plan round from 0; expected contracts=['robonix/system/executor/builtin/run_command']; observed round 0: calls=[('robonix/system/executor/builtin/run_command', '47:0')]; rtdl.children[0]: expected leaf 'robonix/system/executor/builtin/run_command' did not satisfy assertions: output JSON did not contain subset {'ok': True, 'off_map_count': 0, 'invalid_bbox_count': 0, 'background_label_count': 0, 'ground_truth_metrics': {'ok': True, 'label_accuracy': 1.0, 'stable_id_count': 1}}, got {'ok': False, 'require_scene_ground_truth': False, 'visible_objects': 11, 'off_map_count': 0, 'invalid_bbox_count': 0, 'background_label_count': 0, 'quality': {'healthy_frames': 361, 'masks_input': 2124, 'masks_retained': 881, 'depth_rejected_masks': 1243, 'map_bounds_rejected_detections': 0, 'oversized_bbox_rejected_detections': 0, 'accepted_frame_detections': 877, 'require_occupancy_bounds': True, 'frame_dbscan': True, 'depth_range_m': [0.15, 6.0], 'max_bbox_extent_m': 3.0, 'map_bounds_margin_m': 0.25, 'label_provisional_objects': 2, 'label_history_size': 20, 'allow_cross_class_merge': False}, 'off_map_ids': [], 'invalid_bbox_ids': [], 'background_label_ids': [], 'ground_truth_metrics': {'ok': False, 'failures': ['label_accuracy below 1.0'], 'ground_truth': {'label': 'potted_plant', 'center_m': [1.546367, 0.160477, 0.65], 'bbox_size_m': [0.3, 0.3, 1.3], 'yaw_rad': 2.355248}, 'sample_count': 8, 'expected_samples': 8, 'target_recall': 1.0, 'label_accuracy': 0.0, 'stable_id_count': 1, 'median_center_xy_error_m': 0.097483, 'max_center_xy_drift_m': 0.0, 'median_center_z_error_m': 0.263331, 'median_bbox_iou_3d': 0.25051, 'median_point_inlier_fraction': 0.863281, 'median_point_count': 1891.0, 'navigation_grade_fraction': 1.0}, 'scene_ground_truth_metrics': {'ok': False, 'failures': ['target_recall below 0.8', 'label_accuracy below 0.8', 'median_center_error_m above 0.25', 'median_yaw_error_rad above 0.52'], 'per_target': [{'node_type': 'Table', 'name': 'table(1)', 'expected_label': 'table', 'matched': False}, {'node_type': 'Monitor', 'name': 'monitor(1)', 'expected_label': 'monitor', 'matched': False}, {'node_type': 'Keyboard', 'name': 'keyboard(1)', 'expected_label': 'keyboard', 'matched': False}, {'node_type': 'OfficeChair', 'name': 'office chair(2)', 'expected_label': 'chair', 'matched': False}, {'node_type': 'Cabinet', 'name': 'cabinet(1)', 'expected_label': 'cabinet', 'matched': False}, {'node_type': 'PottedTree', 'name': 'potted tree(2)', 'expected_label': 'potted_plant', 'matched': True, 'object_id': 'scene.object.potted_plant_001', 'observed_label': 'ci_verified_object', 'label_correct': False, 'center_error_m': 0.257034, 'size_error_m': 0.811574, 'size_relative_error': 0.467013, 'yaw_error_rad': 0.552477}], 'object_count': 11, 'expected_object_count': 6, 'matched_object_count': 1, 'target_recall': 0.166667, 'duplicate_count': 0, 'unmatched_object_count': 10, 'ghost_count': 10, 'label_accuracy': 0.0, 'geometry_sample_count': 1, 'yaw_sample_count': 1, 'mean_center_error_m': 0.257034, 'median_center_error_m': 0.257034, 'mean_size_error_m': 0.811574, 'median_size_error_m': 0.811574, 'mean_size_relative_error': 0.467013, 'median_size_relative_error': 0.467013, 'mean_yaw_error_rad': 0.552477, 'median_yaw_error_rad': 0.552477}} | |
| PASS | cap | speech_speak | 1 | robonix/service/speech/speak | - | |
| PASS | cap | voiceprint_list | 1 | robonix/service/voiceprint/list | - | |
| PASS | flow | fault_recovery | 2 | robonix/service/memory/save | - | |
| 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/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/write_file |
| robonix/system/scene | robonix/system/scene/delete_object |
| robonix/system/scene | robonix/system/scene/flush_objects |
| robonix/system/scene | robonix/system/scene/goal_near |
| robonix/system/scene | robonix/system/scene/list_objects |
| robonix/system/scene | robonix/system/scene/update_object_geometry |
| robonix/system/scene | robonix/system/scene/update_object_label |