接续上一轮,先做 L4-USER-M-PROCESS,完全接入仿真系统

结论:已将 L4-USER-M-PROCESS 的 millturn M128/M129 受控状态转换接入 virtual HAL、真实 browser simulation、OPFS 会话 payload、SDK API 和 release diagnostics validation;外部 user-M process execution 与 promotion 仍保持 locked,不伪装为 native process 解锁。
This commit is contained in:
2026-06-20 06:33:00 +08:00
parent 15b98c3ecf
commit d0e55ba11e
12 changed files with 676 additions and 7 deletions

View File

@@ -12,8 +12,10 @@ import {
VIRTUAL_HAL_SIM_CONFIG_MACRO_LOAD_FIXTURES,
VIRTUAL_HAL_SIM_CONFIG_PROMOTION_CANDIDATES,
VIRTUAL_HAL_SIM_CONFIG_SOURCE_TARGETS,
VIRTUAL_HAL_MILLTURN_USER_M_PROCESS_BOUNDARY,
cloneVirtualHalState,
createVirtualHalCommandScriptFixtureReport,
createVirtualHalMillturnUserMProcessBoundaryReport,
createVirtualHalMotionControllerMatrixReport,
createVirtualHalSimConfigEvidenceExpansionReport,
createVirtualHalSimConfigMacroLoadFixtureReport,
@@ -74,6 +76,7 @@ function validateVirtualHalSessionPayload(virtualHal) {
assertPlainObject(virtualHal.sourceCompliance, "virtual HAL session source compliance");
assertPlainObject(virtualHal.simConfigSourceCoverage, "virtual HAL session sim-config source coverage");
assertPlainObject(virtualHal.simConfigPromotionCandidates, "virtual HAL session sim-config promotion candidates");
assertPlainObject(virtualHal.millturnUserMProcessBoundary, "virtual HAL session millturn user-M process boundary");
assertPlainObject(virtualHal.simConfigMacroLoadFixtures, "virtual HAL session sim-config macro/load fixtures");
assertPlainObject(virtualHal.commandScriptFixtures, "virtual HAL session command script fixtures");
assertPlainObject(virtualHal.motionControllerMatrix, "virtual HAL session motion controller matrix");
@@ -89,6 +92,9 @@ function validateVirtualHalSessionPayload(virtualHal) {
if (virtualHal.simConfigPromotionCandidates.complete !== true) {
throw new Error("virtual HAL sim-config promotion candidates are incomplete.");
}
if (virtualHal.millturnUserMProcessBoundary.complete !== true) {
throw new Error("virtual HAL millturn user-M process boundary is incomplete.");
}
if (virtualHal.simConfigEvidenceExpansion.complete !== true) {
throw new Error("virtual HAL sim-config evidence expansion candidates are incomplete.");
}
@@ -116,6 +122,7 @@ export function createVirtualHalSessionPayload(halState = createVirtualHalState(
...VIRTUAL_HAL_SIM_CONFIG_PROMOTION_CANDIDATES.flatMap((candidate) => candidate.sourceFiles ?? []),
...VIRTUAL_HAL_SIM_CONFIG_EVIDENCE_EXPANSION_CANDIDATES.flatMap((candidate) => candidate.sourceFiles ?? []),
...VIRTUAL_HAL_SIM_CONFIG_MACRO_LOAD_FIXTURES.flatMap((fixture) => fixture.sourceFiles ?? []),
...VIRTUAL_HAL_MILLTURN_USER_M_PROCESS_BOUNDARY.sourceFiles,
],
}
: {}
@@ -137,6 +144,7 @@ export function createVirtualHalSessionPayload(halState = createVirtualHalState(
commandScriptFixtures,
motionControllerMatrix,
});
const millturnUserMProcessBoundary = options.millturnUserMProcessBoundary ?? createVirtualHalMillturnUserMProcessBoundaryReport(reportOptions);
const sourceCompliance = options.sourceCompliance ?? createVirtualHalSourceComplianceReport({
...reportOptions,
halState: state,
@@ -161,6 +169,7 @@ export function createVirtualHalSessionPayload(halState = createVirtualHalState(
simConfigSourceCoverage,
simConfigPromotionCandidates,
simConfigEvidenceExpansion,
millturnUserMProcessBoundary,
simConfigMacroLoadFixtures,
commandScriptFixtures,
motionControllerMatrix,