v1.4.1 — 🚂 训练引擎地基
🚂 训练不再是黑箱脚本——给企业专属模型建了一所「训练学校」的地基:可编排、可审计、可复现、可恢复,八块水电管线一次铺齐。
🔨 核心变更
🚂 训练任务编排(train-job)
- 新增
train_submitMCP tool(66→67 tools),语言对话即可提交训练任务;train doctorCLI 一键体检训练环境 - train-job 生命周期管理:创建幂等 + enterpriseId 强制绑定 + datasetVersion 续跑锁定
📒 训练全程可审计
- train_job 审计事件 HMAC 链:谁训的 / 用哪批数据 / 产物指纹 / 合规红线,全链留痕可回滚
- 权重产物 HMAC 签名 + 加载阻断——审计 DNA 从代码 diff 延伸到权重文件(防投毒)
🔐 多企业隔离与可复现
- enterpriseId 隔离边界(缺失拒绝创建)+ 企业数据覆写清理
- 可复现指纹:datasetHash + 环境快照 + HMAC 冻结,重冻结拒绝(A/B 对比训练的声称基础)
♻️ 异常退出守护
- 心跳守卫 + 四步资源回收(进程组杀除 / GPU 显存释放通知 / tmp 清理 / 审计入链)+ 孤儿进程巡检
- 引擎崩溃恢复:启动扫描 + 三选项决策 + 假活任务清理(engine-crash-log.jsonl)
🛡️ 训练安全基线
- 路径白名单 + 环境变量注入过滤 + 凭据脱敏(红队攻击面声明)
🔒 BugFix(上版遗留)
- install.sh 迁移失败中止叙事(return 1×set -e 场景用户可见 err)+ symlink 谎报守卫(ln -sf/sfn 全守卫)
- DSH 工具注入 zod schema 泄漏根治(判断层四 worker 全灭根因)+ 防回归单测 5 用例
- EXIT trap 吞退出码 + bash 3.2 多字节变量名两大系统性炸弹根治(acceptance 检查器层)
⚠️ 破坏性变更
- MCP 工具数 66→67(新增
train_submit,默认全量暴露不变) - 训练任务创建强制
enterpriseId(缺失抛 zod 校验错——多企业隔离的数据主权底线) SOFAGENT_FORCE_DSH环境变量废弃 →SOFAGENT_EXECUTION_BACKEND
✅ 质量验证
| 检查项 | 结果 |
|---|---|
| npm test | 3177 tests 全绿 ✅ |
| acceptance-test | 340/340 场景全绿 ✅ |
| shellcheck | 零 error ✅ |
| check-version | 93/93 全绿 ✅ |
| 回归检查 | 94 维度 ✅ |
| release-gate | verdict=PASS ✅ |
| fresh-eyes | 24+24 视角审查闭环 ✅ |
📖 详细开发日志