@wowok/agent-mcp 3.4.3 → 3.4.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (853) hide show
  1. package/dist/.build-stamp.json +3 -3
  2. package/dist/build-stamp.js +1 -0
  3. package/dist/chain-semantics/composition-truth.js +1 -1
  4. package/dist/chain-semantics/eval-order.js +1 -1
  5. package/dist/chain-semantics/freeze-map.js +1 -1
  6. package/dist/chain-semantics/fund-flow.js +1 -1
  7. package/dist/chain-semantics/object-graph.js +1 -1
  8. package/dist/composition/audit.js +1 -1
  9. package/dist/composition/compile.js +1 -1
  10. package/dist/composition/emit-phases.js +1 -1
  11. package/dist/composition/generate.js +1 -1
  12. package/dist/composition/guard-fill.js +1 -1
  13. package/dist/composition/input-normalize.js +1 -1
  14. package/dist/composition/materialize.js +1 -1
  15. package/dist/composition/mode-gates.js +1 -1
  16. package/dist/composition/plan.js +1 -1
  17. package/dist/composition/product-card.js +1 -1
  18. package/dist/composition/shape-expand.js +1 -0
  19. package/dist/config/judgment.js +1 -1
  20. package/dist/config/template-params.js +1 -1
  21. package/dist/data/sync/cdc.js +1 -1
  22. package/dist/data/sync/graphql-source.js +1 -1
  23. package/dist/evaluation/engine.js +1 -1
  24. package/dist/experience/realtime-feedback.js +1 -1
  25. package/dist/graph/onchain/expand.js +1 -1
  26. package/dist/graph/onchain/exposure.js +1 -1
  27. package/dist/graph/onchain/sdk-batch.js +1 -1
  28. package/dist/harness/entry-ignite-selfheal.js +1 -0
  29. package/dist/harness/forward-leg-preflight.js +1 -0
  30. package/dist/harness/recover.js +1 -1
  31. package/dist/keeper/detectors.js +1 -1
  32. package/dist/knowledge/allocator-rail-verifier.js +1 -1
  33. package/dist/knowledge/arb-operation-face.js +1 -0
  34. package/dist/knowledge/arbitration-rail-verifier.js +1 -1
  35. package/dist/knowledge/arbitration-templates.js +1 -1
  36. package/dist/knowledge/audit-rules.d.ts +15 -0
  37. package/dist/knowledge/audit-rules.js +1 -1
  38. package/dist/knowledge/baselines/rules/alloc_audit.json.good +310 -0
  39. package/dist/knowledge/baselines/rules/allocation.json.good +568 -0
  40. package/dist/knowledge/baselines/rules/arb.json.good +174 -0
  41. package/dist/knowledge/baselines/rules/arbitration.json.good +393 -0
  42. package/dist/knowledge/baselines/rules/bridge.json.good +197 -0
  43. package/dist/knowledge/baselines/rules/contact.json.good +152 -0
  44. package/dist/knowledge/baselines/rules/demand.json.good +158 -0
  45. package/dist/knowledge/baselines/rules/graph.json.good +534 -0
  46. package/dist/knowledge/baselines/rules/guard.json +18 -5
  47. package/dist/knowledge/baselines/rules/guard.json.good +1192 -0
  48. package/dist/knowledge/baselines/rules/machine.json.good +734 -0
  49. package/dist/knowledge/baselines/rules/oracle.json +1 -1
  50. package/dist/knowledge/baselines/rules/oracle.json.good +120 -0
  51. package/dist/knowledge/baselines/rules/order.json.good +549 -0
  52. package/dist/knowledge/baselines/rules/payment.json.good +205 -0
  53. package/dist/knowledge/baselines/rules/permission.json.good +330 -0
  54. package/dist/knowledge/baselines/rules/personal.json.good +139 -0
  55. package/dist/knowledge/baselines/rules/plan.json +343 -1
  56. package/dist/knowledge/baselines/rules/plan.json.good +1187 -0
  57. package/dist/knowledge/baselines/rules/progress.json.good +364 -0
  58. package/dist/knowledge/baselines/rules/proof.json.good +158 -0
  59. package/dist/knowledge/baselines/rules/registrar.json.good +159 -0
  60. package/dist/knowledge/baselines/rules/repository.json.good +244 -0
  61. package/dist/knowledge/baselines/rules/resource.json.good +117 -0
  62. package/dist/knowledge/baselines/rules/reward.json +10 -10
  63. package/dist/knowledge/baselines/rules/reward.json.good +586 -0
  64. package/dist/knowledge/baselines/rules/service.json.good +595 -0
  65. package/dist/knowledge/baselines/rules/treasury.json.good +440 -0
  66. package/dist/knowledge/baselines/rules/util.json.good +101 -0
  67. package/dist/knowledge/builtin-templates.d.ts +13 -1
  68. package/dist/knowledge/builtin-templates.js +1 -1
  69. package/dist/knowledge/chain-query-registry.js +1 -1
  70. package/dist/knowledge/discount-threshold.js +1 -1
  71. package/dist/knowledge/fee-param-bindings.js +1 -1
  72. package/dist/knowledge/fund-layer.d.ts +2 -0
  73. package/dist/knowledge/fund-layer.js +1 -1
  74. package/dist/knowledge/getting-started.js +1 -1
  75. package/dist/knowledge/guard-binding-table.js +1 -1
  76. package/dist/knowledge/guard-binding-verifier.js +1 -1
  77. package/dist/knowledge/guard-create-preflight.js +1 -0
  78. package/dist/knowledge/guard-field-cognition.js +1 -1
  79. package/dist/knowledge/guard-host-context.js +1 -1
  80. package/dist/knowledge/guard-leg-eval.js +1 -0
  81. package/dist/knowledge/guard-node-gates.js +1 -1
  82. package/dist/knowledge/guard-puzzle.js +1 -1
  83. package/dist/knowledge/guard-quality.js +1 -0
  84. package/dist/knowledge/guard-render.js +1 -1
  85. package/dist/knowledge/guard-risk.js +1 -1
  86. package/dist/knowledge/guard-semantic-walk.js +1 -0
  87. package/dist/knowledge/guard-templates.d.ts +1 -0
  88. package/dist/knowledge/guard-templates.js +1 -1
  89. package/dist/knowledge/guard-translation.js +1 -1
  90. package/dist/knowledge/index.js +1 -1
  91. package/dist/knowledge/industry-registry.js +1 -1
  92. package/dist/knowledge/jsonrpc-enum.js +1 -1
  93. package/dist/knowledge/param-schema.js +1 -1
  94. package/dist/knowledge/param-tiers.js +1 -1
  95. package/dist/knowledge/path-oracle/coverage.js +1 -1
  96. package/dist/knowledge/path-oracle/index.js +1 -1
  97. package/dist/knowledge/path-oracle/products/airbnb.js +1 -0
  98. package/dist/knowledge/path-oracle/products/algora.js +1 -0
  99. package/dist/knowledge/path-oracle/products/alibaba-1688.js +1 -0
  100. package/dist/knowledge/path-oracle/products/amazon.js +1 -0
  101. package/dist/knowledge/path-oracle/products/beatstars.js +1 -0
  102. package/dist/knowledge/path-oracle/products/booking-com.js +1 -0
  103. package/dist/knowledge/path-oracle/products/contra.js +1 -0
  104. package/dist/knowledge/path-oracle/products/costco.js +1 -0
  105. package/dist/knowledge/path-oracle/products/coursera.js +1 -0
  106. package/dist/knowledge/path-oracle/products/duoduo-maicai.js +1 -0
  107. package/dist/knowledge/path-oracle/products/etsy.js +1 -0
  108. package/dist/knowledge/path-oracle/products/food-delivery.js +1 -1
  109. package/dist/knowledge/path-oracle/products/gamefound.js +1 -0
  110. package/dist/knowledge/path-oracle/products/gofundme.js +1 -0
  111. package/dist/knowledge/path-oracle/products/hackerone.js +1 -0
  112. package/dist/knowledge/path-oracle/products/kickstarter.js +1 -0
  113. package/dist/knowledge/path-oracle/products/klook.js +1 -0
  114. package/dist/knowledge/path-oracle/products/ninety-nine-designs.js +1 -0
  115. package/dist/knowledge/path-oracle/products/onlyfans.js +1 -0
  116. package/dist/knowledge/path-oracle/products/patreon.js +1 -0
  117. package/dist/knowledge/path-oracle/products/pinduoduo-kuaituantuan.js +1 -0
  118. package/dist/knowledge/path-oracle/products/royalty-exchange.js +1 -0
  119. package/dist/knowledge/path-oracle/products/shansong.js +1 -0
  120. package/dist/knowledge/path-oracle/products/taobao-presale.js +1 -0
  121. package/dist/knowledge/path-oracle/products/upwork-catalog.js +1 -0
  122. package/dist/knowledge/path-oracle/products/upwork.js +1 -0
  123. package/dist/knowledge/path-oracle/products/yuanfudao.js +1 -0
  124. package/dist/knowledge/path-oracle/products/ziroom.js +1 -0
  125. package/dist/knowledge/pattern-resolutions.js +1 -1
  126. package/dist/knowledge/product-detail-source.js +1 -1
  127. package/dist/knowledge/product-doc-b5.js +1 -1
  128. package/dist/knowledge/product-doc-facets.js +1 -0
  129. package/dist/knowledge/projection.js +1 -1
  130. package/dist/knowledge/publish-gate.js +1 -1
  131. package/dist/knowledge/publish-surface-contract.js +1 -1
  132. package/dist/knowledge/recipient-constraint.d.ts +20 -0
  133. package/dist/knowledge/recipient-constraint.js +1 -1
  134. package/dist/knowledge/rule-declaration-types.d.ts +13 -0
  135. package/dist/knowledge/rule-declaration-types.js +1 -0
  136. package/dist/knowledge/rule-declarations.js +1 -0
  137. package/dist/knowledge/scenario-modes.d.ts +6 -0
  138. package/dist/knowledge/scenario-topology.js +1 -1
  139. package/dist/knowledge/template-loader.js +1 -1
  140. package/dist/knowledge/template-prose.js +1 -1
  141. package/dist/knowledge/template-registry.js +1 -1
  142. package/dist/knowledge/template-scanner.js +1 -1
  143. package/dist/knowledge/tools-reference.js +1 -1
  144. package/dist/monitor/MonitorLoop.js +1 -1
  145. package/dist/playbooks/service-build/business-puzzle.js +1 -1
  146. package/dist/playbooks/service-build/machine-panorama.js +1 -1
  147. package/dist/playbooks/service-build/merchant-guide.js +1 -1
  148. package/dist/playbooks/service-build/object-panorama.js +1 -1
  149. package/dist/playbooks/service-build/participation-radar.js +1 -1
  150. package/dist/playbooks/service-build/relationship-profile.js +1 -1
  151. package/dist/playbooks/service-build/service-panorama.js +1 -1
  152. package/dist/playbooks/service-build/service-quote.js +1 -1
  153. package/dist/review/index.js +1 -1
  154. package/dist/review/service.js +1 -1
  155. package/dist/safety/confirm-gate.js +1 -1
  156. package/dist/schema/benchmark-migration/index.d.ts +9 -0
  157. package/dist/schema/benchmark-migration/index.js +1 -1
  158. package/dist/schema/call/arbitration.d.ts +8 -0
  159. package/dist/schema/call/arbitration.js +1 -1
  160. package/dist/schema/call/base.d.ts +8 -0
  161. package/dist/schema/call/base.js +1 -1
  162. package/dist/schema/call/bridge.d.ts +2 -0
  163. package/dist/schema/call/error-codes.d.ts +1 -1
  164. package/dist/schema/call/error-codes.js +1 -1
  165. package/dist/schema/call/handler.d.ts +2 -1
  166. package/dist/schema/call/handler.js +1 -1
  167. package/dist/schema/call/order.d.ts +10 -0
  168. package/dist/schema/call/permission-handler.js +1 -1
  169. package/dist/schema/call/permission.js +1 -1
  170. package/dist/schema/call/progress.d.ts +15 -0
  171. package/dist/schema/call/progress.js +1 -1
  172. package/dist/schema/call/receipt.d.ts +1 -0
  173. package/dist/schema/call/receipt.js +1 -1
  174. package/dist/schema/call/repository.d.ts +12 -0
  175. package/dist/schema/call/repository.js +1 -1
  176. package/dist/schema/call/reward.js +1 -1
  177. package/dist/schema/call/semantic.d.ts +1 -0
  178. package/dist/schema/call/semantic.js +1 -1
  179. package/dist/schema/call/service.d.ts +5 -3
  180. package/dist/schema/call/service.js +1 -1
  181. package/dist/schema/common/index.js +1 -1
  182. package/dist/schema/envelope-unify.js +1 -1
  183. package/dist/schema/goal/index.d.ts +23 -0
  184. package/dist/schema/goal/planning.js +1 -1
  185. package/dist/schema/industry-pack/index.d.ts +2 -2
  186. package/dist/schema/local/index.d.ts +20 -0
  187. package/dist/schema/local/index.js +1 -1
  188. package/dist/schema/local/wip.d.ts +4 -0
  189. package/dist/schema/local/wip.js +1 -1
  190. package/dist/schema/messenger/index.d.ts +5 -0
  191. package/dist/schema/messenger/index.js +1 -1
  192. package/dist/schema/operations.d.ts +944 -1
  193. package/dist/schema/operations.js +1 -1
  194. package/dist/schema/query/bi.js +1 -1
  195. package/dist/schema/query/index.d.ts +5 -5
  196. package/dist/schema/query/index.js +1 -1
  197. package/dist/schema/schema-version.js +1 -1
  198. package/dist/schema/workspace/index.d.ts +2 -2
  199. package/dist/schema-query-impl/index.js +1 -1
  200. package/dist/schemas/account_operation.schema.json +1 -257
  201. package/dist/schemas/ask_user.schema.json +1 -78
  202. package/dist/schemas/benchmark_migration_operation.schema.json +1 -626
  203. package/dist/schemas/bridge_operation.schema.json +1 -1069
  204. package/dist/schemas/config_operation.schema.json +1 -82
  205. package/dist/schemas/employee_operation.schema.json +1 -319
  206. package/dist/schemas/evaluation_operation.schema.json +1 -3932
  207. package/dist/schemas/goal_operation.schema.json +1 -1650
  208. package/dist/schemas/guard2file.schema.json +1 -137
  209. package/dist/schemas/index.json +1 -285
  210. package/dist/schemas/industry_pack_operation.schema.json +1 -582
  211. package/dist/schemas/intent_radar.schema.json +1 -155
  212. package/dist/schemas/keeper_operation.schema.json +1 -364
  213. package/dist/schemas/local_cache_operation.schema.json +1 -116
  214. package/dist/schemas/local_history_operation.schema.json +1 -105
  215. package/dist/schemas/local_info_operation.schema.json +1 -140
  216. package/dist/schemas/local_mark_operation.schema.json +1 -124
  217. package/dist/schemas/machineNode2file.schema.json +1 -137
  218. package/dist/schemas/messenger_operation.schema.json +1 -2068
  219. package/dist/schemas/monitor_events.schema.json +1 -87
  220. package/dist/schemas/monitor_subscription.schema.json +1 -327
  221. package/dist/schemas/onchain_events.schema.json +1 -207
  222. package/dist/schemas/onchain_operations.schema.json +1 -28699
  223. package/dist/schemas/onchain_operations_allocation.schema.json +1 -1376
  224. package/dist/schemas/onchain_operations_arbitration.schema.json +1 -1355
  225. package/dist/schemas/onchain_operations_contact.schema.json +1 -988
  226. package/dist/schemas/onchain_operations_demand.schema.json +1 -1146
  227. package/dist/schemas/onchain_operations_gen_passport.schema.json +1 -663
  228. package/dist/schemas/onchain_operations_gen_proof.schema.json +1 -180
  229. package/dist/schemas/onchain_operations_guard.schema.json +1 -8518
  230. package/dist/schemas/onchain_operations_machine.schema.json +1 -1879
  231. package/dist/schemas/onchain_operations_order.schema.json +1 -1121
  232. package/dist/schemas/onchain_operations_payment.schema.json +1 -316
  233. package/dist/schemas/onchain_operations_permission.schema.json +1 -1036
  234. package/dist/schemas/onchain_operations_personal.schema.json +1 -1463
  235. package/dist/schemas/onchain_operations_progress.schema.json +1 -1041
  236. package/dist/schemas/onchain_operations_proof.schema.json +1 -750
  237. package/dist/schemas/onchain_operations_repository.schema.json +1 -2046
  238. package/dist/schemas/onchain_operations_reward.schema.json +1 -1286
  239. package/dist/schemas/onchain_operations_service.schema.json +1 -2602
  240. package/dist/schemas/onchain_operations_treasury.schema.json +1 -1527
  241. package/dist/schemas/onchain_table_data.schema.json +1 -1146
  242. package/dist/schemas/permission_operation.schema.json +1 -43
  243. package/dist/schemas/persona_operation.schema.json +1 -10424
  244. package/dist/schemas/query_toolkit.schema.json +1 -1867
  245. package/dist/schemas/schema_query.schema.json +1 -116
  246. package/dist/schemas/service_clone_operation.schema.json +1 -49
  247. package/dist/schemas/settle_sweep.schema.json +1 -0
  248. package/dist/schemas/strategy_review_operation.schema.json +1 -66
  249. package/dist/schemas/verify_guard_dry_run.schema.json +1 -0
  250. package/dist/schemas/watch_operation.schema.json +1 -145
  251. package/dist/schemas/wip_file.schema.json +1 -299
  252. package/dist/schemas/workflow_operation.schema.json +1 -722
  253. package/dist/schemas/workspace_operation.schema.json +1 -104
  254. package/dist/schemas/wowok_buildin_info.schema.json +1 -758
  255. package/dist/tools/handlers/benchmark-migration.js +1 -1
  256. package/dist/tools/handlers/config.js +1 -1
  257. package/dist/tools/handlers/entry-edge-recipe.js +1 -1
  258. package/dist/tools/handlers/file-export.js +1 -1
  259. package/dist/tools/handlers/local.js +1 -1
  260. package/dist/tools/handlers/messenger.js +1 -1
  261. package/dist/tools/handlers/onchain.js +1 -1
  262. package/dist/tools/handlers/pending-settlement-recipe.js +1 -0
  263. package/dist/tools/handlers/plan-recovery.js +1 -0
  264. package/dist/tools/handlers/query.js +1 -1
  265. package/dist/tools/handlers/repository-row-id.js +1 -0
  266. package/dist/tools/handlers/review-chain.js +1 -1
  267. package/dist/tools/handlers/settle-sweep.js +1 -0
  268. package/dist/tools/handlers/stale-build-check.js +1 -1
  269. package/dist/tools/handlers/submission-assembly.js +1 -1
  270. package/dist/tools/handlers/verify-guard-dry-run.js +1 -0
  271. package/dist/tools/handlers/wip-upload.js +1 -1
  272. package/dist/tools/index.d.ts +3 -1
  273. package/dist/tools/index.js +1 -1
  274. package/dist/tools/move-fn-index.gen.js +1 -1
  275. package/dist/tools/publish-gate-state.js +1 -1
  276. package/dist/tools/registry/business.js +1 -1
  277. package/dist/tools/registry/onchain.js +1 -1
  278. package/dist/tools/shared.js +1 -1
  279. package/dist/tools/types.d.ts +1 -1
  280. package/dist/tools/wrap.js +1 -1
  281. package/package.json +11 -4
  282. package/dist/chain-semantics/composition-truth.d.ts +0 -102
  283. package/dist/chain-semantics/eval-order.d.ts +0 -17
  284. package/dist/chain-semantics/field-capability.d.ts +0 -11
  285. package/dist/chain-semantics/freeze-map.d.ts +0 -11
  286. package/dist/chain-semantics/fund-flow.d.ts +0 -10
  287. package/dist/chain-semantics/guard-verbs.d.ts +0 -22
  288. package/dist/chain-semantics/index.d.ts +0 -12
  289. package/dist/chain-semantics/object-graph.d.ts +0 -18
  290. package/dist/communication/evidence.d.ts +0 -6
  291. package/dist/communication/message-cursors.d.ts +0 -35
  292. package/dist/communication/proof-reuse.d.ts +0 -9
  293. package/dist/communication/wts-attestation.d.ts +0 -39
  294. package/dist/composition/audit.d.ts +0 -15
  295. package/dist/composition/blueprint-view.d.ts +0 -63
  296. package/dist/composition/compile.d.ts +0 -83
  297. package/dist/composition/emit-phases.d.ts +0 -234
  298. package/dist/composition/generate.d.ts +0 -40
  299. package/dist/composition/guard-fill.d.ts +0 -52
  300. package/dist/composition/inflight.d.ts +0 -86
  301. package/dist/composition/input-normalize.d.ts +0 -15
  302. package/dist/composition/materialize.d.ts +0 -78
  303. package/dist/composition/mode-gates.d.ts +0 -35
  304. package/dist/composition/param-disclosure.d.ts +0 -61
  305. package/dist/composition/plan-retry-ledger.d.ts +0 -37
  306. package/dist/composition/plan.d.ts +0 -121
  307. package/dist/composition/product-card.d.ts +0 -94
  308. package/dist/composition/reflux.d.ts +0 -28
  309. package/dist/composition/supply-chain-emit.d.ts +0 -46
  310. package/dist/config/config-audit.spec.d.ts +0 -1
  311. package/dist/config/config-audit.spec.js +0 -1
  312. package/dist/config/config-warnings.d.ts +0 -2
  313. package/dist/config/index.d.ts +0 -4
  314. package/dist/config/judgment.spec.d.ts +0 -1
  315. package/dist/config/judgment.spec.js +0 -1
  316. package/dist/config/match-policy-file.d.ts +0 -34
  317. package/dist/config/match-policy-file.spec.d.ts +0 -1
  318. package/dist/config/match-policy-file.spec.js +0 -1
  319. package/dist/config/rule-engine.spec.d.ts +0 -1
  320. package/dist/config/rule-engine.spec.js +0 -1
  321. package/dist/config/runtime.d.ts +0 -29
  322. package/dist/config/store-policy.d.ts +0 -14
  323. package/dist/config/store-policy.spec.d.ts +0 -1
  324. package/dist/config/store-policy.spec.js +0 -1
  325. package/dist/config/template-params.d.ts +0 -42
  326. package/dist/config/template-params.spec.d.ts +0 -1
  327. package/dist/config/template-params.spec.js +0 -1
  328. package/dist/customer/account-events.d.ts +0 -32
  329. package/dist/data/api/api.spec.d.ts +0 -1
  330. package/dist/data/api/api.spec.js +0 -1
  331. package/dist/data/api/cli.d.ts +0 -1
  332. package/dist/data/api/head.d.ts +0 -16
  333. package/dist/data/api/head.spec.d.ts +0 -1
  334. package/dist/data/api/head.spec.js +0 -1
  335. package/dist/data/api/index.d.ts +0 -2
  336. package/dist/data/api/match.d.ts +0 -69
  337. package/dist/data/api/match.spec.d.ts +0 -1
  338. package/dist/data/api/match.spec.js +0 -1
  339. package/dist/data/api/server.d.ts +0 -13
  340. package/dist/data/projection/cli.d.ts +0 -1
  341. package/dist/data/projection/edges.d.ts +0 -8
  342. package/dist/data/projection/edges.spec.d.ts +0 -1
  343. package/dist/data/projection/edges.spec.js +0 -1
  344. package/dist/data/projection/facets.d.ts +0 -18
  345. package/dist/data/projection/facets.spec.d.ts +0 -1
  346. package/dist/data/projection/facets.spec.js +0 -1
  347. package/dist/data/projection/facts.d.ts +0 -40
  348. package/dist/data/projection/index.d.ts +0 -6
  349. package/dist/data/projection/project.d.ts +0 -10
  350. package/dist/data/projection/projection.spec.d.ts +0 -1
  351. package/dist/data/projection/projection.spec.js +0 -1
  352. package/dist/data/projection/schema.d.ts +0 -1
  353. package/dist/data/projection/store.d.ts +0 -51
  354. package/dist/data/projection/types.d.ts +0 -169
  355. package/dist/data/sync/cdc.d.ts +0 -33
  356. package/dist/data/sync/cdc.spec.d.ts +0 -1
  357. package/dist/data/sync/cdc.spec.js +0 -1
  358. package/dist/data/sync/graphql-source.d.ts +0 -16
  359. package/dist/data/sync/index.d.ts +0 -5
  360. package/dist/data/sync/reconciler.d.ts +0 -14
  361. package/dist/data/sync/reconciler.spec.d.ts +0 -1
  362. package/dist/data/sync/reconciler.spec.js +0 -1
  363. package/dist/data/sync/schema.d.ts +0 -1
  364. package/dist/data/sync/store.d.ts +0 -24
  365. package/dist/data/sync/sync.spec.d.ts +0 -1
  366. package/dist/data/sync/sync.spec.js +0 -1
  367. package/dist/data/sync/synchronizer.d.ts +0 -10
  368. package/dist/data/sync/types.d.ts +0 -164
  369. package/dist/evaluation/acceptance.d.ts +0 -33
  370. package/dist/evaluation/architecture.spec.d.ts +0 -1
  371. package/dist/evaluation/architecture.spec.js +0 -1
  372. package/dist/evaluation/builtins/arbitration-score.d.ts +0 -42
  373. package/dist/evaluation/builtins/demand-match.d.ts +0 -16
  374. package/dist/evaluation/builtins/graph-service.spec.d.ts +0 -1
  375. package/dist/evaluation/builtins/graph-service.spec.js +0 -1
  376. package/dist/evaluation/builtins/index.d.ts +0 -4
  377. package/dist/evaluation/builtins/purity.spec.d.ts +0 -1
  378. package/dist/evaluation/builtins/purity.spec.js +0 -1
  379. package/dist/evaluation/composer.d.ts +0 -38
  380. package/dist/evaluation/facets/catalog.d.ts +0 -19
  381. package/dist/evaluation/gap.d.ts +0 -2
  382. package/dist/evaluation/guard-scan.d.ts +0 -10
  383. package/dist/evaluation/index.d.ts +0 -14
  384. package/dist/evaluation/injection.d.ts +0 -6
  385. package/dist/evaluation/location-match.d.ts +0 -42
  386. package/dist/evaluation/match-operation.d.ts +0 -23
  387. package/dist/evaluation/match-policy-resolver.d.ts +0 -9
  388. package/dist/evaluation/match-policy.spec.d.ts +0 -1
  389. package/dist/evaluation/match-policy.spec.js +0 -1
  390. package/dist/evaluation/path-reasoning.d.ts +0 -37
  391. package/dist/evaluation/standards.d.ts +0 -11
  392. package/dist/evaluation/standards.spec.d.ts +0 -1
  393. package/dist/evaluation/standards.spec.js +0 -1
  394. package/dist/evaluation/structured-lines.d.ts +0 -8
  395. package/dist/evaluation/user-injection.d.ts +0 -6
  396. package/dist/experience/experience-reuse.d.ts +0 -10
  397. package/dist/experience/index.d.ts +0 -7
  398. package/dist/experience/persistence-config.d.ts +0 -6
  399. package/dist/experience/persistence.d.ts +0 -21
  400. package/dist/experience/realtime-feedback.d.ts +0 -5
  401. package/dist/experience/user-profile.d.ts +0 -25
  402. package/dist/extensions/capability.d.ts +0 -91
  403. package/dist/extensions/industry-audit.spec.d.ts +0 -1
  404. package/dist/extensions/industry-audit.spec.js +0 -1
  405. package/dist/goal/GoalClassifier.d.ts +0 -17
  406. package/dist/goal/GoalEngine.d.ts +0 -175
  407. package/dist/goal/GoalStore.d.ts +0 -27
  408. package/dist/goal/next-steps.d.ts +0 -12
  409. package/dist/goal/plan-approval.d.ts +0 -5
  410. package/dist/goal/pursue.d.ts +0 -18
  411. package/dist/graph/base.d.ts +0 -8
  412. package/dist/graph/onchain/analyze.d.ts +0 -59
  413. package/dist/graph/onchain/analyze.spec.d.ts +0 -1
  414. package/dist/graph/onchain/analyze.spec.js +0 -1
  415. package/dist/graph/onchain/anti-cheat.d.ts +0 -69
  416. package/dist/graph/onchain/anti-cheat.spec.d.ts +0 -1
  417. package/dist/graph/onchain/anti-cheat.spec.js +0 -1
  418. package/dist/graph/onchain/dataplane.d.ts +0 -44
  419. package/dist/graph/onchain/edge-batch.spec.d.ts +0 -1
  420. package/dist/graph/onchain/edge-batch.spec.js +0 -1
  421. package/dist/graph/onchain/edge-schema.d.ts +0 -69
  422. package/dist/graph/onchain/entity-profile.spec.d.ts +0 -1
  423. package/dist/graph/onchain/entity-profile.spec.js +0 -1
  424. package/dist/graph/onchain/event-history.spec.d.ts +0 -1
  425. package/dist/graph/onchain/event-history.spec.js +0 -1
  426. package/dist/graph/onchain/expand.d.ts +0 -4
  427. package/dist/graph/onchain/exploration.d.ts +0 -28
  428. package/dist/graph/onchain/exploration.spec.d.ts +0 -1
  429. package/dist/graph/onchain/exploration.spec.js +0 -1
  430. package/dist/graph/onchain/exposure.d.ts +0 -18
  431. package/dist/graph/onchain/exposure.spec.d.ts +0 -1
  432. package/dist/graph/onchain/exposure.spec.js +0 -1
  433. package/dist/graph/onchain/extract-deep.spec.d.ts +0 -1
  434. package/dist/graph/onchain/extract-deep.spec.js +0 -1
  435. package/dist/graph/onchain/extract.d.ts +0 -29
  436. package/dist/graph/onchain/facet-projection.d.ts +0 -99
  437. package/dist/graph/onchain/facet-projection.spec.d.ts +0 -1
  438. package/dist/graph/onchain/facet-projection.spec.js +0 -1
  439. package/dist/graph/onchain/facts.spec.d.ts +0 -1
  440. package/dist/graph/onchain/facts.spec.js +0 -1
  441. package/dist/graph/onchain/field-manifest.d.ts +0 -29
  442. package/dist/graph/onchain/field-manifest.spec.d.ts +0 -1
  443. package/dist/graph/onchain/field-manifest.spec.js +0 -1
  444. package/dist/graph/onchain/fixtures.d.ts +0 -80
  445. package/dist/graph/onchain/fixtures.spec.d.ts +0 -1
  446. package/dist/graph/onchain/fixtures.spec.js +0 -1
  447. package/dist/graph/onchain/graph-policy.spec.d.ts +0 -1
  448. package/dist/graph/onchain/graph-policy.spec.js +0 -1
  449. package/dist/graph/onchain/index.d.ts +0 -29
  450. package/dist/graph/onchain/interest.d.ts +0 -10
  451. package/dist/graph/onchain/interest.spec.d.ts +0 -1
  452. package/dist/graph/onchain/interest.spec.js +0 -1
  453. package/dist/graph/onchain/label-lint.spec.d.ts +0 -1
  454. package/dist/graph/onchain/label-lint.spec.js +0 -1
  455. package/dist/graph/onchain/names.d.ts +0 -23
  456. package/dist/graph/onchain/names.spec.d.ts +0 -1
  457. package/dist/graph/onchain/names.spec.js +0 -1
  458. package/dist/graph/onchain/object-held-receipts.d.ts +0 -20
  459. package/dist/graph/onchain/object-held-receipts.spec.d.ts +0 -1
  460. package/dist/graph/onchain/object-held-receipts.spec.js +0 -1
  461. package/dist/graph/onchain/onchain.spec.d.ts +0 -1
  462. package/dist/graph/onchain/onchain.spec.js +0 -1
  463. package/dist/graph/onchain/policy.d.ts +0 -8
  464. package/dist/graph/onchain/project-relationship.d.ts +0 -3
  465. package/dist/graph/onchain/proposal-graph.d.ts +0 -11
  466. package/dist/graph/onchain/proposal-graph.spec.d.ts +0 -1
  467. package/dist/graph/onchain/proposal-graph.spec.js +0 -1
  468. package/dist/graph/onchain/sdk-batch.d.ts +0 -129
  469. package/dist/graph/onchain/sdk-dataplane.d.ts +0 -44
  470. package/dist/graph/onchain/strategy.spec.d.ts +0 -1
  471. package/dist/graph/onchain/strategy.spec.js +0 -1
  472. package/dist/graph/onchain/synthesis.d.ts +0 -20
  473. package/dist/graph/onchain/synthesis.spec.d.ts +0 -1
  474. package/dist/graph/onchain/synthesis.spec.js +0 -1
  475. package/dist/graph/onchain/table-ledger.spec.d.ts +0 -1
  476. package/dist/graph/onchain/table-ledger.spec.js +0 -1
  477. package/dist/graph/onchain/viewport.d.ts +0 -6
  478. package/dist/harness/auto-escalation.d.ts +0 -15
  479. package/dist/intent/enrich.d.ts +0 -1
  480. package/dist/intent/index.d.ts +0 -23
  481. package/dist/intent/matcher.d.ts +0 -2
  482. package/dist/intent/store.d.ts +0 -19
  483. package/dist/intent/types.d.ts +0 -32
  484. package/dist/keeper/KeeperScan.d.ts +0 -41
  485. package/dist/keeper/KeeperStore.d.ts +0 -43
  486. package/dist/keeper/detectors.d.ts +0 -42
  487. package/dist/keeper/keeper.spec.d.ts +0 -1
  488. package/dist/keeper/keeper.spec.js +0 -1
  489. package/dist/keeper/types.d.ts +0 -67
  490. package/dist/knowledge/account-marks.d.ts +0 -36
  491. package/dist/knowledge/allocation-ledger.d.ts +0 -75
  492. package/dist/knowledge/allocation-puzzle.d.ts +0 -138
  493. package/dist/knowledge/allocation-risk.d.ts +0 -82
  494. package/dist/knowledge/allocation-templates.d.ts +0 -38
  495. package/dist/knowledge/allocator-rail-verifier.d.ts +0 -59
  496. package/dist/knowledge/anti-cheat.d.ts +0 -2
  497. package/dist/knowledge/arb-fund-facts.d.ts +0 -51
  498. package/dist/knowledge/arb-risk.d.ts +0 -39
  499. package/dist/knowledge/arbitration-puzzle.d.ts +0 -84
  500. package/dist/knowledge/arbitration-rail-verifier.d.ts +0 -35
  501. package/dist/knowledge/arbitration-risk.d.ts +0 -114
  502. package/dist/knowledge/arbitration-templates.d.ts +0 -39
  503. package/dist/knowledge/arbitration-venue-order.d.ts +0 -25
  504. package/dist/knowledge/baselines/guard-lint-baseline.spec.d.ts +0 -1
  505. package/dist/knowledge/baselines/guard-lint-baseline.spec.js +0 -1
  506. package/dist/knowledge/baselines/risk-baselines.spec.d.ts +0 -1
  507. package/dist/knowledge/baselines/risk-baselines.spec.js +0 -1
  508. package/dist/knowledge/baselines/risk-cases.d.ts +0 -8
  509. package/dist/knowledge/baselines/semantic-facts.d.ts +0 -12
  510. package/dist/knowledge/bridge-risk.d.ts +0 -36
  511. package/dist/knowledge/catalog-facts.d.ts +0 -4
  512. package/dist/knowledge/chain-query-registry.d.ts +0 -14
  513. package/dist/knowledge/commission-landing.d.ts +0 -26
  514. package/dist/knowledge/component-schema.d.ts +0 -64
  515. package/dist/knowledge/contact-risk.d.ts +0 -32
  516. package/dist/knowledge/contact-templates.d.ts +0 -26
  517. package/dist/knowledge/contract-invariants.d.ts +0 -54
  518. package/dist/knowledge/demand-risk.d.ts +0 -30
  519. package/dist/knowledge/discount-threshold.d.ts +0 -26
  520. package/dist/knowledge/dynamic-pricing.d.ts +0 -29
  521. package/dist/knowledge/entity-recipient-guard.d.ts +0 -21
  522. package/dist/knowledge/event-semantics.d.ts +0 -23
  523. package/dist/knowledge/evidence-review.d.ts +0 -35
  524. package/dist/knowledge/fee-param-bindings.d.ts +0 -28
  525. package/dist/knowledge/flywheel-loop.d.ts +0 -41
  526. package/dist/knowledge/game-scenarios.d.ts +0 -21
  527. package/dist/knowledge/getting-started.d.ts +0 -37
  528. package/dist/knowledge/goal-completion.d.ts +0 -31
  529. package/dist/knowledge/guard-anchor-reach.d.ts +0 -19
  530. package/dist/knowledge/guard-binding-table.d.ts +0 -52
  531. package/dist/knowledge/guard-binding-verifier.d.ts +0 -37
  532. package/dist/knowledge/guard-bindings.d.ts +0 -21
  533. package/dist/knowledge/guard-blueprint.d.ts +0 -68
  534. package/dist/knowledge/guard-design-patterns.d.ts +0 -38
  535. package/dist/knowledge/guard-eval.d.ts +0 -15
  536. package/dist/knowledge/guard-field-cognition.d.ts +0 -48
  537. package/dist/knowledge/guard-host-context.d.ts +0 -24
  538. package/dist/knowledge/guard-ledger.d.ts +0 -19
  539. package/dist/knowledge/guard-leg-map.d.ts +0 -5
  540. package/dist/knowledge/guard-lint.d.ts +0 -79
  541. package/dist/knowledge/guard-node-gates.d.ts +0 -9
  542. package/dist/knowledge/guard-puzzle.d.ts +0 -188
  543. package/dist/knowledge/guard-render.d.ts +0 -71
  544. package/dist/knowledge/guard-risk.d.ts +0 -71
  545. package/dist/knowledge/guard-submission-brief.d.ts +0 -94
  546. package/dist/knowledge/guard-submission-prompt.d.ts +0 -63
  547. package/dist/knowledge/guard-translation.d.ts +0 -58
  548. package/dist/knowledge/index.d.ts +0 -299
  549. package/dist/knowledge/industry-evolution.d.ts +0 -82
  550. package/dist/knowledge/industry-generalizer.d.ts +0 -63
  551. package/dist/knowledge/industry-rule-node.d.ts +0 -7
  552. package/dist/knowledge/industry-strategy.d.ts +0 -91
  553. package/dist/knowledge/intent-metrics.d.ts +0 -43
  554. package/dist/knowledge/jsonrpc-enum.d.ts +0 -102
  555. package/dist/knowledge/knob-docs.d.ts +0 -5
  556. package/dist/knowledge/machine-fork-watch.d.ts +0 -9
  557. package/dist/knowledge/machine-ledger.d.ts +0 -42
  558. package/dist/knowledge/machine-puzzle.d.ts +0 -206
  559. package/dist/knowledge/machine-risk.d.ts +0 -72
  560. package/dist/knowledge/machine-templates.d.ts +0 -92
  561. package/dist/knowledge/machine-topology.d.ts +0 -116
  562. package/dist/knowledge/machine-translation.d.ts +0 -96
  563. package/dist/knowledge/market-metrics.d.ts +0 -34
  564. package/dist/knowledge/market-operations.d.ts +0 -46
  565. package/dist/knowledge/migration-preflight.d.ts +0 -27
  566. package/dist/knowledge/object-dependency.d.ts +0 -31
  567. package/dist/knowledge/operation-dictionary.d.ts +0 -18
  568. package/dist/knowledge/order-ledger.d.ts +0 -69
  569. package/dist/knowledge/order-puzzle.d.ts +0 -162
  570. package/dist/knowledge/order-risk.d.ts +0 -62
  571. package/dist/knowledge/order-templates.d.ts +0 -50
  572. package/dist/knowledge/param-schema.d.ts +0 -93
  573. package/dist/knowledge/param-tiers.d.ts +0 -27
  574. package/dist/knowledge/passport-ledger.d.ts +0 -60
  575. package/dist/knowledge/passport-templates.d.ts +0 -40
  576. package/dist/knowledge/path-oracle/coverage.d.ts +0 -16
  577. package/dist/knowledge/path-oracle/index.d.ts +0 -5
  578. package/dist/knowledge/path-oracle/products/food-delivery.d.ts +0 -2
  579. package/dist/knowledge/path-oracle/schema.d.ts +0 -188
  580. package/dist/knowledge/pattern-resolutions.d.ts +0 -110
  581. package/dist/knowledge/payment-risk.d.ts +0 -38
  582. package/dist/knowledge/payment-tracker.d.ts +0 -63
  583. package/dist/knowledge/permission-ledger.d.ts +0 -49
  584. package/dist/knowledge/permission-puzzle.d.ts +0 -122
  585. package/dist/knowledge/permission-risk.d.ts +0 -70
  586. package/dist/knowledge/permission-templates.d.ts +0 -38
  587. package/dist/knowledge/personal-risk.d.ts +0 -36
  588. package/dist/knowledge/product-detail-source.d.ts +0 -37
  589. package/dist/knowledge/product-doc-b5.d.ts +0 -16
  590. package/dist/knowledge/progress-ledger.d.ts +0 -63
  591. package/dist/knowledge/progress-puzzle.d.ts +0 -82
  592. package/dist/knowledge/progress-risk.d.ts +0 -75
  593. package/dist/knowledge/progress-templates.d.ts +0 -38
  594. package/dist/knowledge/projection.d.ts +0 -54
  595. package/dist/knowledge/projection.spec.d.ts +0 -1
  596. package/dist/knowledge/projection.spec.js +0 -1
  597. package/dist/knowledge/proof-risk.d.ts +0 -33
  598. package/dist/knowledge/protocol-facts.d.ts +0 -17
  599. package/dist/knowledge/publish-gate.d.ts +0 -20
  600. package/dist/knowledge/publish-readiness.d.ts +0 -25
  601. package/dist/knowledge/publish-surface-contract.d.ts +0 -16
  602. package/dist/knowledge/puzzle-projections.d.ts +0 -11
  603. package/dist/knowledge/rail-exit-satisfiability.d.ts +0 -25
  604. package/dist/knowledge/registrar-risk.d.ts +0 -34
  605. package/dist/knowledge/release-sentinel.d.ts +0 -12
  606. package/dist/knowledge/repository-risk.d.ts +0 -46
  607. package/dist/knowledge/repository-write-semantics.d.ts +0 -27
  608. package/dist/knowledge/reputation-rules.d.ts +0 -36
  609. package/dist/knowledge/requirement-families.d.ts +0 -13
  610. package/dist/knowledge/resource-risk.d.ts +0 -32
  611. package/dist/knowledge/reward-ledger.d.ts +0 -97
  612. package/dist/knowledge/reward-puzzle.d.ts +0 -98
  613. package/dist/knowledge/reward-risk.d.ts +0 -86
  614. package/dist/knowledge/reward-templates.d.ts +0 -25
  615. package/dist/knowledge/rule-node-analyzers.d.ts +0 -49
  616. package/dist/knowledge/rule-outcome.d.ts +0 -5
  617. package/dist/knowledge/scenario-topology.d.ts +0 -48
  618. package/dist/knowledge/semantic-ir.d.ts +0 -136
  619. package/dist/knowledge/service-allocation-semantics.d.ts +0 -36
  620. package/dist/knowledge/service-allocator-audit-node.d.ts +0 -3
  621. package/dist/knowledge/service-ledger.d.ts +0 -87
  622. package/dist/knowledge/service-puzzle.d.ts +0 -158
  623. package/dist/knowledge/service-risk-node.d.ts +0 -3
  624. package/dist/knowledge/service-risk.d.ts +0 -110
  625. package/dist/knowledge/service-templates.d.ts +0 -41
  626. package/dist/knowledge/settlement-semantics.d.ts +0 -1
  627. package/dist/knowledge/strategy-manuals.d.ts +0 -15
  628. package/dist/knowledge/supply-chain.d.ts +0 -35
  629. package/dist/knowledge/template-index.d.ts +0 -19
  630. package/dist/knowledge/template-loader.d.ts +0 -425
  631. package/dist/knowledge/template-nav.d.ts +0 -9
  632. package/dist/knowledge/template-prose.d.ts +0 -50
  633. package/dist/knowledge/template-registry.d.ts +0 -48
  634. package/dist/knowledge/template-scanner.d.ts +0 -158
  635. package/dist/knowledge/template-test-profiles.d.ts +0 -17
  636. package/dist/knowledge/template-validation.d.ts +0 -3
  637. package/dist/knowledge/tools-reference.d.ts +0 -17
  638. package/dist/knowledge/treasury-ledger.d.ts +0 -42
  639. package/dist/knowledge/treasury-puzzle.d.ts +0 -163
  640. package/dist/knowledge/treasury-risk.d.ts +0 -88
  641. package/dist/knowledge/treasury-templates.d.ts +0 -38
  642. package/dist/knowledge/universal-template.d.ts +0 -22
  643. package/dist/knowledge/util-risk.d.ts +0 -30
  644. package/dist/knowledge/workflow-guidance.d.ts +0 -194
  645. package/dist/knowledge/workspace-lists.d.ts +0 -61
  646. package/dist/monitor/SuggestionBridge.spec.d.ts +0 -1
  647. package/dist/monitor/SuggestionBridge.spec.js +0 -1
  648. package/dist/participation/arbitrator-interest.d.ts +0 -22
  649. package/dist/participation/demander-interest.d.ts +0 -23
  650. package/dist/participation/employee-kpi.d.ts +0 -37
  651. package/dist/participation/employee-kpi.spec.d.ts +0 -1
  652. package/dist/participation/employee-kpi.spec.js +0 -1
  653. package/dist/participation/employee-store.d.ts +0 -16
  654. package/dist/participation/game-context.d.ts +0 -25
  655. package/dist/participation/index.d.ts +0 -2
  656. package/dist/participation/node-action-advisor.d.ts +0 -68
  657. package/dist/participation/time-window.d.ts +0 -48
  658. package/dist/persona/facet-profile.d.ts +0 -33
  659. package/dist/persona/persona-audit.spec.d.ts +0 -1
  660. package/dist/persona/persona-audit.spec.js +0 -1
  661. package/dist/playbooks/service-build/business-puzzle.d.ts +0 -48
  662. package/dist/playbooks/service-build/context-assembly.d.ts +0 -32
  663. package/dist/playbooks/service-build/facet-money.d.ts +0 -33
  664. package/dist/playbooks/service-build/facet-money.spec.d.ts +0 -1
  665. package/dist/playbooks/service-build/facet-money.spec.js +0 -1
  666. package/dist/playbooks/service-build/game-theory.d.ts +0 -47
  667. package/dist/playbooks/service-build/index.d.ts +0 -15
  668. package/dist/playbooks/service-build/intent-analyzer.d.ts +0 -72
  669. package/dist/playbooks/service-build/machine-nodes.d.ts +0 -27
  670. package/dist/playbooks/service-build/machine-panorama.d.ts +0 -71
  671. package/dist/playbooks/service-build/merchant-guide.d.ts +0 -382
  672. package/dist/playbooks/service-build/migration-planner.d.ts +0 -61
  673. package/dist/playbooks/service-build/mode-actions.d.ts +0 -260
  674. package/dist/playbooks/service-build/object-panorama.d.ts +0 -317
  675. package/dist/playbooks/service-build/object-type.d.ts +0 -1
  676. package/dist/playbooks/service-build/participation-radar.d.ts +0 -20
  677. package/dist/playbooks/service-build/pipeline-actions.d.ts +0 -108
  678. package/dist/playbooks/service-build/process.d.ts +0 -6
  679. package/dist/playbooks/service-build/relationship-profile.d.ts +0 -3
  680. package/dist/playbooks/service-build/reverse-mapping-nk4.spec.d.ts +0 -1
  681. package/dist/playbooks/service-build/reverse-mapping-nk4.spec.js +0 -1
  682. package/dist/playbooks/service-build/reverse-mapping-refund-p0-5.spec.d.ts +0 -1
  683. package/dist/playbooks/service-build/reverse-mapping-refund-p0-5.spec.js +0 -1
  684. package/dist/playbooks/service-build/reverse-mapping.d.ts +0 -66
  685. package/dist/playbooks/service-build/risk-aggregator.d.ts +0 -59
  686. package/dist/playbooks/service-build/service-panorama.d.ts +0 -229
  687. package/dist/playbooks/service-build/service-quote.d.ts +0 -2
  688. package/dist/playbooks/service-build/service-quote.spec.d.ts +0 -1
  689. package/dist/playbooks/service-build/service-quote.spec.js +0 -1
  690. package/dist/playbooks/service-build/topology-evaluation.spec.d.ts +0 -1
  691. package/dist/playbooks/service-build/topology-evaluation.spec.js +0 -1
  692. package/dist/playbooks/service-build/topology-query.d.ts +0 -25
  693. package/dist/playbooks/service-build/workflow-design-assessment.d.ts +0 -33
  694. package/dist/relationship/derivation.d.ts +0 -95
  695. package/dist/relationship/derivation.spec.d.ts +0 -1
  696. package/dist/relationship/derivation.spec.js +0 -1
  697. package/dist/relationship/incentive.d.ts +0 -38
  698. package/dist/relationship/index.d.ts +0 -4
  699. package/dist/relationship/registry.d.ts +0 -13
  700. package/dist/relationship/types.d.ts +0 -45
  701. package/dist/review/arb.d.ts +0 -4
  702. package/dist/review/demand.d.ts +0 -3
  703. package/dist/review/index.d.ts +0 -3
  704. package/dist/review/machine.d.ts +0 -3
  705. package/dist/review/order.d.ts +0 -8
  706. package/dist/review/progress.d.ts +0 -3
  707. package/dist/review/repository.d.ts +0 -3
  708. package/dist/review/service.d.ts +0 -5
  709. package/dist/review/types.d.ts +0 -163
  710. package/dist/role/derivation.d.ts +0 -35
  711. package/dist/role/index.d.ts +0 -6
  712. package/dist/role/intent.d.ts +0 -23
  713. package/dist/role/model.d.ts +0 -9
  714. package/dist/role/profiles.d.ts +0 -26
  715. package/dist/role/resolution.d.ts +0 -27
  716. package/dist/runtime/instance-registry.d.ts +0 -14
  717. package/dist/safety/index.d.ts +0 -3
  718. package/dist/schema/call/permission-handler.d.ts +0 -5
  719. package/dist/schema/call/semantic-customer-advice.spec.d.ts +0 -1
  720. package/dist/schema/call/semantic-customer-advice.spec.js +0 -1
  721. package/dist/schema/common/tokentype-short-probe.spec.d.ts +0 -1
  722. package/dist/schema/common/tokentype-short-probe.spec.js +0 -1
  723. package/dist/schema/envelope-unify.d.ts +0 -5
  724. package/dist/schema/goal/planning.d.ts +0 -742
  725. package/dist/schema/industry-pack/modes.d.ts +0 -447
  726. package/dist/schema/query/bi.d.ts +0 -3369
  727. package/dist/schema/utils/guard-query-utils.d.ts +0 -18
  728. package/dist/schema/utils/permission-index-utils.d.ts +0 -2
  729. package/dist/schema/utils/skills-recommendation.d.ts +0 -2
  730. package/dist/schema-query-impl/index.d.ts +0 -83
  731. package/dist/schemas/account_operation.output.json +0 -3869
  732. package/dist/schemas/ask_user.output.json +0 -54
  733. package/dist/schemas/benchmark_migration_operation.output.json +0 -1669
  734. package/dist/schemas/bridge_operation.output.json +0 -1548
  735. package/dist/schemas/config_operation.output.json +0 -896
  736. package/dist/schemas/employee_operation.output.json +0 -307
  737. package/dist/schemas/evaluation_operation.output.json +0 -4716
  738. package/dist/schemas/guard2file.output.json +0 -83
  739. package/dist/schemas/industry_pack_operation.output.json +0 -2985
  740. package/dist/schemas/intent_radar.output.json +0 -326
  741. package/dist/schemas/keeper_operation.output.json +0 -1441
  742. package/dist/schemas/local_cache_operation.output.json +0 -1718
  743. package/dist/schemas/local_history_operation.output.json +0 -1644
  744. package/dist/schemas/local_info_operation.output.json +0 -1530
  745. package/dist/schemas/local_mark_operation.output.json +0 -1622
  746. package/dist/schemas/machineNode2file.output.json +0 -88
  747. package/dist/schemas/messenger_operation.output.json +0 -4692
  748. package/dist/schemas/monitor_events.output.json +0 -1602
  749. package/dist/schemas/monitor_subscription.output.json +0 -1629
  750. package/dist/schemas/onchain_events.output.json +0 -4053
  751. package/dist/schemas/onchain_operations.output.json +0 -7788
  752. package/dist/schemas/onchain_table_data.output.json +0 -11868
  753. package/dist/schemas/permission_operation.output.json +0 -205
  754. package/dist/schemas/persona_operation.output.json +0 -64612
  755. package/dist/schemas/query_toolkit.output.json +0 -28302
  756. package/dist/schemas/schema_query.output.json +0 -81
  757. package/dist/schemas/service_clone_operation.output.json +0 -247
  758. package/dist/schemas/strategy_review_operation.output.json +0 -532
  759. package/dist/schemas/watch_operation.output.json +0 -930
  760. package/dist/schemas/wip_file.output.json +0 -360
  761. package/dist/schemas/workflow_operation.output.json +0 -422
  762. package/dist/schemas/workspace_operation.output.json +0 -477
  763. package/dist/schemas/wowok_buildin_info.output.json +0 -2477
  764. package/dist/strategy/collectors.d.ts +0 -66
  765. package/dist/strategy/collectors.spec.d.ts +0 -1
  766. package/dist/strategy/collectors.spec.js +0 -1
  767. package/dist/strategy/index.d.ts +0 -5
  768. package/dist/strategy/metrics.d.ts +0 -20
  769. package/dist/strategy/review.d.ts +0 -48
  770. package/dist/strategy/scorecard.d.ts +0 -32
  771. package/dist/strategy/store.d.ts +0 -26
  772. package/dist/task/ProcessStore.d.ts +0 -98
  773. package/dist/task/playbook.d.ts +0 -11
  774. package/dist/task/substep-trace.d.ts +0 -91
  775. package/dist/tools/build-fingerprint.d.ts +0 -28
  776. package/dist/tools/error-catalog.d.ts +0 -17
  777. package/dist/tools/handlers/ask-user.d.ts +0 -3
  778. package/dist/tools/handlers/benchmark-migration.d.ts +0 -121
  779. package/dist/tools/handlers/bridge.d.ts +0 -8
  780. package/dist/tools/handlers/config.d.ts +0 -2
  781. package/dist/tools/handlers/dispatch-expectations.d.ts +0 -2
  782. package/dist/tools/handlers/dispatch-expectations.spec.d.ts +0 -1
  783. package/dist/tools/handlers/dispatch-expectations.spec.js +0 -1
  784. package/dist/tools/handlers/employee.d.ts +0 -8
  785. package/dist/tools/handlers/employee.spec.d.ts +0 -1
  786. package/dist/tools/handlers/employee.spec.js +0 -1
  787. package/dist/tools/handlers/entry-edge-recipe.d.ts +0 -101
  788. package/dist/tools/handlers/escrow-deficit.d.ts +0 -10
  789. package/dist/tools/handlers/evaluation.d.ts +0 -2
  790. package/dist/tools/handlers/evaluation.spec.d.ts +0 -1
  791. package/dist/tools/handlers/evaluation.spec.js +0 -1
  792. package/dist/tools/handlers/file-export.d.ts +0 -3
  793. package/dist/tools/handlers/fund-rail-recipe.d.ts +0 -10
  794. package/dist/tools/handlers/goal.d.ts +0 -4
  795. package/dist/tools/handlers/industry-pack.d.ts +0 -3
  796. package/dist/tools/handlers/intent-radar.d.ts +0 -2
  797. package/dist/tools/handlers/keeper.d.ts +0 -12
  798. package/dist/tools/handlers/local.d.ts +0 -6
  799. package/dist/tools/handlers/mark-namespace.d.ts +0 -30
  800. package/dist/tools/handlers/messenger.d.ts +0 -24
  801. package/dist/tools/handlers/monitor.d.ts +0 -26
  802. package/dist/tools/handlers/name-resolution.d.ts +0 -4
  803. package/dist/tools/handlers/name-resolution.spec.d.ts +0 -1
  804. package/dist/tools/handlers/name-resolution.spec.js +0 -1
  805. package/dist/tools/handlers/network.d.ts +0 -1
  806. package/dist/tools/handlers/onchain-name-registration.d.ts +0 -49
  807. package/dist/tools/handlers/onchain-name-registration.spec.d.ts +0 -1
  808. package/dist/tools/handlers/onchain-name-registration.spec.js +0 -1
  809. package/dist/tools/handlers/onchain.d.ts +0 -132
  810. package/dist/tools/handlers/permission.d.ts +0 -2
  811. package/dist/tools/handlers/persona.d.ts +0 -4
  812. package/dist/tools/handlers/publish-binding-echo.d.ts +0 -22
  813. package/dist/tools/handlers/review-chain.d.ts +0 -19
  814. package/dist/tools/handlers/schema-query.d.ts +0 -2
  815. package/dist/tools/handlers/service-clone.d.ts +0 -20
  816. package/dist/tools/handlers/stale-build-check.d.ts +0 -9
  817. package/dist/tools/handlers/strategy-review.d.ts +0 -2
  818. package/dist/tools/handlers/submission-assembly.d.ts +0 -55
  819. package/dist/tools/handlers/watch.d.ts +0 -2
  820. package/dist/tools/handlers/winner-derivation.d.ts +0 -20
  821. package/dist/tools/handlers/wip-upload.d.ts +0 -22
  822. package/dist/tools/handlers/wip.d.ts +0 -2
  823. package/dist/tools/handlers/workflow.d.ts +0 -2
  824. package/dist/tools/handlers/workspace.d.ts +0 -4
  825. package/dist/tools/move-fn-index.gen.d.ts +0 -3
  826. package/dist/tools/publish-gate-state.d.ts +0 -5
  827. package/dist/tools/registry/agent.d.ts +0 -2
  828. package/dist/tools/registry/bridge.d.ts +0 -2
  829. package/dist/tools/registry/business.d.ts +0 -2
  830. package/dist/tools/registry/config.d.ts +0 -2
  831. package/dist/tools/registry/evaluation.d.ts +0 -2
  832. package/dist/tools/registry/files.d.ts +0 -2
  833. package/dist/tools/registry/identity.d.ts +0 -2
  834. package/dist/tools/registry/interaction.d.ts +0 -2
  835. package/dist/tools/registry/local.d.ts +0 -2
  836. package/dist/tools/registry/messenger.d.ts +0 -2
  837. package/dist/tools/registry/monitor.d.ts +0 -2
  838. package/dist/tools/registry/onchain.d.ts +0 -2
  839. package/dist/tools/registry/query.d.ts +0 -2
  840. package/dist/tools/retry.d.ts +0 -8
  841. package/dist/tools/rules-hook.d.ts +0 -5
  842. package/dist/tools/runtime-health.d.ts +0 -10
  843. package/dist/tools/sanitize-description-roundtrip.spec.d.ts +0 -1
  844. package/dist/tools/sanitize-description-roundtrip.spec.js +0 -1
  845. package/dist/tools/sanitize-output.d.ts +0 -4
  846. package/dist/tools/sanitize-output.spec.d.ts +0 -1
  847. package/dist/tools/sanitize-output.spec.js +0 -1
  848. package/dist/tools/shared.d.ts +0 -20
  849. package/dist/tools/transport-integrity.d.ts +0 -7
  850. package/dist/tools/upgrade-check.d.ts +0 -75
  851. package/dist/tools/wip-deploy-assist.d.ts +0 -34
  852. package/dist/tools/wip-verify-ledger.d.ts +0 -16
  853. package/dist/tools/wrap.d.ts +0 -45
@@ -1 +1 @@
1
- export const RECOVERY_RULES={'insufficient_balance':{'error_code':'insufficient_balance','strategy':'claim_faucet','max_attempts':0x3,'automation':'semi','detail':'1.\x20Testnet:\x20claim\x20WOW\x20from\x20the\x20faucet\x20—\x20the\x20payout\x20itself\x20needs\x20NO\x20gas\x20on\x20the\x20claiming\x20account\x20(the\x20faucet\x20server\x20transfers\x20the\x20coins),\x20so\x20a\x20zero-gas\x20account\x20claims\x20FIRST\x20and\x20transacts\x20AFTER;\x20if\x20the\x20account\x20already\x20holds\x20WOW\x20but\x20every\x20op\x20still\x20fails\x20on\x20gas\x20(fragmented\x20payout\x20coins\x20below\x20the\x20gas\x20reserve),\x20claim\x20AGAIN\x20—\x20each\x20payout\x20lands\x20fresh\x201-WOW\x20coins\x20that\x20serve\x20as\x20valid\x20gas\x20inputs\x20(the\x20silent\x20merge\x20failure\x20leaves\x20usable\x20coins).\x202.\x20Mainnet:\x20transfer\x20ETH/USDT/USDC/WBTC\x20via\x20the\x20ETH\x20mainnet\x20cross-chain\x20bridge\x20(query\x20active\x20EVM\x20account\x20→\x20top\x20up\x20from\x20external\x20wallet\x20→\x20confirm\x20→\x20cross-chain)\x203.\x20Point\x20the\x20user\x20to\x20the\x20live\x20airdrop\x20page\x20(https://wowok.net/airdrop.html)\x20for\x20the\x20current\x20round\x204.\x20Retry\x20original\x20operation.\x20NOTE:\x20this\x20rule\x20is\x20for\x20the\x20SIGNING\x20ACCOUNT\x27s\x20wallet/gas\x20only\x20—\x20an\x20on-chain\x20POOL\x20shortage\x20(reward/allocation)\x20classifies\x20as\x20pool_shortage,\x20never\x20here','user_prompt':'Insufficient\x20balance\x20for\x20gas\x20or\x20operation.\x20How\x20to\x20obtain\x20WOW\x20tokens:\x20(1)\x20Testnet\x20—\x20claim\x20WOW\x20from\x20the\x20faucet\x20(https://faucet.testnet.wowok.net);\x20the\x20claim\x20itself\x20costs\x20no\x20gas\x20(server-side\x20payout),\x20so\x20claim\x20first\x20even\x20on\x20an\x20account\x20that\x20cannot\x20transact\x20yet;\x20if\x20the\x20account\x20still\x20cannot\x20pay\x20gas\x20after\x20a\x20claim,\x20claim\x20again\x20(fresh\x20whole-coin\x20payouts\x20provide\x20valid\x20gas\x20coins).\x20All\x20merchant\x20and\x20order\x20testing\x20can\x20use\x20WOW\x20as\x20the\x20payment\x20token.\x20(2)\x20Mainnet\x20—\x20transfer\x20ETH\x20/\x20USDT\x20/\x20USDC\x20/\x20WBTC\x20via\x20the\x20ETH\x20mainnet\x20cross-chain\x20bridge:\x20first\x20query\x20the\x20active\x20EVM\x20account\x20(bridge_operation\x20query_active_evm_account,\x20auto-generated\x20on\x20first\x20use),\x20then\x20transfer\x20from\x20an\x20external\x20wallet\x20(e.g.\x20MetaMask)\x20to\x20that\x20address,\x20confirm\x20the\x20balance\x20arrived,\x20and\x20cross-chain\x20to\x20WOW\x20mainnet\x20(bridge_operation\x20cross_chain_evm_to_wow).\x20(3)\x20WOW\x20airdrop:\x20current\x20round\x20status,\x20pool\x20and\x20eligibility\x20are\x20published\x20live\x20at\x20https://wowok.net/airdrop.html\x20(referral:\x20https://wowok.net/refer.html)\x20—\x20open\x20that\x20page\x20rather\x20than\x20assuming\x20a\x20round\x20is\x20live\x20or\x20closed.\x20Query\x20wowok_buildin_info\x20with\x20info=\x27funding\x20guidance\x27\x20for\x20the\x20canonical\x20funding\x20guidance.'},'pool_shortage':{'error_code':'pool_shortage','strategy':'adjust_params','max_attempts':0x1,'automation':'semi','detail':'An\x20on-chain\x20POOL\x20cannot\x20cover\x20the\x20operation\x20(the\x20reward\x20pool\x20aborts\x20with\x206,\x20'+'the\x20allocation\x20pool\x20with\x207)\x20—\x20a\x20pool\x20funding\x20problem,\x20NOT\x20the\x20caller\x27s\x20wallet;\x20a\x20faucet\x20claim\x20will\x20NOT\x20help\x20and\x20re-sending\x20the\x20rail\x20unchanged\x20changes\x20nothing.\x201.\x20Reward\x20pool:\x20the\x20reward\x20ISSUER\x20tops\x20it\x20up\x20with\x20reward\x20coin_add\x20(permission\x20153)\x20—\x20the\x20claim\x20key\x20slot\x20is\x20written\x20BEFORE\x20the\x20balance\x20assert\x20and\x20the\x20abort\x20rolls\x20it\x20back,\x20so\x20NOTHING\x20was\x20consumed;\x20the\x20identical\x20claim\x20succeeds\x20after\x20the\x20top-up\x20(mainnet-proven,\x20T14).\x202.\x20Allocation\x20pool:\x20the\x20payer\x20side\x20funds\x20the\x20order/allocation\x20first\x20(order\x20renew,\x20payment\x20create\x20into\x20the\x20allocation),\x20then\x20re-runs\x20the\x20rail;\x20if\x20the\x20pool\x20is\x20drained\x20because\x20the\x20rail\x20ALREADY\x20paid\x20(balance\x200,\x20once-slot\x20consumed),\x20verify\x20via\x20the\x20Payment\x20record\x20instead\x20of\x20retrying.\x203.\x20As\x20the\x20BUYER:\x20report\x20the\x20shortage\x20to\x20the\x20merchant\x20—\x20never\x20fund\x20a\x20pool\x20you\x20do\x20not\x20own','user_prompt':'The\x20on-chain\x20pool\x20backing\x20this\x20operation\x20is\x20short\x20of\x20funds.\x20The\x20pool\x27s\x20owner\x20must\x20top\x20it\x20up\x20(reward\x20coin_add\x20/\x20allocation\x20funding)\x20—\x20a\x20faucet\x20claim\x20will\x20not\x20help.\x20As\x20the\x20buyer,\x20ask\x20the\x20merchant\x20to\x20fund\x20the\x20pool.'},'stock_exhausted':{'error_code':'stock_exhausted','strategy':'adjust_params','max_attempts':0x1,'automation':'semi','detail':'Merchant-side\x20inventory\x20shortfall\x20(on-chain\x20E_STOCK_NOT_ENOUGH)\x20—\x20NOT\x20a\x20buyer\x20balance\x20problem,\x20so\x20a\x20faucet\x20claim\x20will\x20NOT\x20help.\x201.\x20Reduce\x20the\x20purchase\x20quantity\x20to\x20the\x20item\x27s\x20remaining\x20stock\x202.\x20Pick\x20another\x20sale\x20item\x203.\x20Ask\x20the\x20merchant\x20to\x20restock,\x20then\x20retry','user_prompt':'The\x20sale\x20item\x27s\x20stock\x20is\x20exhausted\x20for\x20the\x20requested\x20quantity.\x20Reduce\x20the\x20quantity,\x20choose\x20another\x20item,\x20or\x20ask\x20the\x20merchant\x20to\x20restock.'},'allocation_empty':{'error_code':'allocation_empty','strategy':'stop','max_attempts':0x1,'automation':'semi','detail':'The\x20Allocation\x20distributed\x20zero\x20value:\x20its\x20pool\x20is\x20empty\x20(already\x20fully\x20distributed,\x20or\x20the\x20order\x20total\x20was\x20discounted/couponed\x20to\x20zero)\x20—\x20a\x20legitimate\x20outcome\x20for\x20zero-total\x20orders.\x201.\x20Do\x20NOT\x20retry\x20the\x20allocation;\x20it\x20cannot\x20change\x20this.\x202.\x20If\x20funds\x20WERE\x20expected:\x20check\x20whether\x20the\x20order\x27s\x20payments\x20actually\x20funded\x20this\x20Allocation\x20before\x20the\x20rail\x20ran\x20(upstream\x20funding\x20problem),\x20and\x20verify\x20the\x20Payment\x20record\x20—\x20on\x20a\x20RETRIED\x20submission\x20the\x20FIRST\x20attempt\x20may\x20have\x20already\x20landed\x20(a\x20zero\x20balance\x20is\x20exactly\x20what\x20a\x20completed\x20distribution\x20looks\x20like,\x20F-M10).\x203.\x20The\x20chain\x20checks\x20the\x20balance\x20BEFORE\x20guard\x20evaluation,\x20so\x20this\x20abort\x20is\x20NOT\x20evidence\x20about\x20a\x20guard\x27s\x20verdict\x20—\x20never\x20conclude\x20\x27guard\x20rejected\x27\x20from\x20it','user_prompt':'The\x20allocation\x20pool\x20holds\x20nothing\x20to\x20distribute\x20(zero\x20total\x20or\x20already\x20fully\x20paid\x20out).\x20Verify\x20the\x20Payment\x20record\x20before\x20re-running\x20anything;\x20if\x20a\x20payout\x20was\x20expected,\x20the\x20pool\x20needs\x20funding\x20first.'},'sale_suspended':{'error_code':'sale_suspended','strategy':'adjust_params','max_attempts':0x1,'automation':'semi','detail':'The\x20merchant\x20suspended\x20this\x20sale\x20item\x20(Move\x20service:34\x20E_SALE_SUSPENDED).\x201.\x20Pick\x20another\x20(non-suspended)\x20item\x202.\x20Contact\x20the\x20merchant\x20to\x20resume\x20the\x20sale,\x20then\x20retry','user_prompt':'The\x20sale\x20item\x20is\x20suspended\x20by\x20the\x20merchant.\x20Please\x20choose\x20another\x20item\x20or\x20contact\x20the\x20merchant.'},'discount_invalid':{'error_code':'discount_invalid','strategy':'adjust_params','max_attempts':0x1,'automation':'semi','detail':'The\x20discount\x20is\x20outside\x20its\x20[time_start,\x20time_end]\x20validity\x20window\x20(Move\x20service:35\x20E_DISCOUNT_TIME_INVALID).\x201.\x20Retry\x20without\x20the\x20discount\x202.\x20Ask\x20the\x20merchant\x20for\x20a\x20fresh\x20discount,\x20then\x20retry','user_prompt':'The\x20discount\x20is\x20not\x20valid\x20at\x20the\x20current\x20time\x20(outside\x20its\x20validity\x20window).\x20Buy\x20without\x20the\x20discount\x20or\x20ask\x20the\x20merchant\x20for\x20a\x20new\x20one.'},'rate_limit':{'error_code':'rate_limit','strategy':'retry','max_attempts':0x5,'automation':'full','detail':'Rate\x20limit\x20hit\x20(HTTP\x20429).\x20Exponential\x20backoff\x20retry:\x202s\x20/\x204s\x20/\x208s\x20/\x2016s\x20/\x2032s.\x20Avoid\x20parallel\x20calls\x20while\x20the\x20limit\x20window\x20is\x20active.'},'gas_exceeded':{'error_code':'gas_exceeded','strategy':'adjust_params','max_attempts':0x3,'automation':'semi','detail':'Gas\x20budget\x20exceeded.\x201.\x20Increase\x20the\x20gas_budget\x20parameter\x202.\x20Reduce\x20the\x20operation\x20size\x20(fewer\x20objects\x20per\x20transaction)\x203.\x20Retry\x20the\x20original\x20operation','user_prompt':'Gas\x20budget\x20exceeded.\x20Increase\x20the\x20gas\x20budget\x20or\x20reduce\x20the\x20operation\x20size,\x20then\x20retry.'},'insufficient_gas':{'error_code':'insufficient_gas','strategy':'adjust_params','max_attempts':0x1,'automation':'semi','detail':'Gas\x20exhausted\x20—\x20the\x20transaction\x20failed\x20deterministically\x20and\x20did\x20NOT\x20commit\x20on-chain\x20(no\x20state\x20changed;\x20commit-state\x20verification\x20is\x20NOT\x20needed).\x201.\x20Raise\x20the\x20gas_budget\x20parameter\x20above\x20the\x20failed\x20transaction\x27s\x20gas_used\x202.\x20If\x20the\x20account\x20balance\x20cannot\x20cover\x20any\x20budget,\x20fund\x20the\x20signing\x20account\x20with\x20gas\x20tokens\x20first\x203.\x20Resubmit\x20as\x20a\x20FRESH\x20call\x20—\x20do\x20NOT\x20replay\x20the\x20same\x20transaction','user_prompt':'The\x20transaction\x20ran\x20out\x20of\x20gas\x20and\x20did\x20not\x20commit\x20on-chain.\x20Increase\x20the\x20gas\x20budget\x20(or\x20fund\x20the\x20account\x20with\x20gas)\x20and\x20submit\x20a\x20fresh\x20transaction\x20—\x20retrying\x20unchanged\x20will\x20fail\x20the\x20same\x20way.'},'bcs_error':{'error_code':'bcs_error','strategy':'adjust_params','max_attempts':0x2,'automation':'semi','detail':'BCS\x20serialization/deserialization\x20error\x20—\x20a\x20parameter\x20does\x20not\x20match\x20the\x20expected\x20type/structure.\x201.\x20Query\x20the\x20operation\x20schema\x20(schema_query)\x202.\x20Fix\x20the\x20offending\x20parameter\x20type\x20(e.g.\x20BigInt\x20vs\x20number,\x20vector\x20element\x20type)\x203.\x20Retry','user_prompt':'A\x20parameter\x20failed\x20serialization.\x20Check\x20the\x20parameter\x20types\x20against\x20the\x20schema\x20and\x20retry.'},'signature_error':{'error_code':'signature_error','strategy':'switch_account','max_attempts':0x2,'automation':'semi','detail':'Signature\x20verification\x20failed.\x201.\x20Verify\x20the\x20account\x20is\x20not\x20suspended\x202.\x20Check\x20the\x20network\x20matches\x20the\x20account\x27s\x203.\x20Switch\x20to\x20a\x20healthy\x20account\x20and\x20retry','user_prompt':'Signature\x20verification\x20failed.\x20The\x20account\x20may\x20be\x20suspended\x20or\x20misconfigured.\x20Switch\x20accounts\x20or\x20check\x20the\x20configuration\x20and\x20retry.'},'config_error':{'error_code':'config_error','strategy':'escalate_human','max_attempts':0x1,'automation':'manual','detail':'Local\x20configuration\x20error\x20(network\x20not\x20specified,\x20persistent\x20storage\x20not\x20set).\x201.\x20Show\x20the\x20user\x20which\x20configuration\x20is\x20missing\x202.\x20Guide\x20the\x20user\x20through\x20the\x20account_operation/config\x20setup\x203.\x20Retry\x20after\x20the\x20user\x20fixes\x20it','user_prompt':'Local\x20configuration\x20is\x20incomplete.\x20Please\x20finish\x20the\x20account/network\x20setup\x20and\x20retry.'},'wip_verification_failed':{'error_code':'wip_verification_failed','strategy':'adjust_params','max_attempts':0x2,'automation':'semi','detail':'WIP\x20file\x20not\x20publicly\x20reachable\x20/\x20hash\x20mismatch.\x201.\x20Upload\x20via\x20the\x20wip\x20storage\x20service\x20(wip_file\x20type=\x27upload\x27\x20—\x20official\x20free\x20store\x20or\x20storage=\x27custom\x27)\x202.\x20Or\x20deploy\x20to\x20a\x20public\x20URL\x20(GitHub\x20Pages\x20/\x20IPFS\x20/\x20own\x20site)\x203.\x20Update\x20the\x20sale\x27s\x20wip\x20URL\x204.\x20Re-run\x20the\x20operation','user_prompt':'The\x20WIP\x20file\x20could\x20not\x20be\x20verified\x20from\x20a\x20public\x20URL.\x20Upload\x20it\x20with\x20wip_file\x20type=\x27upload\x27\x20(official\x20free\x20store\x20or\x20your\x20own\x20service)\x20or\x20deploy\x20it\x20(GitHub\x20Pages\x20/\x20IPFS),\x20update\x20the\x20sale\x27s\x20WIP\x20URL,\x20and\x20retry.'},'wip_storage_unavailable':{'error_code':'wip_storage_unavailable','strategy':'retry','max_attempts':0x3,'automation':'full','detail':'Transient\x20wip\x20storage\x20transport\x20failure.\x201.\x20Retry\x20the\x20same\x20request\x20with\x20bounded\x20backoff\x202.\x20Large\x20WIP\x20files\x20are\x20network-sensitive:\x20compress\x20images\x20before\x20generate\x20(each\x20image\x20<=\x202MB,\x20total\x20<=\x2010MB)\x203.\x20Check\x20connectivity\x20to\x20the\x20storage\x20base\x20URL\x20if\x20retries\x20keep\x20failing','user_prompt':'The\x20wip\x20storage\x20request\x20failed\x20due\x20to\x20a\x20network\x20problem.\x20Retry\x20the\x20upload;\x20if\x20it\x20keeps\x20failing,\x20reduce\x20the\x20file\x20size\x20or\x20check\x20connectivity.'},'wip_storage_rejected':{'error_code':'wip_storage_rejected','strategy':'adjust_params','max_attempts':0x1,'automation':'semi','detail':'WIP\x20storage\x20service\x20rejected\x20the\x20request\x20(HTTP\x204xx\x20—\x20deterministic\x20client-side\x20fault,\x20retrying\x20unchanged\x20fails\x20identically).\x20400:\x20malformed\x20body\x20or\x20failed\x20WIP\x20validation\x20—\x20re-generate\x20via\x20wip_file\x20type=\x27generate\x27\x20401:\x20re-sign\x20with\x20a\x20fresh\x20nonce\x20inside\x20the\x20timestamp\x20window\x20403:\x20check\x20storage\x20service\x20configuration\x20404:\x20file\x20does\x20not\x20exist\x20—\x20re-upload\x20409:\x20quota\x20—\x20delete\x20old\x20files\x20via\x20wip_file\x20type=\x27list\x27\x20then\x20delete\x20413:\x20compress\x20images\x20(each\x20<=\x202MB,\x20total\x20<=\x2010MB)\x20and\x20regenerate','user_prompt':'The\x20WIP\x20storage\x20service\x20rejected\x20the\x20request\x20(HTTP\x204xx).\x20Fix\x20the\x20specific\x20fault\x20(re-generate/re-sign/re-upload\x20per\x20the\x20status\x20code)\x20and\x20retry\x20—\x20do\x20not\x20retry\x20unchanged.'},'network_error':{'error_code':'network_error','strategy':'retry','max_attempts':0x5,'automation':'full','detail':'Transport\x20failure\x20(timeout\x20/\x20connection\x20reset\x20/\x20RPC\x20unreachable\x20/\x20HTTP\x205xx\x20gateway\x20error).\x20Exponential\x20backoff\x20retry:\x201s\x20/\x202s\x20/\x204s\x20/\x208s\x20/\x2016s.\x20Switch\x20RPC\x20node\x20if\x20available.\x20READS:\x20a\x20plain\x20retry\x20is\x20safe.\x20FUND-MOVING\x20WRITES:\x20before\x20any\x20resubmission,\x20verify\x20whether\x20the\x20previous\x20attempt\x20landed\x20(query\x20the\x20reported\x20digest\x20directly,\x20or\x20the\x20expected\x20object\x20via\x20the\x20sender\x27s\x20recent\x20on-chain\x20objects\x20/\x20onchain_events)\x20—\x20if\x20it\x20landed,\x20ADOPT\x20it\x20and\x20stop;\x20a\x20blind\x20backoff\x20retry\x20of\x20a\x20landed\x20write\x20moves\x20the\x20funds\x20a\x20second\x20time.'},'submission_unknown':{'error_code':'submission_unknown','strategy':'query_and_retry','max_attempts':0x2,'automation':'semi','detail':'Transport-level\x20failure\x20after\x20the\x20request\x20left\x20the\x20client\x20—\x20the\x20submission\x20state\x20is\x20UNKNOWN\x20and\x20the\x20transaction\x20may\x20already\x20be\x20committed.\x20NEVER\x20auto-retry\x20a\x20write\x20here.\x201.\x20Verify\x20commit\x20state\x20on-chain:\x20query_toolkit\x20for\x20the\x20object\x20this\x20call\x20would\x20create/modify\x20(resolve\x20the\x20reference\x20from\x20the\x20call\x27s\x20own\x20arguments),\x20or\x20onchain_events\x20for\x20the\x20sender\x27s\x20recent\x20transactions.\x202.\x20If\x20the\x20expected\x20object\x20EXISTS,\x20adopt\x20it\x20and\x20continue\x20the\x20workflow\x20(the\x20operation\x20succeeded\x20despite\x20the\x20transport\x20error).\x203.\x20If\x20confirmed\x20ABSENT,\x20resubmit\x20the\x20SAME\x20call\x20once\x20—\x20for\x20a\x20FIRST-EVER\x20transaction\x20on\x20a\x20fresh\x20account\x20make\x20that\x20resubmission\x20with\x20env.no_auto_register=true\x20and\x20SAY\x20SO\x20(the\x20SDK\x20silently\x20appends\x20an\x20entity\x20registration\x20to\x20a\x20first\x20business\x20call;\x20if\x20that\x20appended\x20leg\x20was\x20the\x20failing\x20leg\x20the\x20skip\x20lets\x20the\x20call\x20through\x20—\x20ziroom-mn-261013\x20live\x20case;\x20if\x20the\x20resubmission\x20aborts,\x20the\x20envelope\x20now\x20names\x20the\x20abort\x20—\x20re-enable\x20auto\x20registration\x20and\x20retry).\x204.\x20If\x20the\x20reported\x20digest\x20does\x20not\x20resolve\x20or\x20the\x20failure\x20repeats,\x20STOP\x20looping\x20on\x20digest\x20checks\x20and\x20re-run\x20the\x20SAME\x20call\x20with\x20env.dry_run=true\x20—\x20the\x20simulation\x20surfaces\x20the\x20real\x20failure\x20(exact\x20Move\x20abort)\x20without\x20gas\x20or\x20duplicate\x20risk.\x205.\x20Reads\x20are\x20idempotent\x20—\x20retry\x20immediately.\x206.\x20M-K2\x20replay\x20discipline:\x20a\x20FAILED\x20receipt\x20is\x20final\x20—\x20its\x20digest\x20is\x20consumed\x20and\x20replaying\x20the\x20same\x20bytes\x20returns\x20the\x20same\x20failure\x20forever;\x20fix\x20the\x20cause\x20(usually\x20funding)\x20and\x20build\x20a\x20FRESH\x20transaction.\x20Live\x20mainnet\x20incident\x20behind\x20this\x20rule:\x20an\x20order_new\x20-32603\x20\x27did\x20not\x20complete\x27\x20had\x20committed;\x20the\x20blind\x20retry\x20created\x20a\x20second\x20order\x20with\x20a\x20second\x20full\x20escrow\x20and\x20a\x20second\x20stock\x20decrement','user_prompt':'The\x20request\x20failed\x20at\x20transport\x20level\x20but\x20may\x20have\x20already\x20been\x20committed\x20on-chain.\x20Verify\x20whether\x20the\x20expected\x20object\x20exists\x20(query\x20it)\x20before\x20any\x20retry\x20—\x20a\x20blind\x20retry\x20can\x20duplicate\x20the\x20operation\x20(double\x20escrow).\x20For\x20read\x20operations,\x20a\x20plain\x20retry\x20is\x20safe.'},'transaction_expired':{'error_code':'transaction_expired','strategy':'retry','max_attempts':0x3,'automation':'full','detail':'The\x20transaction\x20expired\x20before\x20execution\x20(epoch\x20boundary\x20or\x20validator/gateway\x20outage)\x20—\x20it\x20did\x20NOT\x20land\x20and\x20nothing\x20was\x20committed.\x20Bounded\x20backoff\x20retry:\x2010s\x20/\x2030s\x20/\x2060s,\x20resubmit\x20the\x20SAME\x20call\x20unchanged.\x20If\x20a\x20dry_run\x20passes\x20while\x20the\x20real\x20call\x20keeps\x20failing,\x20the\x20fault\x20is\x20chain-side\x20—\x20wait\x20it\x20out.\x20Verify\x20with\x20onchain_events\x20if\x20unsure.'},'submission_too_large':{'error_code':'submission_too_large','strategy':'adjust_params','max_attempts':0x1,'automation':'manual','detail':'The\x20guard\x20submission\x27s\x20BCS\x20size\x20exceeded\x20MAX_SUBMISSION_SIZE=4096\x20(the\x20guard\x20submission-size\x20ceiling,\x20abort\x203;\x20v140\x20raised\x20it\x20from\x20256\x20so\x20a\x20100-address\x20roster\x20witness\x20fits)\x20—\x20the\x20whole\x20submission\x20struct,\x20not\x20the\x20guard-table\x20candidate\x20vector.\x201.\x20Move\x20roster/candidate\x20lists\x20OUT\x20of\x20the\x20witness:\x20sum_where/count_where\x20\x27ids\x27\x20accept\x20a\x20guard-table\x20VecAddress\x20entry\x20(cap\x20100\x20ids).\x202.\x20Keep\x20only\x20per-call\x20attestation\x20inline\x20—\x20a\x20100-address\x20roster\x20(100×32B\x20=\x203200B)\x20already\x20consumes\x20most\x20of\x20the\x20budget\x20once\x20the\x20protocol\x20slots\x20254/255\x20ride\x20along.\x203.\x20Split\x20the\x20verification\x20into\x20multiple\x20guards\x20if\x20more\x20inline\x20evidence\x20is\x20unavoidable.\x204.\x20Resubmit\x20with\x20the\x20shrunken\x20submission.','user_prompt':'The\x20guard\x20submission\x20is\x20too\x20large\x20for\x20the\x20protocol\x27s\x204096-byte\x20witness\x20ceiling.\x20Roster-style\x20candidate\x20lists\x20(up\x20to\x20100)\x20belong\x20in\x20the\x20guard-table\x20id\x20vector;\x20the\x20inline\x20witness\x20should\x20carry\x20only\x20per-call\x20attestation.\x20Slim\x20the\x20submission\x20and\x20retry.'},'guard_rejected':{'error_code':'guard_rejected','strategy':'fill_submission','max_attempts':0x2,'automation':'semi','detail':'1.\x20Parse\x20Guard\x20table\x20structure\x202.\x20If\x20the\x20Guard\x20defines\x20submission\x20items,\x20fill\x20them\x20and\x20resubmit\x20with\x20call_with_submission\x203.\x20If\x20it\x20defines\x20none,\x20the\x20rule\x20evaluated\x20false\x20—\x20typical\x20causes:\x20a\x20TIME\x20WINDOW\x20(Clock\x20deadline/opening\x20comparison\x20—\x20this\x20call\x20may\x20sit\x20outside\x20the\x20window,\x20and\x20a\x20mis-oriented\x20comparison\x20inverts\x20it:\x20everything\x20inside\x20rejected,\x20everything\x20after\x20admitted),\x20an\x20IDENTITY\x20condition\x20(signer/state\x20checks\x20—\x20the\x20caller\x20may\x20not\x20be\x20the\x20address\x20the\x20rule\x20expects),\x20or\x20a\x20DATA-DEPENDENCY\x20ORDERING\x20(R-03,\x20nnd-tn-261025:\x20the\x20rule\x20reads\x20a\x20repository\x20row\x20/\x20workflow\x20state\x20that\x20does\x20not\x20hold\x20yet\x20—\x20e.g.\x20a\x20repository\x20data_add\x20whose\x20policy\x20write_guard\x20checks\x20progress.current\x20is\x20only\x20admitted\x20AFTER\x20the\x20machine\x20reaches\x20the\x20granting\x20node,\x20while\x20that\x20node\x27s\x20forward\x20may\x20read\x20this\x20very\x20row;\x20the\x20fix\x20is\x20ORDER,\x20not\x20parameters\x20—\x20find\x20the\x20reading\x20node\x20via\x20the\x20machine\x20node\x20table\x20(onchain_table_data)\x20or\x20analyze_guard_semantics,\x20advance\x20there\x20first,\x20then\x20re-run\x20the\x20SAME\x20write);\x20adjust\x20the\x20call\x27s\x20parameters\x20or\x20change\x20the\x20Guard\x20(docs#40)\x204.\x20When\x20the\x20failure\x20is\x20passport\x20E_VERIFY_FAILED\x20and\x20a\x20submission\x20was\x20supplied,\x20the\x20response\x20appends\x20a\x20\x27Guard\x20diagnosis\x20(dry-run)\x27\x20line\x20naming\x20the\x20first\x20failing\x20impact\x20guard\x20—\x20fix\x20that\x20guard\x20first\x205.\x20A\x20TIME-window\x20rejection\x20may\x20simply\x20be\x20EARLY:\x20re-run\x20the\x20SAME\x20call\x20with\x20env.dry_run=true\x20to\x20probe\x20the\x20window\x20for\x20free\x20(guard\x20rejections\x20do\x20NOT\x20consume\x20the\x20total\x20retry\x20budget;\x20only\x20the\x20per-code\x20cap\x20of\x202\x20applies)','user_prompt':'Guard\x20verification\x20rejected.\x20If\x20the\x20Guard\x20defines\x20submission\x20items,\x20fill\x20in\x20the\x20required\x20submission\x20data\x20and\x20resubmit;\x20if\x20it\x20defines\x20none,\x20the\x20Guard\x20rule\x20evaluated\x20false\x20—\x20the\x20usual\x20causes\x20are\x20a\x20time\x20window\x20(this\x20call\x20may\x20be\x20outside\x20the\x20Clock\x20deadline/opening\x20window),\x20an\x20identity\x20condition\x20(the\x20caller\x20is\x20not\x20the\x20address\x20the\x20rule\x20expects),\x20or\x20a\x20data-dependency\x20ordering\x20(the\x20rule\x20reads\x20a\x20row\x20/\x20workflow\x20state\x20that\x20does\x20not\x20hold\x20yet\x20—\x20advance\x20the\x20workflow\x20to\x20the\x20granting\x20node\x20first,\x20then\x20re-run\x20the\x20same\x20write);\x20adjust\x20this\x20call\x27s\x20parameters\x20or\x20change\x20the\x20Guard\x20rule.\x20When\x20the\x20response\x20includes\x20a\x20\x27Guard\x20diagnosis\x20(dry-run)\x27\x20line,\x20it\x20names\x20the\x20first\x20failing\x20impact\x20guard\x20—\x20address\x20that\x20guard\x20first.\x20A\x20time-window\x20rejection\x20may\x20simply\x20be\x20early:\x20probe\x20the\x20window\x20with\x20env.dry_run=true\x20(free\x20—\x20guard\x20rejections\x20do\x20not\x20consume\x20the\x20total\x20retry\x20budget).'},'time_lock_not_elapsed':{'error_code':'time_lock_not_elapsed','strategy':'wait_and_retry','max_attempts':0x1,'automation':'semi','detail':'1.\x20Verify\x20Service\x20is\x20paused\x20(bPaused=true).\x20If\x20not,\x20submit\x20pause=true\x20first.\x202.\x20Wait\x20until\x20paused_time\x20+\x20setting_lock_duration\x20<=\x20current\x20clock.\x203.\x20Retry\x20the\x20original\x20operation.\x20Do\x20NOT\x20recreate\x20the\x20object.','user_prompt':'Service\x20setting_lock_duration\x20has\x20not\x20elapsed\x20since\x20the\x20Service\x20was\x20paused.\x20Please\x20pause\x20the\x20Service\x20if\x20it\x20is\x20not\x20already\x20paused,\x20wait\x20for\x20the\x20lock\x20duration\x20to\x20elapse,\x20then\x20retry.'},'immutable_violation':{'error_code':'immutable_violation','strategy':'recreate','max_attempts':0x1,'automation':'semi','detail':'1.\x20Stop\x20modification\x20attempt\x202.\x20Evaluate\x20creating\x20a\x20new\x20object\x20as\x20replacement\x203.\x20Re-plan\x20affected\x20phases','user_prompt':'Cannot\x20modify\x20an\x20immutable\x20object.\x20A\x20new\x20object\x20must\x20be\x20created\x20as\x20a\x20replacement.\x20Confirm\x20to\x20proceed\x20with\x20recreation.'},'permission_denied':{'error_code':'permission_denied','strategy':'switch_account','max_attempts':0x2,'automation':'semi','detail':'1.\x20Query\x20object\x27s\x20permission_guard\x202.\x20List\x20accounts\x20with\x20permission\x203.\x20Switch\x20account\x20or\x20prompt\x20user\x20to\x20add\x20permission','user_prompt':'Current\x20account\x20lacks\x20permission\x20for\x20this\x20operation.\x20Switch\x20to\x20an\x20authorized\x20account\x20or\x20update\x20the\x20Permission\x20object.'},'object_not_found':{'error_code':'object_not_found','strategy':'query_and_retry','max_attempts':0x3,'automation':'semi','detail':'1.\x20Verify\x20the\x20referenced\x20name/ID\x20spelling\x20(local_mark_list)\x20and\x20that\x20the\x20object\x20exists\x20on\x20the\x20current\x20network\x202.\x20If\x20recently\x20created,\x20re-query\x20the\x20object\x20(may\x20be\x20sync\x20delay)\x203.\x20If\x20truly\x20absent,\x20search\x20for\x20similar\x20objects\x204.\x20Prompt\x20user\x20to\x20reselect','user_prompt':'Referenced\x20object\x20not\x20found.\x20First\x20verify\x20the\x20name/ID\x20spelling\x20and\x20that\x20the\x20object\x20exists\x20on\x20the\x20current\x20network;\x20if\x20it\x20was\x20created\x20recently,\x20this\x20may\x20be\x20a\x20synchronization\x20delay\x20—\x20retry.\x20If\x20the\x20issue\x20persists,\x20please\x20select\x20a\x20valid\x20object.'},'state_conflict':{'error_code':'state_conflict','strategy':'adjust_params','max_attempts':0x2,'automation':'full','detail':'1.\x20Query\x20object\x27s\x20current\x20true\x20state\x202.\x20Update\x20ODG\x20status\x20annotations\x203.\x20Adjust\x20subsequent\x20operations\x20(e.g.,\x20skip\x20completed\x20steps)'},'invalid_parameter':{'error_code':'invalid_parameter','strategy':'adjust_params','max_attempts':0x2,'automation':'semi','detail':'1.\x20Query\x20the\x20relevant\x20schema\x202.\x20Auto-fix\x20obvious\x20errors\x20(e.g.,\x20BigInt\x20vs\x20string)\x203.\x20If\x20unfixable,\x20prompt\x20user','user_prompt':'Parameter\x20validation\x20failed.\x20Please\x20check\x20the\x20parameter\x20types\x20and\x20values\x20against\x20the\x20schema\x20and\x20retry.'},'move_abort_unmapped':{'error_code':'move_abort_unmapped','strategy':'stop','max_attempts':0x1,'automation':'manual','detail':'The\x20chain\x27s\x20business\x20logic\x20aborted\x20and\x20the\x20(module,\x20abort\x20code)\x20pair\x20has\x20no\x20local\x20mapping.\x20Read\x20the\x20module\x20and\x20abort\x20code\x20from\x20move_abort_info\x20/\x20the\x20message\x20(rendered\x20as\x20\x27abort\x20(N)\x27),\x20resolve\x20their\x20meaning\x20from\x20the\x20module\x27s\x20documentation\x20or\x20the\x20wowok-tools\x20Skill,\x20fix\x20the\x20business\x20cause,\x20and\x20issue\x20a\x20NEW\x20call.\x20Do\x20NOT\x20restart\x20the\x20server\x20and\x20do\x20NOT\x20retry\x20the\x20identical\x20call\x20—\x20it\x20aborts\x20deterministically.','user_prompt':'The\x20operation\x20was\x20rejected\x20by\x20the\x20chain\x27s\x20business\x20logic\x20and\x20its\x20abort\x20code\x20is\x20not\x20mapped\x20locally.\x20The\x20module\x20name\x20and\x20abort\x20code\x20in\x20the\x20error\x20are\x20authoritative\x20—\x20review\x20them\x20(and\x20the\x20object\x20state\x20via\x20query_toolkit)\x20before\x20adjusting\x20anything.'},'missing_data':{'error_code':'missing_data','strategy':'adjust_params','max_attempts':0x2,'automation':'semi','detail':'A\x20guard\x20rule\x20read\x20a\x20keyed\x20table\x20row\x20that\x20does\x20NOT\x20exist\x20(repository.data\x20/\x20oracle\x20entry)\x20and\x20the\x20verifier\x20surfaced\x20it\x20as\x20a\x20location-only\x20fault\x20inside\x20the\x20passport\x20module\x20—\x20no\x20abort\x20code,\x20because\x20the\x20framework\x20cannot\x20express\x20\x27row\x20absent\x27\x20as\x20an\x20abort.\x20This\x20is\x20a\x20DATA\x20problem:\x201.\x20Identify\x20the\x20repository\x20and\x20key\x20the\x20guard\x20rule\x20reads\x20(guard2file\x20/\x20analyze_guard_semantics\x20on\x20the\x20guard\x20source)\x202.\x20Have\x20the\x20row\x27s\x20producer\x20write\x20it\x20(e.g.\x20an\x20oracle\x20timestamp\x20like\x20checkin_ts),\x20or\x20add\x20it\x20with\x20repository\x20data_add\x20(data_add.name\x20must\x20match\x20a\x20policy\x20rule\x20name)\x203.\x20Retry\x20the\x20SAME\x20call\x20unchanged\x20—\x20a\x20dry_run\x20that\x20turns\x20clean\x20after\x20the\x20row\x20exists\x20confirms\x20the\x20diagnosis.\x20OR-BRANCH\x20NOTE\x20(alg26\x20261026\x20F-A26-13):\x20a\x20guard\x27s\x20OR\x20does\x20NOT\x20short-circuit\x20—\x20every\x20branch\x20is\x20evaluated,\x20so\x20a\x20row\x20read\x20by\x20ANY\x20branch\x20must\x20exist\x20even\x20when\x20the\x20taken\x20path\x20would\x20not\x20read\x20it;\x20seed\x20initial\x20rows\x20(e.g.\x20a\x20counter\x20at\x200)\x20for\x20every\x20OR\x20branch\x20before\x20first\x20use','user_prompt':'A\x20guard\x20rule\x20references\x20a\x20data\x20row\x20that\x20has\x20not\x20been\x20written\x20yet\x20(location-only\x20fault\x20inside\x20the\x20passport\x20module\x20—\x20NOT\x20a\x20network\x20problem).\x20Identify\x20the\x20repository\x20row\x20the\x20guard\x20expects\x20(guard2file\x20/\x20analyze_guard_semantics),\x20write\x20it\x20with\x20repository\x20data_add\x20(or\x20let\x20its\x20producer\x20write\x20it),\x20then\x20retry.'},'guard_data_missing':{'error_code':'guard_data_missing','strategy':'adjust_params','max_attempts':0x1,'automation':'semi','detail':'A\x20guard\x20rule\x20read\x20DATA\x20that\x20does\x20not\x20exist\x20—\x20a\x20keyed\x20(id,key)\x20repository/oracle\x20row\x20or\x20a\x20field\x20of\x20an\x20object\x20the\x20guard\x20references\x20—\x20and\x20the\x20passport\x20guard\x20verifier\x20panicked\x20at\x20execution\x20time\x20with\x20NO\x20abort\x20code.\x20This\x20is\x20a\x20GUARD-DATA\x20problem,\x20NOT\x20an\x20environment\x20fault\x20(do\x20not\x20restart\x20the\x20server,\x20do\x20not\x20look\x20for\x20a\x20routing\x20cause).\x201.\x20Export\x20the\x20guard\x20(guard2file\x20/\x20analyze_guard_semantics)\x20and\x20list\x20every\x20row/field\x20it\x20reads,\x20including\x20OR\x20branches\x20(an\x20OR\x20does\x20not\x20short-circuit\x20—\x20every\x20branch\x27s\x20row\x20must\x20exist).\x202.\x20Seed\x20the\x20missing\x20(id,key)\x20row\x20with\x20repository\x20data_add\x20(data_add.name\x20must\x20match\x20a\x20policy\x20rule\x20name),\x20or\x20point\x20the\x20guard\x20at\x20a\x20row/object\x20that\x20already\x20exists\x20—\x20a\x20history-time\x20anchor\x20(query_progress_history_time\x20id\x201280,\x20next_node,\x20find=last)\x20must\x20name\x20a\x20node\x20present\x20on\x20this\x20order\x27s\x20path/period.\x203.\x20Retry\x20the\x20SAME\x20call\x20unchanged;\x20a\x20dry_run\x20that\x20turns\x20clean\x20confirms\x20the\x20diagnosis.','user_prompt':'A\x20guard\x20reads\x20repository\x20data\x20that\x20has\x20not\x20been\x20written\x20yet\x20(not\x20a\x20network\x20or\x20server\x20problem).\x20Identify\x20the\x20(id,key)\x20row\x20the\x20guard\x20expects,\x20write\x20it\x20with\x20repository\x20data_add\x20or\x20use\x20an\x20existing\x20row,\x20then\x20retry.'},'state_not_visible':{'error_code':'state_not_visible','strategy':'wait_and_retry','max_attempts':0x3,'automation':'full','detail':'The\x20state\x20this\x20call\x20needs\x20was\x20JUST\x20written\x20and\x20is\x20not\x20yet\x20visible\x20to\x20reads\x20(write-to-visibility\x20window),\x20or\x20it\x20does\x20not\x20exist\x20at\x20all.\x201.\x20If\x20a\x20write\x20on\x20this\x20order/machine\x20committed\x20within\x20the\x20last\x20few\x20seconds,\x20wait\x20500ms\x20(doubling\x20each\x20attempt)\x20and\x20replay\x20the\x20SAME\x20call\x20UNCHANGED\x20—\x20NEVER\x20edit\x20parameters\x20to\x20\x27fix\x27\x20a\x20visibility\x20window;\x20an\x20aborted\x20call\x20never\x20landed,\x20so\x20the\x20replay\x20cannot\x20double-spend.\x202.\x20If\x20the\x20fault\x20persists\x20past\x20~3\x20attempts\x20(or\x20nothing\x20was\x20just\x20written),\x20the\x20state\x20is\x20deterministically\x20ABSENT\x20—\x20stop\x20retrying:\x20for\x20a\x20forward-info\x20miss\x20query\x20the\x20Machine\x27s\x20node\x20table\x20(onchain_table_data\x20onchain_table_item_machine_node)\x20and\x20use\x20an\x20existing\x20node/next_node/forward\x20triple\x20—\x20on\x20an\x20already-built\x20machine\x20check\x20TOPOLOGY\x20first\x20(alg26\x20261026\x20F-A26-14):\x20the\x20forward\x20may\x20simply\x20not\x20be\x20an\x20out-edge\x20of\x20the\x20order\x27s\x20CURRENT\x20node,\x20which\x20no\x20retry\x20can\x20fix;\x20for\x20a\x20guard-read\x20repository\x20row\x20follow\x20the\x20missing_data\x20path\x20(write\x20the\x20row).','user_prompt':'A\x20just-committed\x20write\x20is\x20not\x20visible\x20to\x20this\x20read\x20yet.\x20The\x20same\x20call\x20will\x20be\x20replayed\x20after\x20a\x20short\x20wait\x20—\x20no\x20parameter\x20change\x20is\x20needed.\x20If\x20it\x20keeps\x20failing,\x20the\x20required\x20state\x20is\x20genuinely\x20missing\x20and\x20must\x20be\x20created\x20first.'},'unreachable_transition':{'error_code':'unreachable_transition','strategy':'query_and_retry','max_attempts':0x1,'automation':'full','detail':'The\x20requested\x20forward\x20name\x20does\x20not\x20exist\x20on\x20the\x20(prev_node,\x20node)\x20pair\x20at\x20the\x20order\x27s\x20current\x20node\x20(on-chain\x20E_FORWARD_NOT_AT_NODE)\x20—\x20the\x20transition\x20is\x20not\x20in\x20the\x20Machine\x20graph.\x20Deterministic:\x20no\x20account\x20switch,\x20retry\x20or\x20gas\x20change\x20can\x20create\x20a\x20missing\x20edge,\x20and\x20a\x20published\x20Machine\x20is\x20immutable\x20(IMMUT-001).\x201.\x20Read\x20the\x20order\x27s\x20current\x20progress\x20node\x20(order\x20progress\x20with\x20convert_witness=\x27OrderProgress\x27).\x202.\x20Query\x20the\x20Machine\x20node\x20table\x20(onchain_table_item_machine_node)\x20and\x20list\x20the\x20pair\x27s\x20ACTUAL\x20forwards.\x203.\x20Re-issue\x20the\x20operation\x20with\x20an\x20existing\x20forward\x20name\x20that\x20leads\x20toward\x20the\x20goal.\x204.\x20If\x20no\x20existing\x20edge\x20reaches\x20the\x20intended\x20state\x20on\x20a\x20published\x20Machine,\x20the\x20path\x20is\x20impossible\x20—\x20redesign\x20requires\x20a\x20NEW\x20Machine\x20version\x20(pre-publish:\x20fix\x20the\x20graph\x20and\x20republish).','user_prompt':'The\x20requested\x20machine\x20transition\x20does\x20not\x20exist\x20at\x20the\x20order\x27s\x20current\x20node\x20—\x20retrying\x20or\x20switching\x20accounts\x20cannot\x20help.\x20The\x20available\x20forwards\x20must\x20be\x20read\x20from\x20the\x20machine\x27s\x20node\x20table\x20and\x20an\x20existing\x20one\x20used\x20instead;\x20if\x20none\x20fits,\x20the\x20machine\x20graph\x20itself\x20must\x20be\x20changed\x20before\x20publish.'},'forward_not_at_node':{'error_code':'forward_not_at_node','strategy':'query_and_retry','max_attempts':0x1,'automation':'full','detail':'The\x20order\x27s\x20CURRENT\x20Progress\x20node\x20carries\x20no\x20forward\x20with\x20the\x20requested\x20name\x20(on-chain\x20E_INFO_NOT_FOUND\x20=\x2013)\x20—\x20the\x20forward\x20is\x20not\x20an\x20out-edge\x20of\x20the\x20node\x20the\x20order\x20stands\x20on.\x20Deterministic\x20topology\x20mismatch:\x20retrying\x20the\x20same\x20triple,\x20waiting\x20or\x20switching\x20accounts\x20cannot\x20create\x20the\x20edge.\x201.\x20Read\x20the\x20order\x27s\x20CURRENT\x20node\x20(order\x20progress\x20with\x20convert_witness=\x27OrderProgress\x27).\x202.\x20Query\x20the\x20Machine\x20node\x20table\x20(onchain_table_item_machine_node)\x20and\x20list\x20the\x20pair\x27s\x20ACTUAL\x20forwards\x20at\x20that\x20node.\x203.\x20Re-issue\x20with\x20one\x20of\x20those\x20forward\x20names,\x20or\x20first\x20advance\x20through\x20the\x20intermediate\x20node\x20that\x20carries\x20the\x20intended\x20edge.\x204.\x20Always\x20surface\x20current_node\x20+\x20available_forwards,\x20never\x20the\x20same\x20triple\x20again.\x20Distinct\x20from\x20unreachable_transition\x20(machine:25)\x20where\x20the\x20pair\x20exists\x20at\x20this\x20node\x20and\x20only\x20the\x20name\x20is\x20missing.','user_prompt':'The\x20order\x20is\x20standing\x20on\x20a\x20node\x20that\x20has\x20no\x20such\x20forward.\x20The\x20current\x20node\x20and\x20its\x20actual\x20forward\x20names\x20must\x20be\x20read\x20from\x20the\x20machine\x20node\x20table\x20and\x20an\x20edge\x20sourced\x20there\x20used\x20instead\x20(or\x20the\x20order\x20advanced\x20to\x20the\x20right\x20node\x20first).\x20Retrying\x20cannot\x20help.'},'anchor_unavailable':{'error_code':'anchor_unavailable','strategy':'escalate_human','max_attempts':0x1,'automation':'manual','detail':'The\x20messenger\x20WTS\x20evidence\x20chain\x20is\x20unavailable:\x20the\x20server\x20key-book\x20anchor\x20could\x20not\x20be\x20confirmed\x20on\x20the\x20current\x20network\x20(signer\x20not\x20pinned\x20for\x20this\x20network,\x20anchor\x20repository\x20absent\x20on-chain\x20—\x20typical\x20after\x20a\x20chain\x20re-genesis\x20—\x20or\x20the\x20anchor\x20chain\x20read\x20failed).\x20This\x20is\x20an\x20INFRASTRUCTURE\x20configuration\x20gap,\x20NOT\x20a\x20guard\x20rejection,\x20a\x20network\x20fault,\x20or\x20a\x20parameter\x20problem\x20—\x20signing\x20and\x20anchoring\x20fail\x20closed\x20by\x20design\x20(an\x20unconfirmed\x20key\x20book\x20cannot\x20ground\x20evidence).\x20Remedy\x20(out\x20of\x20band,\x20no\x20retry\x20will\x20help):\x201.\x20Deploy\x20or\x20re-anchor\x20the\x20messenger\x20server\x20key\x20book\x20on\x20the\x20target\x20network\x202.\x20Pin\x20its\x20signer\x20for\x20that\x20network\x20in\x20the\x20SDK\x20keybook\x20table\x203.\x20Until\x20then,\x20treat\x20the\x20messenger\x20channel\x20as\x20private\x20communication\x20WITHOUT\x20third-party\x20provability\x20(verify_wts\x20still\x20returns\x20a\x20structured\x20valid:false\x20verdict\x20with\x20the\x20anchor\x20reason)','user_prompt':'The\x20WTS\x20evidence\x20chain\x20cannot\x20be\x20anchored\x20on\x20this\x20network:\x20the\x20messenger\x20server\x20key-book\x20anchor\x20is\x20missing\x20or\x20unconfirmed.\x20This\x20needs\x20an\x20out-of-band\x20keybook\x20deployment\x20plus\x20SDK\x20signer\x20pinning\x20for\x20the\x20network\x20—\x20retrying\x20the\x20call\x20will\x20fail\x20the\x20same\x20way.\x20Until\x20fixed,\x20messenger\x20communication\x20remains\x20private\x20but\x20cannot\x20be\x20turned\x20into\x20third-party-verifiable\x20evidence.'},'capability_unavailable':{'error_code':'capability_unavailable','strategy':'stop','max_attempts':0x1,'automation':'manual','detail':'The\x20connected\x20chain\x20package\x20does\x20not\x20carry\x20this\x20protocol\x20entry,\x20so\x20the\x20call\x20is\x20impossible\x20on\x20this\x20package\x20version.\x20Deterministic\x20—\x20retrying,\x20re-signing\x20or\x20editing\x20parameters\x20cannot\x20add\x20the\x20missing\x20entry.\x20Remedy\x20(no\x20retry\x20involved):\x201.\x20Apply\x20the\x20documented\x20downgrade\x20for\x20the\x20intent\x20(for\x20a\x20reward\x20evidence\x20pin:\x20drop\x20the\x20evidence\x20binding\x20and\x20keep\x20the\x20repository-floor\x20guard\x20leg,\x20disclosing\x20that\x20it\x20proves\x20only\x20\x27a\x20qualifying\x20repository\x20row\x20exists\x20for\x20this\x20order\x27\x20—\x20not\x20who\x20wrote\x20it)\x202.\x20Check\x20the\x20target\x20network\x27s\x20package\x20release\x20notes\x20for\x20the\x20version\x20that\x20ships\x20the\x20entry\x20before\x20re-enabling\x20it\x203.\x20Never\x20treat\x20the\x20missing\x20entry\x20name\x20as\x20a\x20fixable\x20parameter','user_prompt':'This\x20call\x20needs\x20a\x20chain\x20capability\x20the\x20connected\x20package\x20does\x20not\x20have\x20yet.\x20It\x20cannot\x20succeed\x20on\x20this\x20network\x20version\x20—\x20no\x20retry\x20or\x20parameter\x20change\x20will\x20help.\x20The\x20documented\x20downgrade\x20keeps\x20the\x20goal\x20achievable\x20with\x20a\x20weaker\x20guarantee\x20that\x20must\x20be\x20disclosed\x20(for\x20a\x20review\x20bounty:\x20the\x20repository-floor\x20leg\x20proves\x20a\x20qualifying\x20rating\x20row\x20exists\x20for\x20the\x20order,\x20not\x20that\x20the\x20buyer\x20wrote\x20a\x20real\x20review).'},'delivery_unknown':{'error_code':'delivery_unknown','strategy':'query_and_retry','max_attempts':0x1,'automation':'semi','detail':'The\x20messenger\x20send\x20failed\x20at\x20transport\x20level\x20AFTER\x20submission:\x20delivery\x20state\x20is\x20UNKNOWN\x20because\x20the\x20relay\x20may\x20have\x20already\x20committed\x20the\x20message\x20despite\x20the\x20client-side\x20failure.\x20A\x20blind\x20re-send\x20DOUBLE-DELIVERS\x20the\x20same\x20encrypted\x20payload,\x20so\x20the\x20retry\x20loop\x20is\x20verify-first:\x20read\x20the\x20conversation\x20(watch_conversations\x20/\x20message\x20list)\x20and\x20check\x20for\x20the\x20identical\x20payload;\x20re-send\x20only\x20after\x20confirming\x20it\x20never\x20arrived.\x20Note\x20the\x20message,\x20when\x20it\x20did\x20arrive,\x20is\x20fully\x20end-to-end\x20encrypted\x20—\x20only\x20delivery\x20is\x20uncertain','user_prompt':'The\x20send\x20failed\x20after\x20submission,\x20so\x20delivery\x20is\x20uncertain\x20(the\x20server\x20may\x20have\x20committed\x20it\x20anyway).\x20Do\x20NOT\x20resend\x20blindly:\x20first\x20check\x20the\x20conversation\x20for\x20the\x20same\x20message;\x20resend\x20only\x20if\x20it\x20never\x20arrived.'},'transport_unavailable':{'error_code':'transport_unavailable','strategy':'retry','max_attempts':0x3,'automation':'full','detail':'A\x20transport-level\x20object\x20FETCH\x20failed\x20(\x27Fetch\x20<Type>\x20object\x200x...\x20failed\x27)\x20—\x20a\x20READ-path\x20availability\x20problem\x20(fullnode/gateway),\x20NOT\x20a\x20guard\x20rejection\x20and\x20NOT\x20an\x20on-chain\x20abort.\x201.\x20READ\x20calls\x20are\x20idempotent:\x20retry\x20after\x20a\x20brief\x20backoff,\x20or\x20against\x20a\x20healthy\x20endpoint.\x202.\x20If\x20this\x20error\x20surfaced\x20on\x20a\x20WRITE\x20call,\x20the\x20write\x27s\x20submission\x20state\x20is\x20UNKNOWN\x20—\x20do\x20NOT\x20blindly\x20resend;\x20first\x20query\x20the\x20expected\x20object\x20on-chain\x20and\x20adopt\x20or\x20resubmit\x20per\x20the\x20submission_unknown\x20discipline\x20(ghost-order\x20hazard).\x203.\x20Never\x20re-interpret\x20this\x20as\x20a\x20guard\x20failure:\x20no\x20guard\x20was\x20evaluated,\x20nothing\x20reached\x20Move.\x204.\x20Persistent\x20failures\x20across\x20endpoints\x20→\x20check\x20network/fullnode\x20health\x20before\x20touching\x20business\x20logic'},'peer_not_registered':{'error_code':'peer_not_registered','strategy':'stop','max_attempts':0x1,'automation':'manual','detail':'The\x20message\x20RECIPIENT\x20is\x20not\x20registered\x20on\x20the\x20messenger\x20server\x20for\x20this\x20network\x20—\x20the\x20relay\x20has\x20no\x20keybook\x20entry\x20for\x20their\x20address,\x20so\x20delivery\x20is\x20impossible\x20until\x20THEY\x20enable\x20messenger.\x20Deterministic\x20recipient-side\x20gap:\x20retrying,\x20re-signing\x20or\x20switching\x20the\x20sender\x27s\x20account\x20cannot\x20fix\x20it.\x201.\x20Verify\x20the\x20recipient\x20address\x20spelling\x20and\x20that\x20both\x20sides\x20are\x20on\x20the\x20SAME\x20network\x20(a\x20foreign-network\x20address\x20reads\x20as\x20unregistered).\x202.\x20Ask\x20the\x20recipient\x20to\x20enable\x20messenger\x20once\x20from\x20their\x20own\x20account\x20(account_operation\x20with\x20messenger\x20registration)\x20on\x20this\x20network.\x203.\x20Re-send\x20AFTER\x20their\x20registration\x20—\x20until\x20then\x20the\x20thread\x20stays\x20undeliverable,\x20not\x20lost\x20(history\x20survives\x20on\x20the\x20sender\x27s\x20side).','user_prompt':'The\x20recipient\x20has\x20not\x20enabled\x20the\x20messenger\x20yet,\x20so\x20the\x20message\x20cannot\x20be\x20delivered.\x20Ask\x20them\x20to\x20enable\x20messenger\x20on\x20this\x20network\x20first,\x20then\x20re-send.\x20Retrying\x20on\x20your\x20side\x20will\x20not\x20help.'},'unknown':{'error_code':'unknown','strategy':'escalate_human','max_attempts':0x1,'automation':'manual','detail':'1.\x20Report\x20full\x20error\x20context\x20to\x20the\x20user\x202.\x20Escalate\x20to\x20human\x20intervention\x203.\x20Flag\x20for\x20error-classification\x20rule\x20addition','user_prompt':'An\x20unclassified\x20error\x20occurred.\x20Please\x20review\x20the\x20error\x20details\x20and\x20contact\x20support\x20if\x20needed.'}};const operationAttempts=new Map();function getAttemptCount(a,b){const c=operationAttempts['get'](a);if(!c)return 0x0;return c['get'](b)??0x0;}function incrementAttempt(a,b){!operationAttempts['has'](a)&&operationAttempts['set'](a,new Map());const c=operationAttempts['get'](a),d=(c['get'](b)??0x0)+0x1;return c['set'](b,d),d;}const BUDGET_EXEMPT_CODES=new Set(['guard_rejected']);function getBudgetAttempts(a){const b=operationAttempts['get'](a);if(!b)return 0x0;let c=0x0;for(const [d,e]of b){if(!BUDGET_EXEMPT_CODES['has'](d))c+=e;}return c;}export function resetAttempts(a){operationAttempts['delete'](a);}export function recover(a,b,c){let d=RECOVERY_RULES[a]??RECOVERY_RULES['unknown'];if(a==='time_lock_not_elapsed'){const j=String(c?.['operation_type']??''),k=c?.['data']??{},l=/arb/i['test'](j)||k['arb']!==undefined||k['arbitration']!==undefined;l&&(d={...d,'detail':'1.\x20Do\x20NOT\x20pause\x20the\x20Service\x20and\x20do\x20NOT\x20touch\x20store\x20settings\x20—\x20this\x20is\x20an\x20Arb\x20VOTING\x20WINDOW,\x20not\x20a\x20Service\x20setting\x20lock.\x20'+'2.\x20Query\x20the\x20Arb\x20case\x20and\x20echo\x20voting_deadline\x20(epoch\x20ms)\x20and\x20the\x20remaining\x20time.\x20'+'3.\x20Wait\x20until\x20voting_deadline\x20elapses\x20(arb:4\x20fires\x20only\x20when\x20EARLY).\x20'+'4.\x20Re-run\x20the\x20ruling\x20/\x20vote-tally\x20call\x20against\x20the\x20same\x20case.\x20Do\x20NOT\x20recreate\x20the\x20Arb.','user_prompt':'The\x20Arb\x20voting\x20window\x20has\x20not\x20elapsed\x20yet.\x20Wait\x20until\x20voting_deadline,\x20then\x20re-run\x20the\x20ruling/vote-tally\x20on\x20the\x20same\x20case.\x20Do\x20not\x20pause\x20the\x20Service.'});}const e=0x5,f=getBudgetAttempts(b),g=getAttemptCount(b,a);if(d['max_attempts']<=0x1||d['strategy']==='stop')return{'strategy':d['strategy'],'should_retry':![],'max_attempts':d['max_attempts'],'current_attempt':g,'adjusted_params':d['adjusted_params'],'user_prompt':d['user_prompt'],'detail':d['detail']};if(f>=e)return{'strategy':'stop','should_retry':![],'max_attempts':e,'current_attempt':f,'detail':'Total\x20retry\x20limit\x20('+e+')\x20reached\x20for\x20operation\x20'+b+'.\x20Escalating\x20to\x20human\x20intervention.\x20Attempts\x20recorded\x20for\x20this\x20operation\x20id:\x20'+([...(operationAttempts['get'](b)??new Map())['entries']()]['map'](([m,o])=>m+':'+o)['join'](',\x20')||'none')+'.','user_prompt':'Maximum\x20retry\x20attempts\x20reached.\x20Manual\x20intervention\x20required.'};if(g>=d['max_attempts'])return{'strategy':'escalate_human','should_retry':![],'max_attempts':d['max_attempts'],'current_attempt':g,'detail':'Per-error-code\x20retry\x20limit\x20('+d['max_attempts']+')\x20reached\x20for\x20'+a+'.\x20Escalating\x20to\x20human.','user_prompt':'Recovery\x20attempts\x20for\x20'+a+'\x20exhausted.\x20Manual\x20intervention\x20required.'};const h=incrementAttempt(b,a),i={'strategy':d['strategy'],'should_retry':d['automation']==='full'||h<d['max_attempts'],'max_attempts':d['max_attempts'],'current_attempt':h,'adjusted_params':d['adjusted_params'],'user_prompt':d['user_prompt'],'detail':d['detail']};return i['should_retry']&&c?.['retryable']===![]&&a!=='guard_rejected'&&d['strategy']!=='fill_submission'&&d['strategy']!=='query_and_retry'&&(i['should_retry']=![],i['detail']+='\x20NON-RETRYABLE\x20CLASSIFICATION:\x20retrying\x20the\x20IDENTICAL\x20call\x20fails\x20identically\x20—\x20apply\x20the\x20strategy\x20above\x20to\x20fix\x20the\x20cause,\x20then\x20submit\x20a\x20FRESH\x20call.'),i;}export function getBackoffDelay(a){return Math['pow'](0x2,a-0x1)*0x3e8;}
1
+ export const RECOVERY_RULES={'insufficient_balance':{'error_code':'insufficient_balance','strategy':'claim_faucet','max_attempts':0x3,'automation':'semi','detail':'1.\x20Testnet:\x20claim\x20WOW\x20from\x20the\x20faucet\x20—\x20the\x20payout\x20itself\x20needs\x20NO\x20gas\x20on\x20the\x20claiming\x20account\x20(the\x20faucet\x20server\x20transfers\x20the\x20coins),\x20so\x20a\x20zero-gas\x20account\x20claims\x20FIRST\x20and\x20transacts\x20AFTER;\x20if\x20the\x20account\x20already\x20holds\x20WOW\x20but\x20every\x20op\x20still\x20fails\x20on\x20gas\x20(fragmented\x20payout\x20coins\x20below\x20the\x20gas\x20reserve),\x20claim\x20AGAIN\x20—\x20each\x20payout\x20lands\x20fresh\x201-WOW\x20coins\x20that\x20serve\x20as\x20valid\x20gas\x20inputs\x20(the\x20silent\x20merge\x20failure\x20leaves\x20usable\x20coins).\x202.\x20Mainnet:\x20transfer\x20ETH/USDT/USDC/WBTC\x20via\x20the\x20ETH\x20mainnet\x20cross-chain\x20bridge\x20(query\x20active\x20EVM\x20account\x20→\x20top\x20up\x20from\x20external\x20wallet\x20→\x20confirm\x20→\x20cross-chain)\x203.\x20Point\x20the\x20user\x20to\x20the\x20live\x20airdrop\x20page\x20(https://wowok.net/airdrop.html)\x20for\x20the\x20current\x20round\x204.\x20Retry\x20original\x20operation.\x20NOTE:\x20this\x20rule\x20is\x20for\x20the\x20SIGNING\x20ACCOUNT\x27s\x20wallet/gas\x20only\x20—\x20an\x20on-chain\x20POOL\x20shortage\x20(reward/allocation)\x20classifies\x20as\x20pool_shortage,\x20never\x20here','user_prompt':'Insufficient\x20balance\x20for\x20gas\x20or\x20operation.\x20How\x20to\x20obtain\x20WOW\x20tokens:\x20(1)\x20Testnet\x20—\x20claim\x20WOW\x20from\x20the\x20faucet\x20(https://faucet.testnet.wowok.net);\x20the\x20claim\x20itself\x20costs\x20no\x20gas\x20(server-side\x20payout),\x20so\x20claim\x20first\x20even\x20on\x20an\x20account\x20that\x20cannot\x20transact\x20yet;\x20if\x20the\x20account\x20still\x20cannot\x20pay\x20gas\x20after\x20a\x20claim,\x20claim\x20again\x20(fresh\x20whole-coin\x20payouts\x20provide\x20valid\x20gas\x20coins).\x20All\x20merchant\x20and\x20order\x20testing\x20can\x20use\x20WOW\x20as\x20the\x20payment\x20token.\x20(2)\x20Mainnet\x20—\x20transfer\x20ETH\x20/\x20USDT\x20/\x20USDC\x20/\x20WBTC\x20via\x20the\x20ETH\x20mainnet\x20cross-chain\x20bridge:\x20first\x20query\x20the\x20active\x20EVM\x20account\x20(bridge_operation\x20query_active_evm_account,\x20auto-generated\x20on\x20first\x20use),\x20then\x20transfer\x20from\x20an\x20external\x20wallet\x20(e.g.\x20MetaMask)\x20to\x20that\x20address,\x20confirm\x20the\x20balance\x20arrived,\x20and\x20cross-chain\x20to\x20WOW\x20mainnet\x20(bridge_operation\x20cross_chain_evm_to_wow).\x20(3)\x20WOW\x20airdrop:\x20current\x20round\x20status,\x20pool\x20and\x20eligibility\x20are\x20published\x20live\x20at\x20https://wowok.net/airdrop.html\x20(referral:\x20https://wowok.net/refer.html)\x20—\x20open\x20that\x20page\x20rather\x20than\x20assuming\x20a\x20round\x20is\x20live\x20or\x20closed.\x20Query\x20wowok_buildin_info\x20with\x20info=\x27funding\x20guidance\x27\x20for\x20the\x20canonical\x20funding\x20guidance.'},'pool_shortage':{'error_code':'pool_shortage','strategy':'adjust_params','max_attempts':0x1,'automation':'semi','detail':'An\x20on-chain\x20POOL\x20cannot\x20cover\x20the\x20operation\x20(the\x20reward\x20pool\x20aborts\x20with\x206,\x20'+'the\x20allocation\x20pool\x20with\x207)\x20—\x20a\x20pool\x20funding\x20problem,\x20NOT\x20the\x20caller\x27s\x20wallet;\x20a\x20faucet\x20claim\x20will\x20NOT\x20help\x20and\x20re-sending\x20the\x20rail\x20unchanged\x20changes\x20nothing.\x201.\x20Reward\x20pool:\x20the\x20reward\x20ISSUER\x20tops\x20it\x20up\x20with\x20reward\x20coin_add\x20(permission\x20153)\x20—\x20the\x20claim\x20key\x20slot\x20is\x20written\x20BEFORE\x20the\x20balance\x20assert\x20and\x20the\x20abort\x20rolls\x20it\x20back,\x20so\x20NOTHING\x20was\x20consumed;\x20the\x20identical\x20claim\x20succeeds\x20after\x20the\x20top-up\x20(mainnet-proven,\x20T14).\x202.\x20Allocation\x20pool:\x20the\x20payer\x20side\x20funds\x20the\x20order/allocation\x20first\x20(order\x20renew,\x20payment\x20create\x20into\x20the\x20allocation),\x20then\x20re-runs\x20the\x20rail;\x20if\x20the\x20pool\x20is\x20drained\x20because\x20the\x20rail\x20ALREADY\x20paid\x20(balance\x200,\x20once-slot\x20consumed),\x20verify\x20via\x20the\x20Payment\x20record\x20instead\x20of\x20retrying.\x203.\x20As\x20the\x20BUYER:\x20report\x20the\x20shortage\x20to\x20the\x20merchant\x20—\x20never\x20fund\x20a\x20pool\x20you\x20do\x20not\x20own','user_prompt':'The\x20on-chain\x20pool\x20backing\x20this\x20operation\x20is\x20short\x20of\x20funds.\x20The\x20pool\x27s\x20owner\x20must\x20top\x20it\x20up\x20(reward\x20coin_add\x20/\x20allocation\x20funding)\x20—\x20a\x20faucet\x20claim\x20will\x20not\x20help.\x20As\x20the\x20buyer,\x20ask\x20the\x20merchant\x20to\x20fund\x20the\x20pool.'},'stock_exhausted':{'error_code':'stock_exhausted','strategy':'adjust_params','max_attempts':0x1,'automation':'semi','detail':'Merchant-side\x20inventory\x20shortfall\x20(on-chain\x20E_STOCK_NOT_ENOUGH)\x20—\x20NOT\x20a\x20buyer\x20balance\x20problem,\x20so\x20a\x20faucet\x20claim\x20will\x20NOT\x20help.\x201.\x20Reduce\x20the\x20purchase\x20quantity\x20to\x20the\x20item\x27s\x20remaining\x20stock\x202.\x20Pick\x20another\x20sale\x20item\x203.\x20Ask\x20the\x20merchant\x20to\x20restock,\x20then\x20retry','user_prompt':'The\x20sale\x20item\x27s\x20stock\x20is\x20exhausted\x20for\x20the\x20requested\x20quantity.\x20Reduce\x20the\x20quantity,\x20choose\x20another\x20item,\x20or\x20ask\x20the\x20merchant\x20to\x20restock.'},'allocation_empty':{'error_code':'allocation_empty','strategy':'stop','max_attempts':0x1,'automation':'semi','detail':'The\x20Allocation\x20distributed\x20zero\x20value:\x20its\x20pool\x20is\x20empty\x20(already\x20fully\x20distributed,\x20or\x20the\x20order\x20total\x20was\x20discounted/couponed\x20to\x20zero)\x20—\x20a\x20legitimate\x20outcome\x20for\x20zero-total\x20orders.\x201.\x20Do\x20NOT\x20retry\x20the\x20allocation;\x20it\x20cannot\x20change\x20this.\x202.\x20If\x20funds\x20WERE\x20expected:\x20check\x20whether\x20the\x20order\x27s\x20payments\x20actually\x20funded\x20this\x20Allocation\x20before\x20the\x20rail\x20ran\x20(upstream\x20funding\x20problem),\x20and\x20verify\x20the\x20Payment\x20record\x20—\x20on\x20a\x20RETRIED\x20submission\x20the\x20FIRST\x20attempt\x20may\x20have\x20already\x20landed\x20(a\x20zero\x20balance\x20is\x20exactly\x20what\x20a\x20completed\x20distribution\x20looks\x20like,\x20F-M10).\x203.\x20The\x20chain\x20checks\x20the\x20balance\x20BEFORE\x20guard\x20evaluation,\x20so\x20this\x20abort\x20is\x20NOT\x20evidence\x20about\x20a\x20guard\x27s\x20verdict\x20—\x20never\x20conclude\x20\x27guard\x20rejected\x27\x20from\x20it','user_prompt':'The\x20allocation\x20pool\x20holds\x20nothing\x20to\x20distribute\x20(zero\x20total\x20or\x20already\x20fully\x20paid\x20out).\x20Verify\x20the\x20Payment\x20record\x20before\x20re-running\x20anything;\x20if\x20a\x20payout\x20was\x20expected,\x20the\x20pool\x20needs\x20funding\x20first.'},'sale_suspended':{'error_code':'sale_suspended','strategy':'adjust_params','max_attempts':0x1,'automation':'semi','detail':'The\x20merchant\x20suspended\x20this\x20sale\x20item\x20(Move\x20service:34\x20E_SALE_SUSPENDED).\x201.\x20Pick\x20another\x20(non-suspended)\x20item\x202.\x20Contact\x20the\x20merchant\x20to\x20resume\x20the\x20sale,\x20then\x20retry','user_prompt':'The\x20sale\x20item\x20is\x20suspended\x20by\x20the\x20merchant.\x20Please\x20choose\x20another\x20item\x20or\x20contact\x20the\x20merchant.'},'discount_invalid':{'error_code':'discount_invalid','strategy':'adjust_params','max_attempts':0x1,'automation':'semi','detail':'The\x20discount\x20is\x20outside\x20its\x20[time_start,\x20time_end]\x20validity\x20window\x20(Move\x20service:35\x20E_DISCOUNT_TIME_INVALID).\x201.\x20Retry\x20without\x20the\x20discount\x202.\x20Ask\x20the\x20merchant\x20for\x20a\x20fresh\x20discount,\x20then\x20retry','user_prompt':'The\x20discount\x20is\x20not\x20valid\x20at\x20the\x20current\x20time\x20(outside\x20its\x20validity\x20window).\x20Buy\x20without\x20the\x20discount\x20or\x20ask\x20the\x20merchant\x20for\x20a\x20new\x20one.'},'rate_limit':{'error_code':'rate_limit','strategy':'retry','max_attempts':0x5,'automation':'full','detail':'Rate\x20limit\x20hit\x20(HTTP\x20429).\x20Exponential\x20backoff\x20retry:\x202s\x20/\x204s\x20/\x208s\x20/\x2016s\x20/\x2032s.\x20Avoid\x20parallel\x20calls\x20while\x20the\x20limit\x20window\x20is\x20active.'},'gas_exceeded':{'error_code':'gas_exceeded','strategy':'adjust_params','max_attempts':0x3,'automation':'semi','detail':'Gas\x20budget\x20exceeded.\x201.\x20Increase\x20the\x20gas_budget\x20parameter\x202.\x20Reduce\x20the\x20operation\x20size\x20(fewer\x20objects\x20per\x20transaction)\x203.\x20Retry\x20the\x20original\x20operation','user_prompt':'Gas\x20budget\x20exceeded.\x20Increase\x20the\x20gas\x20budget\x20or\x20reduce\x20the\x20operation\x20size,\x20then\x20retry.'},'insufficient_gas':{'error_code':'insufficient_gas','strategy':'adjust_params','max_attempts':0x1,'automation':'semi','detail':'Gas\x20exhausted\x20—\x20the\x20transaction\x20failed\x20deterministically\x20and\x20did\x20NOT\x20commit\x20on-chain\x20(no\x20state\x20changed;\x20commit-state\x20verification\x20is\x20NOT\x20needed).\x201.\x20Raise\x20the\x20gas_budget\x20parameter\x20above\x20the\x20failed\x20transaction\x27s\x20gas_used\x202.\x20If\x20the\x20account\x20balance\x20cannot\x20cover\x20any\x20budget,\x20fund\x20the\x20signing\x20account\x20with\x20gas\x20tokens\x20first\x203.\x20Resubmit\x20as\x20a\x20FRESH\x20call\x20—\x20do\x20NOT\x20replay\x20the\x20same\x20transaction','user_prompt':'The\x20transaction\x20ran\x20out\x20of\x20gas\x20and\x20did\x20not\x20commit\x20on-chain.\x20Increase\x20the\x20gas\x20budget\x20(or\x20fund\x20the\x20account\x20with\x20gas)\x20and\x20submit\x20a\x20fresh\x20transaction\x20—\x20retrying\x20unchanged\x20will\x20fail\x20the\x20same\x20way.'},'bcs_error':{'error_code':'bcs_error','strategy':'adjust_params','max_attempts':0x2,'automation':'semi','detail':'BCS\x20serialization/deserialization\x20error\x20—\x20a\x20parameter\x20does\x20not\x20match\x20the\x20expected\x20type/structure.\x201.\x20Query\x20the\x20operation\x20schema\x20(schema_query)\x202.\x20Fix\x20the\x20offending\x20parameter\x20type\x20(e.g.\x20BigInt\x20vs\x20number,\x20vector\x20element\x20type)\x203.\x20Retry','user_prompt':'A\x20parameter\x20failed\x20serialization.\x20Check\x20the\x20parameter\x20types\x20against\x20the\x20schema\x20and\x20retry.'},'signature_error':{'error_code':'signature_error','strategy':'switch_account','max_attempts':0x2,'automation':'semi','detail':'Signature\x20verification\x20failed.\x201.\x20Verify\x20the\x20account\x20is\x20not\x20suspended\x202.\x20Check\x20the\x20network\x20matches\x20the\x20account\x27s\x203.\x20Switch\x20to\x20a\x20healthy\x20account\x20and\x20retry','user_prompt':'Signature\x20verification\x20failed.\x20The\x20account\x20may\x20be\x20suspended\x20or\x20misconfigured.\x20Switch\x20accounts\x20or\x20check\x20the\x20configuration\x20and\x20retry.'},'config_error':{'error_code':'config_error','strategy':'escalate_human','max_attempts':0x1,'automation':'manual','detail':'Local\x20configuration\x20error\x20(network\x20not\x20specified,\x20persistent\x20storage\x20not\x20set).\x201.\x20Show\x20the\x20user\x20which\x20configuration\x20is\x20missing\x202.\x20Guide\x20the\x20user\x20through\x20the\x20account_operation/config\x20setup\x203.\x20Retry\x20after\x20the\x20user\x20fixes\x20it','user_prompt':'Local\x20configuration\x20is\x20incomplete.\x20Please\x20finish\x20the\x20account/network\x20setup\x20and\x20retry.'},'wip_verification_failed':{'error_code':'wip_verification_failed','strategy':'adjust_params','max_attempts':0x2,'automation':'semi','detail':'WIP\x20file\x20not\x20publicly\x20reachable\x20/\x20hash\x20mismatch.\x201.\x20Upload\x20via\x20the\x20wip\x20storage\x20service\x20(wip_file\x20type=\x27upload\x27\x20—\x20official\x20free\x20store\x20or\x20storage=\x27custom\x27)\x202.\x20Or\x20deploy\x20to\x20a\x20public\x20URL\x20(GitHub\x20Pages\x20/\x20IPFS\x20/\x20own\x20site)\x203.\x20Update\x20the\x20sale\x27s\x20wip\x20URL\x204.\x20Re-run\x20the\x20operation','user_prompt':'The\x20WIP\x20file\x20could\x20not\x20be\x20verified\x20from\x20a\x20public\x20URL.\x20Upload\x20it\x20with\x20wip_file\x20type=\x27upload\x27\x20(official\x20free\x20store\x20or\x20your\x20own\x20service)\x20or\x20deploy\x20it\x20(GitHub\x20Pages\x20/\x20IPFS),\x20update\x20the\x20sale\x27s\x20WIP\x20URL,\x20and\x20retry.'},'wip_storage_unavailable':{'error_code':'wip_storage_unavailable','strategy':'retry','max_attempts':0x3,'automation':'full','detail':'Transient\x20wip\x20storage\x20transport\x20failure.\x201.\x20Retry\x20the\x20same\x20request\x20with\x20bounded\x20backoff\x202.\x20Large\x20WIP\x20files\x20are\x20network-sensitive:\x20compress\x20images\x20before\x20generate\x20(each\x20image\x20<=\x202MB,\x20total\x20<=\x2010MB)\x203.\x20Check\x20connectivity\x20to\x20the\x20storage\x20base\x20URL\x20if\x20retries\x20keep\x20failing','user_prompt':'The\x20wip\x20storage\x20request\x20failed\x20due\x20to\x20a\x20network\x20problem.\x20Retry\x20the\x20upload;\x20if\x20it\x20keeps\x20failing,\x20reduce\x20the\x20file\x20size\x20or\x20check\x20connectivity.'},'wip_storage_rejected':{'error_code':'wip_storage_rejected','strategy':'adjust_params','max_attempts':0x1,'automation':'semi','detail':'WIP\x20storage\x20service\x20rejected\x20the\x20request\x20(HTTP\x204xx\x20—\x20deterministic\x20client-side\x20fault,\x20retrying\x20unchanged\x20fails\x20identically).\x20400:\x20malformed\x20body\x20or\x20failed\x20WIP\x20validation\x20—\x20re-generate\x20via\x20wip_file\x20type=\x27generate\x27\x20401:\x20re-sign\x20with\x20a\x20fresh\x20nonce\x20inside\x20the\x20timestamp\x20window\x20403:\x20check\x20storage\x20service\x20configuration\x20404:\x20file\x20does\x20not\x20exist\x20—\x20re-upload\x20409:\x20quota\x20—\x20delete\x20old\x20files\x20via\x20wip_file\x20type=\x27list\x27\x20then\x20delete\x20413:\x20compress\x20images\x20(each\x20<=\x202MB,\x20total\x20<=\x2010MB)\x20and\x20regenerate','user_prompt':'The\x20WIP\x20storage\x20service\x20rejected\x20the\x20request\x20(HTTP\x204xx).\x20Fix\x20the\x20specific\x20fault\x20(re-generate/re-sign/re-upload\x20per\x20the\x20status\x20code)\x20and\x20retry\x20—\x20do\x20not\x20retry\x20unchanged.'},'sale_wip_mismatch':{'error_code':'sale_wip_mismatch','strategy':'adjust_params','max_attempts':0x1,'automation':'semi','detail':'The\x20submitted\x20wip_hash\x20matches\x20ANOTHER\x20sale\x27s\x20wip_hash\x20on\x20this\x20Service\x20—\x20the\x20file\x20is\x20fine,\x20the\x20sale_id(0-based)/hash\x20PAIR\x20is\x20wrong.\x201.\x20Re-read\x20the\x20Service\x27s\x20sales\x20index\x20table\x20from\x20the\x20error\x20(sale_id\x20→\x20wip_hash\x20→\x20item\x20summary)\x202.\x20Re-send\x20with\x20the\x20sale_id\x20whose\x20wip_hash\x20matches\x20the\x20hash\x20you\x20intended,\x20or\x20omit\x20wip_hash\x20entirely\x20(the\x20SDK\x20auto-fills\x20it\x20from\x20the\x20selected\x20sale)\x203.\x20Do\x20NOT\x20re-generate\x20or\x20re-upload\x20the\x20.wip\x20file\x20—\x20that\x20cannot\x20fix\x20a\x20pairing\x20mistake','user_prompt':'The\x20wip_hash\x20you\x20submitted\x20belongs\x20to\x20a\x20different\x20sale\x20of\x20this\x20Service\x20(the\x20WIP\x20file\x20itself\x20is\x20fine).\x20Pick\x20the\x20matching\x20sale_id,\x20or\x20drop\x20wip_hash\x20so\x20it\x20auto-fills\x20from\x20the\x20sale\x20—\x20no\x20file\x20redeploy\x20needed.'},'wip_hash_invalid':{'error_code':'wip_hash_invalid','strategy':'adjust_params','max_attempts':0x2,'automation':'semi','detail':'The\x20submitted\x20wip_hash\x20matches\x20NO\x20sale\x20of\x20this\x20Service\x20—\x20the\x20file\x20content\x20hash\x20genuinely\x20differs\x20from\x20the\x20submitted\x20hash.\x201.\x20Buyer\x20shortcut:\x20omit\x20wip_hash\x20(or\x20pass\x20\x22\x22)\x20—\x20the\x20SDK\x20auto-fills\x20it\x20from\x20the\x20selected\x20sale\x27s\x20on-chain\x20pin.\x202.\x20Otherwise\x20re-generate\x20the\x20file\x20(wip_file\x20type=\x27generate\x27)\x20and\x20re-upload\x20(wip_file\x20type=\x27upload\x27,\x20or\x20GitHub\x20Pages\x20/\x20IPFS\x20/\x20own\x20site),\x20then\x20submit\x20the\x20NEW\x20hash\x203.\x20Do\x20not\x20retry\x20the\x20stale\x20hash\x20unchanged','user_prompt':'The\x20submitted\x20wip_hash\x20does\x20not\x20match\x20any\x20sale\x20of\x20this\x20Service.\x20Drop\x20wip_hash\x20to\x20auto-fill\x20from\x20the\x20sale,\x20or\x20regenerate\x20and\x20re-upload\x20the\x20.wip\x20file\x20and\x20submit\x20its\x20new\x20hash.'},'network_error':{'error_code':'network_error','strategy':'retry','max_attempts':0x5,'automation':'full','detail':'Transport\x20failure\x20(timeout\x20/\x20connection\x20reset\x20/\x20RPC\x20unreachable\x20/\x20HTTP\x205xx\x20gateway\x20error).\x20Exponential\x20backoff\x20retry:\x201s\x20/\x202s\x20/\x204s\x20/\x208s\x20/\x2016s.\x20Switch\x20RPC\x20node\x20if\x20available.\x20READS:\x20a\x20plain\x20retry\x20is\x20safe.\x20FUND-MOVING\x20WRITES:\x20before\x20any\x20resubmission,\x20verify\x20whether\x20the\x20previous\x20attempt\x20landed\x20(query\x20the\x20reported\x20digest\x20directly,\x20or\x20the\x20expected\x20object\x20via\x20the\x20sender\x27s\x20recent\x20on-chain\x20objects\x20/\x20onchain_events)\x20—\x20if\x20it\x20landed,\x20ADOPT\x20it\x20and\x20stop;\x20a\x20blind\x20backoff\x20retry\x20of\x20a\x20landed\x20write\x20moves\x20the\x20funds\x20a\x20second\x20time.'},'submission_unknown':{'error_code':'submission_unknown','strategy':'query_and_retry','max_attempts':0x2,'automation':'semi','detail':'Transport-level\x20failure\x20after\x20the\x20request\x20left\x20the\x20client\x20—\x20the\x20submission\x20state\x20is\x20UNKNOWN\x20and\x20the\x20transaction\x20may\x20already\x20be\x20committed.\x20NEVER\x20auto-retry\x20a\x20write\x20here.\x201.\x20Verify\x20commit\x20state\x20on-chain:\x20query_toolkit\x20for\x20the\x20object\x20this\x20call\x20would\x20create/modify\x20(resolve\x20the\x20reference\x20from\x20the\x20call\x27s\x20own\x20arguments),\x20or\x20onchain_events\x20for\x20the\x20sender\x27s\x20recent\x20transactions.\x202.\x20If\x20the\x20expected\x20object\x20EXISTS,\x20adopt\x20it\x20and\x20continue\x20the\x20workflow\x20(the\x20operation\x20succeeded\x20despite\x20the\x20transport\x20error).\x203.\x20If\x20confirmed\x20ABSENT,\x20resubmit\x20the\x20SAME\x20call\x20once\x20—\x20for\x20a\x20FIRST-EVER\x20transaction\x20on\x20a\x20fresh\x20account\x20make\x20that\x20resubmission\x20with\x20env.no_auto_register=true\x20and\x20SAY\x20SO\x20(the\x20SDK\x20silently\x20appends\x20an\x20entity\x20registration\x20to\x20a\x20first\x20business\x20call;\x20if\x20that\x20appended\x20leg\x20was\x20the\x20failing\x20leg\x20the\x20skip\x20lets\x20the\x20call\x20through\x20—\x20ziroom-mn-261013\x20live\x20case;\x20if\x20the\x20resubmission\x20aborts,\x20the\x20envelope\x20now\x20names\x20the\x20abort\x20—\x20re-enable\x20auto\x20registration\x20and\x20retry).\x204.\x20If\x20the\x20reported\x20digest\x20does\x20not\x20resolve\x20or\x20the\x20failure\x20repeats,\x20STOP\x20looping\x20on\x20digest\x20checks\x20and\x20re-run\x20the\x20SAME\x20call\x20with\x20env.dry_run=true\x20—\x20the\x20simulation\x20surfaces\x20the\x20real\x20failure\x20(exact\x20Move\x20abort)\x20without\x20gas\x20or\x20duplicate\x20risk.\x205.\x20Reads\x20are\x20idempotent\x20—\x20retry\x20immediately.\x206.\x20M-K2\x20replay\x20discipline:\x20a\x20FAILED\x20receipt\x20is\x20final\x20—\x20its\x20digest\x20is\x20consumed\x20and\x20replaying\x20the\x20same\x20bytes\x20returns\x20the\x20same\x20failure\x20forever;\x20fix\x20the\x20cause\x20(usually\x20funding)\x20and\x20build\x20a\x20FRESH\x20transaction.\x20Live\x20mainnet\x20incident\x20behind\x20this\x20rule:\x20an\x20order_new\x20-32603\x20\x27did\x20not\x20complete\x27\x20had\x20committed;\x20the\x20blind\x20retry\x20created\x20a\x20second\x20order\x20with\x20a\x20second\x20full\x20escrow\x20and\x20a\x20second\x20stock\x20decrement','user_prompt':'The\x20request\x20failed\x20at\x20transport\x20level\x20but\x20may\x20have\x20already\x20been\x20committed\x20on-chain.\x20Verify\x20whether\x20the\x20expected\x20object\x20exists\x20(query\x20it)\x20before\x20any\x20retry\x20—\x20a\x20blind\x20retry\x20can\x20duplicate\x20the\x20operation\x20(double\x20escrow).\x20For\x20read\x20operations,\x20a\x20plain\x20retry\x20is\x20safe.'},'transaction_expired':{'error_code':'transaction_expired','strategy':'retry','max_attempts':0x3,'automation':'full','detail':'The\x20transaction\x20expired\x20before\x20execution\x20(epoch\x20boundary\x20or\x20validator/gateway\x20outage)\x20—\x20it\x20did\x20NOT\x20land\x20and\x20nothing\x20was\x20committed.\x20Bounded\x20backoff\x20retry:\x2010s\x20/\x2030s\x20/\x2060s,\x20resubmit\x20the\x20SAME\x20call\x20unchanged.\x20If\x20a\x20dry_run\x20passes\x20while\x20the\x20real\x20call\x20keeps\x20failing,\x20the\x20fault\x20is\x20chain-side\x20—\x20wait\x20it\x20out.\x20Verify\x20with\x20onchain_events\x20if\x20unsure.'},'submission_too_large':{'error_code':'submission_too_large','strategy':'adjust_params','max_attempts':0x1,'automation':'manual','detail':'The\x20guard\x20submission\x27s\x20BCS\x20size\x20exceeded\x20MAX_SUBMISSION_SIZE=4096\x20(the\x20guard\x20submission-size\x20ceiling,\x20abort\x203;\x20v140\x20raised\x20it\x20from\x20256\x20so\x20a\x20100-address\x20roster\x20witness\x20fits)\x20—\x20the\x20whole\x20submission\x20struct,\x20not\x20the\x20guard-table\x20candidate\x20vector.\x201.\x20Move\x20roster/candidate\x20lists\x20OUT\x20of\x20the\x20witness:\x20sum_where/count_where\x20\x27ids\x27\x20accept\x20a\x20guard-table\x20VecAddress\x20entry\x20(cap\x20100\x20ids).\x202.\x20Keep\x20only\x20per-call\x20attestation\x20inline\x20—\x20a\x20100-address\x20roster\x20(100×32B\x20=\x203200B)\x20already\x20consumes\x20most\x20of\x20the\x20budget\x20once\x20the\x20protocol\x20slots\x20254/255\x20ride\x20along.\x203.\x20Split\x20the\x20verification\x20into\x20multiple\x20guards\x20if\x20more\x20inline\x20evidence\x20is\x20unavoidable.\x204.\x20Resubmit\x20with\x20the\x20shrunken\x20submission.','user_prompt':'The\x20guard\x20submission\x20is\x20too\x20large\x20for\x20the\x20protocol\x27s\x204096-byte\x20witness\x20ceiling.\x20Roster-style\x20candidate\x20lists\x20(up\x20to\x20100)\x20belong\x20in\x20the\x20guard-table\x20id\x20vector;\x20the\x20inline\x20witness\x20should\x20carry\x20only\x20per-call\x20attestation.\x20Slim\x20the\x20submission\x20and\x20retry.'},'guard_rejected':{'error_code':'guard_rejected','strategy':'fill_submission','max_attempts':0x2,'automation':'semi','detail':'1.\x20Parse\x20Guard\x20table\x20structure\x202.\x20If\x20the\x20Guard\x20defines\x20submission\x20items,\x20fill\x20them\x20and\x20resubmit\x20with\x20call_with_submission\x203.\x20If\x20it\x20defines\x20none,\x20the\x20rule\x20evaluated\x20false\x20—\x20typical\x20causes:\x20a\x20TIME\x20WINDOW\x20(Clock\x20deadline/opening\x20comparison\x20—\x20this\x20call\x20may\x20sit\x20outside\x20the\x20window,\x20and\x20a\x20mis-oriented\x20comparison\x20inverts\x20it:\x20everything\x20inside\x20rejected,\x20everything\x20after\x20admitted),\x20an\x20IDENTITY\x20condition\x20(signer/state\x20checks\x20—\x20the\x20caller\x20may\x20not\x20be\x20the\x20address\x20the\x20rule\x20expects),\x20or\x20a\x20DATA-DEPENDENCY\x20ORDERING\x20(R-03,\x20nnd-tn-261025:\x20the\x20rule\x20reads\x20a\x20repository\x20row\x20/\x20workflow\x20state\x20that\x20does\x20not\x20hold\x20yet\x20—\x20e.g.\x20a\x20repository\x20data_add\x20whose\x20policy\x20write_guard\x20checks\x20progress.current\x20is\x20only\x20admitted\x20AFTER\x20the\x20machine\x20reaches\x20the\x20granting\x20node,\x20while\x20that\x20node\x27s\x20forward\x20may\x20read\x20this\x20very\x20row;\x20the\x20fix\x20is\x20ORDER,\x20not\x20parameters\x20—\x20find\x20the\x20reading\x20node\x20via\x20the\x20machine\x20node\x20table\x20(onchain_table_data)\x20or\x20analyze_guard_semantics,\x20advance\x20there\x20first,\x20then\x20re-run\x20the\x20SAME\x20write);\x20adjust\x20the\x20call\x27s\x20parameters\x20or\x20change\x20the\x20Guard\x20(docs#40)\x204.\x20When\x20the\x20failure\x20is\x20passport\x20E_VERIFY_FAILED\x20and\x20a\x20submission\x20was\x20supplied,\x20the\x20response\x20appends\x20a\x20\x27Guard\x20diagnosis\x20(dry-run)\x27\x20line\x20naming\x20the\x20first\x20failing\x20impact\x20guard\x20—\x20fix\x20that\x20guard\x20first\x205.\x20A\x20TIME-window\x20rejection\x20may\x20simply\x20be\x20EARLY:\x20re-run\x20the\x20SAME\x20call\x20with\x20env.dry_run=true\x20to\x20probe\x20the\x20window\x20for\x20free\x20(guard\x20rejections\x20do\x20NOT\x20consume\x20the\x20total\x20retry\x20budget;\x20only\x20the\x20per-code\x20cap\x20of\x202\x20applies)','user_prompt':'Guard\x20verification\x20rejected.\x20If\x20the\x20Guard\x20defines\x20submission\x20items,\x20fill\x20in\x20the\x20required\x20submission\x20data\x20and\x20resubmit;\x20if\x20it\x20defines\x20none,\x20the\x20Guard\x20rule\x20evaluated\x20false\x20—\x20the\x20usual\x20causes\x20are\x20a\x20time\x20window\x20(this\x20call\x20may\x20be\x20outside\x20the\x20Clock\x20deadline/opening\x20window),\x20an\x20identity\x20condition\x20(the\x20caller\x20is\x20not\x20the\x20address\x20the\x20rule\x20expects),\x20or\x20a\x20data-dependency\x20ordering\x20(the\x20rule\x20reads\x20a\x20row\x20/\x20workflow\x20state\x20that\x20does\x20not\x20hold\x20yet\x20—\x20advance\x20the\x20workflow\x20to\x20the\x20granting\x20node\x20first,\x20then\x20re-run\x20the\x20same\x20write);\x20adjust\x20this\x20call\x27s\x20parameters\x20or\x20change\x20the\x20Guard\x20rule.\x20When\x20the\x20response\x20includes\x20a\x20\x27Guard\x20diagnosis\x20(dry-run)\x27\x20line,\x20it\x20names\x20the\x20first\x20failing\x20impact\x20guard\x20—\x20address\x20that\x20guard\x20first.\x20A\x20time-window\x20rejection\x20may\x20simply\x20be\x20early:\x20probe\x20the\x20window\x20with\x20env.dry_run=true\x20(free\x20—\x20guard\x20rejections\x20do\x20not\x20consume\x20the\x20total\x20retry\x20budget).'},'time_lock_not_elapsed':{'error_code':'time_lock_not_elapsed','strategy':'wait_and_retry','max_attempts':0x1,'automation':'semi','detail':'1.\x20Verify\x20Service\x20is\x20paused\x20(bPaused=true).\x20If\x20not,\x20submit\x20pause=true\x20first.\x202.\x20Wait\x20until\x20paused_time\x20+\x20setting_lock_duration\x20<=\x20current\x20clock.\x203.\x20Retry\x20the\x20original\x20operation.\x20Do\x20NOT\x20recreate\x20the\x20object.','user_prompt':'Service\x20setting_lock_duration\x20has\x20not\x20elapsed\x20since\x20the\x20Service\x20was\x20paused.\x20Please\x20pause\x20the\x20Service\x20if\x20it\x20is\x20not\x20already\x20paused,\x20wait\x20for\x20the\x20lock\x20duration\x20to\x20elapse,\x20then\x20retry.'},'immutable_violation':{'error_code':'immutable_violation','strategy':'recreate','max_attempts':0x1,'automation':'semi','detail':'1.\x20Stop\x20modification\x20attempt\x202.\x20Evaluate\x20creating\x20a\x20new\x20object\x20as\x20replacement\x203.\x20Re-plan\x20affected\x20phases','user_prompt':'Cannot\x20modify\x20an\x20immutable\x20object.\x20A\x20new\x20object\x20must\x20be\x20created\x20as\x20a\x20replacement.\x20Confirm\x20to\x20proceed\x20with\x20recreation.'},'permission_denied':{'error_code':'permission_denied','strategy':'switch_account','max_attempts':0x2,'automation':'semi','detail':'1.\x20Query\x20object\x27s\x20permission_guard\x202.\x20List\x20accounts\x20with\x20permission\x203.\x20Switch\x20account\x20or\x20prompt\x20user\x20to\x20add\x20permission','user_prompt':'Current\x20account\x20lacks\x20permission\x20for\x20this\x20operation.\x20Switch\x20to\x20an\x20authorized\x20account\x20or\x20update\x20the\x20Permission\x20object.'},'object_not_found':{'error_code':'object_not_found','strategy':'query_and_retry','max_attempts':0x3,'automation':'semi','detail':'1.\x20Verify\x20the\x20referenced\x20name/ID\x20spelling\x20(local_mark_list)\x20and\x20that\x20the\x20object\x20exists\x20on\x20the\x20current\x20network\x202.\x20If\x20recently\x20created,\x20re-query\x20the\x20object\x20(may\x20be\x20sync\x20delay)\x203.\x20If\x20truly\x20absent,\x20search\x20for\x20similar\x20objects\x204.\x20Prompt\x20user\x20to\x20reselect','user_prompt':'Referenced\x20object\x20not\x20found.\x20First\x20verify\x20the\x20name/ID\x20spelling\x20and\x20that\x20the\x20object\x20exists\x20on\x20the\x20current\x20network;\x20if\x20it\x20was\x20created\x20recently,\x20this\x20may\x20be\x20a\x20synchronization\x20delay\x20—\x20retry.\x20If\x20the\x20issue\x20persists,\x20please\x20select\x20a\x20valid\x20object.'},'state_conflict':{'error_code':'state_conflict','strategy':'adjust_params','max_attempts':0x2,'automation':'full','detail':'1.\x20Query\x20object\x27s\x20current\x20true\x20state\x202.\x20Update\x20ODG\x20status\x20annotations\x203.\x20Adjust\x20subsequent\x20operations\x20(e.g.,\x20skip\x20completed\x20steps)'},'invalid_parameter':{'error_code':'invalid_parameter','strategy':'adjust_params','max_attempts':0x2,'automation':'semi','detail':'1.\x20Query\x20the\x20relevant\x20schema\x202.\x20Auto-fix\x20obvious\x20errors\x20(e.g.,\x20BigInt\x20vs\x20string)\x203.\x20If\x20unfixable,\x20prompt\x20user','user_prompt':'Parameter\x20validation\x20failed.\x20Please\x20check\x20the\x20parameter\x20types\x20and\x20values\x20against\x20the\x20schema\x20and\x20retry.'},'move_abort_unmapped':{'error_code':'move_abort_unmapped','strategy':'stop','max_attempts':0x1,'automation':'manual','detail':'The\x20chain\x27s\x20business\x20logic\x20aborted\x20and\x20the\x20(module,\x20abort\x20code)\x20pair\x20has\x20no\x20local\x20mapping.\x20Read\x20the\x20module\x20and\x20abort\x20code\x20from\x20move_abort_info\x20/\x20the\x20message\x20(rendered\x20as\x20\x27abort\x20(N)\x27),\x20resolve\x20their\x20meaning\x20from\x20the\x20module\x27s\x20documentation\x20or\x20the\x20wowok-tools\x20Skill,\x20fix\x20the\x20business\x20cause,\x20and\x20issue\x20a\x20NEW\x20call.\x20Do\x20NOT\x20restart\x20the\x20server\x20and\x20do\x20NOT\x20retry\x20the\x20identical\x20call\x20—\x20it\x20aborts\x20deterministically.','user_prompt':'The\x20operation\x20was\x20rejected\x20by\x20the\x20chain\x27s\x20business\x20logic\x20and\x20its\x20abort\x20code\x20is\x20not\x20mapped\x20locally.\x20The\x20module\x20name\x20and\x20abort\x20code\x20in\x20the\x20error\x20are\x20authoritative\x20—\x20review\x20them\x20(and\x20the\x20object\x20state\x20via\x20query_toolkit)\x20before\x20adjusting\x20anything.'},'missing_data':{'error_code':'missing_data','strategy':'adjust_params','max_attempts':0x2,'automation':'semi','detail':'A\x20guard\x20rule\x20read\x20a\x20keyed\x20table\x20row\x20that\x20does\x20NOT\x20exist\x20(repository.data\x20/\x20oracle\x20entry)\x20and\x20the\x20verifier\x20surfaced\x20it\x20as\x20a\x20location-only\x20fault\x20inside\x20the\x20passport\x20module\x20—\x20no\x20abort\x20code,\x20because\x20the\x20framework\x20cannot\x20express\x20\x27row\x20absent\x27\x20as\x20an\x20abort.\x20This\x20is\x20a\x20DATA\x20problem:\x201.\x20Identify\x20the\x20repository\x20and\x20key\x20the\x20guard\x20rule\x20reads\x20(guard2file\x20/\x20analyze_guard_semantics\x20on\x20the\x20guard\x20source)\x202.\x20Have\x20the\x20row\x27s\x20producer\x20write\x20it\x20(e.g.\x20an\x20oracle\x20timestamp\x20like\x20checkin_ts),\x20or\x20add\x20it\x20with\x20repository\x20data_add\x20(data_add.name\x20must\x20match\x20a\x20policy\x20rule\x20name)\x203.\x20Retry\x20the\x20SAME\x20call\x20unchanged\x20—\x20a\x20dry_run\x20that\x20turns\x20clean\x20after\x20the\x20row\x20exists\x20confirms\x20the\x20diagnosis.\x20OR-BRANCH\x20NOTE\x20(alg26\x20261026\x20F-A26-13):\x20a\x20guard\x27s\x20OR\x20does\x20NOT\x20short-circuit\x20—\x20every\x20branch\x20is\x20evaluated,\x20so\x20a\x20row\x20read\x20by\x20ANY\x20branch\x20must\x20exist\x20even\x20when\x20the\x20taken\x20path\x20would\x20not\x20read\x20it;\x20seed\x20initial\x20rows\x20(e.g.\x20a\x20counter\x20at\x200)\x20for\x20every\x20OR\x20branch\x20before\x20first\x20use','user_prompt':'A\x20guard\x20rule\x20references\x20a\x20data\x20row\x20that\x20has\x20not\x20been\x20written\x20yet\x20(location-only\x20fault\x20inside\x20the\x20passport\x20module\x20—\x20NOT\x20a\x20network\x20problem).\x20Identify\x20the\x20repository\x20row\x20the\x20guard\x20expects\x20(guard2file\x20/\x20analyze_guard_semantics),\x20write\x20it\x20with\x20repository\x20data_add\x20(or\x20let\x20its\x20producer\x20write\x20it),\x20then\x20retry.'},'guard_data_missing':{'error_code':'guard_data_missing','strategy':'adjust_params','max_attempts':0x1,'automation':'semi','detail':'A\x20guard\x20rule\x20read\x20DATA\x20that\x20does\x20not\x20exist\x20—\x20a\x20keyed\x20(id,key)\x20repository/oracle\x20row\x20or\x20a\x20field\x20of\x20an\x20object\x20the\x20guard\x20references\x20—\x20and\x20the\x20passport\x20guard\x20verifier\x20panicked\x20at\x20execution\x20time\x20with\x20NO\x20abort\x20code.\x20This\x20is\x20a\x20GUARD-DATA\x20problem,\x20NOT\x20an\x20environment\x20fault\x20(do\x20not\x20restart\x20the\x20server,\x20do\x20not\x20look\x20for\x20a\x20routing\x20cause).\x201.\x20Export\x20the\x20guard\x20(guard2file\x20/\x20analyze_guard_semantics)\x20and\x20list\x20every\x20row/field\x20it\x20reads,\x20including\x20OR\x20branches\x20(an\x20OR\x20does\x20not\x20short-circuit\x20—\x20every\x20branch\x27s\x20row\x20must\x20exist).\x202.\x20Seed\x20the\x20missing\x20(id,key)\x20row\x20with\x20repository\x20data_add\x20(data_add.name\x20must\x20match\x20a\x20policy\x20rule\x20name),\x20or\x20point\x20the\x20guard\x20at\x20a\x20row/object\x20that\x20already\x20exists\x20—\x20a\x20history-time\x20anchor\x20(query_progress_history_time\x20id\x201280,\x20next_node,\x20find=last)\x20must\x20name\x20a\x20node\x20present\x20on\x20this\x20order\x27s\x20path/period.\x203.\x20Retry\x20the\x20SAME\x20call\x20unchanged;\x20a\x20dry_run\x20that\x20turns\x20clean\x20confirms\x20the\x20diagnosis.\x20REVIEW-REWARD\x20FACE\x20(ddmc2\x20P0-1):\x20if\x20the\x20guard\x20is\x20a\x20rating-floor\x20bounty\x20claim,\x20distinguish\x20two\x20failures\x20—\x20the\x20ROW\x20missing\x20(buyer\x20has\x20not\x20reviewed\x20yet:\x20the\x20order-keyed\x20U64\x20row\x20under\x20the\x20\x27rating\x27\x20policy;\x20have\x20the\x20buyer\x20write\x20it,\x20write_guard\x20must\x20be\x20the\x20credential\x20guard\x20address\x20STRING)\x20vs\x20the\x20POLICY\x20itself\x20missing\x20(read\x20the\x20repository\x27s\x20policies\x20list:\x20only\x20\x27review\x27\x20present\x20means\x20the\x20\x27rating\x27\x20policy\x20was\x20dropped\x20at\x20execution\x20—\x20the\x20bounty\x20can\x20NEVER\x20claim;\x20repair\x20with\x20permission-102\x20policies{op:\x27add\x27}\x20exactly\x20as\x20the\x20publish\x20receipt\x20readback\x20\x27policies\x27\x20check\x20prescribes,\x20never\x20by\x20re-writing\x20rows).','user_prompt':'A\x20guard\x20reads\x20repository\x20data\x20that\x20has\x20not\x20been\x20written\x20yet\x20(not\x20a\x20network\x20or\x20server\x20problem).\x20Identify\x20the\x20(id,key)\x20row\x20the\x20guard\x20expects,\x20write\x20it\x20with\x20repository\x20data_add\x20or\x20use\x20an\x20existing\x20row,\x20then\x20retry.\x20For\x20a\x20review-bounty\x20claim:\x20if\x20the\x20\x27rating\x27\x20POLICY\x20itself\x20is\x20absent\x20from\x20the\x20repository\x27s\x20policy\x20list,\x20the\x20row\x20can\x20never\x20be\x20written\x20—\x20the\x20policy\x20must\x20be\x20re-added\x20first\x20(see\x20the\x20publish\x20receipt\x20readback\x20recipe).'},'state_not_visible':{'error_code':'state_not_visible','strategy':'wait_and_retry','max_attempts':0x3,'automation':'full','detail':'The\x20state\x20this\x20call\x20needs\x20was\x20JUST\x20written\x20and\x20is\x20not\x20yet\x20visible\x20to\x20reads\x20(write-to-visibility\x20window),\x20or\x20it\x20does\x20not\x20exist\x20at\x20all.\x201.\x20If\x20a\x20write\x20on\x20this\x20order/machine\x20committed\x20within\x20the\x20last\x20few\x20seconds,\x20wait\x20500ms\x20(doubling\x20each\x20attempt)\x20and\x20replay\x20the\x20SAME\x20call\x20UNCHANGED\x20—\x20NEVER\x20edit\x20parameters\x20to\x20\x27fix\x27\x20a\x20visibility\x20window;\x20an\x20aborted\x20call\x20never\x20landed,\x20so\x20the\x20replay\x20cannot\x20double-spend.\x202.\x20If\x20the\x20fault\x20persists\x20past\x20~3\x20attempts\x20(or\x20nothing\x20was\x20just\x20written),\x20the\x20state\x20is\x20deterministically\x20ABSENT\x20—\x20stop\x20retrying:\x20for\x20a\x20forward-info\x20miss\x20query\x20the\x20Machine\x27s\x20node\x20table\x20(onchain_table_data\x20onchain_table_item_machine_node)\x20and\x20use\x20an\x20existing\x20node/next_node/forward\x20triple\x20—\x20on\x20an\x20already-built\x20machine\x20check\x20TOPOLOGY\x20first\x20(alg26\x20261026\x20F-A26-14):\x20the\x20forward\x20may\x20simply\x20not\x20be\x20an\x20out-edge\x20of\x20the\x20order\x27s\x20CURRENT\x20node,\x20which\x20no\x20retry\x20can\x20fix;\x20for\x20a\x20guard-read\x20repository\x20row\x20follow\x20the\x20missing_data\x20path\x20(write\x20the\x20row).','user_prompt':'A\x20just-committed\x20write\x20is\x20not\x20visible\x20to\x20this\x20read\x20yet.\x20The\x20same\x20call\x20will\x20be\x20replayed\x20after\x20a\x20short\x20wait\x20—\x20no\x20parameter\x20change\x20is\x20needed.\x20If\x20it\x20keeps\x20failing,\x20the\x20required\x20state\x20is\x20genuinely\x20missing\x20and\x20must\x20be\x20created\x20first.'},'unreachable_transition':{'error_code':'unreachable_transition','strategy':'query_and_retry','max_attempts':0x1,'automation':'full','detail':'The\x20requested\x20forward\x20name\x20does\x20not\x20exist\x20on\x20the\x20(prev_node,\x20node)\x20pair\x20at\x20the\x20order\x27s\x20current\x20node\x20(on-chain\x20E_FORWARD_NOT_AT_NODE)\x20—\x20the\x20transition\x20is\x20not\x20in\x20the\x20Machine\x20graph.\x20Deterministic:\x20no\x20account\x20switch,\x20retry\x20or\x20gas\x20change\x20can\x20create\x20a\x20missing\x20edge,\x20and\x20a\x20published\x20Machine\x20is\x20immutable\x20(IMMUT-001).\x200.\x20ENTRY-IGNITION\x20FIRST\x20(ddmc2\x20P0-2):\x20a\x20freshly\x20bought\x20order\x20stands\x20on\x20the\x20EMPTY\x20node\x20(progress_current\x20\x22\x22)\x20—\x20a\x20business\x20forward\x20from\x20there\x20ALWAYS\x20aborts\x20like\x20this;\x20drive\x20the\x20machine\x27s\x20entry\x20edge\x20once\x20(the\x20pair\x20wired\x20FROM\x20the\x20empty\x20node,\x20slot\x20254\x20=\x20the\x20order,\x20buyer-signed;\x20the\x20buy\x20receipt\x27s\x20semantic.entry_edge\x20carries\x20the\x20FIRED/PENDING\x20recipe\x20with\x20the\x20exact\x20forward\x20name\x20and\x20guard\x20slots)\x20and\x20re-check\x20before\x20anything\x20else.\x201.\x20Read\x20the\x20order\x27s\x20current\x20progress\x20node\x20(order\x20progress\x20with\x20convert_witness=\x27OrderProgress\x27).\x202.\x20Query\x20the\x20Machine\x20node\x20table\x20(onchain_table_item_machine_node)\x20and\x20list\x20the\x20pair\x27s\x20ACTUAL\x20forwards.\x203.\x20Re-issue\x20the\x20operation\x20with\x20an\x20existing\x20forward\x20name\x20that\x20leads\x20toward\x20the\x20goal.\x204.\x20If\x20no\x20existing\x20edge\x20reaches\x20the\x20intended\x20state\x20on\x20a\x20published\x20Machine,\x20the\x20path\x20is\x20impossible\x20—\x20redesign\x20requires\x20a\x20NEW\x20Machine\x20version\x20(pre-publish:\x20fix\x20the\x20graph\x20and\x20republish).','user_prompt':'The\x20requested\x20machine\x20transition\x20does\x20not\x20exist\x20at\x20the\x20order\x27s\x20current\x20node\x20—\x20retrying\x20or\x20switching\x20accounts\x20cannot\x20help.\x20If\x20the\x20order\x20still\x20stands\x20on\x20the\x20empty\x20entry\x20node,\x20fire\x20the\x20entry\x20edge\x20first\x20(slot\x20254,\x20buyer-signed\x20—\x20see\x20the\x20buy\x20receipt\x27s\x20entry_edge\x20recipe).\x20Otherwise\x20read\x20the\x20machine\x20node\x20table\x20and\x20use\x20an\x20existing\x20forward;\x20if\x20none\x20fits,\x20the\x20machine\x20graph\x20itself\x20must\x20be\x20changed\x20before\x20publish.'},'forward_not_at_node':{'error_code':'forward_not_at_node','strategy':'query_and_retry','max_attempts':0x1,'automation':'full','detail':'The\x20order\x27s\x20CURRENT\x20Progress\x20node\x20carries\x20no\x20forward\x20with\x20the\x20requested\x20name\x20(on-chain\x20E_INFO_NOT_FOUND\x20=\x2013)\x20—\x20the\x20forward\x20is\x20not\x20an\x20out-edge\x20of\x20the\x20node\x20the\x20order\x20stands\x20on.\x20Deterministic\x20topology\x20mismatch:\x20retrying\x20the\x20same\x20triple,\x20waiting\x20or\x20switching\x20accounts\x20cannot\x20create\x20the\x20edge.\x200.\x20ENTRY-IGNITION\x20FIRST\x20(ddmc2\x20P0-2):\x20if\x20the\x20CURRENT\x20node\x20is\x20the\x20EMPTY\x20string\x20\x22\x22\x20(freshly\x20bought\x20order),\x20the\x20missing\x20step\x20is\x20the\x20machine\x27s\x20entry\x20edge\x20—\x20drive\x20it\x20once\x20(the\x20pair\x20wired\x20FROM\x20the\x20empty\x20node,\x20slot\x20254\x20=\x20the\x20order,\x20buyer-signed;\x20the\x20buy\x20receipt\x27s\x20semantic.entry_edge\x20FIRED/PENDING\x20recipe\x20names\x20the\x20exact\x20forward\x20and\x20guard\x20slots),\x20then\x20re-check.\x201.\x20Read\x20the\x20order\x27s\x20CURRENT\x20node\x20(order\x20progress\x20with\x20convert_witness=\x27OrderProgress\x27).\x202.\x20Query\x20the\x20Machine\x20node\x20table\x20(onchain_table_item_machine_node)\x20and\x20list\x20the\x20pair\x27s\x20ACTUAL\x20forwards\x20at\x20that\x20node.\x203.\x20Re-issue\x20with\x20one\x20of\x20those\x20forward\x20names,\x20or\x20first\x20advance\x20through\x20the\x20intermediate\x20node\x20that\x20carries\x20the\x20intended\x20edge.\x204.\x20Always\x20surface\x20current_node\x20+\x20available_forwards,\x20never\x20the\x20same\x20triple\x20again.\x20Distinct\x20from\x20unreachable_transition\x20(machine:25)\x20where\x20the\x20pair\x20exists\x20at\x20this\x20node\x20and\x20only\x20the\x20name\x20is\x20missing.','user_prompt':'The\x20order\x20is\x20standing\x20on\x20a\x20node\x20that\x20has\x20no\x20such\x20forward.\x20If\x20the\x20order\x20still\x20stands\x20on\x20the\x20empty\x20entry\x20node\x20(fresh\x20buy),\x20fire\x20the\x20entry\x20edge\x20first\x20(slot\x20254,\x20buyer-signed\x20—\x20the\x20buy\x20receipt\x27s\x20entry_edge\x20recipe\x20has\x20the\x20forward\x20name).\x20Otherwise\x20the\x20current\x20node\x20and\x20its\x20actual\x20forward\x20names\x20must\x20be\x20read\x20from\x20the\x20machine\x20node\x20table\x20and\x20an\x20edge\x20sourced\x20there\x20used\x20instead.\x20Retrying\x20cannot\x20help.'},'anchor_unavailable':{'error_code':'anchor_unavailable','strategy':'escalate_human','max_attempts':0x1,'automation':'manual','detail':'The\x20messenger\x20WTS\x20evidence\x20chain\x20is\x20unavailable:\x20the\x20server\x20key-book\x20anchor\x20could\x20not\x20be\x20confirmed\x20on\x20the\x20current\x20network\x20(signer\x20not\x20pinned\x20for\x20this\x20network,\x20anchor\x20repository\x20absent\x20on-chain\x20—\x20typical\x20after\x20a\x20chain\x20re-genesis\x20—\x20or\x20the\x20anchor\x20chain\x20read\x20failed).\x20This\x20is\x20an\x20INFRASTRUCTURE\x20configuration\x20gap,\x20NOT\x20a\x20guard\x20rejection,\x20a\x20network\x20fault,\x20or\x20a\x20parameter\x20problem\x20—\x20signing\x20and\x20anchoring\x20fail\x20closed\x20by\x20design\x20(an\x20unconfirmed\x20key\x20book\x20cannot\x20ground\x20evidence).\x20Remedy\x20(out\x20of\x20band,\x20no\x20retry\x20will\x20help):\x201.\x20Deploy\x20or\x20re-anchor\x20the\x20messenger\x20server\x20key\x20book\x20on\x20the\x20target\x20network\x202.\x20Pin\x20its\x20signer\x20for\x20that\x20network\x20in\x20the\x20SDK\x20keybook\x20table\x203.\x20Until\x20then,\x20treat\x20the\x20messenger\x20channel\x20as\x20private\x20communication\x20WITHOUT\x20third-party\x20provability\x20(verify_wts\x20still\x20returns\x20a\x20structured\x20valid:false\x20verdict\x20with\x20the\x20anchor\x20reason)','user_prompt':'The\x20WTS\x20evidence\x20chain\x20cannot\x20be\x20anchored\x20on\x20this\x20network:\x20the\x20messenger\x20server\x20key-book\x20anchor\x20is\x20missing\x20or\x20unconfirmed.\x20This\x20needs\x20an\x20out-of-band\x20keybook\x20deployment\x20plus\x20SDK\x20signer\x20pinning\x20for\x20the\x20network\x20—\x20retrying\x20the\x20call\x20will\x20fail\x20the\x20same\x20way.\x20Until\x20fixed,\x20messenger\x20communication\x20remains\x20private\x20but\x20cannot\x20be\x20turned\x20into\x20third-party-verifiable\x20evidence.'},'capability_unavailable':{'error_code':'capability_unavailable','strategy':'stop','max_attempts':0x1,'automation':'manual','detail':'The\x20connected\x20chain\x20package\x20does\x20not\x20carry\x20this\x20protocol\x20entry,\x20so\x20the\x20call\x20is\x20impossible\x20on\x20this\x20package\x20version.\x20Deterministic\x20—\x20retrying,\x20re-signing\x20or\x20editing\x20parameters\x20cannot\x20add\x20the\x20missing\x20entry.\x20Remedy\x20(no\x20retry\x20involved):\x201.\x20Apply\x20the\x20documented\x20downgrade\x20for\x20the\x20intent\x20(for\x20a\x20reward\x20evidence\x20pin:\x20drop\x20the\x20evidence\x20binding\x20and\x20keep\x20the\x20repository-floor\x20guard\x20leg,\x20disclosing\x20that\x20it\x20proves\x20only\x20\x27a\x20qualifying\x20repository\x20row\x20exists\x20for\x20this\x20order\x27\x20—\x20not\x20who\x20wrote\x20it)\x202.\x20Check\x20the\x20target\x20network\x27s\x20package\x20release\x20notes\x20for\x20the\x20version\x20that\x20ships\x20the\x20entry\x20before\x20re-enabling\x20it\x203.\x20Never\x20treat\x20the\x20missing\x20entry\x20name\x20as\x20a\x20fixable\x20parameter','user_prompt':'This\x20call\x20needs\x20a\x20chain\x20capability\x20the\x20connected\x20package\x20does\x20not\x20have\x20yet.\x20It\x20cannot\x20succeed\x20on\x20this\x20network\x20version\x20—\x20no\x20retry\x20or\x20parameter\x20change\x20will\x20help.\x20The\x20documented\x20downgrade\x20keeps\x20the\x20goal\x20achievable\x20with\x20a\x20weaker\x20guarantee\x20that\x20must\x20be\x20disclosed\x20(for\x20a\x20review\x20bounty:\x20the\x20repository-floor\x20leg\x20proves\x20a\x20qualifying\x20rating\x20row\x20exists\x20for\x20the\x20order,\x20not\x20that\x20the\x20buyer\x20wrote\x20a\x20real\x20review).'},'delivery_unknown':{'error_code':'delivery_unknown','strategy':'query_and_retry','max_attempts':0x1,'automation':'semi','detail':'The\x20messenger\x20send\x20failed\x20at\x20transport\x20level\x20AFTER\x20submission:\x20delivery\x20state\x20is\x20UNKNOWN\x20because\x20the\x20relay\x20may\x20have\x20already\x20committed\x20the\x20message\x20despite\x20the\x20client-side\x20failure.\x20A\x20blind\x20re-send\x20DOUBLE-DELIVERS\x20the\x20same\x20encrypted\x20payload,\x20so\x20the\x20retry\x20loop\x20is\x20verify-first:\x20read\x20the\x20conversation\x20(watch_conversations\x20/\x20message\x20list)\x20and\x20check\x20for\x20the\x20identical\x20payload;\x20re-send\x20only\x20after\x20confirming\x20it\x20never\x20arrived.\x20Note\x20the\x20message,\x20when\x20it\x20did\x20arrive,\x20is\x20fully\x20end-to-end\x20encrypted\x20—\x20only\x20delivery\x20is\x20uncertain','user_prompt':'The\x20send\x20failed\x20after\x20submission,\x20so\x20delivery\x20is\x20uncertain\x20(the\x20server\x20may\x20have\x20committed\x20it\x20anyway).\x20Do\x20NOT\x20resend\x20blindly:\x20first\x20check\x20the\x20conversation\x20for\x20the\x20same\x20message;\x20resend\x20only\x20if\x20it\x20never\x20arrived.'},'transport_unavailable':{'error_code':'transport_unavailable','strategy':'retry','max_attempts':0x3,'automation':'full','detail':'A\x20transport-level\x20object\x20FETCH\x20failed\x20(\x27Fetch\x20<Type>\x20object\x200x...\x20failed\x27)\x20—\x20a\x20READ-path\x20availability\x20problem\x20(fullnode/gateway),\x20NOT\x20a\x20guard\x20rejection\x20and\x20NOT\x20an\x20on-chain\x20abort.\x201.\x20READ\x20calls\x20are\x20idempotent:\x20retry\x20after\x20a\x20brief\x20backoff,\x20or\x20against\x20a\x20healthy\x20endpoint.\x202.\x20If\x20this\x20error\x20surfaced\x20on\x20a\x20WRITE\x20call,\x20the\x20write\x27s\x20submission\x20state\x20is\x20UNKNOWN\x20—\x20do\x20NOT\x20blindly\x20resend;\x20first\x20query\x20the\x20expected\x20object\x20on-chain\x20and\x20adopt\x20or\x20resubmit\x20per\x20the\x20submission_unknown\x20discipline\x20(ghost-order\x20hazard).\x203.\x20Never\x20re-interpret\x20this\x20as\x20a\x20guard\x20failure:\x20no\x20guard\x20was\x20evaluated,\x20nothing\x20reached\x20Move.\x204.\x20Persistent\x20failures\x20across\x20endpoints\x20→\x20check\x20network/fullnode\x20health\x20before\x20touching\x20business\x20logic'},'peer_not_registered':{'error_code':'peer_not_registered','strategy':'stop','max_attempts':0x1,'automation':'manual','detail':'The\x20message\x20RECIPIENT\x20is\x20not\x20registered\x20on\x20the\x20messenger\x20server\x20for\x20this\x20network\x20—\x20the\x20relay\x20has\x20no\x20keybook\x20entry\x20for\x20their\x20address,\x20so\x20delivery\x20is\x20impossible\x20until\x20THEY\x20enable\x20messenger.\x20Deterministic\x20recipient-side\x20gap:\x20retrying,\x20re-signing\x20or\x20switching\x20the\x20sender\x27s\x20account\x20cannot\x20fix\x20it.\x201.\x20Verify\x20the\x20recipient\x20address\x20spelling\x20and\x20that\x20both\x20sides\x20are\x20on\x20the\x20SAME\x20network\x20(a\x20foreign-network\x20address\x20reads\x20as\x20unregistered).\x202.\x20Ask\x20the\x20recipient\x20to\x20enable\x20messenger\x20once\x20from\x20their\x20own\x20account\x20(account_operation\x20with\x20messenger\x20registration)\x20on\x20this\x20network.\x203.\x20Re-send\x20AFTER\x20their\x20registration\x20—\x20until\x20then\x20the\x20thread\x20stays\x20undeliverable,\x20not\x20lost\x20(history\x20survives\x20on\x20the\x20sender\x27s\x20side).','user_prompt':'The\x20recipient\x20has\x20not\x20enabled\x20the\x20messenger\x20yet,\x20so\x20the\x20message\x20cannot\x20be\x20delivered.\x20Ask\x20them\x20to\x20enable\x20messenger\x20on\x20this\x20network\x20first,\x20then\x20re-send.\x20Retrying\x20on\x20your\x20side\x20will\x20not\x20help.'},'unknown':{'error_code':'unknown','strategy':'escalate_human','max_attempts':0x1,'automation':'manual','detail':'1.\x20Report\x20full\x20error\x20context\x20to\x20the\x20user\x202.\x20Escalate\x20to\x20human\x20intervention\x203.\x20Flag\x20for\x20error-classification\x20rule\x20addition','user_prompt':'An\x20unclassified\x20error\x20occurred.\x20Please\x20review\x20the\x20error\x20details\x20and\x20contact\x20support\x20if\x20needed.'}};const operationAttempts=new Map();function getAttemptCount(a,b){const c=operationAttempts['get'](a);if(!c)return 0x0;return c['get'](b)??0x0;}function incrementAttempt(a,b){!operationAttempts['has'](a)&&operationAttempts['set'](a,new Map());const c=operationAttempts['get'](a),d=(c['get'](b)??0x0)+0x1;return c['set'](b,d),d;}const BUDGET_EXEMPT_CODES=new Set(['guard_rejected']);function getBudgetAttempts(a){const b=operationAttempts['get'](a);if(!b)return 0x0;let c=0x0;for(const [d,e]of b){if(!BUDGET_EXEMPT_CODES['has'](d))c+=e;}return c;}export function resetAttempts(a){operationAttempts['delete'](a);}export function recover(a,b,c){let d=RECOVERY_RULES[a]??RECOVERY_RULES['unknown'];if(a==='time_lock_not_elapsed'){const j=String(c?.['operation_type']??''),k=c?.['data']??{},l=/arb/i['test'](j)||k['arb']!==undefined||k['arbitration']!==undefined;l&&(d={...d,'detail':'1.\x20Do\x20NOT\x20pause\x20the\x20Service\x20and\x20do\x20NOT\x20touch\x20store\x20settings\x20—\x20this\x20is\x20an\x20Arb\x20VOTING\x20WINDOW,\x20not\x20a\x20Service\x20setting\x20lock.\x20'+'2.\x20Query\x20the\x20Arb\x20case\x20and\x20echo\x20voting_deadline\x20(epoch\x20ms)\x20and\x20the\x20remaining\x20time.\x20'+'3.\x20Wait\x20until\x20voting_deadline\x20elapses\x20(arb:4\x20fires\x20only\x20when\x20EARLY).\x20'+'4.\x20Re-run\x20the\x20ruling\x20/\x20vote-tally\x20call\x20against\x20the\x20same\x20case.\x20Do\x20NOT\x20recreate\x20the\x20Arb.','user_prompt':'The\x20Arb\x20voting\x20window\x20has\x20not\x20elapsed\x20yet.\x20Wait\x20until\x20voting_deadline,\x20then\x20re-run\x20the\x20ruling/vote-tally\x20on\x20the\x20same\x20case.\x20Do\x20not\x20pause\x20the\x20Service.'});}const e=0x5,f=getBudgetAttempts(b),g=getAttemptCount(b,a);if(d['max_attempts']<=0x1||d['strategy']==='stop')return{'strategy':d['strategy'],'should_retry':![],'max_attempts':d['max_attempts'],'current_attempt':g,'adjusted_params':d['adjusted_params'],'user_prompt':d['user_prompt'],'detail':d['detail']};if(f>=e)return{'strategy':'stop','should_retry':![],'max_attempts':e,'current_attempt':f,'detail':'Total\x20retry\x20limit\x20('+e+')\x20reached\x20for\x20operation\x20'+b+'.\x20Escalating\x20to\x20human\x20intervention.\x20Attempts\x20recorded\x20for\x20this\x20operation\x20id:\x20'+([...(operationAttempts['get'](b)??new Map())['entries']()]['map'](([m,o])=>m+':'+o)['join'](',\x20')||'none')+'.','user_prompt':'Maximum\x20retry\x20attempts\x20reached.\x20Manual\x20intervention\x20required.'};if(g>=d['max_attempts'])return{'strategy':'escalate_human','should_retry':![],'max_attempts':d['max_attempts'],'current_attempt':g,'detail':'Per-error-code\x20retry\x20limit\x20('+d['max_attempts']+')\x20reached\x20for\x20'+a+'.\x20Escalating\x20to\x20human.','user_prompt':'Recovery\x20attempts\x20for\x20'+a+'\x20exhausted.\x20Manual\x20intervention\x20required.'};const h=incrementAttempt(b,a),i={'strategy':d['strategy'],'should_retry':d['automation']==='full'||h<d['max_attempts'],'max_attempts':d['max_attempts'],'current_attempt':h,'adjusted_params':d['adjusted_params'],'user_prompt':d['user_prompt'],'detail':d['detail']};return i['should_retry']&&c?.['retryable']===![]&&a!=='guard_rejected'&&d['strategy']!=='fill_submission'&&d['strategy']!=='query_and_retry'&&(i['should_retry']=![],i['detail']+='\x20NON-RETRYABLE\x20CLASSIFICATION:\x20retrying\x20the\x20IDENTICAL\x20call\x20fails\x20identically\x20—\x20apply\x20the\x20strategy\x20above\x20to\x20fix\x20the\x20cause,\x20then\x20submit\x20a\x20FRESH\x20call.'),i;}export function getBackoffDelay(a){return Math['pow'](0x2,a-0x1)*0x3e8;}
@@ -1 +1 @@
1
- import{query_received,query_objects}from'@wowok/wowok';import{batchQueryObjectsByIds,fetchMachineNodes,fetchOrderContext,fetchPermissionContext}from'../graph/onchain/sdk-batch.js';import{extractCoinType}from'../graph/onchain/extract.js';import{enumerateActionableForwards}from'../knowledge/index.js';import{formatChainValue}from'../knowledge/fund-layer.js';import{loadGuardJsonFromChain}from'../knowledge/guard-submission-brief.js';import{formatShortAddress}from'../persona/address-format.js';export async function detectPaymentUnclaimed(a,b,c){const d=[];for(const e of a){const f=e['toLowerCase']();let g=null;try{g=await c['queryUnclaimed'](f,b);}catch{g=null;}if(!g||g['balance']<=0x0n||g['count']<=0x0)continue;let h;try{h=await c['formatAmount']?.(g['balance'],g['token_type'],b);}catch{h=undefined;}const i=h??g['balance']['toString']()+'\x20(smallest\x20unit)';d['push']({'dedupe_key':'payment_unclaimed:'+f,'detector':'payment_unclaimed','beneficiary':f,'operation':{'operation_type':'payment','data':{'receive':!![]}},'title':'Unclaimed\x20funds\x20—\x20'+i+'\x20waiting\x20to\x20be\x20received','detail':g['count']+'\x20CoinWrapper\x20object(s)\x20hold\x20'+i+'\x20for\x20this\x20account.\x20'+'They\x20are\x20owned\x20but\x20NOT\x20spendable\x20until\x20unwrapped.\x20Execute\x20payment\x20{receive:true}\x20'+'as\x20this\x20account\x20to\x20unwrap\x20all\x20of\x20them\x20into\x20the\x20wallet\x20in\x20one\x20transaction\x20(keeper\x20can\x20'+'auto-execute\x20this\x20when\x20a\x20payment_unclaimed\x20auto-exec\x20rule\x20covers\x20the\x20account).','benefit':'Receive\x20'+i+'\x20into\x20your\x20wallet','state_fingerprint':g['count']+':'+g['balance']['toString']()});}return d;}export function extractGuardSignerPins(a){const b=Array['isArray'](a['table'])?a['table']:[],c=[],d=(e,f)=>{if(!e||typeof e!=='object')return;const g=f||e['type']==='logic_or'||e['type']==='logic_not';if(e['type']==='logic_equal'){const h=Array['isArray'](e['nodes'])?e['nodes']:e['left']&&e['right']?[e['left'],e['right']]:[],i=h['findIndex'](k=>k?.['type']==='context'&&k?.['context']==='Signer'),j=i>=0x0?h[0x1-i]:undefined;if(j?.['type']==='identifier'&&!g){const k=b['find'](l=>Number(l?.['identifier'])===Number(j['identifier']));k&&k['b_submission']!==!![]&&k['value_type']==='Address'&&typeof k['value']==='string'&&k['value']['startsWith']('0x')&&k['value']['length']>0x2&&c['push'](String(k['value']));}}for(const l of[e['nodes'],e['left'],e['right']]['flat']()){if(l&&typeof l==='object')d(l,g);}};return d(a['root'],![]),c;}export async function detectProgressActionable(a,b,c,d){const e=(a['order_children']??[])['filter'](p=>p['type']==='progress'&&typeof p['object']==='string')['map'](p=>p['object'])['filter'](p=>p['startsWith']('0x')),f=(a['focus']??[])['map'](p=>p['object'])['filter'](p=>typeof p==='string'&&p['startsWith']('0x')),g=[...new Set([...e,...f])]['slice'](0x0,Math['max'](0x1,d));if(g['length']===0x0||(a['accounts']??[])['length']===0x0)return[];let h;try{h=await c['fetchProgressFields'](g,b);}catch{return[];}const i=new Map(),j=new Map(),k=new Map(),l=new Map(),m=c['fetchGuardJson']??(async(p,q)=>(await loadGuardJsonFromChain(p,q))?.['json']),n=a['accounts'],o=[];for(const [p,q]of h){const r=typeof q?.['machine']==='string'?q['machine']:undefined;if(!r)continue;const s=r['toLowerCase']();let t=i['get'](s);if(!t){try{t=await c['fetchMachineNodes'](r,b);}catch{t=[];}i['set'](s,t);}if(t['length']===0x0)continue;let u;if(!j['has'](s)){let B;try{B=await c['fetchMachinePermissionAddr'](r,b);}catch{B=undefined;}let C;if(B)try{C=await c['fetchPermissionContext'](B,b);}catch{C=undefined;}j['set'](s,C);}u=j['get'](s);const v=typeof q?.['task']==='string'?q['task']:undefined;let w;if(v){const D=v['toLowerCase']();if(!k['has'](D))try{k['set'](D,await c['fetchOrderContext'](v,b));}catch{k['set'](D,undefined);}w=k['get'](D);}const x=(Array['isArray'](q?.['namedOperator'])?q['namedOperator']:[])['map'](E=>({'name':String(E?.['name']??''),'operators':(Array['isArray'](E?.['operators'])?E['operators']:[])['map'](F=>String(F))})),y=enumerateActionableForwards(q,t,n,x,w,u),z=typeof q?.['current']==='string'?q['current']:'',A=v?'order\x20'+formatShortAddress(v):'no\x20bound\x20order';for(const E of y){let F=[];const G=typeof E['guard']==='string'?E['guard']['toLowerCase']():'';if(G){const H=l['get'](G);if(H!==undefined)F=H;else{let I;try{I=await m(E['guard'],b);}catch{I=undefined;}F=I?extractGuardSignerPins(I):[],l['set'](G,F);}}for(const J of E['executable_accounts']){if(F['length']>0x0){const N=F[0x0]['toLowerCase'](),O=F['every'](P=>P['toLowerCase']()===N);if(O&&N!==J['toLowerCase']())continue;}const K=E['threshold']>0x1?'\x20—\x20cooperation\x20threshold\x20'+E['threshold']+'\x20(weight\x20'+E['weight']+');\x20other\x20distinct\x20forwards\x20may\x20still\x20be\x20needed':'',L=E['guard']?'\x20—\x20guard\x20'+formatShortAddress(E['guard'])+'\x20must\x20be\x20satisfied\x20(submissions\x20may\x20be\x20required)':'',M=w&&J===w['builder']['toLowerCase']()?'You\x20are\x20the\x20order\x20owner':E['operator_kind']==='named_operator'?'You\x20hold\x20the\x20named-operator\x20role\x20\x27'+E['named_operator']+'\x27':'You\x20hold\x20the\x20required\x20permission\x20index';o['push']({'dedupe_key':'progress_actionable:'+p+':'+J+':'+E['next_node']+'|'+E['forward'],'detector':'progress_actionable','beneficiary':J,'object':p,'title':'Workflow\x20action\x20available:\x20\x27'+E['forward']+'\x27\x20→\x20'+E['next_node'],'detail':'Progress\x20'+formatShortAddress(p)+'\x20('+A+')\x20sits\x20at\x20node\x20\x27'+z+'\x27.\x20'+(M+'\x20—\x20you\x20can\x20execute\x20forward\x20\x27'+E['forward']+'\x27\x20into\x20\x27'+E['next_node']+'\x27')+(''+K+L+'.\x20Advance\x20it\x20via\x20workflow_operation\x20')+'(action=\x27list\x27\x20to\x20review,\x20action=\x27operate\x27\x20to\x20execute).\x20'+'Who\x20benefits,\x20who\x20pushes:\x20waiting\x20does\x20not\x20move\x20the\x20order\x20—\x20the\x20party\x20that\x20'+'gains\x20from\x20the\x20next\x20step\x20sends\x20the\x20transaction.','benefit':benefitOfNode(E['next_node']),'state_fingerprint':E['weight']+':'+E['threshold']+':'+(E['guard']??'')+':'+E['operator_kind']});}}}return o;}function benefitOfNode(a){if(/(^|_)(completed?|done|finished|received|delivered|accepted|confirmed|finalized|success|approved)(_|$)/i['test'](a))return'Completing\x20this\x20step\x20settles\x20the\x20order\x20—\x20funds\x20are\x20released\x20to\x20the\x20provider';if(/(^|_)(cancel(led)?|refund(ed)?|return(ed|_approved)?)(_|$)/i['test'](a))return'This\x20step\x20routes\x20to\x20cancellation/refund\x20—\x20funds\x20return\x20to\x20the\x20buyer';if(/(^|_)(interrupt(ed)?|exception|dispute(d)?|fail(ed)?|abort(ed)?|reject(ed)?)(_|$)/i['test'](a))return'This\x20step\x20opens\x20the\x20exception\x20path\x20—\x20review\x20before\x20advancing';return'Advancing\x20keeps\x20the\x20order\x20moving\x20toward\x20settlement';}const REFUND_FLAVOR_RE=/(^|_)(cancel(led)?|refund(ed)?|return(ed|_approved)?|expired)(_|$)/i;export async function detectSettlementPending(a,b,c,e){const f=(a['accounts']??[])['map'](s=>s['toLowerCase']());if(f['length']===0x0)return[];const g=(a['orders']??[])['slice'](0x0,Math['max'](0x1,e));if(g['length']===0x0)return[];const h=g['map'](s=>s['order'])['filter'](s=>typeof s==='string'&&s['startsWith']('0x'));let i;try{i=await c['fetchOrderFields'](h,b);}catch{return[];}const j=[],k=[];for(const s of i['values']()){const t=s?.['data']??s;if(typeof t?.['allocation']==='string'&&t['allocation']['startsWith']('0x'))j['push'](t['allocation']);if(typeof t?.['progress']==='string'&&t['progress']['startsWith']('0x'))k['push'](t['progress']);}let l=new Map(),m=new Map();try{l=await c['fetchAllocationFields']([...new Set(j)],b);}catch{return[];}try{m=await c['fetchProgressFields']([...new Set(k)],b);}catch{m=new Map();}const o=new Set((a['services']??[])['map'](u=>u['toLowerCase']())),q=new Map(),r=[];for(const [u,v]of i){const w=v?.['data']??v,x=typeof w?.['allocation']==='string'?w['allocation']:undefined;if(!x)continue;const y=l['get'](x['toLowerCase']());if(!y)continue;const z=y?.['data']??y,A=typeof z['balance']==='bigint'?z['balance']:BigInt(z['balance']??0x0);if(A<=0x0n)continue;const B=Array['isArray'](z['payment'])?z['payment']:[];if(B['length']>0x0)continue;const C=typeof w?.['progress']==='string'?w['progress']:undefined,D=C?m['get'](C['toLowerCase']()):undefined,E=typeof D?.['current']==='string'?D['current']:'',F=typeof D?.['machine']==='string'?D['machine']:typeof w?.['machine']==='string'?w['machine']:undefined;if(!E||!F)continue;let G=q['get'](F['toLowerCase']());if(!G){try{G=await c['fetchMachineNodes'](F,b);}catch{G=[];}q['set'](F['toLowerCase'](),G);}if(G['length']===0x0)continue;const H=new Set();for(const P of G){for(const Q of P['pairs']){if((Q['forwards']??[])['length']>0x0)H['add'](P['name']);}}if(H['has'](E))continue;const I=REFUND_FLAVOR_RE['test'](E),J=[];if(I){const R=typeof w?.['builder']==='string'?w['builder']['toLowerCase']():'';if(R&&f['includes'](R))J['push'](R);}else{const S=typeof w?.['service']==='string'?w['service']['toLowerCase']():'';if(S&&o['has'](S))J['push'](...f);}if(J['length']===0x0)continue;const K=(Array['isArray'](z['allocators']?.['allocators'])?z['allocators']['allocators']:[])['map'](T=>String(T?.['guard']??''))['filter'](T=>T),L=K['length']>0x0?'Candidate\x20settle\x20guards\x20on\x20this\x20pool:\x20'+K['map'](T=>formatShortAddress(T))['join'](',\x20')+'.':'This\x20pool\x20exposes\x20no\x20readable\x20allocator\x20guards\x20—\x20inspect\x20it\x20before\x20acting.';let M;try{M=await c['formatAmount']?.(A,extractCoinType(y?.['type_raw']),b);}catch{M=undefined;}const N=M??A['toString']()+'\x20(smallest\x20unit)',O=I?'refund/cancel':'completion';for(const T of J){r['push']({'dedupe_key':'settlement_pending:'+u+':'+x,'detector':'settlement_pending','beneficiary':T,'object':x,'title':'Unsettled\x20escrow\x20—\x20'+N+'\x20on\x20a\x20'+O+'\x20terminal','detail':'Order\x20'+formatShortAddress(u)+'\x20sits\x20on\x20terminal\x20node\x20\x27'+E+'\x27\x20but\x20its\x20Allocation\x20'+(formatShortAddress(x)+'\x20still\x20holds\x20'+N+'\x20and\x20has\x20emitted\x20no\x20Payment.\x20The\x20chain\x20never\x20')+('auto-settles:\x20someone\x20must\x20trigger\x20the\x20matching\x20guard.\x20'+L+'\x20Execute\x20via\x20allocation_operation\x20')+'(operation_type=\x27allocation\x27,\x20alloc_by_guard=<guard>)\x20as\x20an\x20account\x20that\x20can\x20satisfy\x20the\x20guard,\x20then\x20'+'recipients\x20claim\x20their\x20CoinWrappers\x20(payment\x20receive).\x20Trigger\x20ONCE\x20and\x20verify\x20the\x20pool\x20drained\x20—\x20a\x20'+'fully-drained\x20pool\x20aborts\x20on\x20re-trigger,\x20but\x20a\x20max-capped\x20pool\x20re-splits\x20the\x20remainder.\x20'+'Who\x20benefits,\x20who\x20pushes:\x20waiting\x20keeps\x20the\x20funds\x20frozen\x20and\x20leaves\x20the\x20dispute\x20window\x20open.','benefit':'Release\x20'+N+'\x20from\x20escrow\x20to\x20its\x20rightful\x20recipients','state_fingerprint':A['toString']()+':'+B['length']+':'+E});}}return r;}export async function detectTimeoutIntermediate(a,b,c,d,e){const f=(a['order_children']??[])['filter'](m=>m['type']==='progress'&&typeof m['object']==='string')['map'](m=>m['object'])['filter'](m=>m['startsWith']('0x')),g=(a['focus']??[])['map'](m=>m['object'])['filter'](m=>typeof m==='string'&&m['startsWith']('0x')),h=[...new Set([...f,...g])]['slice'](0x0,Math['max'](0x1,d));if(h['length']===0x0||(a['accounts']??[])['length']===0x0)return[];let i;try{i=await c['fetchProgressFields'](h,b);}catch{return[];}const j=c['nowMs'](),k=new Map(),l=[];for(const [m,n]of i){const o=typeof n?.['current']==='string'?n['current']:'',p=typeof n?.['current_time']==='number'?n['current_time']:0x0;if(!o||p<=0x0)continue;const q=typeof n?.['machine']==='string'?n['machine']:undefined;if(!q)continue;const r=q['toLowerCase']();let s=k['get'](r);if(!s){try{s=await c['fetchMachineNodes'](q,b);}catch{s=[];}k['set'](r,s);}const t=s['find'](z=>z['name']===o);if(!t)continue;const u=t['pairs']['some'](z=>(z['forwards']??[])['length']>0x0);if(!u)continue;const v=j-p;if(v<e)continue;const w=(a['accounts']??[])['map'](z=>z['toLowerCase']()),x=w[0x0];if(!x)continue;const y=Math['floor'](v/(0x3e8*0x3c*0x3c));l['push']({'dedupe_key':'timeout_intermediate:'+m+':'+o,'detector':'timeout_intermediate','beneficiary':x,'object':m,'title':'Possible\x20stuck\x20intermediate\x20state\x20—\x20\x27'+o+'\x27\x20for\x20'+y+'h','detail':'Progress\x20'+formatShortAddress(m)+'\x20has\x20been\x20on\x20node\x20\x27'+o+'\x27\x20for\x20'+y+'\x20hours\x20'+('(since\x20'+new Date(p)['toISOString']()+').\x20This\x20node\x20has\x20outgoing\x20forwards\x20but\x20none\x20have\x20fired.\x20')+'If\x20this\x20node\x20has\x20a\x20time-lock\x20guard\x20(confirm\x20timeout,\x20acceptance\x20timeout,\x20inspection\x20timeout,\x20etc.),\x20'+'the\x20keeper\x20may\x20need\x20to\x20advance\x20it.\x20Check\x20the\x20template\x27s\x20keeper_dependencies\x20and\x20the\x20guard\x27s\x20time\x20window\x20'+'before\x20acting.\x20Who\x20benefits,\x20who\x20pushes:\x20a\x20stuck\x20intermediate\x20state\x20blocks\x20the\x20order\x27s\x20funds\x20and\x20'+'business\x20flow\x20—\x20the\x20party\x20that\x20gains\x20from\x20unblocking\x20it\x20sends\x20the\x20transaction.','benefit':'Unblock\x20the\x20order\x20stuck\x20at\x20\x27'+o+'\x27','state_fingerprint':o+':'+p+':'+v});}return l;}export function realPaymentDetectorDeps(){return{'queryUnclaimed':async(a,b)=>{const c=await query_received({'name_or_address':{'name_or_address':a},'type':'CoinWrapper','network':b});if(!c||typeof c!=='object'||!Array['isArray'](c['received']))return null;const d=typeof c['balance']==='bigint'?c['balance']:BigInt(c['balance']??0x0);return{'balance':d,'count':c['received']['length'],'token_type':typeof c['token_type']==='string'&&c['token_type']?c['token_type']:undefined};},'formatAmount':async(a,b,c)=>{if(!b)return undefined;const e=await formatChainValue(a,b,c),f=e['symbol']?'\x20'+e['symbol']:'';return e['precision_known']?''+e['display']+f:''+e['raw']+f;}};}export function realProgressDetectorDeps(){return{'fetchProgressFields':async(a,b)=>{const c=await batchQueryObjectsByIds(a,b,![]),e=new Map();for(const f of c??[]){const g=f?.['data']??f;if(f?.['type']!=='Progress')continue;const h=String(f?.['query_name']??f?.['object']??'')['toLowerCase']();if(h)e['set'](h,g);}return e;},'fetchMachineNodes':(a,b)=>fetchMachineNodes(a,b,![]),'fetchMachinePermissionAddr':async(a,b)=>{const c=await query_objects({'objects':[a],'network':b}),d=c?.['objects']?.[0x0],e=(d?.['data']??d)?.['permission'];return typeof e==='string'&&e?e:undefined;},'fetchPermissionContext':(a,b)=>fetchPermissionContext(a,b,![]),'fetchOrderContext':(a,b)=>fetchOrderContext(a,b,![])};}async function fieldsByType(a,b,c){const d=await batchQueryObjectsByIds(a,b,![]),e=new Map();for(const f of d??[]){if(f?.['type']!==c)continue;const g=String(f?.['query_name']??f?.['object']??'')['toLowerCase']();if(g)e['set'](g,f);}return e;}export function realSettlementDetectorDeps(){return{'fetchOrderFields':(a,b)=>fieldsByType(a,b,'Order'),'fetchAllocationFields':(a,b)=>fieldsByType(a,b,'Allocation'),'fetchProgressFields':async(a,b)=>{const c=await fieldsByType(a,b,'Progress'),d=new Map();for(const [e,f]of c)d['set'](e,f?.['data']??f);return d;},'fetchMachineNodes':(a,b)=>fetchMachineNodes(a,b,![]),'formatAmount':async(a,b,c)=>{if(!b)return undefined;const e=await formatChainValue(a,b,c),f=e['symbol']?'\x20'+e['symbol']:'';return e['precision_known']?''+e['display']+f:''+e['raw']+f;}};}export function realTimeoutDetectorDeps(){return{'fetchProgressFields':async(a,b)=>{const c=await fieldsByType(a,b,'Progress'),d=new Map();for(const [e,f]of c)d['set'](e,f?.['data']??f);return d;},'fetchMachineNodes':(a,b)=>fetchMachineNodes(a,b,![]),'nowMs':()=>Date['now']()};}
1
+ import{query_received,query_objects}from'@wowok/wowok';import{batchQueryObjectsByIds,fetchMachineNodes,fetchOrderContext,fetchPermissionContext}from'../graph/onchain/sdk-batch.js';import{extractCoinType}from'../graph/onchain/extract.js';import{enumerateActionableForwards}from'../knowledge/index.js';import{formatChainValue}from'../knowledge/fund-layer.js';import{loadGuardJsonFromChain}from'../knowledge/guard-submission-brief.js';import{formatShortAddress}from'../persona/address-format.js';export async function detectPaymentUnclaimed(a,b,c){const d=[];for(const e of a){const f=e['toLowerCase']();let g=null;try{g=await c['queryUnclaimed'](f,b);}catch{g=null;}if(!g||g['balance']<=0x0n||g['count']<=0x0)continue;let h;try{h=await c['formatAmount']?.(g['balance'],g['token_type'],b);}catch{h=undefined;}const i=h??g['balance']['toString']()+'\x20(smallest\x20unit)';d['push']({'dedupe_key':'payment_unclaimed:'+f,'detector':'payment_unclaimed','beneficiary':f,'operation':{'operation_type':'payment','data':{'receive':!![]}},'title':'Unclaimed\x20funds\x20—\x20'+i+'\x20waiting\x20to\x20be\x20received','detail':g['count']+'\x20CoinWrapper\x20object(s)\x20hold\x20'+i+'\x20for\x20this\x20account.\x20'+'They\x20are\x20owned\x20but\x20NOT\x20spendable\x20until\x20unwrapped.\x20Execute\x20payment\x20{receive:true}\x20'+'as\x20this\x20account\x20to\x20unwrap\x20all\x20of\x20them\x20into\x20the\x20wallet\x20in\x20one\x20transaction\x20(keeper\x20can\x20'+'auto-execute\x20this\x20when\x20a\x20payment_unclaimed\x20auto-exec\x20rule\x20covers\x20the\x20account).','benefit':'Receive\x20'+i+'\x20into\x20your\x20wallet','state_fingerprint':g['count']+':'+g['balance']['toString']()});}return d;}export function extractGuardSignerPins(a){const b=Array['isArray'](a['table'])?a['table']:[],c=[],d=(e,f)=>{if(!e||typeof e!=='object')return;const g=f||e['type']==='logic_or'||e['type']==='logic_not';if(e['type']==='logic_equal'){const h=Array['isArray'](e['nodes'])?e['nodes']:e['left']&&e['right']?[e['left'],e['right']]:[],i=h['findIndex'](k=>k?.['type']==='context'&&k?.['context']==='Signer'),j=i>=0x0?h[0x1-i]:undefined;if(j?.['type']==='identifier'&&!g){const k=b['find'](l=>Number(l?.['identifier'])===Number(j['identifier']));k&&k['b_submission']!==!![]&&k['value_type']==='Address'&&typeof k['value']==='string'&&k['value']['startsWith']('0x')&&k['value']['length']>0x2&&c['push'](String(k['value']));}}for(const l of[e['nodes'],e['left'],e['right']]['flat']()){if(l&&typeof l==='object')d(l,g);}};return d(a['root'],![]),c;}export async function detectProgressActionable(a,b,c,d){const e=(a['order_children']??[])['filter'](p=>p['type']==='progress'&&typeof p['object']==='string')['map'](p=>p['object'])['filter'](p=>p['startsWith']('0x')),f=(a['focus']??[])['map'](p=>p['object'])['filter'](p=>typeof p==='string'&&p['startsWith']('0x')),g=[...new Set([...e,...f])]['slice'](0x0,Math['max'](0x1,d));if(g['length']===0x0||(a['accounts']??[])['length']===0x0)return[];let h;try{h=await c['fetchProgressFields'](g,b);}catch{return[];}const i=new Map(),j=new Map(),k=new Map(),l=new Map(),m=c['fetchGuardJson']??(async(p,q)=>(await loadGuardJsonFromChain(p,q))?.['json']),n=a['accounts'],o=[];for(const [p,q]of h){const r=typeof q?.['machine']==='string'?q['machine']:undefined;if(!r)continue;const s=r['toLowerCase']();let t=i['get'](s);if(!t){try{t=await c['fetchMachineNodes'](r,b);}catch{t=[];}i['set'](s,t);}if(t['length']===0x0)continue;let u;if(!j['has'](s)){let B;try{B=await c['fetchMachinePermissionAddr'](r,b);}catch{B=undefined;}let C;if(B)try{C=await c['fetchPermissionContext'](B,b);}catch{C=undefined;}j['set'](s,C);}u=j['get'](s);const v=typeof q?.['task']==='string'?q['task']:undefined;let w;if(v){const D=v['toLowerCase']();if(!k['has'](D))try{k['set'](D,await c['fetchOrderContext'](v,b));}catch{k['set'](D,undefined);}w=k['get'](D);}const x=(Array['isArray'](q?.['namedOperator'])?q['namedOperator']:[])['map'](E=>({'name':String(E?.['name']??''),'operators':(Array['isArray'](E?.['operators'])?E['operators']:[])['map'](F=>String(F))})),y=enumerateActionableForwards(q,t,n,x,w,u),z=typeof q?.['current']==='string'?q['current']:'',A=v?'order\x20'+formatShortAddress(v):'no\x20bound\x20order';for(const E of y){let F=[];const G=typeof E['guard']==='string'?E['guard']['toLowerCase']():'';if(G){const H=l['get'](G);if(H!==undefined)F=H;else{let I;try{I=await m(E['guard'],b);}catch{I=undefined;}F=I?extractGuardSignerPins(I):[],l['set'](G,F);}}for(const J of E['executable_accounts']){if(F['length']>0x0){const N=F[0x0]['toLowerCase'](),O=F['every'](P=>P['toLowerCase']()===N);if(O&&N!==J['toLowerCase']())continue;}const K=E['threshold']>0x1?'\x20—\x20cooperation\x20threshold\x20'+E['threshold']+'\x20(weight\x20'+E['weight']+');\x20other\x20distinct\x20forwards\x20may\x20still\x20be\x20needed':'',L=E['guard']?'\x20—\x20guard\x20'+formatShortAddress(E['guard'])+'\x20must\x20be\x20satisfied\x20(submissions\x20may\x20be\x20required)':'',M=w&&J===w['builder']['toLowerCase']()?'You\x20are\x20the\x20order\x20owner':E['operator_kind']==='named_operator'?'You\x20hold\x20the\x20named-operator\x20role\x20\x27'+E['named_operator']+'\x27':'You\x20hold\x20the\x20required\x20permission\x20index';o['push']({'dedupe_key':'progress_actionable:'+p+':'+J+':'+E['next_node']+'|'+E['forward'],'detector':'progress_actionable','beneficiary':J,'object':p,'title':'Workflow\x20action\x20available:\x20\x27'+E['forward']+'\x27\x20→\x20'+E['next_node'],'detail':'Progress\x20'+formatShortAddress(p)+'\x20('+A+')\x20sits\x20at\x20node\x20\x27'+z+'\x27.\x20'+(M+'\x20—\x20you\x20can\x20execute\x20forward\x20\x27'+E['forward']+'\x27\x20into\x20\x27'+E['next_node']+'\x27')+(''+K+L+'.\x20Advance\x20it\x20via\x20workflow_operation\x20')+'(action=\x27list\x27\x20to\x20review,\x20action=\x27operate\x27\x20to\x20execute).\x20'+'Who\x20benefits,\x20who\x20pushes:\x20waiting\x20does\x20not\x20move\x20the\x20order\x20—\x20the\x20party\x20that\x20'+'gains\x20from\x20the\x20next\x20step\x20sends\x20the\x20transaction.','benefit':benefitOfNode(E['next_node']),'state_fingerprint':E['weight']+':'+E['threshold']+':'+(E['guard']??'')+':'+E['operator_kind']});}}}return o;}function benefitOfNode(a){if(/(^|_)(completed?|done|finished|received|delivered|accepted|confirmed|finalized|success|approved)(_|$)/i['test'](a))return'Completing\x20this\x20step\x20settles\x20the\x20order\x20—\x20funds\x20are\x20released\x20to\x20the\x20provider';if(/(^|_)(cancel(led)?|refund(ed)?|return(ed|_approved)?)(_|$)/i['test'](a))return'This\x20step\x20routes\x20to\x20cancellation/refund\x20—\x20funds\x20return\x20to\x20the\x20buyer';if(/(^|_)(interrupt(ed)?|exception|dispute(d)?|fail(ed)?|abort(ed)?|reject(ed)?)(_|$)/i['test'](a))return'This\x20step\x20opens\x20the\x20exception\x20path\x20—\x20review\x20before\x20advancing';return'Advancing\x20keeps\x20the\x20order\x20moving\x20toward\x20settlement';}const REFUND_FLAVOR_RE=/(^|_)(cancel(led)?|refund(ed)?|return(ed|_approved)?|expired)(_|$)/i;export function evaluateSettlementPending(a,b,c,d){let e;try{e=typeof b?.['balance']==='bigint'?b['balance']:BigInt(b?.['balance']??0x0);}catch{return null;}if(e<=0x0n)return null;const f=Array['isArray'](b?.['payment'])?b['payment']:[];if(f['length']>0x0)return null;const g=typeof c?.['current']==='string'?c['current']:'';if(!g)return null;if(!Array['isArray'](d)||d['length']===0x0)return null;const h=new Set();for(const j of d){for(const k of j['pairs']){if((k['forwards']??[])['length']>0x0)h['add'](j['name']);}}if(h['has'](g))return null;const i=(Array['isArray'](b?.['allocators']?.['allocators'])?b['allocators']['allocators']:[])['map'](l=>String(l?.['guard']??''))['filter'](l=>l);return{'terminal_node':g,'balance':e,'payments':f['length'],'guards':i,'is_refund_terminal':REFUND_FLAVOR_RE['test'](g)};}export async function detectSettlementPending(a,b,c,e){const f=(a['accounts']??[])['map'](q=>q['toLowerCase']());if(f['length']===0x0)return[];const g=(a['orders']??[])['slice'](0x0,Math['max'](0x1,e));if(g['length']===0x0)return[];const h=g['map'](q=>q['order'])['filter'](q=>typeof q==='string'&&q['startsWith']('0x'));let i;try{i=await c['fetchOrderFields'](h,b);}catch{return[];}const j=[],k=[];for(const q of i['values']()){const r=q?.['data']??q;if(typeof r?.['allocation']==='string'&&r['allocation']['startsWith']('0x'))j['push'](r['allocation']);if(typeof r?.['progress']==='string'&&r['progress']['startsWith']('0x'))k['push'](r['progress']);}let l=new Map(),m=new Map();try{l=await c['fetchAllocationFields']([...new Set(j)],b);}catch{return[];}try{m=await c['fetchProgressFields']([...new Set(k)],b);}catch{m=new Map();}const n=new Set((a['services']??[])['map'](t=>t['toLowerCase']())),o=new Map(),p=[];for(const [s,t]of i){const u=t?.['data']??t,v=typeof u?.['allocation']==='string'?u['allocation']:undefined;if(!v)continue;const w=l['get'](v['toLowerCase']());if(!w)continue;const x=w?.['data']??w,y=typeof u?.['progress']==='string'?u['progress']:undefined,z=y?m['get'](y['toLowerCase']()):undefined,A=typeof z?.['machine']==='string'?z['machine']:typeof u?.['machine']==='string'?u['machine']:undefined;if(!A)continue;let B=o['get'](A['toLowerCase']());if(!B){try{B=await c['fetchMachineNodes'](A,b);}catch{B=[];}o['set'](A['toLowerCase'](),B);}const C=evaluateSettlementPending(u,x,z,B);if(!C)continue;const D=[];if(C['is_refund_terminal']){const I=typeof u?.['builder']==='string'?u['builder']['toLowerCase']():'';if(I&&f['includes'](I))D['push'](I);}else{const J=typeof u?.['service']==='string'?u['service']['toLowerCase']():'';if(J&&n['has'](J))D['push'](...f);}if(D['length']===0x0)continue;const E=C['guards']['length']>0x0?'Candidate\x20settle\x20guards\x20on\x20this\x20pool:\x20'+C['guards']['map'](K=>formatShortAddress(K))['join'](',\x20')+'.':'This\x20pool\x20exposes\x20no\x20readable\x20allocator\x20guards\x20—\x20inspect\x20it\x20before\x20acting.';let F;try{F=await c['formatAmount']?.(C['balance'],extractCoinType(w?.['type_raw']),b);}catch{F=undefined;}const G=F??C['balance']['toString']()+'\x20(smallest\x20unit)',H=C['is_refund_terminal']?'refund/cancel':'completion';for(const K of D){p['push']({'dedupe_key':'settlement_pending:'+s+':'+v,'detector':'settlement_pending','beneficiary':K,'object':v,'title':'Unsettled\x20escrow\x20—\x20'+G+'\x20on\x20a\x20'+H+'\x20terminal','detail':'Order\x20'+formatShortAddress(s)+'\x20sits\x20on\x20terminal\x20node\x20\x27'+C['terminal_node']+'\x27\x20but\x20its\x20Allocation\x20'+(formatShortAddress(v)+'\x20still\x20holds\x20'+G+'\x20and\x20has\x20emitted\x20no\x20Payment.\x20The\x20chain\x20never\x20')+('auto-settles:\x20someone\x20must\x20trigger\x20the\x20matching\x20guard.\x20'+E+'\x20Execute\x20via\x20allocation_operation\x20')+'(operation_type=\x27allocation\x27,\x20alloc_by_guard=<guard>)\x20as\x20an\x20account\x20that\x20can\x20satisfy\x20the\x20guard,\x20then\x20'+'recipients\x20claim\x20their\x20CoinWrappers\x20(payment\x20receive).\x20Trigger\x20ONCE\x20and\x20verify\x20the\x20pool\x20drained\x20—\x20a\x20'+'fully-drained\x20pool\x20aborts\x20on\x20re-trigger,\x20but\x20a\x20max-capped\x20pool\x20re-splits\x20the\x20remainder.\x20'+'Who\x20benefits,\x20who\x20pushes:\x20waiting\x20keeps\x20the\x20funds\x20frozen\x20and\x20leaves\x20the\x20dispute\x20window\x20open.','benefit':'Release\x20'+G+'\x20from\x20escrow\x20to\x20its\x20rightful\x20recipients','state_fingerprint':C['balance']['toString']()+':'+C['payments']+':'+C['terminal_node']});}}return p;}export async function detectTimeoutIntermediate(a,b,c,d,e){const f=(a['order_children']??[])['filter'](m=>m['type']==='progress'&&typeof m['object']==='string')['map'](m=>m['object'])['filter'](m=>m['startsWith']('0x')),g=(a['focus']??[])['map'](m=>m['object'])['filter'](m=>typeof m==='string'&&m['startsWith']('0x')),h=[...new Set([...f,...g])]['slice'](0x0,Math['max'](0x1,d));if(h['length']===0x0||(a['accounts']??[])['length']===0x0)return[];let i;try{i=await c['fetchProgressFields'](h,b);}catch{return[];}const j=c['nowMs'](),k=new Map(),l=[];for(const [m,n]of i){const o=typeof n?.['current']==='string'?n['current']:'',p=typeof n?.['current_time']==='number'?n['current_time']:0x0;if(!o||p<=0x0)continue;const q=typeof n?.['machine']==='string'?n['machine']:undefined;if(!q)continue;const r=q['toLowerCase']();let s=k['get'](r);if(!s){try{s=await c['fetchMachineNodes'](q,b);}catch{s=[];}k['set'](r,s);}const t=s['find'](z=>z['name']===o);if(!t)continue;const u=t['pairs']['some'](z=>(z['forwards']??[])['length']>0x0);if(!u)continue;const v=j-p;if(v<e)continue;const w=(a['accounts']??[])['map'](z=>z['toLowerCase']()),x=w[0x0];if(!x)continue;const y=Math['floor'](v/(0x3e8*0x3c*0x3c));l['push']({'dedupe_key':'timeout_intermediate:'+m+':'+o,'detector':'timeout_intermediate','beneficiary':x,'object':m,'title':'Possible\x20stuck\x20intermediate\x20state\x20—\x20\x27'+o+'\x27\x20for\x20'+y+'h','detail':'Progress\x20'+formatShortAddress(m)+'\x20has\x20been\x20on\x20node\x20\x27'+o+'\x27\x20for\x20'+y+'\x20hours\x20'+('(since\x20'+new Date(p)['toISOString']()+').\x20This\x20node\x20has\x20outgoing\x20forwards\x20but\x20none\x20have\x20fired.\x20')+'If\x20this\x20node\x20has\x20a\x20time-lock\x20guard\x20(confirm\x20timeout,\x20acceptance\x20timeout,\x20inspection\x20timeout,\x20etc.),\x20'+'the\x20keeper\x20may\x20need\x20to\x20advance\x20it.\x20Check\x20the\x20template\x27s\x20keeper_dependencies\x20and\x20the\x20guard\x27s\x20time\x20window\x20'+'before\x20acting.\x20Who\x20benefits,\x20who\x20pushes:\x20a\x20stuck\x20intermediate\x20state\x20blocks\x20the\x20order\x27s\x20funds\x20and\x20'+'business\x20flow\x20—\x20the\x20party\x20that\x20gains\x20from\x20unblocking\x20it\x20sends\x20the\x20transaction.','benefit':'Unblock\x20the\x20order\x20stuck\x20at\x20\x27'+o+'\x27','state_fingerprint':o+':'+p+':'+v});}return l;}export function realPaymentDetectorDeps(){return{'queryUnclaimed':async(a,b)=>{const c=await query_received({'name_or_address':{'name_or_address':a},'type':'CoinWrapper','network':b});if(!c||typeof c!=='object'||!Array['isArray'](c['received']))return null;const d=typeof c['balance']==='bigint'?c['balance']:BigInt(c['balance']??0x0);return{'balance':d,'count':c['received']['length'],'token_type':typeof c['token_type']==='string'&&c['token_type']?c['token_type']:undefined};},'formatAmount':async(a,b,c)=>{if(!b)return undefined;const e=await formatChainValue(a,b,c),f=e['symbol']?'\x20'+e['symbol']:'';return e['precision_known']?''+e['display']+f:''+e['raw']+f;}};}export function realProgressDetectorDeps(){return{'fetchProgressFields':async(a,b)=>{const c=await batchQueryObjectsByIds(a,b,![]),e=new Map();for(const f of c??[]){const g=f?.['data']??f;if(f?.['type']!=='Progress')continue;const h=String(f?.['query_name']??f?.['object']??'')['toLowerCase']();if(h)e['set'](h,g);}return e;},'fetchMachineNodes':(a,b)=>fetchMachineNodes(a,b,![]),'fetchMachinePermissionAddr':async(a,b)=>{const c=await query_objects({'objects':[a],'network':b}),d=c?.['objects']?.[0x0],e=(d?.['data']??d)?.['permission'];return typeof e==='string'&&e?e:undefined;},'fetchPermissionContext':(a,b)=>fetchPermissionContext(a,b,![]),'fetchOrderContext':(a,b)=>fetchOrderContext(a,b,![])};}async function fieldsByType(a,b,c){const d=await batchQueryObjectsByIds(a,b,![]),e=new Map();for(const f of d??[]){if(f?.['type']!==c)continue;const g=String(f?.['query_name']??f?.['object']??'')['toLowerCase']();if(g)e['set'](g,f);}return e;}export function realSettlementDetectorDeps(){return{'fetchOrderFields':(a,b)=>fieldsByType(a,b,'Order'),'fetchAllocationFields':(a,b)=>fieldsByType(a,b,'Allocation'),'fetchProgressFields':async(a,b)=>{const c=await fieldsByType(a,b,'Progress'),d=new Map();for(const [e,f]of c)d['set'](e,f?.['data']??f);return d;},'fetchMachineNodes':(a,b)=>fetchMachineNodes(a,b,![]),'formatAmount':async(a,b,c)=>{if(!b)return undefined;const e=await formatChainValue(a,b,c),f=e['symbol']?'\x20'+e['symbol']:'';return e['precision_known']?''+e['display']+f:''+e['raw']+f;}};}export function realTimeoutDetectorDeps(){return{'fetchProgressFields':async(a,b)=>{const c=await fieldsByType(a,b,'Progress'),d=new Map();for(const [e,f]of c)d['set'](e,f?.['data']??f);return d;},'fetchMachineNodes':(a,b)=>fetchMachineNodes(a,b,![]),'nowMs':()=>Date['now']()};}
@@ -1 +1 @@
1
- import{ONCE_SLOT_BYTES,TASK_BINDING_SLOT}from'./onchain-constants.js';const SYM_NODE='progress.current',SYM_CLAIMED='order.claimed_by\x20some';function slotValue(a,b){if(b===undefined)return{'value':undefined,'isSubmission':![]};const c=a['find'](d=>d['identifier']===b);if(!c)return{'value':undefined,'isSubmission':![]};return{'value':c['value'],'isSubmission':c['b_submission']===!![]};}function classifyQueryLhs(a){if(a===SYM_NODE)return{'kind':'node'};if(a===SYM_CLAIMED)return{'kind':'claimed'};return{'kind':'unknown'};}export function resolveValue(a,b){if(!b||b['type']!=='identifier')return{'known':![]};const c=slotValue(a,b['identifier']);if(c['isSubmission'])return{'known':![]};if(c['value']===undefined)return{'known':![]};return{'known':!![],'value':c['value']};}function evaluate(a,b,d){if(!b||typeof b['type']!=='string')return undefined;switch(b['type']){case'logic_and':{const e=Array['isArray'](b['nodes'])?b['nodes']:[];let f=![];for(const g of e){const h=evaluate(a,g,d);if(h===![])return![];if(h===undefined)f=!![];}return f?undefined:!![];}case'logic_or':{const i=Array['isArray'](b['nodes'])?b['nodes']:[];let j=![];for(const k of i){const l=evaluate(a,k,d);if(l===!![])return!![];if(l===undefined)j=!![];}return j?undefined:![];}case'logic_not':{const m=evaluate(a,b['node'],d);if(m===undefined)return undefined;return!m;}case'logic_equal':{const n=Array['isArray'](b['nodes'])?b['nodes']:[];if(n['length']<0x2)return undefined;const o=classifyQueryLhs(n[0x0]?.['query']),p=resolveValue(a,n[0x1]),q=o['kind']==='unknown'?classifyQueryLhs(n[0x1]?.['query']):o,r=!p['known']&&n[0x1]?.['query']!==undefined?resolveValue(a,n[0x0]):p;if(q['kind']==='node'){if(!r['known']||typeof r['value']!=='string')return undefined;return d['node']===r['value'];}if(q['kind']==='claimed'){if(!r['known']||typeof r['value']!=='boolean')return undefined;return d['claimed']===r['value'];}return undefined;}default:return undefined;}}function satisfiable(a,b,c){return evaluate(a,b,c)!==![];}function railPinnedNodes(a,b,d,e){if(!a||typeof a!=='object')return;const f=a;if(f['type']==='logic_equal'&&Array['isArray'](f['nodes'])&&f['nodes']['length']>=0x2){const h=classifyQueryLhs(f['nodes'][0x0]?.['query']),i=h['kind']==='unknown'?classifyQueryLhs(f['nodes'][0x1]?.['query']):h,j=h['kind']==='unknown'?f['nodes'][0x0]:f['nodes'][0x1];if(i['kind']==='node'){const k=resolveValue(b,j);k['known']&&typeof k['value']==='string'&&(d?e['neg']:e['pos'])['add'](k['value']);}return;}const g=f['type']==='logic_not'?!d:d;if(f['type']==='logic_not'){railPinnedNodes(f['node'],b,g,e);return;}if(Array['isArray'](f['nodes'])){for(const l of f['nodes'])railPinnedNodes(l,b,g,e);}}export function railNodePins(a,b){const c={'pos':new Set(),'neg':new Set()};return railPinnedNodes(a,b,![],c),c;}function findDeadLiterals(a,b,c,d){if(!a||typeof a['type']!=='string')return;if(a['type']==='logic_and'&&Array['isArray'](a['nodes'])){const e=new Map();for(const f of a['nodes']){const g=resolvableEquality(f,b);if(g)e['set'](g['symbol'],g['value']);}for(const h of a['nodes']){const i=resolvableEquality(h,b);if(i){const k=e['get'](i['symbol']);if(k!==undefined&&k!==i['value']){d['push']({'code':'RAIL_DEAD_LITERAL','level':'critical','detail':deadLiteralDetail(c,i['symbol'],k,i['value'])});return;}continue;}const j=findClash(h,b,e);if(j){d['push']({'code':'RAIL_DEAD_LITERAL','level':'critical','detail':deadLiteralDetail(c,j['symbol'],j['pinned'],j['value'])});return;}}for(const l of a['nodes'])findDeadLiterals(l,b,c,d);return;}if(Array['isArray'](a['nodes'])){for(const m of a['nodes'])findDeadLiterals(m,b,c,d);}if(a['node'])findDeadLiterals(a['node'],b,c,d);}function resolvableEquality(c,d){if(!c||c['type']!=='logic_equal'||!Array['isArray'](c['nodes']))return undefined;for(const [e,f]of[[c['nodes'][0x0],c['nodes'][0x1]],[c['nodes'][0x1],c['nodes'][0x0]]]){if(!e||typeof e['query']!=='string')continue;const g=classifyQueryLhs(e['query']);if(g['kind']==='unknown')continue;const h=resolveValue(d,f);if(!h['known'])continue;return{'symbol':g['kind']==='node'?SYM_NODE:SYM_CLAIMED,'value':h['value']};}return undefined;}function findClash(a,b,c){if(!a||typeof a['type']!=='string')return undefined;if(a['type']==='logic_not')return undefined;const d=resolvableEquality(a,b);if(d){const e=c['get'](d['symbol']);if(e!==undefined&&e!==d['value'])return{'symbol':d['symbol'],'pinned':e,'value':d['value']};return undefined;}if(Array['isArray'](a['nodes']))for(const f of a['nodes']){const g=findClash(f,b,c);if(g)return g;}if(a['node'])return findClash(a['node'],b,c);return undefined;}function deadLiteralDetail(a,b,c,d){return'allocator\x20guard\x20\x27'+a+'\x27:\x20one\x20conjunction\x20scope\x20carries\x20'+b+'\x20'+('==\x20'+JSON['stringify'](c)+'\x20and\x20ALSO\x20'+b+'\x20==\x20'+JSON['stringify'](d)+'\x20—\x20the\x20second\x20')+'literal\x20contradicts\x20the\x20first\x20and\x20is\x20a\x20DEAD\x20literal\x20(azx7-mn-261014\x20CR-azx7-01:\x20a\x20pinned\x20'+'node\x20equality\x20made\x20the\x20sibling\x20closed_cancel/item_lost\x20legs\x20unreachable,\x20stranding\x20the\x20'+'escrow\x20at\x20every\x20other\x20terminal).\x20Hoist\x20the\x20node\x20predicate\x20to\x20ONE\x20top-level\x20n-ary\x20logic_or\x20'+'instead\x20of\x20AND-prepending\x20a\x20single-node\x20gate.';}export function hasCallerIdentityLeg(a){let b=![];const c=d=>{if(b||d===null||typeof d!=='object')return;if(Array['isArray'](d)){for(const f of d)c(f);return;}const e=d;if(e['type']==='context'&&e['context']==='Signer'){b=!![];return;}if(typeof e['query']==='string'){const g=e['query']['toLowerCase']();if(g['startsWith']('context')||g['includes']('signer'))b=!![];else{if(/order\.agent|permission\.(owner|admin)|named.?operator/['test'](g))b=!![];}}if(!b){for(const h of Object['keys'](e))c(e[h]);}};return c(a),b;}export function refundGatePolarityMix(a){let b;const c=e=>{const f=JSON['stringify'](e);if(f===undefined)return'…';return f['length']>0x50?f['slice'](0x0,0x4d)+'…':f;},d=e=>{if(b!==undefined||e===null||typeof e!=='object')return;if(Array['isArray'](e)){for(const g of e)d(g);return;}const f=e;if(f['type']==='logic_or'&&Array['isArray'](f['nodes'])){const h=f['nodes'],i=h['filter'](l=>hasCallerIdentityLeg(l)),j=h['filter'](l=>l!==null&&typeof l==='object'&&l['type']==='logic_not');if(i['length']>0x0&&j['length']>0x0){b={'arms':[...i,...j]['map'](c)['join']('\x20\x20|\x20\x20')};return;}}for(const l of Object['keys'](f))d(f[l]);};return d(a),b;}function claimedAxisSensitive(a,b){const c=a['table'];return satisfiable(c,a['root'],{'node':b,'claimed':!![]})!==satisfiable(c,a['root'],{'node':b,'claimed':![]});}export function verifyAllocatorRails(a,b,c){const d=[];if(a['length']===0x0)return d;{const j=c?.['declaredKeys'],k=[],l=[],m=[];for(const o of a){if(o['root']===undefined||hasCallerIdentityLeg(o['root']))continue;const q=o['track']==='settlement'||o['track']==='refund'||o['recoverTwin']===!![];if(!q){m['push'](o['key']);continue;}if(j?.['has'](o['key']))l['push'](o);else k['push'](o);}for(const r of k){d['push']({'code':'RAIL_NO_CALLER_IDENTITY_BOUND','level':'critical','railKey':r['key'],'detail':'allocator\x20rail\x20\x27'+r['key']+'\x27\x20('+r['track']+'\x20track'+((r['recoverTwin']===!![]?',\x20merchant-recovery\x20twin':'')+')\x20carries\x20NO\x20caller-identity\x20leg\x20')+'(no\x20context(Signer)\x20comparison,\x20no\x20order.agent\x20has\x20/\x20permission.*\x20/\x20named-operator\x20query\x20'+'resolving\x20the\x20caller)\x20—\x20ANY\x20address\x20whose\x20tx\x20reaches\x20the\x20allocator\x20can\x20trigger\x20this\x20route\x20'+'(ks11:\x20an\x20unexpected\x20account\x20swept\x20a\x20merchant-recovery\x20payout\x20and\x20doubled\x20the\x20allocation\x20draw).\x20'+'Money\x20rails\x20are\x20not\x20forwards\x20—\x20the\x20chain\x20injects\x20no\x20caller\x20rail\x20on\x20them,\x20so\x20the\x20guard\x20IS\x20the\x20'+'only\x20gate.\x20Bind\x20the\x20caller\x20per\x20pattern.identity_check_order_holder\x20(order.owner/agent,\x20host\x20'+'machine_forward)\x20or\x20pattern.repository_write_authorization\x20(permission-resolved,\x20host\x20'+'service_allocator_guard);\x20see\x20guard-host-context.ts\x20for\x20the\x20per-host\x20signer\x20semantics\x20—\x20the\x20'+'caller\x20of\x20an\x20allocator\x20gate\x20is\x20the\x20SETTLEMENT\x20TRIGGERER,\x20not\x20the\x20order\x20owner,\x20so\x20a\x20'+'forward-edge\x20identity\x20guard\x20pasted\x20here\x20checks\x20the\x20WRONG\x20subject.\x20A\x20deliberately\x20legless\x20'+'rail\x20(the\x20merchant-recovery\x20sweep\x20face:\x20payee\x20bound\x20by\x20the\x20paired\x20allocator\x20row,\x20'+'permissionless\x20keeper\x20firing)\x20must\x20carry\x20an\x20explicit\x20declare\x20—\x20guard_resolutions\x20'+'{kind:\x27declare\x27,\x20reason}\x20or\x20the\x20template\x27s\x20identity_leg_exempt\x20—\x20and\x20then\x20ships\x20with\x20a\x20'+'permanent\x20non-blocking\x20disclosure\x20instead\x20of\x20this\x20block.'});}for(const u of l){d['push']({'code':'RAIL_NO_CALLER_IDENTITY','level':'info','railKey':u['key'],'detail':'allocator\x20rail\x20\x27'+u['key']+'\x27\x20carries\x20no\x20caller-identity\x20leg\x20and\x20ships\x20under\x20an\x20explicit\x20'+'declare\x20exemption\x20({kind:\x27declare\x27}\x20/\x20identity_leg_exempt):\x20the\x20legless\x20shape\x20is\x20the\x20'+'sanctioned\x20merchant-recovery\x20face\x20—\x20the\x20payee\x20is\x20bound\x20by\x20the\x20paired\x20allocator\x20row,\x20never\x20'+'by\x20the\x20caller.\x20This\x20receipt\x20rides\x20the\x20plan\x20notes\x20and\x20is\x20re-surfaced\x20at\x20publish;\x20it\x20never\x20blocks.'});}m['length']>0x0&&d['push']({'code':'RAIL_NO_CALLER_IDENTITY','level':'info','detail':'allocator\x20rail(s)\x20['+m['join'](',\x20')+']\x20carry\x20no\x20caller-identity\x20leg\x20'+'(no\x20context(Signer)\x20comparison,\x20no\x20order.agent\x20has\x20/\x20permission.*\x20/\x20named-operator\x20'+'query\x20resolving\x20the\x20caller)\x20—\x20ANY\x20address\x20whose\x20tx\x20reaches\x20the\x20allocator\x20can\x20'+'trigger\x20this\x20settlement\x20route\x20(sahr:\x20a\x20bystander\x20accelerated\x20another\x20party\x27s\x20'+'payout).\x20LEGITIMATE\x20when\x20the\x20scene\x20verifies\x20identity\x20upstream\x20(verifier_level\x20'+'level3_scene_combined)\x20or\x20the\x20venue\x20is\x20intentionally\x20open-trigger;\x20otherwise\x20bind\x20'+'the\x20caller\x20per\x20pattern.identity_check_order_holder\x20(order.owner/agent,\x20host\x20'+'machine_forward)\x20or\x20pattern.repository_write_authorization\x20(permission-resolved,\x20'+'host\x20service_allocator_guard).\x20See\x20guard-host-context.ts\x20for\x20the\x20per-host\x20signer\x20'+'semantics\x20—\x20the\x20caller\x20of\x20an\x20allocator\x20gate\x20is\x20the\x20SETTLEMENT\x20TRIGGERER,\x20not\x20the\x20'+'order\x20owner,\x20so\x20a\x20forward-edge\x20identity\x20guard\x20pasted\x20here\x20checks\x20the\x20WRONG\x20subject.'});}for(const v of a){if(v['track']!=='refund'||v['root']===undefined)continue;const w=v['table']['some'](x=>x['identifier']===TASK_BINDING_SLOT||x['identifier']===ONCE_SLOT_BYTES);if(w)continue;d['push']({'code':'REFUND_RAIL_REPLAY_DISCLOSURE','level':'info','railKey':v['key'],'detail':'refund\x20rail\x20\x27'+v['key']+'\x27\x20carries\x20no\x20once-key\x20row\x20(no\x20per-order\x20254\x20anchor,\x20no\x20per-period\x20255\x20key):\x20'+'the\x20refund\x20leg\x20stays\x20re-triggerable\x20on\x20its\x20node\x20state\x20across\x20the\x20order\x27s\x20life.\x20This\x20is\x20the\x20'+'SANCTIONED\x20shape\x20—\x20the\x20once-key\x20injection\x20is\x20deliberately\x20banned\x20on\x20refund\x20tracks\x20(a\x20refund\x20may\x20'+'fire\x20on\x20several\x20terminal\x20legs;\x20a\x20per-order\x20once\x20anchor\x20deadlocks\x20the\x20second\x20leg),\x20so\x20the\x20'+'replay\x20surface\x20is\x20disclosed,\x20not\x20gated.\x20Replay\x20cannot\x20redirect\x20funds:\x20the\x20recipient\x20binding\x20pins\x20'+'every\x20payout\x20to\x20the\x20paying\x20order,\x20and\x20balance\x20exhaustion\x20bounds\x20repetition\x20—\x20a\x20firing\x20aborts\x20on\x20'+'zero/insufficient\x20balance\x20once\x20the\x20pool\x20can\x20no\x20longer\x20fund\x20the\x20group\x20(a\x20Rate\x20group\x20summing\x20to\x20'+'10000\x20empties\x20the\x20pool\x20on\x20the\x20first\x20payout;\x20an\x20Amount-shaped\x20group\x20repeats\x20until\x20the\x20balance\x20'+'runs\x20below\x20the\x20fixed\x20leg).'});}for(const x of a){if(x['root']===undefined)continue;const y=refundGatePolarityMix(x['root']);if(y===undefined)continue;d['push']({'code':'REFUND_GATE_POLARITY_MIX','level':'critical','railKey':x['key'],'detail':'allocator\x20rail\x20\x27'+x['key']+'\x27\x20('+x['track']+'\x20track)\x20mixes\x20caller-identity\x20arms\x20and\x20NOT-state\x20arms\x20in\x20ONE\x20logic_or\x20group:\x20'+(y['arms']+'.\x20The\x20OR\x20makes\x20the\x20NOT-state\x20arm\x20a\x20LEGAL-CALLER\x20ALTERNATIVE\x20to\x20the\x20identity\x20legs\x20—\x20whoever\x20simply\x20')+'has\x20not\x20reached\x20that\x20state\x20passes\x20as\x20a\x20caller,\x20so\x20any\x20address\x20that\x20never\x20opened\x20a\x20dispute\x20can\x20sweep\x20the\x20rail\x20'+'(cour-mn-261102-z5t8\x20A2,\x20mainnet\x20REFUND-POLARITY:\x20the\x20buyer\x27s\x20not-in-dispute\x20state\x20was\x20compiled\x20into\x20'+'refund_gate\x27s\x20caller\x20identity\x20options).\x20A\x20negated\x20state\x20leg\x20is\x20a\x20payout\x20FREEZE,\x20never\x20an\x20authorization.\x20'+'Fix:\x20hoist\x20the\x20logic_not\x20leg\x20OUT\x20of\x20the\x20OR\x20into\x20a\x20TOP-LEVEL\x20logic_and\x20conjunction\x20—\x20'+'logic_and[\x20logic_or[<identity\x20legs>],\x20logic_not(<state\x20leg>)\x20]\x20—\x20the\x20recover_gate\x20shape\x20(etsm\x20F-04):\x20'+'the\x20freeze\x20then\x20gates\x20EVERY\x20caller\x20instead\x20of\x20widening\x20the\x20caller\x20set.\x20Guards\x20freeze\x20at\x20publish\x20—\x20fix\x20before\x20publishing.'});}{const z=new Map(),A=C=>{const D=z['get'](C['key']);if(D)return D;const E={'pos':new Set(),'neg':new Set()};railPinnedNodes(C['root'],C['table'],![],E);for(const F of E['neg'])E['pos']['delete'](F);return z['set'](C['key'],E['pos']),E['pos'];},B=(C,D)=>{if(C['size']!==D['size'])return![];for(const E of C)if(!D['has'](E))return![];return!![];};for(const C of a){if(C['root']===undefined)continue;const D=A(C);if(D['size']===0x0)continue;for(const E of a){if(E['key']===C['key']||E['root']===undefined)continue;const F=A(E);if((C['recipient']??'')===''||(E['recipient']??'')===''||C['recipient']===E['recipient']&&B(D,F))continue;if(F['size']===0x0)continue;const G=[...D]['filter'](H=>F['has'](H));if(G['length']===0x0)continue;d['push']({'code':'RAIL_NODE_SET_OVERLAP','level':'info','railKey':C['key'],'detail':'rail\x20\x27'+C['key']+'\x27\x20(→'+C['recipient']+')\x20and\x20\x27'+E['track']+'\x27\x20rail\x20\x27'+E['key']+'\x27\x20(→'+E['recipient']+')\x20are\x20BOTH\x20node-gated\x20onto\x20['+G['join'](',\x20')+']\x20—\x20'+'on\x20that\x20state\x20either\x20alloc_by_guard\x20fire\x20takes\x20the\x20pool\x20(first-to-fire),\x20so\x20the\x20pair\x20is\x20a\x20structural\x20double-payout/drain\x20surface\x20'+'(cstc2\x20C-1:\x20recover\x20∩\x20refund\x20on\x20closed_cancel\x20let\x20a\x20merchant\x20sweep\x20drain\x20escrow\x20the\x20refund\x20rail\x20was\x20the\x20designed\x20exit\x20for).\x20'+'Decision\x2011\x20keeps\x20the\x20two\x20tracks\x20INDEPENDENT\x20(no\x20claimed_by\x20coupling\x20—\x20that\x20cure\x20is\x20banned);\x20the\x20cure\x20is\x20the\x20decision-11\x20NODE\x20PARTITION:\x20'+'shrink\x20one\x20rail\x27s\x20node\x20set\x20so\x20every\x20terminal\x20keeps\x20EXACTLY\x20ONE\x20fund\x20exit\x20(RAIL_TERMINAL_UNCOVERED\x20still\x20enforces\x20the\x20coverage\x20side).\x20'+'Ships\x20INFO\x20(闸序纪律):\x20the\x20HKS-01(c)\x20enumeration\x20(2026-11-03)\x20shows\x20~10\x20surviving\x20templates\x20with\x20sanctioned\x20'+'recover/award\x20rails\x20still\x20overlapping\x20refund/settle\x20node\x20sets\x20—\x20the\x20per-template\x20adjudication\x20bundle\x20HKS-01(c-2)\x20must\x20clean\x20'+'them\x20before\x20this\x20upgrades\x20to\x20a\x20compile\x20blocker\x20(the\x20first\x20upgrade\x20attempt\x20hard-blocked\x20the\x20catalog\x20and\x20was\x20reverted).'});}}}for(const H of a){if(H['recoverTwin']!==!![]||H['root']===undefined)continue;const I={'pos':new Set(),'neg':new Set()};railPinnedNodes(H['root'],H['table'],![],I);for(const K of I['neg'])I['pos']['delete'](K);const J=[...I['pos']]['filter'](L=>/^(closed_cancel|cancelled)$/i['test'](L));if(J['length']===0x0)continue;d['push']({'code':'RECOVER_COVERS_REFUND_TERMINAL','level':'critical','railKey':H['key'],'detail':'recover\x20rail\x20\x27'+H['key']+'\x27\x20(→'+(H['recipient']??'?')+')\x20covers\x20the\x20buyer\x20refund\x20terminal(s)\x20'+('['+J['join'](',\x20')+']\x20—\x20at\x20that\x20state\x20the\x20REFUND\x20rail\x20is\x20the\x20designed\x20exit,\x20so\x20this\x20merchant-recovery\x20')+'twin\x20sweeps\x20an\x20ALREADY-REFUNDED\x20order:\x20the\x20refund\x20pays\x20the\x20buyer\x20back\x20and\x20the\x20recover\x20twin\x20(no\x20caller\x20'+'leg,\x20keeper-reachable)\x20drains\x20whatever\x20the\x20refund\x20left\x20behind\x20(the\x20live\x20mainnet\x20ks11\x20deduction;\x20'+'C-F01\x20root\x20cause).\x20Node-gate\x20partition\x20discipline:\x20re-anchor\x20the\x20recover\x20set\x20to\x20SETTLEMENT-side\x20'+'terminals\x20(e.g.\x20{completed,\x20reviewed})\x20so\x20every\x20terminal\x20keeps\x20EXACTLY\x20ONE\x20fund\x20exit\x20—\x20the\x20buyer\x27s\x20'+'terminal\x20belongs\x20to\x20the\x20refund\x20rail\x20alone.\x20Guards\x20freeze\x20at\x20publish:\x20fix\x20the\x20recover_node*\x20set\x20'+'BEFORE\x20the\x20guard\x20create\x20/\x20machine\x20bind\x20lands.\x20(The\x20order-scoped\x20advance\x20paths\x20additionally\x20carry\x20the\x20'+'chain\x20backstop\x20abort\x2015\x20E_ORDER_PRINCIPAL_REFUNDED,\x20but\x20the\x20sweep\x20itself\x20is\x20an\x20alloc\x20side-effect\x20—\x20'+'this\x20gate\x20is\x20the\x20only\x20surface\x20that\x20sees\x20it\x20first.)'});}if(b['length']===0x0)return d;const e=b['filter'](L=>L['semanticRole']==='cancelled'||L['semanticRole']==='final'),f=b['map'](L=>({'node':L['name'],'claimed':!![]}));for(const L of a){if(L['root']===undefined)continue;const M=L['table'];findDeadLiterals(L['root'],M,L['key'],d);}for(const N of e){const O=[{'node':N['name'],'claimed':![]}];for(const Q of N['fromNodes']??[])O['push']({'node':Q,'claimed':![]});const P=a['some'](R=>O['some'](S=>satisfiable(R['table'],R['root'],S)));!P&&d['push']({'code':'RAIL_TERMINAL_UNCOVERED','level':'critical','detail':'terminal\x20node\x20\x27'+N['name']+'\x27\x20(role\x20'+N['semanticRole']+')\x20has\x20NO\x20allocator\x20rail\x20'+'satisfiable\x20on\x20it\x20or\x20its\x20direct\x20predecessors\x20—\x20an\x20order\x20reaching\x20this\x20terminal\x20'+'strands\x20its\x20escrow\x20forever\x20(azx7-mn-261014\x20CR-azx7-01:\x20refund\x20'+'rejected\x20with\x20the\x20allocation\x20EINSUFFICIENT_BALANCE\x20abort\x20at\x20closed_cancel/item_lost;\x20crs-mn-261014\x20F-30:\x20a\x20double-'+'negated\x20claimed_by\x20leg\x20—\x20a\x20banned\x20shape\x20since\x20decision\x2011\x20—\x20bricked\x20the\x20refund\x20at\x20returned).\x20'+'Guards/allocators\x20freeze\x20at\x20publish\x20—\x20fix\x20the\x20rail\x27s\x20NODE-SET\x20before\x20publishing\x20'+'(decision\x2011:\x20exits\x20are\x20node-gated;\x20there\x20is\x20no\x20claimed_by\x20polarity\x20leg\x20to\x20fall\x20back\x20on).'});}const h=a['some'](R=>f['some'](S=>satisfiable(R['table'],R['root'],S)));!h&&d['push']({'code':'RAIL_AWARD_EXIT_MISSING','level':'critical','detail':'no\x20allocator\x20rail\x20is\x20satisfiable\x20on\x20ANY\x20machine\x20node\x20—\x20every\x20order\x20state\x20'+'(awarded\x20or\x20not)\x20strands\x20its\x20escrow\x20(escrow-exit\x20invariant,\x20az-mn-261007).\x20'+'Decision\x2011\x20two-rail\x20independence:\x20exits\x20are\x20NODE-GATED\x20—\x20an\x20awarded\x20order\x20exits\x20'+'through\x20the\x20SAME\x20terminal\x20rails\x20as\x20any\x20other\x20order\x20(its\x20award\x20is\x20a\x20separate\x20'+'commercial\x20indemnity;\x20a\x20claimed_by\x20gate\x20would\x20be\x20the\x20RAIL_CLAIMED_BY_LEG\x20violation,\x20'+'not\x20the\x20cure).\x20Partition\x20the\x20terminals\x20between\x20a\x20refund/settle\x20rail\x20and\x20a\x20'+'merchant-side\x20recovery\x20sweep\x20(tpl_allocator_node_gate_recover,\x20terminal-node-gated).\x20'+'Historical\x20(O11,\x20alg26-tn-261026):\x20a\x20recover\x20rail\x20keyed\x20on\x20the\x20bare\x20claimed_by\x20stamp\x20'+'routed\x20a\x20dismissal\x20to\x20the\x20LOSING\x20party\x20—\x20that\x20polarity\x20shape\x20is\x20banned\x20since\x20decision\x2011.'});const i=a['filter'](R=>R['root']!==undefined);{const R=new Set();for(const S of b){for(const T of i){if(claimedAxisSensitive(T,S['name']))R['add'](T['key']);}}R['size']>0x0&&d['push']({'code':'RAIL_CLAIMED_BY_LEG','level':'critical','detail':'allocator\x20rail(s)\x20['+[...R]['join'](',\x20')+']\x20flip\x20on\x20the\x20order.claimed_by\x20axis\x20—\x20'+'a\x20fund\x20rail\x20READS\x20the\x20arbitration\x20payout\x20stamp\x20(decision\x2011\x20two-rail\x20independence\x20violation;\x20'+'mirrors\x20R-FUND-RAIL-CLAIMED-BY).\x20The\x20fund\x20track\x20completes\x20by\x20ORDER-LEVEL\x20NODE\x20STATE:\x20gate\x20the\x20'+'rail\x20on\x20progress.current\x20node\x20sets\x20(refund/settle\x20faces),\x20partition\x20the\x20terminals\x20with\x20a\x20'+'terminal-node-gated\x20recovery\x20sweep\x20(tpl_allocator_node_gate_recover),\x20and\x20let\x20the\x20arbitrator\x20'+'rule\x20on\x20the\x20order\x27s\x20state\x20and\x20fund\x20destinations\x20—\x20a\x20double\x20collection\x20(settle+indemnity,\x20'+'refund+bounty)\x20is\x20a\x20legal\x20commercial\x20outcome\x20disclosed\x20at\x20the\x20MCP\x20confirmation\x20gate.\x20'+'Historical:\x20the\x20INV-C1\x20polarity\x20pair\x20(refund\x20some==false\x20/\x20recover\x20some==true)\x20was\x20the\x20old\x20'+'cure\x20and\x20the\x20W5-01\x20direction-blind\x20bug\x27s\x20cause\x20—\x20both\x20legs\x20were\x20removed\x20template-wide.'});}return d;}
1
+ import{ONCE_SLOT_BYTES,TASK_BINDING_SLOT}from'./onchain-constants.js';const SYM_NODE='progress.current',SYM_CLAIMED='order.claimed_by\x20some',DISPUTE_WAYPOINT=/claim|dispute|arbitrat|indemn/i;function slotValue(a,b){if(b===undefined)return{'value':undefined,'isSubmission':![]};const c=a['find'](d=>d['identifier']===b);if(!c)return{'value':undefined,'isSubmission':![]};return{'value':c['value'],'isSubmission':c['b_submission']===!![]};}function classifyQueryLhs(a){if(a===SYM_NODE)return{'kind':'node'};if(a===SYM_CLAIMED)return{'kind':'claimed'};return{'kind':'unknown'};}export function resolveValue(a,b){if(!b||b['type']!=='identifier')return{'known':![]};const c=slotValue(a,b['identifier']);if(c['isSubmission'])return{'known':![]};if(c['value']===undefined)return{'known':![]};return{'known':!![],'value':c['value']};}function evaluate(a,b,d){if(!b||typeof b['type']!=='string')return undefined;switch(b['type']){case'logic_and':{const e=Array['isArray'](b['nodes'])?b['nodes']:[];let f=![];for(const g of e){const h=evaluate(a,g,d);if(h===![])return![];if(h===undefined)f=!![];}return f?undefined:!![];}case'logic_or':{const i=Array['isArray'](b['nodes'])?b['nodes']:[];let j=![];for(const k of i){const l=evaluate(a,k,d);if(l===!![])return!![];if(l===undefined)j=!![];}return j?undefined:![];}case'logic_not':{const m=evaluate(a,b['node'],d);if(m===undefined)return undefined;return!m;}case'logic_equal':{const n=Array['isArray'](b['nodes'])?b['nodes']:[];if(n['length']<0x2)return undefined;const o=classifyQueryLhs(n[0x0]?.['query']),p=resolveValue(a,n[0x1]),q=o['kind']==='unknown'?classifyQueryLhs(n[0x1]?.['query']):o,r=!p['known']&&n[0x1]?.['query']!==undefined?resolveValue(a,n[0x0]):p;if(q['kind']==='node'){if(!r['known']||typeof r['value']!=='string')return undefined;return d['node']===r['value'];}if(q['kind']==='claimed'){if(!r['known']||typeof r['value']!=='boolean')return undefined;return d['claimed']===r['value'];}return undefined;}default:return undefined;}}function satisfiable(a,b,c){return evaluate(a,b,c)!==![];}function railPinnedNodes(a,b,d,e){if(!a||typeof a!=='object')return;const f=a;if(f['type']==='logic_equal'&&Array['isArray'](f['nodes'])&&f['nodes']['length']>=0x2){const h=classifyQueryLhs(f['nodes'][0x0]?.['query']),i=h['kind']==='unknown'?classifyQueryLhs(f['nodes'][0x1]?.['query']):h,j=h['kind']==='unknown'?f['nodes'][0x0]:f['nodes'][0x1];if(i['kind']==='node'){const k=resolveValue(b,j);k['known']&&typeof k['value']==='string'&&(d?e['neg']:e['pos'])['add'](k['value']);}return;}const g=f['type']==='logic_not'?!d:d;if(f['type']==='logic_not'){railPinnedNodes(f['node'],b,g,e);return;}if(Array['isArray'](f['nodes'])){for(const l of f['nodes'])railPinnedNodes(l,b,g,e);}}export function railNodePins(a,b){const c={'pos':new Set(),'neg':new Set()};return railPinnedNodes(a,b,![],c),c;}function findDeadLiterals(a,b,c,d){if(!a||typeof a['type']!=='string')return;if(a['type']==='logic_and'&&Array['isArray'](a['nodes'])){const e=new Map();for(const f of a['nodes']){const g=resolvableEquality(f,b);if(g)e['set'](g['symbol'],g['value']);}for(const h of a['nodes']){const i=resolvableEquality(h,b);if(i){const k=e['get'](i['symbol']);if(k!==undefined&&k!==i['value']){d['push']({'code':'RAIL_DEAD_LITERAL','level':'critical','detail':deadLiteralDetail(c,i['symbol'],k,i['value'])});return;}continue;}const j=findClash(h,b,e);if(j){d['push']({'code':'RAIL_DEAD_LITERAL','level':'critical','detail':deadLiteralDetail(c,j['symbol'],j['pinned'],j['value'])});return;}}for(const l of a['nodes'])findDeadLiterals(l,b,c,d);return;}if(Array['isArray'](a['nodes'])){for(const m of a['nodes'])findDeadLiterals(m,b,c,d);}if(a['node'])findDeadLiterals(a['node'],b,c,d);}function resolvableEquality(c,d){if(!c||c['type']!=='logic_equal'||!Array['isArray'](c['nodes']))return undefined;for(const [e,f]of[[c['nodes'][0x0],c['nodes'][0x1]],[c['nodes'][0x1],c['nodes'][0x0]]]){if(!e||typeof e['query']!=='string')continue;const g=classifyQueryLhs(e['query']);if(g['kind']==='unknown')continue;const h=resolveValue(d,f);if(!h['known'])continue;return{'symbol':g['kind']==='node'?SYM_NODE:SYM_CLAIMED,'value':h['value']};}return undefined;}function findClash(a,b,c){if(!a||typeof a['type']!=='string')return undefined;if(a['type']==='logic_not')return undefined;const d=resolvableEquality(a,b);if(d){const e=c['get'](d['symbol']);if(e!==undefined&&e!==d['value'])return{'symbol':d['symbol'],'pinned':e,'value':d['value']};return undefined;}if(Array['isArray'](a['nodes']))for(const f of a['nodes']){const g=findClash(f,b,c);if(g)return g;}if(a['node'])return findClash(a['node'],b,c);return undefined;}function deadLiteralDetail(a,b,c,d){return'allocator\x20guard\x20\x27'+a+'\x27:\x20one\x20conjunction\x20scope\x20carries\x20'+b+'\x20'+('==\x20'+JSON['stringify'](c)+'\x20and\x20ALSO\x20'+b+'\x20==\x20'+JSON['stringify'](d)+'\x20—\x20the\x20second\x20')+'literal\x20contradicts\x20the\x20first\x20and\x20is\x20a\x20DEAD\x20literal\x20(azx7-mn-261014\x20CR-azx7-01:\x20a\x20pinned\x20'+'node\x20equality\x20made\x20the\x20sibling\x20closed_cancel/item_lost\x20legs\x20unreachable,\x20stranding\x20the\x20'+'escrow\x20at\x20every\x20other\x20terminal).\x20Hoist\x20the\x20node\x20predicate\x20to\x20ONE\x20top-level\x20n-ary\x20logic_or\x20'+'instead\x20of\x20AND-prepending\x20a\x20single-node\x20gate.';}export function hasCallerIdentityLeg(a){let b=![];const c=d=>{if(b||d===null||typeof d!=='object')return;if(Array['isArray'](d)){for(const f of d)c(f);return;}const e=d;if(e['type']==='context'&&e['context']==='Signer'){b=!![];return;}if(typeof e['query']==='string'){const g=e['query']['toLowerCase']();if(g['startsWith']('context')||g['includes']('signer'))b=!![];else{if(/order\.agent|permission\.(owner|admin)|named.?operator/['test'](g))b=!![];}}if(!b){for(const h of Object['keys'](e))c(e[h]);}};return c(a),b;}export function refundGatePolarityMix(a){let b;const c=e=>{const f=JSON['stringify'](e);if(f===undefined)return'…';return f['length']>0x50?f['slice'](0x0,0x4d)+'…':f;},d=e=>{if(b!==undefined||e===null||typeof e!=='object')return;if(Array['isArray'](e)){for(const g of e)d(g);return;}const f=e;if(f['type']==='logic_or'&&Array['isArray'](f['nodes'])){const h=f['nodes'],i=h['filter'](l=>hasCallerIdentityLeg(l)),j=h['filter'](l=>l!==null&&typeof l==='object'&&l['type']==='logic_not');if(i['length']>0x0&&j['length']>0x0){b={'arms':[...i,...j]['map'](c)['join']('\x20\x20|\x20\x20')};return;}}for(const l of Object['keys'](f))d(f[l]);};return d(a),b;}function claimedAxisSensitive(a,b){const c=a['table'];return satisfiable(c,a['root'],{'node':b,'claimed':!![]})!==satisfiable(c,a['root'],{'node':b,'claimed':![]});}function claimedRequiredAt(a,b,c){return evaluate(a,b,{'node':c,'claimed':!![]})!==![]&&evaluate(a,b,{'node':c,'claimed':![]})===![];}export function verifyAllocatorRails(a,b,c){const d=[];if(a['length']===0x0)return d;{const j=c?.['declaredKeys'],k=[],l=[],m=[];for(const o of a){if(o['root']===undefined||hasCallerIdentityLeg(o['root']))continue;const q=o['track']==='settlement'||o['track']==='refund'||o['recoverTwin']===!![];if(!q){m['push'](o['key']);continue;}if(j?.['has'](o['key']))l['push'](o);else k['push'](o);}for(const r of k){const u=r['recipientKinds'],v=Array['isArray'](u)&&u['length']>0x0&&u['every'](x=>x==='submission');if(v){d['push']({'code':'RAIL_NO_CALLER_IDENTITY','level':'info','railKey':r['key'],'detail':'allocator\x20rail\x20\x27'+r['key']+'\x27\x20('+r['track']+'\x20track)\x20carries\x20no\x20caller-identity\x20leg,\x20but\x20every\x20'+'non-zero\x20sharing\x20row\x20resolves\x20to\x20a\x20guard-submitted\x20recipient\x20(GuardIdentifier\x20—\x20the\x20'+'order-anchored\x20slot):\x20the\x20payout\x20destination\x20is\x20PINNED\x20BY\x20THE\x20ROW\x20TOPOLOGY\x20and\x20cannot\x20be\x20'+'redirected\x20to\x20whoever\x20triggers\x20the\x20settlement.\x20Residual\x20surface:\x20a\x20bystander\x20may\x20ACCELERATE\x20'+'the\x20payout\x27s\x20timing\x20(bounded\x20—\x20replay\x20only\x20redistributes\x20the\x20remaining\x20balance\x20to\x20the\x20same\x20'+'payee).\x20Disclosed,\x20never\x20blocks;\x20no\x20declare\x20exemption\x20is\x20needed\x20(the\x20description-rewrite\x20'+'exemption\x20on\x20an\x20immutable\x20Guard\x20was\x20unreachable\x20—\x20mtw\x20F-MTW-18).\x20Fixed-Entity\x20or\x20Signer\x20rows\x20'+'would\x20keep\x20this\x20rail\x20CRITICAL.'});continue;}const w=Array['isArray'](u)&&u['some'](x=>x==='signer');d['push']({'code':'RAIL_NO_CALLER_IDENTITY_BOUND','level':'critical','railKey':r['key'],'detail':'allocator\x20rail\x20\x27'+r['key']+'\x27\x20('+r['track']+'\x20track'+((r['recoverTwin']===!![]?',\x20merchant-recovery\x20twin':'')+')\x20carries\x20NO\x20caller-identity\x20leg\x20')+'(no\x20context(Signer)\x20comparison,\x20no\x20order.agent\x20has\x20/\x20permission.*\x20/\x20named-operator\x20query\x20'+'resolving\x20the\x20caller)\x20—\x20ANY\x20address\x20whose\x20tx\x20reaches\x20the\x20allocator\x20can\x20trigger\x20this\x20route\x20'+'(ks11:\x20an\x20unexpected\x20account\x20swept\x20a\x20merchant-recovery\x20payout\x20and\x20doubled\x20the\x20allocation\x20draw).\x20'+'Money\x20rails\x20are\x20not\x20forwards\x20—\x20the\x20chain\x20injects\x20no\x20caller\x20rail\x20on\x20them,\x20so\x20the\x20guard\x20IS\x20the\x20'+'only\x20gate.\x20Bind\x20the\x20caller\x20per\x20pattern.identity_check_order_holder\x20(order.owner/agent,\x20host\x20'+'machine_forward)\x20or\x20pattern.repository_write_authorization\x20(permission-resolved,\x20host\x20'+'service_allocator_guard);\x20see\x20guard-host-context.ts\x20for\x20the\x20per-host\x20signer\x20semantics\x20—\x20the\x20'+'caller\x20of\x20an\x20allocator\x20gate\x20is\x20the\x20SETTLEMENT\x20TRIGGERER,\x20not\x20the\x20order\x20owner,\x20so\x20a\x20'+'forward-edge\x20identity\x20guard\x20pasted\x20here\x20checks\x20the\x20WRONG\x20subject.\x20A\x20deliberately\x20legless\x20'+'rail\x20(the\x20merchant-recovery\x20sweep\x20face:\x20payee\x20bound\x20by\x20the\x20paired\x20allocator\x20row,\x20'+'permissionless\x20keeper\x20firing)\x20must\x20carry\x20an\x20explicit\x20declare\x20—\x20guard_resolutions\x20'+'{kind:\x27declare\x27,\x20reason}\x20or\x20the\x20template\x27s\x20identity_leg_exempt\x20—\x20and\x20then\x20ships\x20with\x20a\x20'+'permanent\x20non-blocking\x20disclosure\x20instead\x20of\x20this\x20block.'+(w?'\x20SHARPENED:\x20at\x20least\x20one\x20sharing\x20row\x20resolves\x20to\x20Signer\x20—\x20this\x20rail\x20PAYS\x20WHOEVER\x20TRIGGERS\x20'+'it,\x20so\x20the\x20legless\x20shape\x20is\x20a\x20self-pay\x20surface,\x20not\x20a\x20timing\x20risk.\x20An\x20identity\x20leg\x20is\x20'+'mandatory;\x20a\x20declare\x20exemption\x20does\x20NOT\x20fit\x20this\x20shape.':'')});}for(const x of l){d['push']({'code':'RAIL_NO_CALLER_IDENTITY','level':'info','railKey':x['key'],'detail':'allocator\x20rail\x20\x27'+x['key']+'\x27\x20carries\x20no\x20caller-identity\x20leg\x20and\x20ships\x20under\x20an\x20explicit\x20'+'declare\x20exemption\x20({kind:\x27declare\x27}\x20/\x20identity_leg_exempt):\x20the\x20legless\x20shape\x20is\x20the\x20'+'sanctioned\x20merchant-recovery\x20face\x20—\x20the\x20payee\x20is\x20bound\x20by\x20the\x20paired\x20allocator\x20row,\x20never\x20'+'by\x20the\x20caller.\x20This\x20receipt\x20rides\x20the\x20plan\x20notes\x20and\x20is\x20re-surfaced\x20at\x20publish;\x20it\x20never\x20blocks.'});}m['length']>0x0&&d['push']({'code':'RAIL_NO_CALLER_IDENTITY','level':'info','detail':'allocator\x20rail(s)\x20['+m['join'](',\x20')+']\x20carry\x20no\x20caller-identity\x20leg\x20'+'(no\x20context(Signer)\x20comparison,\x20no\x20order.agent\x20has\x20/\x20permission.*\x20/\x20named-operator\x20'+'query\x20resolving\x20the\x20caller)\x20—\x20ANY\x20address\x20whose\x20tx\x20reaches\x20the\x20allocator\x20can\x20'+'trigger\x20this\x20settlement\x20route\x20(sahr:\x20a\x20bystander\x20accelerated\x20another\x20party\x27s\x20'+'payout).\x20LEGITIMATE\x20when\x20the\x20scene\x20verifies\x20identity\x20upstream\x20(verifier_level\x20'+'level3_scene_combined)\x20or\x20the\x20venue\x20is\x20intentionally\x20open-trigger;\x20otherwise\x20bind\x20'+'the\x20caller\x20per\x20pattern.identity_check_order_holder\x20(order.owner/agent,\x20host\x20'+'machine_forward)\x20or\x20pattern.repository_write_authorization\x20(permission-resolved,\x20'+'host\x20service_allocator_guard).\x20See\x20guard-host-context.ts\x20for\x20the\x20per-host\x20signer\x20'+'semantics\x20—\x20the\x20caller\x20of\x20an\x20allocator\x20gate\x20is\x20the\x20SETTLEMENT\x20TRIGGERER,\x20not\x20the\x20'+'order\x20owner,\x20so\x20a\x20forward-edge\x20identity\x20guard\x20pasted\x20here\x20checks\x20the\x20WRONG\x20subject.'});}for(const y of a){if(y['track']!=='refund'||y['root']===undefined)continue;const z=y['table']['some'](A=>A['identifier']===TASK_BINDING_SLOT||A['identifier']===ONCE_SLOT_BYTES);if(z)continue;d['push']({'code':'REFUND_RAIL_REPLAY_DISCLOSURE','level':'info','railKey':y['key'],'detail':'refund\x20rail\x20\x27'+y['key']+'\x27\x20carries\x20no\x20once-key\x20row\x20(no\x20per-order\x20254\x20anchor,\x20no\x20per-period\x20255\x20key):\x20'+'the\x20refund\x20leg\x20stays\x20re-triggerable\x20on\x20its\x20node\x20state\x20across\x20the\x20order\x27s\x20life.\x20This\x20is\x20the\x20'+'SANCTIONED\x20shape\x20—\x20the\x20once-key\x20injection\x20is\x20deliberately\x20banned\x20on\x20refund\x20tracks\x20(a\x20refund\x20may\x20'+'fire\x20on\x20several\x20terminal\x20legs;\x20a\x20per-order\x20once\x20anchor\x20deadlocks\x20the\x20second\x20leg),\x20so\x20the\x20'+'replay\x20surface\x20is\x20disclosed,\x20not\x20gated.\x20Replay\x20cannot\x20redirect\x20funds:\x20the\x20recipient\x20binding\x20pins\x20'+'every\x20payout\x20to\x20the\x20paying\x20order,\x20and\x20balance\x20exhaustion\x20bounds\x20repetition\x20—\x20a\x20firing\x20aborts\x20on\x20'+'zero/insufficient\x20balance\x20once\x20the\x20pool\x20can\x20no\x20longer\x20fund\x20the\x20group\x20(a\x20Rate\x20group\x20summing\x20to\x20'+'10000\x20empties\x20the\x20pool\x20on\x20the\x20first\x20payout;\x20an\x20Amount-shaped\x20group\x20repeats\x20until\x20the\x20balance\x20'+'runs\x20below\x20the\x20fixed\x20leg).'});}for(const A of a){if(A['root']===undefined)continue;const B=refundGatePolarityMix(A['root']);if(B===undefined)continue;d['push']({'code':'REFUND_GATE_POLARITY_MIX','level':'critical','railKey':A['key'],'detail':'allocator\x20rail\x20\x27'+A['key']+'\x27\x20('+A['track']+'\x20track)\x20mixes\x20caller-identity\x20arms\x20and\x20NOT-state\x20arms\x20in\x20ONE\x20logic_or\x20group:\x20'+(B['arms']+'.\x20The\x20OR\x20makes\x20the\x20NOT-state\x20arm\x20a\x20LEGAL-CALLER\x20ALTERNATIVE\x20to\x20the\x20identity\x20legs\x20—\x20whoever\x20simply\x20')+'has\x20not\x20reached\x20that\x20state\x20passes\x20as\x20a\x20caller,\x20so\x20any\x20address\x20that\x20never\x20opened\x20a\x20dispute\x20can\x20sweep\x20the\x20rail\x20'+'(cour-mn-261102-z5t8\x20A2,\x20mainnet\x20REFUND-POLARITY:\x20the\x20buyer\x27s\x20not-in-dispute\x20state\x20was\x20compiled\x20into\x20'+'refund_gate\x27s\x20caller\x20identity\x20options).\x20A\x20negated\x20state\x20leg\x20is\x20a\x20payout\x20FREEZE,\x20never\x20an\x20authorization.\x20'+'Fix:\x20hoist\x20the\x20logic_not\x20leg\x20OUT\x20of\x20the\x20OR\x20into\x20a\x20TOP-LEVEL\x20logic_and\x20conjunction\x20—\x20'+'logic_and[\x20logic_or[<identity\x20legs>],\x20logic_not(<state\x20leg>)\x20]\x20—\x20the\x20recover_gate\x20shape\x20(etsm\x20F-04):\x20'+'the\x20freeze\x20then\x20gates\x20EVERY\x20caller\x20instead\x20of\x20widening\x20the\x20caller\x20set.\x20Guards\x20freeze\x20at\x20publish\x20—\x20fix\x20before\x20publishing.'});}{const C=new Map(),D=F=>{const G=C['get'](F['key']);if(G)return G;const H={'pos':new Set(),'neg':new Set()};railPinnedNodes(F['root'],F['table'],![],H);for(const I of H['neg'])H['pos']['delete'](I);return C['set'](F['key'],H['pos']),H['pos'];},E=(F,G)=>{if(F['size']!==G['size'])return![];for(const H of F)if(!G['has'](H))return![];return!![];};for(const F of a){if(F['root']===undefined)continue;const G=D(F);if(G['size']===0x0)continue;for(const H of a){if(H['key']===F['key']||H['root']===undefined)continue;const I=D(H);if((F['recipient']??'')===''||(H['recipient']??'')===''||F['recipient']===H['recipient']&&E(G,I))continue;if(I['size']===0x0)continue;const J=[...G]['filter'](L=>I['has'](L));if(J['length']===0x0)continue;const K=(F['recoverTwin']===!![]&&H['track']==='refund'||H['recoverTwin']===!![]&&F['track']==='refund')&&J['some'](L=>/^(closed_cancel|cancelled|refunded)$/i['test'](L));d['push']({'code':'RAIL_NODE_SET_OVERLAP','level':K?'critical':'info','railKey':F['key'],'detail':'rail\x20\x27'+F['key']+'\x27\x20(→'+F['recipient']+')\x20and\x20\x27'+H['track']+'\x27\x20rail\x20\x27'+H['key']+'\x27\x20(→'+H['recipient']+')\x20are\x20BOTH\x20node-gated\x20onto\x20['+J['join'](',\x20')+']\x20—\x20'+'on\x20that\x20state\x20either\x20alloc_by_guard\x20fire\x20takes\x20the\x20pool\x20(first-to-fire),\x20so\x20the\x20pair\x20is\x20a\x20structural\x20double-payout/drain\x20surface\x20'+'(cstc2\x20C-1:\x20recover\x20∩\x20refund\x20on\x20closed_cancel\x20let\x20a\x20merchant\x20sweep\x20drain\x20escrow\x20the\x20refund\x20rail\x20was\x20the\x20designed\x20exit\x20for).\x20'+'Decision\x2011\x20keeps\x20the\x20two\x20tracks\x20INDEPENDENT\x20(no\x20claimed_by\x20coupling\x20—\x20that\x20cure\x20is\x20banned);\x20the\x20cure\x20is\x20the\x20decision-11\x20NODE\x20PARTITION:\x20'+'shrink\x20one\x20rail\x27s\x20node\x20set\x20so\x20every\x20terminal\x20keeps\x20EXACTLY\x20ONE\x20fund\x20exit\x20(RAIL_TERMINAL_UNCOVERED\x20still\x20enforces\x20the\x20coverage\x20side).\x20'+'Scope\x20note\x20(TRG-04\x202026-11-06):\x20this\x20finding\x20fires\x20ONLY\x20for\x20pairs\x20paying\x20DIFFERENT\x20destinations\x20on\x20overlapping\x20states.\x20'+'Two\x20rails\x20with\x20the\x20SAME\x20recipient\x20AND\x20an\x20IDENTICAL\x20node\x20set\x20are\x20deliberately\x20NOT\x20reported\x20—\x20money\x20goes\x20into\x20the\x20same\x20pocket,\x20'+'only\x20the\x20first-to-fire\x20ORDER\x20is\x20nondeterministic,\x20never\x20the\x20destination\x20(the\x20sanctioned\x20per-period\x20ladder\x20shape;\x20mtwm\x20F-MT-06\x20re-flagged\x20it\x20as\x20a\x20hazard\x20three\x20reports\x20running\x20—\x20it\x20is\x20harmless\x20by\x20construction\x20and\x20stays\x20silent).\x20'+(K?'CRITICAL:\x20this\x20is\x20the\x20recover-twin\x20×\x20refund\x20drain\x20face\x20—\x20the\x20catalog-wide\x20disjointness\x20backstop\x20proves\x20NO\x20builtin\x20template\x20ships\x20it,\x20so\x20a\x20plan\x20carrying\x20it\x20is\x20hand-composed\x20and\x20must\x20partition\x20the\x20nodes\x20before\x20publish.':'Ships\x20INFO\x20(闸序纪律):\x20the\x20HKS-01(c)\x20enumeration\x20(2026-11-03)\x20shows\x20~10\x20surviving\x20templates\x20with\x20sanctioned\x20'+'recover/award\x20rails\x20still\x20overlapping\x20settle/award\x20node\x20sets\x20—\x20the\x20per-template\x20adjudication\x20bundle\x20HKS-01(c-2)\x20must\x20clean\x20'+'them\x20before\x20this\x20subclass\x20upgrades\x20to\x20a\x20compile\x20blocker\x20(the\x20first\x20upgrade\x20attempt\x20hard-blocked\x20the\x20catalog\x20and\x20was\x20reverted).')});}}}for(const L of a){if(L['recoverTwin']!==!![]||L['root']===undefined)continue;const M={'pos':new Set(),'neg':new Set()};railPinnedNodes(L['root'],L['table'],![],M);for(const O of M['neg'])M['pos']['delete'](O);const N=[...M['pos']]['filter'](P=>/^(closed_cancel|cancelled)$/i['test'](P));if(N['length']===0x0)continue;d['push']({'code':'RECOVER_COVERS_REFUND_TERMINAL','level':'critical','railKey':L['key'],'detail':'recover\x20rail\x20\x27'+L['key']+'\x27\x20(→'+(L['recipient']??'?')+')\x20covers\x20the\x20buyer\x20refund\x20terminal(s)\x20'+('['+N['join'](',\x20')+']\x20—\x20at\x20that\x20state\x20the\x20REFUND\x20rail\x20is\x20the\x20designed\x20exit,\x20so\x20this\x20merchant-recovery\x20')+'twin\x20sweeps\x20an\x20ALREADY-REFUNDED\x20order:\x20the\x20refund\x20pays\x20the\x20buyer\x20back\x20and\x20the\x20recover\x20twin\x20(no\x20caller\x20'+'leg,\x20keeper-reachable)\x20drains\x20whatever\x20the\x20refund\x20left\x20behind\x20(the\x20live\x20mainnet\x20ks11\x20deduction;\x20'+'C-F01\x20root\x20cause).\x20Node-gate\x20partition\x20discipline:\x20re-anchor\x20the\x20recover\x20set\x20to\x20SETTLEMENT-side\x20'+'terminals\x20(e.g.\x20{completed,\x20reviewed})\x20so\x20every\x20terminal\x20keeps\x20EXACTLY\x20ONE\x20fund\x20exit\x20—\x20the\x20buyer\x27s\x20'+'terminal\x20belongs\x20to\x20the\x20refund\x20rail\x20alone.\x20Guards\x20freeze\x20at\x20publish:\x20fix\x20the\x20recover_node*\x20set\x20'+'BEFORE\x20the\x20guard\x20create\x20/\x20machine\x20bind\x20lands.\x20(The\x20order-scoped\x20advance\x20paths\x20additionally\x20carry\x20the\x20'+'chain\x20backstop\x20abort\x2015\x20E_ORDER_PRINCIPAL_REFUNDED,\x20but\x20the\x20sweep\x20itself\x20is\x20an\x20alloc\x20side-effect\x20—\x20'+'this\x20gate\x20is\x20the\x20only\x20surface\x20that\x20sees\x20it\x20first.)'});}if(b['length']===0x0)return d;const e=b['filter'](P=>P['semanticRole']==='cancelled'||P['semanticRole']==='final'),f=b['map'](P=>({'node':P['name'],'claimed':!![]}));for(const P of a){if(P['root']===undefined)continue;const Q=P['table'];findDeadLiterals(P['root'],Q,P['key'],d);}for(const R of e){const S=[{'node':R['name'],'claimed':![]}];for(const U of R['fromNodes']??[])S['push']({'node':U,'claimed':![]});const T=a['some'](V=>S['some'](W=>satisfiable(V['table'],V['root'],W)));!T&&d['push']({'code':'RAIL_TERMINAL_UNCOVERED','level':'critical','detail':'terminal\x20node\x20\x27'+R['name']+'\x27\x20(role\x20'+R['semanticRole']+')\x20has\x20NO\x20allocator\x20rail\x20'+'satisfiable\x20on\x20it\x20or\x20its\x20direct\x20predecessors\x20—\x20an\x20order\x20reaching\x20this\x20terminal\x20'+'strands\x20its\x20escrow\x20forever\x20(azx7-mn-261014\x20CR-azx7-01:\x20refund\x20'+'rejected\x20with\x20the\x20allocation\x20EINSUFFICIENT_BALANCE\x20abort\x20at\x20closed_cancel/item_lost;\x20crs-mn-261014\x20F-30:\x20a\x20double-'+'negated\x20claimed_by\x20leg\x20—\x20a\x20banned\x20shape\x20since\x20decision\x2011\x20—\x20bricked\x20the\x20refund\x20at\x20returned).\x20'+'Guards/allocators\x20freeze\x20at\x20publish\x20—\x20fix\x20the\x20rail\x27s\x20NODE-SET\x20before\x20publishing\x20'+'(decision\x2011:\x20exits\x20are\x20node-gated;\x20there\x20is\x20no\x20claimed_by\x20polarity\x20leg\x20to\x20fall\x20back\x20on).'});}const h=a['some'](V=>f['some'](W=>satisfiable(V['table'],V['root'],W)));!h&&d['push']({'code':'RAIL_AWARD_EXIT_MISSING','level':'critical','detail':'no\x20allocator\x20rail\x20is\x20satisfiable\x20on\x20ANY\x20machine\x20node\x20—\x20every\x20order\x20state\x20'+'(awarded\x20or\x20not)\x20strands\x20its\x20escrow\x20(escrow-exit\x20invariant,\x20az-mn-261007).\x20'+'Decision\x2011\x20two-rail\x20independence:\x20exits\x20are\x20NODE-GATED\x20—\x20an\x20awarded\x20order\x20exits\x20'+'through\x20the\x20SAME\x20terminal\x20rails\x20as\x20any\x20other\x20order\x20(its\x20award\x20is\x20a\x20separate\x20'+'commercial\x20indemnity;\x20a\x20claimed_by\x20gate\x20would\x20be\x20the\x20RAIL_CLAIMED_BY_LEG\x20violation,\x20'+'not\x20the\x20cure).\x20Partition\x20the\x20terminals\x20between\x20a\x20refund/settle\x20rail\x20and\x20a\x20'+'merchant-side\x20recovery\x20sweep\x20(tpl_allocator_node_gate_recover,\x20terminal-node-gated).\x20'+'Historical\x20(O11,\x20alg26-tn-261026):\x20a\x20recover\x20rail\x20keyed\x20on\x20the\x20bare\x20claimed_by\x20stamp\x20'+'routed\x20a\x20dismissal\x20to\x20the\x20LOSING\x20party\x20—\x20that\x20polarity\x20shape\x20is\x20banned\x20since\x20decision\x2011.'});const i=a['filter'](V=>V['root']!==undefined);{const V=new Set();for(const W of b){for(const X of i){if(claimedAxisSensitive(X,W['name']))V['add'](X['key']);}}V['size']>0x0&&d['push']({'code':'RAIL_CLAIMED_BY_LEG','level':'critical','detail':'allocator\x20rail(s)\x20['+[...V]['join'](',\x20')+']\x20flip\x20on\x20the\x20order.claimed_by\x20axis\x20—\x20'+'a\x20fund\x20rail\x20READS\x20the\x20arbitration\x20payout\x20stamp\x20(decision\x2011\x20two-rail\x20independence\x20violation;\x20'+'mirrors\x20R-FUND-RAIL-CLAIMED-BY).\x20The\x20fund\x20track\x20completes\x20by\x20ORDER-LEVEL\x20NODE\x20STATE:\x20gate\x20the\x20'+'rail\x20on\x20progress.current\x20node\x20sets\x20(refund/settle\x20faces),\x20partition\x20the\x20terminals\x20with\x20a\x20'+'terminal-node-gated\x20recovery\x20sweep\x20(tpl_allocator_node_gate_recover),\x20and\x20let\x20the\x20arbitrator\x20'+'rule\x20on\x20the\x20order\x27s\x20state\x20and\x20fund\x20destinations\x20—\x20a\x20double\x20collection\x20(settle+indemnity,\x20'+'refund+bounty)\x20is\x20a\x20legal\x20commercial\x20outcome\x20disclosed\x20at\x20the\x20MCP\x20confirmation\x20gate.\x20'+'Historical:\x20the\x20INV-C1\x20polarity\x20pair\x20(refund\x20some==false\x20/\x20recover\x20some==true)\x20was\x20the\x20old\x20'+'cure\x20and\x20the\x20W5-01\x20direction-blind\x20bug\x27s\x20cause\x20—\x20both\x20legs\x20were\x20removed\x20template-wide.'});}{const Y=new Map(),Z=[];for(const a2 of b){for(const a3 of a2['fromNodes']??[]){const a4=Y['get'](a3)??[];a4['push'](a2['name']),Y['set'](a3,a4),!DISPUTE_WAYPOINT['test'](a3)&&DISPUTE_WAYPOINT['test'](a2['name'])&&Z['push'](a2['name']);}}const a0=Z['length']>0x0,a1=new Set();if(a0){const a5=[...Z];while(a5['length']>0x0){const a6=a5['pop']();if(a1['has'](a6))continue;a1['add'](a6);for(const a7 of Y['get'](a6)??[])a5['push'](a7);}}for(const a8 of i){const a9=a8['table'],aa=a8['root'],ab=railNodePins(aa,a9),ac=[...ab['pos']]['filter'](ae=>!ab['neg']['has'](ae));if(ac['length']===0x0)continue;const ad=ac['filter'](ae=>claimedRequiredAt(a9,aa,ae));if(ad['length']===0x0)continue;if(ac['some'](ae=>evaluate(a9,aa,{'node':ae,'claimed':![]})!==![]))continue;if(!a0)continue;if(ad['some'](ae=>DISPUTE_WAYPOINT['test'](ae)||a1['has'](ae)))continue;d['push']({'code':'RAIL_CLAIMED_BY_NODE_CONTRADICTION','level':'info','railKey':a8['key'],'detail':'allocator\x20rail\x20\x27'+a8['key']+'\x27\x20('+a8['track']+'\x20track)\x20pins\x20the\x20node\x20set\x20['+ac['join'](',\x20')+']\x20behind\x20an\x20'+'order.claimed_by\x20some==true\x20polarity\x20leg\x20—\x20the\x20payout\x20stamp\x20exists\x20ONLY\x20after\x20the\x20dispute-filing\x20'+'edge\x20enters\x20the\x20claim\x20waypoint,\x20and\x20NONE\x20of\x20those\x20states\x20is\x20the\x20filing\x20waypoint\x20or\x20its\x20successor\x20'+('(machine\x20shape:\x20filing\x20reaches\x20['+[...a1]['sort']()['join'](',\x20')+']).\x20VERDICT:\x20this\x20rail\x20is\x20')+'UNREACHABLE\x20in\x20every\x20sequence\x20—\x20money\x20can\x20enter\x20the\x20escrow\x20but\x20this\x20edge\x20can\x20never\x20fire\x20'+'(costco-e2e-mqvodbap\x20F-41:\x20the\x20ArbRefundReturn\x20rail\x20demanded\x20the\x20indemnity\x20stamp\x20while\x20the\x20order\x20'+'parked\x20at\x20claim_filed-class\x20nodes;\x20the\x20stopgap\x20was\x20disclosing\x20the\x20truth\x20into\x20purpose).\x20Two\x20'+'standard\x20fixes:\x20(a)\x20extend\x20the\x20rail\x27s\x20node\x20set\x20past\x20the\x20filing\x20waypoint\x20—\x20add\x20the\x20claim_filed-class\x20'+'node(s)\x20and\x20their\x20successors\x20the\x20rail\x20was\x20meant\x20to\x20serve;\x20or\x20(b)\x20drop\x20the\x20contradicting\x20polarity\x20'+'leg\x20—\x20decision\x2011:\x20fund\x20rails\x20are\x20node-gated,\x20never\x20claimed_by-gated\x20(the\x20polarity\x20READ\x20itself\x20is\x20'+'the\x20RAIL_CLAIMED_BY_LEG\x20critical).\x20Guards/allocators\x20freeze\x20at\x20publish\x20—\x20re-anchor\x20the\x20rail\x20BEFORE\x20binding.'});}}return d;}
@@ -0,0 +1 @@
1
+ import{batchQueryObjectsByIds}from'../graph/onchain/sdk-batch.js';export const ARB_OP_SHAPE_REGISTRY=[{'op':'arb_confirm','family':'order','summary':'CUSTOMER-side\x20confirm\x20on\x20an\x20Arb\x20case\x20(state\x200\x20→\x201;\x20required\x20after\x20an\x20arbitrator\x20reset).','example':'{\x20operation_type:\x20\x27order\x27,\x20data:\x20{\x20object:\x20\x27<ORDER>\x27,\x20arb_confirm:\x20{\x20arb:\x20\x27<ARB\x20CASE>\x27,\x20confirm:\x20true\x20}\x20}\x20}'},{'op':'arb_objection','family':'order','summary':'Oppose\x20the\x20ruling\x20and\x20request\x20re-arbitration\x20(objection\x20cycle).','example':'{\x20operation_type:\x20\x27order\x27,\x20data:\x20{\x20object:\x20\x27<ORDER>\x27,\x20arb_objection:\x20{\x20arb:\x20\x27<ARB\x20CASE>\x27,\x20objection:\x20\x27<why>\x27\x20}\x20}\x20}'},{'op':'arb_claim_compensation','family':'order','summary':'Claim\x20a\x20PAID\x20award\x20(indemnity\x20>\x200)\x20from\x20the\x20Service\x27s\x20compensation\x20fund;\x20refuses\x20zero-award\x20dismissals.','example':'{\x20operation_type:\x20\x27order\x27,\x20data:\x20{\x20object:\x20\x27<ORDER>\x27,\x20arb_claim_compensation:\x20{\x20arb:\x20\x27<ARB\x20CASE>\x27\x20}\x20}\x20}'},{'op':'arb_case_conclude','family':'order','summary':'Stamp\x20a\x20CONCLUDED\x20zero-award\x20dismissal\x20onto\x20the\x20order\x20(moves\x20no\x20funds;\x20permissionless\x20keeper\x20step).','example':'{\x20operation_type:\x20\x27order\x27,\x20data:\x20{\x20object:\x20\x27<ORDER>\x27,\x20arb_case_conclude:\x20{\x20arb:\x20\x27<ARB\x20CASE>\x27\x20}\x20}\x20}'},{'op':'dispute','family':'arbitration','summary':'FILE\x20a\x20case\x20for\x20an\x20order\x20(venue-side\x20entry;\x20the\x20case\x20lands\x20directly\x20in\x20Arbitrator_confirming).','example':'{\x20operation_type:\x20\x27arbitration\x27,\x20data:\x20{\x20object:\x20\x27<ARBITRATION\x20VENUE>\x27,\x20dispute:\x20{\x20order:\x20\x27<ORDER>\x27,\x20description:\x20\x27<non-empty>\x27,\x20proposition:\x20[\x27<claim>\x27],\x20fee:\x20{\x20balance:\x2050000000\x20}\x20}\x20}\x20}'},{'op':'confirm','family':'arbitration','summary':'ARBITRATOR-side\x20material\x20confirmation\x20(Arbitrator_confirming\x20→\x20Voting).','example':'{\x20operation_type:\x20\x27arbitration\x27,\x20data:\x20{\x20object:\x20\x27<ARBITRATION\x20VENUE>\x27,\x20confirm:\x20{\x20arb:\x20\x27<ARB\x20CASE>\x27,\x20voting_deadline:\x20null\x20}\x20}\x20}'},{'op':'vote','family':'arbitration','summary':'Cast\x20ballots\x20(proposition\x20INDICES)\x20on\x20the\x20case.','example':'{\x20operation_type:\x20\x27arbitration\x27,\x20data:\x20{\x20object:\x20\x27<ARBITRATION\x20VENUE>\x27,\x20vote:\x20{\x20arb:\x20\x27<ARB\x20CASE>\x27,\x20votes:\x20[0]\x20}\x20}\x20}'},{'op':'arbitration','family':'arbitration','summary':'Deliver\x20the\x20definitive\x20ruling\x20(feedback\x20+\x20indemnity;\x200\x20=\x20dismissal).','example':'{\x20operation_type:\x20\x27arbitration\x27,\x20data:\x20{\x20object:\x20\x27<ARBITRATION\x20VENUE>\x27,\x20arbitration:\x20{\x20arb:\x20\x27<ARB\x20CASE>\x27,\x20feedback:\x20\x27<ruling\x20rationale>\x27,\x20indemnity:\x200\x20}\x20}\x20}'},{'op':'reset','family':'arbitration','summary':'ARBITRATOR-side\x20reset\x20—\x20voids\x20the\x20ruling,\x20back\x20to\x20Principal_confirming\x20(only\x20the\x20customer\x20re-advances).','example':'{\x20operation_type:\x20\x27arbitration\x27,\x20data:\x20{\x20object:\x20\x27<ARBITRATION\x20VENUE>\x27,\x20reset:\x20{\x20arb:\x20\x27<ARB\x20CASE>\x27,\x20feedback:\x20\x27<why>\x27\x20}\x20}\x20}'},{'op':'feedback','family':'arbitration','summary':'Record\x20feedback\x20on\x20the\x20case.','example':'{\x20operation_type:\x20\x27arbitration\x27,\x20data:\x20{\x20object:\x20\x27<ARBITRATION\x20VENUE>\x27,\x20feedback:\x20{\x20arb:\x20\x27<ARB\x20CASE>\x27,\x20feedback:\x20\x27<text>\x27\x20}\x20}\x20}'},{'op':'arb_withdraw','family':'arbitration','summary':'Withdraw\x20the\x20case\x20fee\x20into\x20the\x20Arbitration\x27s\x20balance\x20pool\x20(state-gated;\x20two-stage\x20cash-out).','example':'{\x20operation_type:\x20\x27arbitration\x27,\x20data:\x20{\x20object:\x20\x27<ARBITRATION\x20VENUE>\x27,\x20arb_withdraw:\x20{\x20arb:\x20\x27<ARB\x20CASE>\x27\x20}\x20}\x20}'},{'op':'voting_deadline_change','family':'arbitration','summary':'Move\x20the\x20voting\x20deadline\x20(strictly\x20future\x20ms\x20timestamp;\x20NEVER\x200).','example':'{\x20operation_type:\x20\x27arbitration\x27,\x20data:\x20{\x20object:\x20\x27<ARBITRATION\x20VENUE>\x27,\x20voting_deadline_change:\x20{\x20arb:\x20\x27<ARB\x20CASE>\x27,\x20voting_deadline:\x20<future_ms>\x20}\x20}\x20}'}];export const ARB_MACHINE_RAIL_EXAMPLE='{\x20operation_type:\x20\x27progress\x27,\x20data:\x20{\x20object:\x20\x27<PROGRESS>\x27,\x20task:\x20\x27<ORDER>\x27,\x20operate:\x20{\x20op:\x20\x27next\x27,\x20'+'operation:\x20{\x20forward:\x20\x27<ArbRefund|ResumeAfterDismissal|...>\x27,\x20next_node_name:\x20\x27<target>\x27\x20}\x20}\x20},\x20'+'submission:\x20{\x20type:\x20\x27submission\x27,\x20guard:\x20[{\x20object:\x20\x27<RAIL\x20GUARD>\x27,\x20impack:\x20true\x20}],\x20submission:\x20'+'[{\x20guard:\x20\x27<RAIL\x20GUARD>\x27,\x20submission:\x20[\x20{\x20identifier:\x201,\x20value:\x20\x27<ARB\x20CASE>\x27,\x20value_type:\x20\x27Address\x27,\x20name:\x20\x27\x27,\x20b_submission:\x20true\x20}\x20]\x20}]\x20}\x20}\x20'+'—\x20slot\x201\x20IS\x20the\x20Arb\x20CASE\x20address\x20on\x20arbitration-rail\x20edges\x20(slot\x20254\x20=\x20the\x20ORDER;\x20both\x20auto-resolvable,\x20see\x20the\x20auto-fill\x20note).';function normKey(a){return a['toLowerCase']()['replace'](/[^a-z0-9]/g,'');}function withinEditDistance(c,d,e){if(Math['abs'](c['length']-d['length'])>e)return![];const f=new Array(d['length']+0x1);for(let g=0x0;g<=d['length'];g++)f[g]=g;for(let h=0x1;h<=c['length'];h++){let k=f[0x0];f[0x0]=h;for(let l=0x1;l<=d['length'];l++){const m=f[l];f[l]=Math['min'](f[l]+0x1,f[l-0x1]+0x1,k+(c[h-0x1]===d[l-0x1]?0x0:0x1)),k=m;}}return f[d['length']]<=e;}export function arbNestingExamplesForSchemaErrors(a,b,c){if(a!=='onchain_operations')return undefined;const d=b?.['operation_type'];if(d!=='order'&&d!=='arbitration')return undefined;const f=ARB_OP_SHAPE_REGISTRY['map'](j=>j['op']),g=new Set();for(const j of c){const k=Array['isArray'](j['path'])?j['path']['map'](String)['join']('.'):String(j['path']??''),l=[],n=String(j['message']??'')+'\x20'+String(j['suggestion']??j['code']??'');for(const p of n['matchAll'](/'([^']{4,40})'/g))l['push'](p[0x1]);const o=[k['split']('.')['pop']()??'',...l];for(const q of f){if(k['split']('.')['includes'](q)){g['add'](q);continue;}if(j['code']==='unrecognized_keys'||/unknown field|unrecognized key/i['test'](j['message']??''))for(const r of o){const s=normKey(r);if(s['length']>=0x4&&withinEditDistance(s,normKey(q),0x2))g['add'](q);}}}if(g['size']===0x0)return undefined;const h=ARB_OP_SHAPE_REGISTRY['filter'](t=>g['has'](t['op'])),i=h['map'](t=>'ARBITRATION\x20SHAPE\x20('+t['op']+'\x20—\x20'+t['summary']+')\x20correct\x20nesting:\x20'+t['example']+(t['family']==='arbitration'?'\x20—\x20ROOT\x20object\x20=\x20the\x20Arbitration\x20REGISTRATION\x20object;\x20the\x20CASE\x20goes\x20in\x20the\x20op\x27s\x20arb\x20field.':'\x20—\x20data.object\x20=\x20the\x20ORDER;\x20the\x20CASE\x20goes\x20in\x20the\x20op\x27s\x20arb\x20field.'));return i['push']('Machine-rail\x20reminder\x20(ArbRefund\x20/\x20ResumeAfterDismissal\x20family):\x20'+ARB_MACHINE_RAIL_EXAMPLE),{'line':i['join']('\x0a'),'structured':{'path':'data.'+[...g][0x0],'code':'arb_shape_example','message':'Correct\x20venue→case\x20nesting\x20for\x20'+[...g]['join'](',\x20'),'suggestion':i['join']('\x0a')}};}export const ARB_CASE_SLOT_EDGE_PATTERN=/^(ArbRefund|ArbAward|ArbCompensation|ResumeAfterDismissal|FileDispute|WithdrawClaim)/;export function isArbCaseSlotEdge(a){return typeof a==='string'&&ARB_CASE_SLOT_EDGE_PATTERN['test'](a);}const ORDER_SLOT=0xfe;export const ARB_CASE_SLOT=0x1;let depsOverride;export function setArbOperationFaceDeps(a){depsOverride=a;}function arbFaceDeps(){if(depsOverride)return depsOverride;return{'readObjects':(a,b)=>batchQueryObjectsByIds(a,b,!![])};}export async function resolveArbCaseBinding(a,b){try{const c=await arbFaceDeps()['readObjects']([a],b),e=(c??[])['find'](i=>i?.['type']==='Order')??c?.[0x0],f=e?.['data']??e;if(!f)return{'status':'unknown'};const g=typeof f?.['claimed_by']==='string'&&f['claimed_by']['startsWith']('0x')?f['claimed_by']:undefined;if(g&&g!=='0x0')return{'status':'bound','caseAddr':g,'via':'order.claimed_by'};const h=Array['isArray'](f?.['dispute'])?f['dispute']:[];for(const i of h){const j=typeof i==='string'&&i['startsWith']('0x')?i:typeof i?.['arb']==='string'&&i['arb']['startsWith']('0x')?i['arb']:undefined;if(j&&j!=='0x0')return{'status':'bound','caseAddr':j,'via':'order.dispute\x20vector'};}return{'status':'unbound','disputesFiled':h['length']};}catch{return{'status':'unknown'};}}export async function maybeFillArbCaseSlot(a){if(!isArbCaseSlotEdge(a['forwardName']))return undefined;const b=a['echo'];if(!b||b['type']!=='submission'||!Array['isArray'](b['submission'])||b['submission']['length']===0x0)return undefined;const c=b['submission'];let d=![];for(const i of c){for(const j of Array['isArray'](i?.['submission'])?i['submission']:[]){const k=Number(j?.['identifier']);if(k===ORDER_SLOT)continue;if(k===ARB_CASE_SLOT){if(String(j?.['value_type']??'')['includes']('Address')){d=!![];continue;}return undefined;}return undefined;}}if(!d)return undefined;if(!a['orderAddr'])return undefined;const e=await resolveArbCaseBinding(a['orderAddr'],a['network']),f=Array['isArray'](b['guard'])&&b['guard']['length']>0x0?b['guard']['map'](l=>({'object':l['object'],'impack':l['impack']!==![]})):c['map'](l=>({'object':l['guard'],'impack':!![]})),h=(l,m,n)=>({'identifier':l,'name':'','b_submission':!![],'value_type':n,'value':m});if(e['status']==='bound'){const l={'type':'submission','guard':f,'submission':c['map'](m=>({'guard':m['guard'],'submission':(Array['isArray'](m['submission'])?m['submission']:[])['map'](n=>{const o=Number(n?.['identifier']);return o===ARB_CASE_SLOT?h(ARB_CASE_SLOT,e['caseAddr'],'Address'):h(o,a['orderAddr'],'Address');})}))};return{'kind':'filled','submission':l,'note':'ARBITRATION\x20SLOT-1\x20AUTO-RESOLVE:\x20the\x20\x22'+String(a['forwardName'])+'\x22\x20rail\x20consumes\x20the\x20Arb\x20CASE\x20address\x20in\x20'+('submission\x20slot\x20'+ARB_CASE_SLOT+'\x20—\x20resolved\x20from\x20the\x20order\x27s\x20on-chain\x20binding\x20('+e['via']+')\x20to\x20')+(e['caseAddr']+';\x20slot\x20'+ORDER_SLOT+'\x20=\x20the\x20order.\x20The\x20forward\x20was\x20re-driven\x20in-process\x20(the\x20echo\x20probe\x20')+'executed\x20nothing).'};}if(e['status']==='unbound'){const m=e['disputesFiled']>0x0?'\x20'+e['disputesFiled']+'\x20dispute\x20record(s)\x20are\x20filed,\x20but\x20NO\x20case\x20pointer\x20is\x20stamped\x20on\x20the\x20order\x20—\x20the\x20rails\x20read\x20the\x20pointer,\x20not\x20the\x20records.':'';return{'kind':'blocked','note':'FILE\x20DISPUTE\x20FIRST:\x20the\x20\x22'+String(a['forwardName'])+'\x22\x20rail\x20consumes\x20the\x20Arb\x20CASE\x20address\x20in\x20submission\x20'+('slot\x20'+ARB_CASE_SLOT+',\x20but\x20this\x20order\x20has\x20NO\x20arbitration\x20case\x20binding\x20on-chain.'+m+'\x20')+'File\x20it,\x20then\x20re-drive\x20this\x20forward:\x20{\x20operation_type:\x20\x27arbitration\x27,\x20data:\x20{\x20object:\x20\x27<ARBITRATION\x20VENUE>\x27,\x20'+'dispute:\x20{\x20order:\x20\x27<ORDER>\x27,\x20description:\x20\x27<non-empty>\x27,\x20proposition:\x20[\x27<claim>\x27],\x20fee:\x20{\x20balance:\x20<amount>\x20}\x20}\x20}\x20}.\x20'+'Refusing\x20to\x20guess\x20a\x20case\x20address\x20(a\x20zero/placeholder\x20value\x20would\x20only\x20burn\x20the\x20transaction\x20on\x20a\x20failed\x20guard).'};}return{'kind':'soft','note':'ARBITRATION\x20SLOT-1\x20NOTE:\x20the\x20\x22'+String(a['forwardName'])+'\x22\x20rail\x20consumes\x20the\x20Arb\x20CASE\x20address\x20in\x20submission\x20'+('slot\x20'+ARB_CASE_SLOT+';\x20the\x20order\x27s\x20binding\x20could\x20not\x20be\x20read\x20right\x20now\x20—\x20supply\x20the\x20case\x20address\x20explicitly\x20')+('(slot\x20'+ARB_CASE_SLOT+')\x20in\x20the\x20submission\x20envelope\x20below.\x20Never\x20use\x20a\x20placeholder\x20address.')};}export const CONCLUDE_THEN_DRIVE_NOTE='CONCLUDE-THEN-DRIVE\x20(K3\x20D6):\x20the\x20machine\x27s\x20arbitration\x20rails\x20read\x20the\x20ORDER\x27s\x20case\x20pointer,\x20which\x20the\x20case\x20'+'conclusion\x20stamps.\x20Conclude\x20the\x20Arb\x20case\x20FIRST\x20—\x20a\x20paid\x20award\x20via\x20arb_claim_compensation,\x20a\x20zero-award\x20'+'dismissal\x20via\x20arb_case_conclude\x20—\x20and\x20ONLY\x20THEN\x20drive\x20the\x20machine\x20arbitration\x20rail\x20(ArbRefund\x20/\x20'+'ResumeAfterDismissal\x20family).\x20Driving\x20the\x20rail\x20against\x20an\x20unconcluded\x20case\x20reads\x20stale\x20state\x20and\x20re-parks\x20'+'the\x20order.';export const ARB_CASE_STATUS_NAMES=['Principal_confirming','Arbitrator_confirming','Voting','Arbitrated','Objectionable','Finished','Withdrawn'];export function arbCaseStatusLabel(a){const b=typeof a==='number'?a:Number['isFinite'](Number(a))?Number(a):NaN;if(!Number['isInteger'](b)||b<0x0||b>=ARB_CASE_STATUS_NAMES['length'])return undefined;return ARB_CASE_STATUS_NAMES[b];}export async function buildDisputeReceipt(a){try{const b=await resolveArbCaseBinding(a['orderAddr'],a['network']);if(b['status']!=='bound')return undefined;const c=await arbFaceDeps()['readObjects']([b['caseAddr']],a['network']),d=(c??[])['find'](j=>j?.['type']==='Arb')??c?.[0x0],e=d?.['data']??d,f=e&&Number['isFinite'](Number(e?.['status']))?Number(e['status']):undefined,g=arbCaseStatusLabel(f),h=['arbitrator\x20confirms\x20the\x20materials\x20({operation_type:\x27arbitration\x27,\x20data:{object:\x27<VENUE>\x27,\x20confirm:{arb:\x27<CASE>\x27,\x20voting_deadline:null}}})\x20→\x20Voting','panel\x20votes\x20({...\x20vote:{arb:\x27<CASE>\x27,\x20votes:[<indices>]}})','verdict\x20({...\x20arbitration:{arb:\x27<CASE>\x27,\x20feedback:\x27...\x27,\x20indemnity:<0|amount>}})','conclude\x20the\x20case\x20on\x20the\x20order\x20—\x20paid\x20award\x20→\x20order.arb_claim_compensation,\x20zero-award\x20dismissal\x20→\x20order.arb_case_conclude','ONLY\x20THEN\x20drive\x20the\x20machine\x20arbitration\x20rail\x20(ArbRefund\x20/\x20ResumeAfterDismissal)\x20—\x20conclude-then-drive'],i='DISPUTE\x20FILED\x20—\x20case\x20'+b['caseAddr']+'\x20bound\x20to\x20order\x20'+a['orderRef']+',\x20status\x20'+(''+(f??'?')+(g?'\x20('+g+')':'')+'.\x20LIFECYCLE\x20(do\x20the\x20steps\x20IN\x20ORDER):\x20')+h['map']((j,k)=>'('+(k+0x1)+')\x20'+j)['join']('\x20→\x20')+'.';return{'case_addr':b['caseAddr'],'order':a['orderRef'],'status':f,'status_name':g,'next_steps':h,'text':i};}catch{return undefined;}}