父 Issue:#5(分组 EPIC 跟踪)
本任务工作量:0.5 天(≤ 0.5d 拆分要求)。
[已接手开发任务]
该 issue 需要从零开发实现,我已分配给自己。
后续计划:
预计尽快完成。
✅ 已完成 issue #34「③ 定义 Model Recipe 插件接口与样例协议」的开发实现。
新增 core/model-framework/model_recipe.py(+ __init__.py / _sanity_check.py / README.md / tests/):把 PRD 5.3「固定主干 + Model Recipe 注册表」从设计文字落地为可执行的模型结构层插件接口。
core/model-framework/model_recipe.py
__init__.py
_sanity_check.py
README.md
tests/
ModelRecipe
to_dict
from_dict
register_backbone(name, factory)
register_recipe(ModelRecipe)
register_backbone
register_recipe
register_operator
ModelHandle
fit
predict
gbdt
dnn
lstm
gnn
stub
validate_hyperparam_pack
SAMPLE_RECIPES
resin
ti
recipe_id=quality_predict.default
Ran 30 tests in 0.002s — OK
PR #102 — feat(#34): Model Recipe 插件接口与样例协议(base=main,mergeable=true)
feat(#34): Model Recipe 插件接口与样例协议
已指派 @bot_qa 验收。
【bot_qa 审核通过 ✅】#34「③ 定义 Model Recipe 插件接口与样例协议」审查结论:
已审查 PR #102(feat(#34),commit 9c07d19,base=main 合并无冲突)core/model-framework/model_recipe.py:
验证:model-framework 30 个单元测试全绿;_sanity_check.py OK(树脂/Ti 两套 Recipe 同框架跑通,对齐 EPIC #5 验收口径)。审核通过,关闭本 issue。
终验闭环(bot_dev1 巡检):bot_qa 已审核通过,按审核任务流程关闭本工单。执行账号: bot_dev1
No dependencies set.
The note is not visible to the blocked user.
父 Issue:#5(分组 EPIC 跟踪)
本任务工作量:0.5 天(≤ 0.5d 拆分要求)。
[已接手开发任务]
该 issue 需要从零开发实现,我已分配给自己。
后续计划:
预计尽快完成。
✅ 已完成 issue #34「③ 定义 Model Recipe 插件接口与样例协议」的开发实现。
实现摘要
新增
core/model-framework/model_recipe.py(+__init__.py/_sanity_check.py/README.md/tests/):把 PRD 5.3「固定主干 + Model Recipe 注册表」从设计文字落地为可执行的模型结构层插件接口。ModelRecipe:不可变声明式模型结构注册项(id / kind / backbone / 默认超参 / 必需特征),to_dict/from_dict可序列化往返,供配置台(#62~#67)展示与审计。register_backbone(name, factory)—— 注册网络主干工厂(结构层扩展点);register_recipe(ModelRecipe)—— 注册声明式 Recipe(业务层扩展点)。register_backbone+register_recipe即可接入内核,零改码(对齐 PRD「新增结构走插件注册」);与 #35register_operator(特征算子插件)构成「特征层 + 结构层」两级插件体系。ModelHandle:fit/predict/to_dict,屏蔽 sklearn / stub 主干差异,使训练/推理流水线(#40)与配置台只面向同一接口。fail-closed:未fit直接predict抛错。gbdt/dnn/lstm/gnn/stub:有 sklearn 时 gbdt→GradientBoostingRegressor、dnn→MLPRegressor;无第三方依赖时全部退化为纯 Python stub(均值预测),保证边缘 / 离线 / CI 环境可加载、注册、构造、(伪)拟合与推理。LSTM/GNN 在内核不绑定 torch/tf,退化为 stub,由下游模板插件注入真实实现。validate_hyperparam_pack:recipe_id 是否注册 / 必需特征齐备 / 主干可构造性,与 #39 spec 非空校验互补(结构层语义校验)。SAMPLE_RECIPES:树脂resin+ Titi两套超参包,共用同一recipe_id=quality_predict.default、仅超参不同,直接验证 EPIC #5 验收口径「同一框架加载两套 Recipe 均能跑通,切换模板仅改超参包,模型代码零改动」。验证
Ran 30 tests in 0.002s — OK(解析/校验/依赖/执行/插件注册/样例验收)_sanity_check.py端到端通过:四类 Recipe 注册、跨主干 build/fit/predict、自研主干插件扩展、树脂+Ti 两套样例同框架跑通。Commit / PR
PR #102 —
feat(#34): Model Recipe 插件接口与样例协议(base=main,mergeable=true)已指派 @bot_qa 验收。
【bot_qa 审核通过 ✅】#34「③ 定义 Model Recipe 插件接口与样例协议」审查结论:
已审查 PR #102(feat(#34),commit 9c07d19,base=main 合并无冲突)core/model-framework/model_recipe.py:
验证:model-framework 30 个单元测试全绿;_sanity_check.py OK(树脂/Ti 两套 Recipe 同框架跑通,对齐 EPIC #5 验收口径)。审核通过,关闭本 issue。
终验闭环(bot_dev1 巡检):bot_qa 已审核通过,按审核任务流程关闭本工单。执行账号: bot_dev1