Files
airz-uniapp/docs/后端校验诊断发布-20261016.md
T
hujun e5406c23a6 fix: 修复匹配详情提示及公积金可选路径问题
修复匹配详情中“用户自填未经核验”等来源说明,清理未参与项的橙色注意提示,修正贷款统计口径文案;补充公积金完整可选路径提取逻辑,确保明确无额外时长要求的公积金分支可正确识别并通过。
2026-10-19 16:11:59 +08:00

38 lines
4.9 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-10-16)
用户明确要求“帮我发布一下后端”,并亲自处理证书提示及登录宝塔。本次将固定候选 `rc-20261016-report-diagnostics-r1` 发布为 `20261016-report-diagnostics-r1`;11:09:03 完成替换,11:12:47 恢复入口及 worker(Asia/Shanghai)。仅发布脱敏拒绝诊断能力,没有重试正式评估、创建新评估或新增模型调用。
## 发布范围
三个替换文件为 `DeepSeekException.php`、`ProductAiBatches.php`、`AnalysisBatchTasks.php`,新增 `AiReportDiagnostics.php`,均位于后端 `application/common/library/`。固定候选 ZIP 原包发布,SHA256 为 `bd9714ab649525ab450e6138e50f7427e8d784f5af9fbba2928d4c1af641ec68`。
现场三个旧文件与候选基线一致,新文件原先不存在;本次核验四个运行文件及 133 个保留文件,共 137 路径。前次 135 路径清单未包含 `DeepSeekException.php`,本次将其纳入并核对现场 SHA 与修改前归档,另增加新诊断类,因此范围增加两条。所有运行文件权限、归属及环境配置保持;仅数据库资源版本和 `site.php` 对应版本同步更新。
不删填写项或用户数据,不修改提示词、严格校验、三态、评分、模型配置或自动重试规则。无依赖安装、DDL 和业务数据迁移,无提交、推送或小程序发布。
## 现场验证
维护前暂存校验全部通过,活动评估、活动调用及 Redis ready/delayed/reserved 三队列均为空。维护期间临时关闭外部入口,正常停止 worker 和 PHP-FPM,备份现场源码、Nginx、site 配置与数据库,再整体替换并重启。30 张表的完整业务行摘要和结构在维护期间保持一致,数据库只更新资源版本。
PHP 7.4.33 四文件语法、137 路径摘要、25 个正式产品编译通过;现有个人目录仍为 82 条条件、100 条模板、7 批规划,规划不调用模型。只读访问 3 份历史报告、12 组匹配列表、3 份评估详情及 25 个产品,3 项跨归属访问被拒绝。服务器本机可信 HTTPS 29 项和独立公网可信 HTTPS 31 项通过。
恢复后 `airz-analysis`、`php-fpm-74`、`redis` 均 active。仅有一个正式 worker,命令及归属正确,PID 已更新,NRestarts=0;最终核验时心跳 ready、年龄 1 秒。观察期间活动任务、活动调用及三队列仍为空,worker journal 未发现错误、警告或诊断拒绝事件。零事件不代表原格式错误已经修复。
## 日志验证与边界
生产 helper 的摘要、类源文件路径、两条合成记录的字段白名单及日志故障隔离通过。合成拒绝记录只进入内存 sink,未伪造正式业务拒绝事件。
同 worker 用户、组、PHP 二进制、工作目录及 PHP ini 环境的独立 PHP 进程可通过默认 `error_log` 写出固定无个人信息标记;实际 PHP 默认通道为 stderr。真实 worker unit 的 StandardError/StandardOutput 均配置为 journal。探针运行在正式 worker 进程及 unit sandbox 之外,没有证明真实业务拒绝事件已写入 journal,也没有触发真实评估来验证这一点。
初次探针因当前 systemd 不返回空的 `EnvironmentFiles` 属性而停止,尚未进行标记写入;适配后通过完整 unit 文本确认没有 `EnvironmentFile=` 指令,再执行一次标记验证。初始脚本和修订脚本、失败和成功回执分别保留。未调整生产日志路由、权限或业务代码来绕过探针要求。
## 证据与恢复
本机发布档案:`D:/AAdesk/202609/airz-backups/production-release/airz-report-diagnostics-20261016`;服务器备份:`/root/airz-report-diagnostics-20261016`。固定开发候选仍在 `report-rejection-diagnostics-20261016/candidate`,其准备时的“未发布/未授权”字段保留为历史状态,本次授权与现场 manifest 另存。
28 份现场备份及阶段证据已下载到本机 `production-backup/`,逐份重算 SHA256 与服务器索引一致。私密档案仅当前 Windows 用户和 SYSTEM 可读,服务器发布目录为 root 私有;传输缓冲及临时登录脚本已清理,宝塔已退出并关闭本次专用浏览器。最终本机回执为发布档案中的 `release-receipt.json`。
恢复入口前已核验精确现场备份可恢复;本轮无需回滚。入口恢复后应保留后续用户资料、冻结快照、检查点、报告及用量,优先向前修复,不整库覆盖。旧单次收费诊断入口的 `model-call.started` 已确认保留,不得重跑或换目录规避。
原评估 471/版本 718 的前两次具体拒绝原因仍未知,前轮唯一一次真实诊断通过也不能反推原失败原因。本次没有恢复该正式任务。后续若用户另行授权付费恢复,应重试原记录、沿用同模型及前三批检查点,从第 4 批继续,最多剩余 4 批。小程序无需因本次后端诊断补丁重新发行。