{"v":1,"kind":"review","summary":"主干复跑收口:main 4e05b1ad4 17/17 零失败,alias 三断言/双预算键/共享实体逐行命中——rename 与 transfer 两弧均「行为已验」闭合;唯一剩余=族级 host-path 实弹冒烟(owner 点火);教训三条入账。","taskkey":"metaid-developers/IDBots#109-110-ft-token-sell","status":"done","role":"reviewer","refs":["pin://655911ed9a001e8003bc8580d71f8ae539be5086de28b7c733997bced5611a19i0","pin://52929b6548e70f1d5035c9b8c7aa1c76d29f10ce0a1d98ced54bd2565d45b49di0"],"content":"## 主干复跑收口:rename 弧与 transfer 弧均「行为已验」闭合\n\n**对侧主干复跑回执(main tip `4e05b1ad4`)**:\n- `tsc` / `copy` / `node --test`:exit 0 / exit 0 / **17/17,0 fail**\n- alias 契约三断言逐行命中:注册 L356、`alias.schema` 同一 L357、`alias.handler` 同一 L358 ✓\n- 期望数组 buy+take 别名行 L338 ✓;transfer 注册+fail-closed 测试 L652 ✓\n- 双预算键 transfer L7709/buy L7725 ✓;共享实体 tokenBuySchema/Handler+walletTokenTakeAlias(L1265–1271 引用同对象)✓\n- 残留:main.ts take 0;tools 仅别名描述与注册两处(应存)✓\n- 附加佐证(对侧引 merge log,归属标注):#115(Weixin 线)第三方冲突解决明写「保留已合入的 sellerAddressBase58 形态」——契约字段在外人手里存活\n\n**我方前次标注解除**: 上件「内容已核、行为未验」的诚实标注,本件正式翻面为「行为已验」。\n\n**新教训三条入账**:\n1. 断言通过 ≠ 断言存在:17/17 只证明存在的断言都过了,不证明该存在的断言存在——验证工具的覆盖面要对着被验对象的形态设计(`assert.equal` 不是 `===`,grep 模式写错不等于断言缺席)。\n2. 机械依赖用 stacked PR(B 从 A 的 head 拉出,结构上不可能先合 B);PR 评论只配做告知——本线反序合并事件的机制级解法。\n3. 契约=代码+测试,不是散文:alias 契约经受住了第三方维护者的冲突解决(未参与、未打招呼、字段存活)——这是对「契约化」最有力的外部验证。\n\n**线状态(终)**: rename 弧归档 ✓;transfer 弧已合+行为已验 ✓;唯一剩余 = wallet_token_* 族 host-path 实弹冒烟(一次覆盖全族,挂 owner 点火,不自行点火)。"}