2 """Stage-A Phase 3.1 summary consistency vs. the Phase 3.1 correctness package. 5 python benchmarks/density_matrix/correctness_evidence/phase31_summary_consistency_validation.py 8 from __future__
import annotations
11 from pathlib
import Path
13 from benchmarks.density_matrix.correctness_evidence.common
import (
14 CORRECTNESS_EVIDENCE_PHASE31_SUMMARY_SCHEMA_VERSION,
15 build_correctness_evidence_software_metadata,
16 phase31_correctness_evidence_output_dir,
17 write_artifact_bundle,
19 from benchmarks.density_matrix.correctness_evidence.phase31_correctness_bundle_validation
import (
20 build_artifact_bundle
as build_phase31_correctness_package_bundle,
22 from benchmarks.density_matrix.correctness_evidence.records
import counted_supported_case
23 from benchmarks.density_matrix.validation_scaffold
import require_bundle_fields
25 SUITE_NAME =
"correctness_evidence_phase31_summary_consistency" 26 ARTIFACT_FILENAME =
"phase31_summary_consistency_bundle.json" 28 ARTIFACT_CORE_FIELDS = (
41 correctness_package = build_phase31_correctness_package_bundle()
42 cases = correctness_package[
"cases"]
43 negative_cases = correctness_package[
"negative_cases"]
45 summary_consistency_pass = (
46 correctness_package[
"summary"][
"total_cases"] == len(cases)
47 and correctness_package[
"summary"][
"counted_supported_cases"] == counted_supported_cases
48 and correctness_package[
"summary"][
"unsupported_boundary_cases"] == len(negative_cases)
50 main_correctness_claim_completed = (
51 counted_supported_cases == len(cases)
52 and len(negative_cases) > 0
53 and all(case[
"status"] ==
"unsupported" for case
in negative_cases)
56 "suite_name": SUITE_NAME,
57 "status":
"pass" if summary_consistency_pass
else "fail",
58 "schema_version": CORRECTNESS_EVIDENCE_PHASE31_SUMMARY_SCHEMA_VERSION,
60 "selected_candidate": correctness_package[
"selected_candidate"],
63 "Only mandatory, complete, supported evidence may close the main " 64 "correctness claim for the Phase 3.1 Stage-A bounded package." 66 "boundary_visibility_rule": (
67 "Excluded, unsupported, or deferred evidence must remain visible " 68 "as claim-boundary evidence in downstream summaries." 72 "package_kind":
"phase31_stage_a_bounded",
73 "summary_consistency_pass": summary_consistency_pass,
74 "main_correctness_claim_completed": main_correctness_claim_completed,
75 "counted_supported_cases": counted_supported_cases,
76 "excluded_supported_cases": len(cases) - counted_supported_cases,
77 "unsupported_boundary_cases": len(negative_cases),
78 "planner_entry_boundary_cases": sum(
79 case[
"boundary_stage"] ==
"planner_entry" for case
in negative_cases
81 "descriptor_generation_boundary_cases": sum(
82 case[
"boundary_stage"] ==
"descriptor_generation" 83 for case
in negative_cases
85 "runtime_stage_boundary_cases": sum(
86 case[
"boundary_stage"] ==
"runtime_stage" for case
in negative_cases
89 "required_artifacts": [
91 "artifact_id":
"phase31_correctness_package",
92 "suite_name": correctness_package[
"suite_name"],
93 "status": correctness_package[
"status"],
94 "schema_version": correctness_package[
"schema_version"],
102 def main(argv: list[str] |
None =
None) -> int:
103 parser = argparse.ArgumentParser(description=__doc__)
107 default=DEFAULT_OUTPUT_DIR,
108 help=
"Directory to write the Phase 3.1 summary consistency bundle into.",
113 help=
"Suppress console output.",
115 args = parser.parse_args(argv)
122 "summary_consistency_pass={summary_consistency_pass}, main_correctness_claim_completed={main_correctness_claim_completed}".format(
126 print(
"Wrote {}".format(output_path))
128 return 0
if bundle[
"status"] ==
"pass" else 1
131 if __name__ ==
"__main__":
132 raise SystemExit(
main())
def build_artifact_bundle()
def write_artifact_bundle
def build_correctness_evidence_software_metadata()
def phase31_correctness_evidence_output_dir
def counted_supported_case
def require_bundle_fields