Skip to main content

limen.experiment

Define manifests and run basic or adaptive parameter search.

Canonical docs

What this package owns

Owns Manifest, MLManifest, RuleBasedManifest, the Universal Experiment Loop, parameter-search strategies, mutable search state, reducers, feedback, and checkpointing. Does not own inference reconstruction (limen.inference), model architectures, indicators, features, or metric helpers.

Key entry points

Entry pointUse caseNotes
Manifest, MLManifest, RuleBasedManifest, CalibrationConfigDeclarative experiment pipelines and calibration configurationExported at the package root
UniversalExperimentLoopRun an SFD across parameter permutationsExported at the package root
GridStrategy, RandomStrategy, STRATEGY_REGISTRYBuilt-in advanced-search strategy surfaceExported at the package root

Adjacent modules

  • limen.sfd supplies the experiment configuration that this package runs.
  • limen.data supplies raw data when a manifest declares a data source.
  • limen.log analyzes completed runs.
  • limen.cohort builds decoder cohorts on top of finished experiment results.
  • limen.inference owns Trainer, Sensor, and ReconstructionError; the top-level limen package lazily re-exports those names.

Quick orientation

experiment/
├── experiment_core.py # UniversalExperimentLoop
├── manifest_core.py # Manifest and builder components
├── checkpoint_manager.py # Persist and restore advanced-run state
├── feedback_controller.py # Mid-run adaptive callbacks
├── msq.py # Mutable Search Queue
├── param_domain.py # Mutable parameter domain
├── reducer/
│ └── pruning_strategy.py # Pruning interfaces and implementations
└── param_search/ # SearchStrategy, GridStrategy, RandomStrategy

Things to know

  • Manifest-driven SFDs run prep every round: prep_each_round auto-resolves to True at its default, and explicit False is rejected.
  • The basic run() path uses legacy ParamSpace. The advanced path adds SearchStrategy, ParamDomain, MSQ, checkpoints, and feedback hooks.
  • When experiment_dir is set, Limen writes all major artifacts under one directory, including checkpoint, audit, round-data, and results files.
  • Results are appended incrementally during a run, so experiment files should be treated as durable artifacts rather than temporary output.