Asyncapi 3 Channel No Query Nor Fragment
asyncapi-3-channel-no-query-nor-fragment · built-in
info
experience: consistencyexperience: naming
spec: channels
Channel address must not include query ("?") or fragment ("#") delimiter.
Channel address 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-3-channel-no-query-nor-fragment:
title: Asyncapi 3 Channel No Query Nor Fragment
reference: https://spotlight-rules.com/spec/rules/asyncapi/asyncapi-3-channel-no-query-nor-fragment/
description: Channel address must not include query ("?") or fragment ("#") delimiter.
message: Channel address must not include query ("?") or fragment ("#") delimiter.
severity: info
given: $.channels.*
then:
field: address
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-3-channel-no-query-nor-fragment' (Asyncapi 3
Channel No Query Nor Fragment). Requirement: Channel address must not
include query (\"?\") or fragment (\"#\") delimiter. To fix: Ensure
`address` 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-3-channel-no-query-nor-fragment' (Asyncapi 3 Channel No Query Nor Fragment). Requirement: Channel address must not include query ("?") or fragment ("#") delimiter. To fix: Ensure `address` 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.
| Artifact | AsyncAPI |
|---|---|
| Applies at (given) | $.channels.* |
| Severity | info — educational by default; raise to warn/error to enforce |
| Reference | https://spotlight-rules.com/spec/rules/asyncapi/asyncapi-3-channel-no-query-nor-fragment/ |