Post-F: закрепить metadata scope и обновить live7 canary
This commit is contained in:
@@ -2007,6 +2007,7 @@ describe("assistant MCP discovery turn input adapter", () => {
|
||||
previous_discovery_ranking_need: "top_desc",
|
||||
previous_filters: {
|
||||
organization: orgName,
|
||||
counterparty: "\u041f\u0440\u043e\u0432\u0435\u0441\u0442\u0438",
|
||||
period_from: "2020-01-01",
|
||||
period_to: "2020-12-31"
|
||||
}
|
||||
@@ -2290,4 +2291,47 @@ describe("assistant MCP discovery turn input adapter", () => {
|
||||
});
|
||||
expect(result.turn_meaning_ref?.explicit_entity_candidates).toBeUndefined();
|
||||
});
|
||||
|
||||
it("does not promote organization scope into counterparty subject after a metadata-scoped movement year switch", () => {
|
||||
const orgName =
|
||||
"\u041e\u041e\u041e \u0410\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u0430 \u041f\u043b\u044e\u0441";
|
||||
const result = buildAssistantMcpDiscoveryTurnInput({
|
||||
userMessage: "\u0417\u0430 2020 \u0433\u043e\u0434.",
|
||||
followupContext: {
|
||||
previous_discovery_pilot_scope: "counterparty_movement_evidence_query_movements_v1",
|
||||
previous_discovery_loop_status: "ready_for_next_hop",
|
||||
previous_discovery_loop_selected_chain_id: "movement_evidence",
|
||||
previous_discovery_loop_pending_axes: [],
|
||||
previous_discovery_loop_asked_domain_family: "movements",
|
||||
previous_discovery_loop_asked_action_family: "list_movements",
|
||||
previous_discovery_loop_unsupported_family: "movement_evidence",
|
||||
previous_discovery_loop_metadata_scope_hint: "\u041d\u0414\u0421",
|
||||
previous_discovery_loop_subject_resolution_optional: true,
|
||||
previous_discovery_entity_candidates: ["\u041d\u0414\u0421"],
|
||||
previous_filters: {
|
||||
organization: orgName,
|
||||
counterparty: orgName,
|
||||
period_to: "2026-04-24"
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
expect(result.adapter_status).toBe("ready");
|
||||
expect(result.should_run_discovery).toBe(true);
|
||||
expect(result.semantic_data_need).toBe("movement evidence");
|
||||
expect(result.turn_meaning_ref).toMatchObject({
|
||||
asked_domain_family: "movements",
|
||||
asked_action_family: "list_movements",
|
||||
metadata_scope_hint: "\u041d\u0414\u0421",
|
||||
subject_resolution_optional: true,
|
||||
explicit_organization_scope: orgName,
|
||||
explicit_date_scope: "2020",
|
||||
unsupported_but_understood_family: "movement_evidence",
|
||||
stale_replay_forbidden: true
|
||||
});
|
||||
expect(result.turn_meaning_ref?.explicit_entity_candidates).toBeUndefined();
|
||||
expect(result.data_need_graph?.subject_candidates).toEqual([]);
|
||||
expect(result.reason_codes).toContain("mcp_discovery_metadata_scoped_lane_without_subject");
|
||||
expect(result.reason_codes).not.toContain("mcp_discovery_counterparty_from_followup_context");
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user