refactor(libsy): share capability input and separate judge settings - #900
Conversation
Signed-off-by: nachiketb <nachiketb@nvidia.com>
Signed-off-by: nachiketb <nachiketb@nvidia.com>
|
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository: NVIDIA-NeMo/Switchyard/.coderabbit.yaml Review profile: CHILL Plan: Enterprise Run ID: 📒 Files selected for processing (7)
Included review availability: This review used your included allowance. Your plan provides up to 12 included reviews per hour; 10 remain after this review. WalkthroughThe classifier configuration separates routing and message-window options from LLM judge settings. The classifier, runner, Python bindings, and tests now use the nested judge configuration. Flat serialized settings map into the new structure. ChangesClassifier judge configuration
Priority: ⬇️ Low Estimated code review effort: 3 (Moderate) | ~20 minutes Merge Risk: ⚪ Minimal · up to This refactor keeps the flat serialized configuration and the Python signatures unchanged, and no concrete merge-blocking risk was identified. The Rust construction API changes, and the callers shown in the change are updated. 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
I’m a rabbit with config tucked tight, Comment |
|
@nachiketb-nvidia Looks good. Just one thing, adding a CapabilityConfig , does it conflict with CustomClassifier / Judge how is that working now ? |
What
Share conversation selection between judge types and separate capability routing settings from the LLM judge's prompt, token limit, and solve-probability thresholds.
TaskClassifierConfignow selectsCapabilityJudgeConfig::Llm(LlmCapabilityConfig { ... }). Existing LLM behavior is preserved.Why
A relative-advantage decision judge needs its own cutoff and evidence. Keeping LLM settings inside the LLM variant prevents them from becoming unused or misleading decision settings. Part of SWITCH-1687.
How
TaskInput::messagesfor the shared conversation window and reasoning removal. Append the LLM routing instruction only when building LLM judge messages.LlmCapabilityConfig.Validation
Notes for reviewers
Stack 1/2, based on
main. Review and merge in order: #900 → #901. Start withTaskInput::messages, the config types, and the compatibility deserializer; other changes are mechanical Rust caller updates.Includes the input refactor previously proposed in #899. Diff: seven files, +185 / −85 lines.
This changes the Rust construction API. Existing TOML and Python callers retain their behavior. The decision variant and implementation arrive together in the next PR.
Summary by CodeRabbit