Open Responses, Agent Skills, OpenEnv and OpenSandbox all went vendor-neutral in the same week. Each layer ports at a different rate, and the layers that cost real money to rebuild were never donated at all.
Last Updated: October 27, 2026
On 22 October 2026 the Agentic AI Foundation absorbed Agent Skills, Open Responses, OpenEnv and OpenSandbox in a single announcement, taking it to ten hosted projects. Neutral governance is real and worth having. It does not make your agent stack portable. The model interface ports at roughly the level of the published acceptance tests, skills port as text but not as runtime, and the expensive layers — tool permission scopes, credential brokering, thread state, retry and idempotency, per-tenant quota accounting — were never donated by anyone because they live in your orchestration code. Run the swap test before you write “no lock-in” in an architecture doc.
What actually changed in the week of 22 October
Four donations landed at once. The Agentic AI Foundation announced Agent Skills from Anthropic, Open Responses from OpenAI, OpenEnv from Hugging Face and OpenSandbox from Alibaba, bringing it to 10 hosted projects in its first year, up from the three it launched with in December 2025. They join A2A, Agent Router, agentgateway, AGENTS.md, goose and MCP under the same vendor-neutral governance.
The projects were deliberately chosen to cover different strata: how agents gain skills, how applications talk to models across providers, how agents are trained and evaluated, and where agents run safely. That framing is accurate, and it is also the source of the confusion. Four layers went neutral in one week, so the pitch collapsed into “the agent stack is now open”. It isn’t. Four of maybe nine layers went neutral, at four different levels of maturity.
AAIF launches inside the Linux Foundation with three projects: MCP, goose and AGENTS.md.
Open Responses adds a WebSocket transport for the same /v1/responses resource — a reminder that the spec is still moving, not frozen.
Agent Skills, Open Responses, OpenEnv and OpenSandbox donated at AGNTCon + MCPCon North America in San Jose.
TanStack AI ships 1.0 with stable core APIs, 23 provider adapters and an explicitly experimental agent harness.
Portability is not one property. Audit it layer by layer
The useful question is not “is this open?” but “if I swap the provider on Monday, how many lines change and how many behaviours change?” Those are different numbers, and the second one is the one that hurts.
Model interface: ports well, up to the tests that exist
Open Responses is a genuine piece of engineering. It models output as items, streaming as semantic events rather than raw deltas, and objects as state machines with a defined set of valid states. That is the right abstraction, and it is already implemented by Vercel AI Gateway and Databricks Model Serving, with support claimed across AWS Bedrock, Hugging Face, Nvidia, OpenRouter, Red Hat, LM Studio, Ollama and vLLM, per The New Stack’s reporting on the donation.
Now read the conformance suite. The acceptance tests cover basic text responses, system prompts, streaming SSE events, function tool calling, image input, multi-turn history, compaction, and a set of WebSocket continuation and recovery cases. That is the portability guarantee in full. Prompt-cache behaviour, reasoning-trace round-tripping, hosted tool parity, rate-limit header semantics, structured-output strictness and cost accounting are not in it. An implementation can pass every test and still behave differently from the one you built against on every axis that determines whether your agent finishes a task.
The spec is honest about this in a way the press coverage is not. It says an implementer is compliant if they implement the spec or a proper superset of it, and that extended item types — and any trajectory containing them — should not be assumed portable across other Open Responses servers. Provider-specific hosted tools get namespaced with an implementor slug and are explicitly outside the portable core. Which means a “compliant” endpoint is a floor, not a contract about your workload.
Skills and instructions: the text ports, the runtime does not
Agent Skills is the cleanest win of the four. A skill is a directory with a SKILL.md carrying name, description and instructions, plus optional scripts/, references/ and assets/, loaded through three-stage progressive disclosure: discovery on name and description, activation of the full instructions when a task matches, then execution. That is plain files in version control. It ports by git clone.
What does not port is everything that makes the skill fire. Discovery depends on the host’s matching implementation and on how the model weighs a one-line description against a crowded system prompt; the same skill library activates at noticeably different rates across models, and you only see it in aggregate. Bundled scripts assume an execution environment with a filesystem, an interpreter and permission to run — move the same skill to a hosted agent with no code execution and the instructions survive while the useful half silently doesn’t. Third-party support is arriving fast: TanStack AI 1.0 ships portable Agent Skills so any tool-calling model can load SKILL.md files. Treat that as format portability, not behaviour portability.
Eval environments and sandboxes: portable substrate, no policy
OpenEnv is a containerised service exposing an agent interface, MCP and the Gym training protocol. OpenSandbox gives you multi-language SDKs, unified sandbox APIs, Docker and Kubernetes runtimes, and a sandbox protocol defining lifecycle and execution APIs. Both are valuable and both are substrate. Neither carries your egress allow-list, your secret injection path, your data residency constraint or your per-tenant blast radius. The isolation primitive is now standard; the isolation policy is still a thing you write and maintain.
“four different companies chose to contribute them to neutral governance”
— Manik Surtani, CTO and co-founder, Agentic AI Foundation, Linux Foundation
The layers nobody donated
Here is the layer-by-layer audit I would put in front of a buyer. The right-hand column is the rebuild cost, and it is where the budget goes.
| Layer | Neutral project | How well it ports | What you still own |
|---|---|---|---|
| Model interface | Open Responses | High for text, streaming, function calls, images, multi-turn | Reasoning round-trip, cache keys, hosted tool parity, error vocabulary |
| Tool transport | MCP | High — server definitions move unchanged | Which tools a given tenant, role or run may call |
| Skills and instructions | Agent Skills, AGENTS.md | High as files, medium as behaviour | Activation tuning per model, script runtime, review workflow |
| Eval and training envs | OpenEnv | High if your evals are already containerised | The task set, the graders, the regression gate |
| Execution isolation | OpenSandbox | High at the lifecycle API | Egress rules, secret injection, residency, kill policy |
| Credential brokering | None | Does not port | On-behalf-of tokens, rotation, per-tool scopes, audit trail |
| State and memory | None | Does not port | Thread log, compaction policy, replay, retention |
| Retries and idempotency | None | Does not port | Side-effecting tool dedupe, backoff, partial-turn recovery |
| Billing and quota | None | Does not port | Per-tenant token attribution, spend caps, model tiering |
The bottom four rows are not an oversight by the foundation. They are application concerns that differ per business, so no spec can absorb them. But they are also where the engineering months go, and a “no lock-in” pitch built on the top five rows quietly implies the bottom four come along for free.
Two specifics worth naming. First, state: Open Responses supports server-side continuation via previous_response_id, and the conformance suite includes a store:false reconnect case that validates a previous_response_not_found error and a clean recovery path. If you let store default on, your conversation state now lives at the provider in a format nobody promised to export. The portable interface has hidden a non-portable store behind it.
Second, permissions. The spec does give you allowed_tools as a hard per-request constraint that servers must enforce, rejecting or suppressing calls to tools outside the list — genuinely useful, and it lets you narrow the menu without invalidating prompt caches. What it does not give you is where that list comes from: the tenant policy, the role model, the approval ladder for destructive actions. That is your orchestration layer, and it is the single largest body of code in every production agent I have built.
The swap test: one workflow, one adapter, count what breaks
Do not argue about portability in a design review. Measure it. Pick one workflow that is already in production, build a second provider adapter behind the same interface, and run both against the same fixtures.
The portability swap test
Capture 50–200 real runs of one workflow: inputs, tool calls, tool results, final outputs. This is your ground truth, not a vibe check.
Same prompts, same tools, same orchestration. If you have to touch orchestration code to make the swap compile, log every file you touched — that count is your real coupling score.
Deterministic fixtures before live calls. TanStack AI exposes fakeText() and runs adapter tests against fixtures with no network, which is the pattern to copy whatever stack you are on.
Tool-call ID formats, reasoning items that arrive as opaque encrypted content, missing streaming events, structured output that validates on one provider and not the other.
Task completion rate, tool-selection accuracy, turns per task, refusal rate. Expect regression even when the schema is clean. This is the number executives are never shown.
p95 latency, timeout tuning, backoff on 429, cache hit rate, cost per completed task, and whether your per-tenant usage accounting still reconciles.
“Provider swap for workflow X costs 6 engineer-days and a 4-point completion regression we close with prompt work.” That sentence belongs in the architecture doc. “No lock-in” does not.
Rules of thumb from running this: if the swap takes under a day, you never had meaningful coupling and the neutral layer saved you little. If it takes over three weeks, your abstraction is decorative and the portability claim in your doc is false. The useful middle is a few days of adapter work plus a prompt and eval pass — and that eval pass is the part teams forget to budget.
Treating spec compliance as feature parity
A vendor says “Open Responses compliant” and a buyer hears “drop-in replacement”. Compliance means the endpoint passes a published acceptance suite and may be a superset of the spec. It says nothing about the provider-specific hosted tools, cache semantics or reasoning formats your agent actually depends on.
Letting provider-side state in through the back door
Server-side conversation storage is the fastest way to ship a working agent and the slowest thing to unwind. Six months in, your audit trail, your replay capability and your retention policy all depend on a store you do not control and cannot export in a neutral format.
store: false and keep your own append-only thread log from day one. Use provider-side continuation as a latency optimisation you can turn off, never as the system of record.Where I would still write a provider-native adapter
The neutral layer is the right default for the boring 80%: text generation, streaming to a UI, function calling, multi-turn history, image input. Build there and the swap test comes back cheap.
I would still go native, deliberately and with the coupling documented, in four cases. When a provider-hosted tool is the product — computer use, deep research, native code execution — because the spec namespaces these as implementor extensions and tells you not to assume the trajectory ports. When prompt-cache economics decide the unit cost, because cache key behaviour under mid-conversation tool changes is where the margin lives and it is not conformance-tested. When you need reasoning traces round-tripped faithfully, since the spec permits providers to return opaque encrypted reasoning content whose format is provider-specific and which clients must treat as non-inspectable. And when latency targets are tight enough that an extra translation hop matters.
The honest version of the architecture decision is not “neutral or native”. It is: neutral interface for the common path, native adapters for the two or three capabilities you are deliberately coupled to, and a written note of what each coupling costs to unwind. We keep that matrix per provider on our model coverage page and revisit it whenever a lab ships a new hosted tool.
What to put in the architecture doc
Replace the phrase “no vendor lock-in” with four numbers: engineer-days to swap the primary model provider for your highest-volume workflow; the completion-rate delta you measured when you did; the list of vendor-extension features you depend on; and the name of the person who owns the thread store, the credential broker and the quota ledger. If any of those four is missing, the portability claim is aspirational.
Then be realistic about maturity. TanStack AI’s 1.0 is a good model of how to communicate this: the core APIs are stable and the agent harness ships as experimental 0.x with documented recovery limits, including in-memory child-agent waits that do not resume across hosts, and a note that its permissions plugin is not a sandbox. That is what an honest status line looks like. Most agent platform pitches you will hear this quarter do not have one.
The donations are good news. Shared schemas, a neutral TSC, a public conformance suite and a standard sandbox protocol all lower the cost of changing your mind later. They do not lower it to zero, and the gap between “lower” and “zero” is roughly the orchestration layer — which is exactly the part we end up building on every engagement. If you want the swap test run against your own workflow before the architecture doc gets signed, start here.
Frequently Asked Questions
Does Open Responses mean I can switch model providers for free?
No. It standardises request and response schemas, streaming events and tool-call patterns, which removes most of the translation code. It does not standardise model behaviour, prompt-cache economics, hosted tool availability or latency. Expect the adapter work to be days and the prompt-and-eval work to be the larger half. Budget for a measured completion-rate regression on the first swap, not a clean cutover.
Do Anthropic and Google support Open Responses?
Not as of the October 2026 donation. The New Stack reported that Anthropic, an AAIF member, continues to define its own Messages API, and that Google has its Interactions API. Supporters named at donation include AWS, Databricks, Hugging Face, LM Studio, Nvidia, Ollama, OpenRouter, Red Hat, Vercel and vLLM. If your workload targets Claude or Gemini first-party endpoints, the neutral interface reaches them through a gateway, not directly.
Are Agent Skills genuinely portable across agent products?
The format is: a SKILL.md with metadata and instructions, plus optional scripts, references and assets, loaded through progressive disclosure. Copying that directory between compatible hosts works. What does not transfer is activation reliability, which depends on the host’s discovery implementation and the model’s instruction-following, and any bundled script, which needs an execution environment with the right permissions. Test activation rates per model rather than assuming them.
What does “Open Responses compliant” actually certify?
That an endpoint implements the spec or a proper superset of it. The public acceptance suite runs 17 tests: ten browser-runnable cases covering text, streaming, system prompts, function calling, image input, multi-turn history and compaction, plus seven CLI-only WebSocket cases covering continuation and recovery. Everything outside those tests — cache behaviour, hosted tools, reasoning formats, rate-limit handling — is unverified by the badge.
Which parts of an agent stack never port, regardless of standards?
Tool permission scopes and the policy that generates them, credential brokering and token exchange, thread state and compaction strategy, retry and idempotency handling for side-effecting tools, and per-tenant quota and cost attribution. None of these are in any donated project because they are application-specific. They are also usually the majority of the code in a production agent, which is why portability claims that ignore them are misleading.
Should I adopt the neutral layer now or wait?
Adopt it for the common path now — text, streaming, function calling, multi-turn — because the cost of doing so is low and the governance is real. Hold off on rewriting anything that depends on provider-hosted tools or cache economics until those features have conformance tests. And do not rebuild a working orchestration layer to chase portability you have not measured.
Research digest
AI Research Briefing
Honest insights on AI agents, Small Language Models, and local RAG. No hype. Only when we have something worth sending.
- No hype, just measurable outcomes
- Read by 2,400+ engineers
- Unsubscribe anytime




