wip(confidence-engine): checkpoint open-question presentation work
This commit is contained in:
@@ -55,6 +55,8 @@ function makeAnalysisResult(overrides = {}) {
|
||||
compatibilityApplied: false,
|
||||
compatibilityChanges: [],
|
||||
compatibilityWarnings: [],
|
||||
presentationValidationStatus: "valid",
|
||||
presentationValidationIssues: [],
|
||||
...overrides,
|
||||
};
|
||||
}
|
||||
@@ -399,9 +401,37 @@ describe("lib/graph/orchestrator startCase", () => {
|
||||
valid: true,
|
||||
errors: [],
|
||||
});
|
||||
expect(result.diagnostics.presentationValidationStatus).toBe("valid");
|
||||
expect(result.diagnostics.presentationValidationIssues).toEqual([]);
|
||||
expect(downstreamProvider.generateReconstruction).not.toHaveBeenCalled();
|
||||
});
|
||||
|
||||
it("propagates nonfatal Open Question presentation issues through diagnostics", async () => {
|
||||
const issue = {
|
||||
category: "question_indirect_proposition",
|
||||
path: ["reconstruction", "importantUnknowns", 0, "question"],
|
||||
unknownId: "unk-1",
|
||||
message: "The generated Open Question used an indirect uncertainty proposition.",
|
||||
severity: "nonfatal",
|
||||
};
|
||||
mockAnalyseScenario.mockResolvedValue(
|
||||
makeAnalysisResult({
|
||||
presentationValidationStatus: "partial",
|
||||
presentationValidationIssues: [issue],
|
||||
}),
|
||||
);
|
||||
const { startCase } = await import("@/lib/graph/orchestrator.js");
|
||||
|
||||
const result = await startCase(
|
||||
{ scenario: "Scenario text" },
|
||||
{ reconstructionOnly: true },
|
||||
);
|
||||
|
||||
expect(result.success).toBe(true);
|
||||
expect(result.diagnostics.presentationValidationStatus).toBe("partial");
|
||||
expect(result.diagnostics.presentationValidationIssues).toEqual([issue]);
|
||||
});
|
||||
|
||||
it("rejects invalid request input without throwing", async () => {
|
||||
const { startCase } = await import("@/lib/graph/orchestrator.js");
|
||||
|
||||
|
||||
Reference in New Issue
Block a user