feat: decompose non-answerable unknowns

This commit is contained in:
2026-08-03 09:53:28 +01:00
parent db994d7764
commit 42d4da3496
5 changed files with 477 additions and 12 deletions
+42
View File
@@ -52,6 +52,13 @@ function buildDiagnostics({
selectedUnknownNodeId,
decompositionApplied,
questionComplexityAssessment,
answerabilityAssessment,
independentlyAnswerable,
prerequisiteConceptCount,
decompositionTriggeredByAnswerability,
decompositionReason,
selectedContainerUnknown,
selectedChildUnknown,
}) {
return {
promptVersion: analysis?.promptVersion ?? null,
@@ -73,6 +80,14 @@ function buildDiagnostics({
selectedUnknownNodeId: selectedUnknownNodeId ?? null,
decompositionApplied: decompositionApplied ?? false,
questionComplexityAssessment: questionComplexityAssessment ?? null,
answerabilityAssessment: answerabilityAssessment ?? null,
independentlyAnswerable: independentlyAnswerable ?? null,
prerequisiteConceptCount: prerequisiteConceptCount ?? null,
decompositionTriggeredByAnswerability:
decompositionTriggeredByAnswerability ?? false,
decompositionReason: decompositionReason ?? null,
selectedContainerUnknown: selectedContainerUnknown ?? null,
selectedChildUnknown: selectedChildUnknown ?? null,
};
}
@@ -341,6 +356,20 @@ export async function startCase(body) {
initialQuestionResult.decompositionPerformed ?? false,
questionComplexityAssessment:
initialQuestionResult.questionComplexityAssessment ?? null,
answerabilityAssessment:
initialQuestionResult.answerabilityAssessment ?? null,
independentlyAnswerable:
initialQuestionResult.independentlyAnswerable ?? null,
prerequisiteConceptCount:
initialQuestionResult.prerequisiteConceptCount ?? null,
decompositionTriggeredByAnswerability:
initialQuestionResult.decompositionTriggeredByAnswerability ?? false,
decompositionReason:
initialQuestionResult.selectedQuestion?.reason ?? null,
selectedContainerUnknown:
initialQuestionResult.selectedContainerUnknown ?? null,
selectedChildUnknown:
initialQuestionResult.selectedChildUnknown ?? null,
}),
validationErrors: graphReferenceValidation.errors,
statusCode: 500,
@@ -371,6 +400,19 @@ export async function startCase(body) {
initialQuestionResult.decompositionPerformed ?? false,
questionComplexityAssessment:
initialQuestionResult.questionComplexityAssessment ?? null,
answerabilityAssessment:
initialQuestionResult.answerabilityAssessment ?? null,
independentlyAnswerable:
initialQuestionResult.independentlyAnswerable ?? null,
prerequisiteConceptCount:
initialQuestionResult.prerequisiteConceptCount ?? null,
decompositionTriggeredByAnswerability:
initialQuestionResult.decompositionTriggeredByAnswerability ?? false,
decompositionReason:
initialQuestionResult.selectedQuestion?.reason ?? null,
selectedContainerUnknown:
initialQuestionResult.selectedContainerUnknown ?? null,
selectedChildUnknown: initialQuestionResult.selectedChildUnknown ?? null,
}),
};
}