Этап 4 / Волна 10: корректировка settlement-кейса — доменная фиксация синтеза, честное покрытие, удержание фокуса / Этап 4 / Волна 11: бизнес-якоря, доменное заземление и устранение утечки дебага
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
import { describe, expect, it } from "vitest";
|
||||
import { describe, expect, it } from "vitest";
|
||||
import { composeAssistantAnswer } from "../src/services/answerComposer";
|
||||
import type { AnswerGroundingCheck, RequirementCoverageReport, UnifiedRetrievalResult } from "../src/types/assistant";
|
||||
import type { ProblemUnit, ProblemUnitSummary } from "../src/types/stage2ProblemUnits";
|
||||
@@ -89,7 +89,7 @@ function buildLifecycleProblemUnit(): ProblemUnit {
|
||||
grade: "high"
|
||||
},
|
||||
business_lifecycle_interpretation:
|
||||
"Текущая стадия: stale_unlinked_payment; ожидаемая стадия: settlement_closed. Объект завис во времени и не дошел до ожидаемого перехода.",
|
||||
"Текущая стадия: stale_unlinked_payment; ожидаемая стадия: settlement_closed. Объект завис во времени и не дошел до ожидаемого перехода.",
|
||||
lifecycle_ranking_score: 1.41,
|
||||
lifecycle_ranking_basis: ["base_problem_severity", "stale_duration_weight", "period_close_impact"]
|
||||
};
|
||||
@@ -201,14 +201,14 @@ describe("assistant lifecycle-aware answer mode v1", () => {
|
||||
it("promotes stage3 lifecycle mode when lifecycle answer flag is enabled", () => {
|
||||
const units = [buildLifecycleProblemUnit()];
|
||||
const output = composeAssistantAnswer({
|
||||
userMessage: "Проверь, где зависли платежи по 51/60 и какой переход не завершился.",
|
||||
userMessage: "Проверь, где зависли платежи по 51/60 и какой переход не завершился.",
|
||||
routeSummary: buildRouteSummary(),
|
||||
retrievalResults: [buildRetrievalResult(units)],
|
||||
requirements: [
|
||||
{
|
||||
requirement_id: "R1",
|
||||
source_fragment_id: "F1",
|
||||
requirement_text: "Проверить lifecycle-переход",
|
||||
requirement_text: "Проверить lifecycle-переход",
|
||||
subject_tokens: ["chain", "account_51", "account_60"],
|
||||
status: "covered",
|
||||
route: "hybrid_store_plus_live"
|
||||
@@ -223,10 +223,9 @@ describe("assistant lifecycle-aware answer mode v1", () => {
|
||||
|
||||
expect(output.problem_centric_answer_applied).toBe(true);
|
||||
expect(output.problem_answer_mode).toBe("stage3_lifecycle_aware_v1");
|
||||
expect(output.answer_structure_v11?.answer_summary).toMatch(/lifecycle|Lifecycle/i);
|
||||
expect(output.answer_structure_v11?.direct_answer).toContain("current=stale_unlinked_payment");
|
||||
expect(output.answer_structure_v11?.direct_answer).toContain("expected=settlement_closed");
|
||||
expect(output.answer_structure_v11?.direct_answer).toContain("defect=stale_active_state");
|
||||
expect(output.answer_structure_v11?.answer_summary).toMatch(/lifecycle|Lifecycle|жизненн/i);
|
||||
expect(String(output.answer_structure_v11?.direct_answer)).toMatch(/не подтвержден|ожидаем|зависл/i);
|
||||
expect(output.answer_structure_v11?.direct_answer).not.toMatch(/current=|expected=|defect=/i);
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user