fix: harden report tools and guide investigation presentation
This commit is contained in:
@@ -8,6 +8,18 @@ const report = { title: "调查报告", current_conclusion: "无法确定原因"
|
||||
scope: "投诉时段", impact: "无法判断异常来源", required_data: "该时段采样结果", evidence_refs: ["query-1"], blocking: true }] };
|
||||
|
||||
describe("new investigation report writes", () => {
|
||||
it("accepts class-attached Mermaid declarations and still rejects missing or partial node IDs", () => {
|
||||
const diagram = { title: "状态图", mermaid: "flowchart TD\nQUERY:::running --> REVIEW:::pending",
|
||||
node_refs: [{ node_id: "QUERY", label: "核查", status: "running" },
|
||||
{ node_id: "REVIEW", label: "复核", status: "pending" }] };
|
||||
expect(taskPublicationDiagramSchema.safeParse(diagram).success).toBe(true);
|
||||
expect(taskReportSchema.safeParse({ ...report, diagram }).success).toBe(true);
|
||||
for (const node_id of ["missing", "QUER"]) {
|
||||
const invalid = { ...diagram, node_refs: [{ ...diagram.node_refs[0], node_id }] };
|
||||
expect(taskPublicationDiagramSchema.safeParse(invalid).success).toBe(false);
|
||||
expect(taskReportSchema.safeParse({ ...report, diagram: invalid }).success).toBe(false);
|
||||
}
|
||||
});
|
||||
it("requires explicit outcome and gap assessment", () => {
|
||||
expect(taskReportSchema.parse(report).outcome).toBe("insufficient_data");
|
||||
for (const field of ["stage", "outcome", "data_gaps"]) {
|
||||
|
||||
Reference in New Issue
Block a user