Skip to main content

limen.cli

Provide the limen shell command for YAML validation, profiling, execution, manifest storage, and project scaffolding.

Canonical docs

What this package owns

Owns the preferred operator path for YAML manifests: scaffold, validate, profile, dry-run, run, resume, and manage committed manifests. Does not own manifest semantics, experiment execution internals, model behavior, or docs-site build behavior.

Key entry points

Entry pointUse caseNotes
limen.cli.main:cliClick command group exported by the package scriptRegistered as the limen console script.
commands/validate.pyYAML validation from the shellUses limen.yaml validation.
commands/profile.pyParameter-space and runtime profiling for YAML manifestsFetches the configured data source and samples a covering array of permutations.
commands/run.pyExecute a YAML experimentCompiles YAML into a manifest and runs UEL.
commands/resume.pyContinue a checkpointed artifact-backed runUsed through limen run --resume.
commands/init.py and commands/list_templates.pyBundled template discovery or scaffoldingReads limen/yaml/templates.
commands/commit.py and commands/ls.pyCommitted manifest storageWrites project-local manifests/committed state.
commands/new.pyNew project scaffoldClones the official project template.

Adjacent modules

  • limen.yaml parses, validates, compiles, stores, and profiles YAML manifests.
  • limen.experiment executes the compiled SFD through UEL.
  • limen.sfd supplies packaged decoder templates.

Quick orientation

cli/
|-- main.py # Click command group and command registration
|-- git_utils.py # git helper calls for project commands
`-- commands/
|-- validate.py
|-- profile.py
|-- run.py
|-- resume.py
|-- init.py
|-- list_templates.py
|-- commit.py
|-- ls.py
`-- new.py

Things to know

  • limen profile always reports static search-space fields, then fetches the configured production data_source and runs a covering-array sample for timing and data-quality diagnostics. A data-load or sample failure is reported in the profile result.
  • The normal first-run loop is limen init, limen validate, limen profile, limen run --dry-run, then limen run.
  • limen run accepts both direct YAML files and committed manifest://sha256: URIs.
  • limen run writes a result directory containing the copied manifest, metadata.json, results.csv, and round_data.jsonl.
  • limen commit writes the project manifest store before attempting the git commit.
  • Command code should stay thin; YAML semantics belong in limen.yaml and execution semantics belong in limen.experiment.