From 922f58a49ff8a81046a538913d54589041de69c6 Mon Sep 17 00:00:00 2001 From: robbond Date: Sun, 30 Aug 2026 11:09:24 +0100 Subject: [PATCH] fix(confidence-engine): project processing indicator to active follow-up block MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Repair LOCATION-A defect where processing feedback rendered near the completed narrative instead of inside the active follow-up block. Changes: - components/reasoning-workspace.jsx: three targeted edits using a single spinner component with conditional rendering; hasActiveFollowUp routes ownership to the correct container - tests/open-questions-vs-assumptions.test.jsx: regression test confirming exactly one indicator, DOM child of follow-up-block, ownership separation Accepted criteria met: ✅ Exactly one processing indicator during follow-up processing ✅ Indicator is a DOM child of follow-up-block ✅ Top-level indicator suppressed when follow-up active ✅ Initial answer flow preserved (top-level when no follow-up) ✅ Successful follow-up promotion intact ✅ All existing context retained ✅ No new state/lifecycle changes/error redesign --- components/reasoning-workspace.jsx | 17 ++-- docs/current-handoff.md | 93 ++++++++++++++++++++ tests/open-questions-vs-assumptions.test.jsx | 56 ++++++++++++ 3 files changed, 161 insertions(+), 5 deletions(-) diff --git a/components/reasoning-workspace.jsx b/components/reasoning-workspace.jsx index efff9a7..3d0daed 100644 --- a/components/reasoning-workspace.jsx +++ b/components/reasoning-workspace.jsx @@ -229,19 +229,19 @@ function FocusedQuestionBody({ ) : null} {focused?.question?.trim() && processingStep !== "active" && focused.status === "formulated" && !hasAnswer && !hasActiveFollowUp && ( -
+