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 Kommentare · Auf GitHub

Setup & installServer & APIAMD / HIPNVIDIA / CUDA

Beschreibung

**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.)

Mehr auf der Site

Links zu Install, Modellen, Releases.