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:
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
¶
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.