# Agent Guidelines
## Spec
- Source of truth: `openapi_snapshot_tool.md`
- Keep phase statuses updated as implementation progresses.
## Global Rules
- Add tests for new or changed behavior.
- Keep CLI output stable; avoid breaking changes without version bumps.
## Language Guidance
### Rust
- Do NOT use unwraps or anything that can panic in Rust code, handle errors. Obviously in tests unwraps and panics are fine!
- In Rust code I prefer using `crate::` to `super::`; please don't use `super::`. If you see a lingering `super::` from someone else clean it up.
- Avoid `pub use` on imports unless you are re-exposing a dependency so downstream consumers do not have to depend on it directly.
- Skip global state via `lazy_static!`, `Once`, or similar; prefer passing explicit context structs for any shared state.
#### Rust Workflow Checklist
1. Run `cargo fmt`.
1. Run `cargo clippy --all --benches --tests --examples --all-features` and address warnings.
1. Execute the relevant `cargo test` or `just` targets to cover unit and end-to-end paths.