feat(t207): audit local procurement results

This commit is contained in:
QiuSW
2026-07-27 12:23:05 +08:00
parent a00c1e3e17
commit 4533df7abc
37 changed files with 4004 additions and 115 deletions
+18 -9
View File
@@ -4,7 +4,7 @@ title: 接入 App 本地 VLM、候选、事件和结果回传
phase: 2
deps:
- T-206
status: TODO
status: DONE
created: 2026-07-27
context_ref: 45d1436
work_branch: null
@@ -93,19 +93,19 @@ T-206 跑通任务领取和有限离线生命周期后,还需要把现有 App
## 验收要点
- [ ] Roubao 原有独立模式和 provider 选择可继续使用;旧 Key 成功迁移后普通
- [x] Roubao 原有独立模式和 provider 选择可继续使用;旧 Key 成功迁移后普通
SharedPreferences 无明文,迁移/解密失败安全阻断真实调用。
- [ ] 后台任务 payload 无 provider 地址、模型或 Key;伪造这些字段被拒绝/忽略且
- [x] 后台任务 payload 无 provider 地址、模型或 Key;伪造这些字段被拒绝/忽略且
不能修改 App 设置。
- [ ] `MANUAL_FIRST` 在无 VLM 时能完成候选采集和人工确认;`AI_ASSISTED` 由 App
- [x] `MANUAL_FIRST` 在无 VLM 时能完成候选采集和人工确认;`AI_ASSISTED` 由 App
直连配置的 HTTPS provider,抓包/测试证明管理后端不代理模型。
- [ ] 最多一次需求提取、最多 5 个候选评估;SKU/数量/预算保持原值,低置信度、
- [x] 最多一次需求提取、最多 5 个候选评估;SKU/数量/预算保持原值,低置信度、
无效 schema、超预算、证据不足和越权输出转人工或拒绝。
- [ ] 结果包含 provider/model/prompt/schema 和证据哈希但不含 Key、Authorization、
- [x] 结果包含 provider/model/prompt/schema 和证据哈希但不含 Key、Authorization、
完整 endpoint、订单号、店铺名或供应商原始响应正文。
- [ ] 事件、截图、候选、complete/fail 在断网、进程重启和响应丢失后不重复;授权
- [x] 事件、截图、候选、complete/fail 在断网、进程重启和响应丢失后不重复;授权
过期补报可审计,后台不会把 RUNNING 自动分给其他设备。
- [ ] 接受、拒绝、无匹配和转人工均要求 `operator_reason`;管理详情可还原执行过程,
- [x] 接受、拒绝、无匹配和转人工均要求 `operator_reason`;管理详情可还原执行过程,
并明确显示 `order_submitted=false`。
- [ ] migration up/down/up、Go unit/integration/race/vet、Android unit/instrumented、
Playwright 三视口、根 `init.ps1` 和 OnePlus PKG110 真机 smoke 通过。
@@ -119,4 +119,13 @@ T-206 跑通任务领取和有限离线生命周期后,还需要把现有 App
## 执行记录
- 尚未开始。
- 2026-07-27:开始实现后端 execution 结果审计、Android 加密 outbox 与本地 VLM/
候选流程接入。
- 2026-07-27:实现 `00005_execution_results`、设备结果 API、管理详情审计展示和
Android Keystore 凭证 fail-closed 迁移。Android 候选流程按手工/AI 模式生成加密
outbox,结果以同一幂等键重放;Go HTTP 集成测试和 Android debug/unit test 已通过。
- 2026-07-27:未执行真实 VLM、真实后台或 OnePlus PKG110 端到端 smoke;没有真实凭证
的真实模型调用未执行。OnePlus PKG110 已安装 Debug APK 并启动到任务登录页,无
crash/ANR;真实后台和端到端候选回传仍需要单独的测试账号/任务。
- 2026-07-27:根目录 `init.ps1`(`RUN_START_COMMAND=1`)通过,覆盖 Android
全模块测试与 Debug 构建、Go 测试/vet/构建,并重新安装、冷启动 Debug APK。