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: 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 L1
  • L2-profile-validation: Validation du profil L2
  • L3-trust-and-integrity: Confiance et intégrité L3
  • L4-public-record-publisher: Éditeur de disques publics L4
  • L5-agent-communication-profiles: Profils de communication des agents L5
  • L6-reliable-delegation-idempotency-correlation: Délégation fiable L6 avec idempotence et corrélation
  • L7-capability-negotiation: Négociation des capacités L7

Errors

Published message error codes

  • invalid_message: Message invalide
  • unknown_profile: Profil inconnu
  • capability_not_supported: Capacité non prise en charge
  • auth_required: Authentification requise
  • insufficient_trust: Confiance insuffisante
  • task_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

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

Enveloppe de base L1

Produisez ou consommez des enveloppes UAI à clé pour les profils nommés sans modifier les champs racines canoniques.

  • Préservez uai_version, profile, message_id, source, cible, conversation, livraison, confiance, corps, provenance, intégrité et extensions.
  • Nommez le profil exact et la version pour chaque demande d’assistance.
  • Ne réclamez pas l’exécution du runtime uniquement à partir du support de l’enveloppe.

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

Validation du profil L2

Réussissez les vérifications du schéma publié et du validateur pour les profils exacts revendiqués.

  • Résolvez les schémas, les entrées de registre, les exemples et les enregistrements de registre de champs à partir des routes publiques UAIX.
  • Réussissez les appareils positifs et échouez aux appareils négatifs requis pour chaque profil revendiqué.
  • Conservez les contrôles ignorés et les avertissements du validateur joints aux preuves.

Public claim: Peut revendiquer L2 uniquement pour les profils avec des preuves appuyées par un validateur.

L3-trust-and-integrity

Confiance et intégrité L3

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.

  • Déclarez le canal de confiance et le principal.
  • Préservez l’intégrité de la canonisation et des métadonnées de somme de contrôle.
  • Validez les métadonnées signées, authentifiées, did+vc et tracez les métadonnées lorsqu'elles sont réclamées.

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

Éditeur de disques publics L4

Publier les artefacts publics détectables nécessaires à l’inspection externe et à la reproduction.

  • Publiez la découverte, les schémas, le registre, les exemples, le registre de champs, les liaisons de transport, les canaux de confiance, le registre des erreurs, les niveaux de conformité, les conseils du validateur, le journal des modifications et les preuves de publication.
  • Gardez le plan du site, llms.txt et la navigation publique alignés sur les itinéraires actuels.
  • Évitez les journaux privés ou les captures d’écran comme seule preuve à l’appui.

Public claim: Peut revendiquer L4 uniquement pour la surface de diffusion publique qui est détectable et prouvée.

L5-agent-communication-profiles

Profils de communication des agents L5

Prend en charge les huit profils uai.agent.*.v1 en tant qu'enregistrements d'enveloppe canoniques UAI-1.

  • Validez le message de l'agent, l'accusé de réception, l'état de la tâche, le bloqueur, la proposition de mémoire, le transfert, le rapport final et les profils de correction.
  • Rejetez les propositions de mémoire de type secret, les bloqueurs dangereux, la promotion directe de la mémoire froide et les rapports finaux incomplets.
  • Portez la limite de support UAIX dans les enregistrements pertinents.

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

Délégation fiable L6 avec idempotence et corrélation

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

  • Exiger delivery.idempotency_key pour chaque opération distincte déléguée ou destructrice.
  • Conservez conversation.correlation_id dans les messages associés.
  • Déclarez retry_count, séquence, expires_at, lifecycle, timeout_ms, fallback_directive et Expected_output_schema lorsque la délégation est réclamée.

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

Négociation des capacités L7

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.

  • Publiez des déclarations de capacités avec des profils exacts, des liaisons, des canaux de confiance, des niveaux de conformité et des codes d'erreur.
  • Renvoyezcapacité_not_supported pour les demandes de fonctionnalités non prises en charge.
  • N'impliquez pas de certification, de statut officiel de l'adaptateur, de messagerie hébergée ou d'orchestration d'exécution.

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

Public language should stay inside published evidence

  • Les demandes de support doivent indiquer le niveau le plus élevé atteint ainsi que les profils exacts, les liaisons de transport, les canaux de confiance et les cas de conformité mis en œuvre.
  • Un projet ne peut revendiquer que des profils, des liaisons, des canaux de confiance et des niveaux de conformité prouvés par les appareils publics et les tests des validateurs.
  • Un résultat réussi du validateur est une preuve, et non une certification, une approbation, une prise en charge officielle de l'adaptateur, une messagerie hébergée, une synchronisation automatique ou une exécution d'exécution.
  • Les réclamations d'archives publiques nécessitent des schémas détectables, des enregistrements de registre, des exemples, des enregistrements de registre de champ, des codes d'erreur, des cas de pack de conformité, un journal des modifications et des notes de version.
  • Revalidez les demandes de support lorsque les schémas, les enregistrements de registre, l'ordre des champs, les exemples, le comportement du validateur, la version d'implémentation, la position de confiance, le plan du site ou la navigation publique sont modifiés.
  • Les preuves de conformité ne prouvent pas en elles-mêmes la sécurité, la confidentialité, la disponibilité, les performances, la conformité légale, l'infrastructure de confiance hébergée ou les opérations de production.
  • 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.