feat: integrate evaluation closing and questions

This commit is contained in:
lda
2026-07-10 21:26:21 +07:00 Verified
parent 0a02c23be2
commit 5f79ee455b
5 changed files with 153 additions and 29 deletions
+66
View File
@@ -0,0 +1,66 @@
# Task 4 Report
## Status
- DONE
## Files
- Modified `web/apps/console/src/presentation/SceneBody.tsx`
- Modified `web/apps/console/src/presentation/SceneBody.test.tsx`
- Modified `web/apps/console/src/presentation/PresentationRoute.test.tsx`
- Modified `web/apps/console/src/presentation/presentation-state.test.ts`
## RED
Command:
```powershell
pnpm --dir web --filter @lda/console test -- src/presentation/SceneBody.test.tsx src/presentation/PresentationRoute.test.tsx src/presentation/presentation-state.test.ts
```
Observed result:
- `SceneBody.test.tsx`: 3 failing tests
- `PresentationRoute.test.tsx`: 2 failing tests
- `presentation-state.test.ts`: passed
- Failure cause matched the brief: `SceneBody` still rendered the local evaluation/conclusion content and the Questions beat still showed the generic discussion rail instead of the dedicated discussion index.
## GREEN
Command:
```powershell
pnpm --dir web --filter @lda/console test -- src/presentation/SceneBody.test.tsx src/presentation/PresentationRoute.test.tsx src/presentation/presentation-state.test.ts
```
Observed result:
- `3` test files passed
- `74` tests passed
- `0` failures
## Verification
- Replaced the old local evaluation scene in `SceneBody` with `EvaluationEvidenceScene`
- Routed non-Questions conclusion beats to `ConclusionScene`
- Routed `#scene/conclusion/questions` to `DefenseDiscussionIndex`
- Suppressed the generic scene discussion rail on the Questions beat to avoid duplicate discussion controls
- Added route-level coverage that opening a Questions discussion returns to `#scene/conclusion/questions`
- Added reducer coverage that `discussionReturn` preserves the Questions beat without introducing new state branches
## Deviations
- The brief's example assertion used `getByRole("group", { name: /thesis contribution boundary/i })`.
- The committed `ConclusionScene` already exposes that surface as an accessible `region`, so the test asserts `role="region"` instead of changing another task's interface.
## Concerns
- No functional concerns from Task 4 changes.
- Existing Git line-ending warnings remain (`LF` to `CRLF` on checkout); no content changes were made to address that.
## Self-Review
- TDD was followed with an observed RED before the `SceneBody` routing change.
- Only Task 4 files were edited, plus this report file.
- Reducer code was intentionally left unchanged because the new regression proved existing return semantics already handled the Questions beat correctly.