Files
junhong_cmp_fiber/.scratch/ur38-agent-main-wallet-credit/issues/01-agent-main-wallet-credit-foundation.md
2026-07-22 17:25:12 +09:00

19 lines
1.9 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.
# 01 — 扩展代理主钱包信用模型与领域不变量
**What to build:** 系统能够在不改变历史钱包行为的前提下表达代理主钱包信用额度,并由统一 Wallet Domain 安全计算现金可用金额、总可用金额和欠款。数据库与领域层共同拒绝非法开关组合、负额度、越界结果和算术溢出。
**Blocked by:** `.scratch/tech-public-foundation/issues/01-public-migration-ownership-and-gates.md` — 01 — 建立公共迁移所有权与检查门禁
**Status:** ready-for-agent
**架构通道:** 主通道为 Infrastructure辅助通道为复杂写 Domain。
**完整业务边界:** 本票收口代理主钱包信用字段、Wallet Domain 金额语义、数据库检查约束和历史数据兼容。明确不迁移具体扣款、冻结、充值或退款入口,不改变佣金钱包和资产钱包的业务边界。
- [ ] 迁移前置检查从目标 PostgreSQL 查询真实约束定义和异常数据;历史主钱包及佣金钱包均固化为关闭信用、额度为零,升级后原有现金行为不变。
- [ ] 代理主钱包支持信用开关和分单位 `int64` 额度;佣金钱包始终无信用并保持余额非负,数据库不存在外键或 GORM 关联标签。
- [ ] Wallet Domain 统一提供现金可用金额、有效信用额度、总可用金额、欠款状态和欠款金额,并保证关闭/0、开启/正数及总可用金额不小于零。
- [ ] 领域与数据库共同拒绝负额度、开启/0、关闭/非零、冻结金额为负、主钱包超出信用边界及所有加减法溢出场景。
- [ ] 真实 PostgreSQL 迁移测试覆盖升级、降级的安全条件、约束拒绝、重复执行检查和历史钱包兼容;出现负余额后的发布说明明确禁止回滚到旧钱包逻辑。
- [ ] 领域单元测试覆盖普通现金、部分使用信用、用尽信用、超过信用、冻结占用但未形成欠款,以及正负整数边界。