fix: clarify reasoning progress and loading feedback

This commit is contained in:
2026-08-03 15:44:34 +01:00
parent ed32d585bb
commit 44aad69e12
3 changed files with 223 additions and 39 deletions
+33 -5
View File
@@ -88,6 +88,35 @@ These are only accessible by expanding the disclosure. Raw node IDs do not appea
- Reasoning test modifications
- New component library additions
## Loading Feedback Refinement
The loading state was tightened for clarity:
- Reassurance message threshold moved from 30 s to 45 s to avoid premature reassurance.
- Elapsed time displayed in seconds during both initial analysis and answer update.
- Rotating status messages continue per the original pools, changing based on elapsed seconds only.
## Progress Card — Unexplained Counts Replaced
The standalone "X remaining" text was replaced with a `Reasoning progress` card:
- **Areas under investigation** — Plain-language statement of how many areas remain (e.g., "We have identified 1 area that still needs investigation.").
- **Current focus** — The active unknown label, shown in plain language.
- **Why this matters** — The active unknown's description, when available.
- Fallback text ("There is no active area of investigation at the moment.") when there is no active unknown and no remaining areas.
Words such as "unknown nodes", "unresolved nodes", "remaining graph items", and "candidate count" are intentionally avoided in user-facing copy.
## Current Understanding Wording
The `Current understanding` card continues to display whatever text `currentSummary` provides from the API. When `currentSummary` is absent, a calm fallback message appears: "We have started to separate what is known from what still needs checking." Technical graph counts (node types, edge totals) are no longer constructed or displayed in user-facing sections — they are only available inside the collapsed Developer details disclosure.
## Developer-Detail Boundary
- **User-facing cards** show: situation summary, current understanding, reasoning progress with active focus, and next question — all without raw IDs, node kinds, or internal enum names.
- **Developer details** (collapsed `<details>` element) preserves the full SituationGraphView (node groups, badges, edge info), GraphUpdateView (update history, proposal details), and DiagnosticsView (model name, prompt version, validation status, node/edge counts).
- No user-facing card renders raw node IDs or technical graph metadata.
## Remaining UX Limitations
1. **Multi-turn not implemented** — The workspace currently reflects the one-update prototype limitation. A multi-turn version would need persistent state management between turns.
@@ -101,14 +130,13 @@ These are only accessible by expanding the disclosure. Raw node IDs do not appea
| File | Change |
|------|--------|
| `components/reasoning-workspace.jsx` | New — main workspace component with cards, loading feedback, developer details disclosure |
| `components/scenario-form.jsx` | Refactored to use ReasoningWorkspace for result rendering; removed inline answer form/debug panels from render |
| `app/globals.css` | Added `@keyframes spin` animation definition |
| `tests/ui/scenario-form.test.jsx` | 20 new tests for ReasoningWorkspace rendering, loading states, error states, no-question states, debug view preservation |
| `components/reasoning-workspace.jsx` | Loading feedback refinement (45 s threshold); ProgressSummary → ReasoningProgress card; CurrentUnderstanding simplified; DeveloperDetails boundary clarified |
| `tests/ui/scenario-form.test.jsx` | Added 8 new focused UI tests covering progress card, reasoning focus, loading behavior, and technical-data isolation; removed outdated "remaining" count assertion |
| `docs/v0.7-user-workspace-ux-first-pass.md` | Added sections for loading feedback refinement, progress-card replacement, current-understanding wording, developer-detail boundary |
## Test Results
- All 48 UI tests pass (28 existing + 20 new)
- All 58 UI tests pass (50 existing + 8 new)
- ESLint: no warnings or errors
- Next.js build: clean, no new route entries or compilation issues