Skip to content

docs: describe resil as a general-purpose library, not Bud's gateways - #1

Merged
dittops merged 1 commit into
mainfrom
docs/generic-library
Sep 27, 2026
Merged

dittops merged 1 commit into
mainfrom
docs/generic-library

Conversation

@dittops

@dittops dittops commented Sep 27, 2026

Copy link
Copy Markdown
Member

Summary

resil's docs described it as "traffic policy for Bud's gateways". They now describe what it does for any replicated service in front of upstreams:

  • a local-first, Redis-synced rate and concurrency limiter
  • failure classification, retry, circuit breaking and fallback chains

Changes

  • Cargo.toml: generic description, plus keywords and categories.
  • README and crate/module docs:
    • No references to budgateway, WaaV, budapp or budadmin, model_table / voice_table, or the bud-runtime spec's section numbers.
    • The benchmark baseline is now described as a "cached-counter" limiter design.
  • Retry profiles renamed after what they are, not their first callers. Behaviour is unchanged.
    • Backoff::budgateway / RetryPolicy::budgateway → standard (1 s base, additive jitter)
    • Backoff::waav / RetryPolicy::waav → interactive (250 ms base, full jitter)
  • Tests: comments no longer cite the Bud test-plan IDs; test names are generic.

Breaking: callers of the old profile names must rename. WaaV is the only caller, updated in its PR.

Dependents

The bud-runtime and WaaV PRs pin this branch's head 9be62f18ac968cb98e4ccc621c42cd73e960f9ba. Merge this PR with a merge commit, so that sha stays reachable from main. If it's squash- or rebase-merged instead, re-pin both.

Testing

cargo fmt --check
cargo clippy --all-targets --features redis-0-31 -- -D warnings
cargo clippy --all-targets --features redis-0-27 -- -D warnings
RUSTDOCFLAGS='-D warnings' cargo doc --no-deps --features redis-0-31
cargo +1.88.0 check --features redis-0-31                                           # MSRV
RESIL_TEST_REDIS_URL=redis://127.0.0.1:6390 cargo test --release --features redis-0-31

Results: 54 unit, 17 simulation, 4 Lua parity and 3 real-Valkey cluster tests pass.

🤖 Generated with Claude Code

The crate, README and module docs now describe what the library does for any replicated service in
front of upstreams, instead of how budgateway and WaaV use it: no references to Bud services, the
control plane's tables, or the design spec's section numbers.

The two retry profiles were named after their first callers. They are now named for what they are:

- `Backoff::budgateway` / `RetryPolicy::budgateway` -> `standard` (1 s base, additive jitter)
- `Backoff::waav` / `RetryPolicy::waav` -> `interactive` (250 ms base, full jitter)

Behaviour is unchanged. Callers of the old names must rename (WaaV calls `RetryPolicy::waav`).
The crate gains keywords and categories.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@dittops

dittops commented Sep 27, 2026

Copy link
Copy Markdown
Member Author

Dependents pinning this branch's head (9be62f1): BudEcosystem/WaaV#10 and BudEcosystem/bud-runtime#3058. Merge this one first, with a merge commit.

@dittops
dittops merged commit 1a2fae6 into main Sep 27, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant