kanban: v1.9.8 巡检同步 (2026-08-13)
This commit is contained in:
+70
-27
@@ -180,33 +180,53 @@ footer {
|
|||||||
<header>
|
<header>
|
||||||
<h1>📋 项目状态看板 · IT 智能服务台</h1>
|
<h1>📋 项目状态看板 · IT 智能服务台</h1>
|
||||||
<div class="meta">
|
<div class="meta">
|
||||||
<span>📅 <strong>2026-08-12</strong>(GMT+8)</span>
|
<span>📅 <strong>2026-08-13</strong>(GMT+8)</span>
|
||||||
<span>📂 源文件:<strong>docs/07-项目管理/项目状态看板.md</strong></span>
|
<span>📂 源文件:<strong>docs/07-项目管理/项目状态看板.md</strong></span>
|
||||||
<span>🤖 生成:<strong>Duckula</strong> · scripts/build_kanban_html.py</span>
|
<span>🤖 生成:<strong>Duckula</strong> · scripts/build_kanban_html.py</span>
|
||||||
</div>
|
</div>
|
||||||
<span class="version-badge draft">v1.9.6-DRAFT</span>
|
<span class="version-badge draft">v1.9.8-DRAFT</span>
|
||||||
</header>
|
</header>
|
||||||
|
|
||||||
<nav class="toc" id="toc"><div class="toc-title">📑 目录</div><ul><li style="margin-left:0px"><a href="#v196-2026-08-12-p0-new12-debug">📌 v1.9.6 增补说明(2026-08-12 早班巡检 / 公网版本停滞解除 + P0-NEW12 应用层 debug 端点代码层根因)</a></li><li style="margin-left:0px"><a href="#v195-2026-08-11-bug-002-4">📌 v1.9.5 增补说明(2026-08-11 晚间 / BUG-登录-测试账号面板不显示-002 闭环 + 4 项配套铁律级落地)</a></li><li style="margin-left:0px"><a href="#v194-2026-08-11">📌 v1.9.4 增补说明(2026-08-11 早班巡检触发)</a></li><li style="margin-left:0px"><a href="#v193-2026-08-10">📌 v1.9.3 增补说明(2026-08-10 早班巡检触发)</a></li><li style="margin-left:0px"><a href="#_2">📊 看板概览</a></li><li style="margin-left:0px"><a href="#p0-high-priority">🔴 P0 必做(高优先级 / High Priority)</a></li><li style="margin-left:0px"><a href="#p1-medium-priority">🟡 P1 重要(待办 / Medium Priority)</a></li><li style="margin-left:0px"><a href="#awaiting-decision">🟢 等用户决策(阻塞项 / Awaiting Decision)</a></li><li style="margin-left:0px"><a href="#req-001">⏸️ 安全策略检查平台 (REQ-集成-001) — 已暂停</a></li><li style="margin-left:0px"><a href="#in-progress">🟠 进行中 (In Progress)</a></li><li style="margin-left:0px"><a href="#to-do">🟡 待开始 (To Do)</a></li><li style="margin-left:0px"><a href="#recently-completed">✅ 最近完成 (Recently Completed)</a></li><li style="margin-left:0px"><a href="#2026-07-1516">✅ 近期完成 (2026-07-15~16)</a></li><li style="margin-left:0px"><a href="#_3">📌 重要技术决策与限制记录</a></li><li style="margin-left:0px"><a href="#_4">📈 任务统计</a></li><li style="margin-left:0px"><a href="#_5">🔗 相关文档</a></li><li style="margin-left:0px"><a href="#_6">📝 看板版本变更记录</a></li></ul></nav>
|
<nav class="toc" id="toc"><div class="toc-title">📑 目录</div><ul><li style="margin-left:0px"><a href="#v198-2026-08-13-p0">📌 v1.9.8 增补说明(2026-08-13 早班巡检 / 系统稳定态 + 无新增 P0)</a></li><li style="margin-left:0px"><a href="#v196-2026-08-12-p0-new12-debug">📌 v1.9.6 增补说明(2026-08-12 早班巡检 / 公网版本停滞解除 + P0-NEW12 应用层 debug 端点代码层根因)</a></li><li style="margin-left:0px"><a href="#v195-2026-08-11-bug-002-4">📌 v1.9.5 增补说明(2026-08-11 晚间 / BUG-登录-测试账号面板不显示-002 闭环 + 4 项配套铁律级落地)</a></li><li style="margin-left:0px"><a href="#v194-2026-08-11">📌 v1.9.4 增补说明(2026-08-11 早班巡检触发)</a></li><li style="margin-left:0px"><a href="#v193-2026-08-10">📌 v1.9.3 增补说明(2026-08-10 早班巡检触发)</a></li><li style="margin-left:0px"><a href="#_2">📊 看板概览</a></li><li style="margin-left:0px"><a href="#p0-high-priority">🔴 P0 必做(高优先级 / High Priority)</a></li><li style="margin-left:0px"><a href="#p1-medium-priority">🟡 P1 重要(待办 / Medium Priority)</a></li><li style="margin-left:0px"><a href="#awaiting-decision">🟢 等用户决策(阻塞项 / Awaiting Decision)</a></li><li style="margin-left:0px"><a href="#req-001">⏸️ 安全策略检查平台 (REQ-集成-001) — 已暂停</a></li><li style="margin-left:0px"><a href="#in-progress">🟠 进行中 (In Progress)</a></li><li style="margin-left:0px"><a href="#to-do">🟡 待开始 (To Do)</a></li><li style="margin-left:0px"><a href="#recently-completed">✅ 最近完成 (Recently Completed)</a></li><li style="margin-left:0px"><a href="#2026-07-1516">✅ 近期完成 (2026-07-15~16)</a></li><li style="margin-left:0px"><a href="#_3">📌 重要技术决策与限制记录</a></li><li style="margin-left:0px"><a href="#_4">📈 任务统计</a></li><li style="margin-left:0px"><a href="#_5">🔗 相关文档</a></li><li style="margin-left:0px"><a href="#_6">📝 看板版本变更记录</a></li></ul></nav>
|
||||||
|
|
||||||
<main>
|
<main>
|
||||||
<h1 id="_1">项目状态看板</h1>
|
<h1 id="_1">项目状态看板</h1>
|
||||||
<blockquote>
|
<blockquote>
|
||||||
<p><strong>版本</strong>: v1.9.6-DRAFT<br/>
|
<p><strong>版本</strong>: v1.9.8-DRAFT<br/>
|
||||||
<strong>更新日期</strong>: 2026-08-12(早班巡检 + <strong>公网版本停滞解除确认 + P0-NEW12 容器内应用层 debug 端点代码层根因发现</strong>,未冻结)<br/>
|
<strong>更新日期</strong>: 2026-08-13(早班巡检 + P0 全闭环维持 + dida 双向校验 / 系统稳定态确认)<br/>
|
||||||
<strong>状态</strong>: [待评审]<br/>
|
<strong>状态</strong>: [待评审]<br/>
|
||||||
<strong>作者</strong>: Duckula(AI)<br/>
|
<strong>作者</strong>: Duckula(AI)<br/>
|
||||||
<strong>审核人</strong>: 待 Simon 审核<br/>
|
<strong>审核人</strong>: 待 Simon 审核<br/>
|
||||||
<strong>基础版本</strong>: v1.9.5-DRAFT(2026-08-11 19:30 BUG-002 闭环 + 4 项铁律级落地)<br/>
|
<strong>基础版本</strong>: v1.9.7-DRAFT(2026-08-12 晚间 + P1-治理-hand_raise 闭环)<br/>
|
||||||
|
<strong>本次增量</strong>: 早班巡检 6 项实测发现(无新增 P0 / P0-NEW8 仍存 + P1-1.1 已逾期 1 天 + BLK-A/B 33 天阈值 + 容器/资源全绿 + 公网全端点 200/302/404 正确 + 看板 HTML 公网同步 v1.9.7 已落盘 75851B)<br/>
|
||||||
<strong>关联文档</strong>:<br/>
|
<strong>关联文档</strong>:<br/>
|
||||||
- 规范:<code>docs/00-产品开发流程与文档管理规范.md</code>(product-doc-standard 治理文件,§5.2 头部模板)<br/>
|
- 规范:<code>docs/00-产品开发流程与文档管理规范.md</code>(product-doc-standard 治理文件,§5.2 头部模板)<br/>
|
||||||
- 版本索引:<code>docs/00-版本迭代总览.md</code><br/>
|
- 版本索引:<code>docs/00-版本迭代总览.md</code><br/>
|
||||||
- 安全报告:<code>deliverables/openapi_exposure_report.md</code>(P0-NEW11 闭环证据)<br/>
|
- 安全报告:<code>deliverables/openapi_exposure_report.md</code>(P0-NEW11 闭环证据)<br/>
|
||||||
- 本次 Bug 单:<code>docs/03-测试文档/05-缺陷单/BUG-登录-测试账号面板不显示-002.md</code>(2026-08-11 19:30 闭环)<br/>
|
- 本次 Bug 单:本日无新增<br/>
|
||||||
|
- 前置 Bug 单:<code>docs/03-测试文档/05-缺陷单/BUG-登录-测试账号面板不显示-002.md</code>(2026-08-11 19:30 闭环)<br/>
|
||||||
- 前置 Bug 单:<code>docs/03-测试文档/05-缺陷单/BUG-登录-扫码劫持-001.md</code><br/>
|
- 前置 Bug 单:<code>docs/03-测试文档/05-缺陷单/BUG-登录-扫码劫持-001.md</code><br/>
|
||||||
- <strong>本次新增治理项</strong>:<code>P0-NEW12</code> 应用层 debug 端点(/test-ping /test-error /version)未真正移除 — 容器内仍 200,仅 nginx 边缘层兜底 404<br/>
|
<strong>变更来源</strong>: 2026-08-13 09:00 早班巡检:jumpserver-V2(cache 有效,hostname = hz-oa-ai-g-dataquery-90-5-110)+ 公网 curl + 容器内端点三重实测</p>
|
||||||
<strong>变更来源</strong>: 2026-08-12 09:00 早班巡检:jumpserver-V2 + 公网 curl 实测发现 <strong>① 公网版本停滞解除</strong>(/h5/go → /h5/v20260811/、/itservice/go → /itservice/v20260811/,08-11 19:30 BUG-002 修复后已重新发版)<strong>② P0-NEW12 应用层 debug 端点代码层根因</strong>:jumpserver-V2 容器内 <code>python urllib</code> 实测 <code>/test-ping</code> 200 pong + <code>/test-error</code> 200 返"服务器内部错误" + <code>/version</code> 200 <code>1.1.0</code> + <code>/openapi.json</code> 404(P0-NEW11 应用层修复已生效)<strong>③ 容器/资源全绿</strong>(5 容器 all healthy、磁盘 130G、内存 12151MB available、uptime 60 天 17 时)<strong>④ v1.9.5-DRAFT 14h 未冻结</strong>:本次合并入 v1.9.6 待审</p>
|
|
||||||
</blockquote>
|
</blockquote>
|
||||||
|
<h2 id="v198-2026-08-13-p0">📌 v1.9.8 增补说明(2026-08-13 早班巡检 / 系统稳定态 + 无新增 P0) <a class="back-to-toc" href="#toc" title="回到目录">📑</a></h2>
|
||||||
|
<ul>
|
||||||
|
<li><strong>🟢 P0 全部闭环维持(无新增 P0)</strong>:jumpserver-V2 容器内 12 端点全 4xx(<code>/test-ping</code> <code>/test-error</code> <code>/version</code> <code>/api/debug/ping</code> <code>/api/debug/error</code> <code>/api/debug/version</code> <code>/api/openapi.json</code> <code>/api/health</code> <code>/api/ready</code> 均 404,仅 <code>/health</code> <code>/ready</code> 保留 200 供探针)+ 公网同 12 端点实测一致(<code>/api/debug/ping</code> 404 + <code>/api/debug/version</code> 404 + <code>/api/dev/health</code> 403 + <code>/itportal/</code> 404)。意味着 P0-NEW9/10/11/12 四连组合 0 攻击面 + P0-1 闭环维持。</li>
|
||||||
|
<li><strong>🟢 公网 /h5/go + /itservice/go 一致指向 v20260811</strong>(08-12 公网已发版,08-13 仍未变更 = "公网版本停滞" 计数器<strong>重新启动</strong>:08-12 19:30 BUG-002 修复以来 ~14h 无新发版)。如未在 24h 内启动新发版将触发"公网停滞"风险。</li>
|
||||||
|
<li><strong>🟢 看板 HTML 公网同步已落盘</strong>:<code>项目状态看板.html</code> 公网 75851B(Last-Modified 2026-08-12 11:04)= 本地 75851B 完全匹配(v1.9.7-DRAFT 派生)。本轮 v1.9.8 派生后将再次上传。</li>
|
||||||
|
<li><strong>🟢 容器与资源全绿(jumpserver-V2 09:10 实测)</strong>:</li>
|
||||||
|
<li>5 容器 all healthy:wecom_it_backend 14h / wecom_it_nginx 17h / wecom_it_redis 3w / wecom_it_neo4j 4w / wecom_it_postgres 4w</li>
|
||||||
|
<li>磁盘 129G 可用(13%),内存 11Gi available(686Mi free + 11Gi buff/cache),load 0.53/0.65/0.65,<strong>61 天 16 时 uptime</strong></li>
|
||||||
|
<li>后端 <code>/app/logs/</code> 6 文件:active 13M + 5×21M 轮转,最后写入 2026-08-13 01:17(reminder_task 每 30s 跑一次正常)</li>
|
||||||
|
<li>日志抽样:active log 45729 行 / 6 ERROR / 530 WARNING / 0 CRITICAL(WARNING 多为 retry/Redis 短暂抖动,可接受)</li>
|
||||||
|
<li>postgres pg_isready 接受连接;redis NOAUTH(正常,密码保护);nginx config test OK</li>
|
||||||
|
<li><strong>🔴 P1-1.1 二次治理 console.{log,debug,info} 残留 129 行已逾期 1 天</strong>:dida <code>6a76a802e4b06898041f5215</code> due 2026-08-12 16:00,本日 09:00 实测 <code>src/frontend-{h5,agent,admin,terminal}/src/</code> 仍 129 行(h5:101 / agent:20 / admin:0 / terminal:8),<strong>与昨日持平无变化</strong>。该任务需要 PM 决策:是单独发版清理还是合入下次发版。</li>
|
||||||
|
<li><strong>🔴 BLK-A / BLK-B 阻塞 33 天阈值</strong>(08-13 自 07-11 已 33 天):dida <code>6a7008e9e4b03a0a8b2870ba</code> (BLK-A 企微会议室 Secret) + <code>6a7008e9e4b06440c396f6c2</code> (BLK-B ITSM API),双任务 due 2026-08-07 已逾期 6 天,<strong>已超 3 天阈值 30 天</strong>。建议 PM 升级到平台组组长 / 主管。v1.9.7 标 32 天 → v1.9.8 标 33 天。</li>
|
||||||
|
<li><strong>🟡 P1-Alembic / P1-Idx / 风险 /h5/ 持续逾期</strong>:dida <code>6a705109</code> (Alembic 053-057) 已逾期 4 天 + <code>6a70510f</code> (troubleshooting_templates 索引) 已逾期 6 天 + <code>6a752de4</code> (Nginx /h5/ alias+try_files 隐患) 已逾期 2 天。</li>
|
||||||
|
<li><strong>🟡 P0-NEW8 host vs git 仓库结构差异仍未决</strong>:长期挂账项,需要 PM 在以下三种方案中决策(a)host 同步 git 仓库结构(b)启用 build context 镜像构建(c)彻底迁移到 src/ 路径方案。</li>
|
||||||
|
<li><strong>🟢 dida 状态同步</strong>:当前项目 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)。</li>
|
||||||
|
<li><strong>🟢 v1.9.7-DRAFT 14h 未冻结</strong>:08-12 19:1x 闭环后未升级 FROZEN,本次合并入 v1.9.8 待审(连续 2 个 DRAFT 待 PM 一次性冻结为 v1.9.7-FROZEN / v1.9.8-FROZEN)。</li>
|
||||||
|
<li><strong>🟢 Git 工作树 72 项修改 + 14 项 untracked</strong>:本地仅 <code>0042519 fix(security): P0-NEW12 ...</code> + 历史 commit,未自动 commit BUG-001/002 修复相关 backend/tests/src/backend 等改动(按铁律遵守,不自动 commit 其它 untracked 工作树);Gitea Tailscale 远端 <code>ds923plus.tail58d872.ts.net</code> 未尝试推送(home 网络限制),由 PM 后续手动处理。</li>
|
||||||
|
</ul>
|
||||||
<h2 id="v196-2026-08-12-p0-new12-debug">📌 v1.9.6 增补说明(2026-08-12 早班巡检 / 公网版本停滞解除 + P0-NEW12 应用层 debug 端点代码层根因) <a class="back-to-toc" href="#toc" title="回到目录">📑</a></h2>
|
<h2 id="v196-2026-08-12-p0-new12-debug">📌 v1.9.6 增补说明(2026-08-12 早班巡检 / 公网版本停滞解除 + P0-NEW12 应用层 debug 端点代码层根因) <a class="back-to-toc" href="#toc" title="回到目录">📑</a></h2>
|
||||||
<ul>
|
<ul>
|
||||||
<li><strong>🟢 公网版本停滞 3 天 → 已解除(2026-08-12 09:00 公网实测)</strong>:</li>
|
<li><strong>🟢 公网版本停滞 3 天 → 已解除(2026-08-12 09:00 公网实测)</strong>:</li>
|
||||||
@@ -323,23 +343,23 @@ footer {
|
|||||||
<tbody>
|
<tbody>
|
||||||
<tr>
|
<tr>
|
||||||
<td>🔴 P0 必做</td>
|
<td>🔴 P0 必做</td>
|
||||||
<td>2</td>
|
<td>1</td>
|
||||||
<td>-2(P0-NEW9/NEW10 已闭环 2026-08-11)+1(P0-NEW12 应用层 debug 端点代码层根因,08-12 早班发现)</td>
|
<td>持平(<strong>P0-NEW8 host vs git 仓库结构差异</strong>;NEW9/10/11/12 全部闭环维持;P0-3/P0-4/P0-5 全部闭环已部署)</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>🟡 P1 重要</td>
|
<td>🟡 P1 重要</td>
|
||||||
<td>6</td>
|
<td>6</td>
|
||||||
<td>持平</td>
|
<td>持平(P1-1.1 二次治理 console 129 行<strong>已逾期 1 天</strong> + 治理-1/2/3 + Alembic 已逾期 4 天 + Idx 已逾期 6 天)</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>🟢 等用户决策</td>
|
<td>🟢 等用户决策</td>
|
||||||
<td>2</td>
|
<td>2</td>
|
||||||
<td>持平(<strong>32 天阈值</strong>,从 31 天修正:08-12 自 07-11 已 32 天)</td>
|
<td>持平(<strong>33 天阈值</strong>,08-13 自 07-11 已 33 天;从 v1.9.7 标 32 天修正)</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>🟠 进行中</td>
|
<td>🟠 进行中</td>
|
||||||
<td>1</td>
|
<td>1</td>
|
||||||
<td>持平</td>
|
<td>持平(#81 敏感词检测 v1.1 阶段1 已完成,v1.2 待排期)</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>🏷️ 看板治理</td>
|
<td>🏷️ 看板治理</td>
|
||||||
@@ -354,17 +374,17 @@ footer {
|
|||||||
<tr>
|
<tr>
|
||||||
<td>⏸️ 暂停</td>
|
<td>⏸️ 暂停</td>
|
||||||
<td>5</td>
|
<td>5</td>
|
||||||
<td>持平</td>
|
<td>持平(安全策略检查平台 REQ-集成-001)</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>✅ 已完成</td>
|
<td>✅ 已完成</td>
|
||||||
<td>102</td>
|
<td>103</td>
|
||||||
<td>+1(BUG-登录-测试账号面板不显示-002 双根因修复 + 4 项铁律级落地)</td>
|
<td>持平</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>⚠️ 风险项</td>
|
<td>⚠️ 风险项</td>
|
||||||
<td>1</td>
|
<td>1</td>
|
||||||
<td>-1(公网版本停滞 3 天已解除:/h5/go → v20260811、/itservice/go → v20260811)</td>
|
<td>持平(Nginx /h5/ alias+try_files 潜伏 500 隐患 dida <code>6a752de4</code> 已逾期 2 天;公网版本停滞 3 天已解除 08-12,但 08-13 09:00 起重新计算停滞窗口 ~14h)</td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
@@ -463,8 +483,8 @@ footer {
|
|||||||
<td>应用层 debug 端点代码层根因(容器内 /test-ping /test-error /version 仍 200,仅 nginx 边缘层兜底 404)</td>
|
<td>应用层 debug 端点代码层根因(容器内 /test-ping /test-error /version 仍 200,仅 nginx 边缘层兜底 404)</td>
|
||||||
<td>🆕 新增</td>
|
<td>🆕 新增</td>
|
||||||
<td>🆕</td>
|
<td>🆕</td>
|
||||||
<td>🔴 待修复</td>
|
<td>✅ 已修复</td>
|
||||||
<td><strong>2026-08-12 09:00 早班巡检实测触发</strong>:jumpserver-V2 容器内 <code>python urllib</code> 直接测 FastAPI(绕开 nginx):<code>/test-ping</code> 200 pong + <code>/test-error</code> 200 返"服务器内部错误" + <code>/version</code> 200 <code>1.1.0</code> + <code>/openapi.json</code> 404(NEW11 应用层修复已生效)。<strong>真实风险</strong>:公网 404 全部依赖 nginx 边缘层 <code>return 404</code> 兜底——若 nginx 配置被误改 / 失效,攻击者可直连 backend:8000 拿到 3 个调试端点。<strong>修复方案</strong>(PM 决策):① <code>app/api/debug.py</code> 集中所有诊断端点,仅 <code>settings.app_env != 'production'</code> 加载 ② <code>_is_dev_mode()</code> 包裹整个诊断区段(与 main.py:932 周边模式一致) ③ FastAPI 实例化按环境变量切 <code>openapi_url</code>/<code>docs_url</code>/<code>redoc_url</code> 扩展到 /test-ping 等。<strong>dida 工具限制</strong>:create_task 不支持指定 projectId(08-12 早班实测 2 次均落 inbox),无法同步入项目 P0 列;仅看板登记。<strong>PM 手动建任务</strong>(建议 due 2026-08-15):在滴答清单 wecom_it_smart_desk 项目 P0 列手动创建并标 P0-NEW12</td>
|
<td><strong>2026-08-12 10:30-10:55 修复完成</strong>(公网 + 容器内 12+6 端点验证全 4xx):① 新建 <code>src/backend/app/api/debug.py</code> 集中 3 个调试端点(<code>/api/debug/ping</code>+<code>/error</code>+<code>/version</code>)② main.py 删除散落 <code>/test-ping</code> <code>/test-error</code> <code>/version</code>,改为 <code>if _is_dev_mode():</code> 块内 <code>include_router(debug_router)</code>(双重门控:挂载 + 端点内自校验)③ <strong>二次修复 v1.1</strong>:<code>/test-ping</code> 等未挂载但容器内 <code>/api/debug/ping</code> 仍 200——根因为预生产服 <code>APP_ENV=production</code> + <code>DEV_MODE=true</code> 配置不一致,原 <code>_is_dev_mode()</code> 把 DEV_MODE 优先级置顶;改为 <code>app_env 优先</code> 后 production 永远 False。同步修复 main.py + dev_auth.py + conftest.py(enable_dev_mode fixture 设 APP_ENV=development)。④ 11 用例回归测试 10 passed + 1 skipped(psutil 缺包)。<strong>v1 部署 10:48</strong> + <strong>v2 部署 10:55</strong>(jumpserver-V2 PSFTP + docker restart)。<strong>部署后 12 端点公网验证</strong>:3 旧端点 404 + 3 新端点 404 + 3 dev 403(nginx IP 白名单)+ 1 health 200 + 3 P0-NEW11 404。<strong>容器内直测 6 端点 100% 4xx</strong>(用户原话真实风险场景)。详见 <code>docs/03-测试文档/05-缺陷单/BUG-安全-005-调试端点无门控-001.md</code></td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
@@ -689,6 +709,13 @@ footer {
|
|||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr>
|
<tr>
|
||||||
|
<td><strong>P1-治理-hand_raise</strong></td>
|
||||||
|
<td>术语对齐:hand_raise「举手」改名迁移为 human_call「人工呼叫标记」+ 摇人统一 + τ门控/置信度门控区分</td>
|
||||||
|
<td>🟡 P1</td>
|
||||||
|
<td>Duckula</td>
|
||||||
|
<td><strong>2026-08-12 19:1x</strong></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
<td><strong>BUG-登录-测试账号面板不显示-002</strong></td>
|
<td><strong>BUG-登录-测试账号面板不显示-002</strong></td>
|
||||||
<td>H5 端"测试账号登录"面板永不显示 + H5 dist 部署路径错配 + dev_auth router prefix 与 nginx proxy_pass 路径冲突(双根因 + 双铁律级落地)</td>
|
<td>H5 端"测试账号登录"面板永不显示 + H5 dist 部署路径错配 + dev_auth router prefix 与 nginx proxy_pass 路径冲突(双根因 + 双铁律级落地)</td>
|
||||||
<td>🔴 P0</td>
|
<td>🔴 P0</td>
|
||||||
@@ -1054,15 +1081,15 @@ footer {
|
|||||||
<h2 id="_4">📈 任务统计 <a class="back-to-toc" href="#toc" title="回到目录">📑</a></h2>
|
<h2 id="_4">📈 任务统计 <a class="back-to-toc" href="#toc" title="回到目录">📑</a></h2>
|
||||||
<ul>
|
<ul>
|
||||||
<li><strong>总任务数</strong>: 115(v1.9.5 114 + P0-NEW12 应用层 debug 端点代码层根因 1 项)</li>
|
<li><strong>总任务数</strong>: 115(v1.9.5 114 + P0-NEW12 应用层 debug 端点代码层根因 1 项)</li>
|
||||||
<li><strong>已完成</strong>: 103(+1:BUG-登录-扫码劫持-001 DEV_MODE 修复 + nginx 白名单;P0-NEW9 / P0-NEW10 / P0-NEW11 / P0-3 / P0-4 已闭环已部署;BUG-002 已闭环入"已完成"区)</li>
|
<li><strong>已完成</strong>: 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 闭环)</li>
|
||||||
<li><strong>🔴 P0 必做</strong>: 2(<strong>P0-NEW8</strong> host vs git 仓库结构差异 + <strong>P0-NEW12</strong> 应用层 debug 端点代码层根因;P0-6 已知噪声;NEW7 / NEW9 / NEW10 / NEW11 / P0-3 / P0-4 / BUG-002 已闭环已部署;P0-5 描述失真已关闭;P0-1 已闭环)</li>
|
<li><strong>🔴 P0 必做</strong>: 1(<strong>P0-NEW8</strong> 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 已知噪声)</li>
|
||||||
<li><strong>🟡 P1 重要</strong>: 6(P1-1.1 / 治理-1 / 治理-2 / 治理-3 / P1-Alembic / P1-Idx;P1-治理-sens 是 dida close 同步不入待办列)</li>
|
<li><strong>🟡 P1 重要</strong>: 6(P1-1.1 已逾期 1 天 / 治理-1 / 治理-2 / 治理-3 / P1-Alembic 已逾期 4 天 / P1-Idx 已逾期 6 天;P1-治理-sens 是 dida close 同步不入待办列)</li>
|
||||||
<li><strong>🟢 等用户决策</strong>: 2(BLK-A/B,<strong>均超 32 天阈值</strong>,08-12 自 07-11 已 32 天)</li>
|
<li><strong>🟢 等用户决策</strong>: 2(BLK-A/B,<strong>均超 33 天阈值</strong>,08-13 自 07-11 已 33 天)</li>
|
||||||
<li><strong>🟠 进行中</strong>: 1(#81 v1.2 待排期)</li>
|
<li><strong>🟠 进行中</strong>: 1(#81 v1.2 待排期)</li>
|
||||||
<li><strong>🟡 待开始</strong>: 0</li>
|
<li><strong>🟡 待开始</strong>: 0</li>
|
||||||
<li><strong>⏸️ 暂停</strong>: 5(安全策略检查平台)</li>
|
<li><strong>⏸️ 暂停</strong>: 5(安全策略检查平台)</li>
|
||||||
<li><strong>⚠️ 风险项</strong>: 1(风险-1 Nginx /h5/ alias+try_files 潜伏 500 隐患 dida <code>6a752de4</code>;<strong>风险-2 公网版本停滞 3 天已解除</strong> 08-12 公网实测 /h5/go → v20260811)</li>
|
<li><strong>⚠️ 风险项</strong>: 1(风险-1 Nginx /h5/ alias+try_files 潜伏 500 隐患 dida <code>6a752de4</code> 已逾期 2 天;<strong>风险-2 公网版本停滞 3 天已解除</strong> 08-12 公网实测 /h5/go → v20260811,但 08-13 起重新计算 ~14h)</li>
|
||||||
<li><strong>dida365 同步状态</strong>: 2026-08-10 01:25 UTC 同步 close 1 项(sensitive_words <code>6a6bfc2be</code>);2026-08-08 03:52 UTC 同步 close 3 项 + create 3 项;<strong>2026-08-11 同步</strong>:P0-NEW9/NEW10/NEW11 全部 completed + BUG-002 待补建 dida 任务并 complete(<strong>08-12 早班同步触发 P0-NEW12 create</strong>);<strong>16:45 同步:BUG-登录-扫码劫持-001 待补建 dida 任务并 complete</strong>。<strong>双向同步铁律</strong>:看板→dida 与 dida→看板 均纳入巡检必做项</li>
|
<li><strong>dida365 同步状态</strong>: 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 <code>6a6bfc2be</code>);2026-08-08 03:52 UTC 同步 close 3 项 + create 3 项;<strong>2026-08-11 同步</strong>:P0-NEW9/NEW10/NEW11 全部 completed + BUG-002 待补建 dida 任务并 complete(<strong>08-12 早班同步触发 P0-NEW12 create</strong>);<strong>16:45 同步:BUG-登录-扫码劫持-001 待补建 dida 任务并 complete</strong>。<strong>双向同步铁律</strong>:看板→dida 与 dida→看板 均纳入巡检必做项</li>
|
||||||
</ul>
|
</ul>
|
||||||
<hr/>
|
<hr/>
|
||||||
<h2 id="_5">🔗 相关文档 <a class="back-to-toc" href="#toc" title="回到目录">📑</a></h2>
|
<h2 id="_5">🔗 相关文档 <a class="back-to-toc" href="#toc" title="回到目录">📑</a></h2>
|
||||||
@@ -1090,6 +1117,22 @@ footer {
|
|||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr>
|
<tr>
|
||||||
|
<td><strong>v1.9.8-DRAFT</strong></td>
|
||||||
|
<td>2026-08-13</td>
|
||||||
|
<td>早班巡检 6 项实测发现(P0 全闭环维持 / 公网 + 容器内 12 端点 100% 4xx / 容器资源全绿 / P1-1.1 逾期 1 天 / BLK-A/B 33 天阈值 / v1.9.7 14h 未冻结连续合并待审)</td>
|
||||||
|
<td>Duckula (AI)</td>
|
||||||
|
<td>2026-08-13 09:00 早班巡检:jumpserver-V2 cache 有效(hostname OK)+ 公网 curl + 容器内 12 端点全 4xx 三重实测;无新增 P0;dida 双向校验一致</td>
|
||||||
|
<td>🔴 P0 持平 1(P0-NEW8 仍存);🟢 阻塞阈值 32→33 天;✅ 已完成持平 103;⚠️ 风险持平 1;新增本日实测发现 6 项</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><strong>v1.9.7-DRAFT</strong></td>
|
||||||
|
<td>2026-08-12</td>
|
||||||
|
<td>晚间 P1-治理-hand_raise 术语对齐三处存量漂移闭环(hand_raise→human_call + 摇人统一 + τ门控/置信度门控区分 + 14 py 双仓库同步 + 预生产部署 + 35 条存量数据 SQL 迁移)</td>
|
||||||
|
<td>Duckula (AI)</td>
|
||||||
|
<td>08-12 晚间突发闭环</td>
|
||||||
|
<td>✅ 已完成 102→103;总任务 114→115</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
<td><strong>v1.9.6-DRAFT</strong></td>
|
<td><strong>v1.9.6-DRAFT</strong></td>
|
||||||
<td>2026-08-12</td>
|
<td>2026-08-12</td>
|
||||||
<td>早班巡检 4 项关键发现(公网版本停滞解除 / P0-NEW12 应用层 debug 端点代码层根因 / 容器全绿 / dida 双向校验)</td>
|
<td>早班巡检 4 项关键发现(公网版本停滞解除 / P0-NEW12 应用层 debug 端点代码层根因 / 容器全绿 / dida 双向校验)</td>
|
||||||
@@ -1270,7 +1313,7 @@ footer {
|
|||||||
</main>
|
</main>
|
||||||
|
|
||||||
<footer>
|
<footer>
|
||||||
本页面由 <code>build_kanban_html.py</code> 自动生成于 2026-08-12 10:16 (GMT+8) · 数据源:docs/07-项目管理/项目状态看板.md<br>
|
本页面由 <code>build_kanban_html.py</code> 自动生成于 2026-08-13 09:19 (GMT+8) · 数据源:docs/07-项目管理/项目状态看板.md<br>
|
||||||
修改流程:编辑 .md → 跑脚本生成 .html → (可选)部署到 jumpserver → commit & push
|
修改流程:编辑 .md → 跑脚本生成 .html → (可选)部署到 jumpserver → commit & push
|
||||||
</footer>
|
</footer>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
+42
-20
@@ -1,20 +1,39 @@
|
|||||||
# 项目状态看板
|
# 项目状态看板
|
||||||
|
|
||||||
> **版本**: v1.9.7-DRAFT
|
> **版本**: v1.9.8-DRAFT
|
||||||
> **更新日期**: 2026-08-12(早班巡检 + P0-NEW12 **修复闭环 v1.1** + 公网 12 端点 + 容器内 6 端点全 4xx)
|
> **更新日期**: 2026-08-13(早班巡检 + P0 全闭环维持 + dida 双向校验 / 系统稳定态确认)
|
||||||
> **状态**: [待评审]
|
> **状态**: [待评审]
|
||||||
> **作者**: Duckula(AI)
|
> **作者**: Duckula(AI)
|
||||||
> **审核人**: 待 Simon 审核
|
> **审核人**: 待 Simon 审核
|
||||||
> **基础版本**: v1.9.6-DRAFT(2026-08-12 早班巡检 + P0-NEW12 发现)
|
> **基础版本**: v1.9.7-DRAFT(2026-08-12 晚间 + P1-治理-hand_raise 闭环)
|
||||||
> **本次增量**: P0-NEW12 v1.1 修复闭环(debug.py 集中 + app_env 优先 + 公网 12/12 + 容器内 6/6 验证全 4xx)
|
> **本次增量**: 早班巡检 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`(product-doc-standard 治理文件,§5.2 头部模板)
|
||||||
> - 版本索引:`docs/00-版本迭代总览.md`
|
> - 版本索引:`docs/00-版本迭代总览.md`
|
||||||
> - 安全报告:`deliverables/openapi_exposure_report.md`(P0-NEW11 闭环证据)
|
> - 安全报告:`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`
|
> - 前置 Bug 单:`docs/03-测试文档/05-缺陷单/BUG-登录-扫码劫持-001.md`
|
||||||
> - **本次新增治理项**:`P0-NEW12` 应用层 debug 端点(/test-ping /test-error /version)未真正移除 — 容器内仍 200,仅 nginx 边缘层兜底 404
|
> **变更来源**: 2026-08-13 09:00 早班巡检:jumpserver-V2(cache 有效,hostname = hz-oa-ai-g-dataquery-90-5-110)+ 公网 curl + 容器内端点三重实测
|
||||||
> **变更来源**: 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 待审
|
|
||||||
|
## 📌 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 端点代码层根因)
|
## 📌 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) |
|
| 🔴 P0 必做 | 1 | 持平(**P0-NEW8 host vs git 仓库结构差异**;NEW9/10/11/12 全部闭环维持;P0-3/P0-4/P0-5 全部闭环已部署) |
|
||||||
| 🟡 P1 重要 | 6 | 持平 |
|
| 🟡 P1 重要 | 6 | 持平(P1-1.1 二次治理 console 129 行**已逾期 1 天** + 治理-1/2/3 + Alembic 已逾期 4 天 + Idx 已逾期 6 天) |
|
||||||
| 🟢 等用户决策 | 2 | 持平(**32 天阈值**,从 31 天修正:08-12 自 07-11 已 32 天) |
|
| 🟢 等用户决策 | 2 | 持平(**33 天阈值**,08-13 自 07-11 已 33 天;从 v1.9.7 标 32 天修正) |
|
||||||
| 🟠 进行中 | 1 | 持平 |
|
| 🟠 进行中 | 1 | 持平(#81 敏感词检测 v1.1 阶段1 已完成,v1.2 待排期) |
|
||||||
| 🏷️ 看板治理 | 3 | 持平 |
|
| 🏷️ 看板治理 | 3 | 持平 |
|
||||||
| 🟡 待开始 | 0 | 持平 |
|
| 🟡 待开始 | 0 | 持平 |
|
||||||
| ⏸️ 暂停 | 5 | 持平 |
|
| ⏸️ 暂停 | 5 | 持平(安全策略检查平台 REQ-集成-001) |
|
||||||
| ✅ 已完成 | 102 | +1(BUG-登录-测试账号面板不显示-002 双根因修复 + 4 项铁律级落地) |
|
| ✅ 已完成 | 103 | 持平 |
|
||||||
| ⚠️ 风险项 | 1 | -1(公网版本停滞 3 天已解除:/h5/go → v20260811、/itservice/go → v20260811) |
|
| ⚠️ 风险项 | 1 | 持平(Nginx /h5/ alias+try_files 潜伏 500 隐患 dida `6a752de4` 已逾期 2 天;公网版本停滞 3 天已解除 08-12,但 08-13 09:00 起重新计算停滞窗口 ~14h) |
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -228,6 +247,7 @@
|
|||||||
|
|
||||||
| 任务ID | 任务名称 | 优先级 | 负责人 | 完成日期 |
|
| 任务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-登录-测试账号面板不显示-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` |
|
| **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 仅非生产加载)待排期 |
|
| **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 项)
|
- **总任务数**: 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 已闭环入"已完成"区)
|
- **已完成**: 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 必做**: 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 已闭环)
|
- **🔴 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 / 治理-2 / 治理-3 / P1-Alembic / P1-Idx;P1-治理-sens 是 dida close 同步不入待办列)
|
- **🟡 P1 重要**: 6(P1-1.1 已逾期 1 天 / 治理-1 / 治理-2 / 治理-3 / P1-Alembic 已逾期 4 天 / P1-Idx 已逾期 6 天;P1-治理-sens 是 dida close 同步不入待办列)
|
||||||
- **🟢 等用户决策**: 2(BLK-A/B,**均超 32 天阈值**,08-12 自 07-11 已 32 天)
|
- **🟢 等用户决策**: 2(BLK-A/B,**均超 33 天阈值**,08-13 自 07-11 已 33 天)
|
||||||
- **🟠 进行中**: 1(#81 v1.2 待排期)
|
- **🟠 进行中**: 1(#81 v1.2 待排期)
|
||||||
- **🟡 待开始**: 0
|
- **🟡 待开始**: 0
|
||||||
- **⏸️ 暂停**: 5(安全策略检查平台)
|
- **⏸️ 暂停**: 5(安全策略检查平台)
|
||||||
- **⚠️ 风险项**: 1(风险-1 Nginx /h5/ alias+try_files 潜伏 500 隐患 dida `6a752de4`;**风险-2 公网版本停滞 3 天已解除** 08-12 公网实测 /h5/go → v20260811)
|
- **⚠️ 风险项**: 1(风险-1 Nginx /h5/ alias+try_files 潜伏 500 隐患 dida `6a752de4` 已逾期 2 天;**风险-2 公网版本停滞 3 天已解除** 08-12 公网实测 /h5/go → v20260811,但 08-13 起重新计算 ~14h)
|
||||||
- **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→看板 均纳入巡检必做项
|
- **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.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.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 |
|
| **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 |
|
||||||
|
|||||||
Reference in New Issue
Block a user