Skip to content

WF-06m — Mentor (Dolphin) Observation ​

Portal dolphin.nemo12.com cho Dolphins (mentors) theo sát learners được giao. Mentor đồng hành, không kiểm soát (SRC-001).

Actor & Authz ​

Mentor = user có role_assignments.role='mentor'. Chỉ xem learner có trong mentor_assignments (mentor_user_id, learner_id, status='active') (REQ-SEC-02). canAccessLearner mở rộng: self · guardian · mentor được giao.

Luồng ​

mermaid
flowchart TD
  A[Mentor đăng nhập Google tại dolphin.nemo12.com] --> R{Có role mentor?}
  R -- không --> X[Thông báo: chưa được cấp quyền mentor]
  R -- có --> L[Dashboard: danh sách learners được giao<br/>+ readiness, hoạt động gần đây, gap chính]
  L --> D[Chọn 1 learner → quan sát]
  D --> V[Cockpit / Toàn cảnh / Tiến độ của learner<br/>dùng chung endpoint REQ-VIS]
  V --> N[Ghi mentor note nội bộ<br/>visibility internal_staff/mentor_team → learner không thấy]
  N --> E[Note quan trọng → evidence MentorObservation]

API ​

  • GET /v1/mentor/learners — learners được giao + tóm tắt (readiness môn chính, last activity).
  • Dùng lại GET /v1/learners/:id/{cockpit,overview,progress} (authz mở rộng cho mentor).
  • POST /v1/learners/:id/mentor-notes {content, visibility} + GET — interactions target_type=learner, visibility mặc định internal_staff (learner không thấy — SDD-005 §4).
  • Note đánh dấu evidence → learner_evidence (source mentor_observation, reliability 0.75) — REQ-MEN-03.

Cấp quyền mentor (ops) ​

Phase 1 (~10 mentors nội bộ): admin/script cấp role_assignments role='mentor' + mentor_assignments. Admin UI để giao learner là phase sau.

Trace ​

REQ-MEN-01→authz+dashboard · REQ-MEN-02→notes visibility · REQ-MEN-03→evidence · REQ-MEN-06→observe views.