From c9c70422f658d5e00e1a6d0c36f2f08a222eaae9 Mon Sep 17 00:00:00 2001
From: Simon
Date: Thu, 13 Aug 2026 09:20:32 +0800
Subject: [PATCH] =?UTF-8?q?kanban:=20v1.9.8=20=E5=B7=A1=E6=A3=80=E5=90=8C?=
=?UTF-8?q?=E6=AD=A5=20(2026-08-13)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
docs/07-项目管理/项目状态看板.html | 97 +++++++++++++++++++++---------
docs/07-项目管理/项目状态看板.md | 62 +++++++++++++------
2 files changed, 112 insertions(+), 47 deletions(-)
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 {
-
+
项目状态看板
-版本: 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) 📑
+
+- 🟢 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 端点代码层根因) 📑
- 🟢 公网版本停滞 3 天 → 已解除(2026-08-12 09:00 公网实测):
@@ -323,23 +343,23 @@ footer {
| 🔴 P0 必做 |
-2 |
--2(P0-NEW9/NEW10 已闭环 2026-08-11)+1(P0-NEW12 应用层 debug 端点代码层根因,08-12 早班发现) |
+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 |
-持平(32 天阈值,从 31 天修正:08-12 自 07-11 已 32 天) |
+持平(33 天阈值,08-13 自 07-11 已 33 天;从 v1.9.7 标 32 天修正) |
| 🟠 进行中 |
1 |
-持平 |
+持平(#81 敏感词检测 v1.1 阶段1 已完成,v1.2 待排期) |
| 🏷️ 看板治理 |
@@ -354,17 +374,17 @@ footer {
| ⏸️ 暂停 |
5 |
-持平 |
+持平(安全策略检查平台 REQ-集成-001) |
| ✅ 已完成 |
-102 |
-+1(BUG-登录-测试账号面板不显示-002 双根因修复 + 4 项铁律级落地) |
+103 |
+持平 |
| ⚠️ 风险项 |
1 |
--1(公网版本停滞 3 天已解除:/h5/go → v20260811、/itservice/go → v20260811) |
+持平(Nginx /h5/ alias+try_files 潜伏 500 隐患 dida 6a752de4 已逾期 2 天;公网版本停滞 3 天已解除 08-12,但 08-13 09:00 起重新计算停滞窗口 ~14h) |
@@ -463,8 +483,8 @@ footer {
应用层 debug 端点代码层根因(容器内 /test-ping /test-error /version 仍 200,仅 nginx 边缘层兜底 404) |
🆕 新增 |
🆕 |
-🔴 待修复 |
-2026-08-12 09:00 早班巡检实测触发:jumpserver-V2 容器内 python urllib 直接测 FastAPI(绕开 nginx):/test-ping 200 pong + /test-error 200 返"服务器内部错误" + /version 200 1.1.0 + /openapi.json 404(NEW11 应用层修复已生效)。真实风险:公网 404 全部依赖 nginx 边缘层 return 404 兜底——若 nginx 配置被误改 / 失效,攻击者可直连 backend:8000 拿到 3 个调试端点。修复方案(PM 决策):① app/api/debug.py 集中所有诊断端点,仅 settings.app_env != 'production' 加载 ② _is_dev_mode() 包裹整个诊断区段(与 main.py:932 周边模式一致) ③ FastAPI 实例化按环境变量切 openapi_url/docs_url/redoc_url 扩展到 /test-ping 等。dida 工具限制:create_task 不支持指定 projectId(08-12 早班实测 2 次均落 inbox),无法同步入项目 P0 列;仅看板登记。PM 手动建任务(建议 due 2026-08-15):在滴答清单 wecom_it_smart_desk 项目 P0 列手动创建并标 P0-NEW12 |
+✅ 已修复 |
+2026-08-12 10:30-10:55 修复完成(公网 + 容器内 12+6 端点验证全 4xx):① 新建 src/backend/app/api/debug.py 集中 3 个调试端点(/api/debug/ping+/error+/version)② main.py 删除散落 /test-ping /test-error /version,改为 if _is_dev_mode(): 块内 include_router(debug_router)(双重门控:挂载 + 端点内自校验)③ 二次修复 v1.1:/test-ping 等未挂载但容器内 /api/debug/ping 仍 200——根因为预生产服 APP_ENV=production + DEV_MODE=true 配置不一致,原 _is_dev_mode() 把 DEV_MODE 优先级置顶;改为 app_env 优先 后 production 永远 False。同步修复 main.py + dev_auth.py + conftest.py(enable_dev_mode fixture 设 APP_ENV=development)。④ 11 用例回归测试 10 passed + 1 skipped(psutil 缺包)。v1 部署 10:48 + v2 部署 10:55(jumpserver-V2 PSFTP + docker restart)。部署后 12 端点公网验证:3 旧端点 404 + 3 新端点 404 + 3 dev 403(nginx IP 白名单)+ 1 health 200 + 3 P0-NEW11 404。容器内直测 6 端点 100% 4xx(用户原话真实风险场景)。详见 docs/03-测试文档/05-缺陷单/BUG-安全-005-调试端点无门控-001.md |
@@ -689,6 +709,13 @@ footer {
+| P1-治理-hand_raise |
+术语对齐:hand_raise「举手」改名迁移为 human_call「人工呼叫标记」+ 摇人统一 + τ门控/置信度门控区分 |
+🟡 P1 |
+Duckula |
+2026-08-12 19:1x |
+
+
| BUG-登录-测试账号面板不显示-002 |
H5 端"测试账号登录"面板永不显示 + H5 dist 部署路径错配 + dev_auth router prefix 与 nginx proxy_pass 路径冲突(双根因 + 双铁律级落地) |
🔴 P0 |
@@ -1054,15 +1081,15 @@ footer {
📈 任务统计 📑
- 总任务数: 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→看板 均纳入巡检必做项
🔗 相关文档 📑
@@ -1090,6 +1117,22 @@ footer {
+| 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 双向校验) |
@@ -1270,7 +1313,7 @@ footer {
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 |