Expand description
Unblock scanner for budget/quota/capability-blocked executions.
Scans ff:idx:{p:N}:lane:<lane>:blocked:{budget,quota,route} per
execution partition. For each blocked execution, re-evaluates the
blocking condition. If cleared, calls FCALL ff_unblock_execution.
Cross-partition budget check is cached per scan cycle (MANDATORY — without it, 50K blocked executions = 50K budget reads).
Capability sweep reads the union of non-authoritative worker cap sets
(ff:worker:*:caps — written by ff-sdk::FlowFabricWorker::connect)
ONCE per scan cycle and uses it to decide whether a waiting_for_capable_worker
execution has a matching worker. This is best-effort: caps sets may
be slightly stale (TTL-less STRING, overwrite on restart), but the
promotion path is self-correcting — a promoted execution that still
can’t be claimed gets re-blocked on the next scheduler tick. RFC-009
§7.5 documents the v1 sweep approach and defers connect-triggered
sweeps to V2.
MUST skip paused_by_flow_cancel — only cancel_flow clears that.
Reference: RFC-008 §2.4, RFC-009 §7.5, RFC-010 §6