Skip to content

feat: 抽 run_per_language.py 共享 run_check/fix 的 per-language 编排 (v0.6.2) - #6

Merged
loong10k merged 1 commit into
mainfrom
feat/run-per-language-v0.6.2
Sep 22, 2026
Merged

loong10k merged 1 commit into
mainfrom
feat/run-per-language-v0.6.2

Conversation

@loong10k

Copy link
Copy Markdown
Contributor

What

  • 新增 scripts/run_per_language.py:暴露 run_check / run_fix 两个纯函数
  • scripts/run_check.py 删本地 run/check_one/fix_one;scripts/fix.py 删内联 subprocess 循环
  • 行为零变化:CLI 退出码、--fix 语义、--dry-run 输出、报告格式 100% 兼容

Why

scripts/run_check.py 与 scripts/fix.py 共 ~198 行;编排代码占 ~80% 且重复。
任何 lint/format 调用约定演进(subprocess timeout、retry、probe、dry_run、节流)
都要双改;MCP 模式与 fix.py 互相不可见但语义重叠。

Verification

  • unittest 14/14
  • run_all 141/141/0
  • openspec strict 5/5
  • git diff --check clean
  • python3 scripts/fix.py --dry-run . 在本仓:markdown/python/typescript 三条 would-run 行
  • python3 scripts/{run_check,fix}.py --help 输出与 v0.6.1 完全一致

Spec

  • ADDED idiomatic-runner (4 Requirements): per-language runner location, no subprocess
    in CLI scripts, exit-code normalization (0/124/127), dry_run behavior
  • Change archived: openspec/changes/archive/2026-09-22-add-run-per-language/

- 新增 scripts/run_per_language.py:暴露 run_check / run_fix 两个纯函数,
  封装 per-language 串行执行 + 退出码归一化(0/124/127)+ 结果聚合;
- scripts/run_check.py 删本地 run/check_one/fix_one,仅保留 argparse + 报告;
- scripts/fix.py 删内联 subprocess 循环,仅保留 argparse + 报告;
- 行为不变:CLI 退出码、--fix 语义、--dry-run 输出格式、报告格式 100% 兼容;
- 验证:unittest 14/14 + run_all 141/141/0 + openspec strict 5/5 + diff clean;
- spec: idiomatic-runner (4 Requirements) 已合入
@loong10k loong10k added the enhancement New feature or request label Sep 22, 2026
@loong10k
loong10k merged commit 1bf79b4 into main Sep 22, 2026
1 check passed
@loong10k
loong10k deleted the feat/run-per-language-v0.6.2 branch September 22, 2026 05:47
@loong10k loong10k mentioned this pull request Sep 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant