---
url: https://docs.nemo12.com/workflows/mentor-observation.md
description: >-
  WF-06m: Dolphin (mentor) ghi quan sát các learner được giao trên
  dolphin.nemo12.com, đồng hành chứ không kiểm soát (SRC-001).
---

# 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.
