From b08736a755eea836b83aa9575c83bd834ef99f58 Mon Sep 17 00:00:00 2001 From: rwkeyes <86691029+rwkeyes@users.noreply.github.com> Date: Sun, 15 Nov 2026 07:24:33 -0500 Subject: [PATCH] docs: report the conv_route_batch_after fix as merged, everywhere it appears MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The fix landed (b906f0b5), but three pages still described it as open, and one measured report never mentioned that neither of its binaries read the key at all. - docs/PERF-NEXT.md §7 said "unmerged - it must not touch serve/ on this branch". It is merged, with the resolution order, the test, and the note that it is behaviour-neutral for the deployment. - DIRIGO.md lists conv_route_batch_after as a config lever; that is only true from b906f0b5 onward, so the list now says so. A reader who had tried to set it from the config would otherwise trust a page that was wrong at the time. - dirigo-results/0.2.13-port/README.md: neither arm of the fork-vs-stock run read that key, so both served at the default 4. Symmetric and it does not move the comparison, but a config-only change would not have shown up - that belongs in the report, not only in the inventory. - dirigo-results/notes/improvements-2026-11-08.md: its item 1 proposed "2 vs 4 vs 6, a config key, one restart per arm". Kept as the dated record, closed with a pointer to what actually happened, including that the proposed experiment would have measured nothing. Verified: no broken link or anchor in any of the four pages, all five front-door pages still render every table, and .0.2.13-port's provenance paragraph remains accurate as written. --- DIRIGO.md | 4 +++- dirigo-results/0.2.13-port/README.md | 4 ++++ dirigo-results/notes/improvements-2026-11-08.md | 4 ++++ docs/PERF-NEXT.md | 11 +++++++---- 4 files changed, 18 insertions(+), 5 deletions(-) diff --git a/DIRIGO.md b/DIRIGO.md index f145627452a..3d660d05d79 100644 --- a/DIRIGO.md +++ b/DIRIGO.md @@ -139,7 +139,9 @@ ninja -C build-sycl-aot -j10 strata The server's own levers are read from the run config (`thinking_policy`, `conv_route`, `conv_route_batch_after`, `spec_window`, `spec_window_needle_min`, `short_answer`, `code_tune`) or the matching flags; `GET /v1/tuning` reports -every one of them plus the tuner, and `POST /v1/tune` retunes the running engine. +every one of them plus the tuner, and `POST /v1/tune` retunes the running engine. One qualification, because it bit a +measurement: `conv_route_batch_after` was ignored from the config until `b906f0b5` — before that only the flag worked, +so a config edit looked applied and was not. ## Upstream diff --git a/dirigo-results/0.2.13-port/README.md b/dirigo-results/0.2.13-port/README.md index eef5f7b9e40..23b9b97f88c 100644 --- a/dirigo-results/0.2.13-port/README.md +++ b/dirigo-results/0.2.13-port/README.md @@ -55,6 +55,10 @@ pack, same `args`, `conv_route: "on"`, `thinking_policy: "on"`, and the two `dat byte-identical (`sha256 7bd9a9c35d65b68b…`). The stock server ignores the fork's lever keys rather than erroring on them. Full details in `provenance.json`. +One key neither measured binary read: `conv_route_batch_after` was honoured only from the command-line flag until +`b906f0b5` (found 2026-11-14, after this run), so both arms here served at the default 4 — symmetric, and it does not +move the comparison, but a config-only change to that value would not have shown up in either arm. + ## 1. Unit suites | | dirigo | stock | diff --git a/dirigo-results/notes/improvements-2026-11-08.md b/dirigo-results/notes/improvements-2026-11-08.md index 632dd5121ee..9c7c40b92c1 100644 --- a/dirigo-results/notes/improvements-2026-11-08.md +++ b/dirigo-results/notes/improvements-2026-11-08.md @@ -160,6 +160,10 @@ is indistinguishable from 0.2.11. That is the strongest evidence yet for the lev 1. **`conv_route`'s threshold** (`conv_route_batch_after`, 4): the sweep above shows the router firing on every run, so 2 vs 4 vs 6 is the natural next measurement — a config key, one restart per arm. And a *conversational* sweep (repeated multi-turn prompts) to confirm the switch-back does not cost the reuse case under load. + **Closed 2026-11-14** (this note is kept as the record of 11-08): the conversational sweep ran at 1 against 4 — + 1 saves 0.52 s across six one-shot requests and costs a conversation **1.88 s** per re-open, so 4 stands + ([`docs/PERF-NEXT.md`](../../docs/PERF-NEXT.md) §7). Sweeping it also showed the key was inert: the server read only + the flag, so "a config key, one restart per arm" would have measured nothing. Fixed in `b906f0b5`. 2. **thinking off for small-budget code asks** — still the open quality item; harder tasks did not rescue thinking (9/10 vs 10/10, and 10x the wall time). 3. Nothing else from today's list: `pcie_frac`, `spec_min_p 0.7`, deeper suffix windows all measured worse or noise. diff --git a/docs/PERF-NEXT.md b/docs/PERF-NEXT.md index 61f1b5b4cae..774b9778c87 100644 --- a/docs/PERF-NEXT.md +++ b/docs/PERF-NEXT.md @@ -146,10 +146,13 @@ seconds: extraction queue clears that easily; anything that alternates a tool call with a chat turn never does. 4. **The flip costs the request right after it, and nothing else** — `C3` reuses in both arms (0.549 / 0.544), and the repeat `R2` re-reads in both (2.330 / 2.316), because another conversation's context displaced it either way. -5. **The value was never actually settable.** Both configs produced identical results on all eleven steps until the flag - was passed by hand: `serve/server.py` read `--conv-route-batch-after` and ignored the config's - `conv_route_batch_after`, while the launcher writes the key and passes no flag. Fixed in - [PR #16](https://github.com/rwkeyes/Strata/pull/16) (unmerged — it must not touch `serve/` on this branch). +5. **The value was never actually settable, until it was fixed.** Both configs produced identical results on all + eleven steps until the flag was passed by hand: `serve/server.py` read `--conv-route-batch-after` and ignored the + config's `conv_route_batch_after`, while the launcher writes the key and passes no flag — so every deployment ran 4 + whatever the config said. **Fixed and merged**: `b906f0b5` + ([PR #16](https://github.com/rwkeyes/Strata/pull/16)), three files under `serve/`, resolution order flag → config → 4, + with a test that pins all four cases. It is behaviour-neutral for the deployment (its config says 4, and 4 is what it + resolves to) and it is the only code change on this branch after the snapshot — `DIRIGO.md` records that. Decision: **4 stands.** 1 is only right for a pure single-shot queue, and this fork is not sold as one.