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

69 lines
14 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-30(CST)
>
> 评估对象:2026-08-01 受控内部测试 APK,不代表正式发布、应用商店上架或阶段一严格试点验收。
>
> 冻结范围与完整门禁见[《帮道 8 月 1 日 Android 安装包测试版任务计划》](帮道8月1日Android安装包测试版任务计划-20260727.md)。
## 结论
**功能链路已达到受控内测可用,但正式内容发布门禁仍为 No-Go。**
签名 `0.1.17 (117)` 已生成并通过包名、版本、API 35、禁止明文流量、DCloud 测试签名、登录法务与包内业务资源一致性深检;同一 APK 已覆盖安装到 vivo Android 15 真机,完成正式账号登录、学习中心、麦克风允许/拒绝/恢复、系统文件与媒体选择器取消、WAV 选择与生产 ASR、成果投稿确认保存,以及问师傅和五通道直通车回归。生产五通道各有 2 名有效后台处理人,并已完成本通道正例、跨通道拒绝和一次正式回复 `5/5`。项目发起人已接受受控内测的法务/测试签名例外。
最新后端 SHA-256 `b090a7752e1ce0bd83bff4808c0111c0035f7142e33402c0a9526e988929d314` 上线后,认证态线上冒烟和真机首页、学习中心、问师傅发问/返回引用均通过。30 道策略题的状态/边界/引用结构回归为 `30/30`,但来源复核确认至少一题的全部引用来自经验萃取/访谈材料。该缺口不能由账号签字、DCloud 签名例外或“测试数据可写”授权消除,因此机器批准清单继续失败关闭。
## 已通过
| 检查项 | 当前结果 |
|---|---|
| 当前运行时冻结 | 干净提交 `af8af2f6dd169e4616a4ca0ca724e8b809502ab3` 的 `0.1.13 (113)` 统一 RC 已完成,`releaseEligible=true`;证据目录为 `output/aug1-rc/0.1.13-113-af8af2f6-frozen/`,候选后端 JAR SHA-256 为 `93AD272118F6A28F88C2BFA305F5C450E163CBE22577FF5BE3E85B3BD3958DAD` |
| 移动端自动化 | 当前 209 项单元测试通过;TypeScript 类型检查通过;新增 Android SAF、FileChannel、应用专属外部缓存、麦克风预检、权限 Activity 焦点恢复、系统选择器生命周期,以及认证态 UI 审计不持久化手机号/验证码回归 |
| 构建 | 当前 App 发布资源预检、App-Plus 构建和 `0.1.17` APK 深检通过;本轮另复跑后端学习/成果投稿/直通车/语音定向测试 46 项及管理端直通车测试 4 项,均通过 |
| P0 后端语义 | `ruoyi-aihr` 708 项全量测试通过,0 失败、0 错误;本轮新增五通道处理人配置的超级管理员、租户和候选人资格契约覆盖 |
| 内容候选门禁 | 候选 JSON 继续保持 `PENDING_BUSINESS_REVIEW / publishable=false`;对应 5 个生产场景已形成独立 `v1.1` 内容哈希与审核链并发布。30 题结构回归 `30/30`,但逐题正式来源语义审核仍为 `0/30`,不得把引用存在性当作正式答案批准 |
| 最终业务就绪门禁 | `verify-aug1-formal-content.mjs --strict` 和 `verify-aug1-release-readiness.sh --execute` 继续失败关闭:批准清单仍为 `PENDING`,来源复核存在非正式材料命中。场景生产证据 `5/5`、通道真实闭环 `5/5`、策略结构回归 `30/30` 均已保存,但不能替代逐题来源审核 |
| App 资源门禁 | 正式法务 URL、登录页同意门禁、原生 `prompt=none`、API 35、图标和启动图检查通过 |
| 独立 APK | 当前候选为 `com.yincheng.wygj 0.1.17 (117)`,文件 `mobile-uni/dist/debug/bangdao-0.1.17-dcloud-test.apk`,大小 `33,922,976` 字节,SHA-256 `0A8581D70A5988E4BDCF4BB3F0C88B4608FA8C6785FDCF1569DD56CE88E27F60`,`targetSdkVersion=35`、DCloud 测试签名、明文 HTTP 关闭;签名证书 SHA-256 为 `AB06ECC0DE544DE73C385F3F0690B22966EBC12887FB8BEE1830CDBEFDEBEF5D` |
| 双提交交付包 | `output/aug1-release/bangdao-aug1-0.1.13-113-af8af2f6-ops46f4616b.zip`;运行时 `af8af2f6`、operations `46f4616b`,大小 `192,948,093` 字节,SHA-256 `F6DF4AB2660A4D3523C7E9785C1F8B572770F1F795A841E2D95C88936A8AE9C0`,20 个条目和内部哈希复核通过;严格门禁覆盖正式场景、问题证据、五类负责人、五通道授权/越权/单次正式回复和受控分发/法务/签名决策,包内 Go/No-Go 已指向当前双提交包,旧 `ops9c53668c` ZIP 只作历史追溯 |
| APK 内容门禁 | `0.1.17` 的包名/版本、原生提示、登录法务、未勾选拦截、身份失败关闭、敏感值、网络安全、签名和包内业务资源与当前 App-Plus 构建一致性均通过 |
| 真机安装启动 | vivo V2443A(Android 15/API 35)已从签名 `0.1.16` 保留数据覆盖升级到签名 `0.1.17`,Launcher 启动、前台 Activity 和页面渲染正常,未见 Crash/ANR;录音权限在负向测试后已恢复为授权,图片/视频权限继续保持未授权 |
| 虚拟机安装与生命周期 | 本机 `Medium_Phone` Android 15/API 35 已全新安装 `0.1.12`;启动原生隐私层不可见、四项敏感权限为 `false`、未见 Crash/ANR。AVD 为 `x86_64`、APK 仅含 ARM ABI,Weex 跨架构转译实际报 `spinWaitPeer`/IPC timeout;原生外壳证据有效,页面主体既不判失败也不判通过,不向发布包增加 x86 ABI或 H5 兜底 |
| Android 统一取证 | 当前 `0.1.17 (117)` 进程和前台 Activity 正常、原生隐私层 `not-visible`、未见历史 Crash/ANR;脱敏证据包括 `output/aug1-rc/android-acceptance/20260730-123230-aug1-0.1.17-authenticated-home/` 与 `20260730-123522-aug1-0.1.17-learning-center/` |
| 最新发布后真机复验 | vivo V2443A Android 15 上的 `0.1.17 (117)` 已重新登录;首页、学习中心、问师傅入口和真实发问/返回 3 条引用通过,未见 Crash/ANR,麦克风权限为允许。该复验同时确认经验萃取材料仍可能成为知识答案来源,因此功能通过不等于正式来源门禁通过 |
| 登录页法务策略 | 启动不再弹原生确认,包体门禁通过;vivo 真机实测协议默认未勾选、验证码/登录请求前失败关闭、勾选后进入验证码校验,两个链接分别打开线上服务协议和 2026-07-28 版隐私正文;脱敏截图不含手机号、验证码或令牌 |
| 真机登录与音频 | vivo 真机使用生产现有在职 APP 主体和固定码完成 `0.1.17` 页面登录;麦克风已覆盖允许、长按录音上滑取消、系统“禁止”、拒绝后的文件降级和权限恢复。系统文件/媒体选择器取消均正常回到 App;另选择 `191,352` 字节合成中文 WAV,生产 ASR 返回有效文本并进入问师傅,测试文件随后从手机和电脑删除 |
| 真机核心业务 | 学习中心加载真实今日任务、岗位 SOP 和错题本,无系统错误;成果投稿完成两条补充追问、确认卡和正式确认,返回投稿编号 `#7`、`PENDING/待审核`;大喇叭与直通车显示总裁、财务、人力、审计、运营五通道。测试投稿明确标记为 8 月 1 日真机验收记录 |
| 五通道处理人 | 生产只读查询按服务端同一资格规则排除 APP 用户、停用用户和超级管理员后,`direct_president/direct_finance/direct_hr/direct_audit/direct_operations` 均为 `2/2`,达到主处理人和备份门槛;人员身份不进入证据 |
| 生产固定码认证 | 运行时确认固定码和生产显式开关同时启用;生产应用日志确认首次和重新登录前的两次验证码请求均命中“未真实发送短信”分支。只选择已存在 `app_user` 的双向唯一在职主体,不触发自动注册,不输出手机号、固定码或令牌 |
| 认证后非真机主路径 | `scripts/verify-aug1-authenticated-production.sh --execute` 通过身份/非空项目范围、认证首页、训练历史/画像、五通道、我的反馈、大喇叭、考试、案例/全网能力只读入口、退出、旧令牌业务码 401、防刷窗口后的再次获取、重新登录、重新读取身份和再次退出;五通道返回数为 5。未提交业务写入、附件、ASR/TTS 或 Agent 请求 |
| 法务静态页 | `https://peilian.njzhmj.top/legal/terms.html` 与 `https://peilian.njzhmj.top/legal/privacy.html` 已部署并可访问;发布前站点备份为 `/opt/wygj/backups/www-20260728224710` |
| 生产 API 只读契约 | 可重复 GET-only 探针覆盖 20 个 APK 入口;固定码认证脚本另完成认证后只读主路径。`0.1.13` 所需的 `AihrMobileController` 身份失败关闭语义已包含在 2026-07-29 定向发布的生产后端中;本次发布后根站、租户和移动首页再次返回 HTTP 200 |
| 定向发布预检 | `566f222e` 已支持只核对后端 + schema;`feece9bb` 进一步允许以冻结提交和解压后的候选 JAR 为准。两次实际只读运行均跳过管理端/H5,根站、租户、移动首页和生产禁 DDL 门禁通过;后端 + schema 模式另通过 64/64 schema。冻结物模式确认本地 JAR SHA-256 为 `8c676f2f…`,最终均仅因现网/候选模块哈希 `15f5513a…` / `c93460e8…` 不同而按预期失败 |
| 后端发布/回滚计划 | `release-backend.sh` 固定生产 JAR 与 systemd 服务,默认只读,部署/回滚分别要求完整哈希授权串和干净工作区;备份、原子切换、90 秒公开端点就绪等待、发布后预检、失败恢复及并发改包保护均有回归。2026-07-29 已用完整授权串完成定向发布,生产 JAR 为 `5376b67b…`、服务 active、三个公开入口 HTTP 200、媒体重试 schema 契约通过,后端回滚目录已保留 |
## No-Go 阻断项
1. **正式内容与负责人签认仍为空。** 严格门禁当前仍准确失败:`releaseStatus`、正式内容版本和来源未批准,5 个生产场景仅是停用草稿,30 道题没有正式答案,5 个通道、5 类负责人签认均未完成,正式可发布场景仍为 `0/5`,有据标准答案仍为 `0/30`。真实访谈、已上传资料、生产草稿和测试投稿都不能自动替代业务审核。
2. **剩余同包真机门禁尚未完成。** `0.1.17` 已覆盖登录、学习、麦克风正反例、文件/媒体选择器取消、音频选择和 ASR,但真实断网恢复、WebRTC、实际图片/视频/文档选择与上传、受控下载、主管/候选人角色同包回归仍需完成。
3. **通道业务验收尚未签字。** 五通道各 2 名有效处理人已配置,员工端入口已通过;仍需获批处理人分别完成正例、跨通道越权反例和一次正式回复,并由通道负责人记录批准,不能仅用数据库人数代替业务验收。
4. **APK 分发与企业发布尚未签认。** `0.1.17` 当前使用 DCloud 测试签名;受控分发批准、测试签名接受、企业签名/公司法务决策、分发证据哈希和发布负责人签字仍为 `PENDING`,因此不能称为 8 月 1 日正式可分发版本。
## 转为 Go 的最短路径
| 顺序 | 必须完成 | 验收证据 |
|---|---|---|
| 已完成 | 确定 APK、后端、管理端/H5、数据库四个发布单元并生成 `0.1.13` DCloud 云端证书 APK | `0.1.13 (113)` APK SHA-256 `FA2D2A6D…`,API 35、v2 测试签名和深检通过;`0.1.12` ZIP 只作上一冻结基线 |
| 已完成 | 在干净提交上冻结 `0.1.13` APK 与候选后端 JAR,并执行生产只读发布计划 | `releaseEligible=true`,冻结目录 `output/aug1-rc/0.1.13-113-af8af2f6-frozen/`;候选 JAR `93AD2721…` 和当时现网 `46C99CFF…` 只保留为冻结/发布前基线 |
| 已完成 | 获得明确授权后使用 `release-backend.sh deploy` 发布内容语义、移动身份失败关闭和后续资料处理恢复;保留回滚点并完成发布后验证 | 生产 JAR `5376B67B…`、服务 active、三个公开入口 HTTP 200、媒体重试 schema 契约通过;管理端同步发布,移动 H5 未重发 |
| 已完成 | 使用生产现有在职 APP 主体和固定码完成非真机认证、退出、重新获取、重新登录及认证后只读主路径;固定码请求不真实发送短信 | `scripts/verify-aug1-authenticated-production.sh --execute` 全部通过,五通道数为 5,旧令牌按业务码 401 拒绝,两次验证码请求均有“未真实发送”日志;执行过程不输出手机号、固定码或令牌 |
| 已完成 | 生成、深检并在 Android 15 真机安装当前 `0.1.17 (117)` 签名候选,复跑登录、学习中心、麦克风正反例、选择器取消、音频 ASR、成果投稿确认和五通道入口 | APK SHA-256 `0A8581D7…`、签名 `AB06ECC0…`、API 35、业务资源一致;录音权限测试后已恢复,测试音频已清理 |
| 已完成 | 为五个直通车角色配置符合资格的主处理人和备份 | 生产只读计数五个角色均为 `2/2`,不输出人员身份 |
| 1 | 业务方按统一签认单审核 30 道题和 5 个场景候选,补齐正式来源、五通道业务验收和五类负责人签字 | [业务内容与五通道签认单](帮道8月1日业务内容与五通道签认单-20260729.md)、正式内容版本、来源哈希、授权矩阵;场景 `5/5`、题目 `30/30`、通道 `5/5`、负责人 `5/5` |
| 2 | 在同一 `0.1.17` 包继续完成真实断网、WebRTC、实际图片/视频/文档、受控下载及主管/候选人角色,并完成五通道正例/越权反例/一次正式回复 | 每条用例的时间、角色、结果和脱敏证据;不记录手机号、验证码、令牌或反馈正文 |
| 3 | 完成受控分发、测试签名接受或企业签名、公司法务和发布负责人决策 | `distributionApproval=APPROVED`、分发证据引用与 SHA-256、签名决定和签认时间 |
| 4 | 在干净提交上冻结 `0.1.17` APK 和交付包,7 月 31 日复跑安装、升级、回滚及完整 Go/No-Go | RC 提交、APK/交付包哈希、回滚点、签认人和最终结论 |
公司法务签认与企业签名可在负责人明确接受“仅限小范围受控内部测试”的前提下不阻断技术验收,但不能省略登录页协议门禁、权限反例、版本冻结、生产依赖匹配和核心业务闭环。