ГЛОБАЛЬНЫЙ РЕФАКТОРИНГ АРХИТЕКТУРЫ - Рефакторинг этапов 2.2 - Усилена оркестрацию в deep/address гейте и follow-up binding в assistantService.ts. Починен кейс UTF-8 follow-up refinement (теперь followup_state_usage.applied=true в нужном сценарии). Убраны регрессии по assistantLivingRouter и stage3 lifecycle probe. Корректное поведение для llm canonical candidate (чтобы не уезжало в clarification_required там, где должен быть address factual).

This commit is contained in:
2026-04-11 14:56:14 +03:00
parent 19f5f19d8e
commit b5bd4fd737
46 changed files with 2471 additions and 370 deletions
@@ -1,6 +1,7 @@
import type { AssistantRequirement } from "../types/assistant";
import type { NormalizeResponsePayload, RouteHintSummary } from "../types/normalizer";
import type { AssistantExecutionPlanItem } from "./assistantQueryPlanning";
import type { DomainPolarityGuardAudit, TemporalGuardAudit } from "./assistantRuntimeGuards";
export interface AssistantRequirementExtractionLike {
requirements: AssistantRequirement[];
@@ -9,7 +10,15 @@ export interface AssistantRequirementExtractionLike {
export interface AssistantPlanEnforcementAuditLike {
executionPlan: AssistantExecutionPlanItem[];
audit: Record<string, unknown> | null;
audit: AssistantLiveRoutePlanAudit | null;
}
export interface AssistantLiveRoutePlanAudit extends Record<string, unknown> {
required_live_calls: string[];
route_adjustments_applied: number;
rescued_no_route_fragments: number;
replaced_routes: string[];
route_gap_reason: string | null;
}
export interface BuildAssistantDeepTurnExecutionPlanInput {
@@ -17,8 +26,8 @@ export interface BuildAssistantDeepTurnExecutionPlanInput {
normalizedPayload: NormalizeResponsePayload["normalized"];
userMessage: string;
claimType: string;
temporalGuard: unknown;
domainPolarityGuardInitial: unknown;
temporalGuard: TemporalGuardAudit;
domainPolarityGuardInitial: DomainPolarityGuardAudit;
extractRequirements: (
routeSummary: RouteHintSummary | null,
normalizedPayload: NormalizeResponsePayload["normalized"],
@@ -33,20 +42,20 @@ export interface BuildAssistantDeepTurnExecutionPlanInput {
enforceRbpLiveRoutePlan: (input: {
executionPlan: AssistantExecutionPlanItem[];
claimType: string;
temporalGuard: unknown;
temporalGuard: TemporalGuardAudit;
}) => AssistantPlanEnforcementAuditLike;
enforceFaLiveRoutePlan: (input: {
executionPlan: AssistantExecutionPlanItem[];
claimType: string;
temporalGuard: unknown;
temporalGuard: TemporalGuardAudit;
}) => AssistantPlanEnforcementAuditLike;
applyTemporalHintToExecutionPlan: (
executionPlan: AssistantExecutionPlanItem[],
temporalGuard: unknown
temporalGuard: TemporalGuardAudit
) => AssistantExecutionPlanItem[];
applyPolarityHintToExecutionPlan: (
executionPlan: AssistantExecutionPlanItem[],
domainPolarityGuardInitial: unknown
domainPolarityGuardInitial: DomainPolarityGuardAudit
) => AssistantExecutionPlanItem[];
}