# 06 — 统一代理主钱包冻结与解冻 **What to build:** 需要预占代理主钱包资金的完整用例可以统一冻结、解冻和完成冻结资金扣除,并与普通扣款维护同一个信用边界。并发冻结、取消和完成不会造成重复处理或总可用金额越界。 **Blocked by:** - `.scratch/ur38-agent-main-wallet-credit/issues/01-agent-main-wallet-credit-foundation.md` — 01 — 扩展代理主钱包信用模型与领域不变量 - `.scratch/ur38-agent-main-wallet-credit/issues/05-unified-agent-wallet-debit.md` — 05 — 统一代理订单、代购与钱包支付扣款 - `.scratch/tech-public-foundation/issues/02-transactional-public-outbox-write.md` — 02 — 在业务事务中可靠写入公共 Outbox **Status:** ready-for-agent **架构通道:** 复杂写,Application UseCase → Wallet Domain → Repository/Infrastructure。 **完整业务边界:** 本票收口代理主钱包冻结、解冻和冻结资金最终扣除的完整用例及统一并发规则。明确不迁移佣金钱包提现、资产钱包冻结或没有触碰代理主钱包的预占流程。 - [ ] 冻结使用总可用金额作为边界,允许冻结占用信用但不把冻结金额直接计为欠款;冻结成功后版本递增。 - [ ] 解冻只减少合法冻结金额,完成冻结资金扣除同时减少余额和冻结金额,并保持冻结金额非负及主钱包总可用金额合法。 - [ ] 每个调用用例将业务状态、钱包版本、必要真实金额流水、Audit Event 和 Outbox 在同一事务维护,失败时整体回滚。 - [ ] 状态条件和稳定业务引用保证重复冻结、重复取消、重复完成不会二次改变钱包;并发零受影响行可区分业务已处理与真实资金冲突。 - [ ] 现有代理主钱包冻结相关调用点不再直接拼接现金条件或绕过 Wallet Domain;佣金钱包原有提现边界保持不变。 - [ ] 测试覆盖纯现金冻结、占用信用、超额冻结、欠款状态下解冻、部分解冻、完成扣除、重复请求和并发竞态。