Developer preview. Vela, Facet, and Quire are pre-release and in active development — syntax, APIs, and availability may change, and they are not yet generally available.
SStretch Dev Docs
Quire

Diagnostics

Stable diagnostic records, CLI JSON output, code ranges, and source locations.

Quire diagnostics are stable, machine-readable records used by the CLI, language server, CI, and planned visual-builder integrations.

Diagnostic shape

Diagnostics include a stable code, severity, message, file, line, and column. The invalid fixture in examples/invalid-field.quire references a missing field:

quire BrokenProductPage {
  model {
    product: Product
  }

  route "/broken"
  title product.doesNotExist

  section hero {
    text heading {
      value product.title
    }
  }
}

That case is documented as diagnostic P0363:

{
  "code": "P0363",
  "severity": "error",
  "message": "Type Product has no field 'doesNotExist'.",
  "file": "examples/invalid-field.quire",
  "line": 7,
  "column": 9
}

CLI JSON

Use --json with quire check:

quire check examples/product.quire --json

Successful checks return ok: true, an empty diagnostics array, and a summary with zero errors and warnings. Failed checks return ok: false, the diagnostics array, and summary counts.

Code ranges

  • P01xx: lexer diagnostics
  • P02xx: parser diagnostics
  • P03xx: semantic and type-checker diagnostics
  • P99xx: internal diagnostics

Current semantic codes cover missing model blocks, unknown types, duplicate symbols, invalid blocks and children, condition and repeat typing, component errors, unknown attributes, type mismatches, unsupported expressions, optional access, invalid capabilities, localization descriptors, advanced authoring helpers, bindings, module resolution, package manifests, and internal failures.

Human output

Human diagnostics include the same code and a source caret:

examples/invalid-field.quire:7:9 error: [P0363] Type Product has no field 'doesNotExist'.
    title product.doesNotExist
          ^