feat(lab): publish E31 through E33 results

This commit is contained in:
DCCONSTRUCTIONS
2026-07-27 14:42:22 +03:00
parent fa2d66ab0e
commit 2c016b117d
11 changed files with 1544 additions and 2 deletions
@@ -142,6 +142,25 @@ class _E30Chain:
human_decisions: tuple[dict[str, Any], ...]
def read_e31_source_qualification(root: Path) -> E31SourceQualification:
"""Open and fully validate one immutable E31 result."""
resolved = _safe_result_root(root, _RESULT_ID)
manifest = _read_json(resolved / E31_MANIFEST_NAME)
identity = _object(manifest.get("identity"), "E31 identity")
result = _read_existing(resolved, identity)
if (
result.report.get("schema_version") != E31_SOURCE_QUALIFICATION_REPORT_SCHEMA
or result.report.get("result_id") != resolved.name
or result.report.get("authority") != _diagnostic_authority()
or result.manifest.get("status") != result.report.get("status")
or result.manifest.get("eligible_for_e32")
!= result.report.get("eligible_for_e32")
):
raise E31SourceQualificationError("E31 result report is inconsistent")
return result
def build_e31_source_qualification(
*,
source_pack_root: Path,