mix pixir.smoke.websocket (pixir v0.1.0)

Copy Markdown View Source

Runs a bounded real-network smoke against the Responses WebSocket transport.

This validates the Codex-first subscription path as an opt-in smoke for the production Provider transport. It intentionally avoids printing tokens, account ids, or full response ids.

Usage:

mix pixir.smoke.websocket --dry-run --json
mix pixir.smoke.websocket --json
mix pixir.smoke.websocket --model gpt-5.5 --reasoning-effort low --json
mix pixir.smoke.websocket --probe-cache-routing --json
mix pixir.smoke.websocket --endpoint wss://chatgpt.com/backend-api/codex/responses --json
mix pixir.smoke.websocket --help

Checks:

  • WebSocket handshake returns 101 Switching Protocols.
  • Minimal response.create replies with ok.
  • Same-socket previous_response_id continuation replies with ok2.
  • A tool-call loop can continue with function_call_output.
  • A new socket cannot continue a store: false response from an old socket.

Options:

  • --model MODEL - model to probe. Default: gpt-5.5.
  • --reasoning-effort EFFORT - low/medium/high/xhigh. Default: low.
  • --endpoint URL - wss://... endpoint. Default: auto from credential kind.
  • --timeout-ms N - per response timeout. Default: 30000.
  • --output DIR - evidence directory. Default: .pixir/smoke/websocket/<run_id>.
  • --probe-cache-routing - add two cache-eligible long-prefix requests with a stable prompt_cache_key.
  • --cache-key KEY - cache key used by --probe-cache-routing.
  • --dry-run - validate and print planned checks without auth, network, or writes.
  • --json - print machine-readable evidence or errors.
  • --help - print this help and exit.