Files
lislgosms/docs/release-20260910-test-channel-sensitive-words.md
T
hectorzhao d13ca0713a
CSS quality / css-quality (push) Has been cancelled
docs: record channel sensitive words test deployment
2026-09-10 16:11:13 +08:00

118 lines
12 KiB
Markdown
Raw 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.
# 通道敏感词测试发布验收(2026-09-10)
## 交付与授权
应用提交`8e4bc5a20e4d98e96fc8572fabbac149ba12c8e6`已本地提交,并于2026-09-10 16:03:45 CST部署测试机`100.93.204.60`,基线`0c3f820cc92eeae8c996ac7d6d8d6db98e049ea7`。只授权测试环境;未推送,未部署预生产。后续仅文档提交不需要再次切换应用。
[方案](channel-sensitive-words-plan-20260910.md)第一版已实现:敏感词页独立Tab及真实CRUD、通道候选排除、普通/微批同快照检查、运营端历史原因和无路由失败完成恢复。不增加Gateway/逐片复核;已读取规则快照的微批和已选路消息不追溯配置变更。现有全局词库和引流门禁保留。未修改线上词库、原通道/客户配置或余额,没有发送/补发/重投/重新入队短信。
## 版本和标准发布证据
- 标准计划`20260910T075122-8e4bc5a20e4d-0e177bfe`planHash`ac7a5d317f948c75e2f7e4f73745e8f27ea3db51783cf88d9d485bd19bcc702e`;完整执行plan→validate→preflight→prepare→deploy→verify→status→report。
- 应用包SHA256`0357647cf2a80154b7dbf37711b5745618436c8acfedaf12d8df178f2dec8494`,历史基线CRLF格式通过逐文件摘要核验。相对线上28个文件变化:本轮26个文件,加前一文档提交的部署说明/引流验收文档,无额外运行代码。
- 发布工具`tools/release/`仍未提交,toolHash`e0220a990afc6b3d0fb791dd71e9ab37d2687cbd0272ae05c2e0bffd0d06b5d9`,不以应用提交冒称工具版本,也未夹带该草稿。
- 精确提交独立归档validate:前端28套139项、API69套745项,类型、格式、lint、CSS门禁通过。工作区production前端/API构建、安全和bundle门禁通过,lint既有28警告、0错误;未改Go。
- 本地证据`%TEMP%/cmpp-channel-sensitive-implementation-20260910/`,发布工具证据`.local-data/releases/20260910T075122-8e4bc5a20e4d-0e177bfe/`;计划、state、validation和报告均保留。
## 真实功能及环境验收
本地隔离PostgreSQL克隆`cmpp_qa_channel_words_1789025601486`已应用新增迁移,真实管理服务验证参数、权限、唯一约束、并发version冲突、启停/删除恢复和审计;真实普通/100条微批排除A选B,全部命中返回专用原因,保留原文/历史快照且客户端无通道词详情。每批新增词库读1次、决策写1次,390~441ms含既有引流处理,不是实际发送TPS。真实失败SQL在注入费用释放失败后保留独立完成标记;费用与回执幂等/恢复分支有隔离单测。
本地production构建+真实Nest API/PG及隔离Redis认证,Edge三尺寸1600×1000、1366×768、390×844完成新增/编辑/启停/软删除、独立筛选保持、显式关闭、刷新/跨路由、历史原因验收,pageerror=0。没有运行短信Worker/Gateway传输;夹具连接状态仅支持隔离路由验证。
部署后使用已有验收管理员正常登录,`GET /api/admin/dictionaries/channel-sensitive-words?page=1&pageSize=25`返回200、items=[]、total=0;新表初始为空,未保存线上规则。三尺寸新Tab、显式关闭、刷新/跨路由及历史短信详情兼容通过;最终浏览器记录errors=[]。首次观察器因右上角和页脚两个“关闭”按钮同名发生strict selector错误,明确选择页脚按钮后通过,保留原失败记录`live-after.log`及成功`live-after2.log`,不是应用Bug或网络失败。
2026-09-10 16:05:30 CST标准verify回读:13项服务activeGateway/security-agent未重启,7个相关Node服务按计划更新。API健康、102项迁移含`20260910160000_channel_sensitive_words`及前端资源摘要通过;PostgreSQL/Redis/MinIO服务健康。三个Gateway Stream pending/lag均0;消息119509、提交130769,前后未变。受保护文件无变化,journal警告和应用日志新增errorMarkers均0verify warnings=[]。工具的businessAcceptance仍显示“未执行”,原因是第一期没有业务页面验收写入入口;本节独立记录真实浏览器证据,不修改工具状态冒充自动验收。
## 恢复资产和时间
独立备份`/var/backups/cmpp-platform/20260910T075122-8e4bc5a20e4d-0e177bfe-attempt-1789027371632202403`,包含PostgreSQL dump/目录、Redis RDB、原源码/产物及系统配置,清单摘要与可读性通过;未做实际恢复演练。应用回退会失去通道词过滤,回退不删新数据、不自动重投。
| 阶段 | 实测耗时 |
|---|---:|
| 精确提交本地validate | 约7分38秒,含锁定依赖安装和全量测试;与远端服务停机分开 |
| 远端prepare | 56.5秒 |
| 独立备份 | 35.2秒 |
| 停止受影响服务至启动恢复 | 17.0秒(含迁移及切换) |
| 其中迁移 | 1.2秒 |
| deploy内verify | 4.7秒 |
本地实施及真实集成/浏览器验证另行完成,不把整段工作会话称作部署耗时。远端发布各阶段无失败/重试;浏览器选择器修正与登录/观察时间单独留证,未精确拆分的浏览器总耗时不编造。
## 容量与资产保留
测试机只有`/dev/sda2`系统盘,未挂载独立/data。发布前2026-09-10 15:48:29 CST、发布后2026-09-10 16:05:54 CST分别盘点47个根目录及其子目录,见inventory-before.json / inventory-after.json。df:可用10348167168→8812388352字节,减少1535778816字节(约1.54GB),使用率90%→92%。此增量含同时发生的正常数据/日志增长;目录实占不应重复相加。
| 分类/实际路径 | 发布前字节 | 发布后字节 | 增量字节 |
|---|---:|---:|---:|
| `/opt/cmpp-platform` | 1023991808 | 1025716224 | 1724416 |
| `/opt/cmpp-releases` | 6464483328 | 7495319552 | 1030836224 |
| `/var/backups/cmpp-platform` | 4564557824 | 5060235264 | 495677440 |
| `/var/log` | 946245632 | 946380800 | 135168 |
| `/home/hector/.npm` | 611745792 | 611745792 | 0 |
| `/root/.npm` | 622092288 | 622174208 | 81920 |
| `/var/lib/postgresql` | 2658304000 | 2658480128 | 176128 |
| `/var/lib/redis` | 225660928 | 225656832 | -4096 |
| `/var/lib/minio` | 563314688 | 563462144 | 147456 |
本次新增发布目录内资产(与当前程序同一文件系统;以下子目录已包含在上表,不再求和):
| 路径 | 字节 | 版本/保留理由 |
|---|---:|---|
| `/opt/cmpp-releases/20260910T075122-8e4bc5a20e4d-0e177bfe/previous-api-dist` | 4591616 | 0c3f820上一有效版本回退组件 |
| `/opt/cmpp-releases/20260910T075122-8e4bc5a20e4d-0e177bfe/previous-api-node_modules` | 586670080 | 0c3f820上一有效版本回退组件 |
| `/opt/cmpp-releases/20260910T075122-8e4bc5a20e4d-0e177bfe/candidate-1789027246523059732` | 395890688 | 8e4bc5a候选余留/证据,未清理 |
| `/opt/cmpp-releases/20260910T075122-8e4bc5a20e4d-0e177bfe/previous-source` | 2412544 | 0c3f820上一有效版本回退组件 |
| `/opt/cmpp-releases/20260910T075122-8e4bc5a20e4d-0e177bfe/previous-dist` | 36978688 | 0c3f820上一有效版本回退组件 |
| `/opt/cmpp-releases/20260910T075122-8e4bc5a20e4d-0e177bfe` | 1030836224 | 本次发布总目录,含源包/计划/日志/组件 |
源包保留在`/opt/cmpp-releases/20260910T075122-8e4bc5a20e4d-0e177bfe/source.tgz`,绑定上述archiveHash;本机源包和基线包也保留。当前程序为8e4bc5a;上一有效0c3f820的previous-source、previous-dist、previous-api-dist、previous-api-node_modules和成套备份独立保留。candidate剩余依赖供故障分析,未把已切至live的组件重复算为候选。
所有历史旧版本、候选、备份、迁盘/冷副本、缓存和日志均未删除或迁盘;“当前+上一有效版本”的稳态目标仍未完成,第一期工具尚无治理入口。本次发布成功不等于资产治理完成;系统盘已有92%使用率,后续发布应重新预检余量,不能据本次余量自动授权清理。
以下为47个根目录盘点中的历史程序根目录保留清单;未知精确版本的目录不从名字猜测版本,均保留待治理。缓存/数据/日志已在上表列出:
| 历史路径 | 实占字节 | 标记核验 |
|---|---:|---|
| `/opt/cmpp-night-previous-20260907T230742` | 612507648 | 未取得独立部署标记;保留 |
| `/opt/cmpp-platform.previous-reportbatch-068b804-20260903T031400Z` | 988270592 | 068b8047ddbfbacf32b233b7b8cfb4e52fd04a6f |
| `/opt/cmpp-platform-previous-20260906-monitor-442dda7` | 623988736 | 442dda711d5c9f778f3f76fd6d8fd69f14414ce6 |
| `/opt/cmpp-platform.previous-wps-fe3c6e5-20260904T095352Z` | 988004352 | fe3c6e5b589cf475c611f5189e9243e657b5deac |
| `/opt/cmpp-platform-candidate-e4f93f7` | 14458880 | 0e3424c4a726f112385d0c7f3f3ebd90c127195b |
| `/opt/cmpp-platform.previous-css-6508295-20260905T0055` | 988237824 | 65082959c05c975eb7856ee281811a37e1fc284a |
| `/opt/cmpp-platform.previous-report-material-state-dc201bf9-20260903T050717Z` | 987893760 | dc201bf92ef039dd5beb3c16950e622c600f0026 |
| `/opt/cmpp-platform.previous-report-briefs-ad89e8f-20260902T1040Z` | 966549504 | ad89e8fed793857daf18ea6cebb995edfe3b74d4 |
| `/opt/cmpp-night-release-633ba59` | 985272320 | 未取得独立部署标记;保留 |
| `/opt/cmpp-platform-v5-stage-20260820T073310Z` | 10334208 | 未取得独立部署标记;保留 |
| `/opt/cmpp-platform.previous-p4-20260821T024737Z` | 838713344 | fcf6d3e6b439b20ad09f517f4fb11c8142758460+workspace.p4fix.b9de7aafef63 |
| `/opt/cmpp-platform.previous-drainage-20260828T093754Z` | 987291648 | 226527f1cef122e4dbd163da782485e8c0254dc5 |
| `/opt/cmpp-platform-frontend-247fee6` | 14061568 | 未取得独立部署标记;保留 |
| `/opt/cmpp-platform.previous-p2fix-20260820T110500Z` | 840720384 | 99fb346c125b0f620641562c50ad517a7682a10f+workspace.p2.56456e81d3be |
| `/opt/cmpp-platform-candidate-4c21072` | 42749952 | 未取得独立部署标记;保留 |
| `/opt/cmpp-v4-final-20260820T061323Z` | 7843840 | 未取得独立部署标记;保留 |
| `/opt/cmpp-platform.previous-schemeless-20260828T100204Z` | 987258880 | c68ac7a3db82d1bdb867260378df18f93cca0fd2 |
| `/opt/cmpp-platform.previous-p4-20260821T022833Z` | 835203072 | 52028b9bbdea20f0cd02efe792e91b558ba50be9+workspace.p3.7c14cd5f197a |
| `/opt/cmpp-night-candidate-20260907` | 982675456 | 未取得独立部署标记;保留 |
| `/opt/cmpp-platform.previous-channel-groups-20260905T231242-15a1f9d` | 1003593728 | 15a1f9d8eddd4f7233987fbf676a91f4e0bfab08 |
| `/opt/cmpp-platform.previous-p2-20260820T105600Z` | 1037434880 | 229a0b28fd8b84d910c359ff9ac442fc3e843cb4+workspace.p1submitpool.f50505ad9ee9 |
| `/opt/cmpp-platform-previous-step2-20260824T023615Z` | 835596288 | 90345fba22e3ae183e1edb4fdae718fb7cb2d963+workspace.p4progress.d82933c344ec |
| `/opt/cmpp-platform.previous-brief-default-7cb5dd3-20260903T0142Z` | 988180480 | 7cb5dd376e23ff0c8a1e3785ab376e432f2ebf6a |
| `/opt/cmpp-platform-backups` | 23341174784 | 未取得独立部署标记;保留 |
| `/opt/cmpp-platform.previous-high-frequency-final-cd82499-20260902T0851Z` | 987590656 | cd824999f3b604155e09fbad1f5c6258cfe1d918 |
| `/opt/cmpp-platform.failed-p4-20260821T030907Z` | 798334976 | 未取得独立部署标记;保留 |
| `/opt/cmpp-platform.previous-wps-async-41962e7-20260904T1500Z` | 988098560 | 41962e7a6e6cfd34b4313c8bf52d9345d37d8e10 |
| `/opt/cmpp-platform.candidate-report-record-fe3c6e5` | 11743232 | 未取得独立部署标记;保留 |
| `/opt/cmpp-platform.previous-p3-20260821T014803Z` | 835768320 | f4560479d3bcb9f1b1a6fc9b1b2664a997cdf851+workspace.p2fix.51553e0d5555 |
| `/opt/cmpp-v4-stage-20260820T052612Z` | 7843840 | 未取得独立部署标记;保留 |
| `/opt/cmpp-platform.previous-p4-20260821T030956Z` | 835121152 | 3c6f1beed1c4e6cbfc3822ae377de13317e48ded+workspace.p4cb.68ad7a6ef649 |
| `/opt/cmpp-platform.previous-import-review-20260904T122649Z` | 988098560 | bb435fb0ac1e7812fcdb59950a4b13757899ab39 |
| `/opt/cmpp-platform.previous-enterprise-signature-b0deef5` | 987676672 | b0deef5e6ebe6adbfe85591c53dedf11866880a0 |
| `/opt/cmpp-platform.previous-code-quality-20260828T040442Z` | 859160576 | d85ff8599955e8d217b923dd314690f4b18a4dd2 |
| `/opt/cmpp-platform.previous-sixfix-20260831T042224Z` | 987369472 | 5328bb09bf89170b4368407e896dbce9527a7b5c |
| `/opt/cmpp-platform.previous-code-quality-20260828T035307Z` | 1096306688 | 0b84370270c681dff3b15363f91b73566c6954b5 |
| `/opt/cmpp-platform.previous-p4-20260821T024137Z` | 835813376 | 487b5282a66ec11957a3edf4e9e93cc70cd76342+workspace.p4.ee5b0f3d0db8 |
## 未验证项
未发送短信,未做供应商物理Submit/客户CMPP回执ACK、真实费用释放流水对账或完整链路压测。测试环境只做配置页只读与空表验收,规则写入/路由组合在隔离PG完成,线上词库由用户配置。没有修改OpenWrt/网关;此前网络根因和预生产历史故障未宣称解决。没有推送或预生产部署。