|
| 1 | +# Primitives 下一步实现计划清单(2026-03-23) |
| 2 | + |
| 3 | +## 总体原则 |
| 4 | + |
| 5 | +- [ ] 先定义稳定 API 边界,再落地实现 |
| 6 | +- [ ] 每个能力都配套 tests + examples + docs |
| 7 | +- [ ] 高风险转换默认禁止隐式触发,只允许显式 API |
| 8 | + |
| 9 | +## M1. C API 互操作层(双向) |
| 10 | + |
| 11 | +### 工作清单 |
| 12 | + |
| 13 | +- [ ] 定义稳定 C ABI(命名规范、导出宏、版本策略) |
| 14 | +- [ ] 设计双向能力:C 调用 primitives;primitives 适配并调用 C API |
| 15 | +- [ ] 统一错误模型(error code + 可选 message buffer) |
| 16 | +- [ ] 提供最小可用头文件:`include/mcpplibs/primitives/c_api.h` |
| 17 | +- [ ] 增加 C/C++ 混合构建测试(C 编译器 + C++ 链接) |
| 18 | +- [ ] 增加示例:`examples/c/basic.c`、`examples/cpp/use_c_api.cpp` |
| 19 | + |
| 20 | +### 验收标准 |
| 21 | + |
| 22 | +- [ ] 纯 C 工程可链接并完成基础能力调用 |
| 23 | +- [ ] C++ 对外部 C API 的适配调用行为可控、无未定义行为 |
| 24 | + |
| 25 | +## M2. Concept/Traits 体系增强与元信息 API |
| 26 | + |
| 27 | +### 工作清单 |
| 28 | + |
| 29 | +- [ ] 扩展 concept 分层(category/representation/policy-capability) |
| 30 | +- [ ] 完善 `traits<T>` 元信息(`kind`、`rep_type`、limits、policy tags) |
| 31 | +- [ ] 提供检测类 API(可转换性/是否有损/错误模型能力) |
| 32 | +- [ ] 统一 `constexpr` 查询入口,减少分散 traits 访问 |
| 33 | +- [ ] 增加编译期测试矩阵(`static_assert` 覆盖) |
| 34 | + |
| 35 | +### 验收标准 |
| 36 | + |
| 37 | +- [ ] 上层模块仅依赖公开 concept/traits,不依赖 `details::*` |
| 38 | +- [ ] 元信息可支撑转换层与算法层的约束判定 |
| 39 | + |
| 40 | +## M3. 显式转换层(任意策略组适用) |
| 41 | + |
| 42 | +### 工作清单 |
| 43 | + |
| 44 | +- [ ] 设计统一接口族(建议):`explicit_cast`、`try_cast`、`checked_cast` |
| 45 | +- [ ] 支持任意策略组组合,不绑定特定策略实现 |
| 46 | +- [ ] 风险可见化(截断/溢出/精度损失)并可程序化读取 |
| 47 | +- [ ] 定义失败语义(错误码或 expected 风格,按策略可配置) |
| 48 | +- [ ] 建立转换矩阵测试(同类/跨类/跨策略组) |
| 49 | + |
| 50 | +### 验收标准 |
| 51 | + |
| 52 | +- [ ] 所有跨类高风险转换必须走显式 API |
| 53 | +- [ ] 风险信息可在编译期或运行期被确定性获取 |
| 54 | + |
| 55 | +## M4. 算法层(以 max/min 为起点) |
| 56 | + |
| 57 | +### 工作清单 |
| 58 | + |
| 59 | +- [ ] 实现 `max`/`min`,并预留 `clamp`/`compare` 扩展位 |
| 60 | +- [ ] 算法统一依赖 M2+M3 的公开接口,不绕过转换层 |
| 61 | +- [ ] 支持同类与受约束的异类输入 |
| 62 | +- [ ] 在可行范围保持 `constexpr`/`noexcept` 特性 |
| 63 | +- [ ] 增加边界测试(极值、NaN、有符号/无符号混合) |
| 64 | + |
| 65 | +### 验收标准 |
| 66 | + |
| 67 | +- [ ] 算法行为与策略约束一致 |
| 68 | +- [ ] 风险路径始终显式、可审计 |
| 69 | + |
| 70 | +## 建议推进顺序 |
| 71 | + |
| 72 | +1. M2(先夯实约束与元信息基础) |
| 73 | +2. M1(建立跨语言边界) |
| 74 | +3. M3(收敛转换风险) |
| 75 | +4. M4(复用基础能力实现算法) |
| 76 | + |
| 77 | +## 总体完成跟踪 |
| 78 | + |
| 79 | +- [ ] M1 完成 |
| 80 | +- [ ] M2 完成 |
| 81 | +- [ ] M3 完成 |
| 82 | +- [ ] M4 完成 |
0 commit comments