feat(orchestrator): enforce Page Data validation gate

This commit is contained in:
john
2026-07-25 14:27:07 +08:00
parent 417aa9c78b
commit 721db19a92
10 changed files with 432 additions and 43 deletions
+19
View File
@@ -151,6 +151,10 @@ function runtimeState(config, env = process.env) {
env.MEMIND_ORCHESTRATOR_EXECUTION_HANDOFF_ENABLED,
false,
);
const environmentPageDataValidationGate = normalizeBoolean(
env.MEMIND_ORCHESTRATOR_PAGE_DATA_VALIDATION_GATE_ENABLED,
false,
);
const configured = config.primaryEngine !== WORKFLOW_ENGINE.LANGGRAPH || Boolean(config.serviceUrl);
let reason = null;
if (killSwitch) reason = 'kill_switch';
@@ -175,6 +179,8 @@ function runtimeState(config, env = process.env) {
const shadowObservationEnabled = !reason
&& environmentShadowObservationGate
&& shadowObservationRequested;
const pageDataValidationGateEnabled = environmentPageDataValidationGate
&& shadowObservationEnabled;
return {
killSwitch,
configured,
@@ -203,6 +209,19 @@ function runtimeState(config, env = process.env) {
: 'environment_shadow_observation_gate_disabled',
environmentGate: environmentShadowObservationGate,
},
pageDataValidationGate: {
requested: environmentPageDataValidationGate,
enabled: pageDataValidationGateEnabled,
failClosed: true,
reason: pageDataValidationGateEnabled
? null
: !environmentPageDataValidationGate
? 'environment_page_data_validation_gate_disabled'
: !shadowObservationEnabled
? 'shadow_observation_not_enabled'
: 'page_data_validation_gate_disabled',
environmentGate: environmentPageDataValidationGate,
},
executionHandoff: {
implemented: EXECUTION_HANDOFF_IMPLEMENTED,
requested: executionHandoffRequested,