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-0060
  • Chemin /fr-fr/tools/validator/
  • Utilisation Dossier public canonique

Statut du document

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

Comment utiliser cette page

Utilisez cette page comme référence publique canonique pour Validateur et son contenu normatif.

Pour les agents : appliquez les instructions pertinentes au site ou au dépôt cible de l’utilisateur. Ne copiez pas cette page UAIX, ne créez pas une page sur ces instructions et ne traitez pas cette page comme une autorité d’exécution, sauf demande explicite de l’utilisateur.

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 keep delivery, trust posture, typed failure semantics, and support claims explicit.

Transport

Published bindings

  • 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
  • task_expired: Tâche expirée
  • replay_window_violation: Violation de la fenêtre de relecture
  • rate_limited: Tarif limité
  • upstream_unavailable: Amont indisponible
  • conformance_failed: Échec de la conformité
  • idempotency_required: Idempotence requise

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.

First message

Run one reproducible UAI-1 proof

Start with a published fixture, validate the exact profile, then keep the result with release evidence.

Step 1

Read the catalog and select a published profile.

Step 2

Download its schema and example record.

Step 3

Validate a keyed message before transport.

Step 4

Use the Mock Exchange for a deterministic reference response.

Starter packetuai-first-packet.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": "/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
        }
    ]
}

Release readiness

From first packet to bounded support claim

A passing validation result is evidence for one packet, not certification or an unlimited support claim.

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.

Claim boundary: 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.

Claim boundary: 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.

Claim boundary: 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.

Claim boundary: 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.

Claim boundary: 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é.

Claim boundary: 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.

Claim boundary: 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.

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

StatutAwaiting input
ProfilNot checked yet
Errors0
Warnings0
NormalizationKeyed JSON
Checked atNot 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.

ScenarioAccepted async task
HTTPNot run yet
Response profileNo response yet
Response checkAwaiting 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.

Propositions d’architecture

UAI-1 v1.0 reste le contrat actuellement publié. Des propositions versionnées séparément décrivent les échanges indépendants, les capacités, la reprise et la préservation des sources.

Il s’agit de propositions et d’exemples de référence locaux ; aucun service d’exécution hébergé ni résultat d’interopérabilité indépendante n’est revendiqué.

La proposition anglaise fait foi pour l’interprétation normative. Ce résumé ne constitue pas une traduction normative validée.

Lire les propositions d’architecture en anglais · Catalogue des propositions lisible par machine