Issues / #1781
#1781 SYCL: "effort_position": "end" never turns on - the server looks for --tail-role-token in the launcher script, not the engine binary
closed · @leadgtr7 · 1 comments · View on GitHub
Setup & installServer & APIAMD / HIPNVIDIA / CUDA
Description
**Setup:** Intel port, engine 0.1.41 (`fb58e0d`, built with `sycl/tools/build.sh`), Arc Pro B65 32 GB, config `"exe": ".../sycl/serve/strata-sycl.sh"` as setup writes it, plus `"effort_position": "end"` in `strata-<model>.json`.
**What happens:** the server prints
```
[strata] effort_position "end" needs engine 0.1.39 or newer (--tail-role-token): the reasoning effort stays at the top of the prompt
```
and keeps the effort at the top of the prompt, so changing `reasoning_effort` between requests re-reads the whole conversation (#458's case).
**Why:** `effort_end_args()` in `serve/server.py` decides support with `b"--tail-role-token" in open(exe, "rb").read()`. On the Intel port `exe` is `sycl/serve/strata-sycl.sh`, a shell script that runs `${STRATA_SYCL_BIN:-build-sycl-aot/strata}` in a container. The script never names the option; the binary does:
```
$ grep -c -a -- --tail-role-token build-sycl-aot/strata -> 2
$ grep -c -- --tail-role-token sycl/serve/strata-sycl.sh -> 0
```
So the feature is off on every SYCL install regardless of the engine version. CUDA/HIP are unaffected (their `exe` is the engine).
**Fix:** resolve the launcher to the binary it runs before the check (its repo's `STRATA_SYCL_BIN`, from the config's `env` or the environment, default `build-sycl-aot/strata`); any other `exe` is read as before. PR to follow.
(Found and tested with Claude Code.)
Related on strata.com
Editorial links to help you install, pick models, or read release notes — not part of the upstream thread.