Skip to main content

Module study

Module study 

Expand description

Studies: configuration, budgets, the read snapshot, and the loop.

A study is a search space, a direction (or several), a seed, a budget and the trials evaluated so far. This module owns both halves:

  • the data: the StudyConfig a study is created from, its Budget, the raw StudyView samplers and schedulers see, and the hydrated StudySnapshot observers use;
  • the driving: Study, the handle that binds storage, sampler, scheduler and clock together and turns them into ask/tell and optimize.

§One sync per decision point

A handle keeps its view and advances it through a Cursor, so a decision costs exactly one incremental storage read — never a re-read of the study, and never one read per suggest. The decision points are ask and each terminal tell.

Re-exports§

pub use crate::storage::StudyCatalog;
pub use crate::storage::StudyCreateOutcome;
pub use crate::storage::StudyLoadOutcome;
pub use crate::storage::StudySummary;
pub use crate::storage::Cursor;

Structs§

Budget
What a study is allowed to spend.
FinalReport
The outcome of the final test-seed re-evaluation stage (Study::reevaluate).
LineageEntry
One trial’s place in the fork genealogy.
ReevalEntry
One configuration’s tune-vs-test comparison in a FinalReport.
RetryPolicy
What a failed trial is allowed to cost before the study gives up on it.
RetryRecord
What a retried trial records about its origin.
Study
A study: storage, sampler, scheduler, clock and configuration, bound.
StudyBuilder
Builds a Study, injecting the handles it drives.
StudyConfig
Everything a study is created from.
StudyLocator
Resolves study identity through a storage backend’s optional catalog.
StudyReader
A read-only snapshot of one study.
StudySnapshot
One immutable, presentation-neutral study observation.
StudyView
A consistent, incrementally maintained view of a study.
TracingObserver
Observer adapter that emits StudyEvent values as structured tracing events.

Enums§

Direction
Which way is better for one objective.
ResourceUnit
What the step of an intermediate report counts.
StudyEvent
A committed lifecycle event emitted by a Study.

Traits§

StudyObserver
Receives typed study lifecycle events.

Functions§

fork_lineage
Reconstructs the fork genealogy of a study from a StudyView.