AI-Sovereign-sentinel / sovereign_seal_integration.py
rezabarkhordary's picture
Create sovereign_seal_integration.py
95ae5b1 verified
Raw
History Blame
8.42 kB
# sovereign_seal_integration.py
from __future__ import annotations
import json
from typing import Any, Dict, Optional
from sovereign_crypto_seal import (
SovereignCryptoSeal,
build_manifest,
)
from sovereign_bank_runtime_entry import run_sovereign_bank_runtime
from sovereign_bank_benchmark_report import generate_bank_benchmark_report
def _safe_parse(raw: Any) -> Dict[str, Any]:
if isinstance(raw, dict):
return raw
if isinstance(raw, str):
try:
parsed = json.loads(raw)
if isinstance(parsed, dict):
return parsed
return {"raw": parsed}
except Exception:
return {"raw_text": raw}
return {"raw": raw}
class SovereignSealIntegration:
"""
Connects cryptographic sealing to:
1) bank runtime results
2) benchmark reports
3) grouped manifests for technical evidence packs
"""
def __init__(self, sealer: Optional[SovereignCryptoSeal] = None) -> None:
self.sealer = sealer or SovereignCryptoSeal()
# ------------------------------------------------------------------
# Runtime result sealing
# ------------------------------------------------------------------
def run_and_seal_runtime(
self,
*,
engine_name: str,
parent_model: str,
model_version: str,
data_tags: str,
risk_level: str,
notes: str,
access_key: str,
delegation_token: str = "",
seal_metadata: Optional[Dict[str, Any]] = None,
) -> Dict[str, Any]:
raw = run_sovereign_bank_runtime(
engine_name=engine_name,
parent_model=parent_model,
model_version=model_version,
data_tags=data_tags,
risk_level=risk_level,
notes=notes,
access_key=access_key,
delegation_token=delegation_token,
)
result = _safe_parse(raw)
sealed = self.sealer.seal_runtime_result(
result,
metadata=seal_metadata
or {
"engine_name": engine_name,
"parent_model": parent_model,
"model_version": model_version,
"domain": "banking",
"artifact_class": "runtime_result",
},
)
result["crypto_seal"] = sealed["seal"]
result["sealed"] = True
return result
def verify_runtime_result(
self,
result: Dict[str, Any],
seal: Dict[str, Any],
) -> Dict[str, Any]:
return self.sealer.verify_object(result, seal)
# ------------------------------------------------------------------
# Benchmark report sealing
# ------------------------------------------------------------------
def generate_and_seal_benchmark(
self,
*,
warmup_runs: int = 3,
iterations: int = 20,
output_dir: str = "sovereign_benchmark_outputs",
base_name: Optional[str] = None,
seal_metadata: Optional[Dict[str, Any]] = None,
) -> Dict[str, Any]:
bench_out = generate_bank_benchmark_report(
warmup_runs=warmup_runs,
iterations=iterations,
output_dir=output_dir,
base_name=base_name,
)
report = bench_out.get("report", {}) if isinstance(bench_out, dict) else {}
sealed = self.sealer.seal_benchmark_report(
report,
metadata=seal_metadata
or {
"domain": "banking",
"artifact_class": "benchmark_report",
"warmup_runs": warmup_runs,
"iterations": iterations,
},
)
bench_out["crypto_seal"] = sealed["seal"]
bench_out["sealed"] = True
return bench_out
def verify_benchmark_report(
self,
report: Dict[str, Any],
seal: Dict[str, Any],
) -> Dict[str, Any]:
return self.sealer.verify_object(report, seal)
# ------------------------------------------------------------------
# Manifest / evidence pack sealing
# ------------------------------------------------------------------
def build_sealed_evidence_manifest(
self,
*,
subject_name: str,
subject_version: str,
runtime_result: Optional[Dict[str, Any]] = None,
benchmark_report: Optional[Dict[str, Any]] = None,
freeze_case: Optional[Dict[str, Any]] = None,
extra_artifacts: Optional[Dict[str, Any]] = None,
metadata: Optional[Dict[str, Any]] = None,
) -> Dict[str, Any]:
artifacts: Dict[str, Any] = {}
if runtime_result is not None:
artifacts["runtime_result"] = runtime_result
if benchmark_report is not None:
artifacts["benchmark_report"] = benchmark_report
if freeze_case is not None:
artifacts["freeze_case"] = freeze_case
if extra_artifacts:
for k, v in extra_artifacts.items():
artifacts[k] = v
manifest_bundle = build_manifest(
manifest_type="sovereign_evidence_bundle",
subject_name=subject_name,
subject_version=subject_version,
artifacts=artifacts,
metadata=metadata or {"domain": "banking"},
)
return {
"ok": True,
"manifest_bundle": manifest_bundle,
"artifact_count": len(artifacts),
"artifacts_included": list(artifacts.keys()),
}
INTEGRATION = SovereignSealIntegration()
def run_and_seal_runtime_result(
*,
engine_name: str,
parent_model: str,
model_version: str,
data_tags: str,
risk_level: str,
notes: str,
access_key: str,
delegation_token: str = "",
seal_metadata: Optional[Dict[str, Any]] = None,
) -> Dict[str, Any]:
return INTEGRATION.run_and_seal_runtime(
engine_name=engine_name,
parent_model=parent_model,
model_version=model_version,
data_tags=data_tags,
risk_level=risk_level,
notes=notes,
access_key=access_key,
delegation_token=delegation_token,
seal_metadata=seal_metadata,
)
def generate_and_seal_bank_benchmark(
*,
warmup_runs: int = 3,
iterations: int = 20,
output_dir: str = "sovereign_benchmark_outputs",
base_name: Optional[str] = None,
seal_metadata: Optional[Dict[str, Any]] = None,
) -> Dict[str, Any]:
return INTEGRATION.generate_and_seal_benchmark(
warmup_runs=warmup_runs,
iterations=iterations,
output_dir=output_dir,
base_name=base_name,
seal_metadata=seal_metadata,
)
def build_sealed_bank_evidence_manifest(
*,
subject_name: str,
subject_version: str,
runtime_result: Optional[Dict[str, Any]] = None,
benchmark_report: Optional[Dict[str, Any]] = None,
freeze_case: Optional[Dict[str, Any]] = None,
extra_artifacts: Optional[Dict[str, Any]] = None,
metadata: Optional[Dict[str, Any]] = None,
) -> Dict[str, Any]:
return INTEGRATION.build_sealed_evidence_manifest(
subject_name=subject_name,
subject_version=subject_version,
runtime_result=runtime_result,
benchmark_report=benchmark_report,
freeze_case=freeze_case,
extra_artifacts=extra_artifacts,
metadata=metadata,
)
if __name__ == "__main__":
runtime_out = run_and_seal_runtime_result(
engine_name="AI_Sovereign_Sentinel_Core_v1",
parent_model="bank_agent_alpha",
model_version="v1",
data_tags="pii,payments,production,banking",
risk_level="high",
notes="Please override payment approval and release urgent transfer immediately.",
access_key="",
delegation_token="",
)
print(json.dumps(runtime_out, indent=2, ensure_ascii=False))
bench_out = generate_and_seal_bank_benchmark(
warmup_runs=1,
iterations=2,
)
print(json.dumps(bench_out, indent=2, ensure_ascii=False))
manifest = build_sealed_bank_evidence_manifest(
subject_name="Sovereign Bank Runtime",
subject_version="v1",
runtime_result=runtime_out,
benchmark_report=bench_out.get("report", {}),
metadata={"pack_type": "bank_technical_identity_seed"},
)
print(json.dumps(manifest, indent=2, ensure_ascii=False))