WF-04 — Evidence → Model Update
Vòng lõi: mọi evidence (assessment, bài tập, mentor/parent observation, self-report) → cập nhật Learner Model → recompute readiness/recommendation. Chạy async để không giữ HTTP request (SDD-002 §14, REQ-NFR-01).
mermaid
flowchart LR
E[EvidenceRecorded] --> V[Validate + persist evidence<br/>idempotency_key]
V --> U[Update affected skill state<br/>updateMastery]
U --> P[Propagate prerequisite impact<br/>depth-1]
P --> C[Recompute confidence + trajectory]
C --> DET{Thay đổi quan trọng?}
DET -- có --> R[Regenerate recommendations]
DET -- không --> X[Kết thúc]
R --> CTX[Update Context Model]
CTX --> N[Notify relevant systems]Cloudflare mapping
- Queue
nemo12-events: fan-out các bước độc lập (analytics, notification). - Workflow: orchestration nhiều bước cần retry/pause khi khối lượng lớn (nhiều môn, propagation sâu).
- Incremental (REQ-INT-10): chỉ recompute node bị ảnh hưởng + dependent + aggregate liên quan, không rebuild toàn model.
Reliability (REQ-NFR-01/04)
Consumer idempotent (2 lần cùng event → không nhân đôi evidence); retry + backoff; quá ngưỡng → DLQ nemo12-events-dlq. Model không mất khi bước sau lỗi.
Trạng thái hiện tại
Baseline: cập nhật đồng bộ ngay trong POST /diagnostic/submit (đủ cho quy mô hiện tại) + phát EvidenceRecorded/AssessmentCompleted vào Queue. Consumer nâng cấp dần theo doc này.
Trace
REQ-INT-01→persist · REQ-INT-10→incremental · REQ-INT-13→async · REQ-NFR-01/04→isolation/retry.