Review a Rust crate's public surface for how it ages across releases. Covers accept- generic/return-concrete, `#[non_exhaustive]`, leaking dependency types into your API (semver coupling), builders over long argument lists, sealed traits, returning `Result` before you need it, `dyn` vs generics at the boundary, additive-only feature flags, and MSRV as API. Use when designing or reviewing `pub` items, trait definitions, a crate boundary, or a pre-1.0 stabilisation pass. Not a lint pass: reasons about the next breaking change you'll be forced into.