mod discovery_roster

module discovery_roster

Same-PES basin/ridge assignment by minimum-value information. Batch assignment of same-PES global-minimum search operators.

Every replica contributes one basin-escape opportunity and may contribute a ridge opportunity. The coordinator maximizes summed joint-minimum information per charged PES evaluation under the exclusive ride-arm capacity. An unmeasured consumer mechanism can impose a minimum ride count for identifiability. This is a two-choice cardinality-constrained assignment: start with every basin action, sort the ride-minus-basin gains, and take the largest gains within the cardinality bounds. Stable replica ordering resolves interchangeable maximizers.

Functions

fn assign_discovery_batch(search: &mut MinimumInformationSearch, basin_actions: &[(u32, SearchActionCandidate)], ride_actions: &[SearchActionCandidate], minimum_samples: usize) -> Result<Vec<DiscoveryBatchAssignment>, DiscoveryBatchError>

Allocate a simultaneous same-PES action batch across live chains.

Each replica contributes its own basin action while ridge actions form a shared exclusive pool. Unique family capacities prevent duplicate actions; MinimumInformationSearch::assign_batch discounts correlated outcomes by the predictive log determinant and prices every marginal bit by PES calls. A selected basin stays with its owner. Selected rides occupy the replicas whose redundant basin actions were omitted, in stable replica order.

fn assign_discovery_roles(opportunities: &[DiscoveryOpportunity], ride_capacity: usize, epoch: u64) -> Result<Vec<DiscoveryAssignment>, DiscoveryRosterError>

Maximize total information rate under an exclusive ride-arm capacity.

fn assign_discovery_roles_with_minimum(opportunities: &[DiscoveryOpportunity], ride_capacity: usize, minimum_rides: usize, epoch: u64) -> Result<Vec<DiscoveryAssignment>, DiscoveryRosterError>

Maximize information subject to a minimum available ride-consumer count.

minimum_rides is clipped by both the exclusive arm capacity and the number of replicas that actually have a ride alternative. This supports a bounded initialization barrier without changing steady-state information-per-cost allocation.

Enums

enum DiscoveryBatchError

Invalid candidates or incomplete batch allocation.

EmptyRoster

At least one live chain must offer a basin action.

DuplicateReplica(u32)

Every live replica owns exactly one basin alternative.

WrongMechanism

Basin and ridge slices must carry their declared mechanisms.

MinimumInformation(MinimumInformationError)

The conditional joint-information model rejected an action.

IncompleteBatch

Feasible candidates did not fill every live-chain seat.

enum DiscoveryRole

One same-system global-minimum search role.

BasinEscape

Perturb and quench to sample another terminal minimum.

SaddleRide

Follow a minimum mode and quench its downhill branch or branches.

Traits implemented

impl From<WireDiscoveryRole> for DiscoveryRole
enum DiscoveryRosterError

Invalid roster or action values.

EmptyRoster

A discovery roster requires at least one replica.

DuplicateReplica(u32)

Each replica may occupy only one roster seat.

InvalidInformationRate

Information per charged evaluation must be finite and nonnegative.

Structs and Unions

struct DiscoveryAssignment

One replica’s deterministic role inside an evidence epoch.

replica: u32

Replica identifier from the isolated ensemble roster.

role: DiscoveryRole

Search operator assigned to this replica.

epoch: u64

Minimum-information model version behind the assignment.

struct DiscoveryBatchAssignment

One live-chain seat in a redundancy-aware joint-information batch.

replica: u32

Replica receiving exactly one action family.

role: DiscoveryRole

Search operator assigned to the replica.

ride_action: Option<usize>

Index in the supplied shared ride-action slice, when assigned.

epoch: u64

Minimum-information evidence version behind the assignment.

struct DiscoveryOpportunity

Information-rate alternatives available to one replica.

replica: u32

Replica identifier from the isolated ensemble roster.

basin_information_rate: f64

Joint-minimum information per charged evaluation for basin escape.

ride_information_rate: Option<f64>

Best unclaimed ride-arm information rate, if a ride is feasible.

Implementations

impl DiscoveryOpportunity

Functions

fn new(replica: u32, basin_information_rate: f64, ride_information_rate: Option<f64>) -> Result<Self, DiscoveryRosterError>

Validate one pair of same-PES action values.