From d9a31cbfa6b8660e17a0bda5a271639689b055dc Mon Sep 17 00:00:00 2001 From: QiuSW <105186638@qq.com> Date: Tue, 4 Aug 2026 22:01:45 +0800 Subject: [PATCH] docs(tasks): define T-106 confirm evidence --- docs/tasks/T-106.md | 75 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 docs/tasks/T-106.md diff --git a/docs/tasks/T-106.md b/docs/tasks/T-106.md new file mode 100644 index 0000000..6d1516a --- /dev/null +++ b/docs/tasks/T-106.md @@ -0,0 +1,75 @@ +--- +id: T-106 +title: 确认页、闸门三与返回路径真机取证 +phase: 1 +deps: [T-105] +status: TODO +created: 2026-08-04 +vikunja_task_id: 41 +context_ref: 0144054 +work_branch: task/t-106-confirm-evidence +needs_device: true +needs_human_review: true +write_paths: + - docs/tasks/T-106.md + - client/src/cmbuyer_client/pdd/order_confirm_spike.py + - client/tests/pdd/test_order_confirm_spike.py + - client/scripts/capture_order_confirm_spike.py + - docs/current-state.md +--- + + +## 问题 / 背景 + +T-105 验证规格面板数量与闸门二后,下一步会进入更高风险的订单确认页。T-106 只由人手工准备确认页、最终提交控件可见态和一次返回后的页面,再用完全只读脚本采集真机事实;本任务不自动导航、不写确认页判据。 + +## 关联需求与交互 + +- 功能:F-011、F-016。 +- 用户故事:US-004、US-005。 +- 依赖:T-105。 +- 后续消费者:T-107。 +- 需要真机和人工页面对应性、安全结果确认。 + +## 方案 + +1. 提供只读取证 CLI,唯一能力为核对指定设备/App 版本、app_current、screenshot 与 compressed=false XML、hash 和原子 manifest;静态禁止 click、press/back、swipe、input、intent 和任意 UI 修改。 +2. 人先手工完成已取证规格/数量并进入确认页,停在规格、数量、应付总额及最终“提交订单”控件可见的安全状态;绝不能点击最终提交控件。 +3. 只读采集确认页主体与最终控件状态,记录准确规格、数量、应付总额、控件精确文案/匹配数/启用态;这些只是人工观察,不转成生产 selector。 +4. 随后由人只按一次返回并停手,再用同一只读取证 CLI 采集返回后的页面。Back 结果不明不再次按;记录页面身份与是否回到证据允许的安全页面。 +5. 三组证据都记录设备型号、Android、USB/WiFi、serial、PDD 版本、goods_id、截图/XML 路径和 SHA-256;完整 XML 仅留本机。 +6. 如果人误触最终提交、产生待付款订单、进入支付/安全验证/外部页面或页面结果不明,立即停止、不重试、不继续取证,并如实记录路径为不可用;绝不操作付款。 +7. 当前规格面板中出现“提交订单 ¥...”不能仅凭文案推断为确认页导航或最终控件;T-107 只能消费本任务由人确认的结构事实。 + +## 验收要点 + +- 静态证明 spike/CLI 没有任何 UI 修改 API;mock 覆盖设备/版本/包/截图/XML/超时/原子发布/异常脱敏。 +- 人工确认三组截图/XML对应:确认页规格数量金额、最终控件可见态、一次返回后页面。 +- 执行记录列出准确控件文案与匹配数,但不把坐标/selector 作为结论;完整 XML、地址、手机号、支付信息不进 Git/Vikunja/日志。 +- 明确记录未点击最终提交、未创建订单、未进入支付;若相反则任务保持 DOING/受阻且不自动处置。 +- client 全量 unittest、compileall、完整 init、上下文校验、Vikunja 导出与 diff-check 通过;agent 不得自行标 DONE。 + +## 执行记录 + +### 2026-08-04T14:01:13Z · ila + +2026-08-04 预研定值:T-106 与 T-107 分开,严格只做人工准备页面后的只读取证;采集代码零 UI 修改,最终提交控件不点击,一次返回也由人执行且结果不明不重试。 + + +## 边界 + +- 本任务只实现和运行只读取证能力:设备/App 摘要、`app_current`、screenshot、`compressed=false` XML、 + hash 与原子 manifest。代码中不得出现 click、press/back、swipe、input、intent 或其他 UI 修改 API, + 不得自动进入或退出确认页,也不得从前序项目、旧 XML 或推理写生产判据。 +- 确认页、最终提交控件可见态和一次返回后的页面都由人手工准备;人不得点击最终“提交订单”控件。 + 一次返回结果不明时不得再次按 Back。agent 只采集已准备状态,不远程替人执行这些动作。 +- 人工验收必须明确规格、数量、应付总额、最终控件精确文案/匹配数/启用态和返回后的页面身份; + 本任务只记录真机事实,不把文案、坐标、节点或 selector 批准为生产能力。 +- 规格面板中出现的“提交订单 ¥...”不得凭文案推断为确认页导航或最终提交控件。任何确认页入口、 + 金额节点、最终控件和返回后置条件都必须等 T-107 从本任务已确认的证据中最小化固化。 +- 若人工误触最终提交、产生待付款订单、进入支付/安全验证/外部页面或结果不明,立即停止、不重试、 + 不继续取证并如实记录;绝不点击支付、免密支付、先用后付或任何扣款控件。 +- 原始 screenshot/XML 只留 `%LOCALAPPDATA%\cmbuyer\artifacts\T-106\...`,不提交 Git、不上传采购服务, + 不把完整 XML、地址、手机号、支付信息、页面全文或本机路径写入普通日志/Vikunja/fixture。 +- `needs_device: true`:agent 不得自行标 DONE。只有人确认三组证据对应、一次返回安全、未点击最终提交、 + 未创建订单且未进入支付相关页面,任务才可完成。