Design Spec: uds services Command¶
Document Control¶
| Field | Value |
|---|---|
| Status | Implemented |
| Command surface | canarchy uds services |
| Primary area | CLI, protocol |
Goal¶
Provide a deterministic UDS service reference from the CLI so operators and agents can inspect commonly used service identifiers without needing a live trace or external documentation.
User-Facing Motivation¶
UDS workflows are easier to script and reason about when the command surface includes a protocol-first reference view of known services, names, and expected positive-response identifiers.
Requirements¶
| ID | Type | Requirement |
|---|---|---|
REQ-UDS-SVC-01 |
Ubiquitous | The system shall provide a canarchy uds services command. |
REQ-UDS-SVC-02 |
Event-driven | When uds services is invoked, the system shall return a stable catalogue of UDS services including service identifier, name, positive-response service identifier, category, and subfunction requirements. |
REQ-UDS-SVC-03 |
Ubiquitous | The uds services command shall require no transport interface or live bus connection. |
REQ-UDS-SVC-04 |
Ubiquitous | The command shall support standard CANarchy output modes with protocol-aware text output. |
Command Surface¶
canarchy uds services [--json] [--jsonl] [--text]
Responsibilities And Boundaries¶
In scope:
- stable UDS service catalogue output
- mapping service identifiers to names and positive-response identifiers
- lightweight protocol metadata for operator reference
Out of scope:
- ECU-specific service discovery
- negative-response code catalogues
- live probing or transport interaction
Data Model¶
Each catalogue entry includes:
servicenamepositive_response_servicecategoryrequires_subfunction
Output Contracts¶
JSON and JSONL¶
Because uds services is reference-only and does not emit an event stream, both --json and --jsonl return a single CANarchy result object with service_count and services under data.
Table¶
Text output presents a compact service catalogue with service identifier, positive-response identifier, category, and subfunction requirement.
Error Contracts¶
This command has no command-specific error cases beyond standard CLI usage errors because it is reference-only and requires no external inputs.
Deferred Decisions¶
- negative-response code reference output
- extended service metadata beyond the initial curated catalogue
- OEM or profile-specific service overlays