Story
As a workflow host, I want every supported ACP adapter to enforce a workflow
Agent session with no native tools, terminal, filesystem client, MCP server, or
direct network access, so the Agent can observe the workflow only through the
XMD operations the host provides.
An ACP adapter is the integration that connects XMD to a coding-Agent provider.
Example outcome
A workflow starts an Agent that may read prompt data and propose constrained
XMD. Inside that session, the Agent has:
- no terminal or command tool;
- no filesystem client;
- no Workspace or host directory as its working directory;
- no additional directory;
- no MCP server or MCP tool; and
- no direct network tool.
Before the first Prompt, the adapter proves that it can establish this complete
mode. If it cannot, XMD refuses the session without executing a Prompt.
The same restriction remains true after loading, resuming, or reconnecting to
the session.
Current boundary
The initial supervised workflow uses a cooperative approximation:
- no Workspace materialization or ACP additional directories;
- an empty disposable working directory;
- no configured MCP servers;
- an empty allowed-tool list where the adapter supports one;
- a deny-all permission policy; and
- an explicit failure when the Agent attempts a native tool.
That profile is sufficient to exercise the workflow without claiming that every
adapter makes tools unavailable. This issue supplies the stronger portable
guarantee.
What counts as enforcement
The workflow host requests one closed no-tool session mode from the provider.
The provider reports whether the selected adapter can enforce every part of that
mode before session creation, resumption, or Prompt execution.
The following do not prove that a tool was unavailable:
- denying permission after the model selected a tool;
- asking the model not to use tools in a Prompt;
- passing an empty tool list when the adapter treats empty as unspecified; or
- omitting a tool from XMD configuration while the provider supplies it by
default.
An unsupported adapter fails closed. It does not silently run a broader session.
Provider boundary
Core requests the provider-neutral no-tool mode without depending on ACPX or a
particular adapter type.
Each adapter qualifies by proving its actual session behavior. An ACPX adapter
may require a new embedded-runtime option or capability report, but this issue
does not by itself authorize an upstream issue, dependency pin, or release.
Ordinary caller-selected Agent permissions under xmd run remain unchanged.
Acceptance
- The provider API can request the complete no-tool workflow mode without
exposing adapter-specific types to core. - Every shipped adapter either proves the complete mode before Prompt or refuses
the session. - Empty allowed tools is distinct from unspecified tool configuration.
- Tests prove the absence of terminal, filesystem, MCP, working-directory,
environment, and direct-network capability. - The same ceiling survives load, resume, and reconnect.
- A negative control fails when a tool is merely denied after selection rather
than made unavailable. - Unsupported adapters begin no session and execute no Prompt.
- Architecture and ACP/workflow specifications distinguish the cooperative
initial profile from this enforced guarantee.
Delivery relationship
This is independent hardening. It does not retroactively block delivery of the
supervised workflow under its explicitly narrower initial claim.
Out of scope
- Giving the Agent direct read-only Workspace access.
- ACP additional directories.
- Replacing constrained generated-XMD admission.
- Authorizing upstream ACPX work without a separate decision.
Story
As a workflow host, I want every supported ACP adapter to enforce a workflow
Agent session with no native tools, terminal, filesystem client, MCP server, or
direct network access, so the Agent can observe the workflow only through the
XMD operations the host provides.
An ACP adapter is the integration that connects XMD to a coding-Agent provider.
Example outcome
A workflow starts an Agent that may read prompt data and propose constrained
XMD. Inside that session, the Agent has:
Before the first Prompt, the adapter proves that it can establish this complete
mode. If it cannot, XMD refuses the session without executing a Prompt.
The same restriction remains true after loading, resuming, or reconnecting to
the session.
Current boundary
The initial supervised workflow uses a cooperative approximation:
That profile is sufficient to exercise the workflow without claiming that every
adapter makes tools unavailable. This issue supplies the stronger portable
guarantee.
What counts as enforcement
The workflow host requests one closed no-tool session mode from the provider.
The provider reports whether the selected adapter can enforce every part of that
mode before session creation, resumption, or Prompt execution.
The following do not prove that a tool was unavailable:
default.
An unsupported adapter fails closed. It does not silently run a broader session.
Provider boundary
Core requests the provider-neutral no-tool mode without depending on ACPX or a
particular adapter type.
Each adapter qualifies by proving its actual session behavior. An ACPX adapter
may require a new embedded-runtime option or capability report, but this issue
does not by itself authorize an upstream issue, dependency pin, or release.
Ordinary caller-selected Agent permissions under
xmd runremain unchanged.Acceptance
exposing adapter-specific types to core.
the session.
environment, and direct-network capability.
than made unavailable.
initial profile from this enforced guarantee.
Delivery relationship
This is independent hardening. It does not retroactively block delivery of the
supervised workflow under its explicitly narrower initial claim.
Out of scope