feat: show learning progress in web app

This commit is contained in:
user
2026-04-26 18:41:13 +09:00
parent ce38189f33
commit 7866f6dcb3
12 changed files with 245 additions and 6 deletions

View File

@@ -0,0 +1,34 @@
# Phase 8 Context: Learning Progress View
**Status:** Ready for execution
**Started:** 2026-04-26
## Goal
Show evidence-backed learning progress in the web app after diagnostic
practice.
## Requirements
- WEB-04: User can see learner memory, readiness, and next challenge after
answering.
## Inputs
- Phase 7 web app shell.
- Existing backend endpoints:
- `GET /api/v1/learners/{userID}/memory`
- `GET /api/v1/learners/{userID}/readiness-map`
- `GET /api/v1/learners/{userID}/next-challenge`
## UX Direction
Keep progress in the right-side context column so the answer workspace remains
centered. The user should see the loop close immediately: answer, feedback,
memory, readiness, next challenge.
## Out of Scope
- Full graph visualization.
- Historical readiness timeline.
- Editing learner memory.

View File

@@ -0,0 +1,26 @@
# Phase 8 Plan: Learning Progress View
**Status:** Ready for execution
**Phase Goal:** Close the practice loop with visible learning progress.
## Tasks
### 1. Add progress UI region
- Add learner progress section to the right context pane.
- Include manual refresh affordance.
### 2. Fetch progress after answer
- Fetch learner memory, readiness map, and next challenge after grading.
- Render empty/error states when progress is unavailable.
### 3. Verify
- Add/update web app tests for progress asset content.
- Run Go tests, OpenSpec validation, line-count check, and live smoke.
## Out of Scope
- Charts.
- Historical progress storage.

View File

@@ -0,0 +1,20 @@
# Phase 8 Research: Learning Progress View
## Findings
The backend already provides progress projection after answer submission. The
frontend only needs to fetch and summarize the three endpoints after grading.
Useful MVP display:
- profile target role and stack
- top concept mastery states
- readiness percentage
- next challenge concept, ladder level, and question
## Recommendation
- Refresh progress automatically after successful answer submission.
- Add a manual refresh button for recovery.
- Use empty state before the first answer.
- Keep evidence labels compact so they do not overwhelm the practice surface.

View File

@@ -0,0 +1,33 @@
# Phase 8 Summary
**Status:** Complete
**Completed:** 2026-04-26
## Delivered
- Added learning progress region to the web app right context pane.
- Added manual progress refresh action.
- After answer submission, the app fetches learner memory, readiness map, and
next challenge.
- Rendered readiness percentage, concept mastery states, and recommended next
challenge.
- Added frontend asset test coverage for progress API wiring.
## Verification
```powershell
gofmt -w cmd internal
go test ./...
openspec validate frontend-mvp --strict
```
Additional smoke check:
- Submitted a diagnostic answer, then verified learner memory, readiness, and
next challenge APIs returned progress consumed by the app script.
## Deferred
- Browser screenshot audit.
- Charts and historical progress.
- Editable learner memory.

View File

@@ -0,0 +1,24 @@
# Phase 8 Verification
## Verdict
PASS
## Requirement Coverage
- WEB-04: PASS. The web app can fetch and render learner memory, readiness, and
next challenge after an answer.
## Evidence
- `go test ./...` passed.
- `openspec validate frontend-mvp --strict` passed.
- Static app script includes the readiness API integration.
- Live smoke confirmed memory mastery, readiness percentage, and next challenge
after diagnostic answer submission.
## Residual Risk
The UI is still verified through code and HTTP/API smoke rather than browser
screenshots. Phase 9 should add visual/browser validation after the workspace
surface is complete.