docs(architecture): approve controlled trial SKU entry
This commit is contained in:
+38
-14
@@ -97,7 +97,7 @@
|
||||
┌──────────────── 第一趟:试选 ────────────────┐
|
||||
│ 采购工具轮询领取 PENDING 任务 │
|
||||
│ 1. open_product(url) │
|
||||
│ 2. 打开规格面板 │
|
||||
│ 2. 经版本绑定、精确唯一的受控入口打开规格面板 │
|
||||
│ 3. 按维度精确勾选颜色分类、尺码 │
|
||||
│ 4. 【闸门一】读该 SKU 单价,算合计 │
|
||||
│ 5. 截图 │
|
||||
@@ -139,6 +139,25 @@
|
||||
代价是同一商品走两遍,但第二趟很快,而且换来两个好处:手机可以在人思考时继续跑别的
|
||||
任务的试选;价格变动能被第二趟抓住。
|
||||
|
||||
### 第一趟受控规格面板入口
|
||||
|
||||
T-103 的真机证据推翻了“商品详情页存在独立规格入口”的假设:拼多多 8.17.0、goods_id
|
||||
`937122477375` 只能从“快要抢光”打开规格面板。项目所有者于 2026-08-04 批准把这一点击定义为
|
||||
**可逆且能力受限的规格面板导航**,不把它当作下单授权,也不把购买语义文案整体加入白名单。
|
||||
|
||||
第一趟执行器只能持有以下 capability:
|
||||
|
||||
1. 打开 canonical 商品链接。
|
||||
2. 点击与证据哈希、拼多多版本和页面状态绑定的精确唯一 `快要抢光` 入口。
|
||||
3. 在已确认的维度容器中精确选择规格并读回选中态。
|
||||
4. 从规格面板读取单价、生成脱敏派生证据、关闭面板并退出商品页。
|
||||
|
||||
第一趟 capability **不得包含**通用 `click`、数量增减、进入订单确认页、提交订单或付款能力。
|
||||
“免拼购买 / 单独购买 / 直接拼成”等其他文案即使人工认为行为相同,也必须各自重新取证后才能评审;
|
||||
入口缺失、重复、版本失配、打开后面板判据不唯一,或出现“提交订单”以外的未知终态按钮时立即停止。
|
||||
第一趟的静态依赖检查必须证明 `set_quantity()`、`go_to_order_confirm()`、`submit_order()` 和任何
|
||||
支付函数不可达。
|
||||
|
||||
### 三道价格闸门
|
||||
|
||||
| 闸门 | 位置 | 作用 | 不通过时 |
|
||||
@@ -175,7 +194,7 @@ V2 实现时仍遵守:**图搜的唯一产出是 goods_id**,不在搜索结
|
||||
| 提交订单控件唯一 | 文本精确等于「提交订单」且可点击祖先唯一,否则停 | 点到未知控件 |
|
||||
| 数量必须复核 | 设置后读回确认精确等于要求值,否则停 | 买错数量 |
|
||||
| 价格三道闸门 | 见第三节。任一道读不到或不通过即停,**不用其他位置的数字凑合** | 超预算采购 |
|
||||
| 第一趟不下单 | 试选阶段只勾选规格和读价,**绝不点击「现在买」或任何进入下单流程的入口** | 无授权下单 |
|
||||
| 第一趟不下单 | 只允许点击证据/版本绑定的精确唯一受控入口打开规格面板,当前仅为 `快要抢光`;随后只选规格、读价、脱敏取证和返回。数量、确认页、`提交订单`、付款与通用点击能力均不可达 | 无授权下单 |
|
||||
| 外部支付页 | 检测到微信等外部支付交接立即停止、转人工、保留证据 | 凭据泄露 |
|
||||
| 安全校验 | 检测到验证码、风控、人脸、短信校验立即停止,不尝试绕过 | 封号 / 违规 |
|
||||
| 敏感信息 | 只读非敏感摘要,不提取收货地址原文、手机号、支付凭据 | 隐私泄露 |
|
||||
@@ -368,21 +387,25 @@ PENDING_RETRIAL ─────────────┴─claim→ CLAIMED
|
||||
|
||||
| 数据 | 位置 | 理由 |
|
||||
| --- | --- | --- |
|
||||
| 候选商品页 / 规格页截图 | 上传采购服务 | 管理员做授权决策必须看 |
|
||||
| 订单确认页截图 | 上传采购服务 | 授权后核对与审计必须留 |
|
||||
| 订单核对截图 | 上传采购服务 | 资金核对证据 |
|
||||
| 完整节点树 XML | **仅采购工具本地** | 体积大、含页面全文、只用于排障 |
|
||||
| 原始商品页 / 规格页 screenshot/XML | **仅采购工具本机隔离目录** | PDD 页面不可避免包含收货区域和掩码手机号;只允许确定性脱敏器读取,不供业务、agent、fixture 或上传消费 |
|
||||
| 脱敏派生商品页 / 规格页截图 | 上传采购服务 | 管理员做授权决策必须看;服务端只接收派生哈希和 sanitizer 版本,原始/派生哈希映射仅留本机 manifest |
|
||||
| 最小脱敏 XML fixture | 采购工具测试 / 可提交 Git | 只保留页面判据所需结构;自动复检无地址、手机号、支付凭据后才可发布 |
|
||||
| 脱敏派生订单确认页截图 | 上传采购服务 | 授权后核对与审计必须留;原始物仍只在本机隔离目录 |
|
||||
| 脱敏派生订单核对截图 | 上传采购服务 | 资金核对证据;原始物仍只在本机隔离目录 |
|
||||
| AI 调用记录(P1) | **仅采购工具本地** | 含 prompt / 响应全文,脱敏成本高 |
|
||||
| 失败现场快照 | 仅采购工具本地,可按需手工导出 | 同上 |
|
||||
| 失败现场快照 | 原始物仅采购工具本机;只能手工导出脱敏派生物 | 同上 |
|
||||
|
||||
上传前必须脱敏:**不上传含收货地址、手机号、支付凭据的截图区域或文本。**
|
||||
原始目录不得被 HTTP sink、Vikunja 导出、日志或 fixture 构建器读取。脱敏器必须先验证设备分辨率、
|
||||
页面/App 版本和预期隐私区域,再同时生成派生 screenshot/XML;派生 XML 仍命中手机号模式、截图隐私
|
||||
区域无法确定、sanitizer 异常或任一哈希不一致时,不发布派生目录。上传端只接受 manifest 明确标记
|
||||
`privacy_tier=SANITIZED` 的派生截图,**不上传含收货地址、手机号、支付凭据的区域或文本。**
|
||||
|
||||
## 六、关键技术难点
|
||||
|
||||
| 难点 | 说明 | 应对 |
|
||||
| --- | --- | --- |
|
||||
| 拼多多页面结构随版本变化 | 前序项目已观察到详情页无独立规格入口、价格节点拆分等变化 | **每条判据先做真机 spike 取证再写代码**;判据与 App 版本一并记录 |
|
||||
| 规格面板安全入口 | T-103 已在拼多多 8.17.0 真机确认衣服商品只能通过“快要抢光 / 免拼购买 / 单独购买 / 直接拼成”等购买语义入口打开规格面板 | 触发 no-go,T-103 阻塞;第一趟不点击这些入口,不生成选择器。只有先完成架构决策和安全边界评审才能继续 |
|
||||
| 规格面板安全入口 | T-103 已在拼多多 8.17.0 真机确认衣服商品只能通过购买语义入口打开规格面板 | T-110 已批准仅使用当前证据证明的精确唯一 `快要抢光` 作为受控导航;其他文案不泛化,第一趟下单能力保持不可达 |
|
||||
| 规格面板上的价格位置 | 选中 SKU 后价格显示在哪、是否含券后前缀,未取证 | **T-103 必须一并取证**,闸门一依赖它;读不到就转人工,不用详情页数字凑合 |
|
||||
| 同一商品两趟结果不一致 | 第二趟价格变了、规格选项变了或商品下架 | 闸门二拦截;一律转人工,不自动放弃也不自动继续 |
|
||||
| 图搜结果含跨类目商品(V2) | 搜服装出现纸巾 | B 路径只产 goods_id 且限 5 个;后续用 VLM 看截图筛同款 |
|
||||
@@ -396,8 +419,9 @@ PENDING_RETRIAL ─────────────┴─claim→ CLAIMED
|
||||
## 七、推荐开发顺序
|
||||
|
||||
1. **Phase 0 地基**:两端骨架、测试命令、`init` 脚本可运行。
|
||||
2. **Phase 1 真机取证**:WiFi ADB 连通;打开商品 → 打开规格面板 → 按维度精确勾选颜色
|
||||
分类和尺码 → **读到该 SKU 单价** → 设数量 → 进订单确认页 → 读「实付款」。
|
||||
2. **Phase 1 真机取证**:WiFi ADB 连通;先验证第一趟的打开商品 → 受控打开规格面板 → 按维度
|
||||
精确勾选颜色分类和尺码 → **读到该 SKU 单价** → 脱敏取证 → 退出;再以独立的第二趟 spike
|
||||
验证设数量 → 进订单确认页 → 读「实付款」。第一趟 capability 不含后三项。
|
||||
**结论写入文档,判据带拼多多 App 版本。**
|
||||
3. **Phase 2 采购服务核心**:数据模型与状态机、手工建单、任务查询、试选结果接收、
|
||||
确认页与授权签发、**授权超时与放弃**。
|
||||
@@ -409,9 +433,9 @@ PENDING_RETRIAL ─────────────┴─claim→ CLAIMED
|
||||
**不要在 Phase 1 结论出来之前写 Phase 2 的页面**——确认页要显示什么,取决于真机上
|
||||
究竟能读到什么。尤其是闸门一的单价,如果规格面板上读不可靠,整个确认页的设计要改。
|
||||
|
||||
> 2026-08-04:Phase 1 已得到负面结论。拼多多 8.17.0 的已验证衣服商品没有独立安全规格入口,
|
||||
> 只能从购买语义按钮进入规格面板。按本节“第一趟不下单”边界,自动第一趟当前不可实现;Phase 2
|
||||
> 保持冻结,直到项目所有者选择并评审新的架构方向。该结论不授权点击购买入口。
|
||||
> 2026-08-04:Phase 1 证明已验证衣服商品没有独立规格入口。项目所有者随后批准 T-110 的受控入口
|
||||
> 方案:当前只允许证据绑定的精确唯一 `快要抢光` 打开规格面板,并以 capability 隔离保证数量、确认页、
|
||||
> 提交订单和付款在第一趟不可达。T-103 仍须先实现自动脱敏与新证据门禁,完成前 Phase 2 保持冻结。
|
||||
|
||||
## 八、项目结构
|
||||
|
||||
|
||||
Reference in New Issue
Block a user