docs: fix WP2 plan GeneratedQuestion import + NULL qid note (Codex review)

This commit is contained in:
2026-07-16 04:52:31 -04:00
parent 232a56e826
commit 4fd8a6bfef
@@ -139,6 +139,7 @@ docstring 补一句参数说明:
f"SELECT {col_sql} FROM {table} WHERE run_id=?", (run_id,)
).fetchall()
```
> NULL question_id 说明:predictions 的 question_id 是题标识、语义上非空(canonical 900 题均有 id),`GROUP BY question_id` 的 NULL 折叠风险不适用。若源库异常出现 NULL question_id`MIN(rowid) GROUP BY` 会把它们折叠成一行——本任务不为该异常兜底(预测数据契约保证非空),保持 fail-visible。
- [ ] **Step 4: 运行确认通过 + 回归**
@@ -169,7 +170,7 @@ git commit -m "feat: add dedupe_per_question to extract_run_db (canonical 902->9
def test_tier_aware_keeps_high_t2_in_diag():
"""错题视频组按 T2 含量升序进 val:T2 高的组保留在 diagnosis。"""
from app.harness.pools import split_by_video_assignment
from app.question_gen.types import GeneratedQuestion
from core.types import GeneratedQuestion
def _q(qid, vid):
return GeneratedQuestion(
@@ -196,7 +197,7 @@ def test_tier_aware_keeps_high_t2_in_diag():
def test_val_wrong_min_repair_pulls_from_diag():
"""val 错题不足 val_wrong_min 时从 diag 换入低 T2 错题组补足。"""
from app.harness.pools import split_by_video_assignment
from app.question_gen.types import GeneratedQuestion
from core.types import GeneratedQuestion
def _q(qid, vid, correct):
return GeneratedQuestion(