solprop.recipe.provenance#

The recipe a run records: the authored text, the resolved one, and the data files.

A run built from a recipe writes a recipe group in its output, once, at its first start (SEP 41, S2). The authored recipe is the text as loaded, or its canonical TOML once edited. The resolved recipe is what rebuilds the run: the authored keys, the noise seed that was drawn, each keyword the metadata marks resolvable at the value the build used, and [execution] from the settings at run start. A keyword is resolvable only where its value written back gives the same record; the rest stay with the build, so a later solprop’s default cannot move a resolvable one, and the resume gate notices the others.

Module Attributes

EMBED_LIMIT

Bytes of data files a run's recipe embeds; beyond, each is kept by path and hash.

Functions

record(recipe, simulation, *[, base, ...])

Return the record a run built from a recipe keeps in its output.

resolved_document(recipe, simulation)

Return the recipe that rebuilds a run, as its tables.

solprop.recipe.provenance.EMBED_LIMIT: Final = 16777216#

Bytes of data files a run’s recipe embeds; beyond, each is kept by path and hash.

solprop.recipe.provenance.record(recipe, simulation, *, base=None, allow_outside=False)[source]#

Return the record a run built from a recipe keeps in its output.

Parameters:
recipeRecipe

The recipe.

simulationSimulation

What it built, translated, with its settings at run start.

basepathlib.Path or None, optional

The recipe’s directory, from which its data files are read.

allow_outsidebool, optional

Whether a data file may lie outside it.

Returns:
solprop.output.schema.RecipeRecord

The authored and resolved texts, and the data files.

solprop.recipe.provenance.resolved_document(recipe, simulation)[source]#

Return the recipe that rebuilds a run, as its tables.

Parameters:
recipeRecipe

The recipe the run was built from.

simulationSimulation

What it built, translated, with its settings at run start.

Returns:
dict

The authored tables, with the drawn seed, each resolvable keyword the recipe left out at the value used, and [execution] from the settings.