Info Version Semantic And Stable

info-version-semantic-and-stable

info experience: versioningexperience: consistency spec: info

{{description}}: {{error}}

The API contract MUST have a stable version and MUST follow semantic versioning (e.g., ‘1.0.0’). Words like ‘SNAPSHOT’ or ‘RELEASE’ are not allowed.

Rule definition

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

info-version-semantic-and-stable:
  title: Info Version Semantic And Stable
  reference: https://spotlight-rules.com/spec/rules/openapi/info-version-semantic-and-stable/
  description: The API contract MUST have a stable version and MUST follow
    semantic versioning (e.g., '1.0.0'). Words like 'SNAPSHOT' or 'RELEASE' are
    not allowed.
  message: "{{description}}: {{error}}"
  severity: info
  given: $.info.version
  then:
    function: pattern
    functionOptions:
      match: ^(?!.*\b(SNAPSHOT|RELEASE)\b)(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
  formats:
    - oas3
  tags:
    - format:openapi
    - spec:info
    - experience:versioning
    - experience:consistency
  prompt: "You are editing an OpenAPI document to satisfy the Spotlight API
    governance rule 'info-version-semantic-and-stable' (Info Version Semantic
    And Stable). Requirement: The API contract MUST have a stable version and
    MUST follow semantic versioning (e.g., '1.0.0'). Words like 'SNAPSHOT' or
    'RELEASE' are not allowed. To fix: Ensure the targeted value matches the
    regular expression
    `^(?!.*\\b(SNAPSHOT|RELEASE)\\b)(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d\
    *)$`; rewrite any value that does not. This rule is evaluated at the
    JSONPath `$.info.version` — 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 OpenAPI. 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 OpenAPI document to satisfy the Spotlight API governance rule 'info-version-semantic-and-stable' (Info Version Semantic And Stable). Requirement: The API contract MUST have a stable version and MUST follow semantic versioning (e.g., '1.0.0'). Words like 'SNAPSHOT' or 'RELEASE' are not allowed. To fix: Ensure the targeted value matches the regular expression `^(?!.*\b(SNAPSHOT|RELEASE)\b)(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$`; rewrite any value that does not. This rule is evaluated at the JSONPath `$.info.version` — 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 OpenAPI. Return only the complete corrected document, with no commentary.
ArtifactOpenAPI
Applies at (given)$.info.version
Severityinfo — educational by default; raise to warn/error to enforce
Referencehttps://spotlight-rules.com/spec/rules/openapi/info-version-semantic-and-stable/