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. Study::view calls storage sync once from that cursor and folds in the returned deltas. ask has this sync on its fresh-trial path; stop, budget, resume, and replacement paths can return before it. The decision points are ask and each terminal tell.

Other reads ride beside the sync, each only when its feature is in use: a full snapshot per ask when the study has a target, each newly reporting trial’s atune.lineage record, once, under a fidelity budget, and constraint state for newly synced completed and pruned trials when the sampler reads constraints. Resumes, replacements and forks also read the trial records and checkpoints they start from.

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.
EstimateRecord
One estimand’s stored replicates for one trial.
FinalReport
The outcome of the final test-seed re-evaluation stage (Study::reevaluate).
ForkOrigin
A trial’s fork provenance: the version-1 atune.lineage record.
IncumbentPoint
One trial on a single-objective study’s best-so-far (incumbent) curve (crate::study::StudyView::incumbent_curve).
LedgerEntry
One trial’s line of a ResourceLedger.
LedgerEvaluation
One stored evaluation stage of a LedgerEntry.
LineageEntry
One trial’s place in the fork genealogy.
Recipe
The schedule that produced one trial: its lineage as replayable segments.
RecipeEvent
The fork or restart at the start of a RecipeSegment.
RecipeSegment
One trial’s stretch of a Recipe.
ReevalEntry
One configuration’s tune-vs-test comparison in a FinalReport.
ResourceLedger
A study’s resource ledger (Study::resource_ledger).
Restart
The restart a Restart child carries.
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.
StopHandle
Asks a Study handle to start no more trials.
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.
TrialEstimates
A trial’s final-stage estimates: the version-1 atune.estimate record.

Enums§

Direction
Which way is better for one objective.
EstimateSource
What an EstimateRecord evaluated: the exact checkpoint or recipe.
Evaluation
Which final-stage estimand an evaluation computes.
EvaluationStage
The evaluation stage a LedgerEvaluation counts.
ResourceUnit
What the step of an intermediate report counts.
StudyEvent
A committed lifecycle event emitted by a Study.

Constants§

ESTIMATE_BLOB_KIND
The kind tag of a trial’s final-stage estimate record.
ESTIMATE_BLOB_VERSION
The schema version of a trial’s final-stage estimate record.
LINEAGE_BLOB_KIND
The kind tag of a trial’s fork provenance record.
LINEAGE_BLOB_VERSION
The schema version of a trial’s fork provenance record.
RECIPE_SCHEMA
The schema field of every exported Recipe.
RECIPE_VERSION
The version field of every exported Recipe.

Traits§

StudyObserver
Receives typed study lifecycle events.

Functions§

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