2026-10-01 17:43:48 +08:00
|
|
|
|
# 更新日志
|
|
|
|
|
|
|
|
|
|
|
|
格式参考 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.1.0/),
|
|
|
|
|
|
版本号参考 [语义化版本](https://semver.org/lang/zh-CN/)。
|
|
|
|
|
|
|
|
|
|
|
|
## [Unreleased]
|
|
|
|
|
|
|
|
|
|
|
|
### Added
|
|
|
|
|
|
- 仓库骨架:`src/mcm_toolkit/` 7 个包(core / data / stats / models / solve / decision / viz)
|
|
|
|
|
|
- 顶层 `__init__.py` 只导出 7 个子包 + 8 个快捷函数,`__all__` 即公开 API 清单
|
|
|
|
|
|
- `core.Result`:唯一的结果对象(替代原建议里的 5 个 Result 类)
|
|
|
|
|
|
- `docs/01-suggestion-review.md`:对 ChatGPT 建库建议的审查与精简(14 包 → 7 包,~250 函数 → ~40)
|
|
|
|
|
|
- `docs/02-architecture.md`:包边界、`Result` / RNG / `fit-predict-score` 协议、依赖分层
|
|
|
|
|
|
- `docs/03-roadmap.md`:L0/L1/L2 分级 + **永久不做清单**
|
|
|
|
|
|
- `docs/04-environment.md`:conda / venv 配置与三个已踩的坑
|
|
|
|
|
|
- `docs/dev/function-card-template.md`:S 档算法的函数卡片模板
|
|
|
|
|
|
- `.venv`(基于 Anaconda base,`--system-site-packages`)+ 可编辑安装 —— 10.5 MB,离线可用
|
|
|
|
|
|
- conda 环境 `mcm-toolkit`(`D:\anaconda\envs\mcm-toolkit`)—— Python 3.13.15,含 SALib / pymoo / pyright
|
|
|
|
|
|
- `scripts/setup-conda.ps1` / `scripts/setup-venv.ps1` / `scripts/doctor.ps1`
|
|
|
|
|
|
- `environment.yml`:需联网时的精确复现方案
|
|
|
|
|
|
- `pyproject.toml`:核心依赖只 4 个,其余走 extras
|
|
|
|
|
|
|
2026-10-01 18:48:43 +08:00
|
|
|
|
### Changed
|
2026-10-01 19:38:59 +08:00
|
|
|
|
- `core.get_rng` / `core.set_seed`:实现(L0 第 2 项)。`get_rng` 收 `int` / `np.integer` /
|
|
|
|
|
|
`Generator` / `None`,其余类型抛 `TypeError`;无参调用复用同一个会推进的共享生成器。
|
|
|
|
|
|
`set_seed` 同时覆盖 numpy 旧全局状态,让 sklearn / statsmodels 也可复现。
|
2026-10-01 18:48:43 +08:00
|
|
|
|
- `core.Result`:补上 `__repr__` 与 `summary()` 实现(L0 第 1 项落地)。
|
|
|
|
|
|
`repr` 紧凑单行且不打印 `data` 内容;`summary()` 输出可直接贴进论文的 Markdown 表格。
|
|
|
|
|
|
|
2026-10-01 19:38:59 +08:00
|
|
|
|
### Added
|
2026-10-01 20:04:32 +08:00
|
|
|
|
- `docs/02-architecture.md` §4.7「类型约定」:注解要写全、numpy 标量的判断写法、
|
|
|
|
|
|
非法类型必须抛 `TypeError`。配套在 `docs/03-roadmap.md` 的开发纪律里加了指针。
|
2026-10-01 19:38:59 +08:00
|
|
|
|
- `docs/dev/personal-pitfalls.md`:个人易错点清单,**只追加、不通读**
|
|
|
|
|
|
|
2026-10-01 17:43:48 +08:00
|
|
|
|
### Notes
|
2026-10-01 19:19:15 +08:00
|
|
|
|
- 除 `core.Result`、`core.get_rng`、`core.set_seed` 外,其余函数体**尚未实现**(统一 `raise NotImplementedError` + `TODO(L0/L1/v0.2)` 标记)。
|
2026-10-01 17:43:48 +08:00
|
|
|
|
这是刻意的:先定接口,再按 `docs/03-roadmap.md` 的 L0 → L1 顺序填实现。
|
|
|
|
|
|
- 已知缺口:`SALib`(Sobol/Morris)、`pymoo`、`pyright` 未安装(本机离线)。
|
|
|
|
|
|
|
|
|
|
|
|
## [0.0.1] - 2026-10-01
|
|
|
|
|
|
|
|
|
|
|
|
### Added
|
|
|
|
|
|
- 项目初始化,包结构落盘(实现为空)。
|