# 公共 API、trait 与演进检查清单

## 可见性与 semver

- 新增 `pub` 项是否暴露内部类型或未稳定语义，导致后续无法演进。
- 是否该用 `pub(crate)` / `pub(super)` 却放宽为 `pub`，扩大承诺面。

## Trait 与泛型

- 公共 `trait` 方法是否缺少默认实现或文档约束，导致下游实现困难。
- 泛型约束是否过宽（缺少 `Send` / `'static` 等）导致异步或线程边界上无法使用，且 diff 显示该类型将进入这些边界。

## 错误与枚举演进

- 公共 `enum` 是否缺少 `#[non_exhaustive]` 却在新版本中新增变体，破坏穷尽匹配（若 diff 显示对外枚举）。
- 错误类型是否应实现 `std::error::Error` / `source` 链却未体现，影响生态互操作。
