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
StudyConfiga study is created from, itsBudget, the rawStudyViewsamplers and schedulers see, and the hydratedStudySnapshotobservers use; - the driving:
Study, the handle that binds storage, sampler, scheduler and clock together and turns them into ask/tell andoptimize.
§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.
- Estimate
Record - One estimand’s stored replicates for one trial.
- Final
Report - The outcome of the final test-seed re-evaluation stage
(
Study::reevaluate). - Fork
Origin - A trial’s fork provenance: the version-1
atune.lineagerecord. - Incumbent
Point - One trial on a single-objective study’s best-so-far (incumbent) curve
(
crate::study::StudyView::incumbent_curve). - Ledger
Entry - One trial’s line of a
ResourceLedger. - Ledger
Evaluation - One stored evaluation stage of a
LedgerEntry. - Lineage
Entry - One trial’s place in the fork genealogy.
- Recipe
- The schedule that produced one trial: its lineage as replayable segments.
- Recipe
Event - The fork or restart at the start of a
RecipeSegment. - Recipe
Segment - One trial’s stretch of a
Recipe. - Reeval
Entry - One configuration’s tune-vs-test comparison in a
FinalReport. - Resource
Ledger - A study’s resource ledger (
Study::resource_ledger). - Restart
- The restart a
Restartchild carries. - Retry
Policy - What a failed trial is allowed to cost before the study gives up on it.
- Retry
Record - What a retried trial records about its origin.
- Stop
Handle - Asks a
Studyhandle to start no more trials. - Study
- A study: storage, sampler, scheduler, clock and configuration, bound.
- Study
Builder - Builds a
Study, injecting the handles it drives. - Study
Config - Everything a study is created from.
- Study
Locator - Resolves study identity through a storage backend’s optional catalog.
- Study
Reader - A read-only snapshot of one study.
- Study
Snapshot - One immutable, presentation-neutral study observation.
- Study
View - A consistent, incrementally maintained view of a study.
- Tracing
Observer - Observer adapter that emits
StudyEventvalues as structuredtracingevents. - Trial
Estimates - A trial’s final-stage estimates: the version-1
atune.estimaterecord.
Enums§
- Direction
- Which way is better for one objective.
- Estimate
Source - What an
EstimateRecordevaluated: the exact checkpoint or recipe. - Evaluation
- Which final-stage estimand an evaluation computes.
- Evaluation
Stage - The evaluation stage a
LedgerEvaluationcounts. - Resource
Unit - What the
stepof an intermediate report counts. - Study
Event - 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
schemafield of every exportedRecipe. - RECIPE_
VERSION - The
versionfield of every exportedRecipe.
Traits§
- Study
Observer - Receives typed study lifecycle events.
Functions§
- fork_
lineage - Reconstructs the fork genealogy of a study from a
StudyView.