base red: subsession_trust_inherit fails over on a sign-in failure, as #27924 made the rule
Summary
Base red on feat: acpmux::subsession_trust_inherit a_full_access_chat_lends_its_folder_trust_to_sub_sessions_under_it fails at subsession_trust_inherit.rs:307 (left: "fake-full-fo", right: "fake-claims"): the failover case never fails over.
Culprit. #27924 (a1fc2c2e5ec, "recover turns after limits and gateway outages"). It made a usage limit stay on the current account and wait for its reset; only a sign-in failure fails over to the fallback profile. #27924 moved its own failover fixtures to a sign-in failure (FAKE_AUTH_FAIL, FAKE_CLAUDE_AUTH_FAIL), but this test still triggers failover with the stand-in's limit: prompt, a usage limit. Bisect on Linux; each run compiled its commit:
| commit | job | result |
|---|---|---|
| 38f2772e (#27924's parent) | 169c6d2a | pass |
| a1fc2c2e5ec (#27924) | edb316c8 | FAIL at :307 |
| feat 9e3b7aca | 99b7691f | FAIL at :307 |
Fix (test only; the #27924 rule stands). The stand-in's limit: answers a sign-in failure ("Not logged in") under FAKE_AUTH_FAIL=1, as its slow-limit already does. The failover profile fake-full-fo sets FAKE_AUTH_FAIL=1. Without the variable, limit: is a usage limit as before, so every other test that uses it is unchanged.
Testing
| run | ref | result |
|---|---|---|
| green: the test | head fc658f4f | Linux 8cae9c69, 53158fbf, 41a6dcd2: pass |
every test named *limit* (166, the other limit: users unchanged) | head | Linux eb5f9d3b: 166 pass |
Observed / Not run
Observed: the runs above. Not run: macOS (no platform code).
Changelog
none
![View with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/view-with-codesmith-dark-v3-3x.png)
![Autofix with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/autofix-with-codesmith-dark-3x.png)
Need help on this PR? Tag @codesmith-bot with what you need.
Summary by cubic
Fixes the subsession_trust_inherit failover test, which broke after #27924 made usage limits wait for a reset on the same account instead of failing over.
- Makes the
limit:stand-in response return a sign-in failure whenFAKE_AUTH_FAIL=1, so the test's failover profile triggers a real failover. - Only that profile sets
FAKE_AUTH_FAIL; all other tests usinglimit:still exercise the usage-limit path unchanged.