WF-05 — Recommendation & Cockpit
Từ Learner Model + Context + goal → readiness + next best action (việc tốt nhất tiếp theo). Đã hiện thực baseline (buildCockpit).
mermaid
flowchart TD
M[Learner Model: mastery/node] --> RD[computeReadiness theo blueprint]
CTX[Context: goal, grade, school] --> RD
RD --> G[Gaps xếp hạng: critical/important]
G --> PR{Prereq của gap đã đạt?}
PR -- chưa --> FIX[fix_prerequisite: học prereq đang chặn]
PR -- rồi & chưa có evidence --> AS[assess: chẩn đoán ngắn node]
PR -- rồi & có evidence --> LP[learn / practice node]
FIX --> OUT[Next actions xếp theo priority]
AS --> OUT
LP --> OUTPriority (SDD-002 §10)
priority ≈ weight × deficit (baseline), sẽ mở rộng ExpectedImpact × GoalRelevance × Urgency × PrereqImportance × P(success) ÷ Cost. Ưu tiên fix prerequisite đang chặn nhiều node (đúng tinh thần "không yếu fraction nói chung — gap đó đang chặn 6 skills").
Trace ngược "vì sao học cái này" (REQ-VIS-06)
Mỗi action kèm reason + blocks/node_id → Task → Skill Gap → Area → Goal.
Hiện thực
GET /v1/learners/:id/cockpit?subject_id= + trả sau submit. UI cockpit tại learn.nemo12.com (readiness bar + next actions). Verified end-to-end.
Trace
REQ-INT-05→priority · REQ-LRN-02→next action · REQ-VIS-03→readiness · REQ-VIS-06→reason.