Skip to content

ci(examples): cover openai_websocket_client and openresponses_client#39

Merged
chaliy merged 1 commit into
mainfrom
claude/ci-examples-coverage-t0rOv
May 17, 2026
Merged

ci(examples): cover openai_websocket_client and openresponses_client#39
chaliy merged 1 commit into
mainfrom
claude/ci-examples-coverage-t0rOv

Conversation

@chaliy
Copy link
Copy Markdown
Owner

@chaliy chaliy commented May 17, 2026

What

Add the two remaining examples/ scripts that the Examples CI job was not running:

  • examples/openai_websocket_client.py — exercises the WebSocket mode for the OpenAI Responses API (added in feat(api): add WebSocket mode for Responses API #26).
  • examples/openresponses_client.py — exercises the OpenResponses API at /openresponses/v1/responses.

Why

Routine maintenance spec R3.2/R4.2 expects integration coverage of every API surface. The Rust examples and most Python clients are run in CI today, but these two surfaces were only covered by hand-runs — any API drift in WebSocket or OpenResponses would surface as a user-reported breakage rather than a red build.

How

Both new steps reuse the release server already started by the existing job (./target/release/llmsim serve --port 8080). Each example is a self-contained uv run script that exits cleanly on success.

I smoke-tested both scripts locally against the running server before adding them:

  • openresponses_client.py walks text input, message input, streaming, and 3 different models.
  • openai_websocket_client.py exercises text input, message-array input, and multi-turn previous_response_id.

Risk

  • Low. Two additive CI steps. If a regression breaks WebSocket or OpenResponses streaming, CI will now catch it; no change to runtime code.

Checklist

  • Both scripts ran cleanly against the freshly built release server
  • CI job step ordering preserved (run after Start server)

Two example scripts shipped in `examples/` were not exercised by the
Examples CI job:

- `examples/openai_websocket_client.py` covers the WebSocket mode for
  the OpenAI Responses API (PR #26).
- `examples/openresponses_client.py` covers the OpenResponses API
  (`/openresponses/v1/responses`).

Both run against the same release server already spun up in the
Examples job. Smoke-tested locally against the running server before
adding to CI.
@chaliy chaliy merged commit 6df6a1f into main May 17, 2026
11 checks passed
@chaliy chaliy deleted the claude/ci-examples-coverage-t0rOv branch May 17, 2026 17:35
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