chore(antithesis): Migrate Antithesis SDK to saluki-antithesis#1928
Conversation
This stack of pull requests is managed by Graphite. Learn more about stacking. |
There was a problem hiding this comment.
Pull request overview
This PR centralizes Antithesis instrumentation behind a new saluki-antithesis facade crate, replacing direct antithesis_sdk usage throughout the workspace and simplifying feature wiring so most crates no longer need their own antithesis feature.
Changes:
- Added
lib/saluki-antithesiswith exported macros (always!,sometimes!,always_le!, etc.) that forward toantithesis_sdkwhen enabled and compile to no-ops otherwise. - Updated multiple crates to call
saluki_antithesis::*macros and removed directantithesis_sdkdependencies / per-crateantithesisfeature plumbing. - Wired the workspace and
agent-data-planefeature flags to enable Antithesis viasaluki-antithesis/antithesis.
Reviewed changes
Copilot reviewed 28 out of 30 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| lib/stringtheory/src/interning/map.rs | Switches interner assertions to saluki_antithesis macros. |
| lib/stringtheory/Cargo.toml | Drops antithesis_sdk optional dep/feature; adds saluki-antithesis. |
| lib/saluki-io/src/net/util/retry/queue/persisted.rs | Replaces Antithesis assertions with facade macros; simplifies details handling. |
| lib/saluki-io/src/net/util/retry/queue/mod.rs | Replaces overflow/invariant assertions with facade macros. |
| lib/saluki-io/src/net/util/retry/classifier/http.rs | Switches non-retryable-status anchor assertion to facade macro. |
| lib/saluki-io/src/deser/codec/dogstatsd/mod.rs | Replaces unreachable Antithesis assertion with facade macro. |
| lib/saluki-io/src/deser/codec/dogstatsd/helpers.rs | Uses facade always! assertions around unchecked UTF-8 conversions. |
| lib/saluki-io/Cargo.toml | Removes antithesis_sdk feature/dependency; adds saluki-antithesis. |
| lib/saluki-core/src/topology/interconnect/dispatcher.rs | Switches discard-path anchor assertion to facade macro. |
| lib/saluki-core/src/pooling/fixed.rs | Replaces semaphore-closed unreachable assertion with facade macro. |
| lib/saluki-core/src/pooling/elastic.rs | Replaces semaphore-closed unreachable assertion with facade macro. |
| lib/saluki-core/Cargo.toml | Removes per-crate antithesis feature/dependency; adds saluki-antithesis. |
| lib/saluki-context/src/resolver.rs | Switches interner spill anchors to facade macros. |
| lib/saluki-context/Cargo.toml | Removes per-crate antithesis feature/dependency; adds saluki-antithesis. |
| lib/saluki-config/src/lib.rs | Migrates readiness assertions to facade macros; slightly refactors readiness branch. |
| lib/saluki-config/src/dynamic/watcher.rs | Replaces lagged-broadcast unreachable assertion with facade macro. |
| lib/saluki-config/Cargo.toml | Removes per-crate antithesis feature/dependency; adds saluki-antithesis. |
| lib/saluki-components/src/transforms/aggregate/mod.rs | Migrates aggregation invariants/anchors to facade macros; adjusts assertion structure. |
| lib/saluki-components/src/sources/dogstatsd/replay/reader.rs | Replaces trailer/corrupt-prefix assertion with facade macro. |
| lib/saluki-components/src/sources/dogstatsd/mod.rs | Migrates dispatch-path assertions to facade macros. |
| lib/saluki-components/src/common/datadog/io.rs | Replaces payload-forwarded anchor assertion with facade macro. |
| lib/saluki-components/Cargo.toml | Removes per-crate antithesis feature/dependency; adds saluki-antithesis. |
| lib/saluki-antithesis/src/lib.rs | New facade crate implementing feature-gated forwarding/no-op assertion macros and init(). |
| lib/saluki-antithesis/Cargo.toml | New crate manifest defining the shared antithesis feature and optional deps. |
| lib/ddsketch/src/agent/sketch.rs | Migrates DDSketch invariants/anchors to facade macros. |
| lib/ddsketch/Cargo.toml | Drops antithesis_sdk optional dep/feature; adds saluki-antithesis. |
| Cargo.toml | Adds saluki-antithesis as a workspace member and workspace dependency. |
| Cargo.lock | Updates dependency graph to route Antithesis SDK usage through saluki-antithesis. |
| bin/agent-data-plane/src/main.rs | Uses facade reachable!/unreachable!/always_or_unreachable! macros; calls saluki_antithesis::init(). |
| bin/agent-data-plane/Cargo.toml | Rewires antithesis feature to saluki-antithesis/antithesis and removes direct antithesis_sdk dep. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Binary Size Analysis (Agent Data Plane)Baseline: da59d73 · Comparison: f4420b3 · diff ✅ Binary size difference within thresholdChanges by Module
Detailed Symbol Changes |
00d0656 to
e8404b2
Compare
Regression Detector (Agent Data Plane)Run ID: Optimization Goals: ✅ No significant changes detectedFine details of change detection per experiment (5)Experiments configured
Bounds Checks: ✅ Passed (5)
ExplanationA change is flagged as a regression when |Δ mean %| > 5.00% in the regressing direction for its optimization goal AND SMP marks the experiment as a regression ( |
We've found the bare SDK use to be untidy. This commit attempts to tidy up the use of the Antithesis SDK by hiding behind a macro which * takes care of the cfg flagging on/off * does not expose the need for serde_json * remains no-op
e8404b2 to
f4420b3
Compare
|

Summary
We've found the bare SDK use to be untidy. This commit attempts to
tidy up the use of the Antithesis SDK by hiding behind a macro which
Change Type
How did you test this PR?
References