Outils

Validateur

Validez les messages UAI-1 par rapport aux profils publiés, aux règles d'ordre des champs et aux contrôles de politique, puis exportez des résultats révisables avant publication.

  • Dossier UAIX-TOOL-0061
  • Chemin /fr-fr/tools/validator/
  • Utilisation Dossier public canonique

Statut du document

Page des normes publiques Publié le UAIX dans le cadre du dossier actuel des normes publiques
Code
UAIX-TOOL-0061
Surface
Outils
Accès
Public et accessible par lien

Comment utiliser cette page

Utilisez cette page pour tester les messages candidats par rapport à l'enregistrement UAI-1 publié et enregistrer les résultats avant la publication.

Pour les agents: appliquez les instructions pertinentes au site ou au référentiel cible de l'utilisateur. Ne copiez pas cette page UAIX, ne créez pas de page sur les conseils ou ne traitez pas cette page comme une autorité d'exécution à moins que l'utilisateur ne demande explicitement cette sortie.

Entrées de validation

ExemplesRegistreRéférence APIKit d'adoption

Chemin de validation

L'examen humain et la validation machine restent séparés ici

Utilisez l'atelier de page lorsqu'une personne a besoin de charger et d'exporter un appareil, et utilisez la route REST lorsque le CI, l'automatisation ou le code client a besoin d'une cible JSON POST.

Surface humaine

Chargement et exportation de luminaires

Cette page est destinée à l'examen côte à côte, à l'inspection des résultats du validateur et aux enregistrements de conformité téléchargeables.

Surface de la machine

JSON POST itinéraire

L'automatisation doit résoudre l'itinéraire de validation via la découverte ou le catalogue et soumettre une charge utile JSON au lieu de dépendre du comportement du navigateur uniquement.

Posture de demande

Des garde-fous publics, pas des quotas privés

La route publique POST rejette les JSON surdimensionnés avec 413 et renvoie 429 plus Retry-After lorsque les manettes de l'étape de lancement se déclenchent; il reste une surface d'examen publique non authentifiée, et non un service privé de validation groupée.

Communiquer des preuves

Conservez le paquet avec la version

Un résultat réussi du validateur fait partie d’un paquet de version, et non une demande de certification autonome ou un badge de support universel.

Entrées de validation

ExemplesCalendriers publiés pour les vérifications de base.RegistreRésolvez le profil public prévu.Référence APIInventaire des itinéraires en direct et demandes de démarrage.Kit d'adoptionPublication d'un bundle de première épreuve et de charges utiles de démarrage.Paquet de conformitéPaquet réutilisable pour la révision du lancement.

Chemin de preuve

Chemin de preuve soutenu par le validateur

Gardez l'ordre de lecture publique lié à une seule piste de preuves: profil, schéma, exemple, résultat du validateur et enregistrement de publication.

  1. 1Choisissez un profil de message.Commencez par un profil UAI-1 publié et la famille d'enregistrements qui correspond à l'échange que vous devez prouver.
  2. 2Comparez-le avec des schémas et des exemples.Résolvez le schéma, l'entrée de registre et un appareil avant d'écrire ou de mapper votre dossier de candidat.
  3. 3Exécutez des preuves de validation.Validez les JSON avec clé, à clé minifiée ou sans clé par rapport aux enregistrements publics UAI-1 actuels.
  4. 4Joignez le résultat aux enregistrements d’implémentation ou de transfert.Transportez le résultat exporté dans le pack de conformité, le suivi de mise en œuvre, le journal des modifications ou les preuves de transfert de projet.
Machine POSTValider une charge utile candidate
curl -s https://uaix.org/wp-json/uaix/v1/catalog
curl -s https://uaix.org/wp-json/uaix/v1/examples/uai.intent.request.v1
curl -s -X POST https://uaix.org/wp-json/uaix/v1/validate -H "Content-Type: application/json" -d @uai-message.json

Associez l’itinéraire de validation au catalogue, au registre et aux exemples d’enregistrements de support lorsque le résultat sera transmis aux preuves de publication.

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

  1. Charger une publicationExempleou collez un message de candidat.
  2. Confirmez que le message est résolu comme prévuRegistreprofil, le pertinentordre des champs, et le schéma correspondant.
  3. 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.
  4. Examinez l’enregistrement des résultats générés, puis conservez cet enregistrement de conformité avec les preuves de version d’implémentation.
  5. Utilisez le résultat pour décider si l’étape suivante appartient àImplémentations.

Surfaces de validation en direct en béton

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+json
  • https-json-keyless.v1: application/vnd.uaix.uai-keyless+json

Trust

Published trust channels

  • public-web: Publicly readable records over HTTPS with no prior bilateral trust setup.
  • private-api: Service-to-service exchange on a scoped network or tenant boundary.
  • mtls: Transport-authenticated exchange where peer identity is anchored at the connection layer.
  • signed-envelope: Message-level signature or detached signature reference accompanies the record.
  • credentialed: The sender or execution context is backed by a machine-verifiable credential or comparable signed identity assertion.

Conformance

Published level ladder

  • L1-core-envelope: L1 Core Envelope
  • L2-profile-validation: L2 Profile Validation
  • L3-trust-and-integrity: L3 Trust and Integrity
  • L4-public-record-publisher: L4 Public Record Publisher
  • L5-agent-communication-profiles: L5 Agent Communication Profiles
  • L6-reliable-delegation-idempotency-correlation: L6 Reliable Delegation with Idempotency and Correlation
  • L7-capability-negotiation: L7 Capability Negotiation

Errors

Published message error codes

  • invalid_message: Invalid message
  • unknown_profile: Unknown profile
  • capability_not_supported: Capability not supported
  • auth_required: Authentication required
  • insufficient_trust: Insufficient trust
  • task_not_found: Task not found

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

How the first proof packet should move through validation

Use this flow when a candidate message needs to become exportable evidence instead of staying a local test.

Étape 1

Resolve the live catalog

Pull the current route inventory first so the rest of the proof run stays anchored to the published machine surface.

Étape 2

Fetch one starter example

Use one published request example as the first packet so your review starts from current public structure instead of local guesswork.

Étape 3

Wrap the message for validation

Build one validator request body with the example packet nested under `message` and request the result record format.

Étape 4

Run one validator check

Submit the validation request to the live POST route and keep the returned result record with the exact packet that was checked.

Étape 5

Test the live reference response

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

Carry only the named next step

Move from proof into the named implementation lane, conformance pack, and release trail instead of claiming broader support than the site publishes.

起步消息 Example packet JSON starter-message.json
Exemple de code
{
    "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
        }
    ]
}
验证请求 Wrap the packet for validator POST validate-request.json
Exemple de code
{
    "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"
}
Reference exchange Ask the live mock surface for one conforming response mock-exchange-request.json
Exemple de code
{
    "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
            }
        ]
    }
}

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

What should happen after a passing validator result

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

Validated packet

A published fixture or candidate message passed against the current public record.

  • Useful for review, debugging, and regression work right away.
  • Still evidence only until the result is attached to a named release lane.

Stage 2

Release-ready packet

The passing result now travels with implementation versioning, artifact links, and discovery context.

  • Keep the checked packet, validator export, artifact URLs, and compatibility notes together.
  • This is the handoff point for launch review, packaging, and repeatable QA.

Stage 3

Public support claim

The named implementation track and release trail now say what is publicly supported and what is still out of scope.

  • Scope the claim to the exact profiles, transport bindings, and owner path that are actually published.
  • Use the current conformance level and release links so another reader can verify the same state.

Keep from each run

Artifacts that should stay attached to every validator result

  • The checked packet exactly as it was submitted for review.
  • The exported conformance result, including warnings as well as failures.
  • The schema, registry, field-order, and example routes used during the check.
  • Transport, trust, conformance, and error guidance when the message depends on those operating surfaces.

Before release-ready

What still needs to be attached after the pass

  • The implementation-track version or package that will carry the result outwardly.
  • Discovery and citation links so another reviewer can resolve the same public state.
  • Changelog or release-summary links when the result affects public compatibility posture.
  • Conformance-level language that stays inside the support boundary actually published.

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

L1 Core Envelope

Produce or consume keyed UAI envelopes for named profiles without changing the canonical root fields.

  • Preserve uai_version, profile, message_id, source, target, conversation, delivery, trust, body, provenance, integrity, and extensions.
  • Name the exact profile and release for every support claim.
  • Do not claim runtime execution from envelope support alone.

Public claim: May claim L1 only for the exact named profiles whose canonical envelope round-trips successfully.

L2-profile-validation

L2 Profile Validation

Pass published schema and validator checks for the exact profiles claimed.

  • Resolve schemas, registry entries, examples, and field registry records from public UAIX routes.
  • Pass positive fixtures and fail required negative fixtures for each claimed profile.
  • Keep skipped checks and validator warnings attached to evidence.

Public claim: May claim L2 only for profiles with validator-backed evidence.

L3-trust-and-integrity

L3 Trust and Integrity

Preserve trust metadata, replay-window hints, provenance, integrity, and trace continuity.

  • Declare trust channel and principal.
  • Preserve integrity canonicalization and checksum metadata.
  • Validate signed, credentialed, did+vc, and trace metadata when claimed.

Public claim: May claim L3 only for the trust channels and integrity behavior proven by fixtures.

L4-public-record-publisher

L4 Public Record Publisher

Publish discoverable public artifacts needed for external inspection and reproduction.

  • Publish discovery, schemas, registry, examples, field registry, transport bindings, trust channels, error registry, conformance levels, validator guidance, changelog, and release evidence.
  • Keep sitemap, llms.txt, and public navigation aligned with current routes.
  • Avoid private logs or screenshots as the only support evidence.

Public claim: May claim L4 only for the public release surface that is discoverable and evidenced.

L5-agent-communication-profiles

L5 Agent Communication Profiles

Support the eight uai.agent.*.v1 profiles as canonical UAI-1 envelope records.

  • Validate agent message, ack, task-status, blocker, memory-proposal, handoff, final-report, and correction profiles.
  • Reject secret-like memory proposals, unsafe blockers, cold-memory direct promotion, and incomplete final reports.
  • Carry the UAIX support boundary in relevant records.

Public claim: May claim L5 only for the specific agent profiles with passing positive and negative conformance cases.

L6-reliable-delegation-idempotency-correlation

L6 Reliable Delegation with Idempotency and Correlation

Use idempotency, correlation, retry, lifecycle, timeout, fallback, acknowledgement, and expected-output rules for delegated work.

  • Require delivery.idempotency_key for each distinct delegated or destructive operation.
  • Preserve conversation.correlation_id across related messages.
  • Declare retry_count, sequence, expires_at, lifecycle, timeout_ms, fallback_directive, and expected_output_schema when delegation is claimed.

Public claim: May claim L6 only for reliable delegation behavior proven by conformance fixtures and receiver behavior.

L7-capability-negotiation

L7 Capability Negotiation

Publish and validate capability discovery, assertions, negotiation failures, and unsupported-capability responses.

  • Publish capability statements with exact profiles, bindings, trust channels, conformance levels, and error codes.
  • Return capability_not_supported for unsupported capability requests.
  • Do not imply certification, official adapter status, hosted messaging, or runtime orchestration.

Public claim: May claim L7 only for the exact capability negotiation flows proven by public fixtures and validator behavior.

Claim rules

Public language should stay inside published evidence

  • Support claims must name the highest achieved level plus the exact profiles, transport bindings, trust channels, and conformance cases implemented.
  • A project may claim only profiles, bindings, trust channels, and conformance levels that public fixtures and validator tests prove.
  • A passing validator result is evidence, not certification, endorsement, official adapter support, hosted messaging, automatic sync, or runtime execution.
  • Public-record claims require discoverable schemas, registry records, examples, field registry records, error codes, conformance pack cases, changelog, and release notes.
  • Revalidate support claims when schemas, registry records, field order, examples, validator behavior, implementation version, trust posture, sitemap, or public navigation changes.
  • Conformance evidence does not prove security, privacy, availability, performance, legal compliance, hosted trust infrastructure, or production operations by itself.
  • Keep the implementation page, release trail, and citation/discovery links attached when another team needs to verify the same public state.

Working rule: Use the conformance ladder for language, but use the named implementation track and release trail for the actual public support boundary.

É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.

Validate first, then run the same packet against the live mock exchange to inspect one conforming response shape before you widen support claims.

Conformance result

Ready to validate

Load a fixture or paste a candidate message, then run the validator.

Statut Awaiting input
Profil Not checked yet
Errors 0
Warnings 0
Normalization Keyed JSON
Checked at Not run yet

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.

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.

Scenario Accepted async task
HTTP Not run yet
Response profile No response yet
Response check Awaiting proof run

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.

É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.