Files
SystemSimulationApp/tests/baselines/simulation/test_mql_8/manifest.json
T
lujingze b6c22a54f8 修复测试模型路径并完善四路八路回归与文档
- 按文件哈希区分当前八路工程和历史 Amesim 基准,修复测试与清单中的旧路径。
- 四路审计从 JSON 按需生成 XML,八路新增只核对模式,并显式使用 UTF-8 与 LF。
- 将缺失高刚度夹具的测试替换为当前八路完整 BDF 运行,明确未恢复原 RK45 专项覆盖。
- 更新前端大型工程测试、历史活动回放入口、数据说明、现行规范和相关报告。

验证:全量后台 374 项通过、1 项条件跳过;前端 11 项通过、历史独立服务用例 1 项跳过;四路八路 AME 审计通过。
环境、缓存和运行产物保持忽略;本次未实施工程 JSON 字段精简。
2026-09-12 15:49:09 +00:00

274 lines
9.8 KiB
JSON

{
"schemaVersion": 1,
"id": "test_mql_8-progressive-v3",
"description": "Primary generic-solver regression target for the restored eight-branch inputs aligned to the test_mql AMESim archive, with a short smoke gate before staged extension.",
"source": {
"path": "tests/baselines/simulation/test_mql_8/sources/test-mql-8.xml",
"sha256": "0a2d9331df9eb5974daec25a61c1238ba32b1742d933ffc8b16ce316c5627b0b",
"bytes": 104110,
"xmlIsAuthoritative": true,
"referenceArchive": {
"path": "tests/data/AmesimModels/test_mql.ame",
"sha256": "cbc3aadd4569a49b3a63e5d66d4143ec16126c0f950df73fb637e07673c20fbb",
"bytes": 21708800,
"role": "authoritativePhysicalBaseline",
"resultStartTime": 0.0,
"resultStopTime": 10.0,
"resultSampleStep": 0.01,
"resultPointCount": 1002
},
"companionProject": {
"path": "tests/baselines/simulation/test_mql_8/sources/test-mql-8.json",
"sha256": "b44bf540ccd1c293fe2af2b9b9052b540abf83961ad955a0f6a4ab40fbe0bb18",
"bytes": 272592,
"executionInput": false
},
"simulation": {
"tStart": 0.0,
"tStop": 10.0,
"sampleStep": 0.01,
"maxStep": 0.001,
"method": "BDF"
}
},
"acceptanceEvidence": {
"production0.2ApprovedReplay": {
"path": "tests/baselines/simulation/test_mql_8/runs/2026-08-18-production-opt00-approved-replay-0.2.json",
"sha256": "2e27cd54026a2612df88d1903431f3968e03599b2ca6eb83d9b98638cc051502",
"bytes": 398198,
"workerWallSeconds": 159.60707960650325,
"orchestrationWallSeconds": 160.47319143638015,
"acceptancePassed": true,
"regressionGoldenPassed": true,
"physicalStateV21GoldenPassed": true
},
"extensionDecision": {
"path": "tests/baselines/simulation/test_mql_8/runs/2026-08-18-production-opt00-extension-decision.json",
"sha256": "7d34aea736863788d9efa72c46910afffd543ddc46eacdf1c6aa9caeab202022",
"bytes": 1313,
"oneSecondOutcome": "eligible",
"extensionWasNotStarted": true
}
},
"historicalReports": [
{
"path": "tests/baselines/simulation/test_mql_8/runs/2026-08-17-solver-only-v1.json",
"sha256": "ed0e8514c5fc083af6d403270eb0617fc20672ebb96460c355757d28d7059d0f",
"sourceXmlSha256": "42e2d6277d39bd5990cb322243bec8d71c40ff0696b440db3c8623f2ab15c2ee",
"status": "historicalOnly",
"compatibleWithCurrentSource": false,
"reason": "This report used the former spaced filename and 0.002 s sampleStep/maxStep. It is retained only as historical performance evidence and must never seed a v2 golden."
},
{
"path": "tests/baselines/simulation/test_mql_8/runs/2026-08-17-extension-decision.json",
"sha256": "d067bab69418ec21a11481f4a2c1fcb1ba1fc9528faeeb163ea5f466c2e2987f",
"sourceXmlSha256": "42e2d6277d39bd5990cb322243bec8d71c40ff0696b440db3c8623f2ab15c2ee",
"status": "historicalOnly",
"compatibleWithCurrentSource": false,
"reason": "This deferred-stage decision was calculated from the former 0.002 s source report and is not a runtime prediction for the renamed v2 source."
},
{
"path": "tests/baselines/simulation/test_mql_8/runs/2026-08-17-production-v2-0.2.json",
"sha256": "93baac975413703bebe940308ccd0de5dbd753f7c1c4fe015907315f112618a5",
"sourceXmlSha256": "170463d65d074da01f0f9e9dab730b3815c94c1cc80b5190ec2e3fe623da74d3",
"status": "historicalOnly",
"compatibleWithCurrentSource": false,
"reason": "This accepted 0.2 s report predates the four restored PNL0001 branches and the AMESim-aligned 10 s simulation settings; it remains historical evidence only."
},
{
"path": "tests/baselines/simulation/test_mql_8/runs/2026-08-17-production-v2-extension-decision.json",
"sha256": "c2dd8acfaae71e9c5f2eaef35d529dd1ce1d420b48703faff3d111678496b671",
"sourceXmlSha256": "170463d65d074da01f0f9e9dab730b3815c94c1cc80b5190ec2e3fe623da74d3",
"status": "historicalOnly",
"compatibleWithCurrentSource": false,
"reason": "This runtime extension decision was derived from the superseded v2 source and must not control the AMESim-aligned v3 source."
}
],
"historicalGoldens": [
{
"path": "tests/baselines/simulation/test_mql_8/goldens/production-0.2s-v1.json",
"sha256": "99fa7b3631a89f59f86551847175f3701a1567d8d0bd10d87545734f17515d72",
"sourceXmlSha256": "170463d65d074da01f0f9e9dab730b3815c94c1cc80b5190ec2e3fe623da74d3",
"status": "historicalOnly",
"compatibleWithCurrentSource": false,
"reason": "This Python-state golden predates the four restored PNL0001 branches and the AMESim-aligned simulation settings; it must not approve the current v3 source."
}
],
"structure": {
"componentCount": 156,
"connectionCount": 178,
"dynamicComponentCount": 58,
"stateCount": 132,
"resultVariableCount": 1784,
"pressureFlowUnknownCount": 776,
"pressureFlowEquationCount": 776,
"pressureFlowIsSquare": true,
"logicalEffortCoordinateCount": 116,
"eliminatedEffortAliasCount": 324,
"canonicalCoordinateCount": 452,
"compatibilityScatterCount": 776,
"jacobianNonzeroCount": 3280,
"jacobianColorGroupCount": 52,
"hasMechanicalStateEvents": true
},
"sequence": [
"0.01s-smoke",
"0.2s",
"1s",
"5s",
"10s"
],
"lanes": {
"solver-only": {
"description": "Algorithm iteration and staged-extension lane: same XML and method, with an in-memory 0.02 s output grid and 0.05 s maximum step; signal breakpoints remain explicit solver segments.",
"samplingMode": "fixed",
"sampleStep": 0.02,
"maxStepMode": "fixed",
"maxStep": 0.05,
"instrumentationMode": "standard",
"productionEquivalentOutput": false
},
"production": {
"description": "Acceptance lane: changes only tStop and preserves the AMESim-aligned source 0.01 s output grid and 0.001 s internal-step cap.",
"samplingMode": "source",
"maxStepMode": "source",
"instrumentationMode": "standard",
"productionEquivalentOutput": true
}
},
"variants": {
"0.01s-smoke": {
"stopTime": 0.01,
"softTimeoutSeconds": 60.0,
"hardTimeoutSeconds": 90.0,
"useForRuntimePrediction": false,
"checkpointTimes": [
0.0,
0.01
],
"expectedSignalEventTimes": []
},
"0.2s": {
"stopTime": 0.2,
"softTimeoutSeconds": 300.0,
"hardTimeoutSeconds": 360.0,
"checkpointTimes": [
0.0,
0.04,
0.2
],
"expectedSignalEventTimes": [
0.04
],
"expectedMechanicalTransitionTimes": [],
"goldens": {
"production": {
"path": "tests/baselines/simulation/test_mql_8/goldens/production-0.2s-v2.json",
"sha256": "7ca8e859d7d2889d6608726eba0faf3441f0f2ad579799c2abdfe571fd49fd0e",
"role": "pythonDeterminismRegression",
"affectsPhysicalCorrectness": false
}
},
"physicalStateV21Goldens": {
"production": {
"path": "tests/baselines/simulation/test_mql_8/goldens/production-0.2s-physical-state-v2.1.json",
"sha256": "6f0752afe8c1f7690599c2709a76d9a1342f99f726c6c8593321dc6267e175b2",
"role": "amesimPhysicalBaseline",
"compareOnEveryRun": true
}
}
},
"1s": {
"stopTime": 1.0,
"softTimeoutSeconds": 1200.0,
"hardTimeoutSeconds": 1260.0,
"checkpointTimes": [
0.0,
0.04,
0.8,
1.0
],
"expectedSignalEventTimes": [
0.04,
0.8
]
},
"5s": {
"stopTime": 5.0,
"softTimeoutSeconds": 2700.0,
"hardTimeoutSeconds": 2760.0,
"checkpointTimes": [
0.0,
0.04,
0.8,
1.0,
2.0,
5.0
],
"expectedSignalEventTimes": [
0.04,
0.8
]
},
"10s": {
"stopTime": 10.0,
"softTimeoutSeconds": 5400.0,
"hardTimeoutSeconds": 5460.0,
"checkpointTimes": [
0.0,
0.04,
0.8,
1.0,
2.0,
5.0,
10.0
],
"expectedSignalEventTimes": [
0.04,
0.8
]
}
},
"correctness": {
"status": "complete",
"maximumScaledResidual": 1e-07,
"requireFiniteSeries": true,
"requireStrictlyIncreasingTimes": true,
"physicalProjectionCategories": [
"state",
"pressure",
"massFlow",
"conservation",
"discreteMode"
],
"stateRelativeTolerance": 0.0002,
"stateAbsoluteTolerance": 1e-09,
"checkpointTimeAbsoluteToleranceSeconds": 1e-12,
"eventTimeAbsoluteToleranceSeconds": 2e-05,
"signalEventTimeAbsoluteToleranceSeconds": 1e-12,
"mechanicalTransitionTimesAvailable": true,
"physicalBaselineAuthority": "amesim",
"compareAmesimOnEveryRun": true,
"pythonGoldenRole": "determinismDiagnosticOnly",
"note": "AMESim simulation results are the sole physical baseline and every production run reports current-to-AMESim relative errors. The exact Python-state golden detects determinism and implementation drift only; it cannot approve physical correctness. Longer progressive horizons remain independently staged work."
},
"execution": {
"causalExecutorV2Default": true,
"environment": {
"SIMULATION_CAUSAL_EXECUTOR_V2": "1",
"SIMULATION_CAUSAL_COORDINATE_KERNEL": "1",
"SIMULATION_CAUSAL_DIRECT_SUM_ASSIGNMENTS": "1",
"SIMULATION_CAUSAL_DIRECT_EQUATION_READERS": "1",
"SIMULATION_CAUSAL_FAST_PATH": "1",
"SIMULATION_MECHANICAL_ATOL_MODE": "legacy",
"SIMULATION_ODE_JACOBIAN_MODE": "scipy",
"SIMULATIONAPP_PROPERTY_CACHE": "on"
},
"predictionSafetyFactor": 1.5,
"terminationGraceSeconds": 10.0,
"deferAfterFailureOrTimeout": true,
"deferWhenPredictedWallExceedsSoftTimeout": true,
"longTestEnvironmentVariable": "RUN_TEST_MQL_8_LONG_REGRESSION"
}
}