feat(lab): publish E31 through E33 results
This commit is contained in:
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user