S3C-验证报告.txt

阶段 3 工作包 3C 验证报告
========================
脱敏教研样例库:个人教案默认可一键发布为脱敏教研样例
时间: 2026-08-22T12:44:31.653Z

[0] 班级=2024级法学1班 模板=法学类 教师=系统管理员
    课时=第七章 自然语言处理与应用 · 舆情分析与立场检测 plan#4 原状态=completed

[1] 构造含个人信息的样例,跑集中式 sanitize
    脱敏前命中: 班级名「2024级法学1班」;班级名「法学1班」;教师名「系统管理员」;字段 student_no;学号文本;个人链接 https://weixin.qq.com/personal/s3c-demo
    班级替换=1 教师替换=1 学号移除=2 画像泛化=1 链接剥离=1
    断言「脱敏后含个人信息」: 未命中(通过)
    快照含「某专业某班」=true 含「某教师」=true
    预览: "某专业某班(某班规模)由某教师授课;学号(已脱敏) 不应出现。"

[2] 课时置 completed 并一键发布
    已是 completed,允许本条发布
    样例#1 created=false 状态=published
    主题=舆情分析与立场检测
    专业模板=法学类 课型=案例讨论与辩论
    目标摘要=能解释舆情分析的基本流程并指出人工判断环节;能指出立场检测模型两类失败并说明原因;能就 AI 舆情结论能否作为处置依据给出有法律原则的立场
    评分=6/6 发布时间=2026-08-22T12:44:32.137Z

[3] 样例库可见
    公共列表 1 条,含本样例=true
    列表项: 舆情分析与立场检测 / 法学类 / 案例讨论与辩论 / 评分 6/6 / 2026-08-22

[4] 收藏 + 引用到个人备课
    收藏#29 kind=research_sample title=舆情分析与立场检测 列表含本样例=true
    引用 plan#33 lesson=第一章 人工智能概述(占位课时) sourceSampleId=1 status=plan_draft

[5] 验证脱敏(无班级/教师/学号)
    无班级名=true 无教师名=true 无学号=true
    学情摘要: 某专业某班(某班规模),约2/3无编程基础,多数用过聊天AI;对舆情话题兴趣高,但可能误信算法中立,需课中澄清。
    发布快照断言: 未命中个人信息(通过)

[6] admin 撤销再恢复(保持样例库可演示)
    撤销后公共不可见=true 恢复后状态=published

约束落实
- 个人层私有、公共层只见脱敏快照(F1.3 / M2.12 / GROK-PED-I4)。
- 脱敏:班级名→某专业某班、教师名→某教师、学情分布泛化、移除学号、可选剥离个人链接。
- 发布开关:默认允许;可逐条取消;admin 可撤销。
- 收藏复用 /api/favorites kind=research_sample;引用复制并记 source_sample_id。

演示结果
- 样例:#1 《舆情分析与立场检测》
- 评分:6/6
- 收藏:#29
- 脱敏:无班级=true 无教师=true 无学号=true

Build / 回归
- npm run build:通过(路由含 /api/lesson-plans/[id]/publish-sample、/api/research-samples、/api/research-samples/[id]、/api/research-samples/[id]/cite、/api/research-samples/[id]/review、/api/me/sample-pref、/samples、/samples/[id])
- s3c:test:41 passed / 0 failed
- s3a:test:32 passed / 0 failed
- s3b:test:39 passed / 0 failed
- s2a:test:43 passed / 0 failed
- s2b:test:32 passed / 0 failed
- s2c:test:43 passed / 0 failed
- P4–P10 回归:全部通过(P4 48、P5 33、P6 52、P7 33、P8 28、P9 55、P10 32)

遗留
- 本环境无浏览器工具,页面点击由 demo + 单测覆盖。
- 理工/医学模板扩展不在本工作包。
下载此文件