{
"_doc": "Skiplist for the corpus freshness check (tests/scripts/check_corpus_freshness.py). Two buckets:\n * \"missing\" — case names JS has and Rust deliberately doesn't carry yet. Use when JS adds a case for a feature Rust doesn't (yet) support.\n * \"drift\" — case names where Rust deliberately keeps a different body from JS. Use sparingly — body-drift on a shared case is usually a bug.\nExtras (Rust has, JS doesn't) are reported but never fail CI, so they don't need an entry here.\nAdd a brief reason in `_reasons` whenever you add an entry so future maintainers know why.",
"missing": {
"feature": [
"CB rule with empty contexts (explore) buckets on marginal weights with fallback leaf -1",
"CB rule with no contexts key falls back to marginal weights (fallback leaf -1)",
"CB rule with empty contexts uses marginal weights (fallback leaf -1)",
"CB rule with empty contexts is overridden by forced variation like a normal experiment",
"multi-armed-bandit type is treated as a standard experiment",
"standard type is treated as a standard experiment",
"unknown bandit fields on a non-CB rule are ignored"
]
},
"drift": {},
"_reasons": {
"feature::CB rule *": "Contextual Bandit (multi-armed-bandit) rule support is not implemented in the Rust SDK yet. JS added these cases after the 0.7.1 catch-up. Tracked as a roadmap item; skiplisted so the freshness check flags future non-bandit drift.",
"feature::multi-armed-bandit type is treated as a standard experiment": "Bandit rule-type handling — not implemented in the Rust SDK yet.",
"feature::standard type is treated as a standard experiment": "Part of the same bandit rule-type batch (standard vs bandit `type` field). Rust currently ignores the `type` field; revisit when bandit support lands.",
"feature::unknown bandit fields on a non-CB rule are ignored": "Bandit-field tolerance case — bundled with bandit support."
}
}