magicblock-labs / magicblock-labs/magicblock-validator

Consolidate committor scheduling and execution ownership

Open
#1,705 0 comments 0 reactions 1 assignee Assigned to @snawaz View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.