114 lines
3.5 KiB
Markdown
114 lines
3.5 KiB
Markdown
|
|
---
|
||
|
|
milestone: v2
|
||
|
|
name: Frontend MVP
|
||
|
|
audited: 2026-04-26
|
||
|
|
status: tech_debt
|
||
|
|
scores:
|
||
|
|
requirements: 8/8
|
||
|
|
phases: 3/3
|
||
|
|
integration: 4/4
|
||
|
|
flows: 3/3
|
||
|
|
gaps:
|
||
|
|
requirements: []
|
||
|
|
integration: []
|
||
|
|
flows: []
|
||
|
|
tech_debt:
|
||
|
|
- phase: "007-web-app-shell-diagnostic-start"
|
||
|
|
items:
|
||
|
|
- "UI was initially verified with HTTP/API smoke rather than browser screenshots."
|
||
|
|
- phase: "008-learning-progress-view"
|
||
|
|
items:
|
||
|
|
- "Progress view has no charts or historical readiness timeline."
|
||
|
|
- phase: "009-material-asset-workspace"
|
||
|
|
items:
|
||
|
|
- "Chrome DevTools MCP timed out during local browser screenshot attempt."
|
||
|
|
- "Material and asset workspace is still prompt-only and has no real image generation."
|
||
|
|
nyquist:
|
||
|
|
compliant_phases: []
|
||
|
|
partial_phases: []
|
||
|
|
missing_phases:
|
||
|
|
- "007-web-app-shell-diagnostic-start"
|
||
|
|
- "008-learning-progress-view"
|
||
|
|
- "009-material-asset-workspace"
|
||
|
|
overall: missing
|
||
|
|
---
|
||
|
|
|
||
|
|
# v2 Frontend MVP Audit
|
||
|
|
|
||
|
|
## Verdict
|
||
|
|
|
||
|
|
TECH_DEBT
|
||
|
|
|
||
|
|
All v2 Frontend MVP requirements are satisfied. The Go service now serves a
|
||
|
|
working browser UI for diagnostic practice, progress review, material
|
||
|
|
ingestion, ontology inspection, and teaching asset prompt generation.
|
||
|
|
|
||
|
|
The milestone remains `tech_debt` rather than `passed` because visual browser
|
||
|
|
screenshot validation could not be completed: Chrome DevTools MCP timed out
|
||
|
|
while opening the local page. HTTP/API smoke, static asset inspection, Go tests,
|
||
|
|
and OpenSpec validation all passed.
|
||
|
|
|
||
|
|
## Requirements Coverage
|
||
|
|
|
||
|
|
| Requirement | Status | Evidence |
|
||
|
|
|-------------|--------|----------|
|
||
|
|
| WEB-01 | Satisfied | Web app served at `/`. |
|
||
|
|
| WEB-02 | Satisfied | Diagnostic session creation wired from app script to API. |
|
||
|
|
| WEB-03 | Satisfied | Answer submission and rubric feedback rendering implemented. |
|
||
|
|
| WEB-04 | Satisfied | Learner memory, readiness, and next challenge APIs wired and rendered. |
|
||
|
|
| WEB-05 | Satisfied | Material ingestion UI calls `POST /api/v1/materials`. |
|
||
|
|
| WEB-06 | Satisfied | Ontology concept, edge, and gap summary rendering implemented. |
|
||
|
|
| WEB-07 | Satisfied | Teaching asset prompt generation UI implemented. |
|
||
|
|
| WEB-08 | Satisfied | Loading, empty, and error states exist across MVP flows. |
|
||
|
|
|
||
|
|
Total: 8/8 v2 requirements satisfied.
|
||
|
|
|
||
|
|
## Cross-Phase Integration
|
||
|
|
|
||
|
|
| Integration | Result |
|
||
|
|
|-------------|--------|
|
||
|
|
| Go backend static serving to web app | PASS |
|
||
|
|
| Diagnostic UI to backend diagnostic APIs | PASS |
|
||
|
|
| Answer grading to learner progress UI | PASS |
|
||
|
|
| Material ingestion to ontology to teaching asset prompt UI | PASS |
|
||
|
|
|
||
|
|
## E2E Smoke Evidence
|
||
|
|
|
||
|
|
```json
|
||
|
|
{
|
||
|
|
"HtmlStatus": 200,
|
||
|
|
"HtmlHasWorkspace": true,
|
||
|
|
"JsHasAllApis": true,
|
||
|
|
"SessionID": "diag-1",
|
||
|
|
"Readiness": 75,
|
||
|
|
"OntologyConcepts": 4,
|
||
|
|
"AssetPromptID": "asset-prompt-1",
|
||
|
|
"VerifyGuard": true
|
||
|
|
}
|
||
|
|
```
|
||
|
|
|
||
|
|
## Validation Evidence
|
||
|
|
|
||
|
|
- `go test ./...` passed.
|
||
|
|
- `openspec validate frontend-mvp --strict` passed.
|
||
|
|
- `openspec validate bootstrap-job-tutor-platform --strict` passed.
|
||
|
|
- Source line-count check passed.
|
||
|
|
|
||
|
|
## Recommended Next Milestone
|
||
|
|
|
||
|
|
Recommended next milestone: Persistence and Runtime Hardening.
|
||
|
|
|
||
|
|
Rationale:
|
||
|
|
|
||
|
|
- The browser MVP now proves the user journey.
|
||
|
|
- The biggest product risk is data loss from in-memory stores.
|
||
|
|
- Real `third-one` / internalized `agent-farm-go` runtime integration should be
|
||
|
|
added after durable state boundaries are in place.
|
||
|
|
|
||
|
|
Candidate phases:
|
||
|
|
|
||
|
|
1. Durable persistence for sessions, learner memory, ontology, and asset
|
||
|
|
prompts.
|
||
|
|
2. Runtime configuration and workflow package execution.
|
||
|
|
3. Browser visual regression and UI hardening.
|