PQA003 — Missing required field in adapter configuration¶
The adapter registration omits a field the generator cannot supply a value for.
Four fields identify the adapter and are always required; one more becomes required as soon as a TCP transport is declared.
| Field | What it carries |
|---|---|
adapter_id |
the adapter's globally unique identifier |
name |
the adapter's name |
version |
the adapter's version |
adapter_type |
the adapter kind the platform registers it as |
transport.protocol.frame_type |
required once transport.type is tcp |
adapter_id: 5f1c4b9e-2a77-4a3d-9a2e-6b0d6f2c1a44
name: Acme Panel
version: 1.0.0
adapter_type: access
Why the build refuses this¶
There is no safe default for identity. An empty adapter_id is not "unset", it is the zero identifier — every adapter that omits it would register as the same adapter, and the platform would route one adapter's commands to another.
A TCP transport without a frame type has no reader. The generator builds the framing from that name; without it the channel receives bytes it cannot cut into frames.
How to fix it¶
Add the field the message names. Generate a fresh adapter_id rather than copying one from another adapter — the identifier must be unique across the repository.
For transport.protocol.frame_type, name the frame type the adapter defines, or set transport.type: custom when the adapter owns its transport entirely.
If you disagree with a report¶
Do not suppress it. A wrong report is a bug in the check — report it with the YAML that triggered it.