Validate a UAI-1 Message

Use the canonical UAIX validator when a candidate UAI-1 exchange needs public evidence. LlmWikis can explain the workflow; UAIX defines validator behavior.

Evidence boundary

A validation result is evidence for the exact candidate payload and public artifacts used during the check. It is not certification, endorsement, or proof that an entire product supports UAI-1.

Before validating

  • Know which UAI-1 profile the message claims to use.
  • Keep the exact payload that will be reviewed, released, or handed off.
  • Check whether schema, registry, field-registry, transport, trust, provenance, and integrity references are current.
  • Use UAIX.org for canonical validator behavior; do not treat a local helper as canonical evidence.

Reproducible proof path

  1. Resolve the live catalog. Start from UAIX discovery or API Reference so route URLs come from the current public record.
  2. Fetch a known-good example. Compare your payload against the example for the same profile before editing.
  3. Assemble the validation request. Keep the candidate message, selected normalization mode, and any expected profile together.
  4. POST to the validator route. Use /wp-json/uaix/v1/validate or the browser workbench documented by UAIX.
  5. Read issues before patching. Use JSON paths, issue codes, severity, and linked UAIX artifacts to decide the next change.
  6. Save the result. Keep the validator output or exported uai.conformance.result.v1 record beside CI logs, release evidence, or project handoff files.
  7. Optionally run mock exchange. After a passing validation, use the UAIX mock-exchange route to inspect a deterministic response shape for the same kind of packet.

Minimal evidence folder

uai-validation-evidence/
  candidate-message.json
  validator-request.json
  validator-result.json
  uai-conformance-result.json
  mock-exchange-request.json
  mock-exchange-response.json
  notes.md

What to check first

Check Question Likely next source
Profile Does profile match one of the published profile families? UAIX schemas and registry
Envelope Are identity, conversation, delivery, trust, body, provenance, and integrity fields shaped correctly? UAI-1 specification and schemas
Body Does the body match the selected profile rather than a similar profile? Profile schema and example
Registry Do compact values, error codes, transport bindings, trust channels, and conformance levels resolve publicly? UAIX registry and related records
Integrity Was the checksum or canonical hash created from the exact final payload? Validator result and conformance output

PowerShell sketch

$base = "https://uaix.org/wp-json/uaix/v1"
$example = Invoke-RestMethod "$base/examples/uai.intent.request.v1"
$body = @{
  message = $example
  normalization_mode = "keyed"
} | ConvertTo-Json -Depth 20
Invoke-RestMethod "$base/validate" -Method Post -ContentType "application/json" -Body $body |
  ConvertTo-Json -Depth 20 |
  Set-Content .alidator-result.json

Read validator errors

Error family Likely next page Action
Missing or invalid field UAI-1 Message Model Check the expected field shape before editing.
Registry mismatch UAIX Registry Refresh the canonical record and avoid local aliases.
Trust or provenance issue Trust Channel and Provenance glossary pages Confirm sender, source, credential, trace, and lineage context.
Conformance issue UAIX Conformance Pack Compare against positive and negative fixtures before making support claims.