ARCH: добавить boundary для неподдержанного текущего смысла
This commit is contained in:
@@ -739,6 +739,46 @@ export function createAssistantRoutePolicy(deps) {
|
||||
}
|
||||
};
|
||||
}
|
||||
const unsupportedCurrentTurnMeaningBoundary = Boolean(
|
||||
assistantTurnMeaning?.unsupported_but_understood_family &&
|
||||
assistantTurnMeaning?.stale_replay_forbidden === true &&
|
||||
!turnMeaningIntentCandidate &&
|
||||
!dataScopeMetaQuery &&
|
||||
!capabilityMetaQuery &&
|
||||
!dangerOrCoercionSignal &&
|
||||
!organizationClarificationContinuationDetected);
|
||||
if (unsupportedCurrentTurnMeaningBoundary) {
|
||||
return {
|
||||
runAddressLane: false,
|
||||
toolGateDecision: "skip_address_lane",
|
||||
toolGateReason: "unsupported_current_turn_meaning_boundary",
|
||||
livingMode: "chat",
|
||||
livingReason: "unsupported_current_turn_meaning_boundary",
|
||||
orchestrationContract: {
|
||||
schema_version: "assistant_orchestration_contract_v1",
|
||||
hard_meta_mode: null,
|
||||
provider_execution: providerExecution,
|
||||
assistant_turn_meaning: assistantTurnMeaning,
|
||||
address_mode: resolvedModeDetection.mode,
|
||||
address_mode_confidence: resolvedModeDetection.confidence,
|
||||
address_intent: resolvedIntentResolution.intent,
|
||||
address_intent_confidence: resolvedIntentResolution.confidence,
|
||||
strong_data_signal_detected: strongDataSignal,
|
||||
data_retrieval_signal_detected: dataRetrievalSignal,
|
||||
followup_context_detected: Boolean(followupContext),
|
||||
unsupported_current_turn_meaning_boundary: true,
|
||||
unsupported_current_turn_family: assistantTurnMeaning.unsupported_but_understood_family,
|
||||
unsupported_address_intent_fallback_to_deep: false,
|
||||
final_decision: {
|
||||
run_address_lane: false,
|
||||
tool_gate_decision: "skip_address_lane",
|
||||
tool_gate_reason: "unsupported_current_turn_meaning_boundary",
|
||||
living_mode: "chat",
|
||||
living_reason: "unsupported_current_turn_meaning_boundary"
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
if (organizationFactLookupDetected || organizationFactBoundaryFollowupDetected) {
|
||||
return {
|
||||
runAddressLane: false,
|
||||
|
||||
@@ -159,6 +159,10 @@ function resolveTransitionId(input: {
|
||||
return { transitionId: "T9", reasons: ["memory_recap_tool_gate_reason"] };
|
||||
}
|
||||
|
||||
if (toolGateReason === "unsupported_current_turn_meaning_boundary") {
|
||||
return { transitionId: "T10", reasons: ["unsupported_current_turn_meaning_boundary"] };
|
||||
}
|
||||
|
||||
if (hardMetaMode === "capability" || toolGateReason === "assistant_capability_query_detected") {
|
||||
return { transitionId: "T8", reasons: ["capability_meta_followup_tool_gate_reason"] };
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user