What the validator checks
The validator workbench inspects candidate UAI messages against the published profile schemas, the field-order governance records, and the current operating-surface expectations for UAI-1.
- 模式 alignment for the six published message families.
- 注册表-backed profile and identifier resolution.
- Field-order and keyless-transport expectations through the public field registry.
- Trace-context, delivery, trust-channel, async task-state, and conformance-summary policy checks that go beyond pure JSON structure.
- Typed failure validation against the published error registry and capability-statement checks against published transport bindings and conformance levels.
- Predictable issue reporting when conformance fails or drift begins.
What a conformance result means
A conformance result is the machine-readable evidence that a candidate message was checked against the current public record. It is appropriate for review, release gates, regression checks, and audit evidence. It is not a substitute for a release packet or an implementation support claim by itself.
What a passing result does and does not let you claim
- Supports: a claim that the reviewed message aligned with the published public record at the time of validation.
- Does not support: a claim of certification, partner approval, permanent compatibility, or general runtime support beyond the attached implementation record.
- Needs more before public support: a release packet, implementation-track record, release-trail entry, and the appropriate published conformance level for the claim you want to make.
How teams should use the validator before deployment
- Load a published 示例 or paste a candidate message.
- Confirm the message resolves to the intended 注册表 profile, the relevant field order, and the matching schema.
- When transport, trust, or error behavior matters, carry the published transport bindings, trust channels, error registry, and conformance levels with the same review packet.
- Review the generated result record, then keep that conformance record with the implementation release evidence.
- Use the result to decide whether the next step belongs in Implementations.
Concrete live validator surfaces
- Human-facing workbench: use this page for fixture loading, side-by-side review, and downloadable conformance records.
- Machine-facing validation route:
/wp-json/uaix/v1/validateaccepts JSONPOSTrequests for automation and release pipelines. - Supporting machine-readable record routes:
/wp-json/uaix/v1/catalog,/wp-json/uaix/v1/schemas,/wp-json/uaix/v1/registry,/wp-json/uaix/v1/field-registry, and/wp-json/uaix/v1/examplesexpose the core catalog, schema, registry, field-order, and fixture inventory used during validation. - Operating guidance routes:
/wp-json/uaix/v1/transport-bindings,/wp-json/uaix/v1/trust-channels,/wp-json/uaix/v1/conformance-levels, and/wp-json/uaix/v1/error-registryexpose the transport, trust, support-claim, and failure-handling guidance the validator now references.
How conformance evidence becomes a public release record
- Attach exported conformance results to the relevant implementation or package release rather than leaving them as private local checks.
- Use the 变更日志 when schema, profile, field-order, transport, trust, or validator behavior changes affect migration expectations.
- Use News when a passing or failing release needs a public-facing summary.
- Use 引用 and Contributors when the release needs stable discovery and citation links around its conformance evidence.
Validation result interpretation
- Pass: the submitted message matched the public profile, schema, registry, and current validator policy at the recorded check time.
- Warning: the message may be structurally usable but carries drift, missing evidence, weak trust posture, or review context that should be resolved before support language expands.
- Fail: the message should not be used as release evidence until the listed profile, schema, field-order, trust, trace, delivery, or body issues are corrected and rerun.
- Rerun trigger: rerun when the public record, validator behavior, implementation version, route posture, or support claim changes.
Published operating-surface references
The validator below now reads against a broader published operating layer, not just the schemas and fixtures.
传输
已发布绑定
- 默认
- https-json-envelope.v1
- 绑定数
- 2
https-json-envelope.v1:application/vnd.uaix.uai+jsonhttps-json-keyless.v1:application/vnd.uaix.uai-keyless+json
信任
已发布信任通道
public-web: 通过 HTTPS 公开可读的记录,无需预先建立双边信任。private-api: 在限定网络或租户边界内的服务间交换。mtls: 在连接层锚定对等身份的传输认证交换。signed-envelope: 记录随附消息级签名或分离签名引用。credentialed: 发送方或执行上下文由机器可验证凭证或类似的签名身份声明支撑。
一致性
已发布级别阶梯
L1-core-envelope: L1 Core 信封L2-profile-validation: L2 配置文件 ValidationL3-trust-and-integrity: L3 信任 and IntegrityL4-public-record-publisher: L4 Public Record PublisherL5-agent-communication-profiles: L5 Agent Communication 配置文件数L6-reliable-delegation-idempotency-correlation: L6 Reliable Delegation with Idempotency and CorrelationL7-capability-negotiation: L7 Capability Negotiation
错误
已发布消息错误码
invalid_message: 无效消息unknown_profile: 未知配置文件capability_not_supported: 不支持该能力auth_required: 需要认证insufficient_trust: 信任不足task_not_found: 未找到任务
Proof packet runbook
Use the published runbook below when a candidate message needs to become reusable release evidence instead of remaining a local one-off validator check.
证明路径 Use this flow when a candidate message needs to become exportable evidence instead of staying a local test. Step 1 Pull the current route inventory first so the rest of the proof run stays anchored to the published machine surface. Step 2 Use one published request example as the first packet so your review starts from current public structure instead of local guesswork. Step 3 Build one validator request body with the example packet nested under `message` and request the result record format. Step 4 Submit the validation request to the live POST route and keep the returned result record with the exact packet that was checked. Step 5 Post the same validated packet to the mock exchange route when you want one real conforming response shape before a runtime track exists. Step 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. 阶段 1 已发布 fixture 或候选消息已通过当前公开记录检查。 阶段 2 通过结果现在与实现版本、制品链接和发现上下文一起传递。 阶段 3 已命名实现轨道和发布轨迹现在说明哪些内容已公开支持、哪些仍在范围外。 Keep from each run Before release-ready 当前公开一致性级别: 当数据包成为具名发布和实现记录的一部分后,使用这些级别约束对外表述。 L1-core-envelope Produce or consume keyed UAI envelopes for named profiles without changing the canonical root fields. 公开声明: May claim L1 only for the exact named profiles whose canonical envelope round-trips successfully. L2-profile-validation Pass published schema and validator checks for the exact profiles claimed. 公开声明: May claim L2 only for profiles with validator-backed evidence. L3-trust-and-integrity Preserve trust metadata, replay-window hints, provenance, integrity, and trace continuity. 公开声明: May claim L3 only for the trust channels and integrity behavior proven by fixtures. L4-public-record-publisher Publish discoverable 公开制品 needed for external inspection and reproduction. 公开声明: May claim L4 only for the public release surface that is discoverable and evidenced. L5-agent-communication-profiles Support the eight uai.agent.*.v1 profiles as canonical UAI-1 envelope records. 公开声明: May claim L5 only for the specific agent profiles with passing positive and negative conformance cases. L6-reliable-delegation-idempotency-correlation Use idempotency, correlation, retry, lifecycle, timeout, fallback, acknowledgement, and expected-output rules for delegated work. 公开声明: May claim L6 only for reliable delegation behavior proven by conformance fixtures and receiver behavior. L7-capability-negotiation Publish and validate capability discovery, assertions, negotiation failures, and unsupported-capability responses. 公开声明: May claim L7 only for the exact capability negotiation flows proven by public fixtures and validator behavior. 声明规则 工作规则: 表述时使用一致性阶梯,但实际公开支持边界应以具名实现轨道和发布轨迹为准。How the first proof packet should move through validation
解析 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
模式
/wp-json/uaix/v1/schemas/uai.intent.request.v1
示例
/wp-json/uaix/v1/examples/uai.intent.request.v1
验证
/wp-json/uaix/v1/validate
Adoption kit
/wp-json/uaix/v1/adoption-kit
Mock exchange
/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 闸门way",
"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
}
]
}{
"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 闸门way",
"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
}
]
},
"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 闸门way",
"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
}
]
}
}What should happen after a passing validator result
已验证数据包
可发布数据包
公开支持声明
Artifacts that should stay attached to every validator result
What still needs to be attached after the pass
L1 Core 信封
L2 配置文件 Validation
L3 信任 and Integrity
L4 Public Record Publisher
L5 Agent Communication 配置文件数
L6 Reliable Delegation with Idempotency and Correlation
L7 Capability Negotiation
公开表述应限于已发布证据
验证器 workbench
Use the public workbench below to load a published fixture or validate a candidate UAI message against the current release, then download the resulting conformance record when you need a durable machine-readable report.
Validador
UAI-1 验证工作台
粘贴候选消息、加载已发布的夹具,选择有键或无键规范化模式,然后根据当前公开的 UAI-1 配置文件模式进行验证。验证器现在会在部署前检查更丰富的信封结构、异步任务状态记录、类型化错误细节、字段注册表对齐、跟踪上下文、交付过期时间、能力声明中的传输绑定、一致性级别以及信任策略提示。
一致性输入
验证 UAI 消息
使用下方已发布的夹具作为已知正确的起点,或粘贴来自你自己集成的候选负载。每次验证运行也可以导出为 `uai.conformance.result.v1` 记录,用于 CI 日志、发布证据或审计轨迹。
请将此页用作面向人工的验证流程。REST validate 路由是一个面向机器的 JSON 负载 POST 端点,而不是可浏览的报告页面。
一致性结果
准备开始验证
加载一个夹具或粘贴候选消息,然后运行验证器。
这里会显示什么
运行验证器后,这里会按严重程度分组问题,解析本次检查使用的公开制品,并导出可复用的一致性记录。
错误
0Warnings
0解析d 公开制品
将这些准确记录与验证结果一起保存,让其他评审者无需私有背景也能复现同一证明包。
运行验证器以生成一致性记录。Live response proof
就绪 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.
验证通过后使用模拟交换
实时参考路由会返回确定性的已接收、已完成和类型化错误信封,让你在运行时轨道发布自身服务器行为前检查一种一致响应形状。
模拟响应验证说明
0Run the mock exchange to capture a deterministic response envelope.下一步 step
Continue to Implementations once the candidate message passes. Use the WordPress 发布轨道 for publication and packaging, or the .NET 桥接轨道 for deeper runtime integration, then record release-facing changes through the 变更日志 and News.