# OTDP 0.1.0 specification verification

**Result: 495/495 checks passed; 0 failed.**

Twelve class profiles and fifty input/output action contracts were checked against Draft 2020-12. Each action has a positive vector. Descriptor declarations, pinned contract hashes, runtime envelopes, typed datasets and selected rejection/semantic boundaries were checked.

**Limit:** These are document/schema checks. No gateway, plugin, device simulator, hardware interaction or complete C01-C12/M01-M14 behavioural validator is claimed. Structural reference descriptors intentionally do not contain real manufacturer evidence or commissioned electrical limits.


# Checks

- PASS: otdp-runtime.schema.json meta-schema
- PASS: otdp-device-descriptor.schema.json meta-schema
- PASS: device-profile-catalog.schema.json meta-schema
- PASS: otdp-measurement.schema.json meta-schema
- PASS: otdp.dc_psu.configure/1.0.0 input_schema meta-schema
- PASS: otdp.dc_psu.configure/1.0.0 output_schema meta-schema
- PASS: otdp.dc_psu.output/1.0.0 input_schema meta-schema
- PASS: otdp.dc_psu.output/1.0.0 output_schema meta-schema
- PASS: otdp.dc_psu.measure/1.0.0 input_schema meta-schema
- PASS: otdp.dc_psu.measure/1.0.0 output_schema meta-schema
- PASS: otdp.dmm.configure/1.0.0 input_schema meta-schema
- PASS: otdp.dmm.configure/1.0.0 output_schema meta-schema
- PASS: otdp.dmm.measure/1.0.0 input_schema meta-schema
- PASS: otdp.dmm.measure/1.0.0 output_schema meta-schema
- PASS: otdp.oscilloscope.configure/1.0.0 input_schema meta-schema
- PASS: otdp.oscilloscope.configure/1.0.0 output_schema meta-schema
- PASS: otdp.oscilloscope.arm/1.0.0 input_schema meta-schema
- PASS: otdp.oscilloscope.arm/1.0.0 output_schema meta-schema
- PASS: otdp.oscilloscope.trigger/1.0.0 input_schema meta-schema
- PASS: otdp.oscilloscope.trigger/1.0.0 output_schema meta-schema
- PASS: otdp.oscilloscope.fetch/1.0.0 input_schema meta-schema
- PASS: otdp.oscilloscope.fetch/1.0.0 output_schema meta-schema
- PASS: otdp.oscilloscope.abort/1.0.0 input_schema meta-schema
- PASS: otdp.oscilloscope.abort/1.0.0 output_schema meta-schema
- PASS: otdp.logic_analyser.configure/1.0.0 input_schema meta-schema
- PASS: otdp.logic_analyser.configure/1.0.0 output_schema meta-schema
- PASS: otdp.logic_analyser.arm/1.0.0 input_schema meta-schema
- PASS: otdp.logic_analyser.arm/1.0.0 output_schema meta-schema
- PASS: otdp.logic_analyser.trigger/1.0.0 input_schema meta-schema
- PASS: otdp.logic_analyser.trigger/1.0.0 output_schema meta-schema
- PASS: otdp.logic_analyser.fetch/1.0.0 input_schema meta-schema
- PASS: otdp.logic_analyser.fetch/1.0.0 output_schema meta-schema
- PASS: otdp.logic_analyser.abort/1.0.0 input_schema meta-schema
- PASS: otdp.logic_analyser.abort/1.0.0 output_schema meta-schema
- PASS: otdp.logic_analyser.decode/1.0.0 input_schema meta-schema
- PASS: otdp.logic_analyser.decode/1.0.0 output_schema meta-schema
- PASS: otdp.function_generator.configure/1.0.0 input_schema meta-schema
- PASS: otdp.function_generator.configure/1.0.0 output_schema meta-schema
- PASS: otdp.function_generator.output/1.0.0 input_schema meta-schema
- PASS: otdp.function_generator.output/1.0.0 output_schema meta-schema
- PASS: otdp.function_generator.upload/1.0.0 input_schema meta-schema
- PASS: otdp.function_generator.upload/1.0.0 output_schema meta-schema
- PASS: otdp.electronic_load.configure/1.0.0 input_schema meta-schema
- PASS: otdp.electronic_load.configure/1.0.0 output_schema meta-schema
- PASS: otdp.electronic_load.output/1.0.0 input_schema meta-schema
- PASS: otdp.electronic_load.output/1.0.0 output_schema meta-schema
- PASS: otdp.electronic_load.measure/1.0.0 input_schema meta-schema
- PASS: otdp.electronic_load.measure/1.0.0 output_schema meta-schema
- PASS: otdp.smu.configure/1.0.0 input_schema meta-schema
- PASS: otdp.smu.configure/1.0.0 output_schema meta-schema
- PASS: otdp.smu.output/1.0.0 input_schema meta-schema
- PASS: otdp.smu.output/1.0.0 output_schema meta-schema
- PASS: otdp.smu.measure/1.0.0 input_schema meta-schema
- PASS: otdp.smu.measure/1.0.0 output_schema meta-schema
- PASS: otdp.smu.configure_sweep/1.0.0 input_schema meta-schema
- PASS: otdp.smu.configure_sweep/1.0.0 output_schema meta-schema
- PASS: otdp.smu.arm/1.0.0 input_schema meta-schema
- PASS: otdp.smu.arm/1.0.0 output_schema meta-schema
- PASS: otdp.smu.trigger/1.0.0 input_schema meta-schema
- PASS: otdp.smu.trigger/1.0.0 output_schema meta-schema
- PASS: otdp.smu.fetch/1.0.0 input_schema meta-schema
- PASS: otdp.smu.fetch/1.0.0 output_schema meta-schema
- PASS: otdp.smu.abort/1.0.0 input_schema meta-schema
- PASS: otdp.smu.abort/1.0.0 output_schema meta-schema
- PASS: otdp.daq.configure/1.0.0 input_schema meta-schema
- PASS: otdp.daq.configure/1.0.0 output_schema meta-schema
- PASS: otdp.daq.arm/1.0.0 input_schema meta-schema
- PASS: otdp.daq.arm/1.0.0 output_schema meta-schema
- PASS: otdp.daq.trigger/1.0.0 input_schema meta-schema
- PASS: otdp.daq.trigger/1.0.0 output_schema meta-schema
- PASS: otdp.daq.fetch/1.0.0 input_schema meta-schema
- PASS: otdp.daq.fetch/1.0.0 output_schema meta-schema
- PASS: otdp.daq.abort/1.0.0 input_schema meta-schema
- PASS: otdp.daq.abort/1.0.0 output_schema meta-schema
- PASS: otdp.embedded_controller.telemetry/1.0.0 input_schema meta-schema
- PASS: otdp.embedded_controller.telemetry/1.0.0 output_schema meta-schema
- PASS: otdp.embedded_controller.set_control/1.0.0 input_schema meta-schema
- PASS: otdp.embedded_controller.set_control/1.0.0 output_schema meta-schema
- PASS: otdp.switch_matrix.route/1.0.0 input_schema meta-schema
- PASS: otdp.switch_matrix.route/1.0.0 output_schema meta-schema
- PASS: otdp.switch_matrix.open_all/1.0.0 input_schema meta-schema
- PASS: otdp.switch_matrix.open_all/1.0.0 output_schema meta-schema
- PASS: otdp.switch_matrix.read_routes/1.0.0 input_schema meta-schema
- PASS: otdp.switch_matrix.read_routes/1.0.0 output_schema meta-schema
- PASS: otdp.spectrum_analyser.configure/1.0.0 input_schema meta-schema
- PASS: otdp.spectrum_analyser.configure/1.0.0 output_schema meta-schema
- PASS: otdp.spectrum_analyser.arm/1.0.0 input_schema meta-schema
- PASS: otdp.spectrum_analyser.arm/1.0.0 output_schema meta-schema
- PASS: otdp.spectrum_analyser.trigger/1.0.0 input_schema meta-schema
- PASS: otdp.spectrum_analyser.trigger/1.0.0 output_schema meta-schema
- PASS: otdp.spectrum_analyser.fetch/1.0.0 input_schema meta-schema
- PASS: otdp.spectrum_analyser.fetch/1.0.0 output_schema meta-schema
- PASS: otdp.spectrum_analyser.abort/1.0.0 input_schema meta-schema
- PASS: otdp.spectrum_analyser.abort/1.0.0 output_schema meta-schema
- PASS: otdp.vna.configure/1.0.0 input_schema meta-schema
- PASS: otdp.vna.configure/1.0.0 output_schema meta-schema
- PASS: otdp.vna.arm/1.0.0 input_schema meta-schema
- PASS: otdp.vna.arm/1.0.0 output_schema meta-schema
- PASS: otdp.vna.trigger/1.0.0 input_schema meta-schema
- PASS: otdp.vna.trigger/1.0.0 output_schema meta-schema
- PASS: otdp.vna.fetch/1.0.0 input_schema meta-schema
- PASS: otdp.vna.fetch/1.0.0 output_schema meta-schema
- PASS: otdp.vna.abort/1.0.0 input_schema meta-schema
- PASS: otdp.vna.abort/1.0.0 output_schema meta-schema
- PASS: Catalog structure
- PASS: Twelve distinct profiles
- PASS: class-daq.json descriptor structure
- PASS: class-daq.json known required features
- PASS: class-daq.json class membership/effects
- PASS: class-daq.json pinned urn:otdp:profile-catalog:0.1.0
- PASS: class-daq.json pinned urn:otdp:measurement:0.1.0
- PASS: class-daq.json vector file resolves
- PASS: class-dc_psu.json descriptor structure
- PASS: class-dc_psu.json known required features
- PASS: class-dc_psu.json class membership/effects
- PASS: class-dc_psu.json pinned urn:otdp:profile-catalog:0.1.0
- PASS: class-dc_psu.json pinned urn:otdp:measurement:0.1.0
- PASS: class-dc_psu.json vector file resolves
- PASS: class-dmm.json descriptor structure
- PASS: class-dmm.json known required features
- PASS: class-dmm.json class membership/effects
- PASS: class-dmm.json pinned urn:otdp:profile-catalog:0.1.0
- PASS: class-dmm.json pinned urn:otdp:measurement:0.1.0
- PASS: class-dmm.json vector file resolves
- PASS: class-electronic_load.json descriptor structure
- PASS: class-electronic_load.json known required features
- PASS: class-electronic_load.json class membership/effects
- PASS: class-electronic_load.json pinned urn:otdp:profile-catalog:0.1.0
- PASS: class-electronic_load.json pinned urn:otdp:measurement:0.1.0
- PASS: class-electronic_load.json vector file resolves
- PASS: class-embedded_controller.json descriptor structure
- PASS: class-embedded_controller.json known required features
- PASS: class-embedded_controller.json class membership/effects
- PASS: class-embedded_controller.json pinned urn:otdp:profile-catalog:0.1.0
- PASS: class-embedded_controller.json pinned urn:otdp:measurement:0.1.0
- PASS: class-embedded_controller.json vector file resolves
- PASS: class-function_generator.json descriptor structure
- PASS: class-function_generator.json known required features
- PASS: class-function_generator.json class membership/effects
- PASS: class-function_generator.json pinned urn:otdp:profile-catalog:0.1.0
- PASS: class-function_generator.json pinned urn:otdp:measurement:0.1.0
- PASS: class-function_generator.json vector file resolves
- PASS: class-logic_analyser.json descriptor structure
- PASS: class-logic_analyser.json known required features
- PASS: class-logic_analyser.json class membership/effects
- PASS: class-logic_analyser.json pinned urn:otdp:profile-catalog:0.1.0
- PASS: class-logic_analyser.json pinned urn:otdp:measurement:0.1.0
- PASS: class-logic_analyser.json vector file resolves
- PASS: class-oscilloscope.json descriptor structure
- PASS: class-oscilloscope.json known required features
- PASS: class-oscilloscope.json class membership/effects
- PASS: class-oscilloscope.json pinned urn:otdp:profile-catalog:0.1.0
- PASS: class-oscilloscope.json pinned urn:otdp:measurement:0.1.0
- PASS: class-oscilloscope.json vector file resolves
- PASS: class-smu.json descriptor structure
- PASS: class-smu.json known required features
- PASS: class-smu.json class membership/effects
- PASS: class-smu.json pinned urn:otdp:profile-catalog:0.1.0
- PASS: class-smu.json pinned urn:otdp:measurement:0.1.0
- PASS: class-smu.json vector file resolves
- PASS: class-spectrum_analyser.json descriptor structure
- PASS: class-spectrum_analyser.json known required features
- PASS: class-spectrum_analyser.json class membership/effects
- PASS: class-spectrum_analyser.json pinned urn:otdp:profile-catalog:0.1.0
- PASS: class-spectrum_analyser.json pinned urn:otdp:measurement:0.1.0
- PASS: class-spectrum_analyser.json vector file resolves
- PASS: class-switch_matrix.json descriptor structure
- PASS: class-switch_matrix.json known required features
- PASS: class-switch_matrix.json class membership/effects
- PASS: class-switch_matrix.json pinned urn:otdp:profile-catalog:0.1.0
- PASS: class-switch_matrix.json pinned urn:otdp:measurement:0.1.0
- PASS: class-switch_matrix.json vector file resolves
- PASS: class-vna.json descriptor structure
- PASS: class-vna.json known required features
- PASS: class-vna.json class membership/effects
- PASS: class-vna.json pinned urn:otdp:profile-catalog:0.1.0
- PASS: class-vna.json pinned urn:otdp:measurement:0.1.0
- PASS: class-vna.json vector file resolves
- PASS: reference-can.json descriptor structure
- PASS: reference-can.json known required features
- PASS: reference-can.json vector file resolves
- PASS: reference-capture.json descriptor structure
- PASS: reference-capture.json known required features
- PASS: reference-capture.json vector file resolves
- PASS: reference-controller.json descriptor structure
- PASS: reference-controller.json known required features
- PASS: reference-controller.json vector file resolves
- PASS: reference-psu.json descriptor structure
- PASS: reference-psu.json known required features
- PASS: reference-psu.json vector file resolves
- PASS: dc_psu measurement structure
- PASS: dc_psu shape/selected metrology rules
- PASS: electronic_load measurement structure
- PASS: electronic_load shape/selected metrology rules
- PASS: dmm measurement structure
- PASS: dmm shape/selected metrology rules
- PASS: oscilloscope measurement structure
- PASS: oscilloscope shape/selected metrology rules
- PASS: logic_analyser measurement structure
- PASS: logic_analyser shape/selected metrology rules
- PASS: smu measurement structure
- PASS: smu shape/selected metrology rules
- PASS: smu_sweep measurement structure
- PASS: smu_sweep shape/selected metrology rules
- PASS: daq measurement structure
- PASS: daq shape/selected metrology rules
- PASS: embedded_controller measurement structure
- PASS: embedded_controller shape/selected metrology rules
- PASS: spectrum_analyser measurement structure
- PASS: spectrum_analyser shape/selected metrology rules
- PASS: vna measurement structure
- PASS: vna shape/selected metrology rules
- PASS: decode measurement structure
- PASS: decode shape/selected metrology rules
- PASS: generator_upload measurement structure
- PASS: generator_upload shape/selected metrology rules
- PASS: dc_psu-configure request envelope
- PASS: dc_psu-configure result envelope
- PASS: dc_psu-configure action input
- PASS: dc_psu-configure action output
- PASS: dc_psu-configure correlated identity
- PASS: dc_psu-output request envelope
- PASS: dc_psu-output result envelope
- PASS: dc_psu-output action input
- PASS: dc_psu-output action output
- PASS: dc_psu-output correlated identity
- PASS: dc_psu-measure request envelope
- PASS: dc_psu-measure result envelope
- PASS: dc_psu-measure action input
- PASS: dc_psu-measure action output
- PASS: dc_psu-measure correlated identity
- PASS: dmm-configure request envelope
- PASS: dmm-configure result envelope
- PASS: dmm-configure action input
- PASS: dmm-configure action output
- PASS: dmm-configure correlated identity
- PASS: dmm-measure request envelope
- PASS: dmm-measure result envelope
- PASS: dmm-measure action input
- PASS: dmm-measure action output
- PASS: dmm-measure correlated identity
- PASS: oscilloscope-configure request envelope
- PASS: oscilloscope-configure result envelope
- PASS: oscilloscope-configure action input
- PASS: oscilloscope-configure action output
- PASS: oscilloscope-configure correlated identity
- PASS: oscilloscope-arm request envelope
- PASS: oscilloscope-arm result envelope
- PASS: oscilloscope-arm action input
- PASS: oscilloscope-arm action output
- PASS: oscilloscope-arm correlated identity
- PASS: oscilloscope-fetch request envelope
- PASS: oscilloscope-fetch result envelope
- PASS: oscilloscope-fetch action input
- PASS: oscilloscope-fetch action output
- PASS: oscilloscope-fetch correlated identity
- PASS: oscilloscope-abort request envelope
- PASS: oscilloscope-abort result envelope
- PASS: oscilloscope-abort action input
- PASS: oscilloscope-abort action output
- PASS: oscilloscope-abort correlated identity
- PASS: oscilloscope-trigger request envelope
- PASS: oscilloscope-trigger result envelope
- PASS: oscilloscope-trigger action input
- PASS: oscilloscope-trigger action output
- PASS: oscilloscope-trigger correlated identity
- PASS: logic_analyser-configure request envelope
- PASS: logic_analyser-configure result envelope
- PASS: logic_analyser-configure action input
- PASS: logic_analyser-configure action output
- PASS: logic_analyser-configure correlated identity
- PASS: logic_analyser-arm request envelope
- PASS: logic_analyser-arm result envelope
- PASS: logic_analyser-arm action input
- PASS: logic_analyser-arm action output
- PASS: logic_analyser-arm correlated identity
- PASS: logic_analyser-fetch request envelope
- PASS: logic_analyser-fetch result envelope
- PASS: logic_analyser-fetch action input
- PASS: logic_analyser-fetch action output
- PASS: logic_analyser-fetch correlated identity
- PASS: logic_analyser-abort request envelope
- PASS: logic_analyser-abort result envelope
- PASS: logic_analyser-abort action input
- PASS: logic_analyser-abort action output
- PASS: logic_analyser-abort correlated identity
- PASS: logic_analyser-trigger request envelope
- PASS: logic_analyser-trigger result envelope
- PASS: logic_analyser-trigger action input
- PASS: logic_analyser-trigger action output
- PASS: logic_analyser-trigger correlated identity
- PASS: logic_analyser-decode request envelope
- PASS: logic_analyser-decode result envelope
- PASS: logic_analyser-decode action input
- PASS: logic_analyser-decode action output
- PASS: logic_analyser-decode correlated identity
- PASS: function_generator-configure request envelope
- PASS: function_generator-configure result envelope
- PASS: function_generator-configure action input
- PASS: function_generator-configure action output
- PASS: function_generator-configure correlated identity
- PASS: function_generator-output request envelope
- PASS: function_generator-output result envelope
- PASS: function_generator-output action input
- PASS: function_generator-output action output
- PASS: function_generator-output correlated identity
- PASS: function_generator-upload request envelope
- PASS: function_generator-upload result envelope
- PASS: function_generator-upload action input
- PASS: function_generator-upload action output
- PASS: function_generator-upload correlated identity
- PASS: electronic_load-configure request envelope
- PASS: electronic_load-configure result envelope
- PASS: electronic_load-configure action input
- PASS: electronic_load-configure action output
- PASS: electronic_load-configure correlated identity
- PASS: electronic_load-output request envelope
- PASS: electronic_load-output result envelope
- PASS: electronic_load-output action input
- PASS: electronic_load-output action output
- PASS: electronic_load-output correlated identity
- PASS: electronic_load-measure request envelope
- PASS: electronic_load-measure result envelope
- PASS: electronic_load-measure action input
- PASS: electronic_load-measure action output
- PASS: electronic_load-measure correlated identity
- PASS: smu-configure request envelope
- PASS: smu-configure result envelope
- PASS: smu-configure action input
- PASS: smu-configure action output
- PASS: smu-configure correlated identity
- PASS: smu-output request envelope
- PASS: smu-output result envelope
- PASS: smu-output action input
- PASS: smu-output action output
- PASS: smu-output correlated identity
- PASS: smu-measure request envelope
- PASS: smu-measure result envelope
- PASS: smu-measure action input
- PASS: smu-measure action output
- PASS: smu-measure correlated identity
- PASS: smu-configure_sweep request envelope
- PASS: smu-configure_sweep result envelope
- PASS: smu-configure_sweep action input
- PASS: smu-configure_sweep action output
- PASS: smu-configure_sweep correlated identity
- PASS: smu-arm request envelope
- PASS: smu-arm result envelope
- PASS: smu-arm action input
- PASS: smu-arm action output
- PASS: smu-arm correlated identity
- PASS: smu-trigger request envelope
- PASS: smu-trigger result envelope
- PASS: smu-trigger action input
- PASS: smu-trigger action output
- PASS: smu-trigger correlated identity
- PASS: smu-fetch request envelope
- PASS: smu-fetch result envelope
- PASS: smu-fetch action input
- PASS: smu-fetch action output
- PASS: smu-fetch correlated identity
- PASS: smu-abort request envelope
- PASS: smu-abort result envelope
- PASS: smu-abort action input
- PASS: smu-abort action output
- PASS: smu-abort correlated identity
- PASS: daq-configure request envelope
- PASS: daq-configure result envelope
- PASS: daq-configure action input
- PASS: daq-configure action output
- PASS: daq-configure correlated identity
- PASS: daq-arm request envelope
- PASS: daq-arm result envelope
- PASS: daq-arm action input
- PASS: daq-arm action output
- PASS: daq-arm correlated identity
- PASS: daq-fetch request envelope
- PASS: daq-fetch result envelope
- PASS: daq-fetch action input
- PASS: daq-fetch action output
- PASS: daq-fetch correlated identity
- PASS: daq-abort request envelope
- PASS: daq-abort result envelope
- PASS: daq-abort action input
- PASS: daq-abort action output
- PASS: daq-abort correlated identity
- PASS: daq-trigger request envelope
- PASS: daq-trigger result envelope
- PASS: daq-trigger action input
- PASS: daq-trigger action output
- PASS: daq-trigger correlated identity
- PASS: embedded_controller-telemetry request envelope
- PASS: embedded_controller-telemetry result envelope
- PASS: embedded_controller-telemetry action input
- PASS: embedded_controller-telemetry action output
- PASS: embedded_controller-telemetry correlated identity
- PASS: embedded_controller-set_control request envelope
- PASS: embedded_controller-set_control result envelope
- PASS: embedded_controller-set_control action input
- PASS: embedded_controller-set_control action output
- PASS: embedded_controller-set_control correlated identity
- PASS: switch_matrix-route request envelope
- PASS: switch_matrix-route result envelope
- PASS: switch_matrix-route action input
- PASS: switch_matrix-route action output
- PASS: switch_matrix-route correlated identity
- PASS: switch_matrix-open_all request envelope
- PASS: switch_matrix-open_all result envelope
- PASS: switch_matrix-open_all action input
- PASS: switch_matrix-open_all action output
- PASS: switch_matrix-open_all correlated identity
- PASS: switch_matrix-read_routes request envelope
- PASS: switch_matrix-read_routes result envelope
- PASS: switch_matrix-read_routes action input
- PASS: switch_matrix-read_routes action output
- PASS: switch_matrix-read_routes correlated identity
- PASS: spectrum_analyser-configure request envelope
- PASS: spectrum_analyser-configure result envelope
- PASS: spectrum_analyser-configure action input
- PASS: spectrum_analyser-configure action output
- PASS: spectrum_analyser-configure correlated identity
- PASS: spectrum_analyser-arm request envelope
- PASS: spectrum_analyser-arm result envelope
- PASS: spectrum_analyser-arm action input
- PASS: spectrum_analyser-arm action output
- PASS: spectrum_analyser-arm correlated identity
- PASS: spectrum_analyser-fetch request envelope
- PASS: spectrum_analyser-fetch result envelope
- PASS: spectrum_analyser-fetch action input
- PASS: spectrum_analyser-fetch action output
- PASS: spectrum_analyser-fetch correlated identity
- PASS: spectrum_analyser-abort request envelope
- PASS: spectrum_analyser-abort result envelope
- PASS: spectrum_analyser-abort action input
- PASS: spectrum_analyser-abort action output
- PASS: spectrum_analyser-abort correlated identity
- PASS: spectrum_analyser-trigger request envelope
- PASS: spectrum_analyser-trigger result envelope
- PASS: spectrum_analyser-trigger action input
- PASS: spectrum_analyser-trigger action output
- PASS: spectrum_analyser-trigger correlated identity
- PASS: vna-configure request envelope
- PASS: vna-configure result envelope
- PASS: vna-configure action input
- PASS: vna-configure action output
- PASS: vna-configure correlated identity
- PASS: vna-arm request envelope
- PASS: vna-arm result envelope
- PASS: vna-arm action input
- PASS: vna-arm action output
- PASS: vna-arm correlated identity
- PASS: vna-fetch request envelope
- PASS: vna-fetch result envelope
- PASS: vna-fetch action input
- PASS: vna-fetch action output
- PASS: vna-fetch correlated identity
- PASS: vna-abort request envelope
- PASS: vna-abort result envelope
- PASS: vna-abort action input
- PASS: vna-abort action output
- PASS: vna-abort correlated identity
- PASS: vna-trigger request envelope
- PASS: vna-trigger result envelope
- PASS: vna-trigger action input
- PASS: vna-trigger action output
- PASS: vna-trigger correlated identity
- PASS: Every standard action has a positive contract vector
- PASS: Reject missing base action semantically
- PASS: Reject unknown required profile
- PASS: Reject unknown feature despite valid syntax
- PASS: Reject downgraded source action
- PASS: Reject absent action feature structurally
- PASS: Reject absent profile feature semantically
- PASS: Reject incomplete optional sweep group
- PASS: Reject duplicate channel
- PASS: dc_psu enable requires config
- PASS: dc_psu disable permits absent config
- PASS: electronic_load enable requires config
- PASS: electronic_load disable permits absent config
- PASS: smu enable requires config
- PASS: smu disable permits absent config
- PASS: function_generator enable requires config
- PASS: function_generator disable permits absent config
- PASS: Reject shape mismatch
- PASS: Reject unknown dimension
- PASS: Reject null hidden as valid
- PASS: Reject missing logarithmic reference
- PASS: Reject missing VNA port pair
- PASS: Reject malformed complex element
- PASS: Reject unknown logic token
- PASS: Reject known uncertainty without value
- PASS: Reject arbitrary command field
- PASS: Reject incomplete edge trigger
- PASS: Reject arbitrary waveform without asset
- PASS: Device constraints narrow standard contract
