1@README.md 2 3- No I/O, no runtime, no Postgres: `forbid(unsafe_code)` and pure 4 functions only. Time and randomness are passed in. 5- The request bytes are the cache key's input: test exact bytes for any 6 serialization change. 7- Choice options never pass through a map type that sorts. 8- `ApiErrorKind::OutOfCredit` is inferred (a 402, or a 403 whose message 9 speaks of credit, balance, insufficient funds or quota exceeded); the vendor 10 documents no out-of-credit response. If a real one is ever seen with 11 another shape, fix `ApiError::from_response` in `src/error.rs` and correct 12 jevsnes `research/jev-api-digest.md` §10 in the same commit.