Ce que vérifie le validateur
L’atelier de validation inspecte les messages candidats UAI par rapport aux schémas de profil publiés, aux enregistrements de gouvernance d’ordre de champ et aux attentes actuelles de la surface d’exploitation pour UAI-1.
- Alignement du schéma pour les six familles de messages publiées.
- Résolution de profils et d’identifiants basés sur le registre.
- Attentes de commande sur le terrain et de transport sans clé via le registre public de terrain.
- Vérifications du contexte de trace, de la livraison, du canal de confiance, de l’état des tâches asynchrones et du résumé de conformité qui vont au-delà de la pure structure JSON.
- Validation des échecs typés par rapport au registre d’erreurs publié et vérifications des déclarations de capacité par rapport aux liaisons de transport et aux niveaux de conformité publiés.
- Rapports de problèmes prévisibles en cas d’échec de la conformité ou de début de dérive.
Que signifie un résultat de conformité
Un résultat de conformité est la preuve lisible par machine qu’un message candidat a été vérifié par rapport au dossier public actuel. Il est approprié pour l’examen, les étapes de validation, les contrôles de régression et les éléments probants d’audit. Il ne constitue pas un substitut à un paquet de version ou à une demande de support d’implémentation en soi.
Ce qu’un résultat passager fait et ne vous permet pas de prétendre
- Prise en charge:une affirmation selon laquelle le message examiné correspondait au dossier public publié au moment de la validation.
- Ne prend pas en charge:une demande de certification, d’approbation du partenaire, de compatibilité permanente ou de prise en charge générale de l’exécution au-delà du dossier d’implémentation ci-joint.
- Il en faut plus avant le soutien public:un paquet de version, un historique de mise en œuvre, une entrée de piste de version et le niveau de conformité publié approprié pour la réclamation que vous souhaitez faire.
Comment les équipes doivent utiliser le validateur avant le déploiement
- Charger une publicationExempleou collez un message de candidat.
- Confirmez que le message est résolu comme prévuRegistreprofil, le pertinentordre des champs, et le schéma correspondant.
- Lorsque le transport, la confiance ou le comportement des erreurs sont importants, transférez les liaisons de transport publiées, les canaux de confiance, le registre des erreurs et les niveaux de conformité avec le même paquet de révision.
- Examinez l’enregistrement des résultats générés, puis conservez cet enregistrement de conformité avec les preuves de version d’implémentation.
- Utilisez le résultat pour décider si l’étape suivante appartient àImplémentations.
Surfaces de validation en direct en béton
- Établi face à l’homme:utilisez cette page pour le chargement des appareils, la révision côte à côte et les enregistrements de conformité téléchargeables.
- Itinéraire de validation face à la machine:
/wp-json/uaix/v1/validateaccepte les demandes JSONPOSTpour les pipelines d’automatisation et de publication. - Prise en charge des itinéraires d’enregistrement lisibles par machine:
/wp-json/uaix/v1/catalog,/wp-json/uaix/v1/schemas,/wp-json/uaix/v1/registry,/wp-json/uaix/v1/field-registry, et/wp-json/uaix/v1/examplesexposer le catalogue principal, le schéma, le registre, l’ordre des champs et l’inventaire des appareils utilisés lors de la validation. - Itinéraires de guidage opérationnels:
/wp-json/uaix/v1/transport-bindings,/wp-json/uaix/v1/trust-channels,/wp-json/uaix/v1/conformance-levels, et/wp-json/uaix/v1/error-registryexposer les conseils en matière de transport, de confiance, de demande de support et de gestion des échecs auxquels le validateur fait désormais référence.
Comment la preuve de conformité devient un enregistrement public
- Attachez les résultats de conformité exportés à l’implémentation ou à la version du package concerné plutôt que de les laisser sous forme de contrôles locaux privés.
- Utilisez leJournal des changementslorsque les changements de schéma, de profil, d’ordre des champs, de transport, de confiance ou de comportement du validateur affectent les attentes en matière de migration.
- UtiliserActualitéslorsqu’une version réussie ou défaillante nécessite un résumé public.
- UtiliserRéférences et contributeurslorsque la version a besoin de liens de découverte et de citation stables autour de sa preuve de conformité.
Interprétation des résultats de validation
- Passer:le message soumis correspondait au profil public, au schéma, au registre et à la politique actuelle du validateur au moment de la vérification enregistrée.
- Avertissement:le message peut être structurellement utilisable mais comporte des dérives, des preuves manquantes, une faible position de confiance ou un contexte de révision qui doivent être résolus avant que le langage de support ne se développe.
- Échouer:le message ne doit pas être utilisé comme preuve de publication jusqu’à ce que les problèmes de profil, de schéma, d’ordre de champ, de confiance, de trace, de livraison ou de corps répertoriés soient corrigés et réexécutés.
- Déclencheur de réexécution:réexécutez lorsque l’enregistrement public, le comportement du validateur, la version d’implémentation, la position de l’itinéraire ou la revendication de support changent.
Références publiées sur les surfaces opérationnelles
Le validateur ci-dessous se base désormais sur une couche opérationnelle publiée plus large, et pas seulement sur les schémas et les accessoires.
Operating surface
Transport, trust, errors, and conformance
These records make the UAI-1 operating layer explicit instead of leaving transport binding, trust posture, typed failure semantics, or support claims to private convention.
Transport
Published bindings
- Default
- https-json-envelope.v1
- Bindings
- 2
https-json-envelope.v1:application/vnd.uaix.uai+jsonhttps-json-keyless.v1:application/vnd.uaix.uai-keyless+json
Trust
Published trust channels
public-web: Enregistrements lisibles publiquement sur HTTPS sans configuration de confiance bilatérale préalable.private-api: Échange de service à service sur un réseau étendu ou une limite de locataire.mtls: Échange authentifié par transport où l’identité des homologues est ancrée au niveau de la couche de connexion.signed-envelope: Une signature au niveau du message ou une référence de signature détachée accompagne l'enregistrement.credentialed: L'expéditeur ou le contexte d'exécution est soutenu par un identifiant vérifiable par machine ou une assertion d'identité signée comparable.
Conformance
Published level ladder
L1-core-envelope: Enveloppe de base L1L2-profile-validation: Validation du profil L2L3-trust-and-integrity: Confiance et intégrité L3L4-public-record-publisher: Éditeur de disques publics L4L5-agent-communication-profiles: Profils de communication des agents L5L6-reliable-delegation-idempotency-correlation: Délégation fiable L6 avec idempotence et corrélationL7-capability-negotiation: Négociation des capacités L7
Errors
Published message error codes
invalid_message: Message invalideunknown_profile: Profil inconnucapability_not_supported: Capacité non prise en chargeauth_required: Authentification requiseinsufficient_trust: Confiance insuffisantetask_not_found: Tâche introuvable
Runbook de paquets de preuve
Utilisez le runbook publié ci-dessous lorsqu’un message candidat doit devenir une preuve de version réutilisable au lieu de rester une vérification de validateur locale unique.
Chemin de preuve Use this flow when a candidate message needs to become exportable evidence instead of staying a local test. Étape 1 Pull the current route inventory first so the rest of the proof run stays anchored to the published machine surface. Étape 2 Use one published request example as the first packet so your review starts from current public structure instead of local guesswork. Étape 3 Build one validator request body with the example packet nested under `message` and request the result record format. Étape 4 Submit the validation request to the live POST route and keep the returned result record with the exact packet that was checked. Étape 5 Post the same validated packet to the mock exchange route when you want one real conforming response shape before a runtime track exists. Étape 6 Move from proof into the named implementation lane, conformance pack, and release trail instead of claiming broader support than the site publishes. Keep the starter packet, validator request, and mock-exchange request required for mock-exchange configuration together with the returned result. That bundle is the smallest repeatable proof-and-response packet on the current public surface. Post-validation path Use this map when the validator passed and the next job is turning that result into reusable release evidence instead of stopping at a local check. Stage 1 A published fixture or candidate message passed against the current public record. Stage 2 The passing result now travels with implementation versioning, artifact links, and discovery context. Stage 3 The named implementation track and release trail now say what is publicly supported and what is still out of scope. Keep from each run Before release-ready Current public conformance levels: Use these levels for outward-facing language once the packet becomes part of a named release and implementation record. L1-core-envelope Produisez ou consommez des enveloppes UAI à clé pour les profils nommés sans modifier les champs racines canoniques. Public claim: Peut revendiquer L1 uniquement pour les profils nommés exactement dont l'enveloppe canonique effectue un aller-retour avec succès. L2-profile-validation Réussissez les vérifications du schéma publié et du validateur pour les profils exacts revendiqués. Public claim: Peut revendiquer L2 uniquement pour les profils avec des preuves appuyées par un validateur. L3-trust-and-integrity Préservez les métadonnées de confiance, les conseils de la fenêtre de relecture, la provenance, l'intégrité et la continuité des traces. Public claim: Peut revendiquer L3 uniquement pour les canaux de confiance et le comportement d'intégrité prouvés par les appareils. L4-public-record-publisher Publier les artefacts publics détectables nécessaires à l’inspection externe et à la reproduction. Public claim: Peut revendiquer L4 uniquement pour la surface de diffusion publique qui est détectable et prouvée. L5-agent-communication-profiles Prend en charge les huit profils uai.agent.*.v1 en tant qu'enregistrements d'enveloppe canoniques UAI-1. Public claim: Peut revendiquer L5 uniquement pour les profils d'agent spécifiques avec des cas de conformité positifs et négatifs. L6-reliable-delegation-idempotency-correlation Utilisez les règles d'idempotence, de corrélation, de nouvelle tentative, de cycle de vie, de délai d'attente, de secours, d'accusé de réception et de résultat attendu pour le travail délégué. Public claim: Peut revendiquer L6 uniquement pour un comportement de délégation fiable prouvé par les dispositifs de conformité et le comportement du récepteur. L7-capability-negotiation Publiez et validez la découverte de capacités, les assertions, les échecs de négociation et les réponses aux capacités non prises en charge. Public claim: Peut revendiquer L7 uniquement pour les flux de négociation de capacités exacts prouvés par les montages publics et le comportement du validateur. Claim rules Working rule: Use the conformance ladder for language, but use the named implementation track and release trail for the actual public support boundary.How the first proof packet should move through validation
Resolve the live catalog
Fetch one starter example
Wrap the message for validation
Run one validator check
Test the live reference response
Carry only the named next step
/wp-json/uaix/v1/catalog
Schéma
/wp-json/uaix/v1/schemas/uai.intent.request.v1
Exemple
/wp-json/uaix/v1/examples/uai.intent.request.v1
Valider
/wp-json/uaix/v1/validate
Kit d'adoption
/wp-json/uaix/v1/adoption-kit
Échange simulé
/wp-json/uaix/v1/mock-exchange
{
"uai_version": "1.0",
"profile": "uai.intent.request.v1",
"message_id": "msg-2026-04-22-0001",
"source": {
"type": "agent",
"id": "agent.alpha",
"label": "Agent Alpha",
"uri": "https://agents.alpha.example/runtime",
"did": "did:web:agents.alpha.example",
"role": "requesting-agent",
"implementation": "alpha-runtime-2.4.1"
},
"target": {
"type": "service",
"id": "uaix.gateway",
"label": "UAIX Gateway",
"uri": "https://uaix.org/wp-json/uaix/v1/discovery",
"did": "did:web:uaix.org",
"role": "public-record-gateway",
"implementation": "uaix-core-0.4.0"
},
"conversation": {
"conversation_id": "conv-2026-04-22-uaix-001",
"turn_id": "turn-001",
"traceparent": "00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01",
"sequence": 1
},
"delivery": {
"mode": "async",
"priority": "interactive",
"expires_at": "2026-04-22T16:05:00Z",
"reply_requested": true,
"ack_required": true
},
"trust": {
"channel": "credentialed",
"auth_scheme": "did+vc",
"principal": "did:web:agents.alpha.example",
"credential_ref": "https://agents.alpha.example/credentials/uai-interop.json",
"signature_ref": "https://agents.alpha.example/signatures/msg-2026-04-22-0001.jws",
"replay_window_id": "rw-2026-04-22-0001",
"trust_profile": "uai.trust.did-vc-reference.v1",
"verification_status": "not_verified",
"credential_status": "not_checked",
"verifier_ref": "https://agents.alpha.example/verifiers/uai-trust-policy.json",
"trust_root_ref": "https://agents.alpha.example/.well-known/uai.json",
"proof_ref": "https://agents.alpha.example/signatures/msg-2026-04-22-0001.jws",
"replay_policy_ref": "https://agents.alpha.example/trust/replay-policy.json",
"verification_checked_at": "2026-04-22T16:00:00Z",
"verification_expires_at": "2026-04-22T16:05:00Z",
"assurance_level": "reference_only"
},
"body": {
"intent": "resolve-profile",
"subject": "uai.task.status.v1",
"requested_profile": "uai.task.status.v1",
"parameters": {
"include_schema": true,
"include_example": true,
"include_field_registry": true
},
"constraints": [
"public-record-only",
"trace-linked",
"validator-ready"
],
"response_profile": "uai.intent.response.v1"
},
"provenance": {
"trace_id": "trace-7f3a2d",
"parent_trace_id": "trace-root-uaix-2026",
"issued_at": "2026-04-22T16:00:00Z",
"log_ref": "urn:uaix:log:2026:0001",
"agent_id": "agent.alpha",
"model_id": "model.alpha.reasoner-2",
"confidence": 0.98,
"lineage": [
{
"stage": "request-composition",
"actor_id": "agent.alpha",
"model_id": "model.alpha.reasoner-2",
"note": "Requested the async task-status profile and matching field registry."
}
]
},
"integrity": {
"version": 2,
"algorithm": "sha256",
"canonicalization": "jcs",
"checksum": "sha256:dd8a9d16c9226cc9d1f4888a4d2bbcbf06b5b4b8"
},
"extensions": [
{
"namespace": "urn:uaix:ext:delivery",
"purpose": "Explicit async request handling and expiry semantics.",
"critical": false
}
]
}{
"message": {
"uai_version": "1.0",
"profile": "uai.intent.request.v1",
"message_id": "msg-2026-04-22-0001",
"source": {
"type": "agent",
"id": "agent.alpha",
"label": "Agent Alpha",
"uri": "https://agents.alpha.example/runtime",
"did": "did:web:agents.alpha.example",
"role": "requesting-agent",
"implementation": "alpha-runtime-2.4.1"
},
"target": {
"type": "service",
"id": "uaix.gateway",
"label": "UAIX Gateway",
"uri": "https://uaix.org/wp-json/uaix/v1/discovery",
"did": "did:web:uaix.org",
"role": "public-record-gateway",
"implementation": "uaix-core-0.4.0"
},
"conversation": {
"conversation_id": "conv-2026-04-22-uaix-001",
"turn_id": "turn-001",
"traceparent": "00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01",
"sequence": 1
},
"delivery": {
"mode": "async",
"priority": "interactive",
"expires_at": "2026-04-22T16:05:00Z",
"reply_requested": true,
"ack_required": true
},
"trust": {
"channel": "credentialed",
"auth_scheme": "did+vc",
"principal": "did:web:agents.alpha.example",
"credential_ref": "https://agents.alpha.example/credentials/uai-interop.json",
"signature_ref": "https://agents.alpha.example/signatures/msg-2026-04-22-0001.jws",
"replay_window_id": "rw-2026-04-22-0001",
"trust_profile": "uai.trust.did-vc-reference.v1",
"verification_status": "not_verified",
"credential_status": "not_checked",
"verifier_ref": "https://agents.alpha.example/verifiers/uai-trust-policy.json",
"trust_root_ref": "https://agents.alpha.example/.well-known/uai.json",
"proof_ref": "https://agents.alpha.example/signatures/msg-2026-04-22-0001.jws",
"replay_policy_ref": "https://agents.alpha.example/trust/replay-policy.json",
"verification_checked_at": "2026-04-22T16:00:00Z",
"verification_expires_at": "2026-04-22T16:05:00Z",
"assurance_level": "reference_only"
},
"body": {
"intent": "resolve-profile",
"subject": "uai.task.status.v1",
"requested_profile": "uai.task.status.v1",
"parameters": {
"include_schema": true,
"include_example": true,
"include_field_registry": true
},
"constraints": [
"public-record-only",
"trace-linked",
"validator-ready"
],
"response_profile": "uai.intent.response.v1"
},
"provenance": {
"trace_id": "trace-7f3a2d",
"parent_trace_id": "trace-root-uaix-2026",
"issued_at": "2026-04-22T16:00:00Z",
"log_ref": "urn:uaix:log:2026:0001",
"agent_id": "agent.alpha",
"model_id": "model.alpha.reasoner-2",
"confidence": 0.98,
"lineage": [
{
"stage": "request-composition",
"actor_id": "agent.alpha",
"model_id": "model.alpha.reasoner-2",
"note": "Requested the async task-status profile and matching field registry."
}
]
},
"integrity": {
"version": 2,
"algorithm": "sha256",
"canonicalization": "jcs",
"checksum": "sha256:dd8a9d16c9226cc9d1f4888a4d2bbcbf06b5b4b8"
},
"extensions": [
{
"namespace": "urn:uaix:ext:delivery",
"purpose": "Explicit async request handling and expiry semantics.",
"critical": false
}
]
},
"format": "result"
}{
"scenario": "accepted-task",
"format": "exchange",
"message": {
"uai_version": "1.0",
"profile": "uai.intent.request.v1",
"message_id": "msg-2026-04-22-0001",
"source": {
"type": "agent",
"id": "agent.alpha",
"label": "Agent Alpha",
"uri": "https://agents.alpha.example/runtime",
"did": "did:web:agents.alpha.example",
"role": "requesting-agent",
"implementation": "alpha-runtime-2.4.1"
},
"target": {
"type": "service",
"id": "uaix.gateway",
"label": "UAIX Gateway",
"uri": "https://uaix.org/wp-json/uaix/v1/discovery",
"did": "did:web:uaix.org",
"role": "public-record-gateway",
"implementation": "uaix-core-0.4.0"
},
"conversation": {
"conversation_id": "conv-2026-04-22-uaix-001",
"turn_id": "turn-001",
"traceparent": "00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01",
"sequence": 1
},
"delivery": {
"mode": "async",
"priority": "interactive",
"expires_at": "2026-04-22T16:05:00Z",
"reply_requested": true,
"ack_required": true
},
"trust": {
"channel": "credentialed",
"auth_scheme": "did+vc",
"principal": "did:web:agents.alpha.example",
"credential_ref": "https://agents.alpha.example/credentials/uai-interop.json",
"signature_ref": "https://agents.alpha.example/signatures/msg-2026-04-22-0001.jws",
"replay_window_id": "rw-2026-04-22-0001",
"trust_profile": "uai.trust.did-vc-reference.v1",
"verification_status": "not_verified",
"credential_status": "not_checked",
"verifier_ref": "https://agents.alpha.example/verifiers/uai-trust-policy.json",
"trust_root_ref": "https://agents.alpha.example/.well-known/uai.json",
"proof_ref": "https://agents.alpha.example/signatures/msg-2026-04-22-0001.jws",
"replay_policy_ref": "https://agents.alpha.example/trust/replay-policy.json",
"verification_checked_at": "2026-04-22T16:00:00Z",
"verification_expires_at": "2026-04-22T16:05:00Z",
"assurance_level": "reference_only"
},
"body": {
"intent": "resolve-profile",
"subject": "uai.task.status.v1",
"requested_profile": "uai.task.status.v1",
"parameters": {
"include_schema": true,
"include_example": true,
"include_field_registry": true
},
"constraints": [
"public-record-only",
"trace-linked",
"validator-ready"
],
"response_profile": "uai.intent.response.v1"
},
"provenance": {
"trace_id": "trace-7f3a2d",
"parent_trace_id": "trace-root-uaix-2026",
"issued_at": "2026-04-22T16:00:00Z",
"log_ref": "urn:uaix:log:2026:0001",
"agent_id": "agent.alpha",
"model_id": "model.alpha.reasoner-2",
"confidence": 0.98,
"lineage": [
{
"stage": "request-composition",
"actor_id": "agent.alpha",
"model_id": "model.alpha.reasoner-2",
"note": "Requested the async task-status profile and matching field registry."
}
]
},
"integrity": {
"version": 2,
"algorithm": "sha256",
"canonicalization": "jcs",
"checksum": "sha256:dd8a9d16c9226cc9d1f4888a4d2bbcbf06b5b4b8"
},
"extensions": [
{
"namespace": "urn:uaix:ext:delivery",
"purpose": "Explicit async request handling and expiry semantics.",
"critical": false
}
]
}
}What should happen after a passing validator result
Validated packet
Release-ready packet
Public support claim
Artifacts that should stay attached to every validator result
What still needs to be attached after the pass
Enveloppe de base L1
Validation du profil L2
Confiance et intégrité L3
Éditeur de disques publics L4
Profils de communication des agents L5
Délégation fiable L6 avec idempotence et corrélation
Négociation des capacités L7
Public language should stay inside published evidence
Établi du validateur
Utilisez l’atelier public ci-dessous pour charger un appareil publié ou valider un message candidat UAI par rapport à la version actuelle, puis téléchargez l’enregistrement de conformité résultant lorsque vous avez besoin d’un rapport durable lisible par machine.
Validateur
UAI-1 validator workbench
Paste a candidate message, load a published fixture, choose keyed or keyless normalization, and validate it against the current public UAI-1 profile schemas. The validator now checks the richer envelope, async task-state records, typed error details, field-registry alignment, trace context, delivery expiry, capability-declared transport bindings, conformance levels, and trust-policy hints before deployment.
Conformance input
Validate a UAI message
Use the published fixtures below as known-good starting points or paste a candidate payload from your own integration. Each validation run can also be exported as a `uai.conformance.result.v1` record for CI logs, release evidence, or audit trails.
Use this page as the human-facing validation workflow. The REST validate route is a machine-facing POST endpoint for JSON payloads, not a browsable report page.
Conformance result
Ready to validate
Load a fixture or paste a candidate message, then run the validator.
What will appear here
Run the validator to group issues by severity, resolve the exact public artifacts used during the check, and export a reusable conformance record.
Errors
0Warnings
0Resolved public artifacts
Carry these exact records with the validation result so another reviewer can reproduce the same proof packet without private context.
Run the validator to generate a conformance record.Live response proof
Ready when the packet is validated
Run a passing packet through the live mock exchange to inspect one deterministic response shape before a runtime-specific track exists.
Use the mock exchange after a passing validation
The live reference route returns deterministic accepted, completed, and typed-error envelopes so you can inspect one conforming response shape before a runtime track publishes its own server behavior.
Mock response validation notes
0Run the mock exchange to capture a deterministic response envelope.Étape suivante
Continuez àImplémentationsune fois le message du candidat passé. Utilisez leWordPress Piste de publicationpour la publication et l’emballage, ou lePiste de pont.NETpour une intégration plus approfondie du runtime, puis enregistrez les modifications apportées à la version via leJournal des changementsetActualités.