# M4 统一鉴权与字段清理

## 鉴权口径
- 系统角色等级：1 学生、2 班主任、3 中层、4 校级、5 管理员
- 实体身份依赖：require_binding(student|teacher)
- 版别运行模式：require_edition_for_mode()

## 字段与索引
- classes：使用 head_teacher_person_id（索引）；移除 head_teacher_id（索引）
- schedules：使用 teacher_person_id（索引）；移除 teacher_id（索引）
- students：使用 person_id（稀疏唯一）；移除 user_id（索引）

## 管理接口
- POST /api/v1/persons/bulk
- POST /api/v1/teachers/bulk
- PUT /api/v1/classes/{class_id}/head-teacher
- PUT /api/v1/schedules/assign-teacher
- POST /api/v1/bindings；GET /api/v1/bindings/me

## 仪表盘接口
- GET /api/v1/dashboard/student/today（role≥1 + binding=student）
- GET /api/v1/dashboard/homeroom/current（role≥2 + binding=teacher）
- GET /api/v1/dashboard/department/overview（role≥3）
- GET /api/v1/dashboard/campus/overview（role≥5）

## 迁移顺序
1. persons 导入→ 2. teachers 导入 → 3. classes 设置 head_teacher_person_id → 4. schedules 设置 teacher_person_id → 5. bindings 建主绑定 → 6. 清理旧索引与字段

## 验证
- MCP 检查集合字段与索引；联调各仪表盘接口返回示例。
