apiVersion: cognitive-agent/v1alpha1 kind: CapabilityCatalog metadata: id: driver-seat-native-can-capabilities name: Driver seat native CAN capabilities version: 1.1.0 spec: domain: seat capabilities: - name: seat.set_driver_ventilation_native description: >- Control only the physical driver/front-left seat ventilation through the verified CH1 body-CAN command on CAN FD ID 0x431. A fresh 0x4FA status frame is required before execution is reported as successful. target_devices: [driver_seat_ventilation] target_scopes: [driver, front_left] parameters: - name: state type: string required: true allowed_values: ["on", "off"] description: Absolute ventilation state. - name: level type: integer required: false minimum: 1 maximum: 2 allowed_values: [1, 2] description: 1 is high and 2 is low; omitted on requests use the safer low level. risk_level: high confirmation_policy: on_ambiguity - name: seat.set_driver_heating_native description: >- Control only the physical driver/front-left seat heating through the verified CH1 body-CAN command on CAN FD ID 0x431. A fresh 0x4FA status frame is required before execution is reported as successful. target_devices: [driver_seat_heating] target_scopes: [driver, front_left] parameters: - name: state type: string required: true allowed_values: ["on", "off"] description: Absolute heating state. - name: level type: integer required: false minimum: 1 maximum: 2 allowed_values: [1, 2] description: 1 is high and 2 is low; omitted on requests use the safer low level. risk_level: high confirmation_policy: on_ambiguity - name: seat.set_driver_massage_native description: >- Control only the physical driver/front-left seat massage through the verified CH1 body-CAN command on CAN FD ID 0x4C1, sub-ID 0x12. A fresh 0x4FA status frame must match the requested mode or strength. target_devices: [driver_seat_massage] target_scopes: [driver, front_left] parameters: - name: action type: string required: true allowed_values: ["off", strength, mode] description: Explicit massage operation; a generic on request is not accepted. - name: strength type: integer required: false minimum: 1 maximum: 3 allowed_values: [1, 2, 3] description: Massage strength from weak to strong. - name: mode type: string required: false allowed_values: [wave, pulse, stretch, slack, relax] description: Verified massage mode. risk_level: high confirmation_policy: on_ambiguity - name: seat.set_driver_axis_native description: >- Move one physical driver/front-left seat axis through the verified CH1 body-CAN command on CAN FD ID 0x4C1, sub-ID 0x05. Motion is limited to 100-2000 ms and is always followed by three explicit stop frames. The 0x494 feedback reports a fresh seat status frame but does not contain an absolute motor position. target_devices: [driver_seat_axis] target_scopes: [driver, front_left] parameters: - name: axis type: string required: true allowed_values: [horizontal, height, backrest, basin] description: Verified driver-seat adjustment axis. - name: direction type: string required: true allowed_values: [forward, backward, up, down, stop] description: Axis-compatible direction or an explicit stop request. - name: duration_ms type: integer required: false minimum: 100 maximum: 2000 description: Bounded motion duration; omitted values default to 500 ms. risk_level: high confirmation_policy: on_ambiguity - name: seat.set_driver_position_native description: >- Alias for recalling one of the three physical driver/front-left seat memory slots. The complete 0x4C1/0x15 and /0x16 payloads must have been learned from the PAD and a fresh 0x494 must prove all four axes initialized before replay. target_devices: [driver_seat_memory] target_scopes: [driver, front_left] parameters: - name: slot type: integer required: true minimum: 1 maximum: 3 allowed_values: [1, 2, 3] description: Previously learned PAD memory slot. risk_level: high confirmation_policy: on_ambiguity - name: seat.recall_driver_memory_native description: >- Recall one of the three physical driver/front-left seat memory slots by alternating that slot's learned 0x4C1/0x16 and /0x15 payloads for ten cycles. 0x494 does not expose final absolute motor positions, so delivery is not represented as proof that the seat reached its final position. target_devices: [driver_seat_memory] target_scopes: [driver, front_left] parameters: - name: slot type: integer required: true minimum: 1 maximum: 3 allowed_values: [1, 2, 3] description: Previously learned PAD memory slot. risk_level: high confirmation_policy: on_ambiguity