Skip to content

feat: @adcp/client 5.1.0 + retire platform_type for capability-driven compliance#2277

Merged
bokelley merged 1 commit into
mainfrom
bokelley/adcp-client-5.1.0
Apr 17, 2026
Merged

feat: @adcp/client 5.1.0 + retire platform_type for capability-driven compliance#2277
bokelley merged 1 commit into
mainfrom
bokelley/adcp-client-5.1.0

Conversation

@bokelley

Copy link
Copy Markdown
Contributor

Summary

  • Bump @adcp/client to ^5.1.0
  • Retire the AAO's platform_type concept end-to-end: MCP tool inputs, REST routes, DB schema, heartbeat, result rendering. Storyboard selection is now capability-driven (supported_protocols + specialisms from get_adcp_capabilities) — the protocol's own mechanism replaces our curated platform bundles
  • Migration 409 drops agent_registry_metadata.platform_type; 410 adds version INTEGER NOT NULL DEFAULT 1 to adcp_state so the 5.1.0 putIfMatch / patchWithRetry primitives work against Postgres
  • Storyboard loaders migrated: loadBundledStoryboardslistAllComplianceStoryboards, getStoryboardByIdgetComplianceStoryboardById. Test kits now live at compliance/cache/{version}/test-kits/
  • evaluate_agent_quality output no longer includes the "Platform Coherence" section; coherence signals come from per-track results and advisory observations

Why this is breaking — and OK pre-3.0

5.1.0 is labeled minor but the 5.x surface is still pre-3.0. The platform_type input existed only because 5.0's ComplyOptions.platform_type drove curated bundle selection; 5.1.0 removed it in favor of the spec's specialisms. Keeping our platform_type as a shim would just shift the inconsistency elsewhere, so we retire it in one go.

Migrations run together: 409 drops the column after code stops reading it in the same release; 410 adds the state-store version column additively.

Test plan

  • npx tsc --noEmit — clean on changes (two pre-existing ParsedRepo errors in member-tools unrelated to 5.1.0)
  • npm run test:unit — 587 / 587 passed in precommit
  • npx vitest run server/tests/unit/storyboards.test.ts server/tests/unit/mcp-eval-tools.test.ts — 36 / 36 passed. Pre-existing failures in comply-test-controller.test.ts and mcp-response-unwrap.test.ts are unrelated (verified by stashing)
  • npx tsx scripts/generate-openapi.ts — regenerated, 11 lines removed for dropped platform_type fields
  • Manual: run heartbeat against a live agent to verify capability-driven selection picks the right bundles (deploy to staging)
  • Manual: confirm PUT /api/registry/agents/{url}/connect no longer accepts platform_type (caller audit — anyone who still sends it gets it ignored; they don't break)

🤖 Generated with Claude Code

… compliance

5.1.0 replaces AAO curated platform-type bundles with capability-driven
storyboard resolution: agents declare supported_protocols and specialisms
in get_adcp_capabilities, and the runner picks bundles accordingly.

Rip out the AAO's own platform_type concept end-to-end: MCP tool inputs,
REST routes, DB schema, heartbeat, rendering. Migration 409 drops the
column; 410 adds the version column the 5.1.0 state store needs for CAS.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@bokelley bokelley merged commit 6dd19f6 into main Apr 17, 2026
14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant