magicblock-labs / magicblock-labs/magicblock-validator
Consolidate committor scheduling and execution ownership
- Dominant language
- Rust
- Stars
- 58
- Forks
- 58
- Avg merge
- 22h 1m
- Merged PRs (30d)
- 53
Description
## Scope
Callers currently reach scheduling through forwarding handles and an outer `IntentEngine` wrapper. Let `CommittorProcessor` own admission, execution setup, and result subscriptions directly, so those layers are no longer needed.
Keep the underlying jobs separate: `IntentStream` drains incoming work, the scheduler handles account conflicts, and the executors run each stage. Simplify executor generics and naming, reuse the shared test helper, and update callers and the crate guide for the public Rust type and error changes.
## Outcome
Callers schedule work and subscribe to results through `CommittorProcessor`, without the forwarding layers.
Work must keep its place in line. Drain buffered channel entries before the backlog, and put new work behind any existing backlog instead of letting it overtake older entries. Channel closure and backlog failures still return explicit scheduling errors, preserving partial-enqueue behavior and result delivery.
The backlog absorbs bursts; it doesn't provide durability. That remains the outbox's job. Recovery and process-lifetime poisoning stay unchanged, including **no result broadcast** for new intents rejected on poisoned keys.
Contributor guide
Assessment
This issue has not been assessed yet.