Skip to content

refactor: split doctor fix, verify, and package phases#479

Merged
liujuanjuan1984 merged 1 commit intomainfrom
issue-440-evaluation
May 6, 2026
Merged

refactor: split doctor fix, verify, and package phases#479
liujuanjuan1984 merged 1 commit intomainfrom
issue-440-evaluation

Conversation

@liujuanjuan1984
Copy link
Copy Markdown
Collaborator

@liujuanjuan1984 liujuanjuan1984 commented May 6, 2026

Summary

  • doctor.sh 明确拆分为 fixverifypackage 三个阶段,同时保留 ./scripts/doctor.sh 作为唯一标准入口
  • pre-commit 改写工作树内容时提前退出,并提示先审查改动后再重跑 doctor.sh
  • 更新脚本文本契约测试与脚本文档,锁定新的阶段输出与提前退出语义
  • 本次不并入其它 open issues,仅处理 #440 本身

Validation

  • bash -n scripts/doctor.sh
  • bash ./scripts/doctor.sh

Issue Relation

@liujuanjuan1984 liujuanjuan1984 force-pushed the issue-440-evaluation branch from cc648cc to 733e75c Compare May 6, 2026 13:07
@liujuanjuan1984
Copy link
Copy Markdown
Collaborator Author

独立审查结论:未发现阻塞性问题,可以进入人工评审。

本次审查聚焦了代码变动、实现边界、PR 标题/描述,以及与 issue 的关系,结论如下:

  • 代码范围合理:本 PR 只处理 #440,没有把 doctor.sh 分层改造扩展到 CI workflow 调整、替代脚本引入或其它 open issues。
  • 实现方向正确:doctor.sh 仍保持单一标准入口,但内部显式拆成 fixverifypackage 三阶段,符合 issue 希望“分层更清楚而不是替代主入口”的目标。
  • auto-fix 语义处理得比较稳健:不是仅靠 dirty 标记或文件名判断,而是比较 repo 内容指纹,因此即使工作树在运行前已经有本地改动,也能识别 pre-commit 是否进一步改写了内容,这一点比只看 git status 更稳妥。
  • 测试与文档同步到位:tests/scripts/test_script_health_contract.py 已锁定新的阶段输出与提前退出提示,scripts/README.md 也同步说明了新的分层与 rerun 语义。
  • issue 关系准确:Closes #440 合理;当前没有证据表明需要再补 Related 其它 open issues,因为 #438#451#460 与本次脚本分层改造并不直接耦合。

补充说明:

  • 唯一可见的轻微代价是 repo 指纹计算会读取 untracked 文件内容,因此在非常脏、且存在大量大文件的本地工作树里会有一些额外 I/O;但对 doctor.sh 这种本地显式运行的回归入口来说,这是可以接受的权衡,而且比漏判 auto-fix 更稳妥。

当前未看到需要进一步修正的偏差、遗漏或冗余项。

@liujuanjuan1984 liujuanjuan1984 merged commit 057462e into main May 6, 2026
3 checks passed
@liujuanjuan1984 liujuanjuan1984 deleted the issue-440-evaluation branch May 6, 2026 13:13
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.

[Priority: Med] [DX] 重构 doctor.sh 的自动修复与严格校验分层

1 participant