Framework compatibility
Choose a specific framework, bridge and configuration. These are partial, versioned qualifications at the AG-UI boundary. A passing capability applies only to its named scenario and evidence stages.
Last qualified records import historical #844 proof; the dates below describe that retained qualification, not a new execution. React and Angular share this evidence inventory; their display capabilities are recorded separately. Canonical consumer restore does not establish browser reload, reconnect or durable backend restart.
Recorded run health
Static as-of snapshot of the reviewed qualification record, not a real-time status. Status: not-run. Historical qualifications are not the result of a new execution attempt.
The weekly baseline workflow is configured to run on main after the workflow is enabled, covering the seven approved pinned Node profiles. Candidate execution has not run and requires approved dependency/runtime constraints. Weekly attempts do not rewrite reviewed last qualified claims. This page does not claim a new weekly run exists or passed.
Reading the states
| State | Meaning |
|---|---|
| passed | Required scenario stages passed for this exact configuration. |
| recipe-required | Native enrichment gap; does not mean a recipe was tested. An executed recipe needs its own versioned profile and evidence. |
| missing-upstream | Retained execution demonstrates a producer or bridge gap. |
| unsupported | Authoritatively absent capability; a failed probe alone is insufficient. |
| not-tested | No sufficient execution evidence; includes all planned coverage. |
| deferred | Intentionally outside this delivery. |
Capability families
The catalog describes coverage targets. Inclusion does not qualify a profile for the whole family.
| Family | Stable ID |
|---|---|
| Conversation and streaming | conversation |
| Server and client tools | tools |
| Approval and control | approvals |
| Shared state | state |
| Structured output | structured-output |
| Trusted generative UI | trusted-ui |
| Media and attachments | media |
| Activities and rich steps | activities |
| Subagents and delegation | delegation |
| Recovery and isolation | recovery |
Last qualified profiles
langgraph/local-sdk-seam
Last qualified configuration; native profile, partial evidence only.
| Configuration | Recorded value |
|---|---|
| Profile ID | langgraph/local-sdk-seam |
| Framework / profile | langgraph / local-sdk-seam |
| Last qualified | 2026-10-30 |
| Source commit | 826953718d22af984606c51645cb18e6acd3655b |
| Qualification CI | Run 41100895094 |
| Runtime | not-recorded |
| Platform | not-recorded |
| Protocol | not-recorded |
| Transport | in-process LangGraph SDK Client seam backed by real graph.streamEvents; no API server |
| Capture | langgraph-server-tool.json (SHA-256 97261a9bfeb0) |
| Producer source fingerprint | 6292e99e1832 |
Exact dependency versions:
| Dependency | Version |
|---|---|
@ag-ui/langgraph | 0.0.45 |
@langchain/langgraph | 1.5.3 |
@langchain/core | 1.3.2 |
langchain | 1.6.0 |
@ag-ui/core | 1.0.3 |
Evidence stage keys: E1 = producer-execution; E2 = bridge-wire; E3 = core-consumer; E4 = canonical-persistence; E5 = next-request; E6 = browser-react; E7 = browser-angular. Source keys S1–S4 refer to the unique qualification sources below.
Capability cells (scenario IDs identify the reproducible contract):
| Capability / scenario | Last qualified state and evidence |
|---|---|
Actual server tool executiontools.server-execution | passed E1: pass/S1, E2: pass/S1 |
Canonical consumer restorerecovery.canonical-consumer-restore | passed E3: pass/S2, E4: pass/S2, E5: pass/S2 |
React tool displaytools.react-display | passed E2: pass/S1, E3: pass/S2, E6: pass/S3 |
Angular tool displaytools.angular-display | passed E2: pass/S1, E3: pass/S2, E7: pass/S3 |
Same-name client tool stays inerttools.same-name-client-inert | passed E1: pass/S1, E3: pass/S2, E6: pass/S3, E7: pass/S3 |
Tool start before completiontools.live-start | passed E1: pass/S1, E2: pass/S1 |
Native checkpoint restorerecovery.native-checkpoint | not-tested |
Native activitiesactivities.native | not-tested |
Attributed subagentsdelegation.attributed-subagents | not-tested |
Citations and attributionactivities.citations | not-tested |
Full digests and per-stage basis: reviewed qualification record, profile langgraph/local-sdk-seam. Digests below show the first 12 SHA-256 characters.
Qualification sources:
- S1: langgraph.spec.mjs (SHA-256
021be888f2ac) - S2: agent-framework-display.conformance.spec.ts (SHA-256
aed95616a15e) - S3: agent-framework-display.spec.ts (SHA-256
ad28bcb8b008) - S4: conformance.playwright.config.ts (SHA-256
35eca201329b)
mastra/buffered
Last qualified configuration; native profile, partial evidence only.
| Configuration | Recorded value |
|---|---|
| Profile ID | mastra/buffered |
| Framework / profile | mastra / buffered |
| Last qualified | 2026-10-30 |
| Source commit | 826953718d22af984606c51645cb18e6acd3655b |
| Qualification CI | Run 41100895094 |
| Runtime | not-recorded |
| Platform | not-recorded |
| Protocol | not-recorded |
| Transport | real local Mastra Agent.stream |
| Capture | mastra-buffered-server-tool.json (SHA-256 cb85ca603a11) |
| Producer source fingerprint | 6292e99e1832 |
Exact dependency versions:
| Dependency | Version |
|---|---|
@ag-ui/mastra | 2.0.1 |
@mastra/core | 1.80.0 |
@mastra/client-js | 1.57.0 |
@ag-ui/core | 1.0.3 |
Evidence stage keys: E1 = producer-execution; E2 = bridge-wire; E3 = core-consumer; E4 = canonical-persistence; E5 = next-request; E6 = browser-react; E7 = browser-angular. Source keys S1–S4 refer to the unique qualification sources below.
Capability cells (scenario IDs identify the reproducible contract):
| Capability / scenario | Last qualified state and evidence |
|---|---|
Actual server tool executiontools.server-execution | passed E1: pass/S1, E2: pass/S1 |
Canonical consumer restorerecovery.canonical-consumer-restore | passed E3: pass/S2, E4: pass/S2, E5: pass/S2 |
React tool displaytools.react-display | passed E2: pass/S1, E3: pass/S2, E6: pass/S3 |
Angular tool displaytools.angular-display | passed E2: pass/S1, E3: pass/S2, E7: pass/S3 |
Same-name client tool stays inerttools.same-name-client-inert | passed E1: pass/S1, E3: pass/S2, E6: pass/S3, E7: pass/S3 |
Tool start before completiontools.live-start | unsupported |
Native checkpoint restorerecovery.native-checkpoint | not-tested |
Native activitiesactivities.native | not-tested |
Attributed subagentsdelegation.attributed-subagents | not-tested |
Citations and attributionactivities.citations | not-tested |
Full digests and per-stage basis: reviewed qualification record, profile mastra/buffered. Digests below show the first 12 SHA-256 characters.
Qualification sources:
- S1: mastra.spec.mjs (SHA-256
2f546a0e1bc3) - S2: agent-framework-display.conformance.spec.ts (SHA-256
aed95616a15e) - S3: agent-framework-display.spec.ts (SHA-256
ad28bcb8b008) - S4: conformance.playwright.config.ts (SHA-256
35eca201329b)
mastra/live
Last qualified configuration; native profile, partial evidence only.
| Configuration | Recorded value |
|---|---|
| Profile ID | mastra/live |
| Framework / profile | mastra / live |
| Last qualified | 2026-10-30 |
| Source commit | 826953718d22af984606c51645cb18e6acd3655b |
| Qualification CI | Run 41100895094 |
| Runtime | not-recorded |
| Platform | not-recorded |
| Protocol | not-recorded |
| Transport | real local Mastra Agent.stream |
| Capture | mastra-live-server-tool.json (SHA-256 7832885c8640) |
| Producer source fingerprint | 6292e99e1832 |
Exact dependency versions:
| Dependency | Version |
|---|---|
@ag-ui/mastra | 2.0.1 |
@mastra/core | 1.80.0 |
@mastra/client-js | 1.57.0 |
@ag-ui/core | 1.0.3 |
Evidence stage keys: E1 = producer-execution; E2 = bridge-wire; E3 = core-consumer; E4 = canonical-persistence; E5 = next-request; E6 = browser-react; E7 = browser-angular. Source keys S1–S4 refer to the unique qualification sources below.
Capability cells (scenario IDs identify the reproducible contract):
| Capability / scenario | Last qualified state and evidence |
|---|---|
Actual server tool executiontools.server-execution | passed E1: pass/S1, E2: pass/S1 |
Canonical consumer restorerecovery.canonical-consumer-restore | passed E3: pass/S2, E4: pass/S2, E5: pass/S2 |
React tool displaytools.react-display | passed E2: pass/S1, E3: pass/S2, E6: pass/S3 |
Angular tool displaytools.angular-display | passed E2: pass/S1, E3: pass/S2, E7: pass/S3 |
Same-name client tool stays inerttools.same-name-client-inert | passed E1: pass/S1, E3: pass/S2, E6: pass/S3, E7: pass/S3 |
Tool start before completiontools.live-start | passed E1: pass/S1, E2: pass/S1 |
Native checkpoint restorerecovery.native-checkpoint | not-tested |
Native activitiesactivities.native | not-tested |
Attributed subagentsdelegation.attributed-subagents | not-tested |
Citations and attributionactivities.citations | not-tested |
Full digests and per-stage basis: reviewed qualification record, profile mastra/live. Digests below show the first 12 SHA-256 characters.
Qualification sources:
- S1: mastra.spec.mjs (SHA-256
2f546a0e1bc3) - S2: agent-framework-display.conformance.spec.ts (SHA-256
aed95616a15e) - S3: agent-framework-display.spec.ts (SHA-256
ad28bcb8b008) - S4: conformance.playwright.config.ts (SHA-256
35eca201329b)
langgraph/native-subgraph
Last qualified configuration; native profile, partial evidence only.
| Configuration | Recorded value |
|---|---|
| Profile ID | langgraph/native-subgraph |
| Framework / profile | langgraph / native-subgraph |
| Last qualified | 2026-10-30 |
| Source commit | 826953718d22af984606c51645cb18e6acd3655b |
| Qualification CI | Run 41100895094 |
| Runtime | not-recorded |
| Platform | not-recorded |
| Protocol | not-recorded |
| Transport | in-process LangGraph SDK Client seam backed by real graph.streamEvents; no API server |
| Capture | langgraph-native-subgraph.json (SHA-256 0430e7701803) |
| Producer source fingerprint | 6292e99e1832 |
Exact dependency versions:
| Dependency | Version |
|---|---|
@ag-ui/langgraph | 0.0.45 |
@langchain/langgraph | 1.5.3 |
@langchain/core | 1.3.2 |
langchain | 1.6.0 |
@ag-ui/core | 1.0.3 |
Evidence stage keys: E1 = producer-execution; E2 = bridge-wire; E3 = core-consumer; E4 = canonical-persistence; E5 = next-request; E6 = browser-react; E7 = browser-angular. Source keys S1–S4 refer to the unique qualification sources below.
Capability cells (scenario IDs identify the reproducible contract):
| Capability / scenario | Last qualified state and evidence |
|---|---|
Actual server tool executiontools.server-execution | passed E1: pass/S1, E2: pass/S1 |
Canonical consumer restorerecovery.canonical-consumer-restore | passed E3: pass/S2, E4: pass/S2, E5: pass/S2 |
React tool displaytools.react-display | passed E2: pass/S1, E3: pass/S2, E6: pass/S3 |
Angular tool displaytools.angular-display | passed E2: pass/S1, E3: pass/S2, E7: pass/S3 |
Same-name client tool stays inerttools.same-name-client-inert | passed E1: pass/S1, E3: pass/S2, E6: pass/S3, E7: pass/S3 |
Tool start before completiontools.live-start | passed E1: pass/S1, E2: pass/S1 |
Native checkpoint restorerecovery.native-checkpoint | not-tested |
Native activitiesactivities.native | not-tested |
Attributed subagentsdelegation.attributed-subagents | missing-upstream |
Citations and attributionactivities.citations | not-tested |
Native child executiondelegation.native-child | passed E1: pass/S1, E2: pass/S1 |
Full digests and per-stage basis: reviewed qualification record, profile langgraph/native-subgraph. Digests below show the first 12 SHA-256 characters.
Qualification sources:
- S1: langgraph.spec.mjs (SHA-256
021be888f2ac) - S2: agent-framework-display.conformance.spec.ts (SHA-256
aed95616a15e) - S3: agent-framework-display.spec.ts (SHA-256
ad28bcb8b008) - S4: conformance.playwright.config.ts (SHA-256
35eca201329b)
mastra/native-delegation
Last qualified configuration; native profile, partial evidence only.
| Configuration | Recorded value |
|---|---|
| Profile ID | mastra/native-delegation |
| Framework / profile | mastra / native-delegation |
| Last qualified | 2026-10-30 |
| Source commit | 826953718d22af984606c51645cb18e6acd3655b |
| Qualification CI | Run 41100895094 |
| Runtime | not-recorded |
| Platform | not-recorded |
| Protocol | not-recorded |
| Transport | real local Mastra Agent.stream with native agents configuration |
| Capture | mastra-native-delegation.json (SHA-256 0f30b3bd2b3c) |
| Producer source fingerprint | 6292e99e1832 |
Exact dependency versions:
| Dependency | Version |
|---|---|
@ag-ui/mastra | 2.0.1 |
@mastra/core | 1.80.0 |
@mastra/client-js | 1.57.0 |
@ag-ui/core | 1.0.3 |
Evidence stage keys: E1 = producer-execution; E2 = bridge-wire; E3 = core-consumer; E4 = canonical-persistence; E5 = next-request; E6 = browser-react; E7 = browser-angular. Source keys S1–S4 refer to the unique qualification sources below.
Capability cells (scenario IDs identify the reproducible contract):
| Capability / scenario | Last qualified state and evidence |
|---|---|
Actual server tool executiontools.server-execution | passed E1: pass/S1, E2: pass/S1 |
Canonical consumer restorerecovery.canonical-consumer-restore | passed E3: pass/S2, E4: pass/S2, E5: pass/S2 |
React tool displaytools.react-display | passed E2: pass/S1, E3: pass/S2, E6: pass/S3 |
Angular tool displaytools.angular-display | passed E2: pass/S1, E3: pass/S2, E7: pass/S3 |
Same-name client tool stays inerttools.same-name-client-inert | not-tested |
Tool start before completiontools.live-start | not-tested |
Native checkpoint restorerecovery.native-checkpoint | not-tested |
Native activitiesactivities.native | not-tested |
Attributed subagentsdelegation.attributed-subagents | missing-upstream |
Citations and attributionactivities.citations | not-tested |
Native child executiondelegation.native-child | passed E1: pass/S1, E2: pass/S1 |
Full digests and per-stage basis: reviewed qualification record, profile mastra/native-delegation. Digests below show the first 12 SHA-256 characters.
Qualification sources:
- S1: mastra-delegation.spec.mjs (SHA-256
f813a4ae3a91) - S2: agent-framework-display.conformance.spec.ts (SHA-256
aed95616a15e) - S3: agent-framework-display.spec.ts (SHA-256
ad28bcb8b008) - S4: conformance.playwright.config.ts (SHA-256
35eca201329b)
mastra/background
Last qualified configuration; native profile, partial evidence only.
| Configuration | Recorded value |
|---|---|
| Profile ID | mastra/background |
| Framework / profile | mastra / background |
| Last qualified | 2026-10-30 |
| Source commit | 826953718d22af984606c51645cb18e6acd3655b |
| Qualification CI | Run 41100895094 |
| Runtime | not-recorded |
| Platform | not-recorded |
| Protocol | not-recorded |
| Transport | real local Mastra Agent.stream |
| Capture | mastra-background-activity.json (SHA-256 2af0fb86f828) |
| Producer source fingerprint | 6292e99e1832 |
Exact dependency versions:
| Dependency | Version |
|---|---|
@ag-ui/mastra | 2.0.1 |
@mastra/core | 1.80.0 |
@mastra/client-js | 1.57.0 |
@ag-ui/core | 1.0.3 |
@mastra/memory | 1.39.1 |
Evidence stage keys: E1 = producer-execution; E2 = bridge-wire; E3 = core-consumer; E4 = canonical-persistence; E5 = next-request; E6 = browser-react; E7 = browser-angular. Source keys S1–S4 refer to the unique qualification sources below.
Capability cells (scenario IDs identify the reproducible contract):
| Capability / scenario | Last qualified state and evidence |
|---|---|
Actual server tool executiontools.server-execution | passed E1: pass/S1, E2: pass/S1 |
Canonical consumer restorerecovery.canonical-consumer-restore | passed E3: pass/S2, E4: pass/S2, E5: pass/S2 |
React tool displaytools.react-display | passed E2: pass/S1, E3: pass/S2, E6: pass/S3 |
Angular tool displaytools.angular-display | passed E2: pass/S1, E3: pass/S2, E7: pass/S3 |
Same-name client tool stays inerttools.same-name-client-inert | passed E1: pass/S1, E3: pass/S2, E6: pass/S3, E7: pass/S3 |
Tool start before completiontools.live-start | unsupported |
Activity before tool completionactivities.live-start | passed E1: pass/S1, E2: pass/S1 |
Native activitiesactivities.native | passed E1: pass/S1, E2: pass/S1, E3: pass/S2, E6: pass/S3, E7: pass/S3 |
Native checkpoint restorerecovery.native-checkpoint | not-tested |
Attributed subagentsdelegation.attributed-subagents | not-tested |
Citations and attributionactivities.citations | not-tested |
Full digests and per-stage basis: reviewed qualification record, profile mastra/background. Digests below show the first 12 SHA-256 characters.
Qualification sources:
- S1: mastra.spec.mjs (SHA-256
2f546a0e1bc3) - S2: agent-framework-display.conformance.spec.ts (SHA-256
aed95616a15e) - S3: agent-framework-display.spec.ts (SHA-256
ad28bcb8b008) - S4: conformance.playwright.config.ts (SHA-256
35eca201329b)
mastra/background-failure
Last qualified configuration; native profile, partial evidence only.
| Configuration | Recorded value |
|---|---|
| Profile ID | mastra/background-failure |
| Framework / profile | mastra / background-failure |
| Last qualified | 2026-10-30 |
| Source commit | 826953718d22af984606c51645cb18e6acd3655b |
| Qualification CI | Run 41100895094 |
| Runtime | not-recorded |
| Platform | not-recorded |
| Protocol | not-recorded |
| Transport | real local Mastra Agent.stream |
| Capture | mastra-background-failure.json (SHA-256 34e39e32a8ac) |
| Producer source fingerprint | 6292e99e1832 |
Exact dependency versions:
| Dependency | Version |
|---|---|
@ag-ui/mastra | 2.0.1 |
@mastra/core | 1.80.0 |
@mastra/client-js | 1.57.0 |
@ag-ui/core | 1.0.3 |
@mastra/memory | 1.39.1 |
Evidence stage keys: E1 = producer-execution; E2 = bridge-wire; E3 = core-consumer; E4 = canonical-persistence; E5 = next-request; E6 = browser-react; E7 = browser-angular. Source keys S1–S4 refer to the unique qualification sources below.
Capability cells (scenario IDs identify the reproducible contract):
| Capability / scenario | Last qualified state and evidence |
|---|---|
Actual server tool executiontools.server-execution | passed E1: pass/S1, E2: pass/S1 |
Canonical consumer restorerecovery.canonical-consumer-restore | passed E3: pass/S2, E4: pass/S2, E5: pass/S2 |
React tool displaytools.react-display | passed E2: pass/S1, E3: pass/S2, E6: pass/S3 |
Angular tool displaytools.angular-display | passed E2: pass/S1, E3: pass/S2, E7: pass/S3 |
Same-name client tool stays inerttools.same-name-client-inert | passed E1: pass/S1, E3: pass/S2, E6: pass/S3, E7: pass/S3 |
Tool start before completiontools.live-start | unsupported |
Activity before tool completionactivities.live-start | passed E1: pass/S1, E2: pass/S1 |
Native activitiesactivities.native | passed E1: pass/S1, E2: pass/S1, E3: pass/S2, E6: pass/S3, E7: pass/S3 |
Native checkpoint restorerecovery.native-checkpoint | not-tested |
Attributed subagentsdelegation.attributed-subagents | not-tested |
Citations and attributionactivities.citations | not-tested |
Full digests and per-stage basis: reviewed qualification record, profile mastra/background-failure. Digests below show the first 12 SHA-256 characters.
Qualification sources:
- S1: mastra.spec.mjs (SHA-256
2f546a0e1bc3) - S2: agent-framework-display.conformance.spec.ts (SHA-256
aed95616a15e) - S3: agent-framework-display.spec.ts (SHA-256
ad28bcb8b008) - S4: conformance.playwright.config.ts (SHA-256
35eca201329b)
Retained producer gaps
langgraph: failed-tool-result
State: missing-upstream. A handled ToolNode error reaches MESSAGES_SNAPSHOT as a tool error, but this bridge emits no TOOL_CALL_RESULT for the failure.
langgraph: cancelled-outcome
State: missing-upstream. Public abortRun reaches the real blocked tool via the injected SDK seam; terminal RUN_FINISHED has no cancelled outcome. Real API-server cancellation is not tested.
mastra: failed-tool-outcome
State: missing-upstream. The real failure is JSON error text inside TOOL_CALL_RESULT.content with no top-level error marker. Hashbrown must not infer failure by parsing human-readable result bodies. This gap concerns ordinary foreground tools; the separately tested native background profile does supply a failed activity status and error text.
langgraph: attributed-subagents
State: missing-upstream. A real compiled child StateGraph executes a ToolNode, with actual in-memory checkpoint history through the labeled SDK seam. The pinned bridge emits ordinary calls without SUBAGENT lifecycle events or subagentRunId. This is not API-server or native durable restore evidence.
mastra: attributed-subagents
State: missing-upstream. The native agents configuration executes agent-worker and its real child model. The tool result supplies a subAgentThreadId inside JSON content, but the pinned bridge emits no SUBAGENT lifecycle or subagentRunId. That payload is retained verbatim; it does not establish AG-UI ownership.
langgraph: native-activities
State: recipe-required. A real native dispatchCustomEvent progress probe in langgraph.spec.mjs reaches the published bridge as CUSTOM weather-progress events, without ACTIVITY_SNAPSHOT/DELTA. A separate explicit producer recipe is needed for standard activity display; none is invented here.
Planned profiles: not-tested
Listing a candidate is neither a compatibility claim nor a dependency approval. All scenarios linked below remain not-tested for each planned profile.
Pydantic AI
Profile: pydantic-ai/planned. State: not-tested. Kind: planned.
First additional framework; no dependencies approved or execution performed.
Scenario scope: all 26 scenarios in the shared catalog below.
Google ADK
Profile: google-adk/planned. State: not-tested. Kind: planned.
Planned candidate.
Scenario scope: all 26 scenarios in the shared catalog below.
Strands
Profile: strands/planned. State: not-tested. Kind: planned.
Planned candidate; legacy deferred entry is preserved in capabilities.json.
Scenario scope: all 26 scenarios in the shared catalog below.
CrewAI
Profile: crewai/planned. State: not-tested. Kind: planned.
Discovery only.
Scenario scope: all 26 scenarios in the shared catalog below.
AG2
Profile: ag2/planned. State: not-tested. Kind: planned.
Discovery only.
Scenario scope: all 26 scenarios in the shared catalog below.
Agno
Profile: agno/planned. State: not-tested. Kind: planned.
Discovery only.
Scenario scope: all 26 scenarios in the shared catalog below.
LlamaIndex
Profile: llamaindex/planned. State: not-tested. Kind: planned.
Discovery only.
Scenario scope: all 26 scenarios in the shared catalog below.
Vercel AI SDK
Profile: vercel-ai-sdk/planned. State: not-tested. Kind: planned.
Bridge/transport investigation required.
Scenario scope: all 26 scenarios in the shared catalog below.
Microsoft Agent Framework (.NET)
Profile: microsoft-agent-framework-dotnet/planned. State: not-tested. Kind: source-audit.
Source audit only; maintained native suites are separate evidence, display qualification not tested.
Scenario scope: all 26 scenarios in the shared catalog below.
Microsoft Agent Framework (.NET) audit boundary
Display qualification: not-tested. Source audit only in this change; existing server-tool/recovery/native-history suites remain maintained separately. Activity, rich-step and subagent display cases are follow-ups.
This source audit does not establish executed display qualification. The maintained native history/recovery suites remain a separate evidence set.
Scenario catalog
Conversation and streaming
conversation.streaming
Text deltas arrive before completion with independent message identity.
Required stages: producer-execution, bridge-wire, core-consumer, browser-react, browser-angular.
conversation.history
Multi-turn input preserves native message history.
Required stages: producer-execution, bridge-wire, next-request.
conversation.abnormal-eof
Consumer fault injection closes a stream without a terminal event and verifies bounded settlement; this does not claim a producer emits malformed output.
Required stages: bridge-wire, core-consumer, browser-react, browser-angular.
Server and client tools
tools.server-execution
Actual server tool callbacks execute and emit retained wire events.
Required stages: producer-execution, bridge-wire.
tools.react-display
React renders retained server calls through the production browser host.
Required stages: bridge-wire, core-consumer, browser-react.
tools.angular-display
Angular renders retained server calls through the production browser host.
Required stages: bridge-wire, core-consumer, browser-angular.
tools.same-name-client-inert
Explicitly classified server calls do not execute a matching client handler; independent client control runs once.
Required stages: producer-execution, core-consumer, browser-react, browser-angular.
tools.live-start
A causal execution gate establishes START before tool completion.
Required stages: producer-execution, bridge-wire.
tools.client-roundtrip
An independent ordinary client tool executes once and its actual result reaches the next native framework turn.
Required stages: producer-execution, bridge-wire, core-consumer, next-request, browser-react, browser-angular.
tools.failure
A real tool callback fails; explicit error classification survives bridge and consumer projection without parsing human-readable result text.
Required stages: producer-execution, bridge-wire, core-consumer, browser-react, browser-angular.
tools.cancel
Cancel actual gated tool execution and assert explicit terminal outcome and absence of late side effects; stream closure alone is insufficient.
Required stages: producer-execution, bridge-wire, core-consumer, browser-react, browser-angular.
Approval and control
approvals.resume
Allow, deny, cancel and resume preserve ownership without duplicate side effects.
Required stages: producer-execution, bridge-wire, core-consumer, browser-react, browser-angular.
Shared state
state.snapshot-patch
Snapshots and ordered patches remain isolated between threads.
Required stages: producer-execution, bridge-wire, core-consumer.
Structured output
structured-output.schema
Complete and partial schema-constrained data are validated independently from backend object production.
Required stages: producer-execution, bridge-wire, core-consumer, browser-react, browser-angular.
Trusted generative UI
trusted-ui.components
Only trusted components with validated props render, including restore and cancellation.
Required stages: producer-execution, bridge-wire, core-consumer, browser-react, browser-angular.
Media and attachments
media.typed-history
Typed media input/history survives bridge transport with asset cleanup; no perception or file-search claim.
Required stages: producer-execution, bridge-wire, core-consumer.
Activities and rich steps
activities.native
Native activity snapshots and deltas preserve status and content.
Required stages: producer-execution, bridge-wire, core-consumer, browser-react, browser-angular.
activities.citations
Source, citation and attribution data survive projection.
Required stages: producer-execution, bridge-wire, core-consumer, browser-react, browser-angular.
activities.live-start
Activity arrives at the causal gate before real tool completion.
Required stages: producer-execution, bridge-wire.
Subagents and delegation
delegation.attributed-subagents
Real child execution also supplies standard lifecycle and explicit ownership provenance.
Required stages: producer-execution, bridge-wire, core-consumer, browser-react, browser-angular.
delegation.native-child
Native child executes; this alone does not establish attributed subagent lifecycle.
Required stages: producer-execution, bridge-wire.
Recovery and isolation
recovery.canonical-consumer-restore
Prepared root-store projection survives commit, JSON restore and the next outgoing request. This does not prove backend restart.
Required stages: core-consumer, canonical-persistence, next-request.
recovery.native-checkpoint
A second actual backend process restores durable server state; consumer JSON restore is insufficient.
Required stages: producer-execution, native-recovery, bridge-wire, core-consumer.
recovery.thread-isolation
Two concurrent threads do not mix outputs or dispatch across owners.
Required stages: producer-execution, bridge-wire, core-consumer, browser-react, browser-angular.
recovery.browser-reload
Reload the actual browser host, restore committed display and preserve application handler counts; this does not prove native backend restart.
Required stages: core-consumer, canonical-persistence, browser-react, browser-angular.
recovery.reconnect
Disconnect and reconnect an actual streaming subscriber, retaining ownership without duplicate tool dispatch or mixed run identity.
Required stages: producer-execution, bridge-wire, core-consumer, browser-react, browser-angular.
Deferred and reproduction
file-search: deferred.
The reviewed registry contains the catalog and qualification records. Producer captures and assertion sources above link to the immutable qualification commit, with retained SHA-256 hashes. New registry files are not claimed to exist at that historical commit.
Validate and reproduce the checked-in projection without installing frameworks:
node --test tools/conformance/agent-frameworks/program/*.spec.mjs
node tools/conformance/agent-frameworks/program/report.mjs --check
Capture regeneration and qualification promotion require an explicit reviewed change. Durable checked-in captures and source assertions support these records; this page does not rely solely on expiring CI artifacts.