Skip to content

fix: parse single-line fenced LLM replies in skill generator - #45

Merged
Anai-Guo merged 1 commit into
mainfrom
chore/auto-maint-2026-10-16
Oct 17, 2026
Merged

Anai-Guo merged 1 commit into
mainfrom
chore/auto-maint-2026-10-16

Conversation

@Anai-Guo

Copy link
Copy Markdown
Owner

自动维护改动

类型:维护(小 bug 修复 + 回归测试)
改动:skills/generator.py 的 generate_skill() 用 text.index("\n") 剥离 markdown 围栏,当模型把内容放在单行围栏(…)或只回一个 ``` 时抛 ValueError。改为 `find()`,无换行时只去掉三个反引号——与 #20(parameter_optimizer)、#44(paper_pilot_client)的修法一致。新增 3 个参数化回归用例(单行围栏 / 裸围栏 / 空围栏块),修复前 2 个失败、修复后全过。
测试:通过(本地 `tests/test_skill_generator.py` 10 passed;全量 pytest 见 CI)
参考:无

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

🤖 Generated with Claude Code

generate_skill() strips markdown fences with text.index("\n"), which raises
ValueError when the model returns the skill in a single-line fence or a bare
"```". Use find() and fall back to dropping just the three backticks, mirroring
the fix already applied to the paper-pilot client and parameter optimizer.
Adds parametrized regression tests for the single-line, bare and empty-block
cases.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@Anai-Guo
Anai-Guo merged commit a297a6c into main Oct 17, 2026
3 checks passed
@Anai-Guo
Anai-Guo deleted the chore/auto-maint-2026-10-16 branch October 17, 2026 10:29
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