Files
prop-ai-hr/docs/帮道8月1日Android内测Go-No-Go-20260728.md
T

56 lines
8.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.
# 帮道 8 月 1 日 Android 内测 Go/No-Go
> 评估时间:2026-07-29 10:31(CST)
>
> 评估对象:2026-08-01 受控内部测试 APK,不代表正式发布、应用商店上架或阶段一严格试点验收。
>
> 冻结范围与完整门禁见[《帮道 8 月 1 日 Android 安装包测试版任务计划》](帮道8月1日Android安装包测试版任务计划-20260727.md)。
## 结论
**当前为 No-Go,暂不能把现有 APK 标记为 8 月 1 日可分发版本。**
安装包的技术出包链和干净提交自动化冻结已经成立,可继续作为验收候选包使用;阻断点集中在生产依赖、人工原生/业务验收和业务签认,而不是 HBuilderX 或 DCloud 打包本身。
## 已通过
| 检查项 | 当前结果 |
|---|---|
| 当前运行时冻结 | 移动端候选提交 `b9e08789265b73524e3ce2646abe2f2fc4565906` 的统一 RC 证据 `releaseEligible=true`,目录 `output/aug1-rc/0.1.12-112-b9e08789-frozen/`;前一 `dc20b920` 双提交包只保留追溯,不能再作为当前 APK |
| 移动端自动化 | 199 项单元测试通过;TypeScript 类型检查通过;登录页协议默认未勾选,法务链接、验证码和登录共用失败关闭门禁;五个文件选择器和九个消费页面已覆盖用户取消/平台失败分流,直通车首次弱网加载失败可原位重试并失败关闭 |
| 构建 | `mobile-uni` H5、App-Plus、管理端生产构建通过;后端 `ruoyi-admin.jar` 重建通过 |
| P0 后端语义 | `AihrSopSeedServiceTest` 39 项、`AihrPracticeSeedServiceTest` 102 项通过;`ruoyi-aihr` 698 项全量测试通过,0 失败、0 错误 |
| 内容候选门禁 | 已生成 5 个禁用场景候选和 30 道待审政策题,机器校验通过;正式可发布场景 `0`、正式有据标准答案 `0`,不得导入或启用 |
| App 资源门禁 | 正式法务 URL、登录页同意门禁、原生 `prompt=none`、API 35、图标和启动图检查通过 |
| 独立 APK | `com.yincheng.wygj`,`0.1.12 (112)`,`targetSdkVersion=35`,v2 签名,明文 HTTP 关闭且网络安全资源已进入 APK;SHA-256 `DD24E5F20BC7C064F5059E538A1FAB7518DF46CBAB502F59A3629F0B1B1F5EBB` |
| APK 内容门禁 | 包内业务资源等于当前 App-Plus 编译产物;原生提示关闭、登录法务链接、未勾选拦截、手机号、固定测试验证码、私钥和常见令牌扫描通过 |
| 真机安装启动 | vivo V2443A(Android 15)完成 `0.1.6` 覆盖安装和冷启动;相机、录音、媒体权限保持未授权,未见 `FATAL EXCEPTION` |
| 虚拟机安装与生命周期 | 本机 `Medium_Phone` Android 15/API 35 已全新安装 `0.1.12`;启动原生隐私层不可见、四项敏感权限为 `false`、未见 Crash/ANR。该 x86_64 虚拟机无法可靠运行 ARM-only DCloud Weex 页面,不能替代页面与业务验收 |
| Android 统一取证 | 只读脚本确认 `0.1.12 (112)` 进程和前台 Activity 正常、原生隐私层 `not-visible`、四项敏感权限为 `false`、退出记录无 Crash/ANR,证据在 `output/aug1-rc/android-acceptance/20260729-021418-no-native-privacy-fresh-install-retry/` |
| 登录页法务策略 | 启动不再弹原生确认;登录页协议默认未勾选,两个 HTTPS 正文可点击,验证码与登录在未勾选时失败关闭。包体与自动化已通过,ARM64 真机点击反例仍待完成 |
| 法务静态页 | `https://peilian.njzhmj.top/legal/terms.html` 与 `https://peilian.njzhmj.top/legal/privacy.html` 已部署并可访问;发布前站点备份为 `/opt/wygj/backups/www-20260728224710` |
| 生产 API 只读契约 | 线上与候选包的 9 个关键控制器 class 哈希逐一相同,短信登录、移动首页、查/练/问、直通车和 ASR/TTS 路由均存在;可重复 GET-only 探针覆盖 20 个 APK 入口,得到公开首页 `1×200`、鉴权入口 `6×401`、仅 POST 入口 `13×405`。`answer-feedback` 因同路径另有运营 GET 归入鉴权组;脚本排除短信验证码,不登录、不上传、不发送业务 POST |
| 定向发布预检 | `566f222e` 已支持只核对后端 + schema;`feece9bb` 进一步允许以冻结提交和解压后的候选 JAR 为准。两次实际只读运行均跳过管理端/H5,根站、租户、移动首页和生产禁 DDL 门禁通过;后端 + schema 模式另通过 64/64 schema。冻结物模式确认本地 JAR SHA-256 为 `8c676f2f…`,最终均仅因现网/候选模块哈希 `15f5513a…` / `c93460e8…` 不同而按预期失败 |
| 后端发布/回滚计划 | `release-backend.sh` 固定生产 JAR 与 systemd 服务,默认只读,部署/回滚分别要求完整哈希授权串和干净工作区;备份、原子切换、发布后预检、失败恢复及并发改包保护均有回归。冻结 JAR 实跑只读计划通过:候选 `8c676f2f…`、现网 `46c99cff…`,服务 active、空间充足、三个公开入口和 64/64 schema 通过,全程未备份、上传、重启或改库 |
## No-Go 阻断项
1. **生产接口兼容,但候选后端语义修复未部署。** 只读预检确认生产根站、租户接口、移动首页和 64/64 schema 门禁通过;线上与候选 `ruoyi-aihr` 都有 819 个非目录/非 Manifest 条目,0 个增删、775 个逐字节相同、44 个不同。9 个关键控制器及其路由逐字节一致,差异只落在 `AihrModelSeedService`、`AihrPracticeSeedService`、`AihrSopSeedService` 及编译生成的内部类:候选包补了“不得冒充已创建/派发工单”的兜底文案,以及场景发布前的占位内容/五维评分门禁。因此现网可以承接 APK 的既有接口,但尚不满足本次候选的业务语义红线,仍需获得授权后定向发布后端。管理端和移动 H5 入口资源也与候选不一致,但不属于独立 APK 本轮必发单元;schema 本批不变。此次仅上线法务静态页,未发布后端、H5 业务资源或数据库迁移。
2. **原生人工反例未完成。** 全新安装、无启动原生隐私提示和权限基线已通过,媒体取消状态机已自动化修复;仍缺 ARM64 真机上的登录页协议默认未勾选、两个链接、未勾选拦截、勾选后登录、短信失败与重新登录、麦克风允许/拒绝、真实系统选择器取消、登录后前后台切换和弱网验证。
3. **核心业务真机闭环未完成。** 仍缺认证账号下完整“查/练/问”、五个直通渠道、五个正式对练场景、ASR/TTS、附件上传下载和越权反例。
4. **内容与业务验收不足。** 当前仅收到 1/24 份生活顾问访谈。技术侧已把调研整理为 30 道政策题候选和 5 个场景候选,但全部保持待审/禁用,正式可发布场景和正式有据标准答案仍为 0/0;五渠道真实处理人也没有业务签认证据。
5. **发布与回滚尚未签认。** 固定目标、默认只读、显式授权、备份、原子切换、失败恢复和并发保护的后端工具已经落地,冻结候选的只读发布计划也已通过;但尚无负责人发布授权、实际发布后匹配结果或回滚演练记录。当前 APK 已关闭明文流量但仍使用 DCloud 测试证书,只能用于受控内测;企业签名和公司法务正式签认仍是正式发布门槛。
## 转为 Go 的最短路径
| 顺序 | 必须完成 | 验收证据 |
|---|---|---|
| 已完成 | 确定 APK、后端、管理端/H5、数据库四个发布单元并冻结当前 APK 运行时 | 运行时 `b9e08789`、`releaseEligible=true`、`output/aug1-rc/0.1.12-112-b9e08789-frozen/`;新的双提交 ZIP 仍须包含运行时/运维完整提交、14 个条目和内部 `SHA256SUMS.txt`,旧 `0.1.10` ZIP 只保留追溯 |
| 1 | 获得明确授权后使用已通过只读计划的 `release-backend.sh deploy`,只发布上述 3 个服务类语义修复所在的候选后端 JAR;管理端/H5 延期,schema 本批不变;不得手工覆盖或绕过脚本失败恢复 | 候选 JAR SHA-256 `8C676F2FBFCCB4F4573CBCA1259E8B26EB83EBDB469ADCBAF714C5931EF3CF2D`;输出备份目录,生产 `ruoyi-aihr` 模块与候选匹配,64/64 schema 继续通过,兜底回答不显示已创建/已派发状态 |
| 2 | 用户在 ARM64 Android 真机完成登录页法务门禁和权限正反例 | 默认未勾选、两个链接、未勾选拦截、勾选后登录、权限允许/拒绝;不记录手机号、验证码和个人内容 |
| 3 | 用正式测试账号完成“查/练/问”、五直通渠道及附件/语音闭环 | 每条用例的时间、结果、失败截图或日志 |
| 4 | 业务方审核当前 30 道题和 5 个场景候选,补齐正式来源并签认五渠道处理人 | 审核单、正式内容版本、授权矩阵;正式可发布计数从 0/0 提升到至少 5/30 |
| 5 | 7 月 31 日复跑安装、升级、回滚和完整 Go/No-Go | RC APK 哈希、签认人、回滚点、最终结论 |
公司法务签认与企业签名可在负责人明确接受“仅限小范围受控内部测试”的前提下不阻断技术验收,但不能省略登录页协议门禁、权限反例、版本冻结、生产依赖匹配和核心业务闭环。