# Meegle复制缺字段协议预检
候选 ID:`meegle-clone-field-encoder`
## 诊断流程样例
目标:复制 2026-05-07 16:24 的源 Meego,标题改为“标签迭代与数分工具建设”,但先不真实创建。
| 阶段 | 输入 | 检查 | 通过信号 | 失败信号 |
| --- | --- | --- | --- | --- |
| 读取源项 | source_work_item_id | 拉取字段值、角色、模板、工作项类型 | 能生成 source snapshot | 源项不存在或权限不足 |
| 字段编码 | source snapshot + field schema | 按字段类型编码 payload | 模板 ID 为字符串,多选字段为服务端认可协议 | 数字模板 ID、supported_apps 选项 ID 对但包装格式错 |
| 必填预检 | encoded payload + create schema | 覆盖必填字段和角色字段 | required_fields_missing 为空 | 缺少创建必填字段 |
| 创建后回读 | new_work_item_id | 对比源项与新项关键字段 | diff 为空或在白名单内 | 创建规则自动补了额外 supported_apps |
示例输出:
```json
{
"source": "7305128884",
"dry_run": true,
"status": "fail",
"errors": [
{"field": "template_id", "reason": "expected string, got number"},
{"field": "supported_apps", "reason": "multi-select option ids must use field protocol wrapper"}
],
"next_action": "fix encoder before create"
}
```
修复后再次运行,只有当 `status=pass` 且 `post_create_diff` 为空时,才允许执行真实 clone。