fix(confidence-engine): resolve model for episode reasoning
This commit is contained in:
@@ -155,4 +155,42 @@ describe("episode reasoning seam (reconsiderCompletedEpisode)", () => {
|
||||
expect(TEST_EPISODE.situationGraph.nodes.length).toBe(1);
|
||||
});
|
||||
|
||||
it("resolves configured model via assertConfig fallback when no deps model is injected", async () => {
|
||||
// Set minimal env vars for assertConfig to succeed in this specific test
|
||||
const prevBaseUrl = process.env.OLLAMA_BASE_URL;
|
||||
const prevModel = process.env.OLLAMA_MODEL;
|
||||
process.env.OLLAMA_BASE_URL = "http://localhost:11434";
|
||||
process.env.OLLAMA_MODEL = "test-model";
|
||||
|
||||
const modelCaptured = [];
|
||||
const provider = {
|
||||
generateReconstruction: vi.fn().mockImplementation((prompt, model) => {
|
||||
modelCaptured.push(model);
|
||||
return makeProposalResponse();
|
||||
}),
|
||||
};
|
||||
|
||||
// Reset modules so assertConfig reads fresh env vars
|
||||
await vi.resetModules();
|
||||
|
||||
const { reconsiderCompletedEpisode } = await import("@/lib/graph/orchestrator.js");
|
||||
// Empty deps — matches route.js call: reconsiderCompletedEpisode(prepared)
|
||||
// The fix ensures assertConfig() provides a model instead of leaving it null
|
||||
const result = await reconsiderCompletedEpisode(
|
||||
{ ...TEST_EPISODE, provider },
|
||||
{},
|
||||
);
|
||||
|
||||
expect(result.success).toBe(true);
|
||||
expect(modelCaptured.length).toBe(1);
|
||||
expect(modelCaptured[0]).not.toBeNull();
|
||||
expect(typeof modelCaptured[0]).toBe("string");
|
||||
|
||||
// Restore env
|
||||
if (prevBaseUrl == null) delete process.env.OLLAMA_BASE_URL;
|
||||
else process.env.OLLAMA_BASE_URL = prevBaseUrl;
|
||||
if (prevModel == null) delete process.env.OLLAMA_MODEL;
|
||||
else process.env.OLLAMA_MODEL = prevModel;
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user