> ⚠️ **本文件已归档**：内容已合并至核心规则文件，此处仅作历史备份。请勿直接引用本文件，请使用 `.claude/rules/` 下的核心规则。

# 新学生与补课学生处理规则 v1.3

> 统一规范首次上课新学生与补课学生的课评处理
> 
> **v1.3 更新**：优化跨班级补课处理 - 检测到跨班级补课学生时**自动**完成双轨保存（班级汇总+跨班级个人档案），无需询问
> 
> **v1.2 更新**：新增跨班级补课处理 - 支持将课评跨班级保存到原个人档案，便于追踪完整成长轨迹

---

## 核心规则

### 规则1：首次上课（新学生）

**定义**：
- 从未在本机构上过任何课程的学生
- 刚报名入学的学生

**课评提及条件**：
- **仅在教师输入中明确写明"第一次上课"、"新学生"等关键词时，才能在课评中提及**
- 如果教师未明确说明，课评中**不自动添加**"这是孩子第一次上课"等表述

**正确示例**：
```
教师输入：小明（第一次上课）：开始不敢碰，后来搭了3层
课评输出：这节课是小明第一次上课，开始有点害羞...
```

**错误示例**：
```
教师输入：小明：开始不敢碰，后来搭了3层
课评输出：这节课是小明第一次上课... ❌（教师未说明）
```

---

### 规则2：补课学生（分两种情况处理）

**补课学生定义**：
因各种原因（请假、调课等）需要在非原班级时间补课的学生。

**⚠️ 重要：补课学生分两类，处理方式不同**

#### 情况A：自己班级的学生补课
- **判断标准**：学生在 `memory/student/{当前班级}/` 目录中存在
- **处理方式**：**正常双轨保存**（班级汇总 + 个人档案）
- **说明**：这是你自己的学生，只是补课，无需额外确认

**示例**：
```
教师输入：乔乔[补课]：搭了3层，开心
AI检测：乔乔在本班级档案中存在 → 按正式学生处理
处理结果：双轨保存
```

#### 情况B：跨班级补课（档案在其他班级）
- **判断标准**：学生在 `memory/student/{其他班级}/` 目录中存在（跨班级补课）
- **处理方式**：**自动双轨保存（跨班级模式）**
  - 课评保存到**补课班级**周汇总（当前班级）
  - 课评**自动追加**到**原班级**个人历史课评记录.md（标注补课班级信息）
  - **无需询问，自动完成**
- **跨班级保存说明**：如果学生档案在A班，来B班补课：
  - 课评保存到B班班级周汇总
  - 课评追加到A班个人历史课评记录.md（标注"【跨班级补课】在B班完成"）

**跨班级补课自动处理示例**：
```
教师输入：班级：发现世界-周六09点，林瀚丞[补课]：搭了3层，开心

AI检测：⚠️ 未找到「林瀚丞」在「发现世界-周六09点」的个人档案
        ✅ 找到「林瀚丞」在「发现世界-周四19点」的个人档案

判断：跨班级补课学生（原班级周四19点，补课班级周六09点）

自动处理结果：
→ 课评保存到「第7周/发现世界-周六09点.md」（班级汇总）
→ 课评追加到「student/发现世界-周四19点/林瀚丞/历史课评记录.md」（个人档案）
   标注：【跨班级补课】本节课程在周六09点班（第7周）完成

✅ 自动完成，无需教师确认
```

#### 统一规则
- **不要写"第一次上课"相关表述**，即使这是该学生第一次上这节课
- 补课学生**不是新学生**，只是课程调整
- 正常生成课评，按已有档案处理（或询问后的选择处理）

#### ⚠️ 重要规则：课评正文禁止提及补课

**绝对禁止**：
- ❌ **课评正文中绝对不能提及学生来补课相关内容**
- ❌ 禁止出现"补课"、"补课上"、"来补课"、"本次补课"等词汇
- ❌ 禁止暗示学生非正常上课（如"今天特别来参加"、"临时加入"等）

**正确处理**：
- ✅ 课评正文**完全按正常学生**撰写，仿佛学生就是本班正常上课的学生
- ✅ `[补课]`标记**仅作为后台参考**，用于档案存储路径判断
- ✅ 补课信息仅保存在班级汇总的元数据中，不进入课评正文

**正确示例**：
```
教师输入：林瀚丞[补课]：积极分析课程任务，专注完成了绿色身体、黑色头部的蜥蜴设计

课评输出（正确）：
瀚丞本节课学习了"蜥蜴"的仿生搭建...（正常撰写，完全不提补课）

课评输出（错误）：
瀚丞本节课作为补课学生，学习了"蜥蜴"... ❌（禁止提及补课）
瀚丞今天来补课，学习了"蜥蜴"... ❌（禁止提及补课）
```

**说明**：
- 家长看到课评时不应知道孩子是补课还是正常上课
- 补课标记仅用于教师内部管理和档案存储
- 保持课评的一致性和专业性

---

### 规则3：禁止自动推断

**严格禁止**：
- ❌ **禁止AI自动推断学生是补课还是第一次上课**
- ❌ 禁止根据表现猜测（如"表现生疏"→"可能是第一次"）
- ❌ 禁止根据历史记录自动判断

**必须**：
- ✅ 完全依赖教师输入中的明确标记
- ✅ 无标记时按常规学生处理

---

## 教师输入标记方式

### 单个学生输入
```
小明[第一次上课]：开始不敢碰，后来主动搭3层
小红[补课]：搭了3层，开心
```

### 批量输入
```
课程：DISC-003
班级：发现世界-周四19点

梁昕乔：快速启动，开心
钟昀昊：慢热，稳定
张小明[第一次上课]：开始不敢碰，后来主动
李小红[补课]：搭了3层，认真
```

---

## 无档案学生处理（补课/体验）

当检测到学生无个人档案时：

### 检测流程（自动处理版）

1. AI自动检测 `memory/student/{当前班级}/{学生名}/` 是否存在
2. **如存在**：该学生为本班级补课学生 → **正常双轨保存**（班级汇总 + 个人档案）
3. **如不存在**：自动搜索 `memory/student/` 下**所有班级目录**
   - **如在其他班级存在**：该学生为**跨班级补课学生** → **自动双轨保存（跨班级模式）**
     - ✅ 保存到**补课班级**周汇总（当前班级）
     - ✅ 追加到**原班级**个人历史课评记录.md（标注补课班级信息）
     - **无需询问，自动完成**
   - **如任何班级都不存在**：可能是其他老师班级学生 → **询问处理方式**

### 处理方式（更新版）

| 场景 | 判断条件 | 处理方式 | 存储位置 |
|------|---------|---------|---------|
| **自己班级补课学生** | 档案在当前班级目录存在 | 双轨保存 | 班级汇总 + 个人档案 |
| **跨班级补课学生** | 档案在其他班级目录存在 | **自动双轨保存（跨班级模式）** | 班级汇总（补课班级）+ 个人档案（原班级，标注补课信息）|
| **其他老师班级补课学生** | 档案不在任何班级目录 | 询问后决定 | 班级汇总（可选创建档案）|
| **体验课学生** | 无标记或标记[体验] | 仅班级汇总 | 班级汇总（标记体验）|

### 询问流程（其他老师班级补课学生）

```
⚠️ 未找到「张小明」在「发现世界-周四19点」班级的个人档案

该学生标记为[补课]，但不在本班级学生名单中。

可能情况：
[1] 其他老师的学生来补课 → 仅保存到班级汇总
[2] 新转班学生 → 创建个人档案（双轨保存）
[3] 档案在其他班级目录 → 询问是否迁移或仅班级汇总

请选择处理方式：
```

### 自动保存通知（跨班级补课）

当检测到跨班级补课学生时，**自动执行**以下操作，无需询问：

```
⚠️ 检测到「林瀚丞」为跨班级补课学生

档案位置：发现世界-周四19点（原班级）
补课班级：发现世界-周六09点（当前班级）

📋 课评归属规则：以补课班级（周六09点）的周数为准
- 原班级（周四19点）当前进度：第8周
- 补课班级（周六09点）当前进度：第7周
- 本节课评将按第7周记录

✅ 自动处理结果：
→ 课评保存到「第7周/发现世界-周六09点.md」（补课班级班级汇总）
→ 课评追加到「student/发现世界-周四19点/林瀚丞/历史课评记录.md」（原班级个人档案）
   标注：【跨班级补课】本节课程在周六09点班（第7周）完成

💡 提示：如需调整保存方式，可输入「调整{学生}保存方式」
```

---

## 🔄 简化转正流程（新增 v1.1）

### 原流程问题
- 体验学生转正需要回复"转为正式"
- 历史课评需要从班级汇总迁移到个人档案
- 操作步骤多，容易遗忘

### 优化后流程

#### 方案1：智能检测转正（推荐）

当体验/补课学生连续上课达到**3次**时，AI主动提示：

```
━━━━━━━━━━━━━━━━━━━━━━━━━
💡 转正建议

张小明已连续上3节课（第5周、第6周、第7周）：
- 第5周：体验课，积极参与
- 第6周：体验课，专注完成
- 第7周：体验课，表现稳定

建议为其创建正式档案，便于：
✓ 追踪完整成长轨迹
✓ 生成学期总结报告
✓ 家长沟通更有依据

[创建正式档案] [继续体验] [下周再提醒]
━━━━━━━━━━━━━━━━━━━━━━━━━
```

#### 方案2：一键转正（快捷）

输入简化指令：

```
教师：小明转正
或
教师：小明[正式]

AI处理：
1. 创建个人档案：memory/student/{班级}/小明/
2. 自动迁移历史课评（从班级汇总提取）
3. 标记后续课评为"正式学生"
4. 双轨保存生效

━━━━━━━━━━━━━━━━━━━━━━━━━
✅ 转正完成：张小明

已创建：
- 用户画像.md（模板，待完善）
- 历史课评记录.md（已迁移3次课评）
- 成长素材.md（空，待补充）

历史课评已迁移：
- 第5周 DISC-005 天平秤
- 第6周 DISC-006 长颈鹿
- 第7周 DISC-007 旋转飞机

下次输入"小明"将按正式学生处理
━━━━━━━━━━━━━━━━━━━━━━━━━
```

#### 方案3：输入时标记升级（灵活）

支持在输入时直接标记状态变化：

```
输入：小明[体验→正式]：今天表现很好

AI处理：
1. 自动创建档案
2. 迁移历史课评
3. 生成本次课评
4. 双轨保存

━━━━━━━━━━━━━━━━━━━━━━━━━
✅ 转正并生成课评：张小明

状态变化：体验 → 正式
已创建个人档案并迁移历史记录
本次课评已双轨保存
━━━━━━━━━━━━━━━━━━━━━━━━━
```

### 转正数据迁移

#### 自动迁移内容

| 内容 | 来源 | 目标 | 操作 |
|------|------|------|------|
| 历史课评 | 班级周汇总 | 个人历史课评.md | 自动提取并追加 |
| 用户画像 | 无 | 新建用户画像.md | 创建模板 |
| 成长素材 | 无 | 新建成长素材.md | 创建空文件 |

#### 迁移示例

```markdown
# 迁移前（班级汇总）

### 张小明（体验学生）⚠️
【第5周课评内容】
【第6周课评内容】
【第7周课评内容】

---

# 迁移后（个人档案）

## 历史课评记录.md

### 2026-04-04 | 课程代码：DISC-005
**课评内容**：【第5周内容】
**备注**：体验期间，原记录在班级汇总

### 2026-04-11 | 课程代码：DISC-006
**课评内容**：【第6周内容】
**备注**：体验期间，原记录在班级汇总

### 2026-04-17 | 课程代码：DISC-007
**课评内容**：【第7周内容】
**备注**：体验期间，原记录在班级汇总

### 转正记录
- 转正日期：2026-04-17
- 转正周数：第7周
- 已上课时：3节
- 来源：体验课转正
```

### 转正后班级汇总更新

```markdown
# 原标记（体验期间）
### 张小明（体验学生）⚠️

# 更新后（转正后）
### 张小明（已转正 ✅）
- 转正日期：2026-04-17
- 个人档案：已创建
- 历史课评：已迁移至个人档案
```

### 转正统计

在班级学期总览中添加转正统计：

```
## 学生流动情况

| 类型 | 人数 | 说明 |
|------|:----:|:-----|
| 正式学生 | 30人 | 学期初已建档 |
| 体验转正 | 3人 | 本学期从体验转正式 |
| 补课转入 | 2人 | 从其他班级转入 |
| 当前体验 | 2人 | 正在体验中 |

### 本学期转正记录

| 学生 | 原状态 | 转正周 | 已上课时 | 转正原因 |
|------|:------:|:------:|:--------:|:---------|
| 张小明 | 体验 | 第7周 | 3节 | 连续参与，表现稳定 |
| 李小红 | 补课 | 第5周 | 2节 | 转入正式班级 |
```

---

## 相关文件

- 输入格式规则：[30-input-format.md](30-input-format.md)
- 批量生成规则：[32-batch-generation.md](32-batch-generation.md)
- 快速入门：[40-keping-快速入门.md](40-keping-快速入门.md)
