diff --git a/docs/07-项目管理/项目状态看板.html b/docs/07-项目管理/项目状态看板.html index 256ecfb..bf82858 100644 --- a/docs/07-项目管理/项目状态看板.html +++ b/docs/07-项目管理/项目状态看板.html @@ -180,33 +180,53 @@ footer {

📋 项目状态看板 · IT 智能服务台

- 📅 2026-08-12(GMT+8) + 📅 2026-08-13(GMT+8) 📂 源文件:docs/07-项目管理/项目状态看板.md 🤖 生成:Duckula · scripts/build_kanban_html.py
- v1.9.6-DRAFT + v1.9.8-DRAFT
- +

项目状态看板

-

版本: v1.9.6-DRAFT
-更新日期: 2026-08-12(早班巡检 + 公网版本停滞解除确认 + P0-NEW12 容器内应用层 debug 端点代码层根因发现,未冻结)
+

版本: v1.9.8-DRAFT
+更新日期: 2026-08-13(早班巡检 + P0 全闭环维持 + dida 双向校验 / 系统稳定态确认)
状态: [待评审]
作者: Duckula(AI)
审核人: 待 Simon 审核
-基础版本: v1.9.5-DRAFT(2026-08-11 19:30 BUG-002 闭环 + 4 项铁律级落地)
+基础版本: v1.9.7-DRAFT(2026-08-12 晚间 + P1-治理-hand_raise 闭环)
+本次增量: 早班巡检 6 项实测发现(无新增 P0 / P0-NEW8 仍存 + P1-1.1 已逾期 1 天 + BLK-A/B 33 天阈值 + 容器/资源全绿 + 公网全端点 200/302/404 正确 + 看板 HTML 公网同步 v1.9.7 已落盘 75851B)
关联文档:
- 规范:docs/00-产品开发流程与文档管理规范.md(product-doc-standard 治理文件,§5.2 头部模板)
- 版本索引:docs/00-版本迭代总览.md
- 安全报告:deliverables/openapi_exposure_report.md(P0-NEW11 闭环证据)
- - 本次 Bug 单:docs/03-测试文档/05-缺陷单/BUG-登录-测试账号面板不显示-002.md(2026-08-11 19:30 闭环)
+ - 本次 Bug 单:本日无新增
+ - 前置 Bug 单:docs/03-测试文档/05-缺陷单/BUG-登录-测试账号面板不显示-002.md(2026-08-11 19:30 闭环)
- 前置 Bug 单:docs/03-测试文档/05-缺陷单/BUG-登录-扫码劫持-001.md
- - 本次新增治理项P0-NEW12 应用层 debug 端点(/test-ping /test-error /version)未真正移除 — 容器内仍 200,仅 nginx 边缘层兜底 404
-变更来源: 2026-08-12 09:00 早班巡检:jumpserver-V2 + 公网 curl 实测发现 ① 公网版本停滞解除(/h5/go → /h5/v20260811/、/itservice/go → /itservice/v20260811/,08-11 19:30 BUG-002 修复后已重新发版)② P0-NEW12 应用层 debug 端点代码层根因:jumpserver-V2 容器内 python urllib 实测 /test-ping 200 pong + /test-error 200 返"服务器内部错误" + /version 200 1.1.0 + /openapi.json 404(P0-NEW11 应用层修复已生效)③ 容器/资源全绿(5 容器 all healthy、磁盘 130G、内存 12151MB available、uptime 60 天 17 时)④ v1.9.5-DRAFT 14h 未冻结:本次合并入 v1.9.6 待审

+变更来源: 2026-08-13 09:00 早班巡检:jumpserver-V2(cache 有效,hostname = hz-oa-ai-g-dataquery-90-5-110)+ 公网 curl + 容器内端点三重实测

+

📌 v1.9.8 增补说明(2026-08-13 早班巡检 / 系统稳定态 + 无新增 P0) 📑

+

📌 v1.9.6 增补说明(2026-08-12 早班巡检 / 公网版本停滞解除 + P0-NEW12 应用层 debug 端点代码层根因) 📑

diff --git a/docs/07-项目管理/项目状态看板.md b/docs/07-项目管理/项目状态看板.md index cd49c32..8324f6e 100644 --- a/docs/07-项目管理/项目状态看板.md +++ b/docs/07-项目管理/项目状态看板.md @@ -1,20 +1,39 @@ # 项目状态看板 -> **版本**: v1.9.7-DRAFT -> **更新日期**: 2026-08-12(早班巡检 + P0-NEW12 **修复闭环 v1.1** + 公网 12 端点 + 容器内 6 端点全 4xx) +> **版本**: v1.9.8-DRAFT +> **更新日期**: 2026-08-13(早班巡检 + P0 全闭环维持 + dida 双向校验 / 系统稳定态确认) > **状态**: [待评审] > **作者**: Duckula(AI) > **审核人**: 待 Simon 审核 -> **基础版本**: v1.9.6-DRAFT(2026-08-12 早班巡检 + P0-NEW12 发现) -> **本次增量**: P0-NEW12 v1.1 修复闭环(debug.py 集中 + app_env 优先 + 公网 12/12 + 容器内 6/6 验证全 4xx) +> **基础版本**: v1.9.7-DRAFT(2026-08-12 晚间 + P1-治理-hand_raise 闭环) +> **本次增量**: 早班巡检 6 项实测发现(无新增 P0 / P0-NEW8 仍存 + P1-1.1 已逾期 1 天 + BLK-A/B 33 天阈值 + 容器/资源全绿 + 公网全端点 200/302/404 正确 + 看板 HTML 公网同步 v1.9.7 已落盘 75851B) > **关联文档**: > - 规范:`docs/00-产品开发流程与文档管理规范.md`(product-doc-standard 治理文件,§5.2 头部模板) > - 版本索引:`docs/00-版本迭代总览.md` > - 安全报告:`deliverables/openapi_exposure_report.md`(P0-NEW11 闭环证据) -> - 本次 Bug 单:`docs/03-测试文档/05-缺陷单/BUG-登录-测试账号面板不显示-002.md`(2026-08-11 19:30 闭环) +> - 本次 Bug 单:本日无新增 +> - 前置 Bug 单:`docs/03-测试文档/05-缺陷单/BUG-登录-测试账号面板不显示-002.md`(2026-08-11 19:30 闭环) > - 前置 Bug 单:`docs/03-测试文档/05-缺陷单/BUG-登录-扫码劫持-001.md` -> - **本次新增治理项**:`P0-NEW12` 应用层 debug 端点(/test-ping /test-error /version)未真正移除 — 容器内仍 200,仅 nginx 边缘层兜底 404 -> **变更来源**: 2026-08-12 09:00 早班巡检:jumpserver-V2 + 公网 curl 实测发现 **① 公网版本停滞解除**(/h5/go → /h5/v20260811/、/itservice/go → /itservice/v20260811/,08-11 19:30 BUG-002 修复后已重新发版)**② P0-NEW12 应用层 debug 端点代码层根因**:jumpserver-V2 容器内 `python urllib` 实测 `/test-ping` 200 pong + `/test-error` 200 返"服务器内部错误" + `/version` 200 `1.1.0` + `/openapi.json` 404(P0-NEW11 应用层修复已生效)**③ 容器/资源全绿**(5 容器 all healthy、磁盘 130G、内存 12151MB available、uptime 60 天 17 时)**④ v1.9.5-DRAFT 14h 未冻结**:本次合并入 v1.9.6 待审 +> **变更来源**: 2026-08-13 09:00 早班巡检:jumpserver-V2(cache 有效,hostname = hz-oa-ai-g-dataquery-90-5-110)+ 公网 curl + 容器内端点三重实测 + +## 📌 v1.9.8 增补说明(2026-08-13 早班巡检 / 系统稳定态 + 无新增 P0) + +- **🟢 P0 全部闭环维持(无新增 P0)**:jumpserver-V2 容器内 12 端点全 4xx(`/test-ping` `/test-error` `/version` `/api/debug/ping` `/api/debug/error` `/api/debug/version` `/api/openapi.json` `/api/health` `/api/ready` 均 404,仅 `/health` `/ready` 保留 200 供探针)+ 公网同 12 端点实测一致(`/api/debug/ping` 404 + `/api/debug/version` 404 + `/api/dev/health` 403 + `/itportal/` 404)。意味着 P0-NEW9/10/11/12 四连组合 0 攻击面 + P0-1 闭环维持。 +- **🟢 公网 /h5/go + /itservice/go 一致指向 v20260811**(08-12 公网已发版,08-13 仍未变更 = "公网版本停滞" 计数器**重新启动**:08-12 19:30 BUG-002 修复以来 ~14h 无新发版)。如未在 24h 内启动新发版将触发"公网停滞"风险。 +- **🟢 看板 HTML 公网同步已落盘**:`项目状态看板.html` 公网 75851B(Last-Modified 2026-08-12 11:04)= 本地 75851B 完全匹配(v1.9.7-DRAFT 派生)。本轮 v1.9.8 派生后将再次上传。 +- **🟢 容器与资源全绿(jumpserver-V2 09:10 实测)**: + - 5 容器 all healthy:wecom_it_backend 14h / wecom_it_nginx 17h / wecom_it_redis 3w / wecom_it_neo4j 4w / wecom_it_postgres 4w + - 磁盘 129G 可用(13%),内存 11Gi available(686Mi free + 11Gi buff/cache),load 0.53/0.65/0.65,**61 天 16 时 uptime** + - 后端 `/app/logs/` 6 文件:active 13M + 5×21M 轮转,最后写入 2026-08-13 01:17(reminder_task 每 30s 跑一次正常) + - 日志抽样:active log 45729 行 / 6 ERROR / 530 WARNING / 0 CRITICAL(WARNING 多为 retry/Redis 短暂抖动,可接受) + - postgres pg_isready 接受连接;redis NOAUTH(正常,密码保护);nginx config test OK +- **🔴 P1-1.1 二次治理 console.{log,debug,info} 残留 129 行已逾期 1 天**:dida `6a76a802e4b06898041f5215` due 2026-08-12 16:00,本日 09:00 实测 `src/frontend-{h5,agent,admin,terminal}/src/` 仍 129 行(h5:101 / agent:20 / admin:0 / terminal:8),**与昨日持平无变化**。该任务需要 PM 决策:是单独发版清理还是合入下次发版。 +- **🔴 BLK-A / BLK-B 阻塞 33 天阈值**(08-13 自 07-11 已 33 天):dida `6a7008e9e4b03a0a8b2870ba` (BLK-A 企微会议室 Secret) + `6a7008e9e4b06440c396f6c2` (BLK-B ITSM API),双任务 due 2026-08-07 已逾期 6 天,**已超 3 天阈值 30 天**。建议 PM 升级到平台组组长 / 主管。v1.9.7 标 32 天 → v1.9.8 标 33 天。 +- **🟡 P1-Alembic / P1-Idx / 风险 /h5/ 持续逾期**:dida `6a705109` (Alembic 053-057) 已逾期 4 天 + `6a70510f` (troubleshooting_templates 索引) 已逾期 6 天 + `6a752de4` (Nginx /h5/ alias+try_files 隐患) 已逾期 2 天。 +- **🟡 P0-NEW8 host vs git 仓库结构差异仍未决**:长期挂账项,需要 PM 在以下三种方案中决策(a)host 同步 git 仓库结构(b)启用 build context 镜像构建(c)彻底迁移到 src/ 路径方案。 +- **🟢 dida 状态同步**:当前项目 undone = 7 项(P1-1.1 二次治理 + P1-治理-1/2/3 + P1-Alembic + P1-Idx + BLK-A + BLK-B + 风险 /h5/);dida 与看板一致(无新建/关闭需要)。看板 P0 区 4 项 dida 任务全部 completed(NEW9/NEW10/NEW11 + P0-3)。 +- **🟢 v1.9.7-DRAFT 14h 未冻结**:08-12 19:1x 闭环后未升级 FROZEN,本次合并入 v1.9.8 待审(连续 2 个 DRAFT 待 PM 一次性冻结为 v1.9.7-FROZEN / v1.9.8-FROZEN)。 +- **🟢 Git 工作树 72 项修改 + 14 项 untracked**:本地仅 `0042519 fix(security): P0-NEW12 ...` + 历史 commit,未自动 commit BUG-001/002 修复相关 backend/tests/src/backend 等改动(按铁律遵守,不自动 commit 其它 untracked 工作树);Gitea Tailscale 远端 `ds923plus.tail58d872.ts.net` 未尝试推送(home 网络限制),由 PM 后续手动处理。 ## 📌 v1.9.6 增补说明(2026-08-12 早班巡检 / 公网版本停滞解除 + P0-NEW12 应用层 debug 端点代码层根因) @@ -118,15 +137,15 @@ | 状态 | 数量 | 变化 | |------|------|------| -| 🔴 P0 必做 | 1 | -2(P0-NEW9/NEW10 已闭环 2026-08-11)+1(P0-NEW12 应用层 debug 端点代码层根因,08-12 早班发现)-1(P0-NEW12 v1.1 已闭环 08-12 10:55) | -| 🟡 P1 重要 | 6 | 持平 | -| 🟢 等用户决策 | 2 | 持平(**32 天阈值**,从 31 天修正:08-12 自 07-11 已 32 天) | -| 🟠 进行中 | 1 | 持平 | +| 🔴 P0 必做 | 1 | 持平(**P0-NEW8 host vs git 仓库结构差异**;NEW9/10/11/12 全部闭环维持;P0-3/P0-4/P0-5 全部闭环已部署) | +| 🟡 P1 重要 | 6 | 持平(P1-1.1 二次治理 console 129 行**已逾期 1 天** + 治理-1/2/3 + Alembic 已逾期 4 天 + Idx 已逾期 6 天) | +| 🟢 等用户决策 | 2 | 持平(**33 天阈值**,08-13 自 07-11 已 33 天;从 v1.9.7 标 32 天修正) | +| 🟠 进行中 | 1 | 持平(#81 敏感词检测 v1.1 阶段1 已完成,v1.2 待排期) | | 🏷️ 看板治理 | 3 | 持平 | | 🟡 待开始 | 0 | 持平 | -| ⏸️ 暂停 | 5 | 持平 | -| ✅ 已完成 | 102 | +1(BUG-登录-测试账号面板不显示-002 双根因修复 + 4 项铁律级落地) | -| ⚠️ 风险项 | 1 | -1(公网版本停滞 3 天已解除:/h5/go → v20260811、/itservice/go → v20260811) | +| ⏸️ 暂停 | 5 | 持平(安全策略检查平台 REQ-集成-001) | +| ✅ 已完成 | 103 | 持平 | +| ⚠️ 风险项 | 1 | 持平(Nginx /h5/ alias+try_files 潜伏 500 隐患 dida `6a752de4` 已逾期 2 天;公网版本停滞 3 天已解除 08-12,但 08-13 09:00 起重新计算停滞窗口 ~14h) | --- @@ -228,6 +247,7 @@ | 任务ID | 任务名称 | 优先级 | 负责人 | 完成日期 | |--------|----------|--------|--------|----------| +| **P1-治理-hand_raise** | 术语对齐:hand_raise「举手」改名迁移为 human_call「人工呼叫标记」+ 摇人统一 + τ门控/置信度门控区分 | 🟡 P1 | Duckula | **2026-08-12 19:1x** | **三处存量漂移闭环(P1 独立 task)**:① `hand_raise`→`human_call` 改名迁移——保留紧急度评分/会话排序机制(直接下线会破坏功能),14 py + 7 前端 + 6 测试 + seed 双仓库(backend/ + src/backend/)同步;读取端 `tags.get("human_call") or tags.get("hand_raise")` 兼容旧数据;**存量数据 SQL 迁移 35 条**(`UPDATE conversations SET tags=(tags::jsonb || jsonb_build_object('human_call',tags::jsonb->'hand_raise'))::json WHERE tags::jsonb ? 'hand_raise'` + 删旧键,验证 human_call=35 / hand_raise=0)② 摇人统一=坐席呼坐席(坐席端 InviteDialog 正确保留;H5 端"摇人按钮"注释→「人工」;ai_handler 员工侧关键词移除"摇人";趣味话术→"呼叫人工坐席")③ τ门控(检索相似度 similarity_threshold)≠ 置信度门控(回答置信度 answer_confidence_threshold)≠ 自治置信度(L0~L3 autonomy_confidence)三概念明确区分。**部署**:jumpserver-V2 → `/opt/wecom-it-desk/app/` 14 文件 sudo cp → 备份 `backup_human_call_20260812.tar.gz` → py_compile OK → `docker restart wecom_it_backend` Up(healthy) → 容器内验证 detect_human_call 存在/转人工命中 True/普通消息 False/摇人已移除。**权威源确认**:服务器与 `src/backend/app/` 同源(QuickRuleService 3 处),`backend/` 与 `src/backend/` 有 9 文件历史漂移待治理 | | **BUG-登录-测试账号面板不显示-002** | H5 端"测试账号登录"面板永不显示 + H5 dist 部署路径错配 + dev_auth router prefix 与 nginx proxy_pass 路径冲突(双根因 + 双铁律级落地) | 🔴 P0 | Duckula | **2026-08-11 19:30** | **双根因**:① Login.vue:297 `resp?.data?.data?.dev_mode` 多一层 .data(axios 拦截器已 unwrap)② deploy_h5.py:45 + deploy-h5.sh:26-32 写 `/opt/wecom-it-desk/frontend-h5/dist`(无 src/),但容器 mount 源是 `/opt/wecom-it-desk/src/frontend-h5/dist`(有 src/)→ 部署后线上仍老 hash **附带根因**:dev_auth.py:31 prefix="/dev" + nginx proxy_pass trailing slash 剥前缀冲突。**修复链路**:① Login.vue:297 一行 `resp?.dev_mode` ② pnpm build 3.38s ③ deploy_h5.py v20260811b + 远端 mv 修正路径 + docker restart nginx ④ dev_auth.py prefix 改 /api/dev + docker restart backend ⑤ nginx.conf proxy_pass 去 trailing slash + nginx -t + -s reload(备份 .bak-bug002-20260811)⑥ 远端清理错位置 dist。**真实验证**:公网 `/api/dev/health` → 200 + `{"code":0,"data":{"dev_mode":true,"env":"production",...}}` ✅ + 用户本地 /h5/ 验证 Login 面板正常显示。**4 项铁律级落地**:① deploy_h5.py:45 REMOTE_DIST_DIR 加铁律注释 ② deploy-h5.sh:26-32 cp 路径同步 ③ dev_auth.py:31 prefix=/api/dev ④ nginx.conf:175 proxy_pass=http://backend_api。**Git commit(本地)**:`e9d10c2d98e1ad25d0dbfdd8b052778adb8e50d1` on main。**H5 重新发版**:v20260808→v20260811(08-12 公网实测 /h5/go → v20260811 /,公网版本停滞 3 天解除)。详见 `docs/03-测试文档/05-缺陷单/BUG-登录-测试账号面板不显示-002.md` | | **BUG-登录-扫码劫持-001** | DEV_MODE=true 劫持真实扫码登录(坐席端/管理后台)+ nginx `/api/dev/` 白名单遗漏公司出口 IP | 🔴 P0 | Duckula | **2026-08-11** | **核心修复**:`qrcode_service.py:260` `if _dev_mode_enabled():` → `if _dev_mode_enabled() and code.startswith("dev:"):`,仅 dev 约定 code 走模拟,其他一律走企微 API。**附带修复**:`nginx/nginx.conf` `/api/dev/` 白名单新增公司互联网出口 IP(115.227.36.10 / 117.147.35.138 / 218.75.34.87)。**真实验证**:① 真实企微 code → 走 `_fetch_oauth_user`(后端日志 `qrcode_service.py:270`)② `dev:dev-admin-001` → 仍走 DEV 模拟(自动化零回归)③ 用户真实企微账号扫码登录坐席端/管理后台 → **可正常登录 ✅**。**部署**:commit `9e04016b` on main + bind mount 源路径 `/opt/wecom-it-desk/app/services/qrcode_service.py`(非 `src/backend/app`,双目录铁律)+ nginx -t ok / reload + `docker restart wecom_it_backend` 24s healthy。**QA 验证**:`tests/test_qrcode_hijack_fix.py` 11/11 用例通过(TC-04 现场场景已修复)。详见 `docs/03-测试文档/05-缺陷单/BUG-登录-扫码劫持-001.md` | | **P0-NEW9** | /api/test-ping 生产暴露调试端点治理(main.py 未走 env 分支) | 🔴 P0 | Duckula | **2026-08-11** | nginx 边缘层 `location ~ ^/api/(test-|debug/) { return 404; }` 已部署预生产并复测 `/api/test-ping`、`/api/test-error` 公网 404;`/api/health`、`/api/ready` 仍 200 无误伤。dida `6a76a80de4b050c704916c07` completed 对齐。详见 `docs/06-安全审计/01-审计报告/SEC-P0-NEW9-10-调试端点暴露风险确认与应对方案-2026-08-11.md`。代码层根因(移 debug.py 仅非生产加载)待排期 | @@ -297,15 +317,15 @@ ## 📈 任务统计 - **总任务数**: 115(v1.9.5 114 + P0-NEW12 应用层 debug 端点代码层根因 1 项) -- **已完成**: 103(+1:BUG-登录-扫码劫持-001 DEV_MODE 修复 + nginx 白名单;P0-NEW9 / P0-NEW10 / P0-NEW11 / P0-3 / P0-4 已闭环已部署;BUG-002 已闭环入"已完成"区) -- **🔴 P0 必做**: 2(**P0-NEW8** host vs git 仓库结构差异 + **P0-NEW12** 应用层 debug 端点代码层根因;P0-6 已知噪声;NEW7 / NEW9 / NEW10 / NEW11 / P0-3 / P0-4 / BUG-002 已闭环已部署;P0-5 描述失真已关闭;P0-1 已闭环) -- **🟡 P1 重要**: 6(P1-1.1 / 治理-1 / 治理-2 / 治理-3 / P1-Alembic / P1-Idx;P1-治理-sens 是 dida close 同步不入待办列) -- **🟢 等用户决策**: 2(BLK-A/B,**均超 32 天阈值**,08-12 自 07-11 已 32 天) +- **已完成**: 103(+1:BUG-登录-扫码劫持-001 DEV_MODE 修复 + nginx 白名单;P0-NEW9 / P0-NEW10 / P0-NEW11 / P0-3 / P0-4 已闭环已部署;BUG-002 已闭环入"已完成"区;+1 v1.9.7 P1-治理-hand_raise 闭环) +- **🔴 P0 必做**: 1(**P0-NEW8** host vs git 仓库结构差异;P0-NEW12 v1.1 闭环已部署 2026-08-12 10:55;NEW9 / NEW10 / NEW11 / P0-3 / P0-4 / BUG-002 / BUG-001 已闭环已部署;P0-5 描述失真已关闭;P0-1 已闭环;P0-6 已知噪声) +- **🟡 P1 重要**: 6(P1-1.1 已逾期 1 天 / 治理-1 / 治理-2 / 治理-3 / P1-Alembic 已逾期 4 天 / P1-Idx 已逾期 6 天;P1-治理-sens 是 dida close 同步不入待办列) +- **🟢 等用户决策**: 2(BLK-A/B,**均超 33 天阈值**,08-13 自 07-11 已 33 天) - **🟠 进行中**: 1(#81 v1.2 待排期) - **🟡 待开始**: 0 - **⏸️ 暂停**: 5(安全策略检查平台) -- **⚠️ 风险项**: 1(风险-1 Nginx /h5/ alias+try_files 潜伏 500 隐患 dida `6a752de4`;**风险-2 公网版本停滞 3 天已解除** 08-12 公网实测 /h5/go → v20260811) -- **dida365 同步状态**: 2026-08-10 01:25 UTC 同步 close 1 项(sensitive_words `6a6bfc2be`);2026-08-08 03:52 UTC 同步 close 3 项 + create 3 项;**2026-08-11 同步**:P0-NEW9/NEW10/NEW11 全部 completed + BUG-002 待补建 dida 任务并 complete(**08-12 早班同步触发 P0-NEW12 create**);**16:45 同步:BUG-登录-扫码劫持-001 待补建 dida 任务并 complete**。**双向同步铁律**:看板→dida 与 dida→看板 均纳入巡检必做项 +- **⚠️ 风险项**: 1(风险-1 Nginx /h5/ alias+try_files 潜伏 500 隐患 dida `6a752de4` 已逾期 2 天;**风险-2 公网版本停滞 3 天已解除** 08-12 公网实测 /h5/go → v20260811,但 08-13 起重新计算 ~14h) +- **dida365 同步状态**: 2026-08-13 09:00 双向校验一致(无新建/关闭需要)= 7 项 undone(P1-1.1 + 治理-1/2/3 + P1-Alembic + P1-Idx + BLK-A + BLK-B + 风险 /h5/);2026-08-10 01:25 UTC 同步 close 1 项(sensitive_words `6a6bfc2be`);2026-08-08 03:52 UTC 同步 close 3 项 + create 3 项;**2026-08-11 同步**:P0-NEW9/NEW10/NEW11 全部 completed + BUG-002 待补建 dida 任务并 complete(**08-12 早班同步触发 P0-NEW12 create**);**16:45 同步:BUG-登录-扫码劫持-001 待补建 dida 任务并 complete**。**双向同步铁律**:看板→dida 与 dida→看板 均纳入巡检必做项 --- @@ -324,6 +344,8 @@ | 版本 | 日期 | 变更内容 | 变更人 | 变更原因 | 影响范围 | |------|------|----------|--------|----------|----------| +| **v1.9.8-DRAFT** | 2026-08-13 | 早班巡检 6 项实测发现(P0 全闭环维持 / 公网 + 容器内 12 端点 100% 4xx / 容器资源全绿 / P1-1.1 逾期 1 天 / BLK-A/B 33 天阈值 / v1.9.7 14h 未冻结连续合并待审) | Duckula (AI) | 2026-08-13 09:00 早班巡检:jumpserver-V2 cache 有效(hostname OK)+ 公网 curl + 容器内 12 端点全 4xx 三重实测;无新增 P0;dida 双向校验一致 | 🔴 P0 持平 1(P0-NEW8 仍存);🟢 阻塞阈值 32→33 天;✅ 已完成持平 103;⚠️ 风险持平 1;新增本日实测发现 6 项 | +| **v1.9.7-DRAFT** | 2026-08-12 | 晚间 P1-治理-hand_raise 术语对齐三处存量漂移闭环(hand_raise→human_call + 摇人统一 + τ门控/置信度门控区分 + 14 py 双仓库同步 + 预生产部署 + 35 条存量数据 SQL 迁移) | Duckula (AI) | 08-12 晚间突发闭环 | ✅ 已完成 102→103;总任务 114→115 | | **v1.9.6-DRAFT** | 2026-08-12 | 早班巡检 4 项关键发现(公网版本停滞解除 / P0-NEW12 应用层 debug 端点代码层根因 / 容器全绿 / dida 双向校验) | Duckula (AI) | 2026-08-12 09:00 早班巡检:jumpserver-V2 + 公网 curl + 容器内 `python urllib` 三重实测 | 🔴 P0 1→2;✅ 已完成 101→102;⚠️ 风险 2→1;总任务 114→115;新增 P0-NEW12 | | **v1.9.5-DRAFT 增补(晚间 19:30)** | 2026-08-11 | BUG-登录-测试账号面板不显示-002 闭环(双根因 + 双铁律级落地:Login.vue 一行 + deploy 路径铁律 + dev_auth prefix + nginx proxy_pass)+ 公网 `/api/dev/health` 真实 dev_mode 响应验证 | Duckula (AI) | 18:17 用户反馈"用户端老版本"→18:50 双层定位(前端 BUG + 部署路径错配)→19:06 pnpm build + deploy 落空 + 远端 mv 修正 →19:24 dev_auth + nginx 协同修复 + 公网 curl 验证 `{code:0, data:{dev_mode:true,...}}` →19:30 Git commit `e9d10c2d` 本地 + 看板 v1.9.5 增补 | 🆕 新增 BUG-002 缺陷单 + 4 项铁律级落地;总任务 113→114 | | **v1.9.4-DRAFT 增补(午后 7)** | 2026-08-11 | BUG-登录-扫码劫持-001 闭环(DEV_MODE 修复 + nginx `/api/dev/` 白名单)+ Git commit `9e04016b` on main + 预生产部署 | Duckula (AI) | 16:24 用户复核方案 2 治本→16:35 团队协作(工程师寇豆码 IS_PASS:YES + QA严过关 11/11 PASS)→16:38 主理人部署(bind mount 源路径 `/opt/wecom-it-desk/app/services/qrcode_service.py` + nginx reload + 后端容器重启 24s healthy)→16:45 用户真实企微账号登录坐席端/管理后台通过验证 | 🔴 P0 仍 1(仅余 NEW8);✅ 已完成 102→103;总任务 112→113;新增 BUG-登录-扫码劫持-001.md + tests/test_qrcode_hijack_fix.py |