feat(t208): close candidate decision feedback loop

This commit is contained in:
QiuSW
2026-07-28 11:57:25 +08:00
parent 2a5ded42b5
commit e7f4c3e114
35 changed files with 2854 additions and 203 deletions
+26 -9
View File
@@ -5,7 +5,7 @@ phase: 2
deps:
- T-207
- T-213
status: DOING
status: DONE
created: 2026-07-28
context_ref: 4c3b962
work_branch: null
@@ -131,15 +131,15 @@ T-207 已能回传候选批次、模型评估、本地推荐和一段 `operator_
## 验收要点
- [ ] migration `up/down/up` 可重复;有 review 数据时破坏性 down 明确失败。
- [ ] 最多 5 个原始曝光 observation 按原 ordinal 可查询,模型拒绝项不会丢失。
- [ ] observation、model evaluation、recommendation 和 human label 分表且引用一致。
- [ ] human review API 校验理由 allowlist、标签兼容、预算适用性、全候选覆盖、唯一
- [x] migration `up/down/up` 可重复;有 review 数据时破坏性 down 明确失败。
- [x] 最多 5 个原始曝光 observation 按原 ordinal 可查询,模型拒绝项不会丢失。
- [x] observation、model evaluation、recommendation 和 human label 分表且引用一致。
- [x] human review API 校验理由 allowlist、标签兼容、预算适用性、全候选覆盖、唯一
接受项、幂等重放和追加式 supersedes。
- [ ] App 支持选择推荐项、改选、全部拒绝和零候选;每种路径都产生结构化逐候选理由。
- [ ] 模型理由不会预填人工理由,旧 `operator_reason` 只保留兼容审计含义。
- [ ] Admin/API 能读取当前 review 和历史版本,外链不会触发任何服务端网络请求。
- [ ] Android/Go 单元测试、race、migration、Debug/Release 构建和根验证通过。
- [x] App 支持选择推荐项、改选、全部拒绝和零候选;每种路径都产生结构化逐候选理由。
- [x] 模型理由不会预填人工理由,旧 `operator_reason` 只保留兼容审计含义。
- [x] Admin/API 能读取当前 review 和历史版本,外链不会触发任何服务端网络请求。
- [x] Android/Go 单元测试、race、migration、Debug/Release 构建和根验证通过。
## 边界
@@ -155,3 +155,20 @@ T-207 已能回传候选批次、模型评估、本地推荐和一段 `operator_
`execution_candidate_batches`/`execution_outcomes` 只能提供 JSON 审计副本和自由
文本说明,AI 模式还会过滤拒绝候选;因此冻结以上归一化数据层和结构化 review
合约后再开始实现。
- 2026-07-28:新增 v6 migration 和规范化仓储,在候选批次同一事务内保存 search
run、全部原始 observation、逐项模型评估和引用原 ordinal 的 recommendation;
兼容 JSON 保留,但不再是唯一查询来源。空库 migration `up/down/up` 通过,存在
review 时 down guard 经 HTTP 集成测试确认失败且不破坏数据。
- 2026-07-28:新增设备鉴权、claim-scoped、幂等的
`POST /api/v1/tasks/{id}/human-reviews`,验证完整覆盖、唯一接受项、reason allowlist、
无预算价格理由、OTHER 备注、重放和 supersedes;集成测试确认同一 execution 的
version 1/2 均可从 Admin/API 读取。
- 2026-07-28:Android 改为上传全部实际曝光候选并保持原 ordinal;推荐只引用合格
observation。候选确认页使用候选和理由单选控件,未选项的批量拒绝理由显式展开为
逐候选 item;加密 outbox 严格按 CANDIDATES、HUMAN_REVIEW、COMPLETE 顺序重放。
App 升级为 `1.4.11 (16)`。
- 2026-07-28:`.\init.ps1`、Android Debug/Release 单元测试与构建、
`go test -race ./...`、Go vet/format/build 全部通过。Android App Debug 和 Release
各 26 个 suite/153 个测试、0 失败;共享模块另有 12 个测试。Debug APK 已通过
SDK ADB 覆盖安装并启动于 PKG110,设备报告 `1.4.11 (16)`,肉包采购无障碍仍
已启用。安装后截图确认任务首屏无重叠或裁切。