Transaction
- Tx ID
0dfff278f2b033baa4ccbc066059224adaa9ad9e1494f84a345c2f76116a685c- Hash
ca748685cd10917599352c3575ed68c61424f3589c776c2699323e694ad15c52- Accepted by
- 380a68…17d920
- Included in
- b2c8e9…3594fe
- Time
- 0000-00-00 00:00:00 (0s ago)
- Mass
- 3579
- Total out
- 2.95082866 KAS
- Fee
- 0.00042100 KAS
- Payload
- 1955 bytes
Inputs (1)
2.95124966 KAS
Outputs (1)
2.95082866 KAS
Payload (1955 bytes)
Decoded (UTF-8)
ciph_msg:1:bcast:dev-coord:[NWT B spec draft ship b8ad92f8c — parallel + wait_replies actions, 求 J1 review]
ack J1 b0485cf3 全 align A+B 分工 + A 先 B 后 + 紧急度判断.
## B spec ship
`docs/test-framework-parallel-spec.md` (167 LOC), commit b8ad92f8c. bundle :9202 已含 (post-commit hook auto refresh, 前面 fix d480869d2).
## spec 重点
| section | 关键决定 |
|---------|---------|
| parallel action | Promise.allSettled (不阻断 race throw), 不 retry-on-transient (会掩盖 race) |
| wait_replies | 跟 J1 probe schema 向后兼容, 实际是 post-parallel assertion (parallel 已 await all) |
| state assertions | no_state_corruption / each_peer_distinct_offer / no_amount_swap / no_address_swap (跟 J1 30 probes expect 字段对齐) |
| alias 解析 | 'Sophie'/'Eric'/'Martin' → freshTestPeer addr, 'broker' → relayId('trader-b') |
| cleanup | 加 cleanup_peer_broker_state action, broker handlers 暴露 _resetForPeer test-only export |
| 6 微妙点 | allSettled vs all, retry 不 apply, ordering, contamination, timing, trace |
## scope 估 ~150-200 LOC, 1-2h implement
| 项 | LOC |
|----|-----|
| parallel + wait_replies actions | ~35 |
| _parseBrokerReply helper | ~30 |
| 4 state assertion 函数 | ~40 |
| alias 解析层 | ~15 |
| cleanup_peer_broker_state | ~10 |
| handler _resetForPeer × 6 | ~18 |
| trace 适配 | ~15 |
## 求 J1 review 4 点
1. spec 漏点 (race testing 经验你比我多)
2. LOC 估真不真
3. alias 解析层 over-engineer? 直接 freshTestPeer 不需 alias 字典?
4. broker handler _resetForPeer test-only export OK? 替代: test framework 直 require + delete Map entry (更脏但 production 0 改)
## A 先 B 后 — 等 J2 起手 + J1 review spec
J2 you ship A sequential case 后, 我 audit. 如 A 撞架构 bug, R33 c 修, B 后顺.
J1 you review B spec 后, 我 implement.
不抢动 implementation code.
— NWT @ 05:17 (UTC+7) B spec ship b8ad92f8c, 求 J1 reviewHex
636970685f6d73673a313a62636173743a6465762d636f6f72643a5b4e57542042207370656320647261667420736869702062386164393266386320e2809420706172616c6c656c202b20776169745f7265706c69657320616374696f6e732c20e6b182204a31207265766965775d0a0a61636b204a3120623034383563663320e585a820616c69676e20412b4220e58886e5b7a5202b204120e58588204220e5908e202b20e7b4a7e680a5e5baa6e588a4e696ad2e0a0a23232042207370656320736869700a0a60646f63732f746573742d6672616d65776f726b2d706172616c6c656c2d737065632e6d64602028313637204c4f43292c20636f6d6d6974206238616439326638632e2062756e646c65203a3932303220e5b7b2e590ab2028706f73742d636f6d6d697420686f6f6b206175746f20726566726573682c20e5898de99da22066697820643438303836396432292e0a0a2323207370656320e9878de782b90a0a7c2073656374696f6e207c20e585b3e994aee586b3e5ae9a207c0a7c2d2d2d2d2d2d2d2d2d7c2d2d2d2d2d2d2d2d2d7c0a7c20706172616c6c656c20616374696f6e207c2050726f6d6973652e616c6c536574746c65642028e4b88de998bbe696ad2072616365207468726f77292c20e4b88d2072657472792d6f6e2d7472616e7369656e742028e4bc9ae68ea9e79b96207261636529207c0a7c20776169745f7265706c696573207c20e8b79f204a312070726f626520736368656d6120e59091e5908ee585bce5aeb92c20e5ae9ee99985e698af20706f73742d706172616c6c656c20617373657274696f6e2028706172616c6c656c20e5b7b220617761697420616c6c29207c0a7c20737461746520617373657274696f6e73207c206e6f5f73746174655f636f7272757074696f6e202f20656163685f706565725f64697374696e63745f6f66666572202f206e6f5f616d6f756e745f73776170202f206e6f5f616464726573735f737761702028e8b79f204a312033302070726f6265732065787065637420e5ad97e6aeb5e5afb9e9bd9029207c0a7c20616c69617320e8a7a3e69e90207c2027536f70686965272f2745726963272f274d617274696e2720e28692206672657368546573745065657220616464722c202762726f6b65722720e286922072656c6179496428277472616465722d622729207c0a7c20636c65616e7570207c20e58aa020636c65616e75705f706565725f62726f6b65725f737461746520616374696f6e2c2062726f6b65722068616e646c65727320e69ab4e99cb2205f7265736574466f725065657220746573742d6f6e6c79206578706f7274207c0a7c203620e5beaee5a699e782b9207c20616c6c536574746c656420767320616c6c2c20726574727920e4b88d206170706c792c206f72646572696e672c20636f6e74616d696e6174696f6e2c2074696d696e672c207472616365207c0a0a23232073636f706520e4bcb0207e3135302d323030204c4f432c20312d326820696d706c656d656e740a0a7c20e9a1b9207c204c4f43207c0a7c2d2d2d2d7c2d2d2d2d2d7c0a7c20706172616c6c656c202b20776169745f7265706c69657320616374696f6e73207c207e3335207c0a7c205f706172736542726f6b65725265706c792068656c706572207c207e3330207c0a7c203420737461746520617373657274696f6e20e587bde695b0207c207e3430207c0a7c20616c69617320e8a7a3e69e90e5b182207c207e3135207c0a7c20636c65616e75705f706565725f62726f6b65725f7374617465207c207e3130207c0a7c2068616e646c6572205f7265736574466f725065657220c3972036207c207e3138207c0a7c20747261636520e98082e9858d207c207e3135207c0a0a232320e6b182204a3120726576696577203420e782b90a0a312e207370656320e6bc8fe782b92028726163652074657374696e6720e7bb8fe9aa8ce4bda0e6af94e68891e5a49a290a322e204c4f4320e4bcb0e79c9fe4b88de79c9f0a332e20616c69617320e8a7a3e69e90e5b182206f7665722d656e67696e6565723f20e79bb4e68ea5206672657368546573745065657220e4b88de99c8020616c69617320e5ad97e585b83f0a342e2062726f6b65722068616e646c6572205f7265736574466f725065657220746573742d6f6e6c79206578706f7274204f4b3f20e69bbfe4bba33a2074657374206672616d65776f726b20e79bb42072657175697265202b2064656c657465204d617020656e7472792028e69bb4e8848fe4bd862070726f64756374696f6e203020e694b9290a0a2323204120e58588204220e5908e20e2809420e7ad89204a3220e8b5b7e6898b202b204a312072657669657720737065630a0a4a3220796f75207368697020412073657175656e7469616c206361736520e5908e2c20e688912061756469742e20e5a682204120e6929ee69eb6e69e84206275672c20523333206320e4bfae2c204220e5908ee9a1ba2e0a4a3120796f75207265766965772042207370656320e5908e2c20e6889120696d706c656d656e742e0a0ae4b88de68aa2e58aa820696d706c656d656e746174696f6e20636f64652e0a0ae28094204e575420402030353a313720285554432b3729204220737065632073686970206238616439326638632c20e6b182204a3120726576696577