{
  "source_path": "work_store/VWCG-1120-consumption-strategy-account-scope/task-contract.md",
  "status": "historical-conflict-snapshot-not-an-active-contract",
  "original_sha256": "fdede9475b4b65d21cbe8a53008c890e3c317738136cd69439e6aeef97cdc797",
  "original_text": "# VWCG-1120 任务契约\n\n## 任务目标\n\n基于云效 `VWCG-1120`、当前 `store` 分支代码及 `VWCG-1121` 三账户结算实现，形成可直接用于研发评审、任务拆分、测试设计和上线回滚的技术开发文档。\n\n## 本轮范围\n\n- 读取并保存云效需求正文和结构化字段。\n- 核验 PC 消费策略列表、新增、编辑、详情、校验和持久化实现。\n- 核验实时消费、异步快照消费、队列扣款、绑盘后结算、线上订餐的策略计算入口。\n- 核验当前分支中的个人、餐补、赠送三账户及统一结算能力。\n- 设计策略适用账户数据模型、接口合同、预分摊算法、幂等、迁移、测试、灰度和回滚方案。\n- 交付 Markdown 真源、HTML 人审版及证据说明。\n\n## 本轮不做\n\n- 不修改 `store` 业务代码、SQL、路由或前端页面。\n- 不创建云效研发子任务，不填写计划/实际工时，不更新工作项状态或评论。\n- 不提交或推送 `store` 当前业务分支。\n- 不把 Cloudflare 拦截的原型细节写成已核验事实。\n- 不修改遗留 `store/prompt/**`。\n\n## 分支约束\n\n- `store` 当前分支：`codex/VWCG-1121-pc-account-settings-20260727`。\n- 用户已确认后续开发继续使用当前分支。\n- 本轮仅产出控制资料，不切换分支。\n- 当前分支相对 `origin/master` 包含 `VWCG-1121` 提交 `472fed605`；`VWCG-1120` 技术实现必须建立在该三账户能力可用的前提上。\n\n## 已确认需求合同\n\n1. 策略可多选个人、餐补、赠送账户，选择项之间是 OR。\n2. 未选择账户禁止保存。\n3. 账户命中以原始应付金额按扣款顺序的预分摊结果为准。\n4. 仅预分摊金额大于 0 的账户算“本单使用账户”。\n5. 优先级高的策略账户不匹配时，继续匹配下一条策略。\n6. 历史策略升级后默认适用全部账户。\n7. 同步、异步、队列、绑盘和线上订餐必须使用同一命中合同。\n\n## 设计门禁\n\n下列事项在编码前必须由研发/产品确认：\n\n1. `VWCG-1121` 的 SQL、结算服务和订单拆分字段先于本需求进入目标环境。\n2. “个人账户”统一映射为结算键 `cash`，包含活动本金、可提现现金和合法透支，不拆成多个策略选项。\n3. 管理费导致最终应付金额增加、最终多使用一个账户时，资格仍按原始应付金额预分摊冻结，不二次改判策略。\n4. 异步链路以原消费事件使用的 Redis 账户快照冻结资格；队列落库不得按更新后的数据库余额重新选择策略。\n5. 原型样式由可访问环境人工复核。\n\n## 风险等级\n\n高。需求改变支付前的策略选择条件，影响账户资格、优惠金额和最终扣款；同时覆盖缓存、队列、定时任务、跨库结算、历史数据迁移和多订单来源。\n\n## 验收标准\n\n- 文档逐条映射云效需求和 9 条验收要点。\n- 表结构、接口参数、返回字段、迁移和回滚明确。\n- 原始金额预分摊算法不存在“优惠决定账户、账户反过来决定优惠”的循环。\n- 高优先级不匹配时能由查询自然落到下一条策略。\n- 同步与异步链路的资格快照、重试和幂等策略明确。\n- 历史策略在迁移后仍能命中个人、餐补、赠送任一账户。\n- 明确 `VWCG-1121` 依赖、测试矩阵、灰度与停止条件。\n\n## 交付物\n\n- `raw-request.md`\n- `source-evidence.md`\n- `technical-development-document.md`\n- `technical-development-document.html`\n- `review-note.md`\n<<<<<<< HEAD\n\n## 实施授权补充（2026-07-28）\n\n在技术文档完成并经用户确认后，用户进一步明确要求：\n\n> 那你根据此需求及消费策略适用账户与命中规则技术开发文档 进行开发\n\n因此原“本轮不做”中的“不修改业务代码、SQL 或前端页面”只适用于文档产出阶段，后续实施阶段已获得开发授权。实施继续使用用户指定的原分支，不自动提交、推送或运行流水线。\n\n实施阶段新增交付物：\n\n- `implementation-plan.md`\n- `verification.md`\n- `store` 仓库中的业务代码、SQL 和自动化测试改动\n=======\n>>>>>>> 5d05833ef476571c794ef3016336bc136526872c\n",
  "blocks": [
    {
      "line": 72,
      "variant_a": "\n## 实施授权补充（2026-07-28）\n\n在技术文档完成并经用户确认后，用户进一步明确要求：\n\n> 那你根据此需求及消费策略适用账户与命中规则技术开发文档 进行开发\n\n因此原“本轮不做”中的“不修改业务代码、SQL 或前端页面”只适用于文档产出阶段，后续实施阶段已获得开发授权。实施继续使用用户指定的原分支，不自动提交、推送或运行流水线。\n\n实施阶段新增交付物：\n\n- `implementation-plan.md`\n- `verification.md`\n- `store` 仓库中的业务代码、SQL 和自动化测试改动\n",
      "variant_b": ""
    }
  ]
}
