Skip to content

fix: wire reasoning parser from worker runtime config into frontend#6300

Merged
MatejKosec merged 1 commit intomainfrom
mkosec/fix-reasoning-parser
Feb 18, 2026
Merged

fix: wire reasoning parser from worker runtime config into frontend#6300
MatejKosec merged 1 commit intomainfrom
mkosec/fix-reasoning-parser

Conversation

@MatejKosec
Copy link
Copy Markdown
Contributor

@MatejKosec MatejKosec commented Feb 14, 2026

Summary

  • The frontend's get_parsing_options() in ModelManager hardcoded reasoning_parser to None (with a TODO comment), so reasoning_content was always null in API responses regardless of the worker's --dyn-reasoning-parser setting.
  • Added get_model_reasoning_parser() method (mirrors existing get_model_tool_call_parser()) that reads reasoning_parser from the worker's RuntimeConfig via service discovery.
  • Updated get_parsing_options() to call the new method instead of returning None.

Test plan

  • Deployed on Nebius with GLM-Z1-0414-A3B (FP8, tp4) using --dyn-reasoning-parser deepseek_r1
  • Confirmed reasoning_content is populated in streaming responses via both OpenAI (/v1/chat/completions) and Anthropic (/v1/messages) endpoints
  • Verified non-reasoning models are unaffected (reasoning_parser remains None when not configured)

Summary by CodeRabbit

  • New Features

    • Added capability to retrieve model reasoning parsers from model configurations.
  • Improvements

    • Enhanced model parsing options to integrate reasoning parser information for improved AI model handling.

@MatejKosec MatejKosec requested a review from a team as a code owner February 14, 2026 00:04
@github-actions github-actions Bot added the fix label Feb 14, 2026
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Feb 14, 2026

Walkthrough

A new public method get_model_reasoning_parser() was added to the model manager to retrieve a model's reasoning parser from model cards. The existing get_parsing_options() method was updated to use this new method instead of a None placeholder for reasoning parser retrieval.

Changes

Cohort / File(s) Summary
Model Reasoning Parser Retrieval
lib/llm/src/discovery/model_manager.rs
Added get_model_reasoning_parser() method to fetch reasoning parsers from model cards and updated get_parsing_options() to use it.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

Poem

🐰 A parser for reasoning, so fine and so new,
Model managers fetch what the cards say is true,
Options flow cleaner with each tiny hop,
Eight lines of clarity—improvement won't stop! ✨

🚥 Pre-merge checks | ✅ 3 | ❌ 1
❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 33.33% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately describes the main change: wiring the reasoning parser from worker runtime config into the frontend, which aligns with the core fix of updating get_parsing_options() to use the new get_model_reasoning_parser() method.
Description check ✅ Passed The description includes all required template sections (Overview/Summary, Details, Where to start, and Related Issues), provides clear context about the problem and solution, includes comprehensive test plan with deployment verification, and is well-structured and complete.
Merge Conflict Detection ✅ Passed ✅ No merge conflicts detected when merging into main

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


No actionable comments were generated in the recent review. 🎉

Tip

Issue Planner is now in beta. Read the docs and try it out! Share your feedback on Discord.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown
Contributor

@jthomson04 jthomson04 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yolo

The frontend's get_parsing_options() hardcoded reasoning_parser to None,
meaning reasoning content was never extracted from model output regardless
of the worker's --dyn-reasoning-parser setting. Add get_model_reasoning_parser()
following the same pattern as get_model_tool_call_parser() to read the
parser name from the worker's RuntimeConfig via service discovery.

Signed-off-by: Matej Kosec <mkosec@nvidia.com>
@MatejKosec MatejKosec force-pushed the mkosec/fix-reasoning-parser branch from 641af6f to 76a5ff2 Compare February 17, 2026 22:24
@MatejKosec MatejKosec merged commit b8c7015 into main Feb 18, 2026
83 of 84 checks passed
@MatejKosec MatejKosec deleted the mkosec/fix-reasoning-parser branch February 18, 2026 00:03
Trilok-Sachin pushed a commit to Trilok-Sachin/dynamo that referenced this pull request Feb 18, 2026
…i-dynamo#6300)

Signed-off-by: Matej Kosec <mkosec@nvidia.com>
Signed-off-by: Trilok Sachin <ctsachin3@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants