- **负责 AC**:platform#101 合并后、cutover 前,把 LedgerEntry/LedgerPage 类型切到 V1 新形状(`seq/op_id/kind/domain/amount(带符号)/window_id?/external_ref?/created_at(整数 ms)`;旧 `id/type/title/amount_fen/status` 已删,`schema_version` 仍为 1 的**原地 breaking**,无兼容 shim),严格 decode 对新页面不再抛 `ContractIncompatibleError`。 - **边界(具体文件)**:`packages/alpha-contracts-consumer/src/types.ts`(旧 LedgerEntry 定义,~:56)、`packages/ui-mac/src/main/alpha-account.ts`(严格 decode 调用点,~:51);并向 platform `contracts/v1` 提交 alpha-code 的 LedgerPage consumer fixture(pin 进 `contracts:check`)。 - **Out-of-scope**:不做双形状兼容层(基线 #37 允许 hard cut);账单 UI 展示语义调整另票。 - **退出条件**:打包端账单页对新 wire 形状 decode 通过;consumer fixture 进 platform `contracts:check` 绿。本票是 **platform#101 cutover 的硬前置**(部署顺序:与 platform cutover 同一维护窗、先于或同时发布;#101 合并本身不 cutover)。
seq/op_id/kind/domain/amount(带符号)/window_id?/external_ref?/created_at(整数 ms);旧id/type/title/amount_fen/status已删,schema_version仍为 1 的原地 breaking,无兼容 shim),严格 decode 对新页面不再抛ContractIncompatibleError。packages/alpha-contracts-consumer/src/types.ts(旧 LedgerEntry 定义,:56)、:51);并向 platformpackages/ui-mac/src/main/alpha-account.ts(严格 decode 调用点,contracts/v1提交 alpha-code 的 LedgerPage consumer fixture(pin 进contracts:check)。contracts:check绿。本票是 platform#101 cutover 的硬前置(部署顺序:与 platform cutover 同一维护窗、先于或同时发布;feat(ui-mac): REQ-030/031 收口 —— A 侧 snapshot 跟随 + 回写(B 侧已 prod 实证) #101 合并本身不 cutover)。