Skip to content

fix: don't crash optimizer on single-line fenced LLM reply - #20

Open
Anai-Guo wants to merge 1 commit into
mainfrom
chore/auto-maint-2026-09-15
Open

Anai-Guo wants to merge 1 commit into
mainfrom
chore/auto-maint-2026-09-15

Conversation

@Anai-Guo

Copy link
Copy Markdown
Owner

自动维护改动

类型:维护(小 bug 修复 + 回归测试)
改动optimize_parameters 剥离 markdown 围栏时用 text.index("\n"),模型返回不含换行的围栏回复(如 ```{...}```)会抛 ValueError;改为无换行时直接去掉开头三个反引号,保持"解析失败降级为 reasoning-only"的既有语义。新增 2 个回归测试(修复前失败、修复后通过)。
测试:通过(tests/test_parameter_optimizer.py 8 passed;本地全量 284 passed / 1 skipped;ruff check + format 通过)
参考:无

本 PR 由每日维护任务生成,请人工 review 后再合并。

🤖 Generated with Claude Code

optimize_parameters stripped the opening markdown fence with
text.index("\n"), which raises ValueError when the model replies with a
fence but no newline (e.g. ```{...}```). The function is meant to degrade
to a reasoning-only dict rather than raise, so fall back to dropping the
three backticks when no newline is present. Adds regression tests for
both the single-line fenced JSON and a bare-fence reply.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant