thalarch-rustlisted
Install: claude install-skill LUC4N3X/antigravity-thalarch
# Thalarch Rust
Use the repository's toolchain/MSRV, Cargo features, async runtime, lint policy, and architecture.
Do not require the newest edition or rewrite working code merely to use newer syntax.
## Preflight
Inspect:
- `Cargo.toml` workspace/package structure;
- `rust-toolchain*` and MSRV policy;
- feature flags/default features;
- async runtime and ecosystem dependencies;
- `clippy`/format/test/CI configuration;
- generated/FFI/unsafe boundaries.
## Ownership and API design
Prefer ownership/borrowing that makes lifetime and mutation intent obvious.
- Avoid cloning solely to appease the borrow checker without understanding ownership.
- Avoid complex lifetime machinery when a simpler owned boundary is clearer and acceptable.
- Preserve public error and feature contracts.
- Use enums/newtypes where they eliminate invalid states or ambiguous primitives.
- Keep trait abstractions tied to real polymorphism/generic requirements rather than speculative flexibility.
## Errors
- Use `Result`/`?` for recoverable failure propagation.
- Add context at boundaries where it helps operators/callers.
- Do not `unwrap`/`expect` on production paths unless the invariant is truly impossible to violate and the reason is evident.
- Preserve error source chains where the project ecosystem supports them.
## Unsafe and FFI
Treat `unsafe` as a separate proof obligation.
For every new/changed unsafe block:
- state the invariant that makes it sound;
- identify pointer/aliasing/lifetime