feat(core): RoleSpec.deliverable_types角色合法交付类型声明+deliverable_type码表扩充14项+pipeline_deliverables.files_json本体文件清单列——配套service交付件类型守卫(2026-09-14 pbls:需求交付被LLM照抄示例标成design_doc,文件名-XI6..._design_doc.md);deliverable技能补角色类型表与本体vs摘要语义
This commit is contained in:
parent
bedb183aff
commit
770440a885
@ -165,6 +165,62 @@
|
||||
{
|
||||
"k": "test-report",
|
||||
"v": "测试报告"
|
||||
},
|
||||
{
|
||||
"k": "requirement_spec",
|
||||
"v": "需求规格"
|
||||
},
|
||||
{
|
||||
"k": "design_doc",
|
||||
"v": "设计文档"
|
||||
},
|
||||
{
|
||||
"k": "code_files",
|
||||
"v": "代码文件"
|
||||
},
|
||||
{
|
||||
"k": "deploy_doc",
|
||||
"v": "部署文档"
|
||||
},
|
||||
{
|
||||
"k": "deploy_evidence",
|
||||
"v": "部署证据"
|
||||
},
|
||||
{
|
||||
"k": "deploy_config",
|
||||
"v": "部署配置"
|
||||
},
|
||||
{
|
||||
"k": "release_notes",
|
||||
"v": "发布说明"
|
||||
},
|
||||
{
|
||||
"k": "test_report",
|
||||
"v": "测试报告"
|
||||
},
|
||||
{
|
||||
"k": "test_docs",
|
||||
"v": "测试文档"
|
||||
},
|
||||
{
|
||||
"k": "test_plan",
|
||||
"v": "测试计划"
|
||||
},
|
||||
{
|
||||
"k": "pm_review",
|
||||
"v": "PM审核记录"
|
||||
},
|
||||
{
|
||||
"k": "qc_review",
|
||||
"v": "QC审查记录"
|
||||
},
|
||||
{
|
||||
"k": "retrospective",
|
||||
"v": "项目复盘报告"
|
||||
},
|
||||
{
|
||||
"k": "human_task",
|
||||
"v": "人类任务结果"
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
@ -16,6 +16,7 @@
|
||||
{"name": "repo_name", "title": "目标仓库别名", "type": "str", "length": 100},
|
||||
{"name": "target_path", "title": "仓库内相对路径", "type": "str", "length": 500},
|
||||
{"name": "file_path", "title": "本地存储路径", "type": "str", "length": 500},
|
||||
{"name": "files_json", "title": "本体文件清单(JSON数组,工作空间相对路径)", "type": "text"},
|
||||
{"name": "content", "title": "交付件内容", "type": "longtext"},
|
||||
{"name": "quality_score", "title": "质量评分(0-100)", "type": "int", "nullable": "no", "default": "80"},
|
||||
{"name": "review_status", "title": "评审状态", "type": "str", "length": 20, "nullable": "no", "default": "'pending'"},
|
||||
|
||||
@ -34,6 +34,12 @@ class RoleSpec:
|
||||
model_name: str = "" # 角色专属模型(空 = 继承产线)
|
||||
task_title: str = "" # 该角色作为自动派生下一任务时的标题后缀
|
||||
tools: List[str] = field(default_factory=list) # 工具白名单(空 = 产线全部工具)
|
||||
deliverable_types: List[str] = field(default_factory=list)
|
||||
# ↑ 该角色 deliver 的合法交付件类型(规范名,如 requirement→["requirement_spec"])。
|
||||
# 引擎在 deliver 拦截处校验:非法类型拒绝并返回合法清单(可行动报错);
|
||||
# 空列表 = 产线未声明 → 不校验(逃逸阀,与 create_task 角色守卫同模式)。
|
||||
# 2026-09-14 pbls 实测:工具描述示例值 "design_doc" 被 requirement 角色 LLM 照抄,
|
||||
# 引擎零校验照单全收 → 需求交付件被命名成 -XI6..._design_doc.md(类型错+文件名以'-'开头)。
|
||||
|
||||
|
||||
@dataclass
|
||||
|
||||
@ -66,6 +66,25 @@ tools: [submit_deliverable, approve_deliverable, reject_deliverable, reopen_deli
|
||||
`submit_deliverable` / `approve_deliverable` / `reject_deliverable` /
|
||||
`reopen_deliverable` / `list_deliverables` / `set_deliverable_state`(通用 CAS 兜底)。
|
||||
|
||||
## 七.5、角色 → 合法交付件类型(deliverable_type 守卫,2026-09-14 起)
|
||||
|
||||
引擎在角色 agent `deliver` 时校验 deliverable_type 必须属于本角色声明的合法清单,
|
||||
非法值拒绝并回填合法清单(角色重交);工具 schema 里只展示本角色合法值。
|
||||
|
||||
| 角色 | 合法 deliverable_type |
|
||||
|---|---|
|
||||
| agent.requirement | requirement_spec |
|
||||
| agent.design | design_doc |
|
||||
| agent.develop | code_files |
|
||||
| agent.deploy_test | deploy_doc / deploy_evidence / deploy_config |
|
||||
| agent.test | test_report / test_docs / test_plan |
|
||||
| agent.deploy_prod | deploy_doc / deploy_evidence / release_notes |
|
||||
| agent.pm / agent.qc | (系统写入:pm_review / qc_review / retrospective) |
|
||||
|
||||
**交付件本体 vs 摘要**:`deliver` 的 result 是摘要/索引(落库 content + deliverables/{role}/ 快照),
|
||||
本体是 write_file 写好的 docs/ 编号树文档与 apps/、modules/ 代码。引擎自动采集本体文件清单
|
||||
(files_json 列),PM/QC 审核输入随附清单并强制逐个 read_file 本体后判定,禁止只看摘要放行。
|
||||
|
||||
## 八、分层覆盖
|
||||
|
||||
本 skill 是 **SDLC 产线默认**状态机;项目可用**同名 deliverable skill** 覆盖评审流程。
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user