{ "ticket": 17, "date": "2026-09-11", "smokeBaseline": "35/35 PASS", "mainChain": "11/11 PASS(含 8b 观察项)", "counts": { "FIXED": 3, "KEPT": 23, "REPRODUCED": 0 }, "artifacts": [ "retest-p1.py", "retest-p23.py", "retest-mainchain.py", "retest-p1-result.json", "retest-p23-result.json", "retest-mainchain-result.json", "screenshots/r17-*.png" ], "results": [ { "defectId": "D-01", "verdict": "FIXED", "note": "关闭项目后 stage0 卡无「冲突解除」死入口;badge 计入新活跃项目(+1)、关闭后回落原值;API 已关闭卡 conflictActionAvailable=false 且 conflictPendingCount=stage0 进行中数;服务端终态锁保持(68003)。证据 retest-p1-result.json D-01.0~1.6、r17-d01-board-after-close.png。" }, { "defectId": "D-02", "verdict": "FIXED", "note": "普通销售对他人项目 冲突解除/推进/关闭/标记赢输 四动作全被 68010 拒(stage0/stage5 双验);负责人对自己项目四动作全部成功未误伤;销售对自己项目可操作(负责人∨管理员∨销售总监)。证据 retest-p1-result.json D-02.0~2.8。" }, { "defectId": "D-03", "verdict": "FIXED", "note": "赢单弹窗带快照四字段,提交后开标页签回显四值+中标时间(服务端盖章),API bid-open 落值;输单免复盘字段直进 stage6 结项(spin-out 维持)。中标单位/合同扫描件不在 16R 拍板范围。证据 retest-p1-result.json D-03.1~3.6、r17-d03-*.png。" }, { "defectId": "D-04", "verdict": "KEPT", "note": "回退弹窗仍仅「回退到」单下拉,无原因类型/详细说明。r17-d04-rollback-dialog.png。" }, { "defectId": "D-05", "verdict": "KEPT", "note": "普通销售对他人 stage3 项目「回退…」按钮仍可见(服务端 68005 不变)。r17-d05-sales-sees-rollback.png。" }, { "defectId": "D-06", "verdict": "KEPT", "note": "index.html 仍无请求去重/AbortController/序号守卫(源码检查)。" }, { "defectId": "D-07", "verdict": "KEPT", "note": "已关闭项目 follow/add 仍 code=0,行为未变。" }, { "defectId": "D-08", "verdict": "KEPT", "note": "列表仍为 demo 9 列(缺原型 8 列口径未变)。" }, { "defectId": "D-09", "verdict": "KEPT", "note": "详情头部仍缺 项目编号/甲方单位/客户联系人/来源商机/项目类型,无 stepper。" }, { "defectId": "D-10", "verdict": "KEPT", "note": "看板顶部仍仅「冲突待处理」1 张统计卡。" }, { "defectId": "D-11", "verdict": "KEPT", "note": "看板卡仍缺 最近跟进时间/中标时间/超期状态,负责人无部门前缀。" }, { "defectId": "D-12", "verdict": "KEPT", "note": "写跟进表单仍仅 内容/时间/方式 三项,列表仍缺 跟进人/部门列。" }, { "defectId": "D-13", "verdict": "KEPT", "note": "客户页签仍缺 联系人/电话/等级,customerType 仍显示原始枚举 ENTERPRISE。" }, { "defectId": "D-14", "verdict": "KEPT", "note": "导航仍仅 看板/列表/详情,无分屏视图。" }, { "defectId": "D-15", "verdict": "KEPT", "note": "已关闭项目头部仍显示原始枚举 MANUAL 未译名。r17-d15-closed-raw-enum.png。" }, { "defectId": "D-16", "verdict": "KEPT", "note": "动作区仍无 暂停/恢复/终止/编辑/移交。" }, { "defectId": "D-17", "verdict": "KEPT", "note": "建档仍单步弹窗、客户/方案卡裸 id 手输、无销售经理/项目类型。r17-d17-create-dialog.png。" }, { "defectId": "D-18", "verdict": "KEPT", "note": "同卡两项目建项均 code=0,引用语义未变。" }, { "defectId": "D-19", "verdict": "KEPT", "note": "仍无 A5-1-4 统计入口。" }, { "defectId": "D-20", "verdict": "KEPT", "note": "board/list 计数与 id 仍为字符串类型。" }, { "defectId": "D-21", "verdict": "KEPT", "note": "68005 被拒后回退弹窗仍保持 open=true。r17-d21-rollback-stays-open.png。" }, { "defectId": "D-22", "verdict": "KEPT", "note": "跟进时间默认值仍取浏览器 UTC(非本地 UTC+8)。" }, { "defectId": "D-23", "verdict": "KEPT", "note": "followTime 非法仍 40001 泄露 Spring 类型转换链实现细节。" }, { "defectId": "D-24", "verdict": "KEPT", "note": "推进仍无二次确认弹窗直接执行。" }, { "defectId": "D-25", "verdict": "KEPT", "note": "分页仍仅 上一页/下一页 + 当前页码,无页码/跳至;列表无排序。" }, { "defectId": "D-26", "verdict": "KEPT", "note": "动态仍为事件级投影,无旧值/新值拆分。" }, { "defectId": "OBS-01(非回归观察项)", "verdict": "N/A", "note": "赢单态(stage5/status=1/bid=1)执行「关闭」仍 code=0——ensureCloseable 只拦已关闭/已结项,票05-08 原有行为(git 溯源 16R 未触碰),台账 4-3-11「三终态锁全拒」对赢单态过宽,记档供产品复核;赢单态 回退/推进 68003、重复标记 68009、报备审核 68008 均正常拒。" } ] }