Asyncapi Channel No Query Nor Fragment

asyncapi-channel-no-query-nor-fragment · built-in

info experience: consistencyexperience: naming spec: channels

Channel path must not include query ("?") or fragment ("#") delimiter.

Channel path must not include query (“?”) or fragment (“#”) delimiter.

Rule definition

The full Spotlight rule — drop it into a ruleset (.spotlight.yaml / .spectral.yaml) and run it with any Spotlight tool.

asyncapi-channel-no-query-nor-fragment:
  title: Asyncapi Channel No Query Nor Fragment
  reference: https://spotlight-rules.com/spec/rules/asyncapi/asyncapi-channel-no-query-nor-fragment/
  description: Channel path must not include query ("?") or fragment ("#") delimiter.
  message: Channel path must not include query ("?") or fragment ("#") delimiter.
  severity: info
  given: $.channels
  then:
    field: "@key"
    function: pattern
    functionOptions:
      notMatch: "[\\?#]"
  tags:
    - format:asyncapi
    - spec:channels
    - experience:consistency
    - experience:naming
  prompt: "You are editing an AsyncAPI document to satisfy the Spotlight API
    governance rule 'asyncapi-channel-no-query-nor-fragment' (Asyncapi Channel
    No Query Nor Fragment). Requirement: Channel path must not include query
    (\"?\") or fragment (\"#\") delimiter. To fix: Ensure `@key` does NOT match
    the regular expression `[\\?#]`; rename or rewrite any value that does. This
    rule is evaluated at the JSONPath `$.channels` — inspect every location it
    matches and correct only what violates the rule. Make the smallest change
    that satisfies the rule, leave all unrelated content, key order, comments,
    and formatting unchanged, and keep the document valid AsyncAPI. Return only
    the complete corrected document, with no commentary."
AI fix prompt — send this to Claude, Gemini, or ChatGPT with your artifact to auto-fix this rule
You are editing an AsyncAPI document to satisfy the Spotlight API governance rule 'asyncapi-channel-no-query-nor-fragment' (Asyncapi Channel No Query Nor Fragment). Requirement: Channel path must not include query ("?") or fragment ("#") delimiter. To fix: Ensure `@key` does NOT match the regular expression `[\?#]`; rename or rewrite any value that does. This rule is evaluated at the JSONPath `$.channels` — inspect every location it matches and correct only what violates the rule. Make the smallest change that satisfies the rule, leave all unrelated content, key order, comments, and formatting unchanged, and keep the document valid AsyncAPI. Return only the complete corrected document, with no commentary.
ArtifactAsyncAPI
Applies at (given)$.channels
Severityinfo — educational by default; raise to warn/error to enforce
Referencehttps://spotlight-rules.com/spec/rules/asyncapi/asyncapi-channel-no-query-nor-fragment/