Add builder generation trace metadata

This commit is contained in:
2026-06-27 15:25:40 +02:00
parent 3d0a8cace8
commit 607c2b8751
4 changed files with 136 additions and 0 deletions
+21
View File
@@ -216,3 +216,24 @@ def axis_rng(seed_config: dict[str, int], axis: str, base_seed: int, row_number:
if configured is None:
return random.Random(row_seed(base_seed, row_number, salt))
return random.Random(row_seed(configured, row_number, salt))
def axis_seed_trace(
seed_config: str | dict[str, Any] | None,
base_seed: int,
row_number: int,
axes: Iterable[str] = SEED_LOCK_AXES,
) -> dict[str, dict[str, int | str]]:
parsed = parse_seed_config(seed_config)
trace: dict[str, dict[str, int | str]] = {}
for axis in axes:
configured = configured_axis_seed(parsed, axis)
seed_value = int(configured) if configured is not None else int(base_seed)
source = "configured" if configured is not None else "main"
salt = SEED_AXIS_SALTS.get(axis, 0)
trace[axis] = {
"source": source,
"seed": seed_value,
"rng_seed": row_seed(seed_value, row_number, salt),
}
return trace