feat: introduce reasoning pattern selection

This commit is contained in:
2026-08-03 10:25:26 +01:00
parent 42d4da3496
commit b00928d6fb
7 changed files with 986 additions and 19 deletions
+70
View File
@@ -59,6 +59,12 @@ function buildDiagnostics({
decompositionReason,
selectedContainerUnknown,
selectedChildUnknown,
reasoningPattern,
questionFamily,
allowedQuestionFamilies,
rejectedQuestionFamilies,
selectedQuestionTemplate,
reasoningPatternReason,
}) {
return {
promptVersion: analysis?.promptVersion ?? null,
@@ -88,6 +94,12 @@ function buildDiagnostics({
decompositionReason: decompositionReason ?? null,
selectedContainerUnknown: selectedContainerUnknown ?? null,
selectedChildUnknown: selectedChildUnknown ?? null,
reasoningPattern: reasoningPattern ?? null,
questionFamily: questionFamily ?? null,
allowedQuestionFamilies: allowedQuestionFamilies ?? [],
rejectedQuestionFamilies: rejectedQuestionFamilies ?? [],
selectedQuestionTemplate: selectedQuestionTemplate ?? null,
reasoningPatternReason: reasoningPatternReason ?? null,
};
}
@@ -177,6 +189,12 @@ function buildUpdateDiagnostics({
selectedUnknownBefore,
selectedUnknownAfter,
plainLanguageNormalisations,
reasoningPattern,
questionFamily,
allowedQuestionFamilies,
rejectedQuestionFamilies,
selectedQuestionTemplate,
reasoningPatternReason,
}) {
return {
promptVersion: promptVersion ?? "v0.4",
@@ -257,6 +275,12 @@ function buildUpdateDiagnostics({
selectedUnknownBefore: selectedUnknownBefore ?? null,
selectedUnknownAfter: selectedUnknownAfter ?? null,
plainLanguageNormalisations: plainLanguageNormalisations ?? [],
reasoningPattern: reasoningPattern ?? null,
questionFamily: questionFamily ?? null,
allowedQuestionFamilies: allowedQuestionFamilies ?? [],
rejectedQuestionFamilies: rejectedQuestionFamilies ?? [],
selectedQuestionTemplate: selectedQuestionTemplate ?? null,
reasoningPatternReason: reasoningPatternReason ?? null,
unknownSelectionExplanation: unknownSelectionExplanation ?? null,
};
}
@@ -370,6 +394,21 @@ export async function startCase(body) {
initialQuestionResult.selectedContainerUnknown ?? null,
selectedChildUnknown:
initialQuestionResult.selectedChildUnknown ?? null,
reasoningPattern:
initialQuestionResult.selectedQuestion?.reasoningPattern ?? null,
questionFamily:
initialQuestionResult.selectedQuestion?.questionFamily ?? null,
allowedQuestionFamilies:
initialQuestionResult.selectedQuestion?.allowedQuestionFamilies ?? [],
rejectedQuestionFamilies:
initialQuestionResult.selectedQuestion?.rejectedQuestionFamilies ??
[],
selectedQuestionTemplate:
initialQuestionResult.selectedQuestion?.selectedQuestionTemplate ??
null,
reasoningPatternReason:
initialQuestionResult.selectedQuestion?.reasoningPatternReason ??
null,
}),
validationErrors: graphReferenceValidation.errors,
statusCode: 500,
@@ -413,6 +452,19 @@ export async function startCase(body) {
selectedContainerUnknown:
initialQuestionResult.selectedContainerUnknown ?? null,
selectedChildUnknown: initialQuestionResult.selectedChildUnknown ?? null,
reasoningPattern:
initialQuestionResult.selectedQuestion?.reasoningPattern ?? null,
questionFamily:
initialQuestionResult.selectedQuestion?.questionFamily ?? null,
allowedQuestionFamilies:
initialQuestionResult.selectedQuestion?.allowedQuestionFamilies ?? [],
rejectedQuestionFamilies:
initialQuestionResult.selectedQuestion?.rejectedQuestionFamilies ?? [],
selectedQuestionTemplate:
initialQuestionResult.selectedQuestion?.selectedQuestionTemplate ??
null,
reasoningPatternReason:
initialQuestionResult.selectedQuestion?.reasoningPatternReason ?? null,
}),
};
}
@@ -709,6 +761,18 @@ async function updateCaseWithDependencies(body, dependencies = {}) {
selectedUnknownAfter: applicationResult.selectedUnknownAfter,
plainLanguageNormalisations:
applicationResult.plainLanguageNormalisations,
reasoningPattern:
applicationResult.selectedQuestion?.reasoningPattern ?? null,
questionFamily:
applicationResult.selectedQuestion?.questionFamily ?? null,
allowedQuestionFamilies:
applicationResult.selectedQuestion?.allowedQuestionFamilies ?? [],
rejectedQuestionFamilies:
applicationResult.selectedQuestion?.rejectedQuestionFamilies ?? [],
selectedQuestionTemplate:
applicationResult.selectedQuestion?.selectedQuestionTemplate ?? null,
reasoningPatternReason:
applicationResult.selectedQuestion?.reasoningPatternReason ?? null,
unknownSelectionExplanation: buildUnknownSelectionDiagnostics(
applicationResult.updatedSituationGraph,
applicationResult.updatedSituationGraph.resolvedNodeIds || [],
@@ -787,6 +851,12 @@ async function updateCaseWithDependencies(body, dependencies = {}) {
selectedUnknownBefore: null,
selectedUnknownAfter: null,
plainLanguageNormalisations: [],
reasoningPattern: null,
questionFamily: null,
allowedQuestionFamilies: [],
rejectedQuestionFamilies: [],
selectedQuestionTemplate: null,
reasoningPatternReason: null,
unknownSelectionExplanation: buildUnknownSelectionDiagnostics(
situationGraph,
situationGraph.resolvedNodeIds || [],