From 170723909444f5595d7baf95f1707fd4d3210c21 Mon Sep 17 00:00:00 2001 From: Ryan Lempka Date: Wed, 5 Aug 2026 14:15:21 -0500 Subject: [PATCH] docs(routing): the classifier judge is not shown client instructions Signed-off-by: Ryan Lempka --- crates/libsy/src/algorithms/llm_class.rs | 7 +++++-- docs/routing_algorithms/llm_classifier_routing.md | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/crates/libsy/src/algorithms/llm_class.rs b/crates/libsy/src/algorithms/llm_class.rs index b9c86b62..6367374d 100644 --- a/crates/libsy/src/algorithms/llm_class.rs +++ b/crates/libsy/src/algorithms/llm_class.rs @@ -71,8 +71,11 @@ impl TaskClassifierVerdict { } } -/// Keeps client instructions, the opening task, and the last `recent_turn_window` -/// turns after it. A window of `0` keeps the instructions and the task alone. +/// Keeps the opening task and the last `recent_turn_window` turns after it. A +/// window of `0` keeps the task alone. +/// +/// Inbound decoders normalize client system and developer content into +/// `LlmRequest::instructions`, so it never reaches this list. /// /// Selects by reference and clones only what survives — a coding-agent /// conversation carries every tool result, so cloning it whole to keep a window diff --git a/docs/routing_algorithms/llm_classifier_routing.md b/docs/routing_algorithms/llm_classifier_routing.md index 1f87ab93..5bb000fc 100644 --- a/docs/routing_algorithms/llm_classifier_routing.md +++ b/docs/routing_algorithms/llm_classifier_routing.md @@ -100,7 +100,7 @@ for the server merge behavior. |---|---|---| | `base_threshold` | required | Lowest `p_solve` that routes a supported task to `weak_target`. Must be between `0` and `1`. | | `threshold_step` | `0.0` | Amount added for each boundary step. Must be finite and non-negative, and `base_threshold + 2 * threshold_step` must not exceed `1`. | -| `recent_turn_window` | unset | When unset, the judge sees the opening user task and the latest user message when they differ. When set to `N`, it sees client system/developer instructions, the opening user task, and the last `N` conversation messages after that task. `0` keeps only the instructions and opening task. | +| `recent_turn_window` | unset | When unset, the judge sees the opening user task and the latest user message when they differ. When set to `N`, it sees the opening user task and the last `N` conversation messages after that task. `0` keeps only the opening task. Client system and developer instructions are not shown to the judge. | | `session_affinity` | `false` | Retains the first selected target for a session and reuses it on later requests. | | `message_hash_fallback` | `false` | When session metadata is absent, keys affinity from the first user-message text. Requires `session_affinity = true`. | | `prompt` | packaged capability prompt | Replaces the classifier's system prompt. The packaged verdict schema and routing policy remain active. |