experiment(confidence-engine): complete openai reconstruction apparatus

This commit is contained in:
2026-09-06 10:06:06 +01:00
parent a45dd903cf
commit 215c783d11
5 changed files with 281 additions and 7 deletions
+20 -4
View File
@@ -62,8 +62,26 @@ async function runStartCaseExperiment(scenarioInput, experimentInstruction, opti
}
let startCase = options.startCase;
let reconstructionProvider = options.reconstructionProvider;
let reconstructionModelName = options.reconstructionModelName;
const isMock = process.env.START_CASE_EXPERIMENT_HELPER_MOCK === "1";
if (process.env.START_CASE_EXPERIMENT_PROVIDER === "openai") {
if (!process.env.OPENAI_API_KEY) {
throw new Error(
"START_CASE_EXPERIMENT_PROVIDER=openai requires OPENAI_API_KEY",
);
}
const { createOpenAIReconstructionProvider } = await import(
PROJECT_ROOT + "/lib/llm/provider.js"
);
reconstructionProvider = createOpenAIReconstructionProvider({
apiKey: process.env.OPENAI_API_KEY,
fetchImpl: fetch,
});
reconstructionModelName = "gpt-5.6-terra";
}
if (!startCase && isMock) {
// Deterministic mode: skip environment checks and use inline test double.
startCase = async (body) => {
@@ -100,8 +118,8 @@ async function runStartCaseExperiment(scenarioInput, experimentInstruction, opti
const endToEndStartedAt = Date.now();
try {
result = await startCase(scenarioInput, {
reconstructionProvider: options.reconstructionProvider,
reconstructionModelName: options.reconstructionModelName,
reconstructionProvider,
reconstructionModelName,
});
} finally {
// Clean up experiment env var after execution regardless of outcome
@@ -191,5 +209,3 @@ if (require.main === module) {
}
module.exports = { runStartCaseExperiment };
module.exports = { runStartCaseExperiment };