
adminandClaude Fable 5
4866b0408a
feat(bioflow): extension lifecycle backend (P0) - spec whitelist, state machine, AI build, intent layers
服务端生命周期部分(契约 §1/§2/§4/§5/§6;Dev-A):
- extension_spec.py: spec_v2 白名单 12 占位符 + {output_dir} 必含 + 白名单外拒绝
- extensions.py: 生命周期状态机(契约 §2 枚举) + {extensions}/{ext_id} 文件存储
+ ExtensionExecutor 接口占位(Dev-B 实现 extension_exec.py, inject_executor 注入)
+ extension_* 事件帧经 EventBus 发布(events.py 注册, 不改 job_* 语义)
- extension_llm.py: build/repair AI 转换(DOCGEN_LLM_* 优先, BIOFLOW_EXTENSION_* 别名)
LLM 不可用/坏输出一律回退规则版(_detect_requirements/_command_to_template 移植), 绝不 500
- routers/extension.py: 契约 §6 端点全集; trial/run 执行器未接入返回 503
- intent.py: 契约 §5 两层判定纯函数(A 创建词库 × B 已发布扩展打分 + 歧义消解 + 漏判安全)
chat/stream 接线留给 Dev-C 主分支整合
- config/schemas/main: upload_ext_allow 加 .zip/.py/.r/.sh; extensions_dir +
extension_max_repair_rounds(20) + LLM 键注释; 模型; router 注册
- tests: 5 个测试文件 71 用例; 全仓 286 用例通过
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-09-14 13:48:37 +08:00
..
2026-09-05 16:44:18 +08:00
2026-09-11 14:19:04 +08:00
2026-09-10 18:13:49 +08:00
2026-09-12 18:40:08 +08:00
2026-08-31 12:56:47 +08:00
2026-09-10 16:46:48 +08:00
2026-09-02 18:27:41 +08:00
2026-09-06 11:07:23 +08:00
2026-09-06 02:59:26 +08:00
2026-09-02 18:27:41 +08:00
2026-09-10 20:38:11 +08:00
2026-09-12 09:32:59 +08:00
2026-09-12 16:55:47 +08:00
2026-09-12 20:05:57 +08:00
2026-08-25 20:47:52 +08:00
2026-09-03 21:13:56 +08:00
2026-09-14 13:48:37 +08:00
2026-09-06 08:58:17 +08:00
2026-09-07 21:20:35 +08:00
2026-09-07 21:20:35 +08:00
2026-09-07 21:20:35 +08:00
2026-08-31 16:41:37 +08:00
2026-08-31 16:41:37 +08:00
2026-08-31 16:41:37 +08:00
2026-09-06 08:18:20 +08:00
2026-09-05 16:09:48 +08:00
2026-08-31 12:56:47 +08:00
2026-08-31 12:56:47 +08:00
2026-09-07 21:20:35 +08:00