Charge the backoff on a degraded build, drop raced completions, one slot-budget map

A table-build failure that keeps the link for legacy nodes now charges the
backoff, so an unwalkable database stops retrying at advertisement cadence.
The write action re-resolves from the current table only. The neutral engine
drops a discovery completion that raced a teardown. Slot charging and the
cap-check skip read one mapping, so a platform cannot be skipped uncharged.
This commit is contained in:
J. Nick Koston
2026-09-14 11:54:14 -05:00
parent 8eb5d17f3d
commit d69a1e9bf9
5 changed files with 39 additions and 18 deletions
@@ -71,7 +71,7 @@ def test_neutral_cap_check_guards_future_hub_platforms(
# Both current platforms defer to their stack budgets; pin the message
# and boundary of the branch a future budget-less hub platform takes.
set_core_config(PlatformFramework.RP2_ARDUINO)
monkeypatch.setattr(bluetooth_connection, "_STACK_BUDGET_PLATFORMS", set())
monkeypatch.setattr(bluetooth_connection, "_STACK_BUDGETS", {})
bluetooth_connection.consume_gatt_slot("bluetooth_proxy", 3)({})
bluetooth_connection.FINAL_VALIDATE_SCHEMA({})
bluetooth_connection.consume_gatt_slot("ble_client")({})