Files
aetherbound-guild/docs/plans/M71_DEV6_RECEIPTS_VERIFICATION.md
T

3.2 KiB
Raw Blame History

M71 · DEV-6 服务/回执验证计划

权威:GOAL_ABG_MVP_QUALITY.md + AGENTS.md。前置:M68/DEV-6R UI 迁移、M70 清理。 Owner 指示(2026-09-14):"先不打包,先做 3",随后确认开 DEV-6 玩法/服务。

Player-visible stopping point

解雇、合同返回、装备购买的服务层语义(回执、幂等、冲突、锁定、余额/库存/成长保持) 由 runtime/tests/dev6/* 规格测试证明通过;全部规格测试与采集/安全测试在单一 1280×720 下 green,且现行全部严格门不受影响。

Measured facts (2026-09-14)

  • guild_contract_service.gd 已含 create_contract / hire_recruit / purchase_equipment / dismiss_recruit / return_contract(含 operation_id/intent_hash/receipt_hash 幂等与冲突码)。
  • dev6 三个规格测试此前失败的真因是测试卫生:固定帧等待 + 旧多尺寸(844×390/EXPAND) → 触摸落空 → 后续断言读空对象崩溃;并非服务缺失。
  • 采集/安全测试(4 个)同样带旧尺寸 fixture 与过期 marker 文本。

Ordered steps

  1. M71-A:COMPLETE (2026-09-14)。:dev6 七个测试收敛到单尺寸 + 条件等待(_wait_for_node 含布局稳定帧); 过期 marker 文本改为真实矩阵。规格语义不改。
  2. M71-B:COMPLETE (2026-09-14),attempt m71-dev6 20260914T095702Z-52977。源绑定验证(dev6 七个 + 现行全部严格门 + 入口/全流程)。
  3. M71-C:COMPLETE (2026-09-14)。结清 M65-I04/M68-I02(回执链路已实现并验证),更新账本/checkpoint,推送。

Acceptance checks

  • ABG_DEV6_ROSTER_OK、ABG_DEV6_RETURN_OK、ABG_DEV6_GROWTH_OK、 ABG_M45_CONTRACT_RETURN_SAFETY_OK、ABG_M16_COMPANY_CAPTURE_OK、 ABG_M45_CONTRACT_RETURN_CAPTURE_OK、ABG_DEV6_CAPTURE_OK 各恰好一次
  • 现行门(m63/m53/m54/m52/m55/m66/m67/m68)与入口/全流程 marker 全部保持恰好一次
  • 无修改服务语义(只改测试;如暴露真缺陷则修产品并记录)

Frozen scope

  • 不改玩法数值、经济公式、存档结构;不加新系统。
  • 不重做页面视觉;单尺寸 1280×720。

M71 结果(2026-09-14)

  • DEV-6 服务层早已实现且语义完整:purchase_equipment / dismiss_recruit / return_contract 具备操作 ID、意图哈希、回执哈希、幂等重试、冲突拒绝、阵型锁、余额/库存/成长保持。
  • 三个规格测试此前失败的真因是测试卫生(固定帧触摸 + 旧 844×390):触摸落空 → 断言读空对象。 收敛为单尺寸 + _wait_for_node(含 2 帧布局稳定)后全部通过,且未改任何服务语义。
  • 采集/安全测试(4 个)同步收敛;过期 marker 文本改为真实矩阵(matrix=1280x720)。
  • 七个 dev6 测试 + 现行门(入口 22 / 委托 2 / 市场 6 / 适配器)+ DEV2 全流程全部 green, 11 个 required marker 各恰好 1 次、strict 0。

Issue register

ID 状态 内容
M71-I01 RESOLVED 三个规格测试的失败真因 = 固定帧触摸 + 旧尺寸;服务层无缺失
M71-I02 RESOLVED 采集测试 marker 文本中的旧矩阵字符串(本轮已改为 1280×720 真实值)