test(ui): explore provisional branch pause and reopen
This commit is contained in:
@@ -351,9 +351,14 @@ function BranchNotebookContent({
|
||||
openQuestions,
|
||||
lateResults,
|
||||
inactiveBranchNewResults,
|
||||
doneForNowBranchIds,
|
||||
onDoneForNow,
|
||||
branchId,
|
||||
}) {
|
||||
const hasOpenItems = openQuestions && openQuestions.length > 0;
|
||||
const hasContributions = contributions && contributions.length > 0;
|
||||
const isPaused = doneForNowBranchIds?.includes(branchId) || false;
|
||||
const isBranchActive = !isPaused;
|
||||
|
||||
return (
|
||||
<div className="space-y-6">
|
||||
@@ -407,9 +412,35 @@ function BranchNotebookContent({
|
||||
<UpdatedConnectionCard update={lateResults[0]} />
|
||||
)}
|
||||
|
||||
{/* Quiet state — only when there are no open items and no updates */}
|
||||
{/* Done for now control — only when branch is not already paused */}
|
||||
{isBranchActive && onDoneForNow && contributions.length > 0 && (
|
||||
<div className="flex justify-end pt-1">
|
||||
<button
|
||||
onClick={(e) => { e.stopPropagation(); onDoneForNow(); }}
|
||||
style={{ cursor: "pointer" }}
|
||||
className="rounded-lg border border-gray-300 bg-white px-4 py-2 text-sm font-medium text-gray-600 hover:bg-gray-50 transition whitespace-nowrap"
|
||||
>
|
||||
Done for now
|
||||
</button>
|
||||
</div>
|
||||
)}
|
||||
|
||||
{/* Quiet state */}
|
||||
{!hasOpenItems && !lateResults?.length && (
|
||||
<QuietStateCard />
|
||||
<div className="rounded-lg border border-gray-200/60 bg-gray-50/40 px-5 py-5 text-center">
|
||||
{isPaused ? (
|
||||
<>
|
||||
<p className="text-sm leading-relaxed text-gray-500 mb-1">
|
||||
Nothing more to add here right now
|
||||
</p>
|
||||
<p className="text-xs leading-relaxed text-gray-400">
|
||||
This branch is paused. Reasoning preserved — return when you have more information.
|
||||
</p>
|
||||
</>
|
||||
) : (
|
||||
<QuietStateCard />
|
||||
)}
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
);
|
||||
@@ -805,6 +836,11 @@ export default function ReasoningWorkspace({
|
||||
branchLocalContributions,
|
||||
branchLocalLateResults,
|
||||
inactiveBranchNewResults,
|
||||
activeBranchIdForNotebook,
|
||||
// ── RTO.27B — provisional pause state ──
|
||||
doneForNowBranchIds,
|
||||
onDoneForNow,
|
||||
onReopenBranch,
|
||||
}) {
|
||||
const [investigationHistory, setInvestigationHistory] = useState([]);
|
||||
const turnCounter = useRef(0);
|
||||
@@ -1115,6 +1151,9 @@ export default function ReasoningWorkspace({
|
||||
openQuestions={branchLocalQuestions || []}
|
||||
lateResults={branchLocalLateResults || []}
|
||||
inactiveBranchNewResults={inactiveBranchNewResults || {}}
|
||||
doneForNowBranchIds={doneForNowBranchIds || []}
|
||||
onDoneForNow={onDoneForNow}
|
||||
branchId={activeBranchIdForNotebook}
|
||||
/>
|
||||
)}
|
||||
|
||||
@@ -1149,14 +1188,12 @@ export default function ReasoningWorkspace({
|
||||
{genuineCompletion && (
|
||||
<CompletionCard summary={resolveCurrentSummary(propUnderstanding || graph?.currentSummary || result?.updatedSituationGraph?.currentSummary)} />
|
||||
)}
|
||||
{!genuineCompletion && (
|
||||
experimentalBranches && experimentalBranches.length > 0 ? (
|
||||
// In experiment mode: quiet facilitator state, not evidence limit verdict
|
||||
<QuietStateCard />
|
||||
) : (
|
||||
<EvidenceLimitCard summary={resolveCurrentSummary(propUnderstanding || graph?.currentSummary || result?.updatedSituationGraph?.currentSummary)} />
|
||||
)
|
||||
)}
|
||||
{!genuineCompletion && experimentalBranches && experimentalBranches.length > 0 ? (
|
||||
// Quiet state is handled inside BranchNotebookContent for experiment mode
|
||||
null
|
||||
) : !genuineCompletion ? (
|
||||
<EvidenceLimitCard summary={resolveCurrentSummary(propUnderstanding || graph?.currentSummary || result?.updatedSituationGraph?.currentSummary)} />
|
||||
) : null}
|
||||
</>
|
||||
)}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user