Files
junhong_cmp_fiber/.scratch/ur40-off-shelf-package-renewal/issues/06-non-personal-entrypoint-shelf-enforcement.md
2026-07-22 17:49:25 +09:00

20 lines
2.1 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.
# 06 — 封堵后台代购与自动购包的下架绕过
**What to build:** 平台后台订单、代理代购和充值后自动购包等现有非个人续费入口,都会使用统一套餐可售策略按写时事实校验。它们可以继续购买符合原有规则的正常在售套餐,但遇到下架套餐时固定拒绝,不能借用个人客户的历史续费资格。
**Blocked by:** 01 — 建立统一套餐可售决策与真实历史资格
**Status:** ready-for-agent
**架构通道:** 主通道为复杂写,辅助通道为 Infrastructure Worker。
**完整业务边界:** 本票只改造仓库中已经存在的平台后台普通订单、代理代购和自动购包入口,使其消费同一策略并关闭下架绕过。明确不实现 UR#36 批量订购、不迁移其他订单、钱包或佣金用例、不允许非个人主体进入 `renew_only`
- [ ] 后台单笔、平台代购、代理代购和自动购包使用显式 actor 与 operation context 调用统一策略,不再通过绕过代理渠道校验、强制平台渠道或只加载套餐价格的方式跳过上下架规则。
- [ ] 所有非个人续费场景遇到当前渠道下架套餐固定返回 `disabled`;即使资产存在同套餐有效历史,也不能获得 `renew_only`
- [ ] 套餐全局禁用、代理分配缺失/禁用/软删除、价格异常、赠送限制及现有主套餐/加油包组合规则在各入口得到一致执行。
- [ ] 正常上架的平台和代理渠道后台购买、代购及自动购包保持原业务语义、结算方式和价格来源,不因本需求扩大迁移范围。
- [ ] 自动购包任务在实际扣款和创建订单前按最新资产、generation、渠道、套餐及价格重新校验不能使用充值单创建时的旧资格快照放行。
- [ ] 各入口返回或记录统一安全业务原因Handler、Worker 和 Service 不向客户端或日志直接暴露底层数据库错误。
- [ ] 测试形成入口矩阵,验证个人 C 端下架续费可通过,而平台后台、平台代理、代理代购和自动购包对同一下架套餐全部拒绝,同时正常上架路径不回归。