跳转至

受来源约束的语义评估

本贡献基于 contrib/mastery-grouped-assessment 的 6532c8c2 提交(PR #1943)。它从本地集成工作区移植了选定的评估符号,而不是整个共享服务/工具文件。

保证

  • 经过精确校验的选择项/等价项保留在本地。其他已作答的自由表单叶子节点共享一个受限的语义请求,在需要时使用原始的授权 PDF 像素;图片回退已禁用。
  • 题目契约绑定目标、题目、选项、答案、评分标准以及最新来源证据。引文原文必须存在。原始考试来源的判定保持保守;不会仅凭单个字母推断选项键。
  • 等待发生在存储事务之外。提交时会重新检查原始交互/答案/目标指纹、生命周期、来源访问和摘要。
  • 提供商错误不会写入成绩。不确定的答案是非最终的,可以被显式修订;最终兄弟节点不可更改。分组子节点不会创建额外的活动题目行,也不会重复计算掌握积分。
  • 在尝试次数、证据、调度器质量、题库条目、原生卡片和导师种子方面,部分正确与不正确是有区别的。纠正会重新评估保存的原始学习者答案,丢弃旧的由选项键派生的别名,并修复回执。
  • 定性评估使用实际运行时学习者消息,绝不使用模型的通过标志。保留了原生的选定模型 ContextVar 路由。
  • 单个和分组的评分失败会发出恢复事件,同时保留草稿。

来源依赖

lesson_evidence.py 提供实际准备、受限的定向修复、经验证的缓存完整/部分数据包以及选定来源范围。source_pages.py 提供物理定位器、哈希、受限渲染和传统 BM25 页面辅助文件。四个小的 LlamaIndex 所有者变更保留了物理 PDF 文档,持久化页面目录,并在搜索前限定检索范围。不存在替代渲染器、伪造的验证标志、OCR 迁移或全局模型覆盖。

显式的 mastery_prepare_lesson 工具已注册并挂载。自动缓存交付管道和已教授状态的来源保护是另一个叠加的来源准备后续工作,并未被静默复制到本切片中。针对那些未移植的所有者以及单独的遗留 URL 别名迁移的测试有意不包含在内。新的引用使用原生路由参数 source_path、source_hash、page、region。

验证

所有测试均使用临时合成记录和离线提供商桩。未更改任何学习者数据;此移植未进行后端重启或提供商成本调用。

  • 初始根 RED:缺少语义实现;较长的正确释义、非最终修订、部分结果和提供商失败契约均失败。
  • 额外 RED:单卡片运行时失败变体产生了零恢复事件(3 个失败,3 个通过);修复后运行时套件 20 个通过。
  • 额外 RED:定性题库结果参数缺失(2 个失败);修复后根语义套件 20 个通过。
  • 原生后端:语义评估、来源桥接、来源页面、可视化工作流、掌握工具、分组运行时和能力套件 280 个通过;在添加两个定性题库回归后,受影响的语义/工具套件 100 个通过。
  • 原生 DOM:npm run test:unit -- tests/mastery-question-group.spec.tsx tests/question-bank-picker.spec.tsx 20 个通过。涵盖不确定的叶子节点修订、最终兄弟节点锁定、单次澄清重试和类型化徽章。
  • 原生 npm run typecheck:通过。
  • 限定的 Ruff 和 git diff --check:通过。

父级审查单独运行了两次受控模型探针:四个文本决策和一个原始合成像素表格决策。这些集成观察结果不能替代上述确定性回归套件。

移植边界

服务:评分/评估/修复/定性路径、分组合并/结果/叶子节点路径、题目注册/答案修订、证据更新和掌握度计算。工具:仅准备/测验/评分/评估/修复和定性题库投影。循环:仅针对这些工具和 _grade_seed 的原始消息注入。运行时:仅 _grade_submitted_card_answer 失败投影。UI:类型化结果辅助、卡片、回执/拒绝投影、题库徽章和六处部分翻译。个人资料、入组、记忆、广泛教学指导和交付恢复编辑仍保留在各自独立的贡献中。

练习卡片接口后续

测验模式和分组完成提示现在准确允许所有目标类型的练习卡片。单个和分组的 CONCEPT / DESIGN 卡片都明确保留了独立的定性门槛。未更改任何积分政策。一个新的三案例回归测试最初因过时的描述/缺失分组通知而失败,同时已经证明六个正确的概念/设计尝试没有打开任一门槛。在措辞修复后:根 concept-contract/工具套件 83 个通过;原生 concept-contract/运行时/能力套件 101 个通过;限定的 Ruff 和差异检查通过。

本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 dee/DeepTutor