Summary
Standalone OpenAI-compatible mode in pool 1.0.16 sends cache_control on message text parts and tool definitions. A strict Chat Completions endpoint rejects the request before inference. This prevents using Tsubasa through the documented standalone route.
Reproduction
Run the released macOS arm64 binary against a loopback HTTP recorder with a synthetic credential:
export POOLSIDE_STANDALONE_BASE_URL=http://127.0.0.1:8080
export POOLSIDE_STANDALONE_MODEL=tsubasa-fast
export POOLSIDE_STANDALONE_CONTEXT_LENGTH=32768
export POOLSIDE_API_KEY=synthetic-test-key
pool exec -d /path/to/empty-test-project -o json -p 'Reply with a greeting. Do not use tools.'
The root base URL correctly produces POST /v1/chat/completions. The captured request includes these fields:
messages[0].content[0].cache_control = {"type":"ephemeral"}
messages[1].content[0].cache_control = {"type":"ephemeral"}
tools[15].cache_control = {"type":"ephemeral"}
A validator that accepts the supported OpenAI Chat Completions fields but rejects unknown keys returns 400 at those paths. The CLI retries three times and exits 1. This is a controlled compatibility reproduction, not a claim of a successful live Tsubasa run. No real credentials or repository data were used.
Expected behavior
Provide a documented way to disable provider-specific cache hints for a generic OpenAI-compatible endpoint, or omit those hints unless the endpoint supports them. I did not find such a switch in pool --help, pool exec --help, or the current public README.
Environment
- pool 1.0.16, official darwin-arm64 release
- macOS arm64, isolated application configuration, preserved HOME
- Public README revision
fcabc59ff67810ecec5429ec9d45fa1dda6c1136
- Binary archive SHA256:
0932af3eb2b57a863acacb664ec8b2b1d3a76c2570a788b086001608cc585f74
Prepared with AI assistance while validating a Tsubasa integration. Please point me to an existing native option if one already covers this.
Summary
Standalone OpenAI-compatible mode in pool 1.0.16 sends
cache_controlon message text parts and tool definitions. A strict Chat Completions endpoint rejects the request before inference. This prevents using Tsubasa through the documented standalone route.Reproduction
Run the released macOS arm64 binary against a loopback HTTP recorder with a synthetic credential:
The root base URL correctly produces
POST /v1/chat/completions. The captured request includes these fields:A validator that accepts the supported OpenAI Chat Completions fields but rejects unknown keys returns 400 at those paths. The CLI retries three times and exits 1. This is a controlled compatibility reproduction, not a claim of a successful live Tsubasa run. No real credentials or repository data were used.
Expected behavior
Provide a documented way to disable provider-specific cache hints for a generic OpenAI-compatible endpoint, or omit those hints unless the endpoint supports them. I did not find such a switch in
pool --help,pool exec --help, or the current public README.Environment
fcabc59ff67810ecec5429ec9d45fa1dda6c11360932af3eb2b57a863acacb664ec8b2b1d3a76c2570a788b086001608cc585f74Prepared with AI assistance while validating a Tsubasa integration. Please point me to an existing native option if one already covers this.