Quellcode durchsuchen

docs: 记录单轮内容评语 MVP 实施完成情况

backend feat/content-evaluator 5 commits (99e64fa..7d192be),
frontend feat/english-speaking 1 commit (7c4d1a9);
后端 11/11 pytest 通过、前端 vue-tsc 通过。

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
jimmylee vor 2 Wochen
Ursprung
Commit
2cbcc3dd0b
1 geänderte Dateien mit 18 neuen und 6 gelöschten Zeilen
  1. 18 6
      doc/ContentEvaluationPlan.md

+ 18 - 6
doc/ContentEvaluationPlan.md

@@ -1281,9 +1281,21 @@ echo "frontend: $(git -C /Users/buoy/Development/gitrepo/PPT rev-parse --short H
 
 ---
 
-## 完成记录(实施时填写)
-
-- 计划完成日期:_____
-- 后端 HEAD:_____
-- 前端 HEAD:_____
-- 偏差或额外说明:_____
+## 完成记录
+
+- 计划完成日期:2026-04-23
+- 后端 HEAD:`7d192be` (branch `feat/content-evaluator`, 基线 `aa5e1a7`,5 个 commit)
+  - `99e64fa` Task 1 DB 列
+  - `1492ebe` Task 2 pytest 骨架
+  - `dee45e6` Task 3 content_evaluator 模块
+  - `a1f1b91` Task 4 接线 _evaluate_pronunciation
+  - `7d192be` Task 5 /report 返回 contentFeedback
+- 前端 HEAD:`7c4d1a9` (branch `feat/english-speaking`, 基线 `4523862`,1 个 commit)
+  - `7c4d1a9` Task 6 结果页 contentFeedback 透传
+- 最终回归:后端 `uv run pytest` 11/11 passed;前端 `vue-tsc --noEmit` exit=0
+- 偏差与说明:
+  - Task 2 触发了 plan Step 2a 的条件分支(pytest-asyncio 缺失,按 plan 指令自动追加依赖 + conftest.py 插入 `pytest_plugins`)
+  - Task 4 把 `async_session` 从方法内延迟 import 提升到模块顶层(为了让 `monkeypatch.setattr` 能打到;无循环依赖风险)
+  - Task 6 实际走 plan 的 Branch C(实现完整 adapter),投资成本略高于 Branch A 的一行 pass-through。发现:`TopicDiscussionPreview.vue` 当前展示的是 `mockEvaluation` 硬编码数据,真实 `getReport()` 并未被 UI 消费。adapter 是结构性就位,真正"打开结果页看到 LLM 评语"需要后续把 UI 切换到走 `DialogueAPI.getReport`——该切换不在本 MVP 范围,留给后续任务
+  - 未做端到端 smoke(真实后端 + 真实浏览器操作),仅静态验证(单测 + 类型检查)。进入真实联调时需先在后端启动 `.env` 里配好 `AZURE_SPEECH_KEY` 和 `ONEHUB_API_KEY`
+  - 评审中提出的几个 non-blocking 改进项(content_evaluator 的 AsyncOpenAI 生命周期、`_StubDB` 断言说明、`pron_scores` TypedDict、adapter 错误容忍)均标记为后续迭代,未纳入本次 MVP