44 lines
1.6 KiB
Python
44 lines
1.6 KiB
Python
"""Typed H1-H7 namespaces. Legacy `Hn` labels remain display aliases only."""
|
|
|
|
from __future__ import annotations
|
|
|
|
from enum import Enum
|
|
|
|
|
|
class AssuranceCategory(str, Enum):
|
|
RUNTIME_CONTROL = "runtime_control"
|
|
READINESS_CHECK = "readiness_check"
|
|
REPORT_DIMENSION = "report_dimension"
|
|
CERTIFICATION_CLAIM = "certification_claim"
|
|
|
|
|
|
class _HNamespace(str, Enum):
|
|
@property
|
|
def legacy_id(self) -> str:
|
|
return self.value.rsplit(".", 1)[-1]
|
|
|
|
|
|
class RuntimeControl(_HNamespace):
|
|
H1 = "RuntimeControl.H1"; H2 = "RuntimeControl.H2"; H3 = "RuntimeControl.H3"
|
|
H4 = "RuntimeControl.H4"; H5 = "RuntimeControl.H5"; H6 = "RuntimeControl.H6"; H7 = "RuntimeControl.H7"
|
|
|
|
|
|
class ReadinessCheck(_HNamespace):
|
|
H1 = "ReadinessCheck.H1"; H2 = "ReadinessCheck.H2"; H3 = "ReadinessCheck.H3"
|
|
H4 = "ReadinessCheck.H4"; H5 = "ReadinessCheck.H5"; H6 = "ReadinessCheck.H6"; H7 = "ReadinessCheck.H7"
|
|
|
|
|
|
class ReportDimension(_HNamespace):
|
|
H1 = "ReportDimension.H1"; H2 = "ReportDimension.H2"; H3 = "ReportDimension.H3"
|
|
H4 = "ReportDimension.H4"; H5 = "ReportDimension.H5"; H6 = "ReportDimension.H6"; H7 = "ReportDimension.H7"
|
|
|
|
|
|
class CertificationClaim(_HNamespace):
|
|
H1 = "CertificationClaim.H1"; H2 = "CertificationClaim.H2"; H3 = "CertificationClaim.H3"
|
|
H4 = "CertificationClaim.H4"; H5 = "CertificationClaim.H5"; H6 = "CertificationClaim.H6"; H7 = "CertificationClaim.H7"
|
|
|
|
|
|
def same_legacy_label(left: _HNamespace, right: _HNamespace) -> bool:
|
|
"""Compatibility display helper; never authorizes cross-category interpretation."""
|
|
return left.legacy_id == right.legacy_id
|