fix(confidence-engine): gate focused completion during processing

This commit is contained in:
2026-08-31 18:29:06 +01:00
parent b270aa5624
commit 0624bc20e2
+5 -2
View File
@@ -393,12 +393,13 @@ function FocusedQuestionBody({
// ── Persistent navigation controls (overlay-level, outside content grid) ── // ── Persistent navigation controls (overlay-level, outside content grid) ──
function FocusedWorkspaceNavigation({ nodeId, doneForNow, isDoneForNowActive }) { function FocusedWorkspaceNavigation({ nodeId, doneForNow, isDoneForNowActive, isProcessing }) {
const canDoneForNow = Boolean(isDoneForNowActive); const canDoneForNow = Boolean(isDoneForNowActive) && !isProcessing;
return ( return (
<div className="mt-6 flex items-center justify-end border-t border-gray-200 pt-5"> <div className="mt-6 flex items-center justify-end border-t border-gray-200 pt-5">
<button <button
onClick={(e) => { e.stopPropagation(); doneForNow?.(); }} onClick={(e) => { e.stopPropagation(); doneForNow?.(); }}
disabled={canDoneForNow ? false : true}
style={{ cursor: canDoneForNow ? "pointer" : "not-allowed" }} style={{ cursor: canDoneForNow ? "pointer" : "not-allowed" }}
className={`rounded-lg border px-4 py-2 text-sm font-medium transition whitespace-nowrap ${canDoneForNow ? 'border-gray-300 bg-white text-gray-600 hover:bg-gray-50' : 'border-gray-100 bg-gray-50 text-gray-300'}`} className={`rounded-lg border px-4 py-2 text-sm font-medium transition whitespace-nowrap ${canDoneForNow ? 'border-gray-300 bg-white text-gray-600 hover:bg-gray-50' : 'border-gray-100 bg-gray-50 text-gray-300'}`}
> >
@@ -2168,6 +2169,7 @@ export default function ReasoningWorkspace({
<FocusedWorkspaceNavigation <FocusedWorkspaceNavigation
nodeId={focusedPresentationItemId} nodeId={focusedPresentationItemId}
doneForNow={() => { doneForNow={() => {
if (processingStep === "active") return;
/* ── v0.49 — promote eligible focused findings into Current Understanding ─── */ /* ── v0.49 — promote eligible focused findings into Current Understanding ─── */
onSummaryUpdate?.(focusedPresentationItemId); onSummaryUpdate?.(focusedPresentationItemId);
setDoneForNowIds((prev) => [...prev, focusedPresentationItemId]); setDoneForNowIds((prev) => [...prev, focusedPresentationItemId]);
@@ -2177,6 +2179,7 @@ export default function ReasoningWorkspace({
setIsFocusedWorkspaceOpen(false); setIsFocusedWorkspaceOpen(false);
}} }}
isDoneForNowActive={Boolean(getFocusedInvestigation()?.question?.trim())} isDoneForNowActive={Boolean(getFocusedInvestigation()?.question?.trim())}
isProcessing={processingStep === "active"}
/> />
)} )}
</> </>