Связать evidence planner с route candidate handoff
This commit is contained in:
@@ -52,6 +52,9 @@ function entryPointContract(overrides: Record<string, unknown> = {}) {
|
||||
business_fact_family: "value_flow",
|
||||
action_family: "turnover",
|
||||
proof_expectation: "coverage_checked_fact",
|
||||
evidence_plan_status: "ready_for_execution",
|
||||
evidence_answer_mode: "confirmed_business_answer",
|
||||
evidence_expected_coverage: "confirmed_coverage",
|
||||
required_axes: ["organization", "period"],
|
||||
provided_axes: ["organization", "period"],
|
||||
missing_axes: [],
|
||||
@@ -95,6 +98,9 @@ describe("assistant MCP discovery debug attachment", () => {
|
||||
expect(debug.mcp_discovery_route_candidate_status).toBe("ready_for_reviewed_execution");
|
||||
expect(debug.mcp_discovery_route_candidate_fact_family).toBe("value_flow");
|
||||
expect(debug.mcp_discovery_route_candidate_action_family).toBe("turnover");
|
||||
expect(debug.mcp_discovery_route_candidate_evidence_plan_status).toBe("ready_for_execution");
|
||||
expect(debug.mcp_discovery_route_candidate_evidence_answer_mode).toBe("confirmed_business_answer");
|
||||
expect(debug.mcp_discovery_route_candidate_evidence_expected_coverage).toBe("confirmed_coverage");
|
||||
expect(debug.mcp_discovery_route_candidate_missing_axes).toEqual([]);
|
||||
expect(debug.mcp_discovery_route_candidate_provided_axes).toEqual(["organization", "period"]);
|
||||
expect(debug.mcp_discovery_route_candidate_executable_now).toBe(true);
|
||||
@@ -130,6 +136,9 @@ describe("assistant MCP discovery debug attachment", () => {
|
||||
expect(debug.mcp_discovery_catalog_chain_selected_matches_top).toBe(false);
|
||||
expect(debug.mcp_discovery_route_candidate_v1).toBeNull();
|
||||
expect(debug.mcp_discovery_route_candidate_status).toBeNull();
|
||||
expect(debug.mcp_discovery_route_candidate_evidence_plan_status).toBeNull();
|
||||
expect(debug.mcp_discovery_route_candidate_evidence_answer_mode).toBeNull();
|
||||
expect(debug.mcp_discovery_route_candidate_evidence_expected_coverage).toBeNull();
|
||||
expect(debug.mcp_discovery_route_candidate_missing_axes).toEqual([]);
|
||||
expect(debug.mcp_discovery_route_candidate_provided_axes).toEqual([]);
|
||||
expect(debug.mcp_discovery_route_candidate_executable_now).toBe(false);
|
||||
|
||||
@@ -74,6 +74,7 @@ describe("assistant MCP discovery planner", () => {
|
||||
]);
|
||||
expect(result.evidence_plan.evidence_axes.provided_axes).toEqual(["counterparty", "business_entity", "period"]);
|
||||
expect(result.evidence_plan.evidence_axes.missing_axes).toEqual(["aggregate_axis", "amount", "coverage_target"]);
|
||||
expect(result.evidence_plan.evidence_axes.user_actionable_missing_axes).toEqual([]);
|
||||
expect(result.data_need_graph?.business_fact_family).toBe("value_flow");
|
||||
expect(result.catalog_chain_template_matches[0]).toBe("value_flow");
|
||||
expect(result.catalog_chain_template_alignment).toMatchObject({
|
||||
|
||||
@@ -163,6 +163,13 @@ describe("assistant MCP discovery runtime bridge", () => {
|
||||
});
|
||||
expect(result.loop_state.pending_axes).toContain("organization");
|
||||
expect(result.loop_state.provided_axes).toContain("aggregate_axis");
|
||||
expect(result.planner.evidence_plan.evidence_axes.user_actionable_missing_axes).toEqual(["organization"]);
|
||||
expect(result.planner.evidence_plan.evidence_axes.missing_axes).toEqual([
|
||||
"organization",
|
||||
"aggregate_axis",
|
||||
"amount",
|
||||
"coverage_target"
|
||||
]);
|
||||
expect(result.loop_state.catalog_chain_template_matches[0]).toBe("value_flow_ranking");
|
||||
expect(result.loop_state.catalog_chain_template_alignment.alignment_status).toBe("selected_matches_top");
|
||||
expect(result.loop_state.catalog_chain_template_alignment.selected_chain_matches_top).toBe(true);
|
||||
@@ -174,10 +181,15 @@ describe("assistant MCP discovery runtime bridge", () => {
|
||||
catalog_alignment_status: "selected_matches_top",
|
||||
business_fact_family: "value_flow",
|
||||
action_family: "turnover",
|
||||
evidence_plan_status: "needs_clarification",
|
||||
evidence_answer_mode: "clarification_required",
|
||||
evidence_expected_coverage: "confirmed_coverage",
|
||||
executable_now: false
|
||||
});
|
||||
expect(result.route_candidate.missing_axes).toContain("organization");
|
||||
expect(result.route_candidate.provided_axes).toContain("aggregate_axis");
|
||||
expect(result.route_candidate.missing_axes).not.toContain("amount");
|
||||
expect(result.route_candidate.missing_axes).not.toContain("coverage_target");
|
||||
expect(result.route_candidate.recommended_next_action).toBe(
|
||||
"Ask the user for the missing scope axes before MCP execution."
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user