2 """Run and write every performance-evidence validation bundle (full pipeline) in one process. 5 python benchmarks/density_matrix/performance_evidence/validation_pipeline.py 8 from __future__
import annotations
12 from pathlib
import Path
13 from typing
import Any
15 REPO_ROOT = Path(__file__).resolve().parents[3]
16 if str(REPO_ROOT)
not in sys.path:
17 sys.path.insert(0, str(REPO_ROOT))
19 from benchmarks.density_matrix.performance_evidence
import (
20 benchmark_bundle_validation
as benchmark_package,
22 from benchmarks.density_matrix.performance_evidence
import (
23 benchmark_matrix_validation
as benchmark_matrix,
25 from benchmarks.density_matrix.performance_evidence
import (
26 counted_supported_validation
as counted_supported,
28 from benchmarks.density_matrix.performance_evidence
import (
29 diagnosis_validation
as diagnosis,
31 from benchmarks.density_matrix.performance_evidence
import (
32 metric_surface_validation
as metric_surface,
34 from benchmarks.density_matrix.performance_evidence
import (
35 positive_threshold_validation
as positive_threshold,
37 from benchmarks.density_matrix.performance_evidence
import (
38 sensitivity_matrix_validation
as sensitivity_matrix,
40 from benchmarks.density_matrix.performance_evidence
import (
41 summary_consistency_validation
as summary_consistency,
43 from benchmarks.density_matrix.performance_evidence.common
import (
45 write_artifact_bundle,
54 _CASE_SLICE_REGISTRY: tuple[tuple[Any, str, str], ...] = (
55 (benchmark_matrix,
"build_benchmark_matrix_cases",
"build_benchmark_matrix_bundle"),
56 (counted_supported,
"build_counted_supported_cases",
"build_counted_supported_bundle"),
57 (positive_threshold,
"build_positive_threshold_cases",
"build_positive_threshold_bundle"),
58 (sensitivity_matrix,
"build_sensitivity_matrix_cases",
"build_sensitivity_matrix_bundle"),
59 (metric_surface,
"build_metric_surface_cases",
"build_metric_surface_bundle"),
60 (diagnosis,
"build_diagnosis_cases",
"build_diagnosis_bundle"),
64 _SPECIAL_BUNDLE_REGISTRY: tuple[tuple[Any, str], ...] = (
65 (benchmark_package,
"build_performance_evidence_benchmark_package"),
66 (summary_consistency,
"build_summary_consistency_bundle"),
71 results: list[tuple[str, str, Path]] = []
73 for mod, cases_attr, bundle_attr
in _CASE_SLICE_REGISTRY:
74 cases = getattr(mod, cases_attr)()
75 bundle = getattr(mod, bundle_attr)(cases)
80 for mod, bundle_attr
in _SPECIAL_BUNDLE_REGISTRY:
81 bundle = getattr(mod, bundle_attr)()
89 def main(argv: list[str] |
None =
None) -> int:
90 parser = argparse.ArgumentParser(description=__doc__)
94 help=
"Suppress per-bundle console output.",
96 args = parser.parse_args(argv)
98 DEFAULT_OUTPUT_ROOT.mkdir(parents=
True, exist_ok=
True)
100 for suite_name, status, output_path
in results:
102 print(f
"{suite_name}: status={status} path={output_path}")
103 return 0
if all(status ==
"pass" for _, status, _
in results)
else 1
106 if __name__ ==
"__main__":
107 raise SystemExit(
main())
def write_artifact_bundle