Standard Compliance

This section tracks ros2_medkit’s compliance with diagnostic industry standards.

Note

These are not project requirements in the traditional V-Model sense.

The items listed here represent standard API endpoints that ros2_medkit implements for interoperability with diagnostic tools and systems. The project may also include extensions beyond the standard (e.g., exposing ROS 2 Topics as diagnostic entities) which are documented separately.

Traceability & Reports

All Requirements

The following table shows all requirements across all categories:

ID

Title

Status

Tags

REQ_INTEROP_001

GET /version-info

verified

Discovery

REQ_INTEROP_002

GET /{any}/docs

open

Discovery

REQ_INTEROP_003

GET /{entity-collection}

verified

Discovery

REQ_INTEROP_004

GET /areas/{id}/subareas

verified

Discovery

REQ_INTEROP_005

GET /components/{id}/subcomponents

verified

Discovery

REQ_INTEROP_006

GET /areas/{id}/contains

verified

Discovery

REQ_INTEROP_007

GET /components/{id}/hosts

verified

Discovery

REQ_INTEROP_008

GET /components/{id}/depends-on

implemented

Discovery

REQ_INTEROP_009

GET /apps/{id}/depends-on

verified

Discovery

REQ_INTEROP_010

GET /

verified

Discovery

REQ_INTEROP_011

tags=... (query)

verified

Discovery

REQ_INTEROP_012

GET /{entity}/faults

verified

Faults

REQ_INTEROP_013

GET /{entity}/faults/{code}

verified

Faults; SOVD

REQ_INTEROP_014

DELETE /{entity}/faults

verified

Faults

REQ_INTEROP_015

DELETE /{entity}/faults/{code}

verified

Faults

REQ_INTEROP_016

GET /{entity}/data-categories

open

Data

REQ_INTEROP_017

GET /{entity}/data-groups

open

Data

REQ_INTEROP_018

GET /{entity}/data

verified

Data

REQ_INTEROP_019

GET /{entity}/data/{data-id}

verified

Data

REQ_INTEROP_020

PUT /{entity}/data/{data-id}

verified

Data

REQ_INTEROP_021

GET /{entity}/data-lists

verified

DataSets

REQ_INTEROP_022

POST /{entity}/data-lists

verified

DataSets

REQ_INTEROP_023

GET /{entity}/data-lists/{id}

verified

DataSets

REQ_INTEROP_024

DELETE /{entity}/data-lists/{id}

verified

DataSets

REQ_INTEROP_025

GET /{entity}/cyclic-subscriptions

open

Subscriptions

REQ_INTEROP_026

GET /{entity}/cyclic-subscriptions/{id}

open

Subscriptions

REQ_INTEROP_027

PUT /{entity}/cyclic-subscriptions/{id}

open

Subscriptions

REQ_INTEROP_028

DELETE /{entity}/cyclic-subscriptions/{id}

open

Subscriptions

REQ_INTEROP_029

POST /{entity}/triggers

open

Subscriptions

REQ_INTEROP_030

GET /{entity}/triggers

open

Subscriptions

REQ_INTEROP_031

PUT /{entity}/triggers/{id}

open

Subscriptions

REQ_INTEROP_032

DELETE /{entity}/triggers/{id}

open

Subscriptions

REQ_INTEROP_033

GET /{entity}/operations

verified

Operations

REQ_INTEROP_034

GET /{entity}/operations/{op-id}

verified

Operations

REQ_INTEROP_035

POST /{entity}/operations/{op-id}/executions

verified

Operations

REQ_INTEROP_036

GET /{entity}/operations/{op-id}/executions

verified

Operations

REQ_INTEROP_037

GET /{entity}/operations/{op-id}/executions/{exec-id}

verified

Operations

REQ_INTEROP_038

PUT /{entity}/operations/{op-id}/executions/{exec-id}

verified

Operations

REQ_INTEROP_039

DELETE /{entity}/operations/{op-id}/executions/{exec-id}

verified

Operations

REQ_INTEROP_040

POST /{entity}/scripts

open

Scripts

REQ_INTEROP_041

GET /{entity}/scripts

open

Scripts

REQ_INTEROP_042

GET /{entity}/scripts/{id}

open

Scripts

REQ_INTEROP_043

DELETE /{entity}/scripts/{id}

open

Scripts

REQ_INTEROP_044

POST /{entity}/scripts/{id}/executions

open

Scripts

REQ_INTEROP_045

GET /{entity}/scripts/{id}/executions

open

Scripts

REQ_INTEROP_046

GET /{entity}/scripts/{id}/executions/{exec-id}

open

Scripts

REQ_INTEROP_047

PUT /{entity}/scripts/{id}/executions/{exec-id}

open

Scripts

REQ_INTEROP_048

GET /{entity}/configurations

verified

Configuration

REQ_INTEROP_049

GET /{entity}/configurations/{id}

verified

Configuration

REQ_INTEROP_050

PUT /{entity}/configurations/{id}

verified

Configuration

REQ_INTEROP_051

DELETE /{entity}/configurations

verified

Configuration

REQ_INTEROP_052

DELETE /{entity}/configurations/{id}

verified

Configuration

REQ_INTEROP_053

GET /{entity}/modes

open

Modes

REQ_INTEROP_054

GET /{entity}/modes/{mode-id}

open

Modes

REQ_INTEROP_055

PUT /{entity}/modes/{mode-id}

open

Modes

REQ_INTEROP_056

GET /{entity}/clear-data

open

ClearData

REQ_INTEROP_057

PUT /{entity}/clear-data/cached-data

open

ClearData

REQ_INTEROP_058

PUT /{entity}/clear-data/learned-data

open

ClearData

REQ_INTEROP_059

PUT /{entity}/clear-data/client-defined-resources

open

ClearData

REQ_INTEROP_060

GET /{entity}/clear-data/status

open

ClearData

REQ_INTEROP_061

GET /{entity}/logs

open

Logs

REQ_INTEROP_062

GET /{entity}/logs/entries

open

Logs

REQ_INTEROP_063

GET /{entity}/logs/config

open

Logs

REQ_INTEROP_064

PUT /{entity}/logs/config

open

Logs

REQ_INTEROP_065

DELETE /{entity}/logs/config

open

Logs

REQ_INTEROP_066

GET /{entity}/communication-logs

open

CommLogs

REQ_INTEROP_067

POST /{entity}/communication-logs

open

CommLogs

REQ_INTEROP_068

GET /{entity}/communication-logs/{id}

open

CommLogs

REQ_INTEROP_069

PUT /{entity}/communication-logs/{id}

open

CommLogs

REQ_INTEROP_070

DELETE /{entity}/communication-logs/{id}

open

CommLogs

REQ_INTEROP_071

GET /{entity}/bulk-data

verified

BulkData; SOVD

REQ_INTEROP_072

GET /{entity}/bulk-data/{category}

verified

BulkData; SOVD

REQ_INTEROP_073

GET /{entity}/bulk-data/{category}/{bulk-data-id}

verified

BulkData; SOVD

REQ_INTEROP_074

POST /{entity}/bulk-data/{category}

open

BulkData

REQ_INTEROP_075

DELETE /{entity}/bulk-data/{category}/{bulk-data-id}

open

BulkData

REQ_INTEROP_076

GET /{entity}/status

open

Lifecycle

REQ_INTEROP_077

PUT /{entity}/status/start

open

Lifecycle

REQ_INTEROP_078

PUT /{entity}/status/restart

open

Lifecycle

REQ_INTEROP_079

PUT /{entity}/status/force-restart

open

Lifecycle

REQ_INTEROP_080

PUT /{entity}/status/shutdown

open

Lifecycle

REQ_INTEROP_081

PUT /{entity}/status/force-shutdown

open

Lifecycle

REQ_INTEROP_082

GET /updates

open

Updates

REQ_INTEROP_083

POST /updates

open

Updates

REQ_INTEROP_084

DELETE /updates/{id}

open

Updates

REQ_INTEROP_085

GET /updates/{id}

open

Updates

REQ_INTEROP_086

POST /authorize

verified

Auth

REQ_INTEROP_087

POST /token

verified

Auth

REQ_INTEROP_088

Fault Snapshot and Rosbag Capture

verified

Faults; BulkData

TEST_test_01_root_endpoint

test_01_root_endpoint

verified

TEST_test_01b_version_info_endpoint

test_01b_version_info_endpoint

verified

TEST_test_01c_endpoint_smoke_test

test_01c_endpoint_smoke_test

verified

TEST_test_02_list_areas

test_02_list_areas

verified

TEST_test_03_authenticate_valid_credentials

test_03_authenticate_valid_credentials

verified

TEST_test_03_list_components

test_03_list_components

verified

TEST_test_04_automotive_areas_discovery

test_04_automotive_areas_discovery

verified

TEST_test_05_area_components_success

test_05_area_components_success

verified

TEST_test_06_area_components_nonexistent_error

test_06_area_components_nonexistent_error

verified

TEST_test_06_authenticate_form_urlencoded

test_06_authenticate_form_urlencoded

verified

TEST_test_07_app_data_powertrain_engine

test_07_app_data_powertrain_engine

verified

TEST_test_07_refresh_token

test_07_refresh_token

verified

TEST_test_08_app_data_chassis_brakes

test_08_app_data_chassis_brakes

verified

TEST_test_09_app_data_body_door

test_09_app_data_body_door

verified

TEST_test_100_get_execution_status

test_100_get_execution_status

verified

TEST_test_101_update_execution

test_101_update_execution

verified

TEST_test_102_list_configurations

test_102_list_configurations

verified

TEST_test_103_get_configuration

test_103_get_configuration

verified

TEST_test_104_set_configuration

test_104_set_configuration

verified

TEST_test_105_reset_all_configurations

test_105_reset_all_configurations

verified

TEST_test_106_reset_single_configuration

test_106_reset_single_configuration

verified

TEST_test_109_list_area_data

test_109_list_area_data

verified

TEST_test_10_app_data_structure

test_10_app_data_structure

verified

TEST_test_110_list_area_data_nonexistent

test_110_list_area_data_nonexistent

verified

TEST_test_111_list_area_data_root

test_111_list_area_data_root

verified

TEST_test_112_list_area_data_empty

test_112_list_area_data_empty

verified

TEST_test_113_list_function_data

test_113_list_function_data

verified

TEST_test_114_list_function_data_nonexistent

test_114_list_function_data_nonexistent

verified

TEST_test_115_list_function_data_invalid_id

test_115_list_function_data_invalid_id

verified

TEST_test_116_component_route_rejects_app_id

test_116_component_route_rejects_app_id

verified

TEST_test_117_component_route_rejects_app_id_operations

test_117_component_route_rejects_app_id_operations

verified

TEST_test_118_component_route_rejects_app_id_configurations

test_118_component_route_rejects_app_id_configurations

verified

TEST_test_119_component_route_rejects_app_id_faults

test_119_component_route_rejects_app_id_faults

verified

TEST_test_11_app_nonexistent_error

test_11_app_nonexistent_error

verified

TEST_test_120_app_routes_work_with_app_id

test_120_app_routes_work_with_app_id

verified

TEST_test_121_bulk_data_list_categories_success

test_121_bulk_data_list_categories_success

verified

TEST_test_122_bulk_data_list_categories_all_entity_types

test_122_bulk_data_list_categories_all_entity_types

verified

TEST_test_123_bulk_data_list_categories_entity_not_found

test_123_bulk_data_list_categories_entity_not_found

verified

TEST_test_124_bulk_data_list_descriptors_structure

test_124_bulk_data_list_descriptors_structure

verified

TEST_test_125_bulk_data_list_descriptors_empty_result

test_125_bulk_data_list_descriptors_empty_result

verified

TEST_test_126_bulk_data_unknown_category_returns_404

test_126_bulk_data_unknown_category_returns_404

verified

TEST_test_127_bulk_data_download_success

test_127_bulk_data_download_success

verified

TEST_test_128_bulk_data_download_not_found

test_128_bulk_data_download_not_found

verified

TEST_test_129_bulk_data_download_wrong_entity_returns_404

test_129_bulk_data_download_wrong_entity_returns_404

verified

TEST_test_12_app_no_topics

test_12_app_no_topics

verified

TEST_test_130_bulk_data_nested_entity_path

test_130_bulk_data_nested_entity_path

verified

TEST_test_131_fault_response_structure

test_131_fault_response_structure

verified

TEST_test_132_fault_status_object_structure

test_132_fault_status_object_structure

verified

TEST_test_133_fault_environment_data_structure

test_133_fault_environment_data_structure

verified

TEST_test_134_fault_snapshot_freeze_frame_structure

test_134_fault_snapshot_freeze_frame_structure

verified

TEST_test_135_fault_snapshot_rosbag_has_bulk_data_uri

test_135_fault_snapshot_rosbag_has_bulk_data_uri

verified

TEST_test_136_fault_x_medkit_extensions

test_136_fault_x_medkit_extensions

verified

TEST_test_137_bulk_data_download_verifies_complete_rosbag

test_137_bulk_data_download_verifies_complete_rosbag

verified

TEST_test_13_invalid_app_id_special_chars

test_13_invalid_app_id_special_chars

verified

TEST_test_14_invalid_area_id_special_chars

test_14_invalid_area_id_special_chars

verified

TEST_test_15_valid_ids_with_underscores

test_15_valid_ids_with_underscores

verified

TEST_test_16_invalid_ids_with_special_chars

test_16_invalid_ids_with_special_chars

verified

TEST_test_16_snapshot_capture_on_fault_confirmation

test_16_snapshot_capture_on_fault_confirmation

verified

TEST_test_17_component_topic_temperature

test_17_component_topic_temperature

verified

TEST_test_17_get_snapshots_nonexistent_fault

test_17_get_snapshots_nonexistent_fault

verified

TEST_test_18_component_topic_rpm

test_18_component_topic_rpm

verified

TEST_test_18_get_snapshots_empty_fault_code

test_18_get_snapshots_empty_fault_code

verified

TEST_test_19_component_topic_pressure

test_19_component_topic_pressure

verified

TEST_test_19_snapshot_with_topic_filter

test_19_snapshot_with_topic_filter

verified

TEST_test_20_component_topic_data_structure

test_20_component_topic_data_structure

verified

TEST_test_20_snapshot_config_loads_patterns

test_20_snapshot_config_loads_patterns

verified

TEST_test_21_component_nonexistent_topic_metadata_only

test_21_component_nonexistent_topic_metadata_only

verified

TEST_test_22_component_topic_nonexistent_component_error

test_22_component_topic_nonexistent_component_error

verified

TEST_test_23_component_topic_with_slashes

test_23_component_topic_with_slashes

verified

TEST_test_24_component_topic_valid_names

test_24_component_topic_valid_names

verified

TEST_test_25_publish_brake_command

test_25_publish_brake_command

verified

TEST_test_26_publish_validation_missing_type

test_26_publish_validation_missing_type

verified

TEST_test_27_publish_validation_missing_data

test_27_publish_validation_missing_data

verified

TEST_test_28_publish_validation_invalid_type_format

test_28_publish_validation_invalid_type_format

verified

TEST_test_29_publish_nonexistent_component

test_29_publish_nonexistent_component

verified

TEST_test_30_publish_invalid_json_body

test_30_publish_invalid_json_body

verified

TEST_test_31_operation_call_calibrate_service

test_31_operation_call_calibrate_service

verified

TEST_test_32_operation_call_nonexistent_operation

test_32_operation_call_nonexistent_operation

verified

TEST_test_33_operation_call_nonexistent_entity

test_33_operation_call_nonexistent_entity

verified

TEST_test_34_operation_call_invalid_entity_id

test_34_operation_call_invalid_entity_id

verified

TEST_test_35_operation_call_invalid_operation_name

test_35_operation_call_invalid_operation_name

verified

TEST_test_36_operation_call_with_invalid_json

test_36_operation_call_with_invalid_json

verified

TEST_test_37_operations_listed_in_app_discovery

test_37_operations_listed_in_app_discovery

verified

TEST_test_38_root_endpoint_includes_operations

test_38_root_endpoint_includes_operations

verified

TEST_test_39_action_send_goal_and_get_id

test_39_action_send_goal_and_get_id

verified

TEST_test_40_action_status_endpoint

test_40_action_status_endpoint

verified

TEST_test_41_action_status_after_completion

test_41_action_status_after_completion

verified

TEST_test_42_action_cancel_endpoint

test_42_action_cancel_endpoint

verified

TEST_test_43_action_listed_in_app_discovery

test_43_action_listed_in_app_discovery

verified

TEST_test_44_list_executions_endpoint

test_44_list_executions_endpoint

verified

TEST_test_45_list_configurations

test_45_list_configurations

verified

TEST_test_46_get_configuration

test_46_get_configuration

verified

TEST_test_47_set_configuration

test_47_set_configuration

verified

TEST_test_48_delete_configuration_resets_to_default

test_48_delete_configuration_resets_to_default

verified

TEST_test_49_configurations_nonexistent_app

test_49_configurations_nonexistent_app

verified

TEST_test_50_configuration_nonexistent_parameter

test_50_configuration_nonexistent_parameter

verified

TEST_test_51_set_configuration_missing_value

test_51_set_configuration_missing_value

verified

TEST_test_52_root_endpoint_includes_configurations

test_52_root_endpoint_includes_configurations

verified

TEST_test_55_root_endpoint_includes_faults

test_55_root_endpoint_includes_faults

verified

TEST_test_56_list_faults_response_structure

test_56_list_faults_response_structure

verified

TEST_test_57_faults_nonexistent_component

test_57_faults_nonexistent_component

verified

TEST_test_58_get_nonexistent_fault

test_58_get_nonexistent_fault

verified

TEST_test_65_root_endpoint_includes_snapshots

test_65_root_endpoint_includes_snapshots

verified

TEST_test_70_components_list_has_href

test_70_components_list_has_href

verified

TEST_test_71_apps_list_has_href

test_71_apps_list_has_href

verified

TEST_test_72_areas_list_has_href

test_72_areas_list_has_href

verified

TEST_test_73_component_detail_has_capability_uris

test_73_component_detail_has_capability_uris

verified

TEST_test_74_app_detail_has_capability_uris

test_74_app_detail_has_capability_uris

verified

TEST_test_75_subareas_list_has_href

test_75_subareas_list_has_href

verified

TEST_test_76_subcomponents_list_has_href

test_76_subcomponents_list_has_href

verified

TEST_test_77b_contains_list_has_href

test_77b_contains_list_has_href

verified

TEST_test_77c_hosts_list_has_href

test_77c_hosts_list_has_href

verified

TEST_test_78_depends_on_components_has_href

test_78_depends_on_components_has_href

verified

TEST_test_79_depends_on_apps_has_href

test_79_depends_on_apps_has_href

verified

TEST_test_80_depends_on_apps_nonexistent

test_80_depends_on_apps_nonexistent

verified

TEST_test_81_functions_list_has_href

test_81_functions_list_has_href

verified

TEST_test_82_root_endpoint_has_apps_endpoints

test_82_root_endpoint_has_apps_endpoints

verified

TEST_test_83_x_medkit_extension_in_list_responses

test_83_x_medkit_extension_in_list_responses

verified

TEST_test_84_get_operation_details_for_service

test_84_get_operation_details_for_service

verified

TEST_test_85_get_operation_details_for_action

test_85_get_operation_details_for_action

verified

TEST_test_86_get_operation_not_found

test_86_get_operation_not_found

verified

TEST_test_87_list_executions_returns_items_array

test_87_list_executions_returns_items_array

verified

TEST_test_88_create_execution_for_service

test_88_create_execution_for_service

verified

TEST_test_89_cancel_nonexistent_execution

test_89_cancel_nonexistent_execution

verified

TEST_test_90_delete_all_faults_for_component

test_90_delete_all_faults_for_component

verified

TEST_test_91_delete_all_faults_for_app

test_91_delete_all_faults_for_app

verified

TEST_test_92_delete_all_faults_nonexistent_entity

test_92_delete_all_faults_nonexistent_entity

verified

TEST_test_93_get_operation_details_for_apps

test_93_get_operation_details_for_apps

verified

TEST_test_95_delete_single_fault

test_95_delete_single_fault

verified

TEST_test_98_write_data_to_topic

test_98_write_data_to_topic

verified

TEST_test_99_list_operations

test_99_list_operations

verified

TEST_test_app_configurations_endpoint

test_app_configurations_endpoint

verified

TEST_test_app_data_item_endpoint

test_app_data_item_endpoint

verified

TEST_test_app_depends_on_relationship

test_app_depends_on_relationship

verified

TEST_test_app_online_with_runtime_node

test_app_online_with_runtime_node

verified

TEST_test_apps_from_manifest

test_apps_from_manifest

verified

TEST_test_area_components

test_area_components

verified

TEST_test_area_contains_nonexistent

test_area_contains_nonexistent

verified

TEST_test_area_subareas

test_area_subareas

verified

TEST_test_area_subareas_hierarchy

test_area_subareas_hierarchy

verified

TEST_test_area_with_description

test_area_with_description

verified

TEST_test_areas_from_manifest

test_areas_from_manifest

verified

TEST_test_component_area_relationship

test_component_area_relationship

verified

TEST_test_component_capabilities_includes_depends_on_link

test_component_capabilities_includes_depends_on_link

verified

TEST_test_component_depends_on_empty

test_component_depends_on_empty

verified

TEST_test_component_depends_on_not_found

test_component_depends_on_not_found

verified

TEST_test_component_depends_on_returns_items

test_component_depends_on_returns_items

verified

TEST_test_component_hosts_nonexistent

test_component_hosts_nonexistent

verified

TEST_test_component_subcomponents

test_component_subcomponents

verified

TEST_test_component_subcomponents_not_found

test_component_subcomponents_not_found

verified

TEST_test_component_type_preserved

test_component_type_preserved

verified

TEST_test_components_from_manifest

test_components_from_manifest

verified

TEST_test_function_hosts

test_function_hosts

verified

TEST_test_function_hosts_relationship

test_function_hosts_relationship

verified

TEST_test_function_with_tags

test_function_with_tags

verified

TEST_test_functions_from_manifest

test_functions_from_manifest

verified

TEST_test_get_app_details

test_get_app_details

verified

TEST_test_get_area_details

test_get_area_details

verified

TEST_test_get_component_details

test_get_component_details

verified

TEST_test_get_function_details

test_get_function_details

verified

TEST_test_hybrid_component_subcomponents

test_hybrid_component_subcomponents

verified

TEST_test_hybrid_component_subcomponents_not_found

test_hybrid_component_subcomponents_not_found

verified

TEST_test_list_apps

test_list_apps

verified

TEST_test_list_areas

test_list_areas

verified

TEST_test_list_areas_endpoint

test_list_areas_endpoint

verified

TEST_test_list_components

test_list_components

verified

TEST_test_list_components_endpoint

test_list_components_endpoint

verified

TEST_test_list_functions

test_list_functions

verified

TEST_test_nested_subareas

test_nested_subareas

verified

TEST_test_root_endpoint

test_root_endpoint

verified

TEST_test_version_info_endpoint

test_version_info_endpoint

verified