From f3586e66bc916d672773d4a6505513ba91a3595c Mon Sep 17 00:00:00 2001 From: aiqubits Date: Sun, 1 Nov 2026 02:09:48 +0800 Subject: [PATCH] server: cap shared decision prefixes at the first output (#30710) Limit the shared prefix to the first required output position of the parent and each child task. This keeps decision output embeddings available in the final batch when questions share option tokens. Fixes #30482 Signed-off-by: aiqubits --- tools/server/server-decision.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/server/server-decision.cpp b/tools/server/server-decision.cpp index 8b9911f64..a48786c80 100644 --- a/tools/server/server-decision.cpp +++ b/tools/server/server-decision.cpp @@ -1762,7 +1762,7 @@ std::vector server_decision_group_tasks(std::vector && size_t n_shared = parent.tokens.size() - 1; for (size_t j = i + 1; j < end; j++) { n_shared = std::min(n_shared, parent.tokens.get_common_prefix(tasks[j].tokens)); - n_shared = std::min(n_shared, tasks[j].tokens.size() - 1); + n_shared = std::min({n_shared, tasks[j].tokens.size() - 1, (size_t) parent.decision.pos_first(), (size_t) tasks[j].decision.pos_first()}); } if (end - i < 2 || n_shared == 0) {