This PR uses live npm acp processes to test that o...
# proj-agent
s
This PR uses live npm acp processes to test that our configs aren't stale with ACP harnesses github.com/OpenHands/software-agent-sdk/pull/4834 Those tests are not CI-blocking because they are dependent on an external service (npm registry + real ACP CLI subprocesses) but they are still useful to detect bugs in ACP. More details in 🧵
āœ… 1
• Adds tests that launch each built-in ACP provider (claude-code, codex, gemini-cli) for real via npx with a bogus credential, and read the live server's behavior back — agent name/version, auth handshake, session mode, and whether every model id in our registry is actually still accepted (not just "listed"). Also bounds agent-client-protocol to <0.11.0 (0.11.0 broke the client). • Why now: We're about to land several more ACP harnesses (Kimi, OpenCode, Pi, …). Right now nothing verifies our registry's claims about a provider (auth methods, session mode, model ids) against what the real CLI actually does — every past mismatch) was caught by a human noticing broken behavior in prod, not by CI. With more providers landing, that drift becomes unmanageable to catch by hand. Running this for real already caught live drift: 3 dead codex model ids the server now rejects, fixed in this PR. • Why the special CI treatment: These tests depend on external services (the npm registry + real ACP CLI subprocesses) that shouldn't be able to block unrelated merges if they blip. So they're not part of the required sdk-tests gate — they're deselected by default and run in a separate, non-required job that only triggers when ACP registry/catalog files actually change.