Уточнить all-time заработок при неполном денежном срезе

This commit is contained in:
2026-05-25 23:50:36 +03:00
parent 0eb583f7dc
commit baa8aa31e7
4 changed files with 167 additions and 6 deletions
@@ -850,6 +850,72 @@ describe("assistant MCP discovery response candidate", () => {
expect(candidate.reply_text).not.toContain("wide overview");
});
it("marks all-time earnings wording as limited when cashflow probes hit row limits", () => {
const candidate = buildAssistantMcpDiscoveryResponseCandidate(
entryPoint({
turn_input: {
adapter_status: "ready",
turn_meaning_ref: {
raw_message: "сколько вообще денег мы заработали за все время?",
asked_action_family: "broad_evaluation",
unsupported_but_understood_family: "broad_business_evaluation",
explicit_organization_scope: "ООО Альтернатива Плюс"
},
data_need_graph: {
business_fact_family: "business_overview",
ranking_need: null,
reason_codes: [
"data_need_graph_family_business_overview",
"data_need_graph_business_overview_direct_money_answer"
]
}
},
bridge: {
bridge_status: "answer_draft_ready",
user_facing_response_allowed: true,
business_fact_answer_allowed: true,
requires_user_clarification: false,
pilot: {
pilot_scope: "business_overview_route_template_v1",
derived_business_overview: {
incoming_customer_revenue: {
total_amount_human_ru: "285 819 547,57 руб.",
coverage_limited_by_probe_limit: true
},
outgoing_supplier_payout: {
total_amount_human_ru: "137 963 720,37 руб.",
coverage_limited_by_probe_limit: true
},
net_amount_human_ru: "147 855 827,20 руб.",
net_direction: "net_incoming",
top_customers: [],
top_suppliers: [],
accounting_financial_result: null,
coverage_limited_by_probe_limit: true
}
},
answer_draft: {
answer_mode: "confirmed_with_bounded_inference",
headline: "wide overview should not leak",
confirmed_lines: [],
inference_lines: [],
unknown_lines: [],
limitation_lines: [],
next_step_line: null
}
}
})
);
expect(candidate.reply_text).toContain("точную учетную прибыль");
expect(candidate.reply_text).toContain("не подтверждаю");
expect(candidate.reply_text).toContain("ограниченном денежном срезе");
expect(candidate.reply_text).toContain("285 819 547,57");
expect(candidate.reply_text).toContain("147 855 827,20");
expect(candidate.reply_text).toContain("не считаю полным бухгалтерским оборотом");
expect(candidate.reply_text).not.toContain("wide overview");
});
it("keeps broad overview layers when direct-money reason is present", () => {
const candidate = buildAssistantMcpDiscoveryResponseCandidate(
entryPoint({