Skip to content

manifests

sqllocks_spindle.manifests

Run Manifest system — track and record generation run metadata.

Classes

ManifestBuilder

Incrementally build a RunManifest during a generation run.

Usage::

builder = ManifestBuilder()
builder.start(spec, pack, "retail", "small", 42)
builder.record_output("customer", rows=1000, columns=8, paths=["..."])
builder.record_validation("referential_integrity", True)
manifest = builder.finish()
ManifestBuilder.to_file(manifest, "run_manifest.json")
Methods:
start(spec, pack, domain_name, scale, seed)

Begin tracking a new generation run.

Parameters:

Name Type Description Default
spec Any

A GenerationSpec instance (or None if running pack directly).

required
pack Any

A ScenarioPack instance (or None).

required
domain_name str

Name of the domain being generated.

required
scale str

Scale preset being used.

required
seed int

Random seed.

required
record_output(table_name, rows, columns, paths=None)

Record metadata for a generated table.

record_validation(gate, result)

Record the result of a validation gate.

record_chaos(category, count)

Record chaos injection statistics.

set_fabric_ids(workspace_id='', lakehouse_id='')

Set Fabric workspace and lakehouse identifiers for the manifest.

finish()

Finalize the manifest with timing information and return it.

to_json(manifest) staticmethod

Serialize a RunManifest to a JSON string.

to_file(manifest, path) staticmethod

Write a RunManifest to a JSON file.

from_file(path) staticmethod

Load a RunManifest from a JSON file.

RunManifest dataclass

Complete metadata record for a single generation run.

The run_id follows the format: YYYYMMDD_HHMMSS_{domain}_{scale}_s{seed}.