Skip to content

Mission configuration

Mission recipes generate materialised KTANE mission JSON. Suites and suite locks reference those files, while the run path never invokes the recipe.

Recipe and materialisation

configs/missions/recipes/<name>.yaml constructs MissionGenerator and its MissionGeneratorConfig. Materialise it with:

Run in your shell
gptnt generate-missions <name>

The command writes configs/missions/<name>/<sorted-modules>-<seed>.json. Module-count and optional- widget bounds are inclusive. With sample_from_modules: true, the generator emits one sampled mission per seed. With it disabled, the generator emits one mission per available module per seed.

Materialised JSON

The stored KTANE aliases are ruleSeed, timeLimit, numStrikes, optWidgets, needyTime, isFront, timeScale, and timeStepSize. mission_key is derived from both seeds and the sorted component names. timeStepSize is the number of milliseconds advanced by a timestep command.

Generated models

MissionGeneratorConfig pydantic-model

Bases: BaseModel

Config to generate missions for KTANE from.

Attributes

available_modules property

available_modules: list[KtaneModuleId]

Get a list of available modules.

expected_num_missions property

expected_num_missions: int

Get the expected number of missions.

MissionGenerator

Generate missions for KTANE from the config.

Includes RNGs and seeds for reproducibility.

Methods:

generate

generate() -> Iterator[KtaneMissionSpec]

Generate fresh mission specs from the configured seeds.

This is the authoring path that materialises a mission set. The run path never generates. It loads the materialised files with load_missions.

KtaneMissionSpec pydantic-model

Bases: BaseModel

Configuration for a mission in KTANE.

Attributes

mission_key property

mission_key: str

Stable identity for this mission's modules and both seeds.

requires_multiple_images_per_observation property

requires_multiple_images_per_observation: bool

Check if the mission requires multiple images per observation.

Methods:

to_query_params

to_query_params() -> QueryParams

Converts the mission spec into a query parameter string for API requests.