OpenAI endpoint stage 10.1 — tool/JSON compatibility and CLI preservation
Minor patch release on top of stage 10.\n\nHighlights:\n- Adds OpenAI-compatible tool/function calling shapes for chat completions and responses, including tools/tool_choice plus legacy functions/function_call.\n- Adds JSON response_format compatibility for json_object and json_schema via extraction/wrapping/simple required-field filling.\n- Updates streaming structured responses to emit OpenAI-shaped tool_call deltas when needed.\n- Expands OpenAI SDK smoke coverage for JSON mode and tool calls.\n- Keeps existing DRIFT CLI help paths dependency-light by lazy-loading torch/msgpack/protocol/orchestrator work until execution paths need them.\n\nVerification:\n- python3 -m pytest tests/test_openai_api.py tests/test_openai_compat_payloads.py tests/test_openai_sdk_smoke.py tests/test_sampling_controls.py -q -> 35 passed, 2 skipped, 1 warning.\n- 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_sampling_controls.py -q -> 36 passed, 1 skipped, 1 warning.\n- python3 -m compileall drift tests scripts/openai_compat_smoke.py -> passed.\n- CLI help checked for doctor/up/run/node/serve/reference/parity/itest/bench/ping/keygen/ledger.\n\nKnown scope notes:\n- DRIFT does not execute tools itself; it returns OpenAI-shaped tool calls for the client/tool runner.\n- JSON schema support is compatibility-oriented, not full constrained decoding.\n- Heavy parity/itest execution still requires a torch-enabled DRIFT runtime; this local Python 3.14 environment does not have torch installed.