Meegle 贡献统计字段映射
配套口径:docs/rules/Meegle贡献统计口径.md
数据源:metadata/json/{box|tools}-stories-brief-export.json、metadata/json/{box|tools}-workitems-brief-export.json
结论:第一版优先读取 JSON 快照;Markdown 导出保留为人工审阅和旧报告兼容,不作为主要计算来源。
一、输出目录与命名
第一版贡献统计报告输出到现有 docs/reports/,使用独立前缀,避免覆盖旧 OKR 报告:
| 报告 | 文件 |
|---|
| 项目总览 | docs/reports/贡献统计_项目_{周期}.md |
| 职能汇总 | docs/reports/贡献统计_职能_{周期}.md |
| 人员明细 | docs/reports/贡献统计_人员_{周期}.md |
| 需求明细 | docs/reports/贡献统计_需求_{周期}.md |
二、字段映射
2.1 Story
| 归一化字段 | JSON 来源 | 类型 | 缺失处理 |
|---|
id | work_item_id | string | 必填,缺失则跳过 |
name | work_item_name | string | 空字符串 |
space | 文件名 box/tools | enum | 必填 |
status | work_item_status.name | string | 空字符串 |
priority | fields.priority | string | 空字符串 |
roles | role_members[] | object | 空对象 |
current_nodes | work_item_current_node[] | array | 空数组 |
nodes | nodes[] | array | 空数组 |
start_time | fields.start_time | ISO string | 不可判定 |
completion_time | fields.finish_time 或完成节点 | ISO string | 使用节点/任务兜底 |
estimated_finish_time | Story 字段或节点最晚 estimate_finish_time | ISO string | 延期不可判定 |
prd_complete | fields.field_7b1430 / PRD Completeness | string | 空字符串 |
2.2 Workflow Node
| 归一化字段 | JSON 来源 | 类型 | 缺失处理 |
|---|
name | nodes[].name | string | 空字符串 |
canonical_key | nodes[].canonical_key | string | other |
status | nodes[].status | string | 空字符串 |
owners | nodes[].owners | string/list | 空数组 |
actual_begin_time | nodes[].actual_begin_time | ISO string | 不可判定 |
actual_finish_time | nodes[].actual_finish_time | ISO string | 不可判定 |
estimate_start_time | nodes[].estimate_start_time | ISO string | 不可判定 |
estimate_finish_time | nodes[].estimate_finish_time | ISO string | 不可判定 |
is_delayed | nodes[].is_delayed | boolean | false |
sub_tasks | nodes[].sub_tasks[] | array | 空数组 |
2.3 Task
| 归一化字段 | JSON 来源 | 类型 | 缺失处理 |
|---|
id | work_item_id | string | 必填,缺失则跳过 |
name | work_item_name | string | 空字符串 |
story_id | parent_story_id 或节点子任务归属 | string | 未关联任务单列 |
owner | owner / current_status_operator | string | 记为缺负责人 |
status | work_item_status.name | string | 空字符串 |
estimated_duration | fields.points / PD | number | 排除工作量分母并计入缺失 |
actual_work_time | fields.actual_work_time | number/string | 仅展示 |
start_time | fields.start_time | ISO string | 不可判定 |
finish_time | fields.finish_time | ISO string | 不可判定 |
estimated_finish_time | fields.sub_task_schedule.end_time | ISO string | 任务延期不可判定 |
2.4 Bug
| 归一化字段 | JSON 来源 | 类型 | 缺失处理 |
|---|
id | work_item_id | string | 必填,缺失则跳过 |
name | work_item_name | string | 空字符串 |
story_id | related_feature 前缀 ID | string | 未关联 Bug 单列 |
owner | owner | string | 记为缺 Bug Owner |
reporter | creator | string | 记为缺 Bug Reporter |
status | work_item_status.name | string | 未定性 |
priority | fields.priority | string | 空字符串 |
severity | fields.severity | string | 空字符串 |
classification | fields.bug_classification | string | 空字符串 |
validity | 结构化字段或状态代理 | enum | 代理计算并标记 |
start_time | fields.start_time | ISO string | 不可判定 |
三、当前可算性
| 指标组 | 状态 | 说明 |
|---|
| 需求/任务/人员关联 | 可直接计算 | Story 角色、节点负责人、Task Owner、Bug Owner/Reporter 已有 |
| 任务数与预估工期 | 可直接计算 | Task points/PD 可作为预估工期 |
| 需求总估分 | 可直接计算 | 使用关联 Task PD 汇总 |
| 开发 Bug 率 | 代理计算 | Bug 有效性当前主要依赖状态/分类代理 |
| 测试有效 Bug 率 | 代理计算 | Reporter 使用 Bug creator,未结案不进分母 |
| 节点延期 | 部分可算 | 节点有 is_delayed 和 estimate_finish_time,但本期估计时间多为空 |
| Story 是否按时完成 | 多数不可判定 | 缺稳定 Story 级预估结束时间 |
| Task 是否延期 | 多数不可判定 | sub_task_schedule 多为空对象 |
| 产品 PRD 完备 | 可直接计算 | 使用 PRD Completeness |
| UI 走查/设计问题 | 代理计算 | 使用 Bug 分类和标题关键词 |
*文档版本:v0.1 · 更新日期:2026-05-29*