# 后台与内容增量发布清单 2026-10-08开发接续:r2增量演练后已补合成26表/8触发器全库与单独AES密钥实际恢复53项证据,见[进度0.91](开发进度.md)和[密钥演练](D:/AAdesk/202609/airz/database/key-recovery-rehearsal.md)。本轮零生产连接/worker/模型执行,不改变下方既有生产发布事实或冻结包/生产恢复守卫;正式验收待办,下一项队列进程生命周期。 ## 2026-10-08 隔离实际部署与恢复开发证据 承接已执行r2生产发布,另以新合成环境完成157项开发检查:13文件/16节点/3模板/8FAQ/课程简介及版本的实际部署、文件/数据库提交前后/恢复过程异常退出、继续部署及定向恢复幂等、后续编辑与权限引用拒绝。恢复后合成密码变化、通知、积分、浏览量、已读时间、新配置和另一FAQ保持,26表列结构保持;71依赖/保护哈希通过,10本机HTTP请求及2正文检查通过。详见[进度0.90](开发进度.md)和[隔离演练说明](D:/AAdesk/202609/airz/database/release-rehearsal.md)。 MySQL3317/Redis6397/HTTP18177仅本机,自建进程已停止;零生产连接/worker/模型执行。冻结生产脚本/包保持,新工具仅接受显式隔离config,不重建历史生产before或导入生产私密dump,不放宽生产回退守卫。安全回执为[verification.json](D:/AAdesk/202609/airz-backups/release-rehearsals/airz-release-rehearsal-1791425757362/verification.json)、同目录cleanup.json及各场景command回执。本结果补实际恢复开发证据,不代表RELEASE-003整体、生产灾难恢复或正式验收完成;下方生产发布事实保持。 ## 2026-10-08 已执行记录 用户明确授权后已按下列r2范围在生产维护窗口完成,最新对应开发进度1.79/0.89;下文10月7日的未部署/待授权文字保留为历史准备记录,不能作为当前状态。13运行文件、16权限节点/3模板、8FAQ首次导入、课程ID1 intro及资源版本同步均已执行,不绑定账号或改用户密码/策略。 09:35:21+08:00已完成停写/空闲worker与FPM停止、13源码/site/目标数据及26表完整备份;09:35:46发布,09:37:37恢复worker、原Nginx配置和公开入口,09:39:34最终复核。服务器私密归档/root/airz-admin-content-20261007-r2-20261008(目录700/文件600),完整数据库gz SHA256 be8791b009fb236bc6b0500b94f177ffb2906060d2d41fe7bbd3f6e1dbb4c09e;临时数据库INI/client cnf和站点暂存文件清理,宝塔专用会话退出关闭。 | 已执行项目 | 实际回执 | | --- | --- | | 文件 | 13 after等于冻结runtime包,84文件依赖/保护复核;线上AssessmentRecords.php保留原精确变体、.env保持 | | 权限 | 节点ID134—149,模板ID6/7/8(运营v1/客服v2/技术v5),根1;总147节点/8组/1绑定,重复增量0;现有记录和绑定保持 | | FAQ | 首次新增8行ID5—12,公开8条逐字段匹配冻结种子;无其他内容导入 | | 课程 | ID1 intro更新,新version729e675e4e67da195fd7a77a47b9c1d838d60748d9763b2673317f3cb0f318b8;正文/3稳定ID/顺序/推荐/发布/已读保持 | | 版本/缓存 | DB id4/version和site.php/version均20261007-admin-content-r2;仅目标字段,File __menu__精确缓存刷新,受影响模板缓存当次不存在,未清Redis | | 验证/服务 | 22服务器HTTPS+20公网可信TLS检查、15表结构和26表数据通过;21非目标表/账号/绑定/策略/模型日志/进度保持;三服务active、三队列0、心跳idle且0秒;0模型调用 | | 恢复 | 13源码before和新增权限/FAQ ID、课程/版本字段守卫干跑通过,未实际恢复;禁止整表/整库回退覆盖后续数据 | 安全执行回执:[release-receipt.json](D:/AAdesk/202609/airz-backups/admin-content-release-reviewed-20261007/execution-20261008/release-receipt.json)、[final-verification.json](D:/AAdesk/202609/airz-backups/admin-content-release-reviewed-20261007/execution-20261008/final-verification.json),同目录保留window/prepare/deploy/verify/rollback-check/resume/observe/public-smoke原始回执。runtime/maintenance/manifest/verifier均未改变,小程序未代发、H5未发行、正式业务/运营/真机验收保持待办。未提交/推送/PR;后续补隔离实际恢复演练,不重复生产执行。 更新:2026-10-07,对应开发进度1.78/0.88。已通过宝塔Playwright完成生产只读预检并形成r2具体计划;尚未部署、应用权限模板、导入FAQ或修改内容/账号。本批后端先行,小程序由用户自行发行,H5不随本批发布;实际生产写入须明确本批范围和维护窗口。 22:14:43、22:14:55(+08:00)重新通过宝塔终端执行冻结的内存只读脚本,r2的13项观察门禁全部通过:84文件before/属主/权限、15相关表、19权限计划、8缺失FAQ及7现有内容slug、课程ID1原版本/简介/正文/进度、环境/资源版本和策略均保持;三服务active、活动任务/调用和三队列0、心跳idle且0秒新鲜。原始主预检仍保留`ok=false`与既有换行/缺FAQ例外,复核不代替窗口内检查。临时`panel.private.json`与执行JS已删除,专用会话退出关闭;未停写/停worker、生产备份、发布或业务写入。具体范围、影响、备份和字段级恢复见[维护执行确认单](D:/AAdesk/202609/airz-backups/admin-content-release-reviewed-20261007/维护执行确认单.md),复核回执为同目录`preapproval-main.json`、`preapproval-supplement.json`、`preapproval-review-r2.json`。当前按用户提供的AGENTS.md第8节等待该批范围及维护窗口确认,不重复请求此前已完成发布的授权。 ## 1. 基线与范围 本轮实测目标为 `https://airz.hqling.cloud`、`/www/wwwroot/xctai.cn`、数据库`127.0.0.1:3306/airz`,Python3.12.13/PHP7.4.33/MySQL5.7.44-log。Web运行目录`public`、API前缀`/api/v1`及根域名无PHP管理端沿既有记录。主预检时间2026-10-07 21:50:51+08:00,补充检查21:57:17+08:00;窗口内须复核哈希、活动状态和备份,不能把观察快照当作部署许可。 | 已有部署记录 | 本轮处理 | | --- | --- | | 2026-10-04:3716文件后端包,服务器归档 `/root/airz-backend-20261004` | 作为范围参考;本机未取得这一批完整生产文件快照,不能用Git提交代替当前线上基线 | | 2026-10-05:7个反馈/消息文件与反馈5项结构增量 | 本轮7文件实际哈希全部匹配,反馈四字段/请求唯一键通过;候选包不重复覆盖 | | 2026-10-07:两入口及登录验证码页面3文件 | 本轮3文件实际哈希全部匹配;保持根域名入口、API及旧链接308,不回退密码 | | 用户随后自行修改admin密码 | 不使用旧临时凭据,不重置、不把账号备份整行恢复 | | 小程序由用户自行发布 | 已上传版本没有可核对的源码哈希;前端变化清单是仓库参考差异,不等于已确认的小程序线上增量 | 本批覆盖0.63—0.85检查中仍未配套上线的后端修复:任务状态/租约/报告持久化及非法版本参数、后台资讯/FAQ类型隔离、编辑换行兼容、课程整篇阅读文案与搜索摘要、服务额度摘要。正式运营v1/客服v2/技术v5的应用层依赖必须保持完整,再单独预检和应用权限模板;脚本不自动分配账号。 明确排除积分表迁移或规则启用、供应商/短信/手机号换绑/人工客服/外部告警接入、收费模型调用、正式业务验收、H5发行和本轮小程序上传。现有演示产品/内容不在本批转换为真实业务资料。 ## 2. 候选包与哈希 当前受限材料:`D:/AAdesk/202609/airz-backups/admin-content-release-reviewed-20261007/`,ACL仅JUN/SYSTEM。r2归档含原13运行/7维护包、安全生产回执、换行差异审阅、实际权限/内容/资源版本计划和新manifest/verifier;不含.env、密码、会员记录、Token或完整私密备份。原`admin-content-release-prep-20261007`冻结材料保持,r2明确替代其未实测计划。 | 材料 | 内容 | SHA-256 | | --- | --- | --- | | [runtime.zip](D:/AAdesk/202609/airz-backups/admin-content-release-reviewed-20261007/runtime.zip) | 原13个精确运行文件,28706字节,包内容保持 | `c1c3adb13d82c89b2bf280911266b951a50da59b268e535962d2eca213477a91` | | [maintenance.zip](D:/AAdesk/202609/airz-backups/admin-content-release-reviewed-20261007/maintenance.zip) | 原7个维护文件,20672字节;只执行明确批准步骤 | `576f36650b86e08b6d9f0ee5da34c0a48ba63c5787d4ae66dfeb8ad4f3cd2a59` | | [manifest.json](D:/AAdesk/202609/airz-backups/admin-content-release-reviewed-20261007/manifest.json) | r2:13真实before/属主/权限,60匹配依赖+1审阅保留依赖、10保护文件 | `dad26e8d1e8067d840f9dc8ed0b7d062798239fb5d8736f26cba59a6c4aedca0` | | [verify_release.py](D:/AAdesk/202609/airz-backups/admin-content-release-reviewed-20261007/verify_release.py) | 仅允许带可信审阅回执的精确线上换行变体;未知哈希/逻辑仍拒绝 | `5bcfed4dae360fde7c7a18d2dd737d30749cb5dd346acc058907526686260b0e` | `frontend-source-reference.json`仍为28个仓库参考哈希,不等于小程序线上增量。r2的`content-maintenance-plan.json`改为首次导入8条FAQ和ID1课程简介维护;`permission-maintenance-plan.json`记录16节点/3模板、父组1,`resource-version-plan.json`记录DB/site版本具体before。计划均未应用,各包无新增依赖安装;维护包的纯库不覆盖站点。 `repositoryReferenceSha256`仍只作仓库参考。r2的13运行条目已标记`beforeHashConfirmedFromProduction=true`,来自当次服务器读取。`AssessmentRecords.php`线上22393字节与本机22389字节仅4行CRLF/LF差异,统一为LF后逐字节完全一致;保留线上SHA256 `6e294e8db263ad5a705ac308741f02fd1dfd12a191c9a20270d0039e49aecc71`,不纳入runtime。r2 verifier同时核对可信审阅哈希、精确线上/源码哈希及规范换行后哈希,未知变体或逻辑变更仍阻断;其他依赖/保护漂移不得绕过。 ## 3. 13个运行文件 | 模块 | 相对后端根目录路径 | 配套行为 | | --- | --- | --- | | 评估 | `application/api/controller/v1/Assessments.php` | revisionId保留原始类型,非法数组交统一归属/版本校验 | | 评估 | `application/common/library/AnalysisTasks.php` | 任务标识、状态/租约、发布事务及旧结果版本保护 | | 评估 | `application/common/library/Assessment.php` | 报告和结果版本在发布事务内保持一致 | | 评估 | `application/common/library/AssessmentStore.php` | 持久化写入校验、旧快照保护、无变化旧行不重写 | | 内容 | `application/admin/controller/Acticle.php` | type排除写入,旧协议与结构化资讯兼容 | | 内容 | `application/admin/model/Acticle.php` | 资讯/协议入口排除FAQ(type6) | | 内容 | `application/admin/model/Faq.php` | FAQ入口限定type6 | | 内容 | `application/admin/view/acticle/edit.html` | 旧类型字段只读 | | 内容 | `application/admin/view/content/form.html` | 阅读时长、正文段落文案和操作名称 | | 内容 | `application/common/library/ContentCatalog.php` | 搜索课程摘要显示阅读时长 | | 内容 | `application/common/library/ContentPublication.php` | 编辑保存比较等价换行,保留旧正文/稳定段落ID和进度 | | 内容 | `public/assets/js/backend/content-editor.js` | 段落按钮、排序/最后一段/30段上限交互 | | 服务 | `public/assets/js/backend/servicestatus.js` | 会员额度摘要显示当前评估尝试上限;坏策略显示未知 | 仅runtime.zip可按此表覆盖站点路径;既有文件所有者、权限及新文件摘要须按发布回执保留。`.env`、`application/extra/site.php`、vendor/extend、上传目录、测试、数据库脚本、Git和前端编译产物不进入runtime包。 ## 4. 必须核对的配套依赖 manifest中61个 `requiredExistingFiles`只读核对,不在runtime包中。缺失或哈希不同必须查明,不把它们默认视为已上线,也不为绕过预检覆盖整仓库。 | 依赖组 | 必须一起存在并匹配的主要能力 | | --- | --- | | 正式角色 | BusinessPermissions/BusinessPrivacy/BusinessMetadata、后台默认首页和Auth、只读记录trait、会员资料/消息白名单、模型密钥受控启停、日志/本人配置权限 | | 内容 | ContentEditor trait、Finance/Faq控制器及表单/JS、LessonProgress、Content/Home/route、内容查询与公开API;前台课程保持整篇连续阅读、一次已读 | | 排障重试 | Assessment控制器、Diagnostics/Retry/RetryAudit、两页面/assessment.js、AssessmentRecords、报告/匹配库、worker命令及任务job | | 服务策略 | Servicestatus/Modelconfig、Service/AiUsageDiagnostics、策略Editor/专用Audit/页面JS、AiRuntimePolicy、三场景调用读取、DeepSeekClient、worker心跳、analysis配置 | | 通用配置保护 | general/Config控制器、common/Config模型;不能撤保留行保护而留下通用CRUD或refreshFile写出策略 | | 已部署保护项 | 7个反馈/消息文件(AdminLog同时依赖重试与策略专用审计)、3个无后缀入口文件 | 正式模板新建前,确认模板动作对应的控制器、DTO、审计和通用配置保护已部署。技术v5四字段策略权限不授环境开关、供应商URL、凭据新增/轮换、系统配置或管理员权限;多个角色取并集,绑定前核对每个账号的最终权限。 ## 5. 生产只读预检 已使用用户提供的宝塔凭据,经缓存Playwright CLI进入终端完成三次有界只读检查。主脚本与独立PDO均在内存执行,无ThinkPHP初始化、上传/解压维护包、生产检查文件或业务写入;PDO会话只读事务,明确目标。终端画布无法读文本,改从实际Playwright WebSocket接收回执;直接刷新终端曾返回`ws_callback`缺项,通过面板首页→终端重新进入后恢复,未改面板或系统配置。首次导航证书不受信任,专用会话使用原配置`ignoreHTTPSErrors`,仅宝塔;没有改变公开站点TLS验证。 | 当次实测 | 结果与边界 | | --- | --- | | 84文件 | 13运行全部待更新;60依赖/10保护匹配;1依赖换行差异审阅保留。原主回执`ok=false`保留,不伪改为全通过 | | 15相关表 | InnoDB、规定列类型/空值/显式排序规则、唯一键/声明外键全部通过;不是全库完整schema验收,不迁移积分 | | 权限 | 当前131节点/5组/1绑定,唯一正常超管根1;实际缺16节点/3正式模板,共19项。无模板/绑定写入 | | 内容 | 8 FAQ slug均0,type6总行0;4资讯/3课程slug各唯一;credit-basics为已发布/推荐ID1,原简介匹配参考,正文/稳定ID已记录,进度0 | | 策略 | ai_runtime_policy缺行,合法沿环境默认:Flash/20次/3尝试,模型环境开启;只读解析.env,不代表供应商验证,不创建策略行 | | 服务/活动 | analysis/FPM/Redis均active,观察PID2525192/2525169/552222;无processing/pending/streaming,三队列0,心跳idle且1秒新鲜 | | worker日志 | unit stdout/stderr均journal;最近15分钟最多300条取样实际0条。无错误样本,不代表全时段无错误 | | 资源版本 | DB fa_config id4/version=1.0.2,实际site.php=1.0.1;记录真实site/.env哈希,只在批准时精确同步版本字段 | 安全回执在r2归档`production-preflight.json`、`supplemental-db-probe.json`、`dependency-drift-review.json`和`review-summary.json`。原始预检因已审阅换行差异及FAQ不存在而未全通过;r2将差异和实际数据维护显式纳入计划,没有删门禁或覆盖线上。5类本机变体验证通过:已审阅精确变体接受、未知同逻辑换行哈希拒绝、逻辑变更拒绝、错误manifest拒绝、篡改审阅拒绝;合成文件逐项清理。窗口内仍须复核,不停写/停worker/备份/apply直到本批写入授权。 如后续需将维护材料落盘,须按当次授权准备私密目录(目录700/文件600),不放public;以下是原准备的独立包/脚本方式,不作为本轮已执行记录。预检要求已有Python3.9或以上、PHP7.4;先核对版本,不自动安装或升级系统运行时。核对源包、manifest和脚本SHA-256后再执行下例;示例目录需替换为当次确认目录。 ```sh python3 /root/airz-release-review/verify_release.py \ --package-dir /root/airz-release-review \ --manifest-sha256 dad26e8d1e8067d840f9dc8ed0b7d062798239fb5d8736f26cba59a6c4aedca0 \ --site-root /www/wwwroot/xctai.cn \ > /root/airz-release-review/file-preflight.json ``` 预检逐文件输出safe哈希;13运行可待更新,60配套/10保护必须精确匹配,1配套允许上述已审阅精确变体。该脚本只证明文件条件,不检查数据库、服务空闲、备份、账号绑定或授权;`ok=true`不是部署许可。其他合法漂移先审阅并重建材料,不直接删漂移清单。 数据库配置从当次确认的服务器环境准备为私密显式INI;禁止在本机默认.env下加载框架、启动worker或跑正式库测试。服务器历史环境为127.0.0.1:3306/airz,实际`--target`须与当次配置完全一致。维护包在独立目录保留database/application相对结构,PHP路径沿现网 `/www/server/php/74/bin/php`。 ```sh /www/server/php/74/bin/php /root/airz-release-review/maintenance/database/migrate_admin_permissions.php \ --env /root/airz-release-review/private/production.ini \ --target 127.0.0.1:3306/airz /www/server/php/74/bin/php /root/airz-release-review/maintenance/database/import_faq.php \ --env /root/airz-release-review/private/production.ini \ --target 127.0.0.1:3306/airz /www/server/php/74/bin/php /root/airz-release-review/maintenance/database/import_content.php \ --env /root/airz-release-review/private/production.ini \ --target 127.0.0.1:3306/airz ``` 以上不带`--apply`;导入脚本会使用锁/只读事务,但不插入业务行。权限预检按实际根角色、完整节点/索引/父层级/同名节点/模板规则核对。若有多个正常根角色,确认真实父ID后显式加`--parent-group-id`;不得照搬测试根37、60节点/3模板或63项增量。旧技术v1—v4和客服旧角色/绑定保留;同名现行模板漂移会阻断,不自动修复或补权。 还须只读核对:涉及行锁/成功审计的admin/admin_log/user/ai_chat/ai_chat_log/config/auth三表均为InnoDB;评估最新版本结构已存在;反馈四字段及唯一键、消息事件唯一键、课程进度表保持;无重复组或异常结构。积分字段/表不迁移。`ai_runtime_policy`缺行是兼容状态,沿环境默认;已有行只检查格式/有效策略,不为了开后台入口创建、删除或调整策略。 服务观察记录当次airz-analysis/php-fpm-74/Redis状态、进程及近期错误;确认处理中的评估/日志、queued/running预留和Redis三队列状态。只读查看LLEN/ZCARD/PING,不pop、恢复扫描、删队列或调用模型。尚有工作时不停止或升级worker,另行安排窗口。 ## 6. 内容数据维护与账号分配 这两项是独立生产写入,不因代码包已准备而自动执行。 | 数据操作 | 明确边界 | | --- | --- | | 首次FAQ种子 | 本轮实测type6为0,8 slug全部不存在;批准后只补profile/password/phone/assessment/result/amount/files/draft八条已冻结FAQ,插入后记录新ID。重复导入保留后续已有记录 | | FAQ `password`/`phone` | 两条现不存在,取消原“修改答案”计划;首次种子已经包含未开放短信登录/重设与手机号换绑的准确文案,不执行不存在ID的更新 | | 课程 `credit-basics` | 实测ID1,只将intro改为“从自己的实际情况出发,建立一份清晰的申请前检查清单。”;baseVersion为009a6ac642d2be36f89a867dc42c0f4df9c86954f498fff0fb510f51f9cb6946。保留3个稳定段落ID/顺序/正文、推荐1、已发布及进度;旧版409须刷新 | | 正式权限模板 | 批准后只补实际16节点/运营v1/客服v2/技术v5三模板,父组1,共19项;窗口计划有变立即停,不照搬隔离ID。不改历史模板/绑定,复检0项 | | 后台资源版本 | 独立批准维护fa_config id4/version value从1.0.2及site.php version从1.0.1同步为20261007-admin-content-r2;核对before哈希,只改version字段,不调用refreshFile整体重建site.php | | 实际管理员绑定 | 由超管明确每个运营/客服/技术账号及组,检查权限并集。先记录旧绑定和恢复办法,再单独确认分配;不创建默认弱口令账号、不换绑admin | 课程真实ID/版本/before已在r2计划,窗口仍须核对并保存私密原记录,按版本化入口只改intro。FAQ当前不存在,首次导入需独立批准;4资讯/3课程都存在,不执行import_content。计划不是可直接执行的SQL,不整条覆盖;课程仍整篇一次已读。 ## 7. 获得具体发布授权后的顺序 1. 确认本批13文件、19权限增量、8 FAQ首次导入、ID1课程intro、资源版本同步及维护窗口的具体授权;实际账号绑定、密码/策略修改不在本批。窗口复核真实before/精确计划,变化即停止审阅。 2. 在批准维护窗口阻断相关API/后台写入,核对无活动评估、助手、产品解释和队列,停空闲worker。备份13旧文件、权限三表与绑定、内容候选行、保留策略行和全库灾难恢复资料;备份位置不公开。 3. 60配套/10保护精确匹配且AssessmentRecords仍为已审阅线上哈希后,按13清单同目录暂存、PHP7.4 lint、核对摘要与所有者后替换;不覆盖AssessmentRecords。任何before哈希变化停止;中途失败留维护状态,完整恢复已替换文件。 4. 按明确授权备份并apply正式权限增量,复检`changeCount=0`,保存新增ID/完整规则回执;源码/配套保护不完整时不得先授技术v5。 5. 按资源计划只同步DB id4/value与线上site.php/version为20261007-admin-content-r2,其余字段保持,不调用refreshFile、不用本机site.php覆盖。精确刷新FastAdmin __menu__及受影响模板缓存、PHP-FPM/OPcache;RequireJS取得新site.version,不清全Redis。 6. 仅执行批准的8 FAQ缺slug首次导入和ID1课程intro维护,按版本检查保留字段及审计,记录新FAQ ID。未批准的数据步骤跳过并明确尚待,不绑定账号、不重复导入其他内容。 7. 先做下节零模型调用烟测;恢复原worker/入口后观察队列、日志及心跳。worker重启只加载新源码,不手工消费测试任务或触发重试。 8. 后端通过后由用户重新编译、核对并发行完整当前小程序项目;记录实际源码/包哈希和版本。不能仅根据28参考文件选择发行,也不能把开发编译记为真机验收。H5单独安排。 ## 8. 发布烟测与恢复 | 零收费烟测 | 预期证据 | | --- | --- | | 根域名/登录/验证码/旧入口/API | 无PHP菜单,旧GET/POST308保留方法,公开API200、私有匿名401、敏感路径404;密码保持用户现值 | | 资讯/FAQ/课程/搜索 | type隔离和跨入口拒绝、旧协议保持、单篇正文阅读、搜索阅读摘要;只读阶段不保存真实内容 | | 角色/DTO | 正式账号菜单/默认页、直接越权拒绝、掩码/附件/金额边界、排障正文隐藏;本人日志范围有效 | | 评估历史 | 默认已发布版/显式历史版、非法版本参数404、no-store;只读不预留模型调用 | | 服务/用量/策略 | 显示当前策略/尝试上限和真实状态;未探测/未知不假报健康;GET不写策略或预留 | | 文件/数据完整性 | 13线上after哈希等于包,61配套/10保护保持;未授权内容/绑定/.env/策略/业务原记录摘要保持 | 实际内容保存、客服回复、技术策略保存、打开后撤权、成功重试等写场景已有0.82—0.85隔离证据。生产成功重试会被真实worker消费并可能收费,不能作为本批“零调用”烟测;需要生产写样例时另行明确合成账号/对象/队列、影响与清理,不能直接用真实会员做验证。 恢复时先阻断写入、等待空闲并停止worker;保存故障后的记录和安全回执。优先撤销新角色绑定/停用模板,逐文件按当次before备份恢复13文件并刷新缓存。入口、用户已修改密码、真实报告/评估/调用预留/通知/课程进度和上传保持。权限新增ID仅在无绑定/子组/其他角色引用、记录仍匹配新增回执时才可定向处理;不整表恢复三权限表或业务表。 策略原本未改就不回退;确有单独批准的策略变更时,走受控入口以新版本恢复已确认旧值并保留审计,不能删除保留行重新启用环境默认。内容只恢复批准字段,核对当前版本及后续编辑,课程正文/ID/已读时间不覆盖。数据库整库备份仅用于另行授权的灾难恢复,不用于撤销本次小范围发布。 原0.86的20包条目/语法/种子及四类拒绝证据保持,runtime/maintenance包逐字节未变,不重复业务全量检查。r2包、84后端/28前端源码验证通过;新增5类变体门禁验证通过,合成文件逐项清理。生产只读实测范围见第5节;无发布、业务写入、模型/worker调用、账号或策略修改、提交/推送/PR,正式运营/真机验收状态保持。宝塔登录/终端会话仅产生正常认证/访问审计。 验证与核对回执:[review-summary.json](D:/AAdesk/202609/airz-backups/admin-content-release-reviewed-20261007/review-summary.json)、[validation.json](D:/AAdesk/202609/airz-backups/admin-content-release-reviewed-20261007/validation.json)、[content-maintenance-plan.json](D:/AAdesk/202609/airz-backups/admin-content-release-reviewed-20261007/content-maintenance-plan.json)、[permission-maintenance-plan.json](D:/AAdesk/202609/airz-backups/admin-content-release-reviewed-20261007/permission-maintenance-plan.json)、[resource-version-plan.json](D:/AAdesk/202609/airz-backups/admin-content-release-reviewed-20261007/resource-version-plan.json)。后端维护记录见[部署记录](D:/AAdesk/202609/airz/deployment-baota.md)、[权限](D:/AAdesk/202609/airz/database/admin-permissions.md)、[评估排障](D:/AAdesk/202609/airz/database/admin-assessment.md)、[服务策略](D:/AAdesk/202609/airz/database/admin-services.md)、[内容](D:/AAdesk/202609/airz/database/content-publication.md)。