Skip to content

PQA009 — Command string does not start with required prefix

A declared command id does not begin with pq.command., so the generator skips it.

Command ids are dotted paths that the generator turns into nested command records, and the leading pq.command. is what marks the id as a command.

# pq-commands.yaml
commands:
  access.lock:            # missing the pq.command. prefix
  pq.command.access.lock:
// what a well-formed id generates
Access.Lock

Why the build refuses this

The skipped id leaves a handler nothing can reach. No command record is generated, so the hand-written Handle(...) method for it either fails to compile or — when the record exists under a different name — is never dispatched to, and the operator's command silently does nothing.

The prefix is the first segment of the command subject the adapter subscribes on. Without it the id addresses nothing.

How to fix it

Write the id in full, including the pq.command. prefix, spelled exactly as the command taxonomy does. A short or abbreviated id is not accepted anywhere the platform names commands.

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.