feat(types): extend GeneratedQuestion with skill_target & difficulty_steps
- Add skill_target (str | None) and difficulty_steps (int | None) fields to GeneratedQuestion dataclass with field(default=None) - Update loader.py to pass new fields from JSON (backward-compatible) - Update pools.py _q_to_dict/_dict_to_q for serialization compat - Add question_gen_v2 config section to default.yaml - Add comprehensive test coverage (7 tests) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
+5
-1
@@ -2,7 +2,7 @@
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
from dataclasses import dataclass
|
||||
from dataclasses import dataclass, field
|
||||
|
||||
|
||||
@dataclass(frozen=True)
|
||||
@@ -41,6 +41,8 @@ class GeneratedQuestion:
|
||||
answer: 正确答案字母(如 "B")。
|
||||
source_nodes: 来源节点 ID 元组。
|
||||
difficulty: 难度等级。
|
||||
skill_target: 目标技能标识(v2 出题管线使用,None 表示未指定)。
|
||||
difficulty_steps: 推理步数估计(v2 出题管线使用,None 表示未指定)。
|
||||
"""
|
||||
|
||||
question_id: str
|
||||
@@ -51,3 +53,5 @@ class GeneratedQuestion:
|
||||
answer: str
|
||||
source_nodes: tuple[str, ...]
|
||||
difficulty: str
|
||||
skill_target: str | None = field(default=None)
|
||||
difficulty_steps: int | None = field(default=None)
|
||||
|
||||
Reference in New Issue
Block a user