Files

90 lines
32 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 决策记录
| 时间 | 变更编号 | 事项 | 决策内容 | 影响 FR | 依据 |
|---|---|---|---|---|---|
| 2026-07-23 | CHG-000 | 范围与分期 | 用户确认:PRD 全链路(SOP+绩效)+三期分期;原型暂缓(skip_flags) | 全部 | 用户答复 |
| 2026-07-23 | CHG-001 | 自查修正 | PRD 表名笔误 zt_story_extend→zt_story_expand(11处);列名 ai_efficiency_coefficient;行号 2 处。证据:ZtStoryExpandMapper.xml:34 实际 FROM 表名、mapper 列名 snake_case | FR-004/012 | 代码复核 |
| 2026-07-23 | — | 流程映射补强 | 用户质询"是否结合现有代码工作流"后增补 prd.md 6.3 节(SOP 14 步×现有工作流逐步映射) | 全部 | 用户反馈 |
| 2026-07-23 | — | 开发方案产出 | 用户要求出可审查的开发方案 → outputs/dev_plan.md v1.0(一期数据模型:4 DDL+实体+单测 12 场景+评审检查单,W=10.2 分解) | FR-004/007/008/011 | 用户要求 |
| 2026-07-23 | CHG-002 | 新增 FR-014 | 用户质询抽检可行性后明确:考核只判「缺失」不判内容(SRC-002 原文),人工抽检退化为月度确认+异议复核 → 新增 FR-014 大型需求文档齐备自动核查(③期,zt_month_score 复用);FR-013 剔除该项 | FR-013/014 | 用户反馈+SRC-002 |
| 2026-07-23 | CHG-003 | FR-008 规则细化 | 用户三连问后明确:触发=需求全部开发任务完工(框架内自动/框架外负责人手动);上传=每轮审完即传含未通过轮次(考核初审/复审扣分依赖逐轮记录);通过前不得流转测试 | FR-008 | 用户反馈+SRC-001/002 |
| 2026-07-23 | CHG-004 | 补绩效计算模型 | 用户指出"绩效计算 PRD 里没看到"→ 新增 7.5 章:SRC-002 九岗位算分规则全量结构化(权重/扣分/加分/通用规则),逐项标注自动化程度(✅系统可算/🔶半自动/❌人工)与数据来源;暴露 2 个待确认缺口(问题管理文档、设计文档质量评审承载) | FR-012/013/014 | 用户反馈+SRC-002 |
| 2026-07-23 | — | 定稿日约定(用户确认) | 本 PRD 遵循自身 FR-003 规矩:定稿日用户在 zentao 建需求单并提供 ID → AI 一次完成 W=10.2 提交 + PRD 附件上传。(zt_ai_work_log 日志记录待一期表建后可补) | 全部 | 用户确认 |
| 2026-07-23 | CHG-005 | 口径补全与歧义标注 | 用户追问公式是否列清 → 7.3 补 5 个任务级公式;标注 3 项待确认:总分算法(0~100×权重加权为解读)、线上Bug率单位(xlsx「×100%≤5‰」矛盾,按‰)、检出率申诉需人工流程 | FR-012/013 | 用户反馈+SRC-002 |
| 2026-07-23 | CHG-006 | 任务创建双通道(用户拍板) | zentao 支持 AI 框架上传拆分任务(②期新增任务批量提交接口);AI 上传任务创建人=系统专用账户「ai」(zt_user 新建);人工建任务保留;覆盖开发任务+测试任务(type=test 指派测试);AI 指标随任务一并写 zt_task_extend;是否需人确认后生效挂待确认 | FR-006/007 | 用户指定+SRC-001 |
| 2026-07-23 | CHG-007 | AI 任务状态确认 | 用户确认:AI 提交任务初始状态=未开始(wait),走现有任务流程(开始→完成→审批→关闭),无特殊"待确认"状态——CHG-006 遗留问题关闭 | FR-006 | 用户确认 |
| 2026-07-23 | CHG-008 | 框架侧触发挂钩入scope | 用户追问"本框架有没有触发上传的功能"→ 盘点:仅 workload_eval 已通(submit_assessment.py),其余 7 类无触发 → FR-011 补规则:二期交付=zentao 接口+框架各技能挂钩两端,照 submit_assessment.py 模式;事件发生即上传不补传;日志与内容表分工明确 | FR-011 | 用户反馈+现状盘点 |
| 2026-07-23 | CHG-009 | SOP 符合性核查通过 | 用户要求对照 SRC-001 核查 PRD → 流程 18 步/数据模型 6 类/提交动作 8 项全覆盖;修补 2 处:FR-001 审批时间口径(=revieweddate)、6.3 步骤 10 同步双通道表述 | 全部 | 用户要求+SRC-001 |
| 2026-07-23 | — | 开发方案 v2.0 重生成 | 用户要求基于 PRD v1.8 重出方案 → dev_plan.md 全量重写为三期全局实施规格(一期详细+二期接口/挂钩/页面概要+三期绩效概要),替代 v1.x 补丁系列 | 全部 | 用户要求 |
| 2026-07-23 | — | 开发方案 v2.1 深化 | 用户指出不够详细 → 一期深化至施工级(4 个 DDL 全文含说明头/回滚/可重入、实体字段表、Service 完整签名、12 单测 Given/When/Then 明细、D1-D10 按天步骤);二期深化至接口级(3 接口请求/响应/错误/幂等+挂钩脚本规格+页面字段清单) | 全部 | 用户反馈 |
| 2026-07-23 | CHG-010 | ID 流转约定 | 用户问上传所需 storyId/taskId 从何而来 → PRD 新增 5.6:建单产号→回填 PRD 关联需求ID+框架工作区→上传以此为键;taskId 由 aiBatchAdd 响应返回;dev_plan.md 接口响应示例含 taskIds | 全部 | 用户反馈 |
| 2026-07-23 | — | 开发方案 v2.2 三期补全 | 用户要求三期补全 → dev_plan.md 第 4 章重写为详细规格:三层架构+2 新表(zt_perf_config 规则配置化消化口径歧义、zt_doc_check 核查快照)+13 项指标取数设计+FR-014 全流程+6 接口 4 页面+对拍验收 | 全部 | 用户要求 |
| 2026-07-23 | — | 开发方案文件改名 | 用户要求 → outputs/frd.md 重命名为 outputs/dev_plan.md,引用已同步(decision_log/summary) | 全部 | 用户要求 |
| 2026-07-23 | — | 绩效数据盘点 | 用户问现有数据是否够算绩效 → 四层结论:A 约半数指标存量可算;B 2 个新口径坑(Bug 普通/重大映射、产品助理验收链断裂——zt_story_user 验收字段闲置);C 一二期建成才够(完成率/文档齐备/代码质量);D 纯人工项。B 类已补入 PRD 7.3 待确认(3→5 项) | FR-012/013/014 | 代码证据+SRC-002 |
| 2026-07-23 | CHG-011 | 多人协作前提 | 用户指出框架非单人使用 → 5.6 补第 6 条:ID 共享载体=PRD 文档(非个人工作区);并发由 zentao 状态机约束;ai 账户与使用者解耦;上传接口鉴权从"二期前再定"升级为**二期必决项** | 全部 | 用户反馈 |
| 2026-07-23 | CHG-012 | ~~用户补充①~~(理解有误) | 初解为 PRD-MD(FR-003),用户澄清后作废,见 CHG-013 | — | — |
| 2026-07-23 | CHG-013 | 补充①~⑧接收与①的修正 | ①真实含义:会议纪要 MD(会议页面多次上传+在线查看+操作人/时间/会议人展示)→ 已改正至 FR-002,FR-003 恢复。②~⑧ 见 CHG-014 澄清结果 | FR-002/003 | 用户澄清 |
| 2026-07-23 | CHG-014 | **架构级变更:AI 文档走 MD 文件流(用户定)** | Q1 澄清:提交工时/指标时录入 storyId 并框架保存(维持 5.6 约定,无新建需求接口);Q2:**不建 zt_ai_work_log/zt_ai_code_review 两表**——工作日志与代码审查报告均为 MD 文件,研发需求页加按钮上传+在线查看;Q3:测试用例=仅查看/下载,测试报告=补充上传(2 个文件);Q4:测试报告挂研发需求级。一期缩至 1 表+1 列,W 需重估;FileTypes 扩展 aiCodeReview/aiWorkLog/testReport;FR-014 判定改走 zt_file | FR-008/010/011/014、一期范围 | 用户拍板 |
| 2026-07-23 | — | 开发方案 v3.0 重写 | 按 CHG-014 全量重写 dev_plan.md:文件流架构(数值走表/文档走 MD);一期瘦身(1 表+1 列,W≈3.8,单测 6 场景);二期=FileTypes 扩展+uploadBind+MD 渲染+页面清单(补充⑦会议 tab、①纪要 MD、⑧需求详情 6 区块)+aiBatchAdd+upload_md.py 挂钩;三期调整 FR-014 判定源与代码质量取数 | 全部 | 用户要求 |
| 2026-07-23 | CHG-015 | 同步性清扫 | 用户问"两份文档都同步了吗"→ 自查抓 5 处残留:PRD 4.1 接口行/5.6 关联/7.4 埋点/6.3 步骤4/12 证据映射;dev_plan 的 aiBatchAdd"见 v2.x"悬空→补回完整规格。grep 复核两文档无旧表名残留 | 全部 | 用户追问 |
| 2026-07-23 | CHG-016 | 全文核对再抓 16 处 | 用户要求"检查 PRD 是否按最新写的"→ 全文通读核对:版本号/目标截止/约束/W 值/方案概述/zt_ai_* 残留/端矩阵/页面行/**补⑦漏录(需求讨论会议 tab)**/zt_testtask 误标/里程碑/证据映射计数。教训:架构级变更后必须全文核对而非局部清扫 | 全部 | 用户要求 |
| 2026-07-23 | CHG-018 | zt_file 加 url 字段(用户指定) | MD 附件需直接可访问链接 → zt_file 二期加列 url varchar(512)(pathname=存储路径、url=访问地址);zt_file 属禅道原生表,破例按 zt_* 自研扩展字段惯例处理;uploadBind/MdPreview 优先取 url | FR-002/008/010/011 | 用户指定 |
| 2026-07-23 | CHG-019 | 砍 zt_task_extend(用户拍板) | 用户指出该表"没啥用"→ 核实:evaluation_time 与 zt_task.estimate 冗余(aiBatchAdd 已映射)、ai_workload_index 无消费方(绩效用需求级指数)→ 不建表;AI 工时入 estimate;任务级指数豁免(SOP 数据项,三期按需恢复);一期缩至 1 列 W≈1~2 人日 | FR-007、一期范围 | 用户拍板 |
| 2026-07-23 | CHG-020 | zt_meeting 加 url 字段(用户指定) | 会议表直接存纪要 MD 访问链接(直取不绕 zt_file);多份纪要冲突按"存最新一份"处理(每次上传刷新,历史份走 zt_file 列表) | FR-002 | 用户指定 |
| 2026-07-23 | CHG-021 | zt_story 加 5 个文档 url 字段(用户指定) | 用户指出测试为 2 个文件 → zt_story 加 5 列;FileTypes 增 testCase;zt_story 属禅道核心表,破例按用户拍板处理 | FR-005/008/010/011 | 用户指定 |
| 2026-07-23 | CHG-022 | 测试三字段澄清(用户纠正) | 测试用例(下载)/测试报告·供下载/测试报告·提交 为三个字段 → zt_story 6 列(test_report 拆 download/submit);FileTypes 增 testReportSubmit;FR-014 判定用提交件 zt_file(testReportSubmit) | FR-010/014 | 用户纠正 |
| 2026-07-23 | CHG-023 | 补 code_review_status 字段(用户指出) | 审查结果原只在 MD 内容里系统不可查 → zt_story 加 code_review_status(pass/reject/NULL),上传时解析写入;SOP 卡点可系统级强制(未 pass 禁提测试报告);zt_story 共 7 列 | FR-008 | 用户指出 |
| 2026-07-23 | CHG-024 | ~~补 test_report_status~~(误解) | 用户澄清"第4个是别的文档"非状态字段 → 撤销,见 CHG-025 | — | — |
| 2026-07-23 | CHG-025 | 测试 4 文档字段定稿 | 用例下载/模版下载/模版填完提交(第3)/其他测试文档(第4,testOther+test_other_url);撤销 test_report_status;FileTypes:testCase/testReport/testReportSubmit/testOther;zt_story=7 url 列+code_review_status | FR-010 | 用户澄清 |
| 2026-07-23 | — | **定稿(v1.24 Final)** | 用户指令定稿 → 完整性检查通过(P0 关闭;P1 Q1-2/Q1-3 按约延后至三期/二期立项前;33 AC 全覆盖)→ outputs/prd_final.md;一期 W 重评=3.2 人日(S=2/B=1.0/F=1.6/G=1.0,原 10.2 作废);下一步:用户建需求单给 ID → 提交 W+PRD 附件 → 一期开工 | 全部 | 用户指令 |
| 2026-07-28 | — | 三期口径锁定+开工授权 | 用户指示"全跑了"→ PRD 7.3 五项待确认全部按默认锁定:①总分=各项0~100×权重求和;②Bug率按‰;③检出率申诉=系统入口+人工裁定(技术负责人);④普通/重大 Bug=severity 1~2 重大、3~4 普通;⑤产品助理验收链=补写 zt_story_user 验收字段。另 2 缺口:问题管理文档/设计文档评审均暂不建承载(人工/半自动录入) | FR-012/013/014 | 用户授权 |
| 2026-07-23 | — | 开发方案 v4.0 全量重生成 | 用户要求按最新 PRD 出方案 → dev_plan v4.0(依据 PRD v1.24):一期 1 列(W≈1~2);二期 3 项 DDL(zt_file.url/zt_meeting.url/zt_story 8 列)+FileTypes 6 类+uploadBind 字段映射+MD 渲染+aiBatchAdd+页面清单+upload_md.py 挂钩;三期承接 v2.2 详细版 | 全部 | 用户要求 |
| 2026-07-29 | CHG-026 | 线上Bug/产品缺陷率 5‰ 豁免补实现 | 全量公式核对(xlsx 9 岗位 × 61 行规则)发现 PRD §7.3「≤5‰ 满分」未实现(P0)→ AbstractWeightedBugCalculator 加 exemptPerMille 分支(分子=当月上线需求 prod Bug 数、分母=Σestimate),id 4/11/19/24 规则加参数;tester 口径不变;单测+3,perf 54 全绿 | FR-013 | SRC-002 + PRD §7.3 |
| 2026-07-29 | CHG-027 | 框架验收指标新字段+接口(用户拍板) | 老验收标准 zt_storyspec.verify 不动 → zt_story_expand 加 acceptance_criteria(MEDIUMTEXT,Given/When/Then MD),经 /zt-story-expand/saveOrUpdate 上传,双通道并存;DDL 已入 161+sql 迁移文件;单测+1 | FR-005 | 用户拍板 |
| 2026-07-29 | CHG-028 | 饱和度达标工时口径修正(用户拍板) | 实现原误用老系统(工作日×8−请假)×0.75 口径 → 改 xlsx/PRD §7.3 口径:(当月工作天数 − 请假小时÷8)×5,请假半天按 0.5 天扣;分子=zt_effort.consumed 实绩;老月报(分配工时/0.75 口径)不动,两处数值差异属口径并存 | FR-013 | 用户拍板 + SRC-002 |
| 2026-07-29 | CHG-029 | 老模块饱和度口径统一(用户拍板"再老的改") | 月报列表/地盘绩效/项目组工作量统计三处 saturation 统一为新口径:分子=实绩工时(zt_task.consumed 全状态任务)、分母=(工作天数−请假小时÷8)×5;buildXMZLScore 达标工时显示同步;原口径(分配工时 estimate、(×8−请假)×0.75、地盘含closed/cancel 任务致 91/104 分叉)废弃 | 老月报/地盘绩效 | 用户拍板 |
| 2026-07-29 | CHG-030 | aiBatchAdd 工时预算校验(用户拍板) | 拆任务工时(已有任务 estimate + 本批新增,重复跳过项不计)不得超过需求评估工时 zt_story_expand.evaluation_time,超则整批拒绝并报明细;无评估工时不设防;ZtTaskServiceImpl 注入 storyExpandService 实现 | FR-006 | 用户拍板 |
| 2026-07-29 | CHG-031 | 工时匹配规则归位框架侧(用户纠正) | 用户明确"不是在禅道做":需求评估工时与任务工时同源(框架产出),拆任务时 Σ任务工时 = 需求评估工时(全量分摊,可分批逼近);规则写入 PRD FR-006 规则5 + tgassist 技能 PJM 工时匹配纪律;禅道 CHG-030 上限校验仅作兜底保留 | FR-006 | 用户纠正 |
| 2026-07-29 | CHG-032 | 撤销禅道侧工时校验(用户明确"禅道不能做校验") | CHG-030 代码+4 单测全部回滚(aiBatchAdd 恢复原状,4/4 绿);工时匹配纪律只在框架侧执行(PRD FR-006 规则5、tgassist PJM 纪律已同步去除"兜底"表述) | FR-006 | 用户明确 |
| 2026-07-29 | CHG-033 | 工时匹配最终定稿:仅框架侧 | 用户复核后拍板"保持现状":工时匹配纪律只在框架侧执行(拆任务 Σ工时=需求评估工时),禅道 aiBatchAdd 完全无校验;CHG-030 代码不回滚恢复 | FR-006 | 用户拍板 |
| 2026-07-29 | CHG-034 | 达标工时严格按 xlsx 团队口径(用户拍板) | 替代 CHG-028"谁请假扣谁":达标工时(每人)=(工作天数×团队人数 − 团队请假小时÷8)×5÷团队人数,团队=后端+前端(zt_user.user_type=KFZ,@EnumValue=3),请假全团队平摊每人相同;WorkSaturationCalculator+IZtCountService 共 4 处统一 teamExamineTime;单测 15/15 绿(含 2 人团队请假 4h 平摊用例) | FR-013 | 用户拍板 + SRC-002 |
| 2026-07-29 | CHG-035 | 三期绩效页面下线(用户拍板"不需要这些页面") | /perf/report、/perf/docCheck、/perf/config 三页面入口下线:2026 库 base_menu 1539-1551+授权 37 行删除(备份 sql/20260729_insert_perf_menu.sql 可恢复);人工评分走月报「绩效」按钮(现有老流程);页面代码/表/规则数据保留未删,随时可恢复 | FR-012/013/014 | 用户拍板 |
| 2026-07-29 | CHG-036 | 老绩效弹窗得分改新 Excel(用户拍板"改成新的"、计算只在后端) | 新建 PerfScoreRules 纯函数规则类(SRC-002 后端口径:及时完成25分段/Bug密度30无截断/饱和度20;代码质量10/文档质量10/不规范行为5满分默认人工改);接入 buildKFZScore(弹窗/月报 myWorkScore 数据源);buildCsScore 为无调用方死代码顺带对齐;CS 测试分支不动;前端不改(totalScore 行本就前端 sum 六+二项) | FR-013 | 用户拍板 + SRC-002 |
| 2026-07-30 | CHG-037 | 老绩效弹窗全岗位切新 Excel 口径(延续 CHG-036 方向) | 月报「绩效」弹窗 项目经理/王宇航变体/产品经理/产品助理/运维/测试/UI 得分全部由新绩效引擎(zt_perf_config,score×weight)加权产出,人工评审项满分默认弹窗手改;PerformanceDTO+7 字段;buildXMJLScore/buildCPJLScore/buildXMZLScore 重写、buildYwScore 新增(含 YW 调度分支);测试/UI 及时率规则入 PerfScoreRules;前端 performance.vue XMGLY/CPJL/XMZL 区块重写+YW 区块新增+王宇航 account 变体块+juedgeRole 加 YW;单测+2,8086 API 六账号+8089 四岗位弹窗截图实测 | FR-013 | CHG-036 用户拍板方向延续 + SRC-002 |
| 2026-07-30 | CHG-038 | KFZ 前后端工程师分流(用户拍板:加标识+表单下拉维护) | 新 Excel 前端/后端为两张表(前端饱和度30%、无文档质量项、代码质量 flat),user_type 只有 KFZ → zt_user 加 dev_direction 列(frontend/backend,NULL 按后端);用户新增/编辑表单在「用户属性=开发者」时显示「开发方向」下拉(必填);buildKFZScore 按方向分流(PerfScoreRules 饱和度满分参数化 30/20);performance.vue KFZ 双区块渲染;单测+1,8086 API+弹窗+表单三处截图实测;现有 KFZ 待用户名单一次性初始化 | FR-013 | 用户拍板 + SRC-002 |
| 2026-07-30 | CHG-039 | workloadRatePrd 人员匹配修复(用户质疑魏冬霞 0 分引出) | product_person 列实际存中文姓名,计算器按 account LIKE 恒空 → 得分恒 0 属误判;改按昵称匹配 account 兜底;魏冬霞 6 月实测 0→40(满分)、孙世超 0→20;李语嫣仍 0 系数据缺失(expand 无其行);8085 需再次重启 | FR-012/013 | 用户质疑 + 代码复核 |
| 2026-07-31 | CHG-040 | 0 分专项排查+opsMajorTask 匹配修复(用户要求全查) | 9 账号全量 0 分下钻:opsMajorTask 同 CHG-039 类匹配 bug(belong_to_user 存姓名)→ 按昵称修复,岑海峰 7 月实测 13.2;版本计划完成率 0 系发布需求 estimate 全空致分母 0(口径待拍板:补数据/按个数算/满分豁免/维持);其余 0 分均为真 0 或数据缺失(刘圣清无任务、魏冬霞 71%、李语嫣无数据) | FR-013 | 用户要求 + 代码复核 |
| 2026-07-31 | CHG-041 | 绩效弹窗「绩效数据」列补过程值(用户要求给分子分母) | 计算器经 ThreadLocal rawDetail 透出分子/分母/率 → scope Item.rawDetail(随快照落库)→ DTO.perfRawDetail → 弹窗 `#itemKey` 绑定渲染;覆盖工作量指数/版本计划/Bug率/准时率/运维5项/文档齐备共 7 类计算器、五岗位区块 19 行;单测 63 绿,8086 实测孙世超/蒋恒明细正确 | FR-012/013 | 用户要求 |
| 2026-07-31 | CHG-042 | 项目经理 PRD 完成率改团队口径(用户拍板"是项目所有人") | 项目经理(含王宇航变体)workloadRatePrd:范围=全部需求、分母=工作天数×5×产出人数(与团队完成率同数据源,仅扣分规则不同);产品经理/助理维持个人口径;孙世超/蒋恒 6 月实测 20→15.6(78.87%×0.2) | FR-013 | 用户拍板 + SRC-002 |
| 2026-07-31 | CHG-043 | 项目经理两项完成率改项目口径(用户拍板"按照迭代来",替代 CHG-042 部门口径) | workloadRatePrd/workloadRateTeam:分子=他当月窗口内(begin/end 落当月)执行关联产品的需求指数和,分母=工作天数×5×执行内 KFZ 成员去重数;无在窗执行该项 0 分;产品经理/助理个人口径、其余岗位部门口径不变;孙世超 106.06%→双满分、蒋恒 54.99%→10.8/23.1 | FR-013 | 用户拍板 |
| 2026-07-31 | CHG-044 | 达标工时全链路上弹窗(用户要求"分子分母都要列出来") | DTO+teamWorkDays/teamLeaveDays/teamTargetTime 三字段,fillTeamExamine 统一填充;KFZ 弹窗饱和度行展示 实绩/团队总工作天数/团队达标总工时/人均达标工时/饱和度 全链;郭尚雨 6 月实测 131/273/1365/105/125% | FR-013 | 用户要求 |
| 2026-07-31 | CHG-045 | 版本计划完成率改工作量指数加权(用户拍板"workload_index 用这个") | 加权源 zt_story.estimate(全线未填失效)→ zt_story_expand.workload_index(String 列容错解析,无指数按 0 权重);孙世超 6 月实测 0→5.4(477.1/658.21=72.48%);123 个发布仅 34 个有指数,覆盖率依赖评估流程 | FR-013 | 用户拍板 |
| 2026-07-31 | CHG-046 | 《AI项目文档更新记录》独立承载全链路(用户拍板"加字段+功能完善+前端展示") | zt_story 加 ai_doc_update_url;FileTypes 增 aiDocUpdate,uploadBind 刷新该列;FR-014 核查判定由 aiWorkLog-doc_update 类(从未产出)改 zt_file(aiDocUpdate);研发详情新增文档区块(列表+上传);6566 全链路实测(上传→url 刷新→fileList→区块渲染) | FR-008/011/014 | 用户拍板 |
| 2026-07-31 | CHG-047 | 文档齐备改实时字段判定+项目口径(用户拍板"url 字段直接判断") | DocReadyScoreCalculator 重写:大型需求五个 url 字段非空即在、缺失×2 扣完截止;归属由 assignedTo(错位,扣分挂 KFZ/CS 头上)改项目口径(∩项目经理当月窗口内执行关联产品);不再读 zt_doc_check 快照/月末 job;孙世超 6 月实测 10→6(4 需求×5 类全缺=20 份扣 40) | FR-014 | 用户拍板 |
| 2026-07-31 | CHG-048 | PRD 完成率项目口径扩到产品经理/助理(用户拍板"跟项目管理员一样的方案") | workloadRatePrd 项目口径分支扩至 productManager/productAssistant(四角色统一:范围=在窗执行关联产品、分母=执行内 KFZ 成员);product_person 个人口径转兜底;魏冬霞 6 月 299.08%→106.06%(556.83/525h)仍 40 满分、李语嫣 0(产品 145 无数据) | FR-013 | 用户拍板 + SRC-002 |
| 2026-07-31 | CHG-049 | 版本计划完成率改项目口径(用户拍板"孙世超是飞侠的为啥不区分") | versionPlanRate 由全表统计改项目口径(∩在窗执行关联产品的发布需求,指数加权不变);孙世超 5.4→9.4(150 单产品 92.35%)、王宇航 0(145 覆盖率 1/72 失真,评估流程未覆盖前该项不可用) | FR-013 | 用户拍板 |
| 2026-07-31 | CHG-050 | Bug 率 5‰ 豁免分母改任务工时+项目口径(用户拍板"需求工时是任务sum") | 豁免分母 zt_story.estimate(全空→恒豁免失效)→ 上线需求 devel 任务 estimate 合计;四角色上线需求∩项目关联产品;车服加测试 Bug(2566)实测:孙世超 10→9.7(6.04‰ 超线扣 3)、魏冬霞 14.55、王宇航 10 豁免 | FR-013 | 用户拍板 + SRC-002 |
| 2026-07-31 | CHG-051 | 引擎扣分统一为加权尺度(用户拍板"10分满分 10-2") | 原 100 分制扣分×权重(效果=字面 1/10)改 xlsx 字面加权扣分(scaleDeduct 按 1/权重 放大),接入 rate/Bug/运维频次/文档齐备四处;孙世超 6 月预期:文档齐备 6→0、线上Bug 9.7→7、团队完成率 26.7→19.0、版本计划 9.4→4;161 库连接耗尽实测待补 | FR-012/013 | 用户拍板 + SRC-002 |
| 2026-07-31 | CHG-053 | 绩效弹窗跟随月报选中产品集(用户拍板"按照当前选择产品") | 下拉 program 经 editDialog 透传 performance→myWorkScore(project 参数);后端 pids 改选中产品集+引擎项目口径走 program 上下文(ThreadLocal,空则回退本人项目);workloadRateTeam 项目口径同步扩至四角色(魏冬霞 139 下 1365h/0 → 525h/106.06%/20);孙世超 139=双满分/vp4/bug7/doc0、119=全 0 实测分化 | FR-013 | 用户拍板 |
| 2026-07-31 | CHG-054 | CS 测试需求范围修正(用户拍板"先修复") | 缺陷检出率的测试需求范围由仅 assignedTo(孙颖 6 月 3 个,漏算)改 assignedTo ∪ zt_story_expand.test_person 指定(24 个);孙颖 5 月检出率 48%→满分 30(修复前恒 0),6 月真 0(无检出) | FR-013 | 用户拍板 |
| 2026-08-10 | CHG-056 | 绩效导出换新版式(用户拍板"改") | 9 岗位新模版(含王宇航变体/前后端分离/新增运维)自 SRC-002 生成;7 generator 重写+新增 generatorYwExcel/YW 分支;修复 openpyxl inlineStr 单元格致 POI 占位符替换失效(writeXlsx 先置空再写);合并还原并行改动覆盖的 CHG-036/038/054/055;导出实测 28 sheet 无残留占位符、前后端模版正确分流 | FR-013 | 用户拍板 |
| 2026-08-10 | CHG-057 | CS 测试文档齐备改实时字段判定(用户拍板口径) | 范围=test_person∪assignedTo 本月发布需求;判定=test_case_url+test_report_submit_url(提交件,AI 模版不计)非空,缺一份扣 3(25 分项扣完);本月无需求满分;弃写死 25;孙颖 6 月缺失 46→0、无需求月满分 25 实测 | FR-010/013 | 用户拍板 + SRC-002 |
| 2026-08-11 | CHG-058 | 需求文档拆独立区块(用户拍板"可以加类型/入口处改/顺带前端") | FileTypes 增 storyPrd(uploadBind 刷 prd_url,story 类型不动不影响他人接入);upload_md.py 入口需求文档改 storyPrd;详情页新增「需求文档」区块;6566 全链路实测;郭其兵提交 dc0b5a5 收编此前前端工作,14 点未提交部分已从 F:\zd 恢复 | FR-002/011 | 用户拍板 |
| 2026-08-04 | CHG-056 | Bug 分级口径以老弹窗为准(用户拍板"老的为准") | 撤销 07-28 锁定的"severity 1~2 重大、3~4 普通",恢复老弹窗 getBugFindScore 口径:**severity 1=重大、2/3/4=普通**;同步修三期引擎 AbstractWeightedBugCalculator.countMajor/countNormal、DefectFindRateCalculator major/normal 两处(原按 1~2 重大写);PRD 7.3 待确认第 4 项标记已决。影响:6 月 sev2 的 99 个 Bug 由重大降为普通,线上 Bug 率/产品缺陷率"重大扣 10 分"命中大幅减少;孙颖 5 月 12 个 sev2 仍按普通(12 加权/148h=8.1%→6 分不变) | FR-012/013 | 用户拍板 + 老弹窗代码 |
| 2026-08-06 | CHG-057 | 需求详情页不展示代码审查通过/不通过状态(用户拍板"代码审查报告不需要通过或者不通过在需求详情页面") | 「代码审查报告」区块状态徽标(通过/未通过/未审)移除,codeReviewStatusText computed 删除;提交测试报告卡点(FR-008)与 code_review_status 后端字段保留不动 | FR-008 | 用户拍板 |
| 2026-08-06 | CHG-059 | aiBatchAdd 补历史留痕(用户报缺陷"AI 拆的任务没有记录") | 每个新建任务写需求级 zt_action(沿用 uploadBind 的 XQ+BJ 模式,extra=指派账号);skipped 不写;单测+1 全绿;8086 实测通过;18563/18564 已补录 | FR-006 | 用户报告 + zt_action 全库零 task 记录证据 |
| 2026-08-06 | CHG-060 | aiBatchAdd 补任务级留痕(用户指出手工拆任务本有历史、AI 未走同一流程) | 每个新建任务增写 task 级 zt_action(RW+XJ/opened,与手工建任务同形状);单测+断言全绿;8086 实测双写通过;18563/18564 已补录 | FR-006 | 用户指正 + ZtTaskServiceImpl:681 手工流程证据 |
| 2026-08-06 | CHG-061 | AI 通道接口鉴权落地+ai 永久 token(用户拍板"zt_action 创建人、任务创建人都要 token 的") | saveOrUpdate/aiBatchAdd 限 ai token;uploadBind 需登录态(前端在用);创建人全部改取 token 身份;token 存 .claude/ai_token.txt;两框架脚本自动带头、默认地址改本地 8085("别用正线的 url");单测 24 全绿;8086 三×三矩阵实测通过 | FR-004/006/008/011 | 用户拍板 + R-003/DT4 二期必决项 |
| 2026-08-06 | CHG-062 | 批拆留痕合并为一条(用户拍板"一次上传多个任务是不是应该就一条记录") | 需求级每批次一条汇总(个数+序号+各任务名称/类型/工时/指派中文名+跳过数);任务级维持每任务一条;单测 6/6 绿;8086 实测通过;9130 存量记录已合并 | FR-006 | 用户拍板 |
| 2026-08-06 | CHG-063 | 文档区块归集「需求文档」tab(用户拍板"把文档区块放在需求的一生后面加一个 tab 需求文档") | 6 文档区块(用例模版/提交报告/其他文档/审查报告/工作日志/更新记录)左栏→右栏新 tab 第三位;左栏保留基础信息区块;编译+断言+页面实测通过 | FR-002/005/008/010/011 | 用户拍板 |
| 2026-08-06 | CHG-064 | 产品助理弹窗前端还原为 git 老版(承接 08-05 拍板"除产品和项目经理其他撤回到 git 版本") | 08-05 还原了后端未还原前端致 XMZL 前后端错配显示空值;performance.vue XMZL 块还原 HEAD 版;李语嫣弹窗实测渲染正常(总计 80) | FR-013 | 用户报告 + 08-05 拍板 |
| 2026-08-06 | CHG-065 | 产品助理+UI 弹窗改新 Excel 口径(用户拍板"按照新的excel来"+"ui人员的也更新掉",撤销 CHG-064/08-05 对该两角色的还原) | buildXMZLScore 重建为引擎驱动(PRD50/验收20人工/缺陷率15/响应10/主动5+rawDetail);buildUiScore 及时率走 PerfScoreRules.uiPunctualityScore(修 90 边界);前端 XMZL 区块恢复新版;8086 API 实测值与 CHG-037 时期一致;8085 待重编译重启 | FR-013 | 用户拍板 + SRC-002 |
| 2026-08-06 | CHG-066 | XMZL 弹窗列错位修复(用户报"产品缺陷率/问题响应和解决跑到绩效数据列") | 类目格 v-if 渲染机制下 rowspan=2 覆盖不足致整行左移;rowspan 改 4;实拍验证对齐+数值正确(总计 50) | FR-013 | 用户报告 |
| 2026-08-06 | CHG-067 | Bug 需求关联字段 story→toStory(用户拍板"story 字段应该没用 启用的是toStory") | 全库证据 story 死字段(prod 0/76、dev 0/2433);4 处死字段查询修复(豁免计算器/CPJL展示/按需求查Bug/关需求联动关Bug);王宇航 2 月实测 100→40(2 普通 Bug 5.95‰ 超线);8085 待重编译重启 | FR-012/013 | 用户拍板 + 全库字段分布证据 |
| 2026-08-06 | CHG-068 | 需求文档 tab 视觉重设计+tab 头间距(用户拍板"tab 靠太近"+"页面太丑优化他") | App.vue 全局 4rem 定宽致长标题粘连→width:auto+兄弟 margin;六文档区块重设计为分节卡片(标题竖条/份数徽章/文件行/分组/卡点黄条/轮次徽章);绑定零改动;实拍验证通过 | FR-002/008/010/011 | 用户拍板 |
| 2026-08-06 | CHG-070 | productPageList 性能修复(用户报 5 秒) | zt_bug.steps MEDIUMTEXT 44MB 全字段拉取为主因;三处全量查询修剪 select 列;端到端 5s→0.2~0.5s;jar 已重打 | 性能 | 161 SQL 实测 + 8086 端到端实测 |
| 2026-08-06 | CHG-071 | exportScope 快照三格式兼容+NPE 修复(用户问"要按新修改调整吗") | scope_json 三格式(老DTO/引擎/docCheck)统一按老DTO解析致 NPE;resolveScoreDto 三格式分流+统计字段回填+人工分覆盖;8086 实测罗勇 6 月导出成功 | FR-013 | 用户报告 + luoyong docCheck 快照实证 |
| 2026-08-06 | CHG-072/073 | myWorkScore 快照分流 + userList 脱敏(用户拍板"1 2 都做,做完打包") | 弹窗对引擎/docCheck 快照改走新算+人工覆盖,老快照快路径保留;userList 剔除 password 列(按属性名匹配);8086 双项实测通过;jar 17:54 | FR-013/安全 | 用户拍板 + 8086 实测 |
| 2026-08-17 | CHG-077 | uploadBind 入口 story→storyPrd 归一化 + 8 需求错传修复(用户报 9209 md 落附件,拍板"改"/"一起") | UploadDTO.normalizeObjectTypeForBind + controller 调用;单测 17/17 绿;200 库 18 文件改 storyPrd + 8 需求 prd_url 校正回 PRD;待郭其兵提交部署 | FR-002/011 | 用户报告 + zt_file/zt_action 实证 |
| 2026-08-17 | CHG-078 | 用户需求导出/分页加「迭代版本」列(用户拍板) | DTO 增 execNames(index=5,后续顺移);buildExecNames 去重排序拼接;两处填充点接入;前端零改动;单测 4/4 绿;待郭其兵提交部署 | 用户需求列表 | 用户需求 + 列表页已有列实证 |