feat: advance reasoning after comparability is resolved

This commit is contained in:
2026-08-02 17:06:34 +01:00
parent 7d408701b5
commit 25a989450c
9 changed files with 649 additions and 5 deletions
+39
View File
@@ -28,6 +28,8 @@ export default function GraphUpdateView({ updateResult }) {
proposal,
previousSituationGraph,
updatedSituationGraph,
reasoningState,
previousReasoningState,
} = updateResult;
const newlySurfacedUnknownNodeIds = (proposal.addedNodes || [])
@@ -109,6 +111,23 @@ export default function GraphUpdateView({ updateResult }) {
: null,
].filter(Boolean);
const previousComparabilityStatus =
previousReasoningState?.comparabilityStatus ||
previousSituationGraph?.reasoningState?.comparabilityStatus ||
null;
const newComparabilityStatus =
reasoningState?.comparabilityStatus ||
updatedSituationGraph?.reasoningState?.comparabilityStatus ||
null;
const relationshipStatus =
reasoningState?.relationshipStatus ||
updatedSituationGraph?.reasoningState?.relationshipStatus ||
null;
const reasoningStagesAfter =
reasoningState?.reasoningStages ||
updatedSituationGraph?.reasoningState?.reasoningStages ||
[];
return (
<div className="space-y-4">
<section className="rounded-lg border border-blue-200 bg-blue-50 p-4">
@@ -134,12 +153,32 @@ export default function GraphUpdateView({ updateResult }) {
{selectedQuestion.question}
</div>
)}
{previousComparabilityStatus && newComparabilityStatus && (
<div>
<span className="font-medium">Comparability:</span>{" "}
{previousComparabilityStatus} {newComparabilityStatus}
</div>
)}
{relationshipStatus && (
<div>
<span className="font-medium">Relationship status:</span>{" "}
{relationshipStatus}
</div>
)}
{!selectedQuestion?.question && !newActiveUnknownNodeId && previousActiveUnknownNodeId && (
<div>
<span className="font-medium">Next question status:</span> No next question selected yet.
</div>
)}
</div>
{reasoningStagesAfter.length > 0 && (
<div className="mt-3 text-sm text-blue-950">
<span className="font-medium">Reasoning stages:</span>{" "}
{reasoningStagesAfter
.map((stage) => `${stage.stage}: ${stage.status}`)
.join(" → ")}
</div>
)}
</section>
<ListSection