4.6 KiB
4.6 KiB
Phase 0 Research: REV-004 账务处理一期
Decision 1: 一期范围严格收敛到 REV-004 + IF-REV-007
- Decision: 一期仅覆盖水量调整、金额调整、退款、冲正、坏账申请五类场景,并以
IF-REV-007作为统一账务处理入口。 - Rationale:
spec.md、12_REV_Detailed.md、03_Interface_Design.md与REV004_ACCOUNTING_EXECUTION_PLAYBOOK.md对该范围已形成交集口径;继续扩展到IF-REV-008、IF-REV-011或IF-CS-*、IF-METER-*会超出一期边界。 - Alternatives considered:
- 扩展为账务平台级改造:超范围。
- 按旧系统菜单全量恢复所有账务对象:不符合“保守补完”原则。
Decision 2: 先统一共性能力,再按场景分批组织后续实施计划
- Decision: 后续实施计划采用“共性能力先统一、场景能力再分批”的组织方式。
- Rationale: 各场景共享留痕、原始依据、结果状态、回写状态、接口与数据库口径;先统一这些共性能力,才能避免场景拆解后产生重复建模和状态不一致。
- Alternatives considered:
- 先做退款或冲正单场景:容易固化局部口径。
- 所有场景并行拆分:放大一致性风险。
Decision 3: 在线主模型复用 biz_charge* + biz_operat_log*,不新增独立账务台账表族
- Decision: 一期在线主模型以
biz_charge、biz_charge_detail、biz_operat_log、biz_operat_log_detail为主承接,退款/冲正等场景按流程与留痕处理,不新建平行细表。 - Rationale:
01_Database_Design.md已明确旧系统精细账务台账按历史只读保留,新发生业务由在线主模型与日志承接;12_REV_Detailed.md也要求未识别为独立实体的对象只保留业务场景语义。 - Alternatives considered:
- 新增预存退款/价差调整/分账调整明细表:违背一期最小闭环原则。
- 机械平移旧系统全部账务表:与当前正式主文档不一致。
Decision 4: 退款/冲正必须联动原交易校验
- Decision: 退款、冲正等涉及原支付修正的场景,统一依赖
bk_transaction*进行原交易存在性、状态与可处理性校验。 - Rationale:
12_REV_Detailed.md要求退款、冲正与原支付流水及渠道状态联动;执行手册把“原交易存在性 / 可退金额 / 状态可调性”列为一期关键缺口。 - Alternatives considered:
- 仅按账单状态处理:审计与对账风险高。
- 各场景独立定义交易校验:口径会分裂。
Decision 5: 审批/BPM 一期只保留能力位
- Decision: 一期仅保留
approvalRequired、PENDING_APPROVAL等能力位和边界说明,不展开完整审批流程、节点或流转规则,也不强接 BPM。 - Rationale:
spec.md已明确审批相关内容本轮仅保留能力位;执行手册说明 BPM 只有在审批场景、流程 key、回写规则确认后才实接。 - Alternatives considered:
- 一期直接实接 BPM:前提不足。
- 完全忽略审批:与详设、接口和规格不一致。
Decision 6: 本轮验收入口以文档与计划质量为准
- Decision: 本轮验收入口限定为文档一致性、计划可拆解性与台账可回写性,不以 backend 代码完成度作为前提。
- Rationale: 当前 feature 已在 clarify 中明确“文档收敛 + 生成实施计划,但先不改 backend 代码”。
- Alternatives considered:
- 以代码落地作为本轮验收:不符合当前阶段目标。
Decision 7: Plan 阶段的最小校验以文档门禁为主
- Decision: quickstart 与计划中的最小校验以
make validate-file、make check-links、make validate-mermaid为主,不引入构建、导出或代码编译命令。 - Rationale: Constitution 要求按文档改动范围执行最小校验;当前 plan 阶段的交付对象仍是文档设计产物。
- Alternatives considered:
- 使用全量
make validate或导出命令:成本过高,且不属于当前最小门禁。 - 加入 backend 构建/测试命令:超出本轮范围。
- 使用全量
Decision 8: Project Progress / Task Checklist 仅在正式变更或任务闭环时更新
- Decision: 仅生成 speckit plan/research 产物时不强制更新
01_Project_Progress.md和03_Task_Checklist.md;待正式主文档修订落地或任务拆解/完成时再更新。 - Rationale: 台账应承载正式里程碑和任务闭环,而不是记录计划草稿流水。
- Alternatives considered:
- 在 plan 阶段立即更新全部台账:噪音过大。
- 完全不考虑台账更新:不符合宪法闭环要求。