MRES_ASSERT is diagnostic only. Runtime validation still runs and returns a library status.
Policies are copied during successful initialization. Mutating the caller's policy object does not update an existing instance.
Generated configuration values outside the supported range fail compilation with an MRES_DIAG_* diagnostic.
A non-zero wait callback return becomes MRES_ERR_WAIT_FAILED.
If retry computes a positive delay and platform->wait is absent, the call returns MRES_ERR_WAIT_REQUIRED.
Operation callback results are reported through output parameters so they cannot collide with library status values.
Same-instance recursive execution or reset returns MRES_ERR_BUSY.
Invalid breaker states fail closed with MRES_ERR_INVALID.
Open timestamps are captured after the failing callback returns.
Manual success in OPEN does not close the breaker. Manual failure in OPEN does not reset the existing timeout.
This repository supports one synchronous half-open probe only.
Refill logic bounds multiplication through missing-token calculations to avoid overflow-driven underfill.
mres_ratelimit_acquire(..., 0, ...) is invalid.
The library assumes a monotonic modulo counter within one wrap cycle. Arbitrary backward jumps are unsupported.
Shared-instance thread safety and ISR safety are not claimed. External serialization is required for shared instances.
Use the installed package config and link microres::microres only.
The test Makefile now honors caller-provided CPPFLAGS, CFLAGS, and LDFLAGS.
Compile-fail tests check repository-defined MRES_DIAG_* tokens rather than compiler-specific wording.
Some CI jobs depend on toolchain availability in the runner image and should be treated as environment-sensitive until verified.