Background
#3690 added identity.brand_json_url to get_adcp_capabilities and wired the training agent to emit it (plus identity.key_origins.request_signing when signing is supported). The emit was reverted in the same PR (commit 89c38e74c) because the storyboard runner uses @adcp/sdk's pinned ADCP_VERSION='3.0.1' to fetch the response schema from adcontextprotocol.org/schemas/3.0.1/..., and that published schema doesn't have the new field.
The right fix is a coordinated SDK version bump after 3.1 ships. This issue tracks re-adding the emit then.
What's already in place
Re-add when
- AdCP 3.1 published (currently 219 changesets queued, no published timeline).
@adcp/sdk bumps ADCP_VERSION to a 3.1.x release that includes identity.brand_json_url in the published schema bundle.
Implementation
Re-add the overrides.identity block in framework-server.ts and the inline identity block in task-handlers.ts handleGetAdcpCapabilities. Both were deferred in the same commit (89c38e74c2); the diff to revert is small and self-contained. Verify the storyboard runner accepts the new field by re-running framework + legacy storyboards on a PR.
After re-add, the e2e script's HTTP mode (npx tsx scripts/e2e-resolve-training-agent.ts http://localhost:3000) should resolve the chain end-to-end against the live training agent — currently only --inproc works because the production agent doesn't emit the field.
Related
Acceptance
Background
#3690 added
identity.brand_json_urltoget_adcp_capabilitiesand wired the training agent to emit it (plusidentity.key_origins.request_signingwhen signing is supported). The emit was reverted in the same PR (commit89c38e74c) because the storyboard runner uses@adcp/sdk's pinnedADCP_VERSION='3.0.1'to fetch the response schema fromadcontextprotocol.org/schemas/3.0.1/..., and that published schema doesn't have the new field.The right fix is a coordinated SDK version bump after 3.1 ships. This issue tracks re-adding the emit then.
What's already in place
/.well-known/brand.json(server/src/http.ts:634) lists the training agent inagents[]with the JWKS URI — eTLD+1 origin binding passes withoutauthorized_operators[].scripts/e2e-resolve-training-agent.tsexercises the full chain in--inprocmode against fixtures.server/src/training-agent/framework-server.tsmarks where the emit is meant to go back.Re-add when
@adcp/sdkbumpsADCP_VERSIONto a 3.1.x release that includesidentity.brand_json_urlin the published schema bundle.Implementation
Re-add the
overrides.identityblock inframework-server.tsand the inlineidentityblock intask-handlers.ts handleGetAdcpCapabilities. Both were deferred in the same commit (89c38e74c2); the diff to revert is small and self-contained. Verify the storyboard runner accepts the new field by re-running framework + legacy storyboards on a PR.After re-add, the e2e script's HTTP mode (
npx tsx scripts/e2e-resolve-training-agent.ts http://localhost:3000) should resolve the chain end-to-end against the live training agent — currently only--inprocworks because the production agent doesn't emit the field.Related
Acceptance
@adcp/sdkbumped to a 3.1.x version that includesidentity.brand_json_urlin its bundled schemasframework-server.ts overrides.identityblock restoredtask-handlers.ts handleGetAdcpCapabilitiesidentityblock restored