# Phase 2: 权限/财务/实名/轮询修复 - Discussion Log > **Audit trail only.** Do not use as input to planning, research, or execution agents. > Decisions are captured in CONTEXT.md — this log preserves the alternatives considered. **Date:** 2026-03-28 **Phase:** 02-perm-fin-realname-poll **Areas discussed:** 执行分组策略, REALNAME 数据迁移风险 --- ## 执行分组策略 | Option | Description | Selected | |--------|-------------|----------| | B+C+H 合一、G 独立 | 2 个 Plan:小修删掉合成一个,REALNAME 单独一个。风险隔离好,G 可以独立回滚 | ✓ | | B、C、G、H 各独立 | 4 个 Plan:最细粒度,但总费用较高(尤其 B 和 H 都很小) | | | 全部合并成一个 | 1 个 Plan:最快完成,但如果 G 失败就不知道是哪个需求的问题 | | **User's choice:** B+C+H 合一、G 独立 **Notes:** Plan 1 内部执行顺序确认为 B → H → C --- ## 执行顺序(Plan 1 内部) | Option | Description | Selected | |--------|-------------|----------| | B → H → C | 先权限修复(最小化验证),然后轮询小修,最后收尾财务流程。财务类改动放最后更安全 | ✓ | | H → B → C | 先轮询,再权限,最后财务 | | | Agent 自行决定 | 顺序不重要,由 agent 按依赖关系安排 | | **User's choice:** B → H → C --- ## REALNAME 数据迁移风险 | Option | Description | Selected | |--------|-------------|----------| | 直接默认 from_activation | 新字段 DEFAULT 'from_activation'。旧的 false 记录不做映射。expiry_base 控制计时基准,语义与旧字段不同,无法直接映射 | ✓ | | 脚本映射 false → from_purchase | UPDATE tb_package SET expiry_base='from_purchase' WHERE enable_realname_activation=false。但实际上旧字段的语义与新字段不完全对应 | | **User's choice:** 直接默认 from_activation,旧字段清理掉 **Notes:** "如果旧的字段没有用了就清理掉吧" --- ## Agent's Discretion - FIN-03 GORM v2 行锁语法(`clause.Locking`) - `isCEndPurchase` 的具体推断字段 - 每个子修复独立 commit 粒度 - POLL-03 Handler 层分页参数传入方式 ## Deferred Ideas None mentioned during discussion.