ГЛОБАЛЬНЫЙ РЕФАКТОРИНГ АРХИТЕКТУРЫ - Рефакторинг этапов 2.97 - 2.100 - Ужесточил контракты deep-turn response-цепочки:llm_normalizer/backend/src/services/assistantDeepTurnResponseRuntimeAdapter.tsruntimeAnalysisContext теперь с явными полями и опциональным snapshot_mode.addressRuntimeMetaForDeep типизирован через контракт упаковки.
This commit is contained in:
parent
360b59d7c5
commit
44eccb3d26
|
|
@ -2025,7 +2025,25 @@ Validation:
|
||||||
- `assistantDeepTurnPackagingRuntimeAdapter.test.ts`
|
- `assistantDeepTurnPackagingRuntimeAdapter.test.ts`
|
||||||
- `assistantDeepTurnPackaging.test.ts`
|
- `assistantDeepTurnPackaging.test.ts`
|
||||||
|
|
||||||
Status: **In progress (Phase 2.1 + 2.2 + 2.3 + 2.4 + 2.5 + 2.6 + 2.7 + 2.8 + 2.9 + 2.10 + 2.11 + 2.12 + 2.13 + 2.14 + 2.15 + 2.16 + 2.17 + 2.18 + 2.19 + 2.20 + 2.21 + 2.22 + 2.23 + 2.24 + 2.25 + 2.26 + 2.27 + 2.28 + 2.29 + 2.30 + 2.31 + 2.32 + 2.33 + 2.34 + 2.35 + 2.36 + 2.37 + 2.38 + 2.39 + 2.40 + 2.41 + 2.42 + 2.43 + 2.44 + 2.45 + 2.46 + 2.47 + 2.48 + 2.49 + 2.50 + 2.51 + 2.52 + 2.53 + 2.54 + 2.55 + 2.56 + 2.57 + 2.58 + 2.59 + 2.60 + 2.61 + 2.62 + 2.63 + 2.64 + 2.65 + 2.66 + 2.67 + 2.68 + 2.69 + 2.70 + 2.71 + 2.72 + 2.73 + 2.74 + 2.75 + 2.76 + 2.77 + 2.78 + 2.79 + 2.80 + 2.81 + 2.82 + 2.83 + 2.84 + 2.85 + 2.86 + 2.87 + 2.88 + 2.89 + 2.90 + 2.91 + 2.92 + 2.93 + 2.94 + 2.95 + 2.96 completed)**
|
Implemented in current pass (Phase 2.97 + 2.98 + 2.99 + 2.100):
|
||||||
|
1. Tightened deep-turn response runtime input contracts for analysis context and address meta:
|
||||||
|
- `assistantDeepTurnResponseRuntimeAdapter.ts`
|
||||||
|
- `runtimeAnalysisContext` now typed with explicit fields and optional `snapshot_mode`;
|
||||||
|
- `addressRuntimeMetaForDeep` now typed via packaging contract.
|
||||||
|
2. Propagated the tightened types through deep response attempt chain:
|
||||||
|
- `assistantDeepTurnResponseAttemptRuntimeAdapter.ts`
|
||||||
|
- `assistantDeepTurnAttemptRuntimeAdapter.ts`
|
||||||
|
3. Preserved behavior:
|
||||||
|
- no runtime logic changes; only type alignment for response attempt inputs.
|
||||||
|
|
||||||
|
Validation:
|
||||||
|
1. `npm run build` passed.
|
||||||
|
2. Targeted deep response attempt pack passed:
|
||||||
|
- `assistantDeepTurnResponseAttemptRuntimeAdapter.test.ts`
|
||||||
|
- `assistantDeepTurnAttemptRuntimeAdapter.test.ts`
|
||||||
|
- `assistantDeepTurnAttemptInputBuilder.test.ts`
|
||||||
|
|
||||||
|
Status: **In progress (Phase 2.1 + 2.2 + 2.3 + 2.4 + 2.5 + 2.6 + 2.7 + 2.8 + 2.9 + 2.10 + 2.11 + 2.12 + 2.13 + 2.14 + 2.15 + 2.16 + 2.17 + 2.18 + 2.19 + 2.20 + 2.21 + 2.22 + 2.23 + 2.24 + 2.25 + 2.26 + 2.27 + 2.28 + 2.29 + 2.30 + 2.31 + 2.32 + 2.33 + 2.34 + 2.35 + 2.36 + 2.37 + 2.38 + 2.39 + 2.40 + 2.41 + 2.42 + 2.43 + 2.44 + 2.45 + 2.46 + 2.47 + 2.48 + 2.49 + 2.50 + 2.51 + 2.52 + 2.53 + 2.54 + 2.55 + 2.56 + 2.57 + 2.58 + 2.59 + 2.60 + 2.61 + 2.62 + 2.63 + 2.64 + 2.65 + 2.66 + 2.67 + 2.68 + 2.69 + 2.70 + 2.71 + 2.72 + 2.73 + 2.74 + 2.75 + 2.76 + 2.77 + 2.78 + 2.79 + 2.80 + 2.81 + 2.82 + 2.83 + 2.84 + 2.85 + 2.86 + 2.87 + 2.88 + 2.89 + 2.90 + 2.91 + 2.92 + 2.93 + 2.94 + 2.95 + 2.96 + 2.97 + 2.98 + 2.99 + 2.100 completed)**
|
||||||
|
|
||||||
## Stage 3 (P2): Hybrid Semantic Layer (LLM + Deterministic Guards)
|
## Stage 3 (P2): Hybrid Semantic Layer (LLM + Deterministic Guards)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,7 @@ export interface RunAssistantDeepTurnAttemptRuntimeInput<ResponseType = Assistan
|
||||||
payload: BuildAssistantDeepTurnNormalizationRuntimeInput["payload"];
|
payload: BuildAssistantDeepTurnNormalizationRuntimeInput["payload"];
|
||||||
runtimeAnalysisContext: RunAssistantDeepTurnAnalysisAttemptRuntimeInput["runtimeAnalysisContext"];
|
runtimeAnalysisContext: RunAssistantDeepTurnAnalysisAttemptRuntimeInput["runtimeAnalysisContext"];
|
||||||
sessionInvestigationState: InvestigationStateWithProblemUnits | null | undefined;
|
sessionInvestigationState: InvestigationStateWithProblemUnits | null | undefined;
|
||||||
addressRuntimeMetaForDeep: unknown;
|
addressRuntimeMetaForDeep: RunAssistantDeepTurnResponseAttemptRuntimeInput<ResponseType>["addressRuntimeMetaForDeep"];
|
||||||
featureInvestigationStateV1: boolean;
|
featureInvestigationStateV1: boolean;
|
||||||
featureStateFollowupBindingV1: boolean;
|
featureStateFollowupBindingV1: boolean;
|
||||||
featureContractsV11: boolean;
|
featureContractsV11: boolean;
|
||||||
|
|
|
||||||
|
|
@ -27,11 +27,11 @@ export interface RunAssistantDeepTurnResponseAttemptRuntimeInput<
|
||||||
};
|
};
|
||||||
normalizedQuestion: string;
|
normalizedQuestion: string;
|
||||||
deepTurnAnalysisRuntime: RunAssistantDeepTurnAnalysisRuntimeOutput;
|
deepTurnAnalysisRuntime: RunAssistantDeepTurnAnalysisRuntimeOutput;
|
||||||
runtimeAnalysisContext: unknown;
|
runtimeAnalysisContext: RunAssistantDeepTurnResponseRuntimeInput["runtimeAnalysisContext"];
|
||||||
followupStateUsage: AssistantFollowupUsage | null;
|
followupStateUsage: AssistantFollowupUsage | null;
|
||||||
followupApplied: boolean;
|
followupApplied: boolean;
|
||||||
previousInvestigationState: InvestigationStateWithProblemUnits | null | undefined;
|
previousInvestigationState: InvestigationStateWithProblemUnits | null | undefined;
|
||||||
addressRuntimeMetaForDeep: unknown;
|
addressRuntimeMetaForDeep: RunAssistantDeepTurnResponseRuntimeInput["addressRuntimeMetaForDeep"];
|
||||||
extractDroppedIntentSegments: RunAssistantDeepTurnResponseRuntimeInput["extractDroppedIntentSegments"];
|
extractDroppedIntentSegments: RunAssistantDeepTurnResponseRuntimeInput["extractDroppedIntentSegments"];
|
||||||
buildDebugRoutes: RunAssistantDeepTurnResponseRuntimeInput["buildDebugRoutes"];
|
buildDebugRoutes: RunAssistantDeepTurnResponseRuntimeInput["buildDebugRoutes"];
|
||||||
extractExecutionState: RunAssistantDeepTurnResponseRuntimeInput["extractExecutionState"];
|
extractExecutionState: RunAssistantDeepTurnResponseRuntimeInput["extractExecutionState"];
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,7 @@ import {
|
||||||
type AssistantDeepTurnPackagingRuntimeInput,
|
type AssistantDeepTurnPackagingRuntimeInput,
|
||||||
type AssistantDeepTurnPackagingRuntimeOutput
|
type AssistantDeepTurnPackagingRuntimeOutput
|
||||||
} from "./assistantDeepTurnPackagingRuntimeAdapter";
|
} from "./assistantDeepTurnPackagingRuntimeAdapter";
|
||||||
|
import type { RunAssistantDeepTurnAnalysisRuntimeOutput } from "./assistantDeepTurnAnalysisRuntimeAdapter";
|
||||||
import {
|
import {
|
||||||
finalizeAssistantDeepTurn,
|
finalizeAssistantDeepTurn,
|
||||||
type FinalizeAssistantDeepTurnInput
|
type FinalizeAssistantDeepTurnInput
|
||||||
|
|
@ -35,9 +36,16 @@ export interface RunAssistantDeepTurnResponseRuntimeInput {
|
||||||
retrievalResultsRaw: unknown[];
|
retrievalResultsRaw: unknown[];
|
||||||
retrievalResults: AssistantDeepTurnPackagingRuntimeInput["retrievalResults"];
|
retrievalResults: AssistantDeepTurnPackagingRuntimeInput["retrievalResults"];
|
||||||
questionTypeClass: AssistantDeepTurnPackagingRuntimeInput["questionTypeClass"];
|
questionTypeClass: AssistantDeepTurnPackagingRuntimeInput["questionTypeClass"];
|
||||||
companyAnchors: unknown;
|
companyAnchors: RunAssistantDeepTurnAnalysisRuntimeOutput["companyAnchors"];
|
||||||
runtimeAnalysisContext: unknown;
|
runtimeAnalysisContext: {
|
||||||
businessScopeResolution: unknown;
|
active: boolean;
|
||||||
|
as_of_date: string | null;
|
||||||
|
period_from: string | null;
|
||||||
|
period_to: string | null;
|
||||||
|
source: string | null;
|
||||||
|
snapshot_mode?: "auto" | "force_snapshot" | "force_live";
|
||||||
|
};
|
||||||
|
businessScopeResolution: RunAssistantDeepTurnAnalysisRuntimeOutput["businessScopeResolution"];
|
||||||
temporalGuard: unknown;
|
temporalGuard: unknown;
|
||||||
polarityAudit: unknown;
|
polarityAudit: unknown;
|
||||||
claimAnchorAudit: unknown;
|
claimAnchorAudit: unknown;
|
||||||
|
|
@ -50,7 +58,7 @@ export interface RunAssistantDeepTurnResponseRuntimeInput {
|
||||||
followupApplied: boolean;
|
followupApplied: boolean;
|
||||||
composition: AssistantDeepTurnPackagingRuntimeInput["composition"];
|
composition: AssistantDeepTurnPackagingRuntimeInput["composition"];
|
||||||
previousInvestigationState: AssistantDeepTurnPackagingRuntimeInput["previousInvestigationState"];
|
previousInvestigationState: AssistantDeepTurnPackagingRuntimeInput["previousInvestigationState"];
|
||||||
addressRuntimeMetaForDeep: unknown;
|
addressRuntimeMetaForDeep: AssistantDeepTurnPackagingRuntimeInput["addressRuntimeMetaForDeep"];
|
||||||
extractDroppedIntentSegments: (normalizedPayload: NormalizeResponsePayload["normalized"]) => string[];
|
extractDroppedIntentSegments: (normalizedPayload: NormalizeResponsePayload["normalized"]) => string[];
|
||||||
buildDebugRoutes: (routeSummary: RouteHintSummary | null) => Array<Record<string, unknown>>;
|
buildDebugRoutes: (routeSummary: RouteHintSummary | null) => Array<Record<string, unknown>>;
|
||||||
extractExecutionState: (normalizedPayload: NormalizeResponsePayload["normalized"]) => unknown[];
|
extractExecutionState: (normalizedPayload: NormalizeResponsePayload["normalized"]) => unknown[];
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue