Skip to content

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.