rust-structural-qualitylisted
Install: claude install-skill Dankosik/rust-service-template-rest
# Rust Structural Quality
**Deletion test.** Judge each added structure by asking which current responsibility or constraint would become harder to satisfy if it were removed. Honor supplied requirements and preserve settled choices outside the requested change; resolve only what the task leaves open.
Ownership boundaries are crates, and the crate graph is the dependency rule: the service crate composes; the config, health, and infra crates are leaves that never import one another's policy; feature crates depend on no transport or provider. A new crate needs an independent reason to exist, such as a dependency direction the graph must enforce, a compile-time boundary, or an independent lifecycle; a tidy name is not a reason. A new module needs a present artifact, and a directory is never created before its first real file.
A trait with a single implementation is justified when it protects a real dependency direction or is stored as a trait object, as the probe trait is; a trait created to mock internal choreography is a collapse candidate. A one-use helper survives when it uniquely carries a protocol or ownership rule, such as the request-id grammar or the secret-key predicate, not when it shortens a call site. Modules named util, common, or helpers have no owner and are rejected by name.
Parallel execution paths, compatibility shims, and stale surfaces are collapse candidates unless an accepted current requirement keeps them with one owner, an observable activation, and