Move bizdev/freedoc/intent/projectworkflow/squad giant files into ≤800-line use-case siblings without behavior change; short tests green.
335 lines
10 KiB
Go
335 lines
10 KiB
Go
package squad
|
|
|
|
import (
|
|
"strings"
|
|
|
|
"chat-agent-system/internal/workflowdef"
|
|
)
|
|
|
|
// DefaultWorkflowSteps 根据任务类型返回最佳实践编排步骤
|
|
func DefaultWorkflowSteps(taskKey string) []StepSpec {
|
|
if strings.HasPrefix(taskKey, "rd_") {
|
|
return rdevWorkflowSteps(taskKey, "")
|
|
}
|
|
taskKey = workflowdef.ImplementationTaskKey(taskKey)
|
|
switch taskKey {
|
|
case "intake":
|
|
return []StepSpec{
|
|
{
|
|
ID: "step_01_organize",
|
|
Role: "organizer",
|
|
Title: "抽取材料事实并回填字段",
|
|
SubWorkspace: "tasks/01_organize",
|
|
Mode: "execute",
|
|
Accept: []string{
|
|
"抽取材料中的客户身份与产品定义",
|
|
"回填 fields.json 结构化数据",
|
|
"向 blackboard 写入 facts 与 gaps",
|
|
},
|
|
},
|
|
{
|
|
ID: "step_02_draft",
|
|
Role: "writer",
|
|
Title: "撰写用户初始需求收集表初稿",
|
|
SubWorkspace: "tasks/02_draft",
|
|
Mode: "execute",
|
|
Needs: []string{"tasks/01_organize/output.md"},
|
|
Accept: []string{
|
|
"按 template.md 各章节严格四段式展开",
|
|
"正文翔实,各节须实质展开",
|
|
"文末集中附录字段快照与待确认清单",
|
|
},
|
|
},
|
|
{
|
|
ID: "step_03_review",
|
|
Role: "leader",
|
|
Title: "审核并定稿交付",
|
|
SubWorkspace: "tasks/03_review",
|
|
Mode: "execute",
|
|
Needs: []string{"tasks/02_draft/output.md"},
|
|
Accept: []string{
|
|
"核验全文逻辑一致性与出处标注",
|
|
"汇编待确认清单并给出下一步建议",
|
|
"交付终稿 output.md",
|
|
},
|
|
},
|
|
}
|
|
case "research":
|
|
return []StepSpec{
|
|
{
|
|
ID: "step_01_search",
|
|
Role: "searcher",
|
|
Title: "公开资料与标准检索",
|
|
SubWorkspace: "tasks/01_search",
|
|
Mode: "execute",
|
|
Parallel: true,
|
|
Accept: []string{
|
|
"检索纪要附带明确出处或未检索到说明",
|
|
"对本项目含义逐条阐述",
|
|
},
|
|
},
|
|
{
|
|
ID: "step_02_market",
|
|
Role: "market",
|
|
Title: "市场格局与竞品同维度对比",
|
|
SubWorkspace: "tasks/02_market",
|
|
Mode: "execute",
|
|
Parallel: true,
|
|
Accept: []string{
|
|
"多维度竞品对比表",
|
|
"机会与风险对称分析",
|
|
},
|
|
},
|
|
{
|
|
ID: "step_03_regulatory",
|
|
Role: "regulatory",
|
|
Title: "医疗器械法规与指导原则初筛",
|
|
SubWorkspace: "tasks/03_regulatory",
|
|
Mode: "execute",
|
|
Parallel: true,
|
|
Accept: []string{
|
|
"分类依据条目与建议类别",
|
|
"明确标注需向审评窗口确认",
|
|
},
|
|
},
|
|
{
|
|
ID: "step_04_plan",
|
|
Role: "writer",
|
|
Title: "撰写调研报告段落计划",
|
|
SubWorkspace: "tasks/04_plan",
|
|
Mode: "plan",
|
|
Needs: []string{
|
|
"tasks/01_search/output.md",
|
|
"tasks/02_market/output.md",
|
|
"tasks/03_regulatory/output.md",
|
|
},
|
|
Accept: []string{"各章节论点与引用规划"},
|
|
},
|
|
{
|
|
ID: "step_05_review_plan",
|
|
Role: "leader",
|
|
Title: "审核调研报告撰写计划",
|
|
SubWorkspace: "tasks/05_review_plan",
|
|
Mode: "review_plan",
|
|
Needs: []string{"tasks/04_plan/output_plan.md"},
|
|
Accept: []string{"出具审核意见 review_notes.md"},
|
|
},
|
|
{
|
|
ID: "step_06_draft",
|
|
Role: "writer",
|
|
Title: "按计划合成调研报告正文",
|
|
SubWorkspace: "tasks/06_draft",
|
|
Mode: "execute",
|
|
Needs: []string{
|
|
"tasks/04_plan/output_plan.md",
|
|
"tasks/05_review_plan/review_notes.md",
|
|
},
|
|
Accept: []string{"四段式完整正文,无省略套话"},
|
|
},
|
|
{
|
|
ID: "step_07_review",
|
|
Role: "leader",
|
|
Title: "终审并定稿",
|
|
SubWorkspace: "tasks/07_review",
|
|
Mode: "execute",
|
|
Needs: []string{"tasks/06_draft/output.md"},
|
|
Accept: []string{"质量把关并通过交付"},
|
|
},
|
|
}
|
|
case "feasibility_reg":
|
|
return []StepSpec{
|
|
{
|
|
ID: "step_01_regulatory",
|
|
Role: "regulatory",
|
|
Title: "分析法规分类与标准条款",
|
|
SubWorkspace: "tasks/01_regulatory",
|
|
Mode: "execute",
|
|
Accept: []string{
|
|
"研判医疗器械管理类别与分类依据",
|
|
"结合知识库 hits.md 梳理适用的强制与推荐标准",
|
|
"给出型式检验与主要检测项目清单",
|
|
},
|
|
},
|
|
{
|
|
ID: "step_02_draft",
|
|
Role: "writer",
|
|
Title: "撰写注册可行性评估报告初稿",
|
|
SubWorkspace: "tasks/02_draft",
|
|
Mode: "execute",
|
|
Needs: []string{"tasks/01_regulatory/output.md"},
|
|
Accept: []string{
|
|
"严格按 template.md 结构展开",
|
|
"必须显式标注引用标准与条款 CiteKey",
|
|
"文末附待确认清单与风险警示",
|
|
},
|
|
},
|
|
{
|
|
ID: "step_03_review",
|
|
Role: "leader",
|
|
Title: "审核定稿交付",
|
|
SubWorkspace: "tasks/03_review",
|
|
Mode: "execute",
|
|
Needs: []string{"tasks/02_draft/output.md"},
|
|
Accept: []string{
|
|
"核验法规条款引用的准确性与完整性",
|
|
"质量门禁达标交付",
|
|
},
|
|
},
|
|
}
|
|
case "system_reqs":
|
|
return []StepSpec{
|
|
{
|
|
ID: "step_01_organize",
|
|
Role: "organizer",
|
|
Title: "解析用户需求并抽取产品功能点",
|
|
SubWorkspace: "tasks/01_organize",
|
|
Mode: "execute",
|
|
Accept: []string{
|
|
"抽取用户需求或项目事实黑板中的关键需求条目",
|
|
"提取系统功能、非功能指标及环境约束",
|
|
"向 blackboard 写入 facts 与 gaps",
|
|
},
|
|
},
|
|
{
|
|
ID: "step_02_engineer",
|
|
Role: "engineer",
|
|
Title: "系统技术规格与性能指标分解",
|
|
SubWorkspace: "tasks/02_engineer",
|
|
Mode: "execute",
|
|
Needs: []string{"tasks/01_organize/output.md"},
|
|
Accept: []string{
|
|
"定义子系统性能、电气/软件/机械指标与参数",
|
|
"规范接口协议与环境要求",
|
|
},
|
|
},
|
|
{
|
|
ID: "step_03_regulatory",
|
|
Role: "regulatory",
|
|
Title: "医疗器械强标比对与合规性论证",
|
|
SubWorkspace: "tasks/03_regulatory",
|
|
Mode: "execute",
|
|
Needs: []string{"tasks/01_organize/output.md"},
|
|
Accept: []string{
|
|
"审查适用医疗器械强制性标准及条款要求",
|
|
"输出安全、可靠性与合规性约束条目",
|
|
},
|
|
},
|
|
{
|
|
ID: "step_04_draft",
|
|
Role: "writer",
|
|
Title: "编制系统需求规格书全文",
|
|
SubWorkspace: "tasks/04_draft",
|
|
Mode: "execute",
|
|
Needs: []string{
|
|
"tasks/01_organize/output.md",
|
|
"tasks/02_engineer/output.md",
|
|
"tasks/03_regulatory/output.md",
|
|
},
|
|
Accept: []string{
|
|
"按 template.md 结构展开,包含系统需求清单与接口要求",
|
|
"每条系统需求必须具备明确唯一的 REQ- 编号与验证方式",
|
|
"禁止敷衍套话与未替换占位符",
|
|
},
|
|
},
|
|
{
|
|
ID: "step_05_review",
|
|
Role: "leader",
|
|
Title: "终审需求可测性与可追溯性定稿",
|
|
SubWorkspace: "tasks/05_review",
|
|
Mode: "execute",
|
|
Needs: []string{"tasks/04_draft/output.md"},
|
|
Accept: []string{
|
|
"全面核查需求条目可验证性与无歧义性",
|
|
"核查追溯关系完整性并交付终稿",
|
|
},
|
|
},
|
|
}
|
|
case "test_manager":
|
|
return []StepSpec{
|
|
{
|
|
ID: "step_01_trace",
|
|
Role: "organizer",
|
|
Title: "解析上游系统需求并锁定全量追溯矩阵",
|
|
SubWorkspace: "tasks/01_trace",
|
|
Mode: "execute",
|
|
Accept: []string{
|
|
"全量读取上游系统需求规格书的所有 REQ- 编号条目",
|
|
"建立 100% 覆盖的测试需求追溯矩阵底表",
|
|
},
|
|
},
|
|
{
|
|
ID: "step_02_cases",
|
|
Role: "engineer",
|
|
Title: "设计系统测试用例与判定准则",
|
|
SubWorkspace: "tasks/02_cases",
|
|
Mode: "execute",
|
|
Needs: []string{"tasks/01_trace/output.md"},
|
|
Accept: []string{
|
|
"为每条需求设计至少一个具备明确合格判定准则的测试用例 TC-",
|
|
"导出 test_cases.json 结构化用例清单至 artifacts/",
|
|
},
|
|
},
|
|
{
|
|
ID: "step_03_regulatory",
|
|
Role: "regulatory",
|
|
Title: "检验规程与检测环境合规审查",
|
|
SubWorkspace: "tasks/03_regulatory",
|
|
Mode: "execute",
|
|
Needs: []string{"tasks/02_cases/output.md"},
|
|
Accept: []string{
|
|
"核验测试方法与引用的医疗器械检验标准条款一致性",
|
|
"审查仪器设备与测试环境要求",
|
|
},
|
|
},
|
|
{
|
|
ID: "step_04_draft",
|
|
Role: "writer",
|
|
Title: "编制系统验证方案及计划全文",
|
|
SubWorkspace: "tasks/04_draft",
|
|
Mode: "execute",
|
|
Needs: []string{
|
|
"tasks/01_trace/output.md",
|
|
"tasks/02_cases/output.md",
|
|
"tasks/03_regulatory/output.md",
|
|
},
|
|
Accept: []string{
|
|
"严格按 tm_system_verification.md 模板生成正式方案文本",
|
|
"嵌入测试用例清单与覆盖率统计,严禁遗漏上游需求",
|
|
},
|
|
},
|
|
{
|
|
ID: "step_05_review",
|
|
Role: "leader",
|
|
Title: "全覆盖门禁终审与定稿交付",
|
|
SubWorkspace: "tasks/05_review",
|
|
Mode: "execute",
|
|
Needs: []string{"tasks/04_draft/output.md"},
|
|
Accept: []string{
|
|
"验证需求覆盖率达到 100%",
|
|
"签署验证结论并交付",
|
|
},
|
|
},
|
|
}
|
|
default:
|
|
return []StepSpec{
|
|
{
|
|
ID: "step_01_draft",
|
|
Role: "writer",
|
|
Title: "撰写初稿",
|
|
SubWorkspace: "tasks/01_draft",
|
|
Mode: "execute",
|
|
Accept: []string{"按模板四段式展开"},
|
|
},
|
|
{
|
|
ID: "step_02_review",
|
|
Role: "leader",
|
|
Title: "审核定稿",
|
|
SubWorkspace: "tasks/02_review",
|
|
Mode: "execute",
|
|
Needs: []string{"tasks/01_draft/output.md"},
|
|
Accept: []string{"质量门禁通过"},
|
|
},
|
|
}
|
|
}
|
|
}
|