ГЛОБАЛЬНЫЙ РЕФАКТОРИНГ АРХИТЕКТУРЫ - Рефакторинг этапов 3.1 - Добавлен строгий контракт семантического извлечения (валидность, качество, reason-codes, рекомендация применять canonical). Подключен semantic guard в predecompose/runtime: мягкое отклонение плохого canonical: отдельный safe-кейс для сырого полезного raw-фрагмента; fallback теперь выигрывает только когда это оправдано. Подключty semantic arbitration в tool-gate

This commit is contained in:
2026-04-11 16:45:43 +03:00
parent 66402439dc
commit a7ccc92a9c
18 changed files with 750 additions and 26 deletions
@@ -41,6 +41,12 @@ export interface AddressLlmPreDecomposeMetaLogInput {
scope?: string | null;
} | null;
} | null;
semanticExtractionContract?: {
valid?: boolean | null;
quality?: string | null;
apply_canonical_recommended?: boolean | null;
reason_codes?: string[] | null;
} | null;
}
export interface FinalizeAssistantAddressTurnInput {
@@ -109,6 +115,13 @@ function buildAddressProcessedLogDetails(input: FinalizeAssistantAddressTurnInpu
address_llm_predecompose_contract_intent: llmMeta?.predecomposeContract?.intent ?? null,
address_llm_predecompose_contract_aggregation_profile: llmMeta?.predecomposeContract?.aggregation_profile ?? null,
address_llm_predecompose_contract_period_scope: llmMeta?.predecomposeContract?.period?.scope ?? null,
address_semantic_contract_valid: llmMeta?.semanticExtractionContract?.valid ?? null,
address_semantic_contract_quality: llmMeta?.semanticExtractionContract?.quality ?? null,
address_semantic_apply_canonical_recommended:
llmMeta?.semanticExtractionContract?.apply_canonical_recommended ?? null,
address_semantic_reason_codes: Array.isArray(llmMeta?.semanticExtractionContract?.reason_codes)
? llmMeta.semanticExtractionContract?.reason_codes
: [],
detected_mode: laneDebug.detected_mode,
query_shape: laneDebug.query_shape,
detected_intent: laneDebug.detected_intent,