# ZenTao Write Workflows

这份文件约束所有写操作的执行顺序。

## 1. 写操作统一输入归一化

收到自然语言后，先整理出这些字段：

- `title`
- `desc_body`
- `participants[]`
- `pri`
- `deadline`
- `estimate_total`
- `story_id`
- `story_link`
- `project_id`
- `execution_id`
- `attachments[]`
- `reference_links[]`

重要规则：

- `desc_body` 只放真正的任务说明正文
- `参与人员 / 优先级 / 截止时间 / 预估工时` 必须映射到结构化字段
- 不要把这些结构化元信息重新拼进描述正文
- 图片、附件、在线文档链接不应被误当成描述正文
- 中文姓名先归一化成底层账号，再继续写操作

## 2. 创建任务工作流

### 普通任务

1. 归一化字段
2. 确认项目/执行
3. 判断单人还是多人任务
4. 创建任务
5. 回读核查
6. 输出任务摘要

### 从需求拆分任务

1. 先读取需求详情
2. 识别需求归属项目
3. 查该项目当前日期下可用的执行
4. 若无合适执行，再复制上个执行配置创建本月执行
5. 用 `storyId` 创建任务，确保需求关联不丢
6. 回读确认任务确实挂在正确执行和需求下

禁止行为：

- 跳过需求归属检查直接建任务
- 把 A 项目的需求建到 B 项目的执行下
- 只传执行，不传 `storyId`，导致需求脱钩

## 3. 多人任务规则

- 如果一个任务对应多个参与人，默认创建“多人并行”
- 只有用户明确说“串行”“依次处理”时，才创建“多人串行”
- 如果用户表达的是“拆成几个人分别做不同子项”，优先拆成多个单人任务

预估规则：

- 若显式给了每人预估，就按每人预估创建
- 若只给总预估，就按人数平均分摊
- 若都没给，走工具默认值

## 4. 任务指派变更工作流

1. 先读取任务详情
2. 识别任务模式：单人 / 多人并行 / 多人串行
3. 识别归属执行
4. 解析目标负责人账号
5. 发起指派
6. 回读确认负责人或团队成员已变更

如果当前工具无法完整预检“目标人是否在该执行团队权限中”，不要伪造“肯定能成功”，应在结果里说明已执行并已回读验证。

## 5. 状态流转工作流

1. 先拿到准确对象 ID
2. 识别对象类型：任务 / 需求 / Bug
3. 调用对应流转节点
4. 回读确认状态变化
5. 汇报当前状态与责任人

## 6. 报工工作流

1. 先确认任务 ID
2. 确认耗时是否给出
3. 若耗时给出，则正常报工
4. 若只有说明没有耗时，需明确当前环境下该能力仍不稳定
5. 报工后回读验证

## 7. 写操作结果摘要模板

每次写操作后，至少汇报：

- 对象类型
- 对象 ID
- 标题/名称
- 所属项目/执行
- 需求关联情况
- 负责人或参与人
- 当前状态
- 预估与截止日期
- 是否有需要用户复核的异常点
