Skip to content

Return each embedded ACP adapter to a qualifying upstream release #636

Description

@taras

Purpose

Issue #622 embeds one npm tarball per provider under packages/acp/vendor/adapters and runs those instead of the adapter npx would resolve, because no published Codex or Claude release names the turn a Prompt completed.

Provider Package Version Contract Upstream PR
codex @agentclientprotocol/codex-acp 1.6.2 _meta.codex.turnId agentclientprotocol/codex-acp#438
claude @agentclientprotocol/claude-agent-acp 0.70.0 _meta.claudeCode.assistantMessageUuid agentclientprotocol/claude-agent-acp#1047

Remove each snapshot when an exact upstream release carries its contract. The two are independent: one provider may return to a published release while the other's snapshot stays, and this issue closes only when both have.

This is not an adapter upgrade. Returning to a release and moving to a newer adapter are separate changes and are not done together.

Exit gate, per provider

A candidate release replaces that provider's snapshot only when all of these pass on one exact revision:

  • a normally completed prompt's response carries the contract above, and the value is byte-for-byte the identity the provider surface emitted;
  • interleaved turns each carry their own identity, so nothing session-global is being read;
  • cancelled, failed, refused, malformed, ambiguous and metadata-free completions each carry none, and nothing reconstructs one;
  • the released version is selected exactly, never through a moving range;
  • Tier AD, Tier AM and the Retain provider checkpoint tokens for workflow Agent Prompts #622 T1 evidence pass against the released adapter with no alternative token source added; and
  • the Deno cached/no-node-modules build and release compile, the npm package, the JSR dry run and the repository clean/composability verifier pass.

Removal, per provider

  • drop that provider's tarball and LICENSE from packages/acp/vendor/adapters/<provider>/;
  • remove its entry from MANIFEST.json and regenerate generated/snapshots.ts;
  • remove its REVIEWED entry and any provider-specific case from scripts/tests/adapter-vendor.test.ts;
  • restore that provider to the published command in the registry the workflow Agent profile installs, keeping the registry closed to the providers this host serves; and
  • update packages/acp/vendor/adapters/PROVENANCE.md.

When the last snapshot goes, remove packages/acp/src/adapter-snapshots.ts, scripts/build-adapter-snapshots.ts, Tier AD and Tier AM, and the adapters seam on the workflow Agent profile.

Not this issue

Context

  • packages/acp/vendor/adapters/PROVENANCE.md
  • packages/acp/src/adapter-snapshots.ts
  • Tier AD: scripts/tests/adapter-vendor.test.ts
  • Tier AM: packages/acp/tests/adapter-materialization.test.ts

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions