Files
MCM-ICM_Toolkit/docs
guzhujushi 6758e81c9d fix(data): 校验早于副作用,补空行;经验写入 pitfalls
save_table 的两处收尾(用户授权代改):

- 后缀校验原先藏在 if/else 分支的 else 里,排在 path.parent.mkdir(...) 之后,
  传 sub/x.txt 会先把 sub\ 建出来再抛 ValueError。改成守卫子句,集中在 mkdir 之前,
  校验段结束后才产生副作用;此时 else 分支自然消失,用回 if/else 两路分派
- __all__ 与下一个 def 之间补回第二个空行(PEP 8 / E302)

测试:
- 新增 test_save_table_validates_before_touching_disk,
  断言参数非法时 tmp_path 下一个条目都不留(ValueError 与 TypeError 两条路径)
- 40 passed / 44 skipped,两套环境一致;ruff All checks passed

文档:
- docs/dev/personal-pitfalls.md 追加条目 5(参数校验排在副作用之后)
  与条目 6(把 lint 的"没报错"当成"没问题"),索引表同步加行
- STATUS:io.py 收尾,L0 第 3 项完成;测试计数 40
- CHANGELOG:Fixed 段补两条
2026-10-01 23:26:47 +08:00
..

文档索引

本目录是 MCM/ICM Toolkit 的需求、架构、方案与开发规范的唯一落盘处。

文档 内容
01-suggestion-review.md 对 ChatGPT 建库建议的审查与精简:留什么、砍什么、补什么
02-architecture.md 精简后的包结构、边界划分、统一接口约定
03-roadmap.md 功能清单分级(L0 / L1 / L2 / 不做)与开发纪律
04-environment.md conda / venv 环境配置、镜像、离线约束
dev/function-card-template.md S 档算法的「函数卡片」模板
05-git-workflow.md Git 工作流、Gitea 远程(SSH 走 Tailscale)、行尾策略
dev/personal-pitfalls.md 个人易错点清单:只追加,追加前不通读

阅读顺序

  1. 先读 01-suggestion-review.md —— 它决定后面所有事。
  2. 再读 02-architecture.md —— 它决定代码往哪写。
  3. 开工前读 03-roadmap.md 的对应条目 —— 它决定这次做什么、做到什么程度。
  4. 环境出问题看 04-environment.md。

项目级进度看根目录的 STATUS.md;本目录只放不会频繁变的内容。