What is missing
createTangleProvider builds an AgentEnvironmentProvider over Tangle Sandbox, and createExecutor({ backend: 'provider' }) consumes an AgentEnvironmentProvider as executor data. The two halves are shipped and typed, but nothing composes them. No source file in this repository imports createTangleProvider, and no example, test, or export shows a caller how to hand a Tangle provider to createExecutor. A consumer that wants a Tangle box behind the provider seam has to derive the wiring from the type signatures alone, and cannot tell which of providerAsExecutor, ProviderSeam.registry, or a bare provider string is the intended entry point. Ship the composition: one exported helper, or one example plus one test that runs a profile in a Tangle box through backend: 'provider'.
Where it lives today
Nothing in the Discovery Lab uses this path. That is the finding: the Lab runs children through createExecutor({ backend: 'sandbox' }) with a hand-wrapped SandboxClient instead, which is issue (3) in this batch. The provider seam is the intended replacement for that wrapper and it has no worked example, so the Lab never adopted it.
Where it belongs
agent-sdk packages/agent-provider-tangle/src/tangle-provider.ts:44 — export function createTangleProvider(.
agent-runtime src/runtime/supervise/runtime.ts:460 — export interface ProviderSeam extends ProviderExecutorOptions.
agent-runtime src/runtime/supervise/runtime.ts:4595 — the { backend: 'provider' } & ProviderSeam arm of the executor config union.
agent-runtime src/runtime/environment-provider.ts:378 — export function providerAsExecutor(, marked @experimental.
Measured motive
0 of the source files under agent-runtime/src reference createTangleProvider. The only mention anywhere in the repository is a design note, docs/research/environment-provider-adapter-spec.md:397, which says "Then implement createTangleProvider(client) that maps:" — the spec that asked for the provider, never followed by a composed example.
Acceptance
The gap closes when a test in agent-runtime builds a provider with createTangleProvider, passes it to createExecutor({ backend: 'provider', provider }), runs one AgentProfile, and asserts the settled artifact — with providerAsExecutor no longer marked @experimental, or the helper exported under a stable name.
What is missing
createTangleProviderbuilds anAgentEnvironmentProviderover Tangle Sandbox, andcreateExecutor({ backend: 'provider' })consumes anAgentEnvironmentProvideras executor data. The two halves are shipped and typed, but nothing composes them. No source file in this repository importscreateTangleProvider, and no example, test, or export shows a caller how to hand a Tangle provider tocreateExecutor. A consumer that wants a Tangle box behind the provider seam has to derive the wiring from the type signatures alone, and cannot tell which ofproviderAsExecutor,ProviderSeam.registry, or a bareproviderstring is the intended entry point. Ship the composition: one exported helper, or one example plus one test that runs a profile in a Tangle box throughbackend: 'provider'.Where it lives today
Nothing in the Discovery Lab uses this path. That is the finding: the Lab runs children through
createExecutor({ backend: 'sandbox' })with a hand-wrappedSandboxClientinstead, which is issue (3) in this batch. The provider seam is the intended replacement for that wrapper and it has no worked example, so the Lab never adopted it.Where it belongs
agent-sdkpackages/agent-provider-tangle/src/tangle-provider.ts:44—export function createTangleProvider(.agent-runtimesrc/runtime/supervise/runtime.ts:460—export interface ProviderSeam extends ProviderExecutorOptions.agent-runtimesrc/runtime/supervise/runtime.ts:4595— the{ backend: 'provider' } & ProviderSeamarm of the executor config union.agent-runtimesrc/runtime/environment-provider.ts:378—export function providerAsExecutor(, marked@experimental.Measured motive
0 of the source files under
agent-runtime/srcreferencecreateTangleProvider. The only mention anywhere in the repository is a design note,docs/research/environment-provider-adapter-spec.md:397, which says "Then implementcreateTangleProvider(client)that maps:" — the spec that asked for the provider, never followed by a composed example.Acceptance
The gap closes when a test in
agent-runtimebuilds a provider withcreateTangleProvider, passes it tocreateExecutor({ backend: 'provider', provider }), runs oneAgentProfile, and asserts the settled artifact — withproviderAsExecutorno longer marked@experimental, or the helper exported under a stable name.