226 lines
7.6 KiB
JSON
226 lines
7.6 KiB
JSON
{
|
|
"generatedAt": "2026-08-03",
|
|
"round": 66,
|
|
"scope": "Windows solver process isolation and fail-closed",
|
|
"status": "PRE_TARGET_MERGE_LOCAL_SOURCE_AUDIT_PASS",
|
|
"protocolVersion": "aps.solver-process.v1",
|
|
"services": {
|
|
"backend": {
|
|
"url": "http://127.0.0.1:8003",
|
|
"pid": 21576,
|
|
"healthy": true
|
|
},
|
|
"frontend": {
|
|
"url": "http://127.0.0.1:5173",
|
|
"pid": 9808,
|
|
"healthy": true
|
|
}
|
|
},
|
|
"browser": {
|
|
"url": "http://127.0.0.1:5173/",
|
|
"title": "APS 智能排产工作台",
|
|
"rootPresent": true,
|
|
"consoleWarnings": 0,
|
|
"consoleErrors": 0
|
|
},
|
|
"regression": {
|
|
"focused": "80 passed, including bounded no-stdin-read timeout, slot identity, pipeline, status, digest and semantic fail-closed regressions",
|
|
"finalFullGolden": {
|
|
"status": "PASSED",
|
|
"passed": 1029,
|
|
"warnings": 2,
|
|
"durationSeconds": 300.23,
|
|
"fixedCountClaimed": true
|
|
},
|
|
"node": "60 passed",
|
|
"webBuild": "passed",
|
|
"qualityGates": {
|
|
"ruff": "passed",
|
|
"compile": "passed",
|
|
"nodeCheck": "passed",
|
|
"gitDiffCheck": "passed"
|
|
}
|
|
},
|
|
"healthyRuns": {
|
|
"copiedWorldJson": {
|
|
"source": "server/data/world.json",
|
|
"sourceSha256Before": "c6e7ff090719db505af5c3b0d8add376cba7843d6e6982a68c1ba02c342052fa",
|
|
"sourceSha256After": "c6e7ff090719db505af5c3b0d8add376cba7843d6e6982a68c1ba02c342052fa",
|
|
"sourceUnchanged": true,
|
|
"runs": [
|
|
{
|
|
"engine": "CP",
|
|
"solveStatus": "OPTIMAL",
|
|
"purchaseOrderCount": 1,
|
|
"workOrderCount": 10,
|
|
"operationSlotCount": 10,
|
|
"protocolVersion": "aps.solver-process.v1",
|
|
"runtimeSafe": true
|
|
},
|
|
{
|
|
"engine": "HYBRID",
|
|
"solveStatus": "OPTIMAL",
|
|
"purchaseOrderCount": 1,
|
|
"workOrderCount": 10,
|
|
"operationSlotCount": 10,
|
|
"protocolVersion": "aps.solver-process.v1",
|
|
"runtimeSafe": true
|
|
}
|
|
]
|
|
},
|
|
"sourceSidecarIsolatedChild": {
|
|
"entry": "server/sidecar.py --solver-child under Python -I",
|
|
"initialResult": "failed because isolated Python removed the source checkout import root",
|
|
"fix": "bootstrap only the resolved trusted source root before delegating to solver_worker",
|
|
"impactGate": "GitNexus LOW",
|
|
"regressionTest": "test_source_solver_child_entry_runs_under_isolated_python",
|
|
"finalResult": {
|
|
"engine": "CP",
|
|
"solveStatus": "OPTIMAL",
|
|
"purchaseOrderCount": 1,
|
|
"workOrderCount": 10,
|
|
"operationSlotCount": 10,
|
|
"protocolVersion": "aps.solver-process.v1",
|
|
"runtimeSafe": true
|
|
}
|
|
},
|
|
"copiedMomWorld": {
|
|
"source": "server/data/world-proj_712276ba.json",
|
|
"sourceSha256Before": "6b64adf6f29a43a518d89718610ee71fad60e86d3f38cd5cff26f1740cc53f7d",
|
|
"sourceSha256After": "6b64adf6f29a43a518d89718610ee71fad60e86d3f38cd5cff26f1740cc53f7d",
|
|
"sourceUnchanged": true,
|
|
"runs": [
|
|
{
|
|
"engine": "CP",
|
|
"solverStatus": "OPTIMAL",
|
|
"businessOutcome": "BLOCKED_BY_EXISTING_MASTER_DATA",
|
|
"purchaseOrderCount": 0,
|
|
"workOrderCount": 0,
|
|
"operationSlotCount": 1,
|
|
"conflictCount": 1,
|
|
"publishReady": false
|
|
},
|
|
{
|
|
"engine": "HYBRID",
|
|
"solverStatus": "OPTIMAL",
|
|
"businessOutcome": "BLOCKED_BY_EXISTING_MASTER_DATA",
|
|
"purchaseOrderCount": 0,
|
|
"workOrderCount": 0,
|
|
"operationSlotCount": 1,
|
|
"conflictCount": 1,
|
|
"publishReady": false
|
|
}
|
|
],
|
|
"factoryMasterDataCompletionClaimed": false
|
|
}
|
|
},
|
|
"failureInjection": {
|
|
"fatal": {
|
|
"engines": [
|
|
"CP",
|
|
"HYBRID"
|
|
],
|
|
"solveStatus": "UNAVAILABLE",
|
|
"purchaseOrderCount": 0,
|
|
"workOrderCount": 0,
|
|
"publishReady": false,
|
|
"parentProcessAlive": true,
|
|
"businessWorldAtomic": true,
|
|
"silentRuleFallback": false
|
|
},
|
|
"timeout": {
|
|
"elapsedSeconds": 15.633,
|
|
"solveStatus": "UNAVAILABLE",
|
|
"purchaseOrderCount": 0,
|
|
"workOrderCount": 0,
|
|
"publishReady": false,
|
|
"parentProcessAlive": true,
|
|
"businessWorldAtomic": true,
|
|
"grandchildProcessTreeReaped": true,
|
|
"silentRuleFallback": false
|
|
}
|
|
},
|
|
"runtimeProbes": {
|
|
"defaultPathAnaconda": {
|
|
"result": "STABLY_REJECTED",
|
|
"safe": false
|
|
},
|
|
"venv": {
|
|
"consecutiveRuns": 5,
|
|
"result": "PASSED"
|
|
},
|
|
"sidecarVenv": {
|
|
"consecutiveRuns": 5,
|
|
"result": "PASSED"
|
|
}
|
|
},
|
|
"dataIntegrity": {
|
|
"jsonBusinessSourcesUnchanged": true,
|
|
"serverDataGitStatusChanged": false,
|
|
"envGitStatusChanged": false,
|
|
"masterDbFileHashClaimedUnchanged": false,
|
|
"masterDbNote": "Runtime operations may update license last_seen and other operational metadata; file-level hash is not used as proof that business data stayed unchanged."
|
|
},
|
|
"packagingBoundary": {
|
|
"existingFrozenSidecarProbeChild": "PASSED_OLD_ENTRY_ONLY",
|
|
"sourceSidecarSolverChild": "PASSED_AFTER_TRUSTED_SOURCE_ROOT_BOOTSTRAP",
|
|
"newSolverChildPackagedVerification": false,
|
|
"frozenArtifactRebuilt": false,
|
|
"requiredAcceptance": "Rebuild the frozen sidecar, then verify packaged --solver-child on a clean Windows machine.",
|
|
"frozenSourceRouting": "sys.frozen automatically executes sys.executable --solver-child"
|
|
},
|
|
"externalBoundaries": [
|
|
"MOM copied data remains blocked by existing factory master-data gaps; this round does not claim plant master data is complete.",
|
|
"The existing frozen sidecar executable was not rebuilt and therefore does not prove that the new --solver-child code is packaged.",
|
|
"Clean Windows 10/11, signed artifact, Defender for Endpoint, real CI, and customer DLL/runtime validation remain post-build acceptance.",
|
|
"Real MES/WMS/SAP credentials, allowlists, and factory connectivity remain external acceptance inputs."
|
|
],
|
|
"delivery": {
|
|
"commit": false,
|
|
"push": false,
|
|
"merge": false,
|
|
"publish": false
|
|
},
|
|
"protocolIntegrity": {
|
|
"responseDigest": "REQUIRED_AND_RECOMPUTED_BY_PARENT",
|
|
"entryPermutationAndBusinessFields": "VALIDATED",
|
|
"pipelineAndSolveStatus": "VALIDATED",
|
|
"feasibleObjectiveGapAndOperationSlotCoverage": "VALIDATED",
|
|
"forgedOptimalEmptyResult": "REJECTED_AS_SOLVER_RESPONSE_INVALID",
|
|
"negativeCasesAdded": 16,
|
|
"operationSlotIndexDomainAndIdentity": "VALIDATED"
|
|
},
|
|
"audit": {
|
|
"firstReview": "FAIL",
|
|
"firstReviewBlockingFindings": [
|
|
"response digest and business-semantics false green",
|
|
"existing frozen executable does not contain new --solver-child entry"
|
|
],
|
|
"blockingFindingOneFixed": true,
|
|
"blockingFindingTwoSourcePathFixed": true,
|
|
"existingFrozenArtifactRebuilt": false,
|
|
"finalIndependentReview": "PASS",
|
|
"secondReview": "FAIL_THEN_FIXED",
|
|
"secondReviewBlockingFindings": [
|
|
"pipe-backed stdin could bypass timeout deadline on Windows",
|
|
"out-of-range operationSlots.orderIndex accepted"
|
|
],
|
|
"thirdReview": "FAIL_TEST_COVERAGE_THEN_FIXED",
|
|
"thirdReviewBlockingFindings": [
|
|
"missing wrong-pipeline regression",
|
|
"missing invalid-status regressions"
|
|
],
|
|
"finalReviewEvidence": {
|
|
"largeRequestBytes": 2097152,
|
|
"childNeverReadsStdinElapsedSeconds": 0.736,
|
|
"result": "SOLVER_PROCESS_TIMEOUT",
|
|
"focused": "80 passed, 1 warning"
|
|
}
|
|
},
|
|
"timeoutSupervision": {
|
|
"stdinTransport": "AUTO_DELETING_TEMPORARY_FILE",
|
|
"largeRequestChildNeverReadsStdin": "BOUNDED_TIMEOUT_PASSED",
|
|
"pipeBackpressureBypassPrevented": true
|
|
}
|
|
}
|