OpenAI endpoint stage 10.5 - compatibility audit coverage
Re-audits the PR against the vLLM/llama.cpp-style compatibility checklist and broadens test evidence.\n\nChanges:\n- Adds docs/openai-compatibility-audit.md with verified, scoped-unsupported, and still-external validation items.\n- Adds opt-in official OpenAI JS SDK smoke coverage.\n- Expands API tests for all text roles/tool follow-ups, malformed JSON, unknown fields, auto tool-call parsing, legacy functions/function_call, length finish reasons, embedding input variants/errors, context overflow, and concurrent session isolation.\n- Expands scripts/openai_compat_smoke.py to exercise models, chat, chat streaming, completions, completion streaming, responses, responses streaming, JSON mode, tool_choice, input token counting, tokenize/detokenize, and embeddings/capability errors.\n- Rejects empty embedding inputs with OpenAI-shaped errors.\n\nVerification:\n- python3 -m compileall drift tests scripts/openai_compat_smoke.py\n- python3 -m pytest -q -> 50 passed, 3 skipped\n- SDK venv: PYTHONPATH=/Users/taewoopark/personal/DRIFT /tmp/drift-openai-sdk-venv/bin/python -m pytest tests/test_openai_api.py tests/test_openai_compat_payloads.py tests/test_openai_sdk_smoke.py tests/test_openai_js_sdk_smoke.py tests/test_sampling_controls.py -q -> 51 passed, 2 skipped\n- DRIFT_RUN_JS_SDK_SMOKE=1 PYTHONPATH=/Users/taewoopark/personal/DRIFT python3 -m pytest tests/test_openai_js_sdk_smoke.py -q -> 1 passed\n- Expanded scripts/openai_compat_smoke.py against a local uvicorn test server -> all checks ok\n- git diff --check and git diff --cached --check\n- CLI/parity/itest help gates passed\n\nFull parity/itest execution was attempted, but this local Python environment still lacks torch, so model-backed parity stops with ModuleNotFoundError: No module named 'torch'.