Skip to content

M6 Phase D — commit acp-node-v2 as adapter dependency (FDQ-69b) - #29

Merged
Mayakovsky merged 1 commit into
mainfrom
m6-phase-d-sdk-dep
Jul 22, 2026
Merged

M6 Phase D — commit acp-node-v2 as adapter dependency (FDQ-69b)#29
Mayakovsky merged 1 commit into
mainfrom
m6-phase-d-sdk-dep

Conversation

@Mayakovsky

Copy link
Copy Markdown
Owner

M6 Phase D (Task A) — commit acp-node-v2 as an adapter dependency (FDQ-69b)

FDQ-69 ruled (b): declare the ACP SDK as a real committed dependency so the box provisions it via a normal pnpm install --filter @grey/acp-adapter... (zero deploy-checkout drift), rather than a box-local pnpm add that would dirty the committed manifest. Dependency declaration only — no adapter code change.

Changes (3 files)

  • adapters/acp-adapter/package.json — add "@virtuals-protocol/acp-node-v2": "^0.0.4" to dependencies.
  • pnpm-lock.yaml — resolve the SDK tree (@account-kit/@alchemy/@privy-io/socket.io/…).
  • pnpm-workspace.yaml — explicitly decline the SDK's optional native websocket build scripts (bufferutil, utf-8-validate, es5-ext). They have pure-JS fallbacks, so the adapter runs without them and the memory-tight VPS compiles no native code on install. pnpm 11's deps-status check errors on undecided build scripts; declaring the decline clears it. (Necessary addition beyond the two paths named in the directive — flagged.)

Build isolation preserved (the whole point of the Phase C posture)

sdk.ts loads the SDK via a variable-specifier dynamic import, so tsc never pulls it into the type graph even now that it's installed. Verified locally:

  • pnpm -F @grey/acp-adapter typecheck — green.
  • pnpm -F @grey/acp-adapter build — green.
  • pnpm -F @grey/acp-adapter tier1-smokePASS, still reports "no SDK" (dynamic import unresolved at build).
  • pnpm -F @grey/acp-adapter test21/21.

The heavy tree is now a runtime/prod concern only; dev/CI installs carry it (the accepted FDQ-69b trade). The declined native builds are optional accelerators, not correctness-critical.

Sequencing

HOLD for merge. The cutover window (Task B) is gated on (1) this merging and (2) Forces opening the window: pm2 stop grey → filtered SDK install on the box → copy the 3 ACP_* creds on-box → systemctl enable --now grey-acp-adapter → tier-3 $0.25 proof job. Reversible throughout; wallet reused (Q6); never co-run.

🤖 Generated with Claude Code

FDQ-69 ruled (b): declare the ACP SDK as a real committed dependency so the box
provisions it via a normal `pnpm install --filter @grey/acp-adapter...` (zero deploy
drift), instead of a box-local `pnpm add` that would dirty the checkout.

- adapters/acp-adapter/package.json: add "@virtuals-protocol/acp-node-v2": "^0.0.4".
- pnpm-lock.yaml: resolve the SDK tree (@account-kit/@alchemy/@privy-io/socket.io/…).
- pnpm-workspace.yaml: explicitly DECLINE the SDK's optional native websocket build
  scripts (bufferutil, utf-8-validate, es5-ext) — pure-JS fallbacks exist, so the
  adapter runs without them and the memory-tight VPS compiles no native code on install.
  (pnpm 11's deps-status check errors on undecided build scripts; declaring the decline
  clears it.)

Build isolation preserved: sdk.ts loads the SDK via a variable-specifier dynamic
import, so tsc never pulls it into the type graph even now that it's installed.
Verified: typecheck + build green; tier-1 offline smoke green (still "no SDK"); 21
adapter tests pass. The heavy tree is a runtime/prod concern only (dev/CI installs now
carry it; that was the accepted FDQ-69b trade).

Not a code change to the adapter — dependency declaration only. Cutover (Task B) is
gated on this merging + Forces opening the window.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@Mayakovsky
Mayakovsky merged commit c4e7f1d into main Jul 22, 2026
3 checks passed
Mayakovsky added a commit that referenced this pull request Jul 26, 2026
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@Mayakovsky
Mayakovsky deleted the m6-phase-d-sdk-dep branch August 14, 2026 01:46
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