fix(reasoning): reconcile closure selection state

This commit is contained in:
2026-08-14 11:02:00 +01:00
parent a00112e157
commit 54e2e2186b
4 changed files with 386 additions and 3 deletions
+25
View File
@@ -356,6 +356,31 @@ function reconcileResolutionSemantics(graph, proposal) {
}
}
for (const update of nextProposal.updatedNodes) {
const existingNode = graphNodeById.get(update.nodeId);
if (
existingNode?.kind === "unknown" &&
update.newStatus === "resolved" &&
!nextProposal.resolvedUnknownNodeIds.includes(update.nodeId)
) {
nextProposal.resolvedUnknownNodeIds.push(update.nodeId);
}
}
if (nextProposal.selectedQuestion?.nodeId) {
const selectedQuestionNodeId = nextProposal.selectedQuestion.nodeId;
const selectedQuestionUpdate = updatedNodeById.get(selectedQuestionNodeId);
const selectedQuestionResolvedByStatus =
selectedQuestionUpdate?.newStatus === "resolved";
const selectedQuestionResolvedById = nextProposal.resolvedUnknownNodeIds.includes(
selectedQuestionNodeId,
);
if (selectedQuestionResolvedByStatus || selectedQuestionResolvedById) {
nextProposal.selectedQuestion = null;
}
}
for (const update of nextProposal.updatedNodes) {
const existingNode = graphNodeById.get(update.nodeId);
if (