fix(deploy): transition node intelligence source atomically

This commit is contained in:
Codex
2026-07-23 08:58:47 +03:00
parent 6c764d0d28
commit 9db0de540d
3 changed files with 123 additions and 22 deletions
+16
View File
@@ -418,12 +418,15 @@ ENGINE_PROVIDER_ROTATING_SLOT_TARGET_SHA256 = {
}
ENGINE_PROVIDER_AUTHORITY_DIAGNOSTICS_ARTIFACT_ENTRIES = (
"nodedc-source/server/nodeIntelligence/upstreamProjection.js",
ENGINE_NODE_INTELLIGENCE_DESCRIPTOR_REL,
)
ENGINE_PROVIDER_AUTHORITY_DIAGNOSTICS_PREDECESSOR_SHA256 = {
"nodedc-source/server/nodeIntelligence/upstreamProjection.js": "761a874b102a938bc6018159ddacdaac71ad6ae08e9f0f8d7f3b58a0165a5131",
ENGINE_NODE_INTELLIGENCE_DESCRIPTOR_REL: "a9e280520bc487e0b421c548ec840eeb2b8389b6e04f764690250ea1d34cd23e",
}
ENGINE_PROVIDER_AUTHORITY_DIAGNOSTICS_TARGET_SHA256 = {
"nodedc-source/server/nodeIntelligence/upstreamProjection.js": "2dfa6b4f37d9bfa8b92a8109d4060d02dd2634ceb8f7924504b83ccf3fdd1523",
ENGINE_NODE_INTELLIGENCE_DESCRIPTOR_REL: "a8adb8c03e1a82ff683c99a8c6482c78eca1b63422e7e7e417424363b995079e",
}
ENGINE_DEPTTRANS_ZONE_AUTHORITY_V1_ARTIFACT_ENTRIES = (
"nodedc-source/server/assets/provider-packages/v1/catalog.json",
@@ -4638,6 +4641,19 @@ def validate_engine_provider_authority_diagnostics_slice(payload_dir, entries):
)
if any(marker not in source for marker in required_markers):
die("Engine private node validation reconciliation contract mismatch")
descriptor = read_engine_node_intelligence_descriptor(
payload_dir / ENGINE_NODE_INTELLIGENCE_DESCRIPTOR_REL,
"Engine private node validation reconciliation descriptor",
)
if (
descriptor.get("action") != "activate"
or descriptor.get("releaseId") != "2.33.2-974a9fb3492f"
or descriptor.get("source", {}).get("upstreamProjectionSha256")
!= ENGINE_PROVIDER_AUTHORITY_DIAGNOSTICS_TARGET_SHA256[
"nodedc-source/server/nodeIntelligence/upstreamProjection.js"
]
):
die("Engine private node validation reconciliation descriptor mismatch")
def validate_engine_depttrans_zone_authority_v1_slice(payload_dir, entries):