@wowok/agent-mcp 3.4.4 → 3.4.5

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 (191) hide show
  1. package/dist/.build-stamp.json +3 -3
  2. package/dist/chain-semantics/composition-truth.js +1 -1
  3. package/dist/composition/audit.js +1 -1
  4. package/dist/composition/compile.js +1 -1
  5. package/dist/composition/emit-phases.js +1 -1
  6. package/dist/composition/guard-fill.js +1 -1
  7. package/dist/composition/input-normalize.js +1 -1
  8. package/dist/composition/materialize.js +1 -1
  9. package/dist/composition/mode-gates.js +1 -1
  10. package/dist/composition/param-disclosure.js +1 -1
  11. package/dist/composition/plan-run-store.js +1 -0
  12. package/dist/composition/reflux.js +1 -1
  13. package/dist/composition/role-bindings.js +1 -0
  14. package/dist/composition/shape-expand.js +1 -1
  15. package/dist/composition/supply-chain-emit.js +1 -1
  16. package/dist/config/judgment.d.ts +13 -25
  17. package/dist/config/judgment.js +1 -1
  18. package/dist/config/match-policy-file.js +1 -1
  19. package/dist/config/rule-engine.d.ts +4 -10
  20. package/dist/config/rule-engine.js +1 -1
  21. package/dist/config/template-params.js +1 -1
  22. package/dist/evaluation/engine.js +1 -1
  23. package/dist/experience/realtime-feedback.js +1 -1
  24. package/dist/extensions/capability.js +1 -1
  25. package/dist/graph/onchain/expand.js +1 -1
  26. package/dist/graph/onchain/exposure.js +1 -1
  27. package/dist/harness/forward-roster-preflight.js +1 -0
  28. package/dist/keeper/detectors.js +1 -1
  29. package/dist/knowledge/allocator-rail-verifier.js +1 -1
  30. package/dist/knowledge/arb-operation-face.js +1 -1
  31. package/dist/knowledge/arbitration-rail-verifier.js +1 -1
  32. package/dist/knowledge/audit-rules.d.ts +17 -1
  33. package/dist/knowledge/audit-rules.js +1 -1
  34. package/dist/knowledge/baselines/rules/alloc_audit.json.good.sha256 +1 -0
  35. package/dist/knowledge/baselines/rules/allocation.json.good.sha256 +1 -0
  36. package/dist/knowledge/baselines/rules/arb.json.good.sha256 +1 -0
  37. package/dist/knowledge/baselines/rules/arbitration.json.good.sha256 +1 -0
  38. package/dist/knowledge/baselines/rules/bridge.json.good.sha256 +1 -0
  39. package/dist/knowledge/baselines/rules/contact.json.good.sha256 +1 -0
  40. package/dist/knowledge/baselines/rules/demand.json.good.sha256 +1 -0
  41. package/dist/knowledge/baselines/rules/graph.json.good.sha256 +1 -0
  42. package/dist/knowledge/baselines/rules/guard.json.good.sha256 +1 -0
  43. package/dist/knowledge/baselines/rules/machine.json.good.sha256 +1 -0
  44. package/dist/knowledge/baselines/rules/oracle.json.good.sha256 +1 -0
  45. package/dist/knowledge/baselines/rules/order.json.good.sha256 +1 -0
  46. package/dist/knowledge/baselines/rules/payment.json.good.sha256 +1 -0
  47. package/dist/knowledge/baselines/rules/permission.json.good.sha256 +1 -0
  48. package/dist/knowledge/baselines/rules/personal.json.good.sha256 +1 -0
  49. package/dist/knowledge/baselines/rules/plan.json +153 -33
  50. package/dist/knowledge/baselines/rules/plan.json.good +153 -33
  51. package/dist/knowledge/baselines/rules/plan.json.good.sha256 +1 -0
  52. package/dist/knowledge/baselines/rules/progress.json.good.sha256 +1 -0
  53. package/dist/knowledge/baselines/rules/proof.json.good.sha256 +1 -0
  54. package/dist/knowledge/baselines/rules/registrar.json.good.sha256 +1 -0
  55. package/dist/knowledge/baselines/rules/repository.json.good.sha256 +1 -0
  56. package/dist/knowledge/baselines/rules/resource.json.good.sha256 +1 -0
  57. package/dist/knowledge/baselines/rules/reward.json.good.sha256 +1 -0
  58. package/dist/knowledge/baselines/rules/service.json.good.sha256 +1 -0
  59. package/dist/knowledge/baselines/rules/treasury.json.good.sha256 +1 -0
  60. package/dist/knowledge/baselines/rules/util.json.good.sha256 +1 -0
  61. package/dist/knowledge/builtin-templates.d.ts +1 -1
  62. package/dist/knowledge/builtin-templates.js +1 -1
  63. package/dist/knowledge/discount-threshold.js +1 -1
  64. package/dist/knowledge/fee-param-bindings.js +1 -1
  65. package/dist/knowledge/getting-started.js +1 -1
  66. package/dist/knowledge/guard-binding-table.js +1 -1
  67. package/dist/knowledge/guard-design-patterns.js +1 -1
  68. package/dist/knowledge/guard-templates.d.ts +3 -2
  69. package/dist/knowledge/guard-templates.js +1 -1
  70. package/dist/knowledge/index.js +1 -1
  71. package/dist/knowledge/industry-registry.js +1 -1
  72. package/dist/knowledge/jsonrpc-enum.js +1 -1
  73. package/dist/knowledge/knob-docs.js +1 -1
  74. package/dist/knowledge/machine-topology.js +1 -1
  75. package/dist/knowledge/param-schema.js +1 -1
  76. package/dist/knowledge/param-tiers.js +1 -1
  77. package/dist/knowledge/path-oracle/products/alibaba-1688.js +1 -1
  78. package/dist/knowledge/path-oracle/products/amazon.js +1 -1
  79. package/dist/knowledge/path-oracle/products/booking-com.js +1 -1
  80. package/dist/knowledge/path-oracle/products/contra.js +1 -1
  81. package/dist/knowledge/path-oracle/products/costco.js +1 -1
  82. package/dist/knowledge/path-oracle/products/duoduo-maicai.js +1 -1
  83. package/dist/knowledge/path-oracle/products/etsy.js +1 -1
  84. package/dist/knowledge/path-oracle/products/gamefound.js +1 -1
  85. package/dist/knowledge/path-oracle/products/gofundme.js +1 -1
  86. package/dist/knowledge/path-oracle/products/klook.js +1 -1
  87. package/dist/knowledge/path-oracle/products/ninety-nine-designs.js +1 -1
  88. package/dist/knowledge/path-oracle/products/pinduoduo-kuaituantuan.js +1 -1
  89. package/dist/knowledge/path-oracle/products/shansong.js +1 -1
  90. package/dist/knowledge/path-oracle/products/taobao-presale.js +1 -1
  91. package/dist/knowledge/path-oracle/products/upwork-catalog.js +1 -1
  92. package/dist/knowledge/path-oracle/products/upwork.js +1 -1
  93. package/dist/knowledge/pattern-resolutions.js +1 -1
  94. package/dist/knowledge/protocol-facts.js +1 -1
  95. package/dist/knowledge/publish-gate.js +1 -1
  96. package/dist/knowledge/publish-surface-contract.js +1 -1
  97. package/dist/knowledge/template-loader.js +1 -1
  98. package/dist/knowledge/template-registry.js +1 -1
  99. package/dist/knowledge/template-scanner.js +1 -1
  100. package/dist/knowledge/time-units.js +1 -0
  101. package/dist/knowledge/tools-reference.js +1 -1
  102. package/dist/knowledge/workflow-guidance.js +1 -1
  103. package/dist/monitor/MonitorLoop.js +1 -1
  104. package/dist/participation/radar-core.js +1 -1
  105. package/dist/playbooks/service-build/business-puzzle.js +1 -1
  106. package/dist/playbooks/service-build/machine-panorama.js +1 -1
  107. package/dist/playbooks/service-build/merchant-guide.js +1 -1
  108. package/dist/playbooks/service-build/migration-planner.js +1 -1
  109. package/dist/playbooks/service-build/object-panorama.js +1 -1
  110. package/dist/playbooks/service-build/participation-radar.js +1 -1
  111. package/dist/playbooks/service-build/relationship-profile.js +1 -1
  112. package/dist/playbooks/service-build/service-panorama.js +1 -1
  113. package/dist/playbooks/service-build/service-quote.js +1 -1
  114. package/dist/review/index.js +1 -1
  115. package/dist/safety/confirm-gate.js +1 -1
  116. package/dist/schema/benchmark-migration/index.d.ts +110 -2
  117. package/dist/schema/benchmark-migration/index.js +1 -1
  118. package/dist/schema/boundary-coercion.js +1 -0
  119. package/dist/schema/call/arbitration.js +1 -1
  120. package/dist/schema/call/base.js +1 -1
  121. package/dist/schema/call/handler.js +1 -1
  122. package/dist/schema/call/machine.d.ts +56 -8
  123. package/dist/schema/call/order.d.ts +37 -10
  124. package/dist/schema/call/order.js +1 -1
  125. package/dist/schema/call/permission.d.ts +210 -30
  126. package/dist/schema/call/personal.d.ts +56 -8
  127. package/dist/schema/call/progress.d.ts +28 -4
  128. package/dist/schema/call/semantic.js +1 -1
  129. package/dist/schema/call/service.d.ts +84 -12
  130. package/dist/schema/common/index.d.ts +14 -2
  131. package/dist/schema/common/index.js +1 -1
  132. package/dist/schema/evaluation/index.js +1 -1
  133. package/dist/schema/goal/index.d.ts +1 -1
  134. package/dist/schema/goal/planning.js +1 -1
  135. package/dist/schema/local/index.js +1 -1
  136. package/dist/schema/messenger/index.d.ts +168 -24
  137. package/dist/schema/messenger/index.js +1 -1
  138. package/dist/schema/operations.d.ts +655 -22
  139. package/dist/schema/operations.js +1 -1
  140. package/dist/schema/persona/index.d.ts +22 -110
  141. package/dist/schema/query/index.js +1 -1
  142. package/dist/schema/schema-version.js +1 -1
  143. package/dist/schema/workflow/index.d.ts +4 -0
  144. package/dist/schema/workflow/index.js +1 -1
  145. package/dist/schema-query-impl/index.js +1 -1
  146. package/dist/schemas/benchmark_migration_operation.schema.json +1 -1
  147. package/dist/schemas/evaluation_operation.schema.json +1 -1
  148. package/dist/schemas/goal_operation.schema.json +1 -1
  149. package/dist/schemas/guard_rebind_replacement.schema.json +1 -0
  150. package/dist/schemas/index.json +1 -1
  151. package/dist/schemas/messenger_operation.schema.json +1 -1
  152. package/dist/schemas/onchain_operations.schema.json +1 -1
  153. package/dist/schemas/onchain_operations_allocation.schema.json +1 -1
  154. package/dist/schemas/onchain_operations_arbitration.schema.json +1 -1
  155. package/dist/schemas/onchain_operations_contact.schema.json +1 -1
  156. package/dist/schemas/onchain_operations_demand.schema.json +1 -1
  157. package/dist/schemas/onchain_operations_gen_passport.schema.json +1 -1
  158. package/dist/schemas/onchain_operations_machine.schema.json +1 -1
  159. package/dist/schemas/onchain_operations_order.schema.json +1 -1
  160. package/dist/schemas/onchain_operations_permission.schema.json +1 -1
  161. package/dist/schemas/onchain_operations_personal.schema.json +1 -1
  162. package/dist/schemas/onchain_operations_progress.schema.json +1 -1
  163. package/dist/schemas/onchain_operations_proof.schema.json +1 -1
  164. package/dist/schemas/onchain_operations_repository.schema.json +1 -1
  165. package/dist/schemas/onchain_operations_reward.schema.json +1 -1
  166. package/dist/schemas/onchain_operations_service.schema.json +1 -1
  167. package/dist/schemas/onchain_operations_treasury.schema.json +1 -1
  168. package/dist/schemas/persona_operation.schema.json +1 -1
  169. package/dist/schemas/time_convert.schema.json +1 -0
  170. package/dist/schemas/wip_file.schema.json +1 -1
  171. package/dist/schemas/workflow_operation.schema.json +1 -1
  172. package/dist/tools/handlers/benchmark-migration.js +1 -1
  173. package/dist/tools/handlers/config.js +1 -1
  174. package/dist/tools/handlers/fund-rail-recipe.js +1 -1
  175. package/dist/tools/handlers/guard-rebind-replacement.js +1 -0
  176. package/dist/tools/handlers/local.js +1 -1
  177. package/dist/tools/handlers/mark-namespace.js +1 -1
  178. package/dist/tools/handlers/onchain.js +1 -1
  179. package/dist/tools/handlers/query.js +1 -1
  180. package/dist/tools/handlers/settle-sweep.js +1 -1
  181. package/dist/tools/handlers/time-convert.js +1 -0
  182. package/dist/tools/handlers/wip.js +1 -1
  183. package/dist/tools/handlers/workflow.js +1 -1
  184. package/dist/tools/index.d.ts +1 -0
  185. package/dist/tools/index.js +1 -1
  186. package/dist/tools/registry/business.js +1 -1
  187. package/dist/tools/registry/local.js +1 -1
  188. package/dist/tools/registry/onchain.js +1 -1
  189. package/dist/tools/wip-verify-ledger.js +1 -1
  190. package/dist/tools/wrap.js +1 -1
  191. package/package.json +6 -5
@@ -1 +1 @@
1
- export const AMAZON_ORACLE={'productRef':'amazon','products':['amazon','taobao-tmall-open-market','jd-pop'],'oracleVersion':'1.0.0','steps':[{'id':'M1','class':'offchain','name':'Browse,\x20compare\x20listings\x20and\x20fight\x20for\x20the\x20Buy\x20Box\x20(search/Buy-Box\x20economics)','actor':'buyer','precondition':[],'onchain':'not_applicable','commercialSemantics':'Search\x20ranking,\x20Buy\x20Box\x20competition\x20and\x20ad\x20placement\x20are\x20pure\x20platform\x20acts.\x20No\x20order\x20object\x20exists\x20yet,\x20so\x20the\x20chain\x20is\x20definitionally\x20silent.','evidence':[]},{'id':'M2','class':'offchain','name':'Add\x20to\x20cart\x20and\x20express\x20checkout\x20intent','actor':'buyer','precondition':['M1'],'onchain':'not_applicable','commercialSemantics':'Cart\x20assembly\x20and\x20checkout\x20intent\x20live\x20in\x20the\x20storefront;\x20the\x20chain\x20story\x20starts\x20only\x20at\x20the\x20buy()\x20escrow.','evidence':[]},{'id':'M5','class':'offchain','name':'Carrier\x20transit\x20between\x20the\x20ship\x20scan\x20and\x20the\x20delivery\x20scan','actor':'keeper','precondition':['M4'],'onchain':'not_applicable','commercialSemantics':'Carrier\x20movement\x20is\x20off-chain;\x20only\x20the\x20write-once\x20tracking\x20evidence\x20row\x20(ship)\x20and\x20the\x20delivery\x20anchor\x20exist\x20on\x20chain.','evidence':[]},{'id':'M3','class':'main','name':'Buy:\x20one-shot\x20full-amount\x20escrow\x20(dual-path\x20gate)','actor':'buyer','precondition':['M2'],'onchain':'expressible','chainFootprint':{'node':'paid','forward':'Enter','prev':'','identity':'order_holder','moneyEffect':'escrow_in'},'commercialSemantics':'No\x20deposit\x20stage\x20—\x20the\x20whole\x20price\x20is\x20escrowed\x20atomically.\x20The\x20buy\x20gate\x20is\x20dual-path\x20(password\x20or\x20passport)\x20and\x20fails\x20closed\x20for\x20unproven\x20buyers.','evidence':[{'file':'order.move','line':0x41,'pattern':'public\x20struct\x20Order'}]},{'id':'M4','class':'main','name':'Seller\x20ships\x20(tracking\x20evidence,\x20optional\x20enforced\x20variant)','actor':'merchant','precondition':['M3'],'onchain':'expressible','chainFootprint':{'node':'shipped','forward':'Ship','prev':'paid','identity':'permission_index','moneyEffect':'none'},'guardKeyProbe':'ship_enforced','commercialSemantics':'Twin\x20ship\x20edges\x20mount\x20from\x20one\x20guard\x20template:\x20plain\x20ship,\x20or\x20ship_enforced\x20when\x20required-info\x20enforcement\x20demands\x20a\x20tracking\x20row\x20(write-once\x20evidence\x20policy\x20per\x20kind).\x20FTC-style\x20ship-by\x20deadlines\x20are\x20NOT\x20encoded\x20(see\x20INV-AMZ-4).','evidence':[{'file':'repository.move','line':0xa9,'pattern':'write_once:\x20bool'}]},{'id':'M6','class':'main','name':'Buyer\x20confirms\x20delivery','actor':'buyer','precondition':['M5'],'onchain':'expressible','chainFootprint':{'node':'delivered','forward':'ConfirmDelivery','prev':'shipped','identity':'order_holder','moneyEffect':'none'},'guardKeyProbe':'deliver_confirm','commercialSemantics':'Buyer-side\x20confirmation\x20starts\x20the\x20post-delivery\x20clock\x20stack\x20(review\x20window,\x20return\x20window,\x20claim\x20window).','evidence':[]},{'id':'M7','class':'main','name':'Keeper\x20auto-confirms\x20a\x20silent\x20buyer','actor':'keeper','precondition':['M5'],'onchain':'expressible','chainFootprint':{'node':'delivered','forward':'AutoConfirmDelivery','prev':'shipped','identity':'permission_index','moneyEffect':'none'},'guardKeyProbe':'deliver_confirm_timeout','commercialSemantics':'auto_confirm_days\x20(7)\x20after\x20shipment\x20the\x20keeper\x20advances\x20a\x20silent\x20buyer\x27s\x20order\x20so\x20escrow\x20cannot\x20be\x20held\x20hostage\x20by\x20inaction.','evidence':[]},{'id':'M8','class':'post','name':'Buyer\x20writes\x20an\x20optional,\x20rewarded\x20review\x20(write-once)','actor':'buyer','precondition':['M6'],'onchain':'expressible','chainFootprint':{'node':'reviewed','forward':'Review','prev':'delivered','identity':'order_holder','moneyEffect':'reward'},'guardKeyProbe':'review_window','commercialSemantics':'Optional\x20review\x20inside\x20review_window_days;\x20the\x20review\x20is\x20write-once\x20(repository\x20policy\x20assert)\x20and\x20may\x20anchor\x20a\x20reward\x20claim\x20against\x20the\x20review\x20pool.','evidence':[{'file':'repository.move','line':0x223,'pattern':'E_POLICY_WRITE_ONCE_CONFLICT'}]},{'id':'M9','class':'main','name':'Keeper\x20opens\x20the\x20serial\x20claim\x20window','actor':'keeper','precondition':['M6'],'onchain':'expressible','chainFootprint':{'node':'claim_window','forward':'OpenClaimWindow','prev':'delivered','identity':'permission_index','moneyEffect':'none'},'commercialSemantics':'A-to-z-style\x20serial\x20claim\x20stage:\x20bare\x20keeper\x20permission\x20(1002),\x20no\x20timeout\x20—\x20a\x20claim\x20window\x20that\x20never\x20closes\x20is\x20never\x20missed.\x20A\x20sibling\x20mount\x20opens\x20it\x20from\x20reviewed.','evidence':[{'file':'order.move','line':0xa1,'pattern':'public\x20fun\x20has_open_dispute'}]},{'id':'M10','class':'post','name':'Settle\x20after\x20the\x20claim\x20window\x20(state-freeze\x20gate)','actor':'keeper','precondition':['M9'],'onchain':'expressible','chainFootprint':{'node':'completed','forward':'SettleAfterWindow','prev':'claim_window','identity':'permission_index','moneyEffect':'release'},'guardKeyProbe':'settle_window_gate','commercialSemantics':'The\x20settlement\x20gate\x20freezes\x20state\x20and\x20re-checks\x20for\x20open\x20disputes\x20before\x20releasing\x20escrow\x20minus\x20reserve\x20and\x20referral\x20accounting.','evidence':[]},{'id':'E1','class':'exception','name':'Buyer\x20cancels\x20before\x20shipment\x20(full\x20refund)','actor':'buyer','precondition':['M3'],'onchain':'expressible','chainFootprint':{'node':'closed_cancel','forward':'CancelBeforePayment','prev':'paid','identity':'order_holder','moneyEffect':'refund'},'guardKeyProbe':'cancel_from_paid','commercialSemantics':'Buyer\x20remorse-cancel\x20while\x20unshipped:\x20full\x20instant\x20refund,\x20no\x20seller\x20consent\x20needed.','evidence':[]},{'id':'E2','class':'exception','name':'Cancel\x20after\x20ship\x20but\x20before\x20delivery\x20confirmation','actor':'buyer','precondition':['M4'],'onchain':'expressible','chainFootprint':{'node':'closed_cancel','forward':'CancelBeforeShipment','prev':'shipped','identity':'order_holder','moneyEffect':'refund'},'guardKeyProbe':'cancel_from_shipped','commercialSemantics':'The\x20template\x20mounts\x20the\x20pre-delivery\x20cancel\x20edge\x20on\x20shipped.\x20The\x20real\x20product\x27s\x2030-minute\x20pre-ship\x20window\x20collapses\x20into\x20this\x20rail\x20plus\x20the\x20account-level\x20late-shipment\x20metric.','evidence':[]},{'id':'E3','class':'exception','name':'Platform\x20/\x20out-of-stock\x20force-cancel\x20(seller-metric\x20penalty)','actor':'keeper','precondition':['M3'],'onchain':'expressible_with_gap','chainFootprint':{'node':'closed_cancel','forward':'CancelOrder','prev':'paid','moneyEffect':'refund'},'gapPredicate':{'probe':'out.of.stock|platform\x20cancel|force.cancel'},'commercialSemantics':'Real\x20product:\x20the\x20platform\x20cancels\x20out-of-stock\x20orders\x20and\x20charges\x20the\x20seller\x27s\x20cancel-rate\x20metric.\x20The\x20shipped\x20shape\x20has\x20NO\x20platform-actor\x20cancel\x20edge\x20from\x20paid/shipped\x20—\x20CancelOrder\x20only\x20departs\x20return_requested.\x20The\x20per-order\x20money\x20path\x20a\x20buyer\x20always\x20retains\x20is\x20CancelBeforePayment;\x20OOS\x20governance\x20is\x20account-level\x20and\x20off-chain.\x20Standing\x20gap,\x20reported\x20not\x20fixed.','evidence':[]},{'id':'E4','class':'exception','name':'Buyer\x20refuses\x20the\x20parcel\x20before\x20the\x20delivery\x20scan','actor':'buyer','precondition':['M4'],'onchain':'expressible','chainFootprint':{'node':'return_requested','forward':'RequestReturnBeforeDelivery','prev':'shipped','identity':'order_holder','moneyEffect':'none'},'guardKeyProbe':'return_request_pre_delivery','commercialSemantics':'Refuse-the-parcel\x20opens\x20the\x20return\x20rail\x20before\x20any\x20delivery\x20anchor\x20exists.','evidence':[]},{'id':'E5','class':'exception','name':'Buyer\x20requests\x20a\x20return\x20inside\x20the\x20window','actor':'buyer','precondition':['M6'],'onchain':'expressible','chainFootprint':{'node':'return_requested','forward':'RequestReturn','prev':'delivered','identity':'order_holder','moneyEffect':'none'},'guardKeyProbe':'return_window','commercialSemantics':'return_window_days\x20(30)\x20from\x20delivered\x20(sibling\x20mount\x20from\x20reviewed).\x20Jurisdictional\x20floor\x20alignment\x20is\x20a\x20standing\x20invariant\x20(INV-AMZ-2),\x20not\x20a\x20per-step\x20check.','evidence':[]},{'id':'E6','class':'exception','name':'Seller\x20misses\x20the\x20return-response\x20SLA\x20(auto-approve\x20on\x20real\x20product)','actor':'merchant','precondition':['E5'],'onchain':'disclosure_only','disclosureProbe':'(seller|merchant)[^\x22]{0,40}(approve|reject|respond|48|24)','commercialSemantics':'Real\x20product:\x20the\x20seller\x20must\x20respond\x20to\x20a\x20return\x20request\x20inside\x20a\x20tight\x20SLA\x20or\x20it\x20auto-approves.\x20The\x20template\x20discloses\x20NO\x20seller\x20response\x20SLA\x20on\x20the\x20request\x20—\x20only\x20the\x20receipt-side\x20timeout\x20(E8)\x20and\x20the\x20arbitration\x20escalation\x20(E28)\x20exist.\x20A\x20time_lock\x20\x27seller-silent\x20->\x20case-openable\x27\x20edge\x20is\x20emittable\x20but\x20not\x20shipped\x20(FIX-EDGE\x20candidate).','evidence':[]},{'id':'E7','class':'exception','name':'Buyer\x20ships\x20the\x20return\x20back\x20(mid-leg\x20waypoint)','actor':'buyer','precondition':['E5'],'onchain':'expressible','chainFootprint':{'node':'return_in_transit','forward':'ShipReturn','prev':'return_requested','identity':'order_holder','moneyEffect':'none'},'guardKeyProbe':'return_shipped','commercialSemantics':'Buyer\x20declares\x20the\x20return\x20parcel\x20shipped\x20(TPL-10\x20mid-leg\x20granularity).','evidence':[]},{'id':'E8','class':'exception','name':'Return\x20receipt\x20confirmed\x20or\x20deemed\x20(timeout\x20twin\x20rails)','actor':'merchant','precondition':['E7'],'onchain':'expressible','chainFootprint':{'node':'returned','moneyEffect':'none'},'guardKeyProbe':'return_received|return_response_timeout','commercialSemantics':'Twin\x20rails\x20into\x20returned:\x20the\x20merchant\x20confirms\x20receipt\x20(return_received)\x20or\x20the\x20keeper\x20deems\x20receipt\x20after\x20return_response_days\x20(7)\x20so\x20a\x20silent\x20merchant\x20cannot\x20hold\x20the\x20refund\x20hostage.','evidence':[]},{'id':'E9','class':'exception','name':'Refund\x20executed\x20to\x20the\x20buyer\x20(record\x20waypoint)','actor':'keeper','precondition':['E8'],'onchain':'expressible','chainFootprint':{'node':'refunded','forward':'RefundExecuted','prev':'returned','identity':'permission_index','moneyEffect':'refund'},'guardKeyProbe':'refund_executed','commercialSemantics':'Keeper\x20executes\x20the\x20refund\x20rail\x20after\x20receipt;\x20the\x20refunded\x20node\x20is\x20the\x20machine-side\x20receipt\x20of\x20an\x20allocation-rail\x20payment.','evidence':[]},{'id':'E10','class':'exception','name':'Parcel\x20lost\x20in\x20transit\x20(evidence-backed\x20loss\x20record)','actor':'merchant','precondition':['M4'],'onchain':'expressible','chainFootprint':{'node':'item_lost','forward':'RecordLost','prev':'shipped','identity':'permission_index','moneyEffect':'none'},'guardKeyProbe':'lost_evidence','commercialSemantics':'Merchant\x20records\x20the\x20parcel\x20lost\x20with\x20evidence\x20(write-once\x20lost-evidence\x20row).','evidence':[]},{'id':'E11','class':'exception','name':'Buyer\x20exits\x20with\x20refund\x20after\x20the\x20loss\x20record','actor':'buyer','precondition':['E10'],'onchain':'expressible','chainFootprint':{'node':'closed_cancel','forward':'RefundAfterLoss','prev':'item_lost','identity':'order_holder','moneyEffect':'refund'},'guardKeyProbe':'lost_refund','commercialSemantics':'Buyer\x20exits\x20with\x20full\x20refund\x20once\x20the\x20loss\x20record\x20exists\x20—\x20the\x20carrier\x20claim\x20itself\x20stays\x20off-chain.','evidence':[]},{'id':'E12','class':'exception','name':'Short\x20shipment\x20/\x20wrong\x20item\x20dispute','actor':'buyer','precondition':['M6'],'onchain':'expressible_with_gap','chainFootprint':{'node':'claim_filed','forward':'FileDispute','prev':'claim_window','identity':'order_holder','moneyEffect':'none'},'guardKeyProbe':'claim_filed','gapPredicate':{'probe':'PARTIAL\x20SHIPMENT|ShippedBatch|no\x20per-item\x20SKU\x20ledger'},'commercialSemantics':'Short/wrong-item\x20claims\x20ride\x20the\x20claim\x20rail;\x20the\x20gap\x20is\x20disclosed:\x20one\x20ShippedBatch\x20forward\x20per\x20parcel\x20with\x20its\x20own\x20evidence\x20row\x20—\x20the\x20machine\x20has\x20no\x20per-item\x20SKU\x20ledger,\x20so\x20partial\x20deliveries\x20surface\x20as\x20parcel-level\x20timeline\x20events,\x20never\x20per-item\x20disputes.','evidence':[]},{'id':'E13','class':'exception','name':'Item\x20damaged\x20on\x20arrival','actor':'buyer','precondition':['M6'],'onchain':'expressible_with_gap','chainFootprint':{'node':'claim_filed','forward':'FileDispute','prev':'claim_window','identity':'order_holder','moneyEffect':'none'},'gapPredicate':{'probe':'damaged|defective|broken\x20on\x20arrival'},'commercialSemantics':'Damaged-on-arrival\x20claims\x20ride\x20the\x20same\x20claim/arb\x20rail,\x20but\x20the\x20builder\x20corpus\x20contains\x20no\x20damaged-goods\x20disclosure\x20at\x20all\x20—\x20standing\x20disclosure\x20gap\x20(reported,\x20not\x20fixed).','evidence':[]},{'id':'E14','class':'exception','name':'Counterfeit\x20/\x20not-as-described\x20claim','actor':'buyer','precondition':['M6'],'onchain':'expressible_with_gap','chainFootprint':{'node':'claim_filed','forward':'FileDispute','prev':'claim_window','identity':'order_holder','moneyEffect':'none'},'gapPredicate':{'probe':'counterfeit|fake|authenticity'},'commercialSemantics':'Counterfeit\x20claims\x20ride\x20the\x20claim/arb\x20rail\x20with\x20WTS\x20evidence;\x20the\x20corpus\x20does\x20not\x20disclose\x20a\x20counterfeit-specific\x20policy\x20(authenticity-proof\x20language\x20lives\x20in\x20the\x20wiki,\x20not\x20the\x20shipped\x20disclosure\x20fields).','evidence':[]},{'id':'E15','class':'exception','name':'Seller\x20ships\x20late\x20beyond\x20the\x20SLA','actor':'merchant','precondition':['M3'],'onchain':'disclosure_only','disclosureProbe':'(late|overdue|expected)[^\x22]{0,20}ship|ship[^\x22]{0,20}(late|overdue|deadline)','commercialSemantics':'FTC/EU\x20late-ship\x20SLAs\x20(30-day\x20ship-by,\x20EDD)\x20are\x20account-level\x20metrics\x20in\x20the\x20real\x20product.\x20The\x20template\x20discloses\x20NO\x20ship-by\x20deadline\x20anywhere\x20—\x20only\x20ship\x20evidence\x20gating.\x20Text-only\x20statutory\x20exposure\x20(INV-AMZ-4).','evidence':[]},{'id':'E16','class':'exception','name':'Buyer\x20files\x20a\x20dispute\x20inside\x20the\x20claim\x20window','actor':'buyer','precondition':['M9'],'onchain':'expressible','chainFootprint':{'node':'claim_filed','forward':'FileDispute','prev':'claim_window','identity':'order_holder','moneyEffect':'none'},'guardKeyProbe':'claim_filed','commercialSemantics':'The\x20append-only\x20dispute\x20vector\x20marks\x20a\x20dispute\x20as\x20open\x20and\x20blocks\x20settlement\x20until\x20resolution.','evidence':[{'file':'order.move','line':0xa1,'pattern':'public\x20fun\x20has_open_dispute'}]},{'id':'E17','class':'exception','name':'Buyer\x20withdraws\x20the\x20claim\x20(self-resolve\x20exit)','actor':'buyer','precondition':['E16'],'onchain':'expressible','chainFootprint':{'node':'closed_cancel','forward':'WithdrawClaim','prev':'claim_filed','identity':'order_holder','moneyEffect':'refund'},'guardKeyProbe':'withdraw_claim','commercialSemantics':'CRITICAL\x20(disclosed,\x20live-mainnet):\x20the\x20WithdrawClaim\x20guard\x20is\x20identity-only\x20—\x20replayable,\x20binds\x20no\x20arbitration\x20case,\x20and\x20a\x20withdrawn\x20claim\x20still\x20blocks\x20re-filing\x20because\x20claimed_by\x20stays\x20set.\x20Merchants\x20must\x20treat\x20settlement-after-withdrawal\x20as\x20a\x20manual\x20reconciliation\x20duty.','evidence':[{'file':'order.move','line':0x79,'pattern':'option::is_none(&self.claimed_by)'}]},{'id':'E18','class':'exception','name':'Arbitration\x20case\x20opened\x20on\x20the\x20independent\x20Arb\x20object','actor':'arbitrator','precondition':['E16'],'onchain':'expressible','chainFootprint':{'node':'claim_filed','moneyEffect':'none'},'commercialSemantics':'The\x20case\x20lives\x20on\x20the\x20independent\x20Arbitration\x20object\x20(op\x20permission\x20anchored\x20to\x20the\x20order);\x20the\x20machine-side\x20queryable\x20record\x20is\x20the\x20claim_filed\x20waypoint.','evidence':[{'file':'arbitration.move','line':0x169,'pattern':'assert_op_permission'}]},{'id':'E19','class':'exception','name':'Arbitration\x20rules\x20for\x20the\x20buyer\x20(full-refund\x20exit)','actor':'arbitrator','precondition':['E18'],'onchain':'expressible','chainFootprint':{'node':'closed_cancel','forward':'ArbRefund','prev':'claim_filed','identity':'permission_index','moneyEffect':'refund'},'guardKeyProbe':'arb_refund','commercialSemantics':'A\x20buyer-won\x20ruling\x20fires\x20the\x20full-refund\x20exit\x20from\x20claim_filed\x20straight\x20to\x20closed_cancel,\x20bypassing\x20the\x20return\x20legs.','evidence':[]},{'id':'E20','class':'exception','name':'Arb\x20silence\x20auto-accepts\x20the\x20claim\x20(protocol\x20finality)','actor':'arbitrator','precondition':['E18'],'onchain':'not_applicable','commercialSemantics':'Real\x20product:\x20an\x20unanswered\x20A-to-z\x20claim\x20auto-resolves\x20for\x20the\x20buyer.\x20On\x20chain\x20this\x20is\x20protocol-level\x20arb-object\x20finality\x20(WITHDRAW_DURATION_TIME),\x20not\x20a\x20machine\x20edge\x20—\x20excluded\x20like\x20the\x20shansong\x20pilot\x27s\x20R6.','evidence':[{'file':'arb.move','line':0x10,'pattern':'WITHDRAW_DURATION_TIME'}]},{'id':'E21','class':'exception','name':'Arb\x20party\x20absent\x2048h\x20auto-loses\x20(keeper\x20duty)','actor':'keeper','precondition':['E18'],'onchain':'disclosure_only','disclosureProbe':'48h[^\x22]{0,40}(absen|auto.loss)|absen[^\x22]{0,40}arbitrat','commercialSemantics':'Keeper\x20duty:\x2048h\x20of\x20absence\x20in\x20an\x20open\x20arbitration\x20case\x20auto-loses\x20the\x20absent\x20party\x20—\x20disclosed\x20in\x20keeper_dependencies/keeper_duty.','evidence':[]},{'id':'E22','class':'exception','name':'Review\x20appeal\x20or\x20removal\x20request','actor':'buyer','precondition':['M8'],'onchain':'disclosure_only','disclosureProbe':'(appeal|remove|takedown|report)[^\x22]{0,30}review','commercialSemantics':'Real\x20product:\x20review\x20appeal/removal\x20governance.\x20Template\x20reviews\x20are\x20write-once\x20with\x20no\x20appeal\x20path,\x20and\x20the\x20corpus\x20discloses\x20nothing\x20about\x20review\x20governance\x20—\x20standing\x20FIX-DISCLOSURE\x20gap.','evidence':[]},{'id':'E23','class':'exception','name':'Seller\x20account\x20deactivated,\x20payouts\x20withheld','actor':'keeper','precondition':['M4'],'onchain':'disclosure_only','disclosureProbe':'(deactivat|suspend|delist|withhold)','commercialSemantics':'Real\x20product:\x20account\x20deactivation\x20withholds\x20payouts\x20up\x20to\x2090\x20days.\x20No\x20account-level\x20concept\x20exists\x20on\x20chain\x20and\x20the\x20corpus\x20is\x20silent\x20—\x20per-order\x20reserve/settlement\x20is\x20the\x20only\x20fund-holding\x20surface.','evidence':[]},{'id':'E24','class':'exception','name':'Coupon\x20/\x20promotion\x20mispricing\x20dispute','actor':'merchant','precondition':['M3'],'onchain':'unresolvable','unresolvableRef':'S7','disclosureProbe':'Discount\x20object|coupon|discount','commercialSemantics':'Promotional\x20mispricing\x20has\x20no\x20on-chain\x20pricing\x20oracle;\x20the\x20corpus\x20discloses\x20the\x20discount-object\x20creation\x20step\x20(burned-on-use,\x20budget\x20formula,\x20no\x20dedupe)\x20as\x20the\x20managed\x20surface.','evidence':[]},{'id':'E25','class':'exception','name':'Refund\x20judged\x20but\x20not\x20yet\x20in\x20the\x20bank\x20account','actor':'buyer','precondition':['E9'],'onchain':'disclosure_only','disclosureProbe':'terminal\x20RECORD\x20waypoint|money\x20authority\x20stays\x20the\x20allocation\x20rail','commercialSemantics':'Chain-side\x20the\x20refund\x20fact\x20is\x20final\x20at\x20the\x20rail;\x20the\x20refunded\x20node\x20is\x20explicitly\x20a\x20record\x20waypoint\x20(bank-side\x20timing\x20is\x20off-chain).\x20Disclosed\x20via\x20the\x20refund-leg\x20granularity\x20note.','evidence':[]},{'id':'E26','class':'exception','name':'External\x20chargeback\x20/\x20card-network\x20dispute','actor':'buyer','precondition':['M3'],'onchain':'unresolvable','unresolvableRef':'S9','disclosureProbe':'chargeback|credit\x20card\x20dispute','commercialSemantics':'Card-network\x20chargebacks\x20have\x20no\x20on-chain\x20primitive\x20(S9)\x20and\x20the\x20corpus\x20discloses\x20nothing\x20about\x20them\x20—\x20standing\x20disclosure\x20gap\x20beside\x20the\x2090-day\x20dispute-window\x20duty.','evidence':[]},{'id':'E27','class':'exception','name':'Arb\x20dismisses\x20the\x20claim,\x20order\x20resumes','actor':'arbitrator','precondition':['E18'],'onchain':'expressible','chainFootprint':{'node':'delivered','forward':'ResumeAfterDismissal','prev':'claim_filed','identity':'permission_index','moneyEffect':'none'},'guardKeyProbe':'arb_dismissed_resume','commercialSemantics':'Merchant-favour\x20ruling\x20unblocks\x20the\x20ordinary\x20lifecycle:\x20the\x20order\x20returns\x20to\x20delivered\x20and\x20can\x20settle\x20normally\x20(dual-outcome\x20arb\x20exit\x20shipped\x20in\x20this\x20template).','evidence':[]},{'id':'E28','class':'exception','name':'Return-in-transit\x20arbitration\x20escalation\x20(full\x20refund,\x20no\x20receipt\x20wait)','actor':'arbitrator','precondition':['E7'],'onchain':'expressible','chainFootprint':{'node':'closed_cancel','forward':'ArbRefundReturn','prev':'return_in_transit','identity':'permission_index','moneyEffect':'refund'},'guardKeyProbe':'arb_refund_return','commercialSemantics':'While\x20the\x20return\x20parcel\x20is\x20in\x20transit\x20a\x20buyer-won\x20ruling\x20pays\x20the\x20full\x20refund\x20without\x20waiting\x20for\x20the\x20receipt\x20twin\x20rails.','evidence':[]},{'id':'R1','class':'remedy','name':'A-to-z\x20guarantee\x20claim\x20(platform-guarantee\x20umbrella)','actor':'buyer','precondition':['E16'],'onchain':'disclosure_only','disclosureProbe':'independent\x20Arbitration|guarantee','commercialSemantics':'The\x20guarantee\x27s\x20chain\x20counterpart\x20is\x20the\x20independent\x20Arbitration\x20object\x20plus\x20the\x20claim\x20rail;\x20EDD-anchored\x20window\x20bounds\x20stay\x20off-chain\x20(INV-AMZ-1).','evidence':[{'file':'service.move','line':0x24c,'pattern':'public\x20fun\x20compensation_claim'}]},{'id':'R2','class':'remedy','name':'SAFE-T\x20seller-side\x20protection\x20claim','actor':'merchant','precondition':['E19'],'onchain':'disclosure_only','disclosureProbe':'SAFE.T|seller\x20protection','commercialSemantics':'Seller-side\x20SAFE-T\x20reimbursement\x20has\x20no\x20template\x20counterpart\x20and\x20zero\x20corpus\x20disclosure\x20—\x20the\x20arb\x20rails\x20are\x20buyer-exit\x20only\x20(FIX-DISCLOSURE\x20candidate).','evidence':[]},{'id':'R3','class':'remedy','name':'Arb\x20compensation\x20payout,\x20owner-bound','actor':'arbitrator','precondition':['E18'],'onchain':'expressible','chainFootprint':{'node':'claim_filed','moneyEffect':'compensate'},'commercialSemantics':'Arb\x20compensation\x20is\x20paid\x20by\x20the\x20service\x20layer\x20to\x20the\x20order\x20owner\x20—\x20always\x20the\x20buyer,\x20structurally\x20unbribeable.','evidence':[{'file':'service.move','line':0x24c,'pattern':'public\x20fun\x20compensation_claim'},{'file':'service.move','line':0x265,'pattern':'order::owner(order)'}]},{'id':'R4','class':'remedy','name':'Indemnity\x20capped\x20at\x203x\x20the\x20order\x20amount','actor':'arbitrator','precondition':['R3'],'onchain':'expressible','chainFootprint':{'node':'claim_filed','moneyEffect':'compensate'},'commercialSemantics':'Any\x20award\x20saturates\x20at\x203x\x20Order.amount\x20(cap\x20base\x20frozen\x20at\x20BUY\x20time);\x20punitive\x20floors\x20above\x20that\x20are\x20inexpressible\x20(INV-AMZ-3).','evidence':[{'file':'arb.move','line':0x15,'pattern':'MAX_INDEMNITY_MULTIPLE'},{'file':'arb.move','line':0x21d,'pattern':'indemnity_cap_base'}]},{'id':'R5','class':'remedy','name':'Statutory\x20punitive\x20damages\x20above\x20the\x20cap','actor':'arbitrator','precondition':['R4'],'onchain':'unresolvable','unresolvableRef':'S7','disclosureProbe':'punitive|triple\x20damages|min\x20500','commercialSemantics':'CN\x20Civil\x20Code\x20art.55\x20style\x20punitive\x20floors\x20(3x,\x20min\x20500\x20CNY)\x20cannot\x20ride\x20the\x203x\x20award\x20cap\x20and\x20are\x20undisclosed\x20—\x20text-only\x20invariant\x20INV-AMZ-3\x20carries\x20the\x20conflict.','evidence':[]},{'id':'P1','class':'post','name':'Settlement\x20allocation\x20to\x20the\x20seller\x20(reserve\x20kept\x20pooled)','actor':'keeper','precondition':['M10'],'onchain':'expressible','chainFootprint':{'node':'completed','moneyEffect':'release'},'commercialSemantics':'The\x20merchant\x20settlement\x20allocator\x20pays\x20the\x20seller\x20share\x20above\x20the\x20reserve\x20threshold;\x20reserve\x20(7d)\x20stays\x20pooled\x20for\x20the\x20claim\x20window.','evidence':[{'file':'allocation.move','line':0x1f6,'pattern':'self.allocators.threshold'},{'file':'allocation.move','line':0x22c,'pattern':'alloc.fix'}]},{'id':'P2','class':'post','name':'Review\x20reward\x20claim\x20(signer-bound)','actor':'buyer','precondition':['M8'],'onchain':'expressible','chainFootprint':{'node':'reviewed','moneyEffect':'reward'},'commercialSemantics':'Reward\x20claim\x20is\x20signer-bound\x20(recipient\x20==\x20sender)\x20against\x20the\x20review\x20pool\x20with\x20a\x20per-claim\x20floor\x20above\x20claim\x20gas.','evidence':[{'file':'reward.move','line':0x11b,'pattern':'recipient\x20==\x20tx_context::sender'}]},{'id':'P3','class':'post','name':'Protection-fund\x20water-level\x20watch\x20(keeper\x20duty)','actor':'keeper','precondition':['P1'],'onchain':'disclosure_only','disclosureProbe':'water\x20tiers|classifyFundWaterLevel|classify\x20the','commercialSemantics':'Keeper\x20watches\x20the\x20protection-fund\x20balance\x20across\x20water\x20tiers\x20—\x20a\x20duty-level\x20disclosure,\x20not\x20a\x20chain\x20rule.','evidence':[]},{'id':'P4','class':'post','name':'Repurchase\x20/\x20off-site\x20ad\x20resurgence\x20attribution','actor':'keeper','precondition':['P1'],'onchain':'not_applicable','commercialSemantics':'Repurchase\x20attribution\x20and\x20off-site\x20ad\x20resurgence\x20are\x20storefront\x20economics\x20with\x20no\x20per-order\x20chain\x20footprint.','evidence':[]},{'id':'P5','class':'post','name':'Append-only\x20dispute\x20trail\x20audit','actor':'keeper','precondition':['E16'],'onchain':'expressible','chainFootprint':{'node':'claim_filed','moneyEffect':'none'},'commercialSemantics':'The\x20dispute\x20vector\x20is\x20append-only\x20(records\x20are\x20added,\x20never\x20removed);\x20settlement\x20reads\x20it\x20state-frozen\x20rather\x20than\x20counting\x20it.','evidence':[{'file':'order.move','line':0x94,'pattern':'vector::push_back'},{'file':'order.move','line':0xa1,'pattern':'public\x20fun\x20has_open_dispute'}]}],'invariants':[{'id':'INV-AMZ-1','statement':'The\x20A-to-z\x20window\x20(EDD+3d\x20..\x20EDD+90d)\x20is\x20disclosure-only,\x20so\x20its\x20ONLY\x20chain\x20backstop\x20is\x20the\x20serial\x20dispute\x20rail:\x20FileDispute\x20from\x20claim_window\x20must\x20exist\x20while\x20the\x20guarantee\x20is\x20promised.','jurisdiction':'Amazon\x20A-to-z\x20Guarantee\x20claims\x20page\x20(2026-11);\x20EU\x20CRD\x202011/83;\x20UK\x20CRA\x202015.','chainConflict':'EDD-anchored\x20window\x20bounds\x20are\x20not\x20expressible\x20on\x20chain\x20(S9:\x20no\x20external-platform-signal\x20primitive);\x20only\x20rail\x20existence\x20is\x20enforceable.','violation':{'whileMissingForward':'FileDispute'},'evidence':[{'file':'order.move','line':0xa1,'pattern':'public\x20fun\x20has_open_dispute'}]},{'id':'INV-AMZ-2','statement':'Statutory\x20return\x20floors\x20(CN\x207d\x20no-reason\x20/\x20EU\x20CRD\x2014d\x20/\x20UK\x20CRA\x20long-term)\x20all\x20hinge\x20on\x20return_window_days\x20staying\x20a\x20healthy\x20non-zero\x20knob;\x20zeroing\x20it\x20deletes\x20the\x20floors\x20the\x20marketplace\x20promise\x20is\x20sold\x20on.\x20Text-only:\x20the\x20violation\x20vocabulary\x20can\x20express\x20non-zero\x20existence\x20only\x20while\x20the\x20knob\x20is\x20armed,\x20which\x20is\x20always\x20true\x20here\x20—\x20so\x20no\x20mechanical\x20predicate\x20is\x20attached.','jurisdiction':'PRC\x20Civil\x20Code\x20art.25\x20/\x20Consumer\x20Protection\x20Law\x20art.25\x20(7-day\x20no-reason\x20return);\x20EU\x20CRD\x202011/83\x20art.13(2)\x20(14d);\x20UK\x20CRA\x202015\x20(30d\x20short-term\x20right).','chainConflict':'The\x20protocol\x20can\x20enforce\x20non-zero\x20existence\x20of\x20the\x20window\x20only;\x20the\x20jurisdiction-specific\x20floor\x20VALUE\x20itself\x20stays\x20off-chain.','evidence':[{'file':'repository.move','line':0xa9,'pattern':'write_once:\x20bool'}]},{'id':'INV-AMZ-3','statement':'CN\x20Civil\x20Code\x20art.55\x20punitive\x20damages\x20(3x\x20price,\x20min\x20500\x20CNY)\x20cannot\x20be\x20awarded:\x20arbitration\x20indemnity\x20saturates\x20at\x203x\x20Order.amount\x20with\x20the\x20cap\x20base\x20frozen\x20at\x20BUY\x20time.\x20Text-only:\x20no\x20fee_params\x20key\x20or\x20forward\x20exists\x20to\x20lift\x20the\x20floor.','jurisdiction':'PRC\x20Civil\x20Code\x20art.55\x20(punitive\x20damages);\x20Food\x20Safety\x20Law\x20art.148\x20analogues.','chainConflict':'MAX_INDEMNITY_MULTIPLE\x20(3x)\x20bounds\x20every\x20award\x20and\x20the\x20cap\x20base\x20is\x20the\x20escrowed\x20amount\x20frozen\x20at\x20buy()\x20—\x20no\x20floor-lift\x20primitive\x20exists.','evidence':[{'file':'arb.move','line':0x15,'pattern':'MAX_INDEMNITY_MULTIPLE'},{'file':'arb.move','line':0x21d,'pattern':'indemnity_cap_base'}]},{'id':'INV-AMZ-4','statement':'FTC\x20Mail\x20Order\x20Rule\x20requires\x20ship-by\x20within\x2030\x20days\x20of\x20the\x20order\x20date.\x20The\x20template\x20has\x20no\x20ship-by\x20fee_param\x20or\x20forward\x20—\x20the\x20ship\x20guard\x20carries\x20evidence\x20policy\x20only.\x20Text-only\x20statutory\x20exposure.','jurisdiction':'US\x20FTC\x20Mail\x20Order\x20Rule,\x2016\x20CFR\x20part\x20435.','chainConflict':'No\x20deadline\x20primitive\x20anchors\x20the\x20ship\x20edge\x20to\x20a\x20calendar\x20clock;\x20only\x20evidence\x20gating\x20and\x20auto-confirm\x20exist.'}]};
1
+ export const AMAZON_ORACLE={'productRef':'amazon','products':['amazon','taobao-tmall-open-market','jd-pop'],'oracleVersion':'1.0.0','steps':[{'id':'M1','class':'offchain','name':'Browse,\x20compare\x20listings\x20and\x20fight\x20for\x20the\x20Buy\x20Box\x20(search/Buy-Box\x20economics)','actor':'buyer','precondition':[],'onchain':'not_applicable','commercialSemantics':'Search\x20ranking,\x20Buy\x20Box\x20competition\x20and\x20ad\x20placement\x20are\x20pure\x20platform\x20acts.\x20No\x20order\x20object\x20exists\x20yet,\x20so\x20the\x20chain\x20is\x20definitionally\x20silent.','evidence':[]},{'id':'M2','class':'offchain','name':'Add\x20to\x20cart\x20and\x20express\x20checkout\x20intent','actor':'buyer','precondition':['M1'],'onchain':'not_applicable','commercialSemantics':'Cart\x20assembly\x20and\x20checkout\x20intent\x20live\x20in\x20the\x20storefront;\x20the\x20chain\x20story\x20starts\x20only\x20at\x20the\x20buy()\x20escrow.','evidence':[]},{'id':'M5','class':'offchain','name':'Carrier\x20transit\x20between\x20the\x20ship\x20scan\x20and\x20the\x20delivery\x20scan','actor':'keeper','precondition':['M4'],'onchain':'not_applicable','commercialSemantics':'Carrier\x20movement\x20is\x20off-chain;\x20only\x20the\x20write-once\x20tracking\x20evidence\x20row\x20(ship)\x20and\x20the\x20delivery\x20anchor\x20exist\x20on\x20chain.','evidence':[]},{'id':'M3','class':'main','name':'Buy:\x20one-shot\x20full-amount\x20escrow\x20(dual-path\x20gate)','actor':'buyer','precondition':['M2'],'onchain':'expressible','chainFootprint':{'node':'paid','forward':'Enter','prev':'','identity':'order_holder','moneyEffect':'escrow_in'},'commercialSemantics':'No\x20deposit\x20stage\x20—\x20the\x20whole\x20price\x20is\x20escrowed\x20atomically.\x20The\x20buy\x20gate\x20is\x20dual-path\x20(password\x20or\x20passport)\x20and\x20fails\x20closed\x20for\x20unproven\x20buyers.','evidence':[{'file':'order.move','line':0x41,'pattern':'public\x20struct\x20Order'}]},{'id':'M4','class':'main','name':'Seller\x20ships\x20(tracking\x20evidence,\x20optional\x20enforced\x20variant)','actor':'merchant','precondition':['M3'],'onchain':'expressible','chainFootprint':{'node':'shipped','forward':'Ship','prev':'paid','identity':'permission_index','moneyEffect':'none'},'guardKeyProbe':'ship_enforced','commercialSemantics':'Twin\x20ship\x20edges\x20mount\x20from\x20one\x20guard\x20template:\x20plain\x20ship,\x20or\x20ship_enforced\x20when\x20required-info\x20enforcement\x20demands\x20a\x20tracking\x20row\x20(write-once\x20evidence\x20policy\x20per\x20kind).\x20FTC-style\x20ship-by\x20deadlines\x20are\x20NOT\x20encoded\x20(see\x20INV-AMZ-4).','evidence':[{'file':'repository.move','line':0xa9,'pattern':'write_once:\x20bool'}]},{'id':'M6','class':'main','name':'Buyer\x20confirms\x20delivery','actor':'buyer','precondition':['M5'],'onchain':'expressible','chainFootprint':{'node':'delivered','forward':'ConfirmDelivery','prev':'shipped','identity':'order_holder','moneyEffect':'none'},'guardKeyProbe':'deliver_confirm','commercialSemantics':'Buyer-side\x20confirmation\x20starts\x20the\x20post-delivery\x20clock\x20stack\x20(review\x20window,\x20return\x20window,\x20claim\x20window).','evidence':[]},{'id':'M7','class':'main','name':'Keeper\x20auto-confirms\x20a\x20silent\x20buyer','actor':'keeper','precondition':['M5'],'onchain':'expressible','chainFootprint':{'node':'delivered','forward':'AutoConfirmDelivery','prev':'shipped','identity':'permission_index','moneyEffect':'none'},'guardKeyProbe':'deliver_confirm_timeout','commercialSemantics':'auto_confirm_days\x20(7)\x20after\x20shipment\x20the\x20keeper\x20advances\x20a\x20silent\x20buyer\x27s\x20order\x20so\x20escrow\x20cannot\x20be\x20held\x20hostage\x20by\x20inaction.','evidence':[]},{'id':'M8','class':'post','name':'Buyer\x20writes\x20an\x20optional,\x20rewarded\x20review\x20(write-once)','actor':'buyer','precondition':['M6'],'onchain':'expressible','chainFootprint':{'node':'reviewed','forward':'Review','prev':'delivered','identity':'order_holder','moneyEffect':'reward'},'guardKeyProbe':'review_window','commercialSemantics':'Optional\x20review\x20inside\x20review_window_days;\x20the\x20review\x20is\x20write-once\x20(repository\x20policy\x20assert)\x20and\x20may\x20anchor\x20a\x20reward\x20claim\x20against\x20the\x20review\x20pool.','evidence':[{'file':'repository.move','line':0x223,'pattern':'E_POLICY_WRITE_ONCE_CONFLICT'}]},{'id':'M9','class':'main','name':'Keeper\x20opens\x20the\x20serial\x20claim\x20window','actor':'keeper','precondition':['M6'],'onchain':'expressible','chainFootprint':{'node':'claim_window','forward':'OpenClaimWindow','prev':'delivered','identity':'permission_index','moneyEffect':'none'},'commercialSemantics':'A-to-z-style\x20serial\x20claim\x20stage:\x20bare\x20keeper\x20permission\x20(1002),\x20no\x20timeout\x20—\x20a\x20claim\x20window\x20that\x20never\x20closes\x20is\x20never\x20missed.\x20A\x20sibling\x20mount\x20opens\x20it\x20from\x20reviewed.','evidence':[{'file':'order.move','line':0xa1,'pattern':'public\x20fun\x20has_open_dispute'}]},{'id':'M10','class':'post','name':'Settle\x20after\x20the\x20claim\x20window\x20(state-freeze\x20gate)','actor':'keeper','precondition':['M9'],'onchain':'expressible','chainFootprint':{'node':'completed','forward':'SettleAfterWindow','prev':'claim_window','identity':'permission_index','moneyEffect':'release'},'guardKeyProbe':'settle_window_gate','commercialSemantics':'The\x20settlement\x20gate\x20freezes\x20state\x20and\x20re-checks\x20for\x20open\x20disputes\x20before\x20releasing\x20escrow\x20minus\x20reserve\x20and\x20referral\x20accounting.','evidence':[]},{'id':'E1','class':'exception','name':'Buyer\x20cancels\x20before\x20shipment\x20(full\x20refund)','actor':'buyer','precondition':['M3'],'onchain':'expressible','chainFootprint':{'node':'closed_cancel','forward':'CancelBeforePayment','prev':'paid','identity':'order_holder','moneyEffect':'refund'},'guardKeyProbe':'cancel_from_paid','commercialSemantics':'Buyer\x20remorse-cancel\x20while\x20unshipped:\x20full\x20instant\x20refund,\x20no\x20seller\x20consent\x20needed.','evidence':[]},{'id':'E2','class':'exception','name':'Cancel\x20after\x20ship\x20but\x20before\x20delivery\x20confirmation','actor':'buyer','precondition':['M4'],'onchain':'expressible','chainFootprint':{'node':'closed_cancel','forward':'CancelBeforeShipment','prev':'shipped','identity':'order_holder','moneyEffect':'refund'},'guardKeyProbe':'cancel_from_shipped','commercialSemantics':'The\x20template\x20mounts\x20the\x20pre-delivery\x20cancel\x20edge\x20on\x20shipped.\x20The\x20real\x20product\x27s\x2030-minute\x20pre-ship\x20window\x20collapses\x20into\x20this\x20rail\x20plus\x20the\x20account-level\x20late-shipment\x20metric.','evidence':[]},{'id':'E3','class':'exception','name':'Platform\x20/\x20out-of-stock\x20force-cancel\x20(seller-metric\x20penalty)','actor':'keeper','precondition':['M3'],'onchain':'expressible_with_gap','chainFootprint':{'node':'closed_cancel','forward':'CancelOrder','prev':'paid','moneyEffect':'refund'},'gapPredicate':{'probe':'out.of.stock|platform\x20cancel|force.cancel'},'commercialSemantics':'Real\x20product:\x20the\x20platform\x20cancels\x20out-of-stock\x20orders\x20and\x20charges\x20the\x20seller\x27s\x20cancel-rate\x20metric.\x20The\x20shipped\x20shape\x20has\x20NO\x20platform-actor\x20cancel\x20edge\x20from\x20paid/shipped\x20—\x20CancelOrder\x20only\x20departs\x20return_requested.\x20The\x20per-order\x20money\x20path\x20a\x20buyer\x20always\x20retains\x20is\x20CancelBeforePayment;\x20OOS\x20governance\x20is\x20account-level\x20and\x20off-chain.\x20Standing\x20gap,\x20reported\x20not\x20fixed.','evidence':[]},{'id':'E4','class':'exception','name':'Buyer\x20refuses\x20the\x20parcel\x20before\x20the\x20delivery\x20scan','actor':'buyer','precondition':['M4'],'onchain':'expressible','chainFootprint':{'node':'return_requested','forward':'RequestReturnBeforeDelivery','prev':'shipped','identity':'order_holder','moneyEffect':'none'},'guardKeyProbe':'return_request_pre_delivery','commercialSemantics':'Refuse-the-parcel\x20opens\x20the\x20return\x20rail\x20before\x20any\x20delivery\x20anchor\x20exists.','evidence':[]},{'id':'E5','class':'exception','name':'Buyer\x20requests\x20a\x20return\x20inside\x20the\x20window','actor':'buyer','precondition':['M6'],'onchain':'expressible','chainFootprint':{'node':'return_requested','forward':'RequestReturn','prev':'delivered','identity':'order_holder','moneyEffect':'none'},'guardKeyProbe':'return_window','commercialSemantics':'return_window_days\x20(30)\x20from\x20delivered\x20(sibling\x20mount\x20from\x20reviewed).\x20Jurisdictional\x20floor\x20alignment\x20is\x20a\x20standing\x20invariant\x20(INV-AMZ-2),\x20not\x20a\x20per-step\x20check.','evidence':[]},{'id':'E6','class':'exception','name':'Seller\x20misses\x20the\x20return-response\x20SLA\x20(auto-approve\x20on\x20real\x20product)','actor':'merchant','precondition':['E5'],'onchain':'disclosure_only','disclosureProbe':'(seller|merchant)[^\x22]{0,40}(approve|reject|respond|48|24)','commercialSemantics':'Real\x20product:\x20the\x20seller\x20must\x20respond\x20to\x20a\x20return\x20request\x20inside\x20a\x20tight\x20SLA\x20or\x20it\x20auto-approves.\x20The\x20template\x20discloses\x20NO\x20seller\x20response\x20SLA\x20on\x20the\x20request\x20—\x20only\x20the\x20receipt-side\x20timeout\x20(E8)\x20and\x20the\x20arbitration\x20escalation\x20(E28)\x20exist.\x20A\x20time_lock\x20\x27seller-silent\x20->\x20case-openable\x27\x20edge\x20is\x20emittable\x20but\x20not\x20shipped\x20(FIX-EDGE\x20candidate).','evidence':[]},{'id':'E7','class':'exception','name':'Buyer\x20ships\x20the\x20return\x20back\x20(mid-leg\x20waypoint)','actor':'buyer','precondition':['E5'],'onchain':'expressible','chainFootprint':{'node':'return_in_transit','forward':'ShipReturn','prev':'return_requested','identity':'order_holder','moneyEffect':'none'},'guardKeyProbe':'return_shipped','commercialSemantics':'Buyer\x20declares\x20the\x20return\x20parcel\x20shipped\x20(TPL-10\x20mid-leg\x20granularity).','evidence':[]},{'id':'E8','class':'exception','name':'Return\x20receipt\x20confirmed\x20or\x20deemed\x20(timeout\x20twin\x20rails)','actor':'merchant','precondition':['E7'],'onchain':'expressible','chainFootprint':{'node':'returned','moneyEffect':'none'},'guardKeyProbe':'return_received|return_response_timeout','commercialSemantics':'Twin\x20rails\x20into\x20returned:\x20the\x20merchant\x20confirms\x20receipt\x20(return_received)\x20or\x20the\x20keeper\x20deems\x20receipt\x20after\x20return_response_days\x20(7)\x20so\x20a\x20silent\x20merchant\x20cannot\x20hold\x20the\x20refund\x20hostage.','evidence':[]},{'id':'E9','class':'exception','name':'Refund\x20executed\x20to\x20the\x20buyer\x20(record\x20waypoint)','actor':'keeper','precondition':['E8'],'onchain':'expressible','chainFootprint':{'node':'refunded','forward':'RefundExecuted','prev':'returned','identity':'permission_index','moneyEffect':'refund'},'guardKeyProbe':'refund_executed','commercialSemantics':'Keeper\x20executes\x20the\x20refund\x20rail\x20after\x20receipt;\x20the\x20refunded\x20node\x20is\x20the\x20machine-side\x20receipt\x20of\x20an\x20allocation-rail\x20payment.','evidence':[]},{'id':'E10','class':'exception','name':'Parcel\x20lost\x20in\x20transit\x20(evidence-backed\x20loss\x20record)','actor':'merchant','precondition':['M4'],'onchain':'expressible','chainFootprint':{'node':'item_lost','forward':'RecordLost','prev':'shipped','identity':'permission_index','moneyEffect':'none'},'guardKeyProbe':'lost_evidence','commercialSemantics':'Merchant\x20records\x20the\x20parcel\x20lost\x20with\x20evidence\x20(write-once\x20lost-evidence\x20row).','evidence':[]},{'id':'E11','class':'exception','name':'Buyer\x20exits\x20with\x20refund\x20after\x20the\x20loss\x20record','actor':'buyer','precondition':['E10'],'onchain':'expressible','chainFootprint':{'node':'closed_cancel','forward':'RefundAfterLoss','prev':'item_lost','identity':'order_holder','moneyEffect':'refund'},'guardKeyProbe':'lost_refund','commercialSemantics':'Buyer\x20exits\x20with\x20full\x20refund\x20once\x20the\x20loss\x20record\x20exists\x20—\x20the\x20carrier\x20claim\x20itself\x20stays\x20off-chain.','evidence':[]},{'id':'E12','class':'exception','name':'Short\x20shipment\x20/\x20wrong\x20item\x20dispute','actor':'buyer','precondition':['M6'],'onchain':'expressible_with_gap','chainFootprint':{'node':'claim_filed','forward':'FileDispute','prev':'claim_window','identity':'order_holder','moneyEffect':'none'},'guardKeyProbe':'claim_filed','gapPredicate':{'probe':'PARTIAL\x20SHIPMENT|ShippedBatch|no\x20per-item\x20SKU\x20ledger'},'commercialSemantics':'Short/wrong-item\x20claims\x20ride\x20the\x20claim\x20rail;\x20the\x20gap\x20is\x20disclosed:\x20one\x20ShippedBatch\x20forward\x20per\x20parcel\x20with\x20its\x20own\x20evidence\x20row\x20—\x20the\x20machine\x20has\x20no\x20per-item\x20SKU\x20ledger,\x20so\x20partial\x20deliveries\x20surface\x20as\x20parcel-level\x20timeline\x20events,\x20never\x20per-item\x20disputes.','evidence':[]},{'id':'E13','class':'exception','name':'Item\x20damaged\x20on\x20arrival','actor':'buyer','precondition':['M6'],'onchain':'expressible_with_gap','chainFootprint':{'node':'claim_filed','forward':'FileDispute','prev':'claim_window','identity':'order_holder','moneyEffect':'none'},'gapPredicate':{'probe':'damaged|defective|broken\x20on\x20arrival'},'commercialSemantics':'Damaged-on-arrival\x20claims\x20ride\x20the\x20same\x20claim/arb\x20rail,\x20but\x20the\x20builder\x20corpus\x20contains\x20no\x20damaged-goods\x20disclosure\x20at\x20all\x20—\x20standing\x20disclosure\x20gap\x20(reported,\x20not\x20fixed).','evidence':[]},{'id':'E14','class':'exception','name':'Counterfeit\x20/\x20not-as-described\x20claim','actor':'buyer','precondition':['M6'],'onchain':'expressible_with_gap','chainFootprint':{'node':'claim_filed','forward':'FileDispute','prev':'claim_window','identity':'order_holder','moneyEffect':'none'},'gapPredicate':{'probe':'counterfeit|fake|authenticity'},'commercialSemantics':'Counterfeit\x20claims\x20ride\x20the\x20claim/arb\x20rail\x20with\x20WTS\x20evidence;\x20the\x20corpus\x20does\x20not\x20disclose\x20a\x20counterfeit-specific\x20policy\x20(authenticity-proof\x20language\x20lives\x20in\x20the\x20wiki,\x20not\x20the\x20shipped\x20disclosure\x20fields).','evidence':[]},{'id':'E15','class':'exception','name':'Seller\x20ships\x20late\x20beyond\x20the\x20SLA','actor':'merchant','precondition':['M3'],'onchain':'disclosure_only','disclosureProbe':'(late|overdue|expected)[^\x22]{0,20}ship|ship[^\x22]{0,20}(late|overdue|deadline)','commercialSemantics':'FTC/EU\x20late-ship\x20SLAs\x20(30-day\x20ship-by,\x20EDD)\x20are\x20account-level\x20metrics\x20in\x20the\x20real\x20product.\x20The\x20template\x20discloses\x20NO\x20ship-by\x20deadline\x20anywhere\x20—\x20only\x20ship\x20evidence\x20gating.\x20Text-only\x20statutory\x20exposure\x20(INV-AMZ-4).','evidence':[]},{'id':'E16','class':'exception','name':'Buyer\x20files\x20a\x20dispute\x20inside\x20the\x20claim\x20window','actor':'buyer','precondition':['M9'],'onchain':'expressible','chainFootprint':{'node':'claim_filed','forward':'FileDispute','prev':'claim_window','identity':'order_holder','moneyEffect':'none'},'guardKeyProbe':'claim_filed','commercialSemantics':'The\x20append-only\x20dispute\x20vector\x20marks\x20a\x20dispute\x20as\x20open\x20and\x20blocks\x20settlement\x20until\x20resolution.','evidence':[{'file':'order.move','line':0xa1,'pattern':'public\x20fun\x20has_open_dispute'}]},{'id':'E17','class':'exception','name':'Buyer\x20withdraws\x20the\x20claim\x20(self-resolve\x20exit)\x20(BANNED\x20-\x20D2\x20no-withdraw\x20doctrine:\x20a\x20filed\x20claim\x20reaches\x20a\x20RULING\x20instead)','actor':'buyer','precondition':['E16'],'onchain':'not_applicable','chainFootprint':{'node':'closed_cancel','prev':'claim_filed','identity':'order_holder','moneyEffect':'refund'},'guardKeyProbe':'withdraw_claim','commercialSemantics':'CRITICAL\x20(disclosed,\x20live-mainnet):\x20the\x20WithdrawClaim\x20guard\x20is\x20identity-only\x20—\x20replayable,\x20binds\x20no\x20arbitration\x20case,\x20and\x20a\x20withdrawn\x20claim\x20still\x20blocks\x20re-filing\x20because\x20claimed_by\x20stays\x20set.\x20Merchants\x20must\x20treat\x20settlement-after-withdrawal\x20as\x20a\x20manual\x20reconciliation\x20duty.','evidence':[{'file':'order.move','line':0x79,'pattern':'option::is_none(&self.claimed_by)'}]},{'id':'E18','class':'exception','name':'Arbitration\x20case\x20opened\x20on\x20the\x20independent\x20Arb\x20object','actor':'arbitrator','precondition':['E16'],'onchain':'expressible','chainFootprint':{'node':'claim_filed','moneyEffect':'none'},'commercialSemantics':'The\x20case\x20lives\x20on\x20the\x20independent\x20Arbitration\x20object\x20(op\x20permission\x20anchored\x20to\x20the\x20order);\x20the\x20machine-side\x20queryable\x20record\x20is\x20the\x20claim_filed\x20waypoint.','evidence':[{'file':'arbitration.move','line':0x169,'pattern':'assert_op_permission'}]},{'id':'E19','class':'exception','name':'Arbitration\x20rules\x20for\x20the\x20buyer\x20(full-refund\x20exit)','actor':'arbitrator','precondition':['E18'],'onchain':'expressible','chainFootprint':{'node':'closed_cancel','forward':'ArbRefund','prev':'claim_filed','identity':'permission_index','moneyEffect':'refund'},'guardKeyProbe':'arb_refund','commercialSemantics':'A\x20buyer-won\x20ruling\x20fires\x20the\x20full-refund\x20exit\x20from\x20claim_filed\x20straight\x20to\x20closed_cancel,\x20bypassing\x20the\x20return\x20legs.','evidence':[]},{'id':'E20','class':'exception','name':'Arb\x20silence\x20auto-accepts\x20the\x20claim\x20(protocol\x20finality)','actor':'arbitrator','precondition':['E18'],'onchain':'not_applicable','commercialSemantics':'Real\x20product:\x20an\x20unanswered\x20A-to-z\x20claim\x20auto-resolves\x20for\x20the\x20buyer.\x20On\x20chain\x20this\x20is\x20protocol-level\x20arb-object\x20finality\x20(WITHDRAW_DURATION_TIME),\x20not\x20a\x20machine\x20edge\x20—\x20excluded\x20like\x20the\x20shansong\x20pilot\x27s\x20R6.','evidence':[{'file':'arb.move','line':0x10,'pattern':'WITHDRAW_DURATION_TIME'}]},{'id':'E21','class':'exception','name':'Arb\x20party\x20absent\x2048h\x20auto-loses\x20(keeper\x20duty)','actor':'keeper','precondition':['E18'],'onchain':'disclosure_only','disclosureProbe':'48h[^\x22]{0,40}(absen|auto.loss)|absen[^\x22]{0,40}arbitrat','commercialSemantics':'Keeper\x20duty:\x2048h\x20of\x20absence\x20in\x20an\x20open\x20arbitration\x20case\x20auto-loses\x20the\x20absent\x20party\x20—\x20disclosed\x20in\x20keeper_dependencies/keeper_duty.','evidence':[]},{'id':'E22','class':'exception','name':'Review\x20appeal\x20or\x20removal\x20request','actor':'buyer','precondition':['M8'],'onchain':'disclosure_only','disclosureProbe':'(appeal|remove|takedown|report)[^\x22]{0,30}review','commercialSemantics':'Real\x20product:\x20review\x20appeal/removal\x20governance.\x20Template\x20reviews\x20are\x20write-once\x20with\x20no\x20appeal\x20path,\x20and\x20the\x20corpus\x20discloses\x20nothing\x20about\x20review\x20governance\x20—\x20standing\x20FIX-DISCLOSURE\x20gap.','evidence':[]},{'id':'E23','class':'exception','name':'Seller\x20account\x20deactivated,\x20payouts\x20withheld','actor':'keeper','precondition':['M4'],'onchain':'disclosure_only','disclosureProbe':'(deactivat|suspend|delist|withhold)','commercialSemantics':'Real\x20product:\x20account\x20deactivation\x20withholds\x20payouts\x20up\x20to\x2090\x20days.\x20No\x20account-level\x20concept\x20exists\x20on\x20chain\x20and\x20the\x20corpus\x20is\x20silent\x20—\x20per-order\x20reserve/settlement\x20is\x20the\x20only\x20fund-holding\x20surface.','evidence':[]},{'id':'E24','class':'exception','name':'Coupon\x20/\x20promotion\x20mispricing\x20dispute','actor':'merchant','precondition':['M3'],'onchain':'unresolvable','unresolvableRef':'S7','disclosureProbe':'Discount\x20object|coupon|discount','commercialSemantics':'Promotional\x20mispricing\x20has\x20no\x20on-chain\x20pricing\x20oracle;\x20the\x20corpus\x20discloses\x20the\x20discount-object\x20creation\x20step\x20(burned-on-use,\x20budget\x20formula,\x20no\x20dedupe)\x20as\x20the\x20managed\x20surface.','evidence':[]},{'id':'E25','class':'exception','name':'Refund\x20judged\x20but\x20not\x20yet\x20in\x20the\x20bank\x20account','actor':'buyer','precondition':['E9'],'onchain':'disclosure_only','disclosureProbe':'terminal\x20RECORD\x20waypoint|money\x20authority\x20stays\x20the\x20allocation\x20rail','commercialSemantics':'Chain-side\x20the\x20refund\x20fact\x20is\x20final\x20at\x20the\x20rail;\x20the\x20refunded\x20node\x20is\x20explicitly\x20a\x20record\x20waypoint\x20(bank-side\x20timing\x20is\x20off-chain).\x20Disclosed\x20via\x20the\x20refund-leg\x20granularity\x20note.','evidence':[]},{'id':'E26','class':'exception','name':'External\x20chargeback\x20/\x20card-network\x20dispute','actor':'buyer','precondition':['M3'],'onchain':'unresolvable','unresolvableRef':'S9','disclosureProbe':'chargeback|credit\x20card\x20dispute','commercialSemantics':'Card-network\x20chargebacks\x20have\x20no\x20on-chain\x20primitive\x20(S9)\x20and\x20the\x20corpus\x20discloses\x20nothing\x20about\x20them\x20—\x20standing\x20disclosure\x20gap\x20beside\x20the\x2090-day\x20dispute-window\x20duty.','evidence':[]},{'id':'E27','class':'exception','name':'Arb\x20dismisses\x20the\x20claim,\x20order\x20resumes','actor':'arbitrator','precondition':['E18'],'onchain':'expressible','chainFootprint':{'node':'delivered','forward':'ResumeAfterDismissal','prev':'claim_filed','identity':'permission_index','moneyEffect':'none'},'guardKeyProbe':'arb_dismissed_resume','commercialSemantics':'Merchant-favour\x20ruling\x20unblocks\x20the\x20ordinary\x20lifecycle:\x20the\x20order\x20returns\x20to\x20delivered\x20and\x20can\x20settle\x20normally\x20(dual-outcome\x20arb\x20exit\x20shipped\x20in\x20this\x20template).','evidence':[]},{'id':'E28','class':'exception','name':'Return-in-transit\x20arbitration\x20escalation\x20(full\x20refund,\x20no\x20receipt\x20wait)','actor':'arbitrator','precondition':['E7'],'onchain':'expressible','chainFootprint':{'node':'closed_cancel','forward':'ArbRefundReturn','prev':'return_in_transit','identity':'permission_index','moneyEffect':'refund'},'guardKeyProbe':'arb_refund_return','commercialSemantics':'While\x20the\x20return\x20parcel\x20is\x20in\x20transit\x20a\x20buyer-won\x20ruling\x20pays\x20the\x20full\x20refund\x20without\x20waiting\x20for\x20the\x20receipt\x20twin\x20rails.','evidence':[]},{'id':'R1','class':'remedy','name':'A-to-z\x20guarantee\x20claim\x20(platform-guarantee\x20umbrella)','actor':'buyer','precondition':['E16'],'onchain':'disclosure_only','disclosureProbe':'independent\x20Arbitration|guarantee','commercialSemantics':'The\x20guarantee\x27s\x20chain\x20counterpart\x20is\x20the\x20independent\x20Arbitration\x20object\x20plus\x20the\x20claim\x20rail;\x20EDD-anchored\x20window\x20bounds\x20stay\x20off-chain\x20(INV-AMZ-1).','evidence':[{'file':'service.move','line':0x24c,'pattern':'public\x20fun\x20compensation_claim'}]},{'id':'R2','class':'remedy','name':'SAFE-T\x20seller-side\x20protection\x20claim','actor':'merchant','precondition':['E19'],'onchain':'disclosure_only','disclosureProbe':'SAFE.T|seller\x20protection','commercialSemantics':'Seller-side\x20SAFE-T\x20reimbursement\x20has\x20no\x20template\x20counterpart\x20and\x20zero\x20corpus\x20disclosure\x20—\x20the\x20arb\x20rails\x20are\x20buyer-exit\x20only\x20(FIX-DISCLOSURE\x20candidate).','evidence':[]},{'id':'R3','class':'remedy','name':'Arb\x20compensation\x20payout,\x20owner-bound','actor':'arbitrator','precondition':['E18'],'onchain':'expressible','chainFootprint':{'node':'claim_filed','moneyEffect':'compensate'},'commercialSemantics':'Arb\x20compensation\x20is\x20paid\x20by\x20the\x20service\x20layer\x20to\x20the\x20order\x20owner\x20—\x20always\x20the\x20buyer,\x20structurally\x20unbribeable.','evidence':[{'file':'service.move','line':0x24c,'pattern':'public\x20fun\x20compensation_claim'},{'file':'service.move','line':0x265,'pattern':'order::owner(order)'}]},{'id':'R4','class':'remedy','name':'Indemnity\x20capped\x20at\x203x\x20the\x20order\x20amount','actor':'arbitrator','precondition':['R3'],'onchain':'expressible','chainFootprint':{'node':'claim_filed','moneyEffect':'compensate'},'commercialSemantics':'Any\x20award\x20saturates\x20at\x203x\x20Order.amount\x20(cap\x20base\x20frozen\x20at\x20BUY\x20time);\x20punitive\x20floors\x20above\x20that\x20are\x20inexpressible\x20(INV-AMZ-3).','evidence':[{'file':'arb.move','line':0x15,'pattern':'MAX_INDEMNITY_MULTIPLE'},{'file':'arb.move','line':0x21d,'pattern':'indemnity_cap_base'}]},{'id':'R5','class':'remedy','name':'Statutory\x20punitive\x20damages\x20above\x20the\x20cap','actor':'arbitrator','precondition':['R4'],'onchain':'unresolvable','unresolvableRef':'S7','disclosureProbe':'punitive|triple\x20damages|min\x20500','commercialSemantics':'CN\x20Civil\x20Code\x20art.55\x20style\x20punitive\x20floors\x20(3x,\x20min\x20500\x20CNY)\x20cannot\x20ride\x20the\x203x\x20award\x20cap\x20and\x20are\x20undisclosed\x20—\x20text-only\x20invariant\x20INV-AMZ-3\x20carries\x20the\x20conflict.','evidence':[]},{'id':'P1','class':'post','name':'Settlement\x20allocation\x20to\x20the\x20seller\x20(reserve\x20kept\x20pooled)','actor':'keeper','precondition':['M10'],'onchain':'expressible','chainFootprint':{'node':'completed','moneyEffect':'release'},'commercialSemantics':'The\x20merchant\x20settlement\x20allocator\x20pays\x20the\x20seller\x20share\x20above\x20the\x20reserve\x20threshold;\x20reserve\x20(7d)\x20stays\x20pooled\x20for\x20the\x20claim\x20window.','evidence':[{'file':'allocation.move','line':0x1f6,'pattern':'self.allocators.threshold'},{'file':'allocation.move','line':0x22c,'pattern':'alloc.fix'}]},{'id':'P2','class':'post','name':'Review\x20reward\x20claim\x20(signer-bound)','actor':'buyer','precondition':['M8'],'onchain':'expressible','chainFootprint':{'node':'reviewed','moneyEffect':'reward'},'commercialSemantics':'Reward\x20claim\x20is\x20signer-bound\x20(recipient\x20==\x20sender)\x20against\x20the\x20review\x20pool\x20with\x20a\x20per-claim\x20floor\x20above\x20claim\x20gas.','evidence':[{'file':'reward.move','line':0x11b,'pattern':'recipient\x20==\x20tx_context::sender'}]},{'id':'P3','class':'post','name':'Protection-fund\x20water-level\x20watch\x20(keeper\x20duty)','actor':'keeper','precondition':['P1'],'onchain':'disclosure_only','disclosureProbe':'water\x20tiers|classifyFundWaterLevel|classify\x20the','commercialSemantics':'Keeper\x20watches\x20the\x20protection-fund\x20balance\x20across\x20water\x20tiers\x20—\x20a\x20duty-level\x20disclosure,\x20not\x20a\x20chain\x20rule.','evidence':[]},{'id':'P4','class':'post','name':'Repurchase\x20/\x20off-site\x20ad\x20resurgence\x20attribution','actor':'keeper','precondition':['P1'],'onchain':'not_applicable','commercialSemantics':'Repurchase\x20attribution\x20and\x20off-site\x20ad\x20resurgence\x20are\x20storefront\x20economics\x20with\x20no\x20per-order\x20chain\x20footprint.','evidence':[]},{'id':'P5','class':'post','name':'Append-only\x20dispute\x20trail\x20audit','actor':'keeper','precondition':['E16'],'onchain':'expressible','chainFootprint':{'node':'claim_filed','moneyEffect':'none'},'commercialSemantics':'The\x20dispute\x20vector\x20is\x20append-only\x20(records\x20are\x20added,\x20never\x20removed);\x20settlement\x20reads\x20it\x20state-frozen\x20rather\x20than\x20counting\x20it.','evidence':[{'file':'order.move','line':0x94,'pattern':'vector::push_back'},{'file':'order.move','line':0xa1,'pattern':'public\x20fun\x20has_open_dispute'}]}],'invariants':[{'id':'INV-AMZ-1','statement':'The\x20A-to-z\x20window\x20(EDD+3d\x20..\x20EDD+90d)\x20is\x20disclosure-only,\x20so\x20its\x20ONLY\x20chain\x20backstop\x20is\x20the\x20serial\x20dispute\x20rail:\x20FileDispute\x20from\x20claim_window\x20must\x20exist\x20while\x20the\x20guarantee\x20is\x20promised.','jurisdiction':'Amazon\x20A-to-z\x20Guarantee\x20claims\x20page\x20(2026-11);\x20EU\x20CRD\x202011/83;\x20UK\x20CRA\x202015.','chainConflict':'EDD-anchored\x20window\x20bounds\x20are\x20not\x20expressible\x20on\x20chain\x20(S9:\x20no\x20external-platform-signal\x20primitive);\x20only\x20rail\x20existence\x20is\x20enforceable.','violation':{'whileMissingForward':'FileDispute'},'evidence':[{'file':'order.move','line':0xa1,'pattern':'public\x20fun\x20has_open_dispute'}]},{'id':'INV-AMZ-2','statement':'Statutory\x20return\x20floors\x20(CN\x207d\x20no-reason\x20/\x20EU\x20CRD\x2014d\x20/\x20UK\x20CRA\x20long-term)\x20all\x20hinge\x20on\x20return_window_days\x20staying\x20a\x20healthy\x20non-zero\x20knob;\x20zeroing\x20it\x20deletes\x20the\x20floors\x20the\x20marketplace\x20promise\x20is\x20sold\x20on.\x20Text-only:\x20the\x20violation\x20vocabulary\x20can\x20express\x20non-zero\x20existence\x20only\x20while\x20the\x20knob\x20is\x20armed,\x20which\x20is\x20always\x20true\x20here\x20—\x20so\x20no\x20mechanical\x20predicate\x20is\x20attached.','jurisdiction':'PRC\x20Civil\x20Code\x20art.25\x20/\x20Consumer\x20Protection\x20Law\x20art.25\x20(7-day\x20no-reason\x20return);\x20EU\x20CRD\x202011/83\x20art.13(2)\x20(14d);\x20UK\x20CRA\x202015\x20(30d\x20short-term\x20right).','chainConflict':'The\x20protocol\x20can\x20enforce\x20non-zero\x20existence\x20of\x20the\x20window\x20only;\x20the\x20jurisdiction-specific\x20floor\x20VALUE\x20itself\x20stays\x20off-chain.','evidence':[{'file':'repository.move','line':0xa9,'pattern':'write_once:\x20bool'}]},{'id':'INV-AMZ-3','statement':'CN\x20Civil\x20Code\x20art.55\x20punitive\x20damages\x20(3x\x20price,\x20min\x20500\x20CNY)\x20cannot\x20be\x20awarded:\x20arbitration\x20indemnity\x20saturates\x20at\x203x\x20Order.amount\x20with\x20the\x20cap\x20base\x20frozen\x20at\x20BUY\x20time.\x20Text-only:\x20no\x20fee_params\x20key\x20or\x20forward\x20exists\x20to\x20lift\x20the\x20floor.','jurisdiction':'PRC\x20Civil\x20Code\x20art.55\x20(punitive\x20damages);\x20Food\x20Safety\x20Law\x20art.148\x20analogues.','chainConflict':'MAX_INDEMNITY_MULTIPLE\x20(3x)\x20bounds\x20every\x20award\x20and\x20the\x20cap\x20base\x20is\x20the\x20escrowed\x20amount\x20frozen\x20at\x20buy()\x20—\x20no\x20floor-lift\x20primitive\x20exists.','evidence':[{'file':'arb.move','line':0x15,'pattern':'MAX_INDEMNITY_MULTIPLE'},{'file':'arb.move','line':0x21d,'pattern':'indemnity_cap_base'}]},{'id':'INV-AMZ-4','statement':'FTC\x20Mail\x20Order\x20Rule\x20requires\x20ship-by\x20within\x2030\x20days\x20of\x20the\x20order\x20date.\x20The\x20template\x20has\x20no\x20ship-by\x20fee_param\x20or\x20forward\x20—\x20the\x20ship\x20guard\x20carries\x20evidence\x20policy\x20only.\x20Text-only\x20statutory\x20exposure.','jurisdiction':'US\x20FTC\x20Mail\x20Order\x20Rule,\x2016\x20CFR\x20part\x20435.','chainConflict':'No\x20deadline\x20primitive\x20anchors\x20the\x20ship\x20edge\x20to\x20a\x20calendar\x20clock;\x20only\x20evidence\x20gating\x20and\x20auto-confirm\x20exist.'}]};
@@ -1 +1 @@
1
- export const BOOKING_COM_ORACLE={'productRef':'booking-com','products':['booking-com','agoda','expedia','priceline'],'oracleVersion':'1.0.0','steps':[{'id':'M1','class':'offchain','name':'Search\x20and\x20compare\x20properties\x20(Genius\x20loyalty\x20pricing\x20shown)','actor':'buyer','precondition':[],'onchain':'not_applicable','commercialSemantics':'Search,\x20filters\x20and\x20loyalty-tier\x20price\x20display\x20are\x20app\x20concerns;\x20the\x20chain\x20holds\x20one\x20Sale\x20item\x20per\x20room\x20type\x20with\x20a\x20stock\x20counter\x20—\x20no\x20property\x20index,\x20no\x20photos,\x20no\x20per-date\x20price\x20calendar\x20(MAX_SALE_COUNT\x20=\x2050\x20caps\x20a\x20date-per-sale\x20emulation).','evidence':[{'file':'order.move','line':0x43,'pattern':'items:\x20vector<SaleItem>'}]},{'id':'M2','class':'offchain','name':'Pick\x20the\x20room\x20and\x20the\x20stay\x20dates','actor':'buyer','precondition':['M1'],'onchain':'not_applicable','commercialSemantics':'No\x20check-in/check-out/night\x20field\x20exists\x20on\x20chain\x20(SaleItem\x20carries\x20item/price/quantity/wip\x20only);\x20stay\x20dates\x20live\x20in\x20the\x20stay-date\x20Repository\x20row\x20written\x20at\x20buy\x20time\x20per\x20the\x20STAY-DATE\x20PRESCRIPTION\x20—\x20the\x20selection\x20act\x20itself\x20stays\x20off-chain.','evidence':[{'file':'order.move','line':0x21,'pattern':'public\x20struct\x20SaleItem'}]},{'id':'M3','class':'main','name':'Pay\x20online\x20—\x20booking\x20escrowed\x20atomically','actor':'buyer','precondition':['M2'],'onchain':'expressible','chainFootprint':{'node':'paid','forward':'pay','prev':'','identity':'order_holder','moneyEffect':'escrow_in'},'commercialSemantics':'Booking.com\x20collects\x20payment\x20(online\x20or\x20at-property);\x20the\x20template\x20models\x20the\x20online\x20prepay:\x20the\x20full\x20amount\x20escrows\x20at\x20pay\x20with\x20no\x20unpaid\x20\x27created\x27\x20state\x20—\x20the\x20first\x20pair\x27s\x20prev_node\x20is\x20the\x20empty\x20string.','evidence':[{'file':'payment.move','line':0xa2,'pattern':'public\x20fun\x20create<T>'}]},{'id':'M4','class':'main','name':'Property/supplier\x20confirms\x20the\x20reservation\x20within\x2048h','actor':'merchant','precondition':['M3'],'onchain':'expressible','chainFootprint':{'node':'confirmed','forward':'supplier_confirm','prev':'paid','identity':'permission_index','moneyEffect':'none'},'commercialSemantics':'Booking.com\x20relays\x20the\x20property\x27s\x20confirmation;\x20the\x20supplier\x20confirm\x20rides\x20permission\x20slot\x201001\x20inside\x20the\x2048h\x20window\x20(supplier_confirm_window_hours)\x20—\x20a\x20timeout\x20releases\x20the\x20order\x20to\x20the\x20refund\x20rail\x20(E2).','evidence':[{'file':'machine.move','line':0x5f,'pattern':'namedOperator,\x20permissionIndex,\x20and\x20guard\x20participate'}]},{'id':'M5','class':'main','name':'Check-in\x20—\x20dual\x20confirmation\x20(property\x20evidence\x20+\x20buyer\x20identity)','actor':'buyer','precondition':['M4'],'onchain':'expressible','chainFootprint':{'node':'in_stay','identity':'order_holder','moneyEffect':'none'},'commercialSemantics':'Front-desk\x20check-in\x20needs\x20BOTH\x20sides:\x20the\x20property\x20submits\x20the\x20redemption\x20evidence\x20hash\x20(order.item.wip_hash\x20comparison)\x20AND\x20the\x20buyer\x20confirms\x20arrival\x20—\x20threshold=2\x20with\x20two\x20weight-1\x20forwards\x20on\x20ONE\x20Pair\x20(booking\x20F-04\x20corrected:\x20threshold\x20gates\x20operator\x20bindings,\x20not\x20people).','guardKeyProbe':'checkin_evidence','evidence':[{'file':'progress.move','line':0x57,'pattern':'threshold:\x20u32'}]},{'id':'M6','class':'main','name':'Check-out\x20confirmed\x20by\x20the\x20buyer','actor':'buyer','precondition':['M5'],'onchain':'expressible','chainFootprint':{'node':'completed','forward':'check_out_guest','prev':'in_stay','identity':'order_holder','moneyEffect':'none'},'commercialSemantics':'completed\x20means\x20the\x20stay\x20was\x20DELIVERED,\x20not\x20settled\x20—\x20the\x20serial\x20claim\x20window\x20comes\x20next\x20and\x20the\x20pool\x20stays\x20intact.\x20The\x20departure\x20date\x20itself\x20is\x20off-chain\x20(Repository\x20row\x20or\x20order.time\x20+\x20stay_nights\x20approximation).','guardKeyProbe':'checkout_gate','evidence':[]},{'id':'M7','class':'main','name':'Keeper\x20opens\x20the\x20serial\x20claim\x20window\x20after\x20checkout','actor':'keeper','precondition':['M6'],'onchain':'expressible','chainFootprint':{'node':'claim_window','forward':'open_claim_window','prev':'completed','identity':'permission_index','moneyEffect':'none'},'commercialSemantics':'Booking.com\x20holds\x20payout\x20until\x20its\x20post-stay\x20dispute\x20window\x20lapses;\x20the\x20v30\x20serial\x20window\x20makes\x20the\x20same\x20discipline\x20structural\x20—\x20a\x20mandatory\x20claim_window\x20waypoint\x20keeps\x20the\x20pool\x20intact\x20and\x20undisputed\x20while\x20any\x20post-stay\x20claim\x20could\x20still\x20be\x20filed.','evidence':[{'file':'progress.move','line':0x22c,'pattern':'parent_table_vec::push_back'}]},{'id':'M8','class':'main','name':'Buyer\x20reviews\x20the\x20stay\x20(dual-column\x20rating\x20+\x20comment\x20rows)','actor':'buyer','precondition':['M6'],'onchain':'expressible','chainFootprint':{'node':'reviewed','forward':'submit_review','prev':'completed','identity':'order_holder','moneyEffect':'none'},'commercialSemantics':'Booking.com\x20reviews\x20pair\x20a\x20numeric\x20rating\x20with\x20a\x20text\x20comment;\x20the\x20DUAL-COLUMN\x20IDIOM\x20writes\x20a\x20U256\x20rating\x20row\x20(range-queryable)\x20plus\x20a\x20String\x20comment\x20row\x20keyed\x20to\x20the\x20same\x20order.\x20Authorship\x20is\x20bound\x20to\x20the\x20order\x20holder\x20(review_author_identity)\x20so\x20the\x20platform\x20cannot\x20forge\x20reviews.','guardKeyProbe':'review_author_identity','evidence':[{'file':'repository.move','line':0xa9,'pattern':'write_once:\x20bool'}]},{'id':'M9','class':'main','name':'Claim\x20window\x20elapses\x20with\x20no\x20claim\x20—\x20order\x20releases','actor':'keeper','precondition':['M7'],'onchain':'expressible','chainFootprint':{'node':'payout_released','forward':'release_no_claim','prev':'claim_window','identity':'permission_index','moneyEffect':'release'},'commercialSemantics':'The\x20release\x20forward\x20fires\x20on\x20a\x20TIME\x20leg\x20anchored\x20on\x20the\x20recorded\x20claim_window\x20entry\x20(v68\x20split:\x20forward\x20guards\x20evaluate\x20pre-advance,\x20so\x20the\x20prev-node\x20history\x20time\x20is\x20the\x20correct\x20anchor;\x20the\x20payout_released\x20state\x20pin\x20stays\x20on\x20the\x20allocator).','guardKeyProbe':'release_no_claim_clock','evidence':[]},{'id':'M10','class':'main','name':'Settlement\x20lands:\x20platform\x20commission\x20+\x20payment\x20fee\x20+\x20property\x20Surplus','actor':'keeper','precondition':['M9'],'onchain':'expressible','chainFootprint':{'node':'payout_released','moneyEffect':'release'},'commercialSemantics':'The\x20three\x20legs\x20form\x20ONE\x20Allocator\x20(Rate\x20sums\x20are\x20asserted\x20per\x20Allocator):\x20commission\x20+\x20fee\x20by\x20Rate,\x20the\x20property\x27s\x20net\x20as\x20Surplus\x20BY\x20DESIGN\x20so\x20the\x20split\x20can\x20never\x20mis-sum\x20—\x20and\x20the\x20Surplus\x20recipient\x20must\x20stay\x20distinct\x20from\x20every\x20Rate\x20leg\x20(R-RECIPIENT-04,\x20Booking\x20mainnet\x20misroute).\x20Direct-sales\x20default:\x200%\x20commission\x20and\x20fee.','guardKeyProbe':'release_no_claim_clock','evidence':[{'file':'allocation.move','line':0xad,'pattern':'AllocationMode_Surplus'}]},{'id':'M11','class':'main','name':'Late\x20review:\x20buyer\x20reviews\x20after\x20the\x20claim\x20window\x20already\x20opened','actor':'buyer','precondition':['M7'],'onchain':'expressible','chainFootprint':{'node':'reviewed','forward':'submit_review','prev':'claim_window','identity':'order_holder','moneyEffect':'none'},'commercialSemantics':'Once\x20open_claim_window\x20fires\x20the\x20order\x20can\x20never\x20return\x20to\x20completed,\x20so\x20the\x20completed-only\x20review\x20entry\x20made\x20review\x20permanently\x20unreachable\x20for\x20late\x20reviewers\x20(abnb14\x20F01\x20generalized);\x20the\x20v102\x20second\x20entry\x20keeps\x20the\x2090-day\x20reward\x20window\x20honest.','guardKeyProbe':'review_author_identity','evidence':[]},{'id':'E1','class':'exception','name':'Free\x20cancellation\x20inside\x20the\x20buyer\x27s\x20window','actor':'buyer','precondition':['M3'],'onchain':'expressible','chainFootprint':{'node':'closed_cancel','forward':'free_cancel','prev':'paid','identity':'order_holder','moneyEffect':'refund'},'commercialSemantics':'Booking.com\x27s\x20free-cancellation\x20policies\x20dominate\x20the\x20listing\x20board;\x20the\x20guard\x20is\x20a\x20CLOSING\x20window\x20(\x27Clock\x20<=\x20order.time\x20+\x20free_cancel_hours\x27)\x20—\x20a\x20closing-gate\x20twin,\x20not\x20an\x20opening\x20lock\x20(bkd8\x20BK-02\x20inversion).\x20P1-3:\x20the\x20window\x20anchors\x20on\x20booking\x20time,\x20NOT\x20\x2772h\x20before\x20arrival\x27\x20(see\x20INV-BK-2).','guardKeyProbe':'free_cancel','evidence':[]},{'id':'E2','class':'exception','name':'Supplier\x20confirm\x20timeout\x20—\x20keeper\x20releases\x20the\x20order','actor':'keeper','precondition':['M3'],'onchain':'expressible','chainFootprint':{'node':'closed_cancel','forward':'confirm_timeout','prev':'paid','identity':'permission_index','moneyEffect':'refund'},'commercialSemantics':'An\x20unanswered\x20confirmation\x20expires\x20the\x20booking\x20with\x20a\x20full\x20refund;\x20Booking.com\x27s\x20real-world\x20counterpart\x20demotes\x20and\x20delists\x20unresponsive\x20properties\x20—\x20the\x20property\x20is\x20demoted\x20off-chain\x20(disclosed\x20in\x20build_notes,\x20see\x20P3).','guardKeyProbe':'confirm_timeout','evidence':[]},{'id':'E3','class':'exception','name':'No-show\x20—\x20first-night-style\x20charge\x20on\x20the\x20dedicated\x20node','actor':'merchant','precondition':['M4'],'onchain':'expressible_with_gap','chainFootprint':{'node':'no_show_charged','forward':'no_show','prev':'confirmed','identity':'permission_index','moneyEffect':'compensate'},'commercialSemantics':'Booking.com\x27s\x20no-show\x20policies\x20charge\x20(typically)\x20the\x20first\x20night.\x20The\x20charge\x20lands\x20on\x20the\x20DEDICATED\x20no_show_charged\x20node\x20—\x20property\x20evidence\x20+\x20a\x20time\x20floor\x20so\x20no\x20charge\x20precedes\x20arrival\x20(bkgota\x20F-03:\x20never\x20merged\x20into\x20completed,\x20where\x20a\x20charged\x20no-show\x20farmed\x20the\x20review\x20reward).\x20The\x20charge\x20AMOUNT\x20approximates\x20a\x20first\x20night\x20by\x20Rate\x20split\x20—\x20no\x20per-night\x20primitive\x20exists.','guardKeyProbe':'no_show_evidence','gapPredicate':{'probe':'time\x20floor|NEVER\x20merge\x20it\x20into\x20completed'},'evidence':[]},{'id':'E4','class':'exception','name':'Supplier\x20disruption\x20record\x20(oversell/closed-out/force\x20majeure)','actor':'merchant','precondition':['M4'],'onchain':'expressible','chainFootprint':{'node':'disrupted','forward':'report_disruption','prev':'confirmed','identity':'permission_index','moneyEffect':'none'},'commercialSemantics':'When\x20the\x20property\x20cannot\x20honor\x20a\x20confirmed\x20booking\x20it\x20files\x20a\x20disruption\x20record\x20hash\x20into\x20the\x20evidence\x20Repository\x20—\x20a\x20RECORD\x20waypoint\x20named\x20for\x20the\x20business\x20state\x20(never\x20dispute/arb-prefixed),\x20so\x20the\x20buyer\x20is\x20paid\x20without\x20ever\x20filing\x20a\x20claim.','guardKeyProbe':'disruption_evidence','evidence':[{'file':'repository.move','line':0x9d,'pattern':'public\x20struct\x20PolicyRule'}]},{'id':'E5','class':'exception','name':'Buyer\x20confirms\x20the\x20disruption\x20refund\x20(double\x20confirmation)','actor':'buyer','precondition':['E4'],'onchain':'expressible','chainFootprint':{'node':'closed_cancel','forward':'refund_after_disruption','prev':'disrupted','identity':'order_holder','moneyEffect':'refund'},'commercialSemantics':'The\x20supplier\x27s\x20own\x20filing\x20never\x20moves\x20money\x20alone\x20—\x20the\x20buyer\x27s\x20order-holder\x20confirmation\x20rides\x20the\x20SAME\x20single\x20refund\x20rail\x20(mirrors\x20retail\x27s\x20RefundAfterLoss);\x20a\x20buyer\x20contesting\x20the\x20disruption\x20instead\x20goes\x20through\x20claim_open\x20+\x20arbitration\x20(R2).','guardKeyProbe':'disruption_refund_gate','evidence':[]},{'id':'E6','class':'exception','name':'Genius\x20/\x20preferred-partner\x20tier\x20pricing','actor':'platform','precondition':['M1'],'onchain':'disclosure_only','commercialSemantics':'Booking.com\x27s\x20Genius\x20discounts\x20and\x20preferred-partner\x20visibility\x20are\x20loyalty-program\x20economics;\x20preferred_property_rate_bps\x20is\x20a\x20benchmark\x20disclosure\x20only\x20—\x20no\x20allocator\x20row\x20reads\x20it,\x20so\x20tier\x20pricing\x20stays\x20an\x20off-chain\x20display\x20concern.','disclosureProbe':'benchmark\x20disclosure\x20only|no\x20allocator\x20row\x20reads\x20it','evidence':[]},{'id':'E7','class':'exception','name':'Date\x20change\x20(reschedule)\x20=\x20refund-and-rebuy,\x20never\x20a\x20node','actor':'buyer','precondition':['M3'],'onchain':'disclosure_only','commercialSemantics':'Booking.com\x20lets\x20guests\x20modify\x20dates;\x20the\x20chain\x20has\x20no\x20calendar\x20primitive\x20and\x20an\x20Order\x20amount\x20is\x20immutable,\x20so\x20a\x20true\x20reschedule\x20node\x20would\x20be\x20a\x20half-true\x20node\x20—\x20the\x20template\x20discloses\x20the\x20refund-and-rebuy\x20routing\x20through\x20the\x20existing\x20rails\x20until\x20the\x20Move\x20layer\x20grows\x20a\x20date\x20primitive.','disclosureProbe':'REFUND-AND-REBUY|deliberate\x20non-coverage','evidence':[]},{'id':'R1','class':'remedy','name':'Post-stay\x20claim\x20filed\x20inside\x20the\x20serial\x20window','actor':'buyer','precondition':['M7'],'onchain':'expressible','chainFootprint':{'node':'poststay_claim','forward':'file_claim','prev':'claim_window','identity':'order_holder','moneyEffect':'none'},'commercialSemantics':'Wrong\x20charge,\x20misrepresented\x20stay:\x20guest\x20or\x20support\x20files\x20inside\x20the\x20witness-anchored\x20closing\x20window\x20(plus\x20the\x20order-owner\x20identity\x20leg\x20—\x20bkg15\x20F05);\x20arbitration\x20decides\x20off-Machine.','guardKeyProbe':'poststay_claim_window','evidence':[]},{'id':'R2','class':'remedy','name':'Pre-stay\x20walk/oversell\x20claim\x20filed\x20by\x20the\x20buyer','actor':'buyer','precondition':['M4'],'onchain':'expressible','chainFootprint':{'node':'claim_open','forward':'walk_claim','prev':'confirmed','identity':'order_holder','moneyEffect':'none'},'commercialSemantics':'The\x20property\x20walks\x20the\x20guest\x20(room\x20sold\x20twice)\x20—\x20the\x20buyer\x20files\x20first\x20with\x20claim\x20evidence;\x20filing\x20is\x20order-holder-bound\x20so\x20nobody\x20(platform\x20included)\x20can\x20file\x20on\x20the\x20buyer\x27s\x20behalf.','guardKeyProbe':'walk_claim_identity','evidence':[]},{'id':'R3','class':'remedy','name':'Buyer\x20withdraws\x20a\x20post-stay\x20claim\x20before\x20any\x20ruling','actor':'buyer','precondition':['R1'],'onchain':'expressible','chainFootprint':{'node':'closed_cancel','forward':'WithdrawClaim','prev':'poststay_claim','identity':'order_holder','moneyEffect':'refund'},'commercialSemantics':'W5-02\x20void\x20escape:\x20a\x20case\x20that\x20never\x20rules\x20(withdrawn,\x20reset,\x20abandoned)\x20fails\x20both\x20ruling\x20roots\x20closed,\x20so\x20the\x20buyer\x27s\x20single-hop\x20withdraw\x20refunds\x20the\x20intact\x20pool\x20instead\x20of\x20stranding\x20the\x20order\x20at\x20the\x20waypoint\x20(IMMUT-001).','guardKeyProbe':'withdraw_claim_poststay','evidence':[{'file':'arb.move','line':0x10,'pattern':'WITHDRAW_DURATION_TIME'}]},{'id':'R4','class':'remedy','name':'Buyer\x20withdraws\x20a\x20walk\x20claim\x20before\x20any\x20ruling','actor':'buyer','precondition':['R2'],'onchain':'expressible','chainFootprint':{'node':'closed_cancel','forward':'WithdrawClaim','prev':'claim_open','identity':'order_holder','moneyEffect':'refund'},'commercialSemantics':'The\x20claim_open\x20twin\x20of\x20R3\x20—\x20one\x20key\x20per\x20source\x20node\x20(M-T2),\x20both\x20escapes\x20refund\x20the\x20untouched\x20escrow\x20because\x20nothing\x20fired\x20at\x20all.','guardKeyProbe':'withdraw_claim_walk','evidence':[]},{'id':'R5','class':'remedy','name':'Guest-favor\x20ruling\x20on\x20the\x20post-stay\x20claim\x20—\x20arb\x20refund','actor':'platform','precondition':['R1'],'onchain':'expressible','chainFootprint':{'node':'closed_cancel','forward':'arb_refund','prev':'poststay_claim','identity':'permission_index','moneyEffect':'refund'},'commercialSemantics':'The\x20refund\x20edge\x20gates\x20on\x20arb.order\x20==\x20order\x20AND\x20arb.indemnity\x20some\x20==\x20true\x20—\x20a\x20stable\x20ruling\x20signal\x20immune\x20to\x20fee\x20withdrawals\x20and\x20never\x20keyed\x20on\x20arb.status\x20(which\x20arb_withdraw\x20advances\x20past\x20the\x2030-day\x20silence\x20window,\x20stranding\x20funds).','guardKeyProbe':'arb_won_poststay','evidence':[{'file':'arb.move','line':0xb4,'pattern':'indemnity:\x20Option<Indemnity>'}]},{'id':'R6','class':'remedy','name':'Guest-favor\x20ruling\x20on\x20the\x20walk\x20claim\x20—\x20arb\x20refund','actor':'platform','precondition':['R2'],'onchain':'expressible','chainFootprint':{'node':'closed_cancel','forward':'arb_refund','prev':'claim_open','identity':'permission_index','moneyEffect':'refund'},'commercialSemantics':'The\x20walked\x20guest\x20is\x20made\x20whole\x20by\x20an\x20arbitration-ruled\x20refund\x20of\x20the\x20intact\x20pool\x20—\x20the\x20escrow-rail\x20half\x20of\x20the\x20walk\x20guarantee\x20(the\x20guarantee\x27s\x20rebooking\x20half\x20stays\x20off-chain,\x20see\x20R10).','guardKeyProbe':'arb_won_walk','evidence':[]},{'id':'R7','class':'remedy','name':'Dismissed\x20post-stay\x20claim\x20—\x20pool\x20releases\x20to\x20settlement','actor':'platform','precondition':['R1'],'onchain':'expressible','chainFootprint':{'node':'payout_released','forward':'claim_dismissed','prev':'poststay_claim','identity':'permission_index','moneyEffect':'release'},'commercialSemantics':'The\x20dismissal\x20edge\x20gates\x20on\x20indemnity.amount\x20==\x200\x20with\x20fail-closed\x20None\x20handling:\x20the\x20leg\x20passes\x20ONLY\x20when\x20a\x20ruling\x20exists\x20AND\x20favoured\x20the\x20merchant\x20—\x20\x27never\x20ruled\x27\x20can\x20never\x20release\x20the\x20pool.','guardKeyProbe':'arb_dismissed_poststay','evidence':[{'file':'arb.move','line':0x21,'pattern':'Zero-indemnity\x20claim\x20gate'}]},{'id':'R8','class':'remedy','name':'Property-favor\x20ruling\x20on\x20the\x20walk\x20claim\x20—\x20the\x20booking\x20stands','actor':'platform','precondition':['R2'],'onchain':'expressible','chainFootprint':{'node':'confirmed','forward':'claim_dismissed_resume','prev':'claim_open','identity':'permission_index','moneyEffect':'none'},'commercialSemantics':'The\x20stay\x20resumes\x20from\x20confirmed\x20—\x20claim_open\x20is\x20NEVER\x20a\x20stop\x20node\x20with\x20money,\x20mirroring\x20how\x20Booking.com\x20reinstates\x20a\x20disputed\x20reservation\x20after\x20the\x20property\x20proves\x20delivery.','guardKeyProbe':'arb_dismissed_resume','evidence':[]},{'id':'R9','class':'remedy','name':'Compensation\x20fund\x20—\x20FORBIDDEN\x20until\x20the\x20escrow\x20shared\x20gate\x20lands','actor':'platform','precondition':['R2'],'onchain':'disclosure_only','commercialSemantics':'Booking.com\x20customer\x20service\x20pays\x20goodwill\x20compensation;\x20on\x20chain\x20the\x20A-2\x20lesson\x20(one\x20guest\x20took\x20a\x20full\x20refund\x20AND\x20a\x203x\x20award\x20for\x20the\x20same\x20order\x20—\x20worst\x20case\x204x)\x20plus\x20the\x20user\x20ruling\x202026-10-15\x20forbid\x20funding\x20the\x20compensation\x20fund\x20until\x20the\x20arbitration-escrow\x20shared\x20gate\x20exists:\x20disputes\x20ride\x20the\x20escrow\x20rails\x20only.','disclosureProbe':'DO\x20NOT\x20FUND|double-takeable','evidence':[{'file':'service.move','line':0x24c,'pattern':'public\x20fun\x20compensation_claim'}]},{'id':'R10','class':'remedy','name':'Walk\x20guarantee:\x20relocation\x20to\x20equal/better\x20or\x20refund','actor':'platform','precondition':['R2'],'onchain':'expressible_with_gap','chainFootprint':{'node':'claim_open','moneyEffect':'refund'},'commercialSemantics':'Booking.com\x27s\x20oversell\x20promise\x20promises\x20comparable\x20relocation\x20or\x20a\x20refund.\x20The\x20chain\x20expresses\x20the\x20refund\x20half\x20first-class\x20(walk\x20claim\x20+\x20arbitration-ruled\x20arb_refund);\x20relocation\x20is\x20a\x20booking-free\x20rebook\x20that\x20needs\x20a\x20fresh\x20Order\x20—\x20no\x20automatic\x20rebooking\x20primitive\x20exists\x20on\x20chain.','gapPredicate':{'probe':'buyer-first\x20claim\x20evidence|Oversell\x20walk'},'evidence':[]},{'id':'P1','class':'post','name':'Buyer\x20claims\x20the\x20review-reward\x20bounty\x20inside\x20the\x2090-day\x20window','actor':'buyer','precondition':['M8'],'onchain':'disclosure_only','commercialSemantics':'Booking.com\x20has\x20no\x20reviewer\x20bounty;\x20the\x20template\x27s\x20sale-time-planned\x20Reward\x20rail\x20is\x20an\x20ADDITION\x20(reward\x20pool\x20funded\x20at\x20build,\x20once-per-order\x20claim,\x2090-day\x20window).\x20The\x20machine-shape\x20matcher\x20cannot\x20see\x20reward-object\x20guards,\x20so\x20the\x20step\x20is\x20recorded\x20as\x20disclosed-by-corpus\x20rather\x20than\x20footprint-matched.','disclosureProbe':'Review\x20Reward\x20window|review_reward','evidence':[{'file':'reward.move','line':0xe3,'pattern':'public\x20fun\x20claim<T>'}]},{'id':'P2','class':'post','name':'Refunded\x20booking\x20returns\x20the\x20room\x20to\x20sellable\x20stock','actor':'keeper','precondition':['E1'],'onchain':'disclosure_only','commercialSemantics':'Booking.com\x20re-lists\x20cancelled\x20inventory\x20immediately;\x20buy\x20decrements\x20the\x20stock\x20counter\x20and\x20NOTHING\x20refunds\x20it\x20—\x20compile\x20emits\x20the\x20restock.flag\x20half\x20and\x20the\x20keeper\x20runs\x20service.restock\x20once\x20per\x20refunded\x20order\x20(B-E/T5),\x20with\x20sale_name\x20copied\x20EXACTLY\x20(silent\x20no-op\x20otherwise).','disclosureProbe':'stock_add|restock','evidence':[{'file':'service.move','line':0x9a,'pattern':'restock_on_refund'}]},{'id':'P3','class':'post','name':'Unresponsive\x20property\x20demoted\x20off-chain','actor':'platform','precondition':['E2'],'onchain':'disclosure_only','commercialSemantics':'Ranking\x20demotion\x20is\x20Booking.com\x27s\x20real\x20lever\x20against\x20no-show\x20properties;\x20the\x20chain\x20template\x20records\x20it\x20as\x20an\x20explicit\x20off-chain\x20keeper\x20consequence\x20—\x20no\x20on-chain\x20reputation\x20primitive\x20exists.','disclosureProbe':'demoted\x20off-chain','evidence':[]}],'invariants':[{'id':'INV-BK-1','statement':'The\x20walk\x20guarantee\x20(comparable\x20relocation\x20or\x20refund)\x20must\x20make\x20the\x20walked\x20guest\x20whole\x20from\x20the\x20intact\x20escrow\x20only\x20—\x20the\x20compensation\x20fund\x20must\x20stay\x20UNFUNDED\x20until\x20the\x20arbitration-escrow\x20shared\x20gate\x20lands.','jurisdiction':'Booking.com\x20oversell/relocation\x20guarantee;\x20EU\x20Package\x20Travel\x20Directive\x20art.\x2011\x20(cancellation/protection).','chainConflict':'A-2\x20verified\x20the\x20refund\x20allocator\x20and\x20the\x20compensation\x20payout\x20are\x20INDEPENDENT\x20channels\x20—\x20worst\x20case\x204x\x20(full\x20refund\x201x\x20+\x20award\x20ceiling\x203x),\x20and\x20the\x20compensation-claim\x20call\x20has\x20no\x20Guard\x20slot\x20to\x20seal\x20refund-then-claim.\x20The\x20user\x20ruling\x20(2026-10-15)\x20therefore\x20forbids\x20funding:\x20disputes\x20ride\x20the\x20escrow\x20rails\x20only.\x20Text-only:\x20the\x20fund\x20policy\x20is\x20a\x20template\x20flag,\x20not\x20a\x20fee_params\x20key.','evidence':[{'file':'service.move','line':0x24c,'pattern':'public\x20fun\x20compensation_claim'}]},{'id':'INV-BK-2','statement':'Free\x20cancellation\x20and\x20no-show\x20floors\x20are\x20promises\x20about\x20the\x20STAY\x20CALENDAR\x20(\x2772h\x20before\x20arrival\x27,\x20\x276h\x20after\x20no-show\x20onset\x27);\x20on\x20chain\x20every\x20window\x20anchors\x20on\x20order.time\x20—\x20booking\x20time,\x20not\x20arrival\x20time.','jurisdiction':'Booking.com\x20free-cancellation\x20policy\x20terms;\x20EU\x20Consumer\x20Rights\x20Directive\x20art.\x206\x20(pre-contractual\x20information).','chainConflict':'No\x20check-in/check-out/night\x20field\x20exists\x20on\x20chain\x20(Order\x20items\x20are\x20SaleItem{item,price,quantity,wip_hash});\x20the\x20STAY-DATE\x20PRESCRIPTION\x20(order-scoped\x20Repository\x20row\x20+\x20Clock-vs-row+offset\x20leg)\x20is\x20the\x20disclosed\x20cure,\x20but\x20the\x20default\x20remains\x20order.time.\x20With\x20typical\x20weeks-long\x20lead\x20time\x20the\x20gap\x20is\x20material,\x20not\x20cosmetic.\x20Text-only.','evidence':[{'file':'order.move','line':0x21,'pattern':'public\x20struct\x20SaleItem'},{'file':'order.move','line':0x43,'pattern':'items:\x20vector<SaleItem>'}]},{'id':'INV-BK-3','statement':'A\x20never-ruled\x20claim\x20case\x20(withdrawn,\x20reset,\x20abandoned)\x20must\x20not\x20strand\x20the\x20order\x20at\x20the\x20claim\x20waypoint\x20—\x20the\x20buyer\x27s\x20single-hop\x20withdraw\x20refunds\x20the\x20intact\x20pool.','jurisdiction':'Booking.com\x20dispute\x20terms\x20(reservation\x20returned\x20on\x20abandoned\x20complaints).','chainConflict':'Both\x20ruling\x20edges\x20fail\x20closed\x20on\x20the\x20None\x20indemnity,\x20so\x20without\x20the\x20W5-02\x20WithdrawClaim\x20void\x20escape\x20a\x20withdrawn\x20case\x20strands\x20the\x20order\x20at\x20claim_open/poststay_claim\x20forever\x20(IMMUT-001).\x20This\x20standing\x20check\x20re-fires\x20the\x20invariant\x20the\x20moment\x20either\x20withdraw\x20edge\x20disappears.','evidence':[],'violation':{'whileMissingForward':'WithdrawClaim'}},{'id':'INV-BK-4','statement':'Payout\x20can\x20never\x20fire\x20while\x20a\x20post-stay\x20claim\x20could\x20still\x20be\x20filed\x20—\x20the\x20serial\x20claim\x20window\x20is\x20a\x20mandatory\x20waypoint\x20between\x20delivery\x20and\x20settlement.','jurisdiction':'Booking.com\x20post-stay\x20dispute\x20window\x20terms.','chainConflict':'The\x20pre-v30\x20graph\x20released\x20straight\x20off\x20completed\x20(v86\x20KLM-FIX-2\x20deleted\x20the\x20recovered\x20weld);\x20the\x20serial\x20window\x20re-introduced\x20payout_released\x20reachable\x20only\x20from\x20claim_window\x20or\x20a\x20dismissed\x20poststay_claim.\x20This\x20standing\x20check\x20re-fires\x20the\x20invariant\x20if\x20the\x20window-opening\x20forward\x20disappears.','evidence':[],'violation':{'whileMissingForward':'open_claim_window'}}]};
1
+ export const BOOKING_COM_ORACLE={'productRef':'booking-com','products':['booking-com','agoda','expedia','priceline'],'oracleVersion':'1.0.0','steps':[{'id':'M1','class':'offchain','name':'Search\x20and\x20compare\x20properties\x20(Genius\x20loyalty\x20pricing\x20shown)','actor':'buyer','precondition':[],'onchain':'not_applicable','commercialSemantics':'Search,\x20filters\x20and\x20loyalty-tier\x20price\x20display\x20are\x20app\x20concerns;\x20the\x20chain\x20holds\x20one\x20Sale\x20item\x20per\x20room\x20type\x20with\x20a\x20stock\x20counter\x20—\x20no\x20property\x20index,\x20no\x20photos,\x20no\x20per-date\x20price\x20calendar\x20(MAX_SALE_COUNT\x20=\x2050\x20caps\x20a\x20date-per-sale\x20emulation).','evidence':[{'file':'order.move','line':0x43,'pattern':'items:\x20vector<SaleItem>'}]},{'id':'M2','class':'offchain','name':'Pick\x20the\x20room\x20and\x20the\x20stay\x20dates','actor':'buyer','precondition':['M1'],'onchain':'not_applicable','commercialSemantics':'No\x20check-in/check-out/night\x20field\x20exists\x20on\x20chain\x20(SaleItem\x20carries\x20item/price/quantity/wip\x20only);\x20stay\x20dates\x20live\x20in\x20the\x20stay-date\x20Repository\x20row\x20written\x20at\x20buy\x20time\x20per\x20the\x20STAY-DATE\x20PRESCRIPTION\x20—\x20the\x20selection\x20act\x20itself\x20stays\x20off-chain.','evidence':[{'file':'order.move','line':0x21,'pattern':'public\x20struct\x20SaleItem'}]},{'id':'M3','class':'main','name':'Pay\x20online\x20—\x20booking\x20escrowed\x20atomically','actor':'buyer','precondition':['M2'],'onchain':'expressible','chainFootprint':{'node':'paid','forward':'pay','prev':'','identity':'order_holder','moneyEffect':'escrow_in'},'commercialSemantics':'Booking.com\x20collects\x20payment\x20(online\x20or\x20at-property);\x20the\x20template\x20models\x20the\x20online\x20prepay:\x20the\x20full\x20amount\x20escrows\x20at\x20pay\x20with\x20no\x20unpaid\x20\x27created\x27\x20state\x20—\x20the\x20first\x20pair\x27s\x20prev_node\x20is\x20the\x20empty\x20string.','evidence':[{'file':'payment.move','line':0xa2,'pattern':'public\x20fun\x20create<T>'}]},{'id':'M4','class':'main','name':'Property/supplier\x20confirms\x20the\x20reservation\x20within\x2048h','actor':'merchant','precondition':['M3'],'onchain':'expressible','chainFootprint':{'node':'confirmed','forward':'supplier_confirm','prev':'paid','identity':'permission_index','moneyEffect':'none'},'commercialSemantics':'Booking.com\x20relays\x20the\x20property\x27s\x20confirmation;\x20the\x20supplier\x20confirm\x20rides\x20permission\x20slot\x201001\x20inside\x20the\x2048h\x20window\x20(supplier_confirm_window_hours)\x20—\x20a\x20timeout\x20releases\x20the\x20order\x20to\x20the\x20refund\x20rail\x20(E2).','evidence':[{'file':'machine.move','line':0x5f,'pattern':'namedOperator,\x20permissionIndex,\x20and\x20guard\x20participate'}]},{'id':'M5','class':'main','name':'Check-in\x20—\x20dual\x20confirmation\x20(property\x20evidence\x20+\x20buyer\x20identity)','actor':'buyer','precondition':['M4'],'onchain':'expressible','chainFootprint':{'node':'in_stay','identity':'order_holder','moneyEffect':'none'},'commercialSemantics':'Front-desk\x20check-in\x20needs\x20BOTH\x20sides:\x20the\x20property\x20submits\x20the\x20redemption\x20evidence\x20hash\x20(order.item.wip_hash\x20comparison)\x20AND\x20the\x20buyer\x20confirms\x20arrival\x20—\x20threshold=2\x20with\x20two\x20weight-1\x20forwards\x20on\x20ONE\x20Pair\x20(booking\x20F-04\x20corrected:\x20threshold\x20gates\x20operator\x20bindings,\x20not\x20people).','guardKeyProbe':'checkin_evidence','evidence':[{'file':'progress.move','line':0x57,'pattern':'threshold:\x20u32'}]},{'id':'M6','class':'main','name':'Check-out\x20confirmed\x20by\x20the\x20buyer','actor':'buyer','precondition':['M5'],'onchain':'expressible','chainFootprint':{'node':'completed','forward':'check_out_guest','prev':'in_stay','identity':'order_holder','moneyEffect':'none'},'commercialSemantics':'completed\x20means\x20the\x20stay\x20was\x20DELIVERED,\x20not\x20settled\x20—\x20the\x20serial\x20claim\x20window\x20comes\x20next\x20and\x20the\x20pool\x20stays\x20intact.\x20The\x20departure\x20date\x20itself\x20is\x20off-chain\x20(Repository\x20row\x20or\x20order.time\x20+\x20stay_nights\x20approximation).','guardKeyProbe':'checkout_gate','evidence':[]},{'id':'M7','class':'main','name':'Keeper\x20opens\x20the\x20serial\x20claim\x20window\x20after\x20checkout','actor':'keeper','precondition':['M6'],'onchain':'expressible','chainFootprint':{'node':'claim_window','forward':'open_claim_window','prev':'completed','identity':'permission_index','moneyEffect':'none'},'commercialSemantics':'Booking.com\x20holds\x20payout\x20until\x20its\x20post-stay\x20dispute\x20window\x20lapses;\x20the\x20v30\x20serial\x20window\x20makes\x20the\x20same\x20discipline\x20structural\x20—\x20a\x20mandatory\x20claim_window\x20waypoint\x20keeps\x20the\x20pool\x20intact\x20and\x20undisputed\x20while\x20any\x20post-stay\x20claim\x20could\x20still\x20be\x20filed.','evidence':[{'file':'progress.move','line':0x22c,'pattern':'parent_table_vec::push_back'}]},{'id':'M8','class':'main','name':'Buyer\x20reviews\x20the\x20stay\x20(dual-column\x20rating\x20+\x20comment\x20rows)','actor':'buyer','precondition':['M6'],'onchain':'expressible','chainFootprint':{'node':'reviewed','forward':'submit_review','prev':'completed','identity':'order_holder','moneyEffect':'none'},'commercialSemantics':'Booking.com\x20reviews\x20pair\x20a\x20numeric\x20rating\x20with\x20a\x20text\x20comment;\x20the\x20DUAL-COLUMN\x20IDIOM\x20writes\x20a\x20U256\x20rating\x20row\x20(range-queryable)\x20plus\x20a\x20String\x20comment\x20row\x20keyed\x20to\x20the\x20same\x20order.\x20Authorship\x20is\x20bound\x20to\x20the\x20order\x20holder\x20(review_author_identity)\x20so\x20the\x20platform\x20cannot\x20forge\x20reviews.','guardKeyProbe':'review_author_identity','evidence':[{'file':'repository.move','line':0xa9,'pattern':'write_once:\x20bool'}]},{'id':'M9','class':'main','name':'Claim\x20window\x20elapses\x20with\x20no\x20claim\x20—\x20order\x20releases','actor':'keeper','precondition':['M7'],'onchain':'expressible','chainFootprint':{'node':'payout_released','forward':'release_no_claim','prev':'claim_window','identity':'permission_index','moneyEffect':'release'},'commercialSemantics':'The\x20release\x20forward\x20fires\x20on\x20a\x20TIME\x20leg\x20anchored\x20on\x20the\x20recorded\x20claim_window\x20entry\x20(v68\x20split:\x20forward\x20guards\x20evaluate\x20pre-advance,\x20so\x20the\x20prev-node\x20history\x20time\x20is\x20the\x20correct\x20anchor;\x20the\x20payout_released\x20state\x20pin\x20stays\x20on\x20the\x20allocator).','guardKeyProbe':'release_no_claim_clock','evidence':[]},{'id':'M10','class':'main','name':'Settlement\x20lands:\x20platform\x20commission\x20+\x20payment\x20fee\x20+\x20property\x20Surplus','actor':'keeper','precondition':['M9'],'onchain':'expressible','chainFootprint':{'node':'payout_released','moneyEffect':'release'},'commercialSemantics':'The\x20three\x20legs\x20form\x20ONE\x20Allocator\x20(Rate\x20sums\x20are\x20asserted\x20per\x20Allocator):\x20commission\x20+\x20fee\x20by\x20Rate,\x20the\x20property\x27s\x20net\x20as\x20Surplus\x20BY\x20DESIGN\x20so\x20the\x20split\x20can\x20never\x20mis-sum\x20—\x20and\x20the\x20Surplus\x20recipient\x20must\x20stay\x20distinct\x20from\x20every\x20Rate\x20leg\x20(R-RECIPIENT-04,\x20Booking\x20mainnet\x20misroute).\x20Direct-sales\x20default:\x200%\x20commission\x20and\x20fee.','guardKeyProbe':'release_no_claim_clock','evidence':[{'file':'allocation.move','line':0xad,'pattern':'AllocationMode_Surplus'}]},{'id':'M11','class':'main','name':'Late\x20review:\x20buyer\x20reviews\x20after\x20the\x20claim\x20window\x20already\x20opened','actor':'buyer','precondition':['M7'],'onchain':'expressible','chainFootprint':{'node':'reviewed','forward':'submit_review','prev':'claim_window','identity':'order_holder','moneyEffect':'none'},'commercialSemantics':'Once\x20open_claim_window\x20fires\x20the\x20order\x20can\x20never\x20return\x20to\x20completed,\x20so\x20the\x20completed-only\x20review\x20entry\x20made\x20review\x20permanently\x20unreachable\x20for\x20late\x20reviewers\x20(abnb14\x20F01\x20generalized);\x20the\x20v102\x20second\x20entry\x20keeps\x20the\x2090-day\x20reward\x20window\x20honest.','guardKeyProbe':'review_author_identity','evidence':[]},{'id':'E1','class':'exception','name':'Free\x20cancellation\x20inside\x20the\x20buyer\x27s\x20window','actor':'buyer','precondition':['M3'],'onchain':'expressible','chainFootprint':{'node':'closed_cancel','forward':'free_cancel','prev':'paid','identity':'order_holder','moneyEffect':'refund'},'commercialSemantics':'Booking.com\x27s\x20free-cancellation\x20policies\x20dominate\x20the\x20listing\x20board;\x20the\x20guard\x20is\x20a\x20CLOSING\x20window\x20(\x27Clock\x20<=\x20order.time\x20+\x20free_cancel_hours\x27)\x20—\x20a\x20closing-gate\x20twin,\x20not\x20an\x20opening\x20lock\x20(bkd8\x20BK-02\x20inversion).\x20P1-3:\x20the\x20window\x20anchors\x20on\x20booking\x20time,\x20NOT\x20\x2772h\x20before\x20arrival\x27\x20(see\x20INV-BK-2).','guardKeyProbe':'free_cancel','evidence':[]},{'id':'E2','class':'exception','name':'Supplier\x20confirm\x20timeout\x20—\x20keeper\x20releases\x20the\x20order','actor':'keeper','precondition':['M3'],'onchain':'expressible','chainFootprint':{'node':'closed_cancel','forward':'confirm_timeout','prev':'paid','identity':'permission_index','moneyEffect':'refund'},'commercialSemantics':'An\x20unanswered\x20confirmation\x20expires\x20the\x20booking\x20with\x20a\x20full\x20refund;\x20Booking.com\x27s\x20real-world\x20counterpart\x20demotes\x20and\x20delists\x20unresponsive\x20properties\x20—\x20the\x20property\x20is\x20demoted\x20off-chain\x20(disclosed\x20in\x20build_notes,\x20see\x20P3).','guardKeyProbe':'confirm_timeout','evidence':[]},{'id':'E3','class':'exception','name':'No-show\x20—\x20first-night-style\x20charge\x20on\x20the\x20dedicated\x20node','actor':'merchant','precondition':['M4'],'onchain':'expressible_with_gap','chainFootprint':{'node':'no_show_charged','forward':'no_show','prev':'confirmed','identity':'permission_index','moneyEffect':'compensate'},'commercialSemantics':'Booking.com\x27s\x20no-show\x20policies\x20charge\x20(typically)\x20the\x20first\x20night.\x20The\x20charge\x20lands\x20on\x20the\x20DEDICATED\x20no_show_charged\x20node\x20—\x20property\x20evidence\x20+\x20a\x20time\x20floor\x20so\x20no\x20charge\x20precedes\x20arrival\x20(bkgota\x20F-03:\x20never\x20merged\x20into\x20completed,\x20where\x20a\x20charged\x20no-show\x20farmed\x20the\x20review\x20reward).\x20The\x20charge\x20AMOUNT\x20approximates\x20a\x20first\x20night\x20by\x20Rate\x20split\x20—\x20no\x20per-night\x20primitive\x20exists.','guardKeyProbe':'no_show_evidence','gapPredicate':{'probe':'time\x20floor|NEVER\x20merge\x20it\x20into\x20completed'},'evidence':[]},{'id':'E4','class':'exception','name':'Supplier\x20disruption\x20record\x20(oversell/closed-out/force\x20majeure)','actor':'merchant','precondition':['M4'],'onchain':'expressible','chainFootprint':{'node':'disrupted','forward':'report_disruption','prev':'confirmed','identity':'permission_index','moneyEffect':'none'},'commercialSemantics':'When\x20the\x20property\x20cannot\x20honor\x20a\x20confirmed\x20booking\x20it\x20files\x20a\x20disruption\x20record\x20hash\x20into\x20the\x20evidence\x20Repository\x20—\x20a\x20RECORD\x20waypoint\x20named\x20for\x20the\x20business\x20state\x20(never\x20dispute/arb-prefixed),\x20so\x20the\x20buyer\x20is\x20paid\x20without\x20ever\x20filing\x20a\x20claim.','guardKeyProbe':'disruption_evidence','evidence':[{'file':'repository.move','line':0x9d,'pattern':'public\x20struct\x20PolicyRule'}]},{'id':'E5','class':'exception','name':'Buyer\x20confirms\x20the\x20disruption\x20refund\x20(double\x20confirmation)','actor':'buyer','precondition':['E4'],'onchain':'expressible','chainFootprint':{'node':'closed_cancel','forward':'refund_after_disruption','prev':'disrupted','identity':'order_holder','moneyEffect':'refund'},'commercialSemantics':'The\x20supplier\x27s\x20own\x20filing\x20never\x20moves\x20money\x20alone\x20—\x20the\x20buyer\x27s\x20order-holder\x20confirmation\x20rides\x20the\x20SAME\x20single\x20refund\x20rail\x20(mirrors\x20retail\x27s\x20RefundAfterLoss);\x20a\x20buyer\x20contesting\x20the\x20disruption\x20instead\x20goes\x20through\x20claim_open\x20+\x20arbitration\x20(R2).','guardKeyProbe':'disruption_refund_gate','evidence':[]},{'id':'E6','class':'exception','name':'Genius\x20/\x20preferred-partner\x20tier\x20pricing','actor':'platform','precondition':['M1'],'onchain':'disclosure_only','commercialSemantics':'Booking.com\x27s\x20Genius\x20discounts\x20and\x20preferred-partner\x20visibility\x20are\x20loyalty-program\x20economics;\x20preferred_property_rate_bps\x20is\x20a\x20benchmark\x20disclosure\x20only\x20—\x20no\x20allocator\x20row\x20reads\x20it,\x20so\x20tier\x20pricing\x20stays\x20an\x20off-chain\x20display\x20concern.','disclosureProbe':'benchmark\x20disclosure\x20only|no\x20allocator\x20row\x20reads\x20it','evidence':[]},{'id':'E7','class':'exception','name':'Date\x20change\x20(reschedule)\x20=\x20refund-and-rebuy,\x20never\x20a\x20node','actor':'buyer','precondition':['M3'],'onchain':'disclosure_only','commercialSemantics':'Booking.com\x20lets\x20guests\x20modify\x20dates;\x20the\x20chain\x20has\x20no\x20calendar\x20primitive\x20and\x20an\x20Order\x20amount\x20is\x20immutable,\x20so\x20a\x20true\x20reschedule\x20node\x20would\x20be\x20a\x20half-true\x20node\x20—\x20the\x20template\x20discloses\x20the\x20refund-and-rebuy\x20routing\x20through\x20the\x20existing\x20rails\x20until\x20the\x20Move\x20layer\x20grows\x20a\x20date\x20primitive.','disclosureProbe':'REFUND-AND-REBUY|deliberate\x20non-coverage','evidence':[]},{'id':'R1','class':'remedy','name':'Post-stay\x20claim\x20filed\x20inside\x20the\x20serial\x20window','actor':'buyer','precondition':['M7'],'onchain':'expressible','chainFootprint':{'node':'poststay_claim','forward':'file_claim','prev':'claim_window','identity':'order_holder','moneyEffect':'none'},'commercialSemantics':'Wrong\x20charge,\x20misrepresented\x20stay:\x20guest\x20or\x20support\x20files\x20inside\x20the\x20witness-anchored\x20closing\x20window\x20(plus\x20the\x20order-owner\x20identity\x20leg\x20—\x20bkg15\x20F05);\x20arbitration\x20decides\x20off-Machine.','guardKeyProbe':'poststay_claim_window','evidence':[]},{'id':'R2','class':'remedy','name':'Pre-stay\x20walk/oversell\x20claim\x20filed\x20by\x20the\x20buyer','actor':'buyer','precondition':['M4'],'onchain':'expressible','chainFootprint':{'node':'claim_open','forward':'walk_claim','prev':'confirmed','identity':'order_holder','moneyEffect':'none'},'commercialSemantics':'The\x20property\x20walks\x20the\x20guest\x20(room\x20sold\x20twice)\x20—\x20the\x20buyer\x20files\x20first\x20with\x20claim\x20evidence;\x20filing\x20is\x20order-holder-bound\x20so\x20nobody\x20(platform\x20included)\x20can\x20file\x20on\x20the\x20buyer\x27s\x20behalf.','guardKeyProbe':'walk_claim_identity','evidence':[]},{'id':'R3','class':'remedy','name':'Buyer\x20withdraws\x20a\x20post-stay\x20claim\x20before\x20any\x20ruling','actor':'buyer','precondition':['R1'],'onchain':'not_applicable','commercialSemantics':'BANNED\x20on\x20WOWOK\x20(D2\x20no-withdraw\x20doctrine,\x202026-11-10):\x20a\x20filed\x20claim\x20cannot\x20be\x20withdrawn\x20—\x20the\x20former\x20W5-02\x20void\x20escape\x20is\x20gone\x20(DISPUTE-WITHDRAW-BANNED,\x20critical;\x20a\x20withdrawal\x20moves\x20only\x20the\x20Progress\x20node,\x20never\x20clearing\x20order.dispute\x20nor\x20stamping\x20claimed_by,\x20so\x20it\x20would\x20freeze\x20every\x20dispute-gated\x20refund\x20rail).\x20A\x20case\x20that\x20never\x20rules\x20fails\x20both\x20ruling\x20roots\x20closed;\x20the\x20sanctioned\x20end\x20is\x20driving\x20the\x20venue\x20case\x20to\x20a\x20stamped\x20ruling\x20(conclude/compensate),\x20with\x20an\x20OPTIONAL\x20buyer-ward\x20ForceSettleExpired\x20clock\x20edge\x20as\x20the\x20machine-side\x20enhancement.\x20The\x20arbitration\x20fee\x20is\x20non-refundable\x20regardless\x20of\x20outcome.','evidence':[]},{'id':'R4','class':'remedy','name':'Buyer\x20withdraws\x20a\x20walk\x20claim\x20before\x20any\x20ruling','actor':'buyer','precondition':['R2'],'onchain':'not_applicable','commercialSemantics':'BANNED\x20on\x20WOWOK\x20(D2\x20no-withdraw\x20doctrine,\x202026-11-10):\x20the\x20claim_open\x20twin\x20of\x20R3\x20—\x20withdrawal\x20of\x20a\x20filed\x20claim\x20does\x20not\x20exist\x20anywhere\x20on\x20WOWOK;\x20the\x20dispute\x20reaches\x20its\x20end\x20only\x20through\x20the\x20ruling\x20rails\x20(conclude/compensate).','evidence':[]},{'id':'R5','class':'remedy','name':'Guest-favor\x20ruling\x20on\x20the\x20post-stay\x20claim\x20—\x20arb\x20refund','actor':'platform','precondition':['R1'],'onchain':'expressible','chainFootprint':{'node':'closed_cancel','forward':'arb_refund','prev':'poststay_claim','identity':'permission_index','moneyEffect':'refund'},'commercialSemantics':'The\x20refund\x20edge\x20gates\x20on\x20arb.order\x20==\x20order\x20AND\x20arb.indemnity\x20some\x20==\x20true\x20—\x20a\x20stable\x20ruling\x20signal\x20immune\x20to\x20fee\x20withdrawals\x20and\x20never\x20keyed\x20on\x20arb.status\x20(which\x20arb_withdraw\x20advances\x20past\x20the\x2030-day\x20silence\x20window,\x20stranding\x20funds).','guardKeyProbe':'arb_won_poststay','evidence':[{'file':'arb.move','line':0xb4,'pattern':'indemnity:\x20Option<Indemnity>'}]},{'id':'R6','class':'remedy','name':'Guest-favor\x20ruling\x20on\x20the\x20walk\x20claim\x20—\x20arb\x20refund','actor':'platform','precondition':['R2'],'onchain':'expressible','chainFootprint':{'node':'closed_cancel','forward':'arb_refund','prev':'claim_open','identity':'permission_index','moneyEffect':'refund'},'commercialSemantics':'The\x20walked\x20guest\x20is\x20made\x20whole\x20by\x20an\x20arbitration-ruled\x20refund\x20of\x20the\x20intact\x20pool\x20—\x20the\x20escrow-rail\x20half\x20of\x20the\x20walk\x20guarantee\x20(the\x20guarantee\x27s\x20rebooking\x20half\x20stays\x20off-chain,\x20see\x20R10).','guardKeyProbe':'arb_won_walk','evidence':[]},{'id':'R7','class':'remedy','name':'Dismissed\x20post-stay\x20claim\x20—\x20pool\x20releases\x20to\x20settlement','actor':'platform','precondition':['R1'],'onchain':'expressible','chainFootprint':{'node':'payout_released','forward':'claim_dismissed','prev':'poststay_claim','identity':'permission_index','moneyEffect':'release'},'commercialSemantics':'The\x20dismissal\x20edge\x20gates\x20on\x20indemnity.amount\x20==\x200\x20with\x20fail-closed\x20None\x20handling:\x20the\x20leg\x20passes\x20ONLY\x20when\x20a\x20ruling\x20exists\x20AND\x20favoured\x20the\x20merchant\x20—\x20\x27never\x20ruled\x27\x20can\x20never\x20release\x20the\x20pool.','guardKeyProbe':'arb_dismissed_poststay','evidence':[{'file':'arb.move','line':0x21,'pattern':'Zero-indemnity\x20claim\x20gate'}]},{'id':'R8','class':'remedy','name':'Property-favor\x20ruling\x20on\x20the\x20walk\x20claim\x20—\x20the\x20booking\x20stands','actor':'platform','precondition':['R2'],'onchain':'expressible','chainFootprint':{'node':'confirmed','forward':'claim_dismissed_resume','prev':'claim_open','identity':'permission_index','moneyEffect':'none'},'commercialSemantics':'The\x20stay\x20resumes\x20from\x20confirmed\x20—\x20claim_open\x20is\x20NEVER\x20a\x20stop\x20node\x20with\x20money,\x20mirroring\x20how\x20Booking.com\x20reinstates\x20a\x20disputed\x20reservation\x20after\x20the\x20property\x20proves\x20delivery.','guardKeyProbe':'arb_dismissed_resume','evidence':[]},{'id':'R9','class':'remedy','name':'Compensation\x20fund\x20—\x20FORBIDDEN\x20until\x20the\x20escrow\x20shared\x20gate\x20lands','actor':'platform','precondition':['R2'],'onchain':'disclosure_only','commercialSemantics':'Booking.com\x20customer\x20service\x20pays\x20goodwill\x20compensation;\x20on\x20chain\x20the\x20A-2\x20lesson\x20(one\x20guest\x20took\x20a\x20full\x20refund\x20AND\x20a\x203x\x20award\x20for\x20the\x20same\x20order\x20—\x20worst\x20case\x204x)\x20plus\x20the\x20user\x20ruling\x202026-10-15\x20forbid\x20funding\x20the\x20compensation\x20fund\x20until\x20the\x20arbitration-escrow\x20shared\x20gate\x20exists:\x20disputes\x20ride\x20the\x20escrow\x20rails\x20only.','disclosureProbe':'DO\x20NOT\x20FUND|double-takeable','evidence':[{'file':'service.move','line':0x24c,'pattern':'public\x20fun\x20compensation_claim'}]},{'id':'R10','class':'remedy','name':'Walk\x20guarantee:\x20relocation\x20to\x20equal/better\x20or\x20refund','actor':'platform','precondition':['R2'],'onchain':'expressible_with_gap','chainFootprint':{'node':'claim_open','moneyEffect':'refund'},'commercialSemantics':'Booking.com\x27s\x20oversell\x20promise\x20promises\x20comparable\x20relocation\x20or\x20a\x20refund.\x20The\x20chain\x20expresses\x20the\x20refund\x20half\x20first-class\x20(walk\x20claim\x20+\x20arbitration-ruled\x20arb_refund);\x20relocation\x20is\x20a\x20booking-free\x20rebook\x20that\x20needs\x20a\x20fresh\x20Order\x20—\x20no\x20automatic\x20rebooking\x20primitive\x20exists\x20on\x20chain.','gapPredicate':{'probe':'buyer-first\x20claim\x20evidence|Oversell\x20walk'},'evidence':[]},{'id':'P1','class':'post','name':'Buyer\x20claims\x20the\x20review-reward\x20bounty\x20inside\x20the\x2090-day\x20window','actor':'buyer','precondition':['M8'],'onchain':'disclosure_only','commercialSemantics':'Booking.com\x20has\x20no\x20reviewer\x20bounty;\x20the\x20template\x27s\x20sale-time-planned\x20Reward\x20rail\x20is\x20an\x20ADDITION\x20(reward\x20pool\x20funded\x20at\x20build,\x20once-per-order\x20claim,\x2090-day\x20window).\x20The\x20machine-shape\x20matcher\x20cannot\x20see\x20reward-object\x20guards,\x20so\x20the\x20step\x20is\x20recorded\x20as\x20disclosed-by-corpus\x20rather\x20than\x20footprint-matched.','disclosureProbe':'Review\x20Reward\x20window|review_reward','evidence':[{'file':'reward.move','line':0xe3,'pattern':'public\x20fun\x20claim<T>'}]},{'id':'P2','class':'post','name':'Refunded\x20booking\x20returns\x20the\x20room\x20to\x20sellable\x20stock','actor':'keeper','precondition':['E1'],'onchain':'disclosure_only','commercialSemantics':'Booking.com\x20re-lists\x20cancelled\x20inventory\x20immediately;\x20buy\x20decrements\x20the\x20stock\x20counter\x20and\x20NOTHING\x20refunds\x20it\x20—\x20compile\x20emits\x20the\x20restock.flag\x20half\x20and\x20the\x20keeper\x20runs\x20service.restock\x20once\x20per\x20refunded\x20order\x20(B-E/T5),\x20with\x20sale_name\x20copied\x20EXACTLY\x20(silent\x20no-op\x20otherwise).','disclosureProbe':'stock_add|restock','evidence':[{'file':'service.move','line':0x9a,'pattern':'restock_on_refund'}]},{'id':'P3','class':'post','name':'Unresponsive\x20property\x20demoted\x20off-chain','actor':'platform','precondition':['E2'],'onchain':'disclosure_only','commercialSemantics':'Ranking\x20demotion\x20is\x20Booking.com\x27s\x20real\x20lever\x20against\x20no-show\x20properties;\x20the\x20chain\x20template\x20records\x20it\x20as\x20an\x20explicit\x20off-chain\x20keeper\x20consequence\x20—\x20no\x20on-chain\x20reputation\x20primitive\x20exists.','disclosureProbe':'demoted\x20off-chain','evidence':[]}],'invariants':[{'id':'INV-BK-1','statement':'The\x20walk\x20guarantee\x20(comparable\x20relocation\x20or\x20refund)\x20must\x20make\x20the\x20walked\x20guest\x20whole\x20from\x20the\x20intact\x20escrow\x20only\x20—\x20the\x20compensation\x20fund\x20must\x20stay\x20UNFUNDED\x20until\x20the\x20arbitration-escrow\x20shared\x20gate\x20lands.','jurisdiction':'Booking.com\x20oversell/relocation\x20guarantee;\x20EU\x20Package\x20Travel\x20Directive\x20art.\x2011\x20(cancellation/protection).','chainConflict':'A-2\x20verified\x20the\x20refund\x20allocator\x20and\x20the\x20compensation\x20payout\x20are\x20INDEPENDENT\x20channels\x20—\x20worst\x20case\x204x\x20(full\x20refund\x201x\x20+\x20award\x20ceiling\x203x),\x20and\x20the\x20compensation-claim\x20call\x20has\x20no\x20Guard\x20slot\x20to\x20seal\x20refund-then-claim.\x20The\x20user\x20ruling\x20(2026-10-15)\x20therefore\x20forbids\x20funding:\x20disputes\x20ride\x20the\x20escrow\x20rails\x20only.\x20Text-only:\x20the\x20fund\x20policy\x20is\x20a\x20template\x20flag,\x20not\x20a\x20fee_params\x20key.','evidence':[{'file':'service.move','line':0x24c,'pattern':'public\x20fun\x20compensation_claim'}]},{'id':'INV-BK-2','statement':'Free\x20cancellation\x20and\x20no-show\x20floors\x20are\x20promises\x20about\x20the\x20STAY\x20CALENDAR\x20(\x2772h\x20before\x20arrival\x27,\x20\x276h\x20after\x20no-show\x20onset\x27);\x20on\x20chain\x20every\x20window\x20anchors\x20on\x20order.time\x20—\x20booking\x20time,\x20not\x20arrival\x20time.','jurisdiction':'Booking.com\x20free-cancellation\x20policy\x20terms;\x20EU\x20Consumer\x20Rights\x20Directive\x20art.\x206\x20(pre-contractual\x20information).','chainConflict':'No\x20check-in/check-out/night\x20field\x20exists\x20on\x20chain\x20(Order\x20items\x20are\x20SaleItem{item,price,quantity,wip_hash});\x20the\x20STAY-DATE\x20PRESCRIPTION\x20(order-scoped\x20Repository\x20row\x20+\x20Clock-vs-row+offset\x20leg)\x20is\x20the\x20disclosed\x20cure,\x20but\x20the\x20default\x20remains\x20order.time.\x20With\x20typical\x20weeks-long\x20lead\x20time\x20the\x20gap\x20is\x20material,\x20not\x20cosmetic.\x20Text-only.','evidence':[{'file':'order.move','line':0x21,'pattern':'public\x20struct\x20SaleItem'},{'file':'order.move','line':0x43,'pattern':'items:\x20vector<SaleItem>'}]},{'id':'INV-BK-3','statement':'A\x20never-ruled\x20claim\x20case\x20must\x20still\x20reach\x20a\x20decisive\x20end.\x20Under\x20the\x20D2\x20no-withdraw\x20doctrine\x20(2026-11-10)\x20the\x20ONLY\x20sanctioned\x20dispute\x20exit\x20is\x20a\x20stamped\x20ruling\x20(conclude/compensate)\x20—\x20withdrawal\x20is\x20NOT\x20a\x20cure,\x20and\x20no\x20withdraw\x20edge\x20may\x20exist\x20anywhere\x20(DISPUTE-WITHDRAW-BANNED,\x20critical).','jurisdiction':'Booking.com\x20dispute\x20terms;\x20WOWOK\x20D2\x20no-withdraw\x20doctrine\x20(user\x20ruling\x202026-11-10).','chainConflict':'Both\x20ruling\x20edges\x20fail\x20closed\x20on\x20the\x20None\x20indemnity,\x20so\x20a\x20never-ruled\x20case\x20leaves\x20the\x20order\x20resting\x20at\x20claim_open/poststay_claim\x20(the\x20R-ARB-ZERO-EXIT\x20advisory).\x20The\x20former\x20W5-02\x20WithdrawClaim\x20void\x20escape\x20is\x20BANNED:\x20a\x20withdrawal\x20moves\x20only\x20the\x20Progress\x20node\x20—\x20it\x20never\x20clears\x20order.dispute\x20(push-only)\x20nor\x20stamps\x20claimed_by,\x20so\x20it\x20would\x20permanently\x20freeze\x20every\x20dispute-gated\x20refund\x20rail.\x20Text-only\x20since\x20D2\x20(the\x20mechanical\x20whileMissingForward\x20predicate\x20inverted\x20against\x20the\x20ban):\x20the\x20sanctioned\x20cures\x20are\x20driving\x20the\x20venue\x20case\x20to\x20a\x20stamped\x20ruling\x20and\x20an\x20OPTIONAL\x20buyer-ward\x20ForceSettleExpired\x20clock\x20edge.','evidence':[]},{'id':'INV-BK-4','statement':'Payout\x20can\x20never\x20fire\x20while\x20a\x20post-stay\x20claim\x20could\x20still\x20be\x20filed\x20—\x20the\x20serial\x20claim\x20window\x20is\x20a\x20mandatory\x20waypoint\x20between\x20delivery\x20and\x20settlement.','jurisdiction':'Booking.com\x20post-stay\x20dispute\x20window\x20terms.','chainConflict':'The\x20pre-v30\x20graph\x20released\x20straight\x20off\x20completed\x20(v86\x20KLM-FIX-2\x20deleted\x20the\x20recovered\x20weld);\x20the\x20serial\x20window\x20re-introduced\x20payout_released\x20reachable\x20only\x20from\x20claim_window\x20or\x20a\x20dismissed\x20poststay_claim.\x20This\x20standing\x20check\x20re-fires\x20the\x20invariant\x20if\x20the\x20window-opening\x20forward\x20disappears.','evidence':[],'violation':{'whileMissingForward':'open_claim_window'}}]};
@@ -1 +1 @@
1
- export const CONTRA_ORACLE={'productRef':'contra','products':['contra','polywork','read-cv','working-not-working'],'oracleVersion':'1.0.0','steps':[{'id':'M2','class':'offchain','name':'Client\x20discovers\x20the\x20creator\x20(profile,\x20portfolio,\x20referrals)','actor':'buyer','precondition':[],'onchain':'not_applicable','commercialSemantics':'Contra\x27s\x20funnel\x20is\x20portfolio-led\x20discovery:\x20profile\x20pages,\x20referral\x20links\x20and\x20SEO.\x20On\x20this\x20template\x20the\x20portfolio\x20Repository\x20attached\x20to\x20the\x20service\x20is\x20the\x20only\x20discovery\x20surface,\x20and\x20its\x20content\x20rules\x20(public\x20URLs\x20only)\x20are\x20listing\x20mechanics,\x20not\x20a\x20machine\x20step.','evidence':[]},{'id':'M1','class':'main','name':'Creator\x20lists\x20the\x20service\x20(portfolio\x20Repository\x20attached,\x20public\x20URLs)','actor':'fulfiller','precondition':[],'onchain':'expressible','chainFootprint':{'node':'listed','moneyEffect':'none'},'commercialSemantics':'Listing\x20is\x20the\x20machine\x27s\x20entry\x20state:\x20the\x20service\x20carries\x20the\x20portfolio\x20Repository\x20with\x20public\x20URLs\x20only\x20(the\x20testnet\x20lesson\x20—\x20never\x20local\x20addresses).\x20No\x20escrow\x20exists\x20yet;\x20the\x20funnel\x27s\x20first\x20state\x20is\x20free.','evidence':[]},{'id':'M3','class':'main','name':'Client\x20initiates\x20contact\x20on-Machine\x20(advance\x20from\x20listed)','actor':'buyer','precondition':['M1'],'onchain':'expressible','chainFootprint':{'node':'contacted','moneyEffect':'none'},'commercialSemantics':'The\x20challenger\x20differentiator:\x20negotiation\x20happens\x20ON\x20the\x20machine\x20—\x20the\x20client\x20advances\x20the\x20pre-payment\x20funnel\x20instead\x20of\x20a\x20DM\x20thread.\x20There\x20is\x20no\x20fee\x20or\x20commitment\x20at\x20this\x20state;\x20contact\x20is\x20a\x20signed\x20state\x20transition.','evidence':[]},{'id':'M4','class':'main','name':'Pre-payment\x20negotiation\x20(scope\x20and\x20price\x20agreed\x20before\x20any\x20escrow)','actor':'buyer','precondition':['M3'],'onchain':'disclosure_only','commercialSemantics':'The\x20pre-payment\x20funnel\x20(listed\x20->\x20contacted\x20->\x20ordered)\x20IS\x20the\x20challenger\x20pitch:\x20scope\x20negotiation\x20precedes\x20any\x20money\x20movement.\x20The\x20machine\x20carries\x20the\x20states;\x20the\x20terms\x20live\x20off-chain\x20in\x20the\x20negotiation,\x20and\x20the\x20corpus\x20discloses\x20the\x20funnel\x20as\x20the\x20template\x27s\x20differentiator.','disclosureProbe':'Pre-payment\x20funnel|negotiation\x20happens\x20on-Machine','evidence':[]},{'id':'M5','class':'main','name':'Contract\x20signed\x20and\x20project\x20funds\x20escrowed\x20(ordered)','actor':'buyer','precondition':['M4'],'onchain':'expressible','chainFootprint':{'node':'ordered','moneyEffect':'escrow_in'},'commercialSemantics':'One\x20atomic\x20buy\x20at\x20the\x20agreed\x20price.\x20Zero\x20commission\x20is\x20chain-verifiable\x20here:\x20the\x20allocator\x27s\x20platform\x20row\x20is\x20a\x20fixed\x20Amount\x20(the\x20tiered\x20contract\x20fee),\x20never\x20a\x20rate\x20on\x20GMV.\x20The\x20minimum-contract\x20guard\x20(amount\x20should\x20cover\x20the\x20fixed\x20fee)\x20is\x20a\x20listing\x20discipline,\x20not\x20a\x20machine\x20guard.','evidence':[{'file':'service.move','line':0x1d2,'pattern':'public\x20fun\x20buy2'}]},{'id':'M6','class':'main','name':'Creator\x20accepts\x20(permission\x20slot)\x20and\x20works','actor':'fulfiller','precondition':['M5'],'onchain':'expressible','chainFootprint':{'node':'in_progress','moneyEffect':'none'},'commercialSemantics':'Acceptance\x20is\x20a\x20permission-index\x20act\x20—\x20roster\x20membership\x20is\x20admission\x20power.\x20Note\x20the\x20funnel\x20asymmetry\x20vs\x20the\x20marketplace\x20templates:\x20pre-work\x20cancellation\x20here\x20reaches\x20back\x20to\x20ordered\x20(E1),\x20so\x20an\x20accepted\x20order\x20can\x20no\x20longer\x20be\x20cancelled\x20by\x20the\x20client\x20without\x20arbitration.','evidence':[]},{'id':'M7','class':'main','name':'Creator\x20delivers\x20the\x20work\x20(WIP\x20evidence\x20recommended,\x20ungated)','actor':'fulfiller','precondition':['M6'],'onchain':'expressible','chainFootprint':{'node':'delivered','forward':'Deliver','prev':'in_progress','identity':'permission_index','moneyEffect':'none'},'commercialSemantics':'The\x20in_progress\x20->\x20delivered\x20forward\x20is\x20a\x20bare\x20permission-index\x20edge:\x20WIP-hash\x20evidence\x20is\x20recommended\x20practice\x20but\x20the\x20template\x20mounts\x20no\x20evidence\x20gate\x20here\x20(unlike\x20its\x20two\x20freelance\x20siblings)\x20—\x20delivery\x20quality\x20is\x20policed\x20by\x20the\x20defect\x20loop\x20(M8)\x20and\x20the\x20client\x27s\x20acceptance,\x20not\x20by\x20a\x20repository\x20gate.','evidence':[]},{'id':'M8','class':'exception','name':'Client\x20reports\x20a\x20defect\x20—\x20order\x20enters\x20the\x20revising\x20state\x20(window-gated)','actor':'buyer','precondition':['M7'],'onchain':'expressible','chainFootprint':{'node':'revising','forward':'ReportDefect','prev':'delivered','identity':'order_holder','moneyEffect':'none'},'commercialSemantics':'The\x20remedy\x20node\x20is\x20window-gated:\x20defect_report_window\x20anchors\x20on\x20the\x20LAST\x20delivery\x20entry\x20(defect_report_window_hours\x20=\x20120),\x20and\x20every\x20re-delivery\x20resets\x20it\x20—\x20the\x20re-entrant\x20loop\x20is\x20deliberate\x20so\x20the\x20buyer\x20is\x20never\x20left\x20in\x20a\x20do-or-dispute\x20corner;\x20the\x20only\x20other\x20exits\x20from\x20revising\x20are\x20full-refund\x20cancel\x20or\x20dispute.','guardKeyProbe':'defect_report_window','evidence':[]},{'id':'M9','class':'main','name':'Creator\x20re-delivers\x20from\x20revising\x20(loop\x20re-entry)','actor':'fulfiller','precondition':['M8'],'onchain':'expressible','chainFootprint':{'node':'delivered','forward':'Deliver','prev':'revising','identity':'permission_index','moneyEffect':'none'},'commercialSemantics':'The\x20F-02\x20cure\x27s\x20second\x20half:\x20the\x20re-entry\x20pair\x20Deliver-from-revising\x20is\x20what\x20makes\x20the\x20loop\x20re-entrant\x20—\x20dropping\x20it\x20strands\x20every\x20disputed\x20order\x20at\x20revising\x20forever\x20(a\x20remedy\x20node\x20with\x20no\x20path\x20out).\x20Same\x20ungated\x20edge\x20family\x20as\x20M7.','evidence':[]},{'id':'M10','class':'main','name':'Client\x20confirms\x20acceptance\x20(manual\x20signature)','actor':'buyer','precondition':['M7'],'onchain':'expressible','chainFootprint':{'node':'accepted','identity':'order_holder','moneyEffect':'none'},'commercialSemantics':'The\x20manual\x20branch\x20is\x20the\x20client\x27s\x20own\x20signature\x20(order_payer\x20identity\x20edge)\x20—\x20the\x20creator\x20can\x20never\x20self-accept\x20(trust\x20mechanism\x20R4).\x20Sibling\x20timeout\x20branch\x20is\x20M11;\x20distinct\x20forward\x20names\x20are\x20mandatory\x20on\x20siblings\x20sharing\x20a\x20prev.','evidence':[]},{'id':'M11','class':'exception','name':'Acceptance\x20timeout\x20—\x20keeper\x20auto-accepts\x20a\x20silent\x20client\x20(48h)','actor':'keeper','precondition':['M7'],'onchain':'expressible','chainFootprint':{'node':'accepted','forward':'AutoAcceptByKeeper','prev':'delivered','identity':'permission_index','moneyEffect':'none'},'commercialSemantics':'acceptance_timeout_hours\x20(48)\x20bounds\x20client\x20silence\x20—\x20tight\x20vs\x20the\x20marketplace\x20templates\x27\x2014\x20days,\x20matching\x20Contra\x27s\x20low-ticket\x20tempo.\x20The\x20timeout\x20is\x20100%\x20off-chain\x20keeper\x20duty\x20(the\x20machine\x20has\x20no\x20timer):\x20no\x20keeper\x20means\x20manual-only\x20confirmation,\x20the\x20funds-stuck\x20failure\x20mode\x20the\x20corpus\x20names.','guardKeyProbe':'accept_timeout','evidence':[]},{'id':'M12','class':'main','name':'Client\x20reviews\x20the\x20delivery\x20(window-gated\x20side\x20action)','actor':'buyer','precondition':['M11'],'onchain':'expressible','chainFootprint':{'node':'reviewed','forward':'Review','prev':'accepted','identity':'order_holder','moneyEffect':'none'},'commercialSemantics':'Review\x20rides\x20the\x2014-day\x20review\x20window\x20as\x20a\x20reputation\x20rail;\x20completed\x20is\x20reachable\x20from\x20accepted\x20directly,\x20so\x20a\x20silent\x20reviewer\x20cannot\x20strand\x20the\x20escrow.','guardKeyProbe':'review_window','evidence':[]},{'id':'M13','class':'main','name':'Settlement\x20—\x20fixed\x20fee\x20deducted\x20first,\x20net\x20remainder\x20to\x20the\x20creator','actor':'merchant','precondition':['M12'],'onchain':'expressible','chainFootprint':{'node':'completed','forward':'CompleteAfterReview','prev':'reviewed','identity':'permission_index','moneyEffect':'release'},'commercialSemantics':'The\x20zero-commission\x20money\x20shape:\x20the\x20platform\x27s\x20fixed\x20Amount\x20leg\x20is\x20deducted\x20first\x20and\x20the\x20creator\x27s\x20Rate-10000\x20leg\x20takes\x20the\x20net\x20remainder\x20—\x20both\x20legs\x20in\x20ONE\x20allocator\x20sharing\x20a\x20guard\x20key,\x20so\x20the\x20fee\x20is\x20native\x20(no\x20off-chain\x20collection,\x20no\x20surplus\x20rate).\x20Tier\x20selection\x20is\x20disjoint\x20and\x20self-selecting:\x20each\x20tier\x27s\x20guard\x20reads\x20order.amount\x20against\x20the\x20boundary\x20(ctra-mn-261019\x20F-04).','evidence':[]},{'id':'E1','class':'exception','name':'Pre-work\x20cancellation\x20(listed\x20/\x20contacted\x20/\x20ordered\x20only)','actor':'buyer','precondition':['M5'],'onchain':'expressible','chainFootprint':{'node':'closed_cancel','moneyEffect':'refund'},'commercialSemantics':'closed_cancel\x20is\x20reachable\x20ONLY\x20from\x20listed,\x20contacted\x20and\x20ordered\x20—\x20pre-work\x20by\x20design\x20(D-BUG-2):\x20post-delivery\x20disputes\x20route\x20to\x20Arbitration\x20so\x20refund\x20and\x20ruling\x20payouts\x20can\x20never\x20double-pay\x20for\x20one\x20order.\x20The\x20refund\x20allocator\x20is\x20order-anchored\x20and\x20pays\x20the\x20client\x20whole.','evidence':[]},{'id':'E2','class':'exception','name':'Job\x20post\x20withdrawn\x20before\x20engagement','actor':'buyer','precondition':['M1'],'onchain':'not_applicable','commercialSemantics':'Withdrawing\x20a\x20listing\x20is\x20a\x20listing-management\x20act\x20before\x20any\x20order\x20exists\x20—\x20the\x20machine\x20only\x20knows\x20the\x20listed\x20state\x27s\x20successors.\x20Nothing\x20to\x20eliminate:\x20no\x20escrow,\x20no\x20counterparty.','evidence':[]},{'id':'E3','class':'exception','name':'Client\x20disengages\x20after\x20contact\x20(no\x20contract)','actor':'buyer','precondition':['M3'],'onchain':'not_applicable','commercialSemantics':'A\x20contacted\x20order\x20that\x20never\x20advances\x20simply\x20rests\x20—\x20the\x20funnel\x27s\x20whole\x20point\x20is\x20that\x20contact\x20carries\x20no\x20money.\x20The\x20chain\x27s\x20counterpart\x20is\x20a\x20state\x20that\x20decays\x20on\x20its\x20own;\x20no\x20cancel\x20is\x20needed,\x20so\x20the\x20step\x20is\x20eliminated.','evidence':[]},{'id':'E4','class':'exception','name':'Hourly\x20/\x20retainer\x20engagement\x20variant','actor':'fulfiller','precondition':['M5'],'onchain':'not_applicable','commercialSemantics':'Contra\x20runs\x20hourly\x20and\x20retainer\x20deals\x20off-contract-templates.\x20This\x20template\x20is\x20fixed-price\x20only\x20—\x20no\x20metering\x20primitive,\x20no\x20diary;\x20the\x20variant\x20is\x20eliminated\x20(the\x20fixed-fee\x20allocator\x20shape\x20cannot\x20express\x20a\x20rate\x20card).','evidence':[]},{'id':'E5','class':'exception','name':'Post-delivery\x20dispute\x20has\x20NO\x20machine\x20cancel\x20route\x20(pre-work-only\x20terminal)','actor':'buyer','precondition':['M7'],'onchain':'expressible_with_gap','chainFootprint':{'forward':'ArbRefund','moneyEffect':'refund'},'commercialSemantics':'Deliberate\x20gap,\x20now\x20HALF-cured\x20by\x20execution\x20(stage2\x20#8,\x20v190):\x20closed_cancel\x20still\x20excludes\x20a\x20buyer\x20cancel\x20button\x20post-delivery\x20—\x20disputes\x20route\x20to\x20Arbitration,\x20not\x20the\x20machine\x20(the\x20double-pay\x20guard,\x20D-BUG-2).\x20But\x20the\x20award\x20edge\x20itself\x20IS\x20mounted\x20now\x20(ArbRefund,\x20delivered\x20->\x20closed_cancel,\x20key\x20arb_refund_award,\x20the\x20sibling\x20templates\x27\x20GF2-31\x20rail\x20on\x20the\x20N12\x20dedicated\x20slot\x201004):\x20a\x20buyer-won\x20ruling\x20re-routes\x20the\x20escrow\x20in-machine\x20—\x20conclude\x20the\x20case\x20first\x20(the\x20refund\x20twin\x27s\x20W5-14\x20freeze\x20leg),\x20then\x20the\x20refund_gate\x20leg\x20moves\x20the\x20escrowed\x20principal.\x20Payout\x20discipline\x20unchanged:\x20refund\x20and\x20ruling\x20must\x20never\x20both\x20fire\x20for\x20one\x20order\x20—\x20they\x20share\x20this\x20one\x20rail.','gapPredicate':{'probe':'Disputes\x20route\x20to\x20Arbitration|post-delivery\x20disputes\x20route\x20to\x20Arbitration'},'evidence':[]},{'id':'E6','class':'exception','name':'Client\x20vanishes\x20pre-acceptance\x20(routes\x20to\x20the\x20acceptance\x20timeout)','actor':'keeper','precondition':['M7'],'onchain':'expressible','chainFootprint':{'node':'accepted','forward':'AutoAcceptByKeeper','prev':'delivered','identity':'permission_index','moneyEffect':'none'},'commercialSemantics':'Client\x20silence\x20after\x20delivery\x20is\x20the\x20M11\x20rail\x20wearing\x20an\x20exception\x20hat:\x2048\x20hours,\x20keeper\x20slot\x201000,\x20then\x20the\x20money\x20takes\x20its\x20net-remainder\x20shape.\x20The\x200-commission\x20economics\x20mean\x20the\x20creator\x20loses\x20nothing\x20but\x20time.','guardKeyProbe':'accept_timeout','evidence':[]},{'id':'E7','class':'exception','name':'Revision\x20loop\x20exhausted\x20—\x20window\x20closes,\x20dispute\x20or\x20accept\x20remains','actor':'merchant','precondition':['M9'],'onchain':'disclosure_only','commercialSemantics':'The\x20template\x20declares\x20no\x20revision\x20cap:\x20the\x20loop\x20is\x20bounded\x20only\x20by\x20the\x20defect\x20window\x20re-arming\x20on\x20every\x20re-delivery.\x20When\x20the\x20window\x20lapses\x20the\x20honest\x20exits\x20are\x20acceptance,\x20full-refund\x20cancel\x20or\x20dispute\x20—\x20the\x20re-entrant\x20remedy\x20loop\x20note\x20is\x20the\x20disclosure.','disclosureProbe':'RE-ENTRANT\x20REMEDY\x20LOOP|defect_report_window|revising','evidence':[]},{'id':'E8','class':'exception','name':'Creator\x20or\x20client\x20banned\x20from\x20the\x20platform','actor':'platform','precondition':['M6'],'onchain':'not_applicable','commercialSemantics':'Account\x20bans\x20are\x20platform-database\x20enforcement.\x20The\x20escrow\x20is\x20bound\x20to\x20the\x20ORDER,\x20rails\x20to\x20rosters\x20the\x20merchant\x20controls;\x20keeper\x20rails\x20(M11)\x20and\x20the\x20recovery\x20allocator\x20resolve\x20stalled\x20orders\x20without\x20the\x20banned\x20identity\x20—\x20eliminated,\x20not\x20disclosed.','evidence':[]},{'id':'E9','class':'exception','name':'Escrow\x20stranded\x20by\x20a\x20silent\x20dispute\x20—\x20exit\x20invariant\x20(recovery\x20sweep)','actor':'merchant','precondition':['M6'],'onchain':'expressible','chainFootprint':{'node':'completed','moneyEffect':'release'},'commercialSemantics':'The\x20az-mn-261007\x20T5\x20lesson:\x20every\x20non-terminal\x20state\x20keeps\x20a\x20drain\x20path.\x20Here\x20the\x20merchant-recovery\x20allocator\x20row\x20(recover_gate)\x20sweeps\x20a\x20stalled\x20order\x27s\x20net\x20remainder\x20to\x20the\x20creator\x20at\x20the\x20completed\x20terminal,\x20while\x20the\x20refund\x20rail\x20stays\x20node-gated\x20to\x20pre-work\x20closed_cancel\x20—\x20the\x20corpus\x20forbids\x20ever\x20gating\x20the\x20refund\x20rail\x20on\x20a\x20zero-open-dispute\x20condition\x20instead.','evidence':[]},{'id':'E10','class':'exception','name':'Zero-balance\x20masking\x20(settled\x20order\x20cannot\x20negative-test\x20other\x20rails)','actor':'platform','precondition':['M13'],'onchain':'disclosure_only','commercialSemantics':'Once\x20an\x20order\x27s\x20Allocation\x20is\x20fully\x20distributed,\x20any\x20further\x20rail\x20trigger\x20returns\x20the\x20zero-value\x20abort\x20and\x20the\x20guard\x20verdict\x20is\x20never\x20evaluated\x20—\x20a\x20settled\x20order\x20cannot\x20negative-test\x20the\x20fee\x20or\x20refund\x20rails;\x20probe\x20with\x20a\x20fresh\x20funded\x20order\x20(KLM-FIND-13).\x20The\x20build_notes\x20carry\x20the\x20constant\x20verbatim.','disclosureProbe':'Zero-balance\x20masking|zero-value\x20abort','evidence':[]},{'id':'E11','class':'exception','name':'Sanctioned-jurisdiction\x20payout\x20block\x20(compliance\x20gate)','actor':'platform','precondition':['M13'],'onchain':'not_applicable','commercialSemantics':'Geo-fencing\x20and\x20sanctions\x20compliance\x20live\x20in\x20the\x20off-chain\x20ramps\x20(exchanges,\x20card\x20rails),\x20not\x20in\x20the\x20machine\x20—\x20the\x20allocator\x20pays\x20whatever\x20address\x20holds\x20the\x20roster\x20slot.\x20The\x20step\x20is\x20eliminated\x20from\x20the\x20template\x27s\x20expressible\x20surface\x20by\x20design.','evidence':[]},{'id':'E12','class':'exception','name':'Creator\x20abandonment\x20mid-work\x20(client\x27s\x20exit\x20from\x20a\x20stalled\x20in_progress)','actor':'buyer','precondition':['M6'],'onchain':'expressible_with_gap','chainFootprint':{'node':'closed_cancel','moneyEffect':'refund'},'commercialSemantics':'The\x20chain\x27s\x20cancel-from-in-progress\x20primitive\x20(live-proven\x20on\x20the\x20sibling\x20template)\x20lets\x20the\x20client\x20exit\x20a\x20stalled\x20order\x20with\x20a\x20full\x20refund,\x20bypassing\x20the\x20declared\x20pre-work-only\x20edges.\x20The\x20gap\x20the\x20corpus\x20discloses\x20only\x20generically:\x20there\x20is\x20no\x20stall-detection\x20clock\x20—\x20an\x20idle\x20in_progress\x20triggers\x20nothing\x20until\x20someone\x20acts,\x20and\x20the\x20corpus\x27s\x20strand\x20warning\x20is\x20written\x20about\x20the\x20revising\x20node,\x20not\x20this\x20one.','gapPredicate':{'probe':'strands|stall|abandon'},'evidence':[]},{'id':'E13','class':'exception','name':'Dispute\x20withdrawn\x20—\x20settled\x20out-of-band,\x20claim\x20pulled\x20before\x20ruling','actor':'buyer','precondition':['R1'],'onchain':'expressible_with_gap','chainFootprint':{'forward':'WithdrawClaim','moneyEffect':'none'},'commercialSemantics':'Contra\x20lets\x20either\x20side\x20close\x20a\x20case\x20amicably.\x20The\x20arbitration\x20rail\x20has\x20no\x20WithdrawClaim\x20forward\x20(the\x20ssng6-mn-261101\x20replay-hazard\x20family:\x20the\x20kernel\x20WithdrawClaim\x20ships\x20no\x20arbitration-leg\x20—\x20replayable\x20and\x20blind\x20to\x20whether\x20a\x20case\x20exists),\x20so\x20the\x20only\x20exits\x20are\x20the\x20ruling\x20itself\x20(now\x20executable\x20in-machine,\x20stage2\x20#8)\x20or\x20the\x20arb\x20silence\x20window.\x20REGISTERED,\x20not\x20standing:\x20with\x20no\x20claim\x20waypoint\x20on\x20this\x20machine\x20a\x20WithdrawClaim\x20edge\x20could\x20only\x20mount\x20as\x20a\x20delivered->delivered\x20self-loop\x20—\x20banned\x20outright\x20since\x20the\x20sso7\x20v172\x20cure\x20(SELF_LOOP_EDGE\x20compile\x20blocker).\x20Mounts\x20only\x20when\x20the\x20protocol\x20train\x20ships\x20a\x20claim\x20waypoint\x20plus\x20an\x20arb\x20case\x20binding\x20leg.','gapPredicate':{'probe':'WithdrawClaim|withdraw'},'evidence':[]},{'id':'R1','class':'remedy','name':'File\x20a\x20dispute\x20(off-Machine\x20Arbitration\x20object,\x20low-ticket\x20native)','actor':'buyer','precondition':['M7'],'onchain':'disclosure_only','commercialSemantics':'Arbitration\x20is\x20an\x20add-on\x20native\x20to\x20WoWok\x20—\x20independent\x20Permission,\x20near-zero\x20fee,\x20sized\x20for\x20the\x20low-ticket\x20dispute\x20range\x20Contra\x20actually\x20has.\x20The\x20venue\x20must\x20be\x20operational\x20before\x20binding:\x20a\x20fresh\x20Arbitration\x20ships\x20paused,\x20and\x20a\x20paused\x20venue\x20rejects\x20every\x20dispute\x20with\x20E_PAUSED;\x20prefer\x20a\x20venue\x20with\x20an\x20explicit\x20voting_guard\x20(an\x20empty\x20one\x20gives\x20every\x20voter\x20EQUAL\x20WEIGHT,\x20not\x20permissionless).','disclosureProbe':'Arbitration\x20is\x20an\x20add-on|E_PAUSED|VENUE\x20READINESS|voting_guard','evidence':[{'file':'arbitration.move','line':0x169,'pattern':'assert_op_permission'}]},{'id':'R2','class':'remedy','name':'Ruling\x20execution\x20is\x20100%\x20off-chain\x20keeper\x20duty\x20(case\x20state\x20only)','actor':'keeper','precondition':['R1'],'onchain':'disclosure_only','commercialSemantics':'On-chain\x20arbitration\x20rulings\x20only\x20change\x20case\x20state;\x20the\x20refund\x20allocator\x20fires\x20per\x20the\x20ruling\x20as\x20an\x20off-chain\x20keeper\x20allocation\x20(keeper_dependencies\x20names\x20it).\x20This\x20is\x20exactly\x20the\x20rail\x20E5/R7\x20ask\x20to\x20make\x20machine-native\x20—\x20until\x20then\x20the\x20keeper\x20IS\x20the\x20executor,\x20and\x20downtime\x20reverts\x20to\x20manual\x20confirmation.','disclosureProbe':'ruling-driven\x20refund\x20execution|only\x20change\x20case\x20state','evidence':[]},{'id':'R3','class':'remedy','name':'Indemnity\x20paid\x20from\x20the\x20compensation\x20fund\x20(buyer-only)','actor':'arbitrator','precondition':['R1'],'onchain':'disclosure_only','commercialSemantics':'The\x20compensation\x20fund\x20protects\x20the\x20BUYER\x20only:\x20the\x20payout\x20path\x20pays\x20the\x20order\x20owner\x20(the\x20client)\x20and\x20there\x20is\x20no\x20on-chain\x20path\x20to\x20indemnify\x20the\x20creator\x20—\x20if\x20a\x20ruling\x20favours\x20the\x20freelancer\x20(malicious\x20non-acceptance),\x20the\x20fund\x20cannot\x20pay\x20them.\x20Capped\x20at\x203x\x20the\x20escrowed\x20amount\x20(MAX_INDEMNITY_MULTIPLE);\x20the\x20corpus\x20discloses\x20the\x20limitation\x20verbatim.','disclosureProbe':'PROTECTS\x20THE\x20BUYER\x20ONLY|indemnify\x20the\x20freelancer','evidence':[{'file':'service.move','line':0x265,'pattern':'order::owner(order)'},{'file':'arb.move','line':0x15,'pattern':'MAX_INDEMNITY_MULTIPLE'}]},{'id':'R4','class':'remedy','name':'Arbitration\x2030-day\x20silence\x20=\x20acceptance\x20(case-fee\x20release)','actor':'platform','precondition':['R2'],'onchain':'not_applicable','commercialSemantics':'Protocol-level\x20arb-object\x20finality\x20(WITHDRAW_DURATION_TIME,\x20silence\x20treated\x20as\x20acceptance).\x20Contra\x27s\x20own\x20flow\x20has\x20no\x20analog\x20—\x20its\x20disputes\x20resolve\x20in-app\x20—\x20and\x20the\x20machine\x27s\x20rails\x20key\x20on\x20ruling\x20state\x20directly,\x20so\x20the\x20window\x20never\x20touches\x20the\x20buyer\x20path.','evidence':[{'file':'arb.move','line':0x10,'pattern':'WITHDRAW_DURATION_TIME'}]},{'id':'R5','class':'remedy','name':'Partial\x20refund\x20/\x20split\x20settlement\x20negotiated\x20(off-allocator\x20Payment)','actor':'merchant','precondition':['R2'],'onchain':'not_applicable','commercialSemantics':'The\x20real\x20product\x20settles\x20many\x20disputes\x20at\x20a\x20split.\x20The\x20allocator\x20rails\x20are\x20binary\x20(fixed\x20fee\x20+\x20net\x20remainder,\x20or\x20full\x20refund)\x20—\x20a\x20fraction\x20is\x20eliminated\x20inside\x20the\x20machine;\x20the\x20honest\x20workaround\x20is\x20a\x20permissionless\x20Payment\x20object\x20outside\x20this\x20template.','evidence':[]},{'id':'R6','class':'remedy','name':'Proactive\x20creator\x20make-good\x20(goodwill\x20Payment\x20before\x20a\x20dispute)','actor':'fulfiller','precondition':['M8'],'onchain':'not_applicable','commercialSemantics':'Contra\x27s\x20creators\x20often\x20refund\x20or\x20gift\x20without\x20a\x20case.\x20Same\x20carrier\x20as\x20R5:\x20a\x20Payment\x20object\x20the\x20creator\x20signs\x20off-template\x20—\x20no\x20allocator\x20leg\x20exists\x20for\x20voluntary\x20payouts,\x20so\x20the\x20step\x20is\x20eliminated\x20from\x20the\x20template\x27s\x20surface.','evidence':[]},{'id':'R7','class':'remedy','name':'Buyer-won\x20ruling\x20re-routes\x20the\x20stalled\x20order\x20(award\x20edge,\x20unmounted)','actor':'arbitrator','precondition':['R2'],'onchain':'expressible_with_gap','chainFootprint':{'forward':'ArbRefund','moneyEffect':'refund'},'commercialSemantics':'The\x20GF2-31\x20rail\x20the\x20sibling\x20templates\x20ship\x20—\x20SHIPPED\x20here\x20as\x20of\x20stage2\x20#8\x20(v190,\x202026-11-07):\x20the\x20ArbRefund\x20edge\x20(delivered\x20->\x20closed_cancel,\x20tpl_forward_arb_ruling_won,\x20key\x20arb_refund_award,\x20refund-rail\x20slot\x201004\x20the\x20N12\x20dedicated\x20ruling-executor\x20bucket)\x20lets\x20the\x20refund_gate\x20leg\x20actually\x20move\x20the\x20escrowed\x20principal\x20on\x20a\x20buyer-won\x20ruling\x20—\x20conclude\x20the\x20case\x20first\x20(the\x20refund\x20twin\x27s\x20W5-14\x20freeze\x20leg),\x20then\x20drive\x20the\x20edge\x20(keeper_duty\x20#2).\x20The\x20corpus\x27s\x20own\x20escape\x20hatch\x20stays\x20load-bearing:\x20refund\x20and\x20ruling\x20payouts\x20must\x20never\x20both\x20fire\x20for\x20one\x20order\x20—\x20they\x20share\x20this\x20one\x20rail\x20(D-BUG-2).','gapPredicate':{'probe':'never\x20both\x20fire\x20for\x20one\x20order|Disputes\x20route\x20to\x20Arbitration'},'evidence':[]},{'id':'R8','class':'remedy','name':'Ruling\x20dismissed\x20—\x20order\x20resumes\x20at\x20delivered\x20(re-dispute\x20window\x20re-armed)','actor':'merchant','precondition':['R1'],'onchain':'expressible_with_gap','chainFootprint':{'forward':'ResumeAfterDismissal','moneyEffect':'none'},'commercialSemantics':'A\x20dismissed\x20dispute\x20should\x20resume\x20the\x20order\x20at\x20delivered\x20with\x20the\x20client\x20free\x20to\x20dispute\x20again\x20—\x20the\x20delivery\x20template\x20ships\x20this\x20from\x20its\x20claim_filed\x20waypoint;\x20this\x20template\x20CANNOT\x20mount\x20it\x20honestly:\x20with\x20no\x20claim\x20waypoint\x20(disputes\x20never\x20enter\x20the\x20machine,\x20R-M1-11)\x20the\x20order\x20never\x20leaves\x20delivered,\x20so\x20the\x20forward\x20could\x20only\x20mount\x20as\x20a\x20delivered->delivered\x20self-loop\x20—\x20banned\x20outright\x20since\x20the\x20sso7\x20v172\x20cure\x20(SELF_LOOP_EDGE\x20compile\x20blocker).\x20REGISTERED\x20protocol-train\x20candidate\x20(claim\x20waypoint).\x20Practical\x20recovery\x20is\x20already\x20unblocked:\x20after\x20a\x20dismissal\x20the\x20acceptance\x20clock\x20is\x20long\x20elapsed,\x20so\x20the\x20keeper\x20advances\x20AutoAcceptByKeeper\x20->\x20CompleteAfterReview\x20and\x20settlement\x20pays\x20normally\x20(keeper_duty\x20#2).','gapPredicate':{'probe':'only\x20change\x20case\x20state'},'evidence':[]},{'id':'P1','class':'post','name':'Review-reward\x20claim\x20paid\x20from\x20the\x20pre-funded\x20pool','actor':'platform','precondition':['M12'],'onchain':'expressible','chainFootprint':{'node':'reviewed','moneyEffect':'reward'},'commercialSemantics':'Sale-time\x20reward\x20planning\x20shared\x20across\x20the\x20freelance\x20family:\x20a\x20pre-funded\x20review_reward_pool\x20pays\x20review_reward_per_claim\x20per\x20accepted\x20review,\x20claims\x20closing\x20reward_claim_closes_after_days\x20after\x20the\x20window\x20—\x20Contra\x27s\x20testimonial\x20economy\x20with\x20money\x20attached.','evidence':[{'file':'reward.move','line':0xe3,'pattern':'public\x20fun\x20claim'}]},{'id':'P2','class':'post','name':'Repeat\x20engagement\x20/\x20ongoing\x20retainer\x20(no\x20subscription\x20primitive)','actor':'buyer','precondition':['M13'],'onchain':'expressible_with_gap','chainFootprint':{'node':'ordered','moneyEffect':'escrow_in'},'commercialSemantics':'Repeat\x20work\x20re-enters\x20the\x20funnel\x20per\x20project:\x20a\x20fresh\x20listed\x20->\x20contacted\x20->\x20ordered\x20pass.\x20The\x20gap\x20—\x20there\x20is\x20no\x20subscription\x20or\x20recurring-billing\x20primitive,\x20and\x20the\x20corpus\x20does\x20not\x20disclose\x20one\x20—\x20is\x20left\x20to\x20the\x20off-chain\x20relationship;\x20encoded\x20honestly\x20as\x20an\x20undisclosed\x20gap.','gapPredicate':{'probe':'subscription|recurring|retainer'},'evidence':[]},{'id':'P3','class':'post','name':'Portfolio\x20reputation\x20compounds\x20(repository\x20rows\x20+\x20reviews\x20persist)','actor':'fulfiller','precondition':['P1'],'onchain':'expressible','chainFootprint':{'node':'listed','moneyEffect':'none'},'commercialSemantics':'Contra\x27s\x20flywheel\x20—\x20every\x20completed\x20project\x20feeds\x20the\x20portfolio\x20that\x20wins\x20the\x20next\x20client\x20—\x20is\x20native\x20here:\x20write-once\x20repository\x20rows\x20and\x20immutable\x20reviews\x20accumulate\x20against\x20the\x20service\x20object;\x20the\x20listing\x20state\x20(M1)\x20is\x20the\x20anchor\x20the\x20history\x20hangs\x20from.','evidence':[{'file':'repository.move','line':0xa9,'pattern':'write_once:\x20bool'}]},{'id':'P4','class':'post','name':'Payout\x20withdrawal\x20to\x20bank\x20/\x20card\x20(off-chain\x20ramp)','actor':'merchant','precondition':['M13'],'onchain':'not_applicable','commercialSemantics':'Withdrawal\x20to\x20fiat\x20rails\x20is\x20the\x20off-chain\x20ramp\x27s\x20business;\x20on-chain\x20the\x20funds\x20are\x20home\x20at\x20completed\x20(the\x20machine\x27s\x20own\x20vocabulary\x20ends\x20at\x20the\x20withdraw\x20guard).\x20Eliminated\x20from\x20the\x20template\x27s\x20surface.','evidence':[]},{'id':'P5','class':'post','name':'Tax\x20reporting\x20(1099\x20/\x20income\x20statements)','actor':'platform','precondition':['M13'],'onchain':'not_applicable','commercialSemantics':'Tax\x20forms\x20are\x20statutory\x20off-chain\x20artifacts.\x20The\x20chain\x20contributes\x20the\x20audit\x20trail\x20—\x20immutable\x20allocator\x20and\x20order\x20history\x20—\x20but\x20no\x20form\x20primitive\x20exists;\x20eliminated,\x20with\x20the\x20history\x20as\x20the\x20honest\x20substitute.','evidence':[]}],'invariants':[{'id':'INV-CON-1','statement':'Acceptance\x20liveness:\x20a\x20low-ticket\x20order\x20on\x20a\x2048h\x20acceptance\x20clock\x20must\x20keep\x20a\x20machine\x20exit\x20for\x20client\x20silence\x20—\x20if\x20the\x20keeper\x20auto-accept\x20edge\x20is\x20removed\x20while\x20acceptance_timeout_hours\x20>\x200,\x20a\x20vanished\x20client\x20strands\x20the\x20escrow\x20at\x20delivered\x20and\x20the\x20creator\x27s\x20only\x20remedy\x20is\x20manual\x20keeper\x20action\x20(the\x20funds-stuck\x20failure\x20mode\x20the\x20corpus\x20names).','jurisdiction':'EU\x20PWD\x202024/2831\x20art.\x206\x20(prompt\x20payment);\x20Contra\x20creator\x20terms\x20(payment\x20on\x20client\x20approval\x20or\x20timeout).','chainConflict':'Standing\x20check\x20(not\x20currently\x20violated):\x20the\x20template\x20ships\x20AutoAcceptByKeeper\x20(delivered\x20->\x20accepted,\x20accept_timeout,\x20slot\x201000)\x20with\x20the\x20keeper\x20named\x20first-class\x20in\x20keeper_dependencies.\x20Removing\x20the\x20forward\x20while\x20the\x20knob\x20stays\x20configured\x20re-fires\x20this\x20invariant.','violation':{'requiresFeeParamNonZero':'acceptance_timeout_hours','whileMissingForward':'AutoAcceptByKeeper'}},{'id':'INV-CON-2','statement':'The\x20compensation\x20fund\x20protects\x20the\x20BUYER\x20only:\x20the\x20payout\x20path\x20pays\x20the\x20order\x20owner\x20(the\x20client)\x20—\x20there\x20is\x20no\x20on-chain\x20path\x20to\x20indemnify\x20the\x20creator,\x20even\x20for\x20a\x20ruling\x20won\x20against\x20a\x20malicious\x20non-accepting\x20client.','jurisdiction':'Platform\x20purchase-protection\x20analogy\x20(buyer-side\x20only);\x20EU\x20PWD\x202024/2831\x20art.\x204\x20(information\x20to\x20the\x20fulfiller).','chainConflict':'The\x20recipient\x20is\x20fixed\x20at\x20the\x20contract\x20layer\x20(indemnity\x20is\x20paid\x20to\x20the\x20order\x20owner);\x20the\x20arbitration\x20layer\x20caps\x20the\x20indemnity\x20at\x20a\x20protocol\x20multiple\x20of\x20the\x20order\x20VALUE.\x20Text-only:\x20the\x20corpus\x20discloses\x20the\x20limitation\x20verbatim\x20and\x20no\x20fee_params\x20key\x20can\x20make\x20it\x20mechanical.','evidence':[{'file':'service.move','line':0x24c,'pattern':'public\x20fun\x20compensation_claim'},{'file':'service.move','line':0x265,'pattern':'order::owner(order)'}]},{'id':'INV-CON-3','statement':'The\x20closed_cancel\x20terminal\x20must\x20stay\x20pre-work-only\x20while\x20the\x20award\x20edge\x20is\x20unmounted:\x20every\x20post-delivery\x20refund\x20path\x20that\x20bypassed\x20arbitration\x20would\x20let\x20refund\x20and\x20ruling\x20payouts\x20double-fire\x20for\x20one\x20order\x20(D-BUG-2);\x20conversely,\x20mounting\x20ArbRefund\x20requires\x20its\x20zero-award\x20exclusion\x20leg.','jurisdiction':'Contra\x20dispute\x20terms\x20(dispute-routed\x20refunds\x20only);\x20platform\x20double-recovery\x20doctrine.','chainConflict':'Text-only\x20by\x20design:\x20the\x20mechanical\x20predicate\x20cannot\x20express\x20\x27terminal\x20reachable\x20only\x20from\x20listed/contacted/ordered\x27,\x20so\x20the\x20guard\x20stays\x20human-checked.\x20The\x20machine\x20side\x20is\x20audited\x20by\x20E5/R7\x27s\x20missing-footprint\x20encoding,\x20which\x20flips\x20to\x20covered\x20the\x20moment\x20a\x20properly-excluded\x20ArbRefund\x20edge\x20lands.'}]};
1
+ export const CONTRA_ORACLE={'productRef':'contra','products':['contra','polywork','read-cv','working-not-working'],'oracleVersion':'1.0.0','steps':[{'id':'M2','class':'offchain','name':'Client\x20discovers\x20the\x20creator\x20(profile,\x20portfolio,\x20referrals)','actor':'buyer','precondition':[],'onchain':'not_applicable','commercialSemantics':'Contra\x27s\x20funnel\x20is\x20portfolio-led\x20discovery:\x20profile\x20pages,\x20referral\x20links\x20and\x20SEO.\x20On\x20this\x20template\x20the\x20portfolio\x20Repository\x20attached\x20to\x20the\x20service\x20is\x20the\x20only\x20discovery\x20surface,\x20and\x20its\x20content\x20rules\x20(public\x20URLs\x20only)\x20are\x20listing\x20mechanics,\x20not\x20a\x20machine\x20step.','evidence':[]},{'id':'M1','class':'main','name':'Creator\x20lists\x20the\x20service\x20(portfolio\x20Repository\x20attached,\x20public\x20URLs)','actor':'fulfiller','precondition':[],'onchain':'expressible','chainFootprint':{'node':'listed','moneyEffect':'none'},'commercialSemantics':'Listing\x20is\x20the\x20machine\x27s\x20entry\x20state:\x20the\x20service\x20carries\x20the\x20portfolio\x20Repository\x20with\x20public\x20URLs\x20only\x20(the\x20testnet\x20lesson\x20—\x20never\x20local\x20addresses).\x20No\x20escrow\x20exists\x20yet;\x20the\x20funnel\x27s\x20first\x20state\x20is\x20free.','evidence':[]},{'id':'M3','class':'main','name':'Client\x20initiates\x20contact\x20on-Machine\x20(advance\x20from\x20listed)','actor':'buyer','precondition':['M1'],'onchain':'expressible','chainFootprint':{'node':'contacted','moneyEffect':'none'},'commercialSemantics':'The\x20challenger\x20differentiator:\x20negotiation\x20happens\x20ON\x20the\x20machine\x20—\x20the\x20client\x20advances\x20the\x20pre-payment\x20funnel\x20instead\x20of\x20a\x20DM\x20thread.\x20There\x20is\x20no\x20fee\x20or\x20commitment\x20at\x20this\x20state;\x20contact\x20is\x20a\x20signed\x20state\x20transition.','evidence':[]},{'id':'M4','class':'main','name':'Pre-payment\x20negotiation\x20(scope\x20and\x20price\x20agreed\x20before\x20any\x20escrow)','actor':'buyer','precondition':['M3'],'onchain':'disclosure_only','commercialSemantics':'The\x20pre-payment\x20funnel\x20(listed\x20->\x20contacted\x20->\x20ordered)\x20IS\x20the\x20challenger\x20pitch:\x20scope\x20negotiation\x20precedes\x20any\x20money\x20movement.\x20The\x20machine\x20carries\x20the\x20states;\x20the\x20terms\x20live\x20off-chain\x20in\x20the\x20negotiation,\x20and\x20the\x20corpus\x20discloses\x20the\x20funnel\x20as\x20the\x20template\x27s\x20differentiator.','disclosureProbe':'Pre-payment\x20funnel|negotiation\x20happens\x20on-Machine','evidence':[]},{'id':'M5','class':'main','name':'Contract\x20signed\x20and\x20project\x20funds\x20escrowed\x20(ordered)','actor':'buyer','precondition':['M4'],'onchain':'expressible','chainFootprint':{'node':'ordered','moneyEffect':'escrow_in'},'commercialSemantics':'One\x20atomic\x20buy\x20at\x20the\x20agreed\x20price.\x20Zero\x20commission\x20is\x20chain-verifiable\x20here:\x20the\x20allocator\x27s\x20platform\x20row\x20is\x20a\x20fixed\x20Amount\x20(the\x20tiered\x20contract\x20fee),\x20never\x20a\x20rate\x20on\x20GMV.\x20The\x20minimum-contract\x20guard\x20(amount\x20should\x20cover\x20the\x20fixed\x20fee)\x20is\x20a\x20listing\x20discipline,\x20not\x20a\x20machine\x20guard.','evidence':[{'file':'service.move','line':0x1d2,'pattern':'public\x20fun\x20buy2'}]},{'id':'M6','class':'main','name':'Creator\x20accepts\x20(permission\x20slot)\x20and\x20works','actor':'fulfiller','precondition':['M5'],'onchain':'expressible','chainFootprint':{'node':'in_progress','moneyEffect':'none'},'commercialSemantics':'Acceptance\x20is\x20a\x20permission-index\x20act\x20—\x20roster\x20membership\x20is\x20admission\x20power.\x20Note\x20the\x20funnel\x20asymmetry\x20vs\x20the\x20marketplace\x20templates:\x20pre-work\x20cancellation\x20here\x20reaches\x20back\x20to\x20ordered\x20(E1),\x20so\x20an\x20accepted\x20order\x20can\x20no\x20longer\x20be\x20cancelled\x20by\x20the\x20client\x20without\x20arbitration.','evidence':[]},{'id':'M7','class':'main','name':'Creator\x20delivers\x20the\x20work\x20(WIP\x20evidence\x20recommended,\x20ungated)','actor':'fulfiller','precondition':['M6'],'onchain':'expressible','chainFootprint':{'node':'delivered','forward':'Deliver','prev':'in_progress','identity':'permission_index','moneyEffect':'none'},'commercialSemantics':'The\x20in_progress\x20->\x20delivered\x20forward\x20is\x20a\x20bare\x20permission-index\x20edge:\x20WIP-hash\x20evidence\x20is\x20recommended\x20practice\x20but\x20the\x20template\x20mounts\x20no\x20evidence\x20gate\x20here\x20(unlike\x20its\x20two\x20freelance\x20siblings)\x20—\x20delivery\x20quality\x20is\x20policed\x20by\x20the\x20defect\x20loop\x20(M8)\x20and\x20the\x20client\x27s\x20acceptance,\x20not\x20by\x20a\x20repository\x20gate.','evidence':[]},{'id':'M8','class':'exception','name':'Client\x20reports\x20a\x20defect\x20—\x20order\x20enters\x20the\x20revising\x20state\x20(window-gated)','actor':'buyer','precondition':['M7'],'onchain':'expressible','chainFootprint':{'node':'revising','forward':'ReportDefect','prev':'delivered','identity':'order_holder','moneyEffect':'none'},'commercialSemantics':'The\x20remedy\x20node\x20is\x20window-gated:\x20defect_report_window\x20anchors\x20on\x20the\x20LAST\x20delivery\x20entry\x20(defect_report_window_hours\x20=\x20120),\x20and\x20every\x20re-delivery\x20resets\x20it\x20—\x20the\x20re-entrant\x20loop\x20is\x20deliberate\x20so\x20the\x20buyer\x20is\x20never\x20left\x20in\x20a\x20do-or-dispute\x20corner;\x20the\x20only\x20other\x20exits\x20from\x20revising\x20are\x20full-refund\x20cancel\x20or\x20dispute.','guardKeyProbe':'defect_report_window','evidence':[]},{'id':'M9','class':'main','name':'Creator\x20re-delivers\x20from\x20revising\x20(loop\x20re-entry)','actor':'fulfiller','precondition':['M8'],'onchain':'expressible','chainFootprint':{'node':'delivered','forward':'Deliver','prev':'revising','identity':'permission_index','moneyEffect':'none'},'commercialSemantics':'The\x20F-02\x20cure\x27s\x20second\x20half:\x20the\x20re-entry\x20pair\x20Deliver-from-revising\x20is\x20what\x20makes\x20the\x20loop\x20re-entrant\x20—\x20dropping\x20it\x20strands\x20every\x20disputed\x20order\x20at\x20revising\x20forever\x20(a\x20remedy\x20node\x20with\x20no\x20path\x20out).\x20Same\x20ungated\x20edge\x20family\x20as\x20M7.','evidence':[]},{'id':'M10','class':'main','name':'Client\x20confirms\x20acceptance\x20(manual\x20signature)','actor':'buyer','precondition':['M7'],'onchain':'expressible','chainFootprint':{'node':'accepted','identity':'order_holder','moneyEffect':'none'},'commercialSemantics':'The\x20manual\x20branch\x20is\x20the\x20client\x27s\x20own\x20signature\x20(order_payer\x20identity\x20edge)\x20—\x20the\x20creator\x20can\x20never\x20self-accept\x20(trust\x20mechanism\x20R4).\x20Sibling\x20timeout\x20branch\x20is\x20M11;\x20distinct\x20forward\x20names\x20are\x20mandatory\x20on\x20siblings\x20sharing\x20a\x20prev.','evidence':[]},{'id':'M11','class':'exception','name':'Acceptance\x20timeout\x20—\x20keeper\x20auto-accepts\x20a\x20silent\x20client\x20(48h)','actor':'keeper','precondition':['M7'],'onchain':'expressible','chainFootprint':{'node':'accepted','forward':'AutoAcceptByKeeper','prev':'delivered','identity':'permission_index','moneyEffect':'none'},'commercialSemantics':'acceptance_timeout_hours\x20(48)\x20bounds\x20client\x20silence\x20—\x20tight\x20vs\x20the\x20marketplace\x20templates\x27\x2014\x20days,\x20matching\x20Contra\x27s\x20low-ticket\x20tempo.\x20The\x20timeout\x20is\x20100%\x20off-chain\x20keeper\x20duty\x20(the\x20machine\x20has\x20no\x20timer):\x20no\x20keeper\x20means\x20manual-only\x20confirmation,\x20the\x20funds-stuck\x20failure\x20mode\x20the\x20corpus\x20names.','guardKeyProbe':'accept_timeout','evidence':[]},{'id':'M12','class':'main','name':'Client\x20reviews\x20the\x20delivery\x20(window-gated\x20side\x20action)','actor':'buyer','precondition':['M11'],'onchain':'expressible','chainFootprint':{'node':'reviewed','forward':'Review','prev':'accepted','identity':'order_holder','moneyEffect':'none'},'commercialSemantics':'Review\x20rides\x20the\x2014-day\x20review\x20window\x20as\x20a\x20reputation\x20rail;\x20completed\x20is\x20reachable\x20from\x20accepted\x20directly,\x20so\x20a\x20silent\x20reviewer\x20cannot\x20strand\x20the\x20escrow.','guardKeyProbe':'review_window','evidence':[]},{'id':'M13','class':'main','name':'Settlement\x20—\x20fixed\x20fee\x20deducted\x20first,\x20net\x20remainder\x20to\x20the\x20creator','actor':'merchant','precondition':['M12'],'onchain':'expressible','chainFootprint':{'node':'completed','forward':'CompleteAfterReview','prev':'reviewed','identity':'permission_index','moneyEffect':'release'},'commercialSemantics':'The\x20zero-commission\x20money\x20shape:\x20the\x20platform\x27s\x20fixed\x20Amount\x20leg\x20is\x20deducted\x20first\x20and\x20the\x20creator\x27s\x20Rate-10000\x20leg\x20takes\x20the\x20net\x20remainder\x20—\x20both\x20legs\x20in\x20ONE\x20allocator\x20sharing\x20a\x20guard\x20key,\x20so\x20the\x20fee\x20is\x20native\x20(no\x20off-chain\x20collection,\x20no\x20surplus\x20rate).\x20Tier\x20selection\x20is\x20disjoint\x20and\x20self-selecting:\x20each\x20tier\x27s\x20guard\x20reads\x20order.amount\x20against\x20the\x20boundary\x20(ctra-mn-261019\x20F-04).','evidence':[]},{'id':'E1','class':'exception','name':'Pre-work\x20cancellation\x20(listed\x20/\x20contacted\x20/\x20ordered\x20only)','actor':'buyer','precondition':['M5'],'onchain':'expressible','chainFootprint':{'node':'closed_cancel','moneyEffect':'refund'},'commercialSemantics':'closed_cancel\x20is\x20reachable\x20ONLY\x20from\x20listed,\x20contacted\x20and\x20ordered\x20—\x20pre-work\x20by\x20design\x20(D-BUG-2):\x20post-delivery\x20disputes\x20route\x20to\x20Arbitration\x20so\x20refund\x20and\x20ruling\x20payouts\x20can\x20never\x20double-pay\x20for\x20one\x20order.\x20The\x20refund\x20allocator\x20is\x20order-anchored\x20and\x20pays\x20the\x20client\x20whole.','evidence':[]},{'id':'E2','class':'exception','name':'Job\x20post\x20withdrawn\x20before\x20engagement','actor':'buyer','precondition':['M1'],'onchain':'not_applicable','commercialSemantics':'Withdrawing\x20a\x20listing\x20is\x20a\x20listing-management\x20act\x20before\x20any\x20order\x20exists\x20—\x20the\x20machine\x20only\x20knows\x20the\x20listed\x20state\x27s\x20successors.\x20Nothing\x20to\x20eliminate:\x20no\x20escrow,\x20no\x20counterparty.','evidence':[]},{'id':'E3','class':'exception','name':'Client\x20disengages\x20after\x20contact\x20(no\x20contract)','actor':'buyer','precondition':['M3'],'onchain':'not_applicable','commercialSemantics':'A\x20contacted\x20order\x20that\x20never\x20advances\x20simply\x20rests\x20—\x20the\x20funnel\x27s\x20whole\x20point\x20is\x20that\x20contact\x20carries\x20no\x20money.\x20The\x20chain\x27s\x20counterpart\x20is\x20a\x20state\x20that\x20decays\x20on\x20its\x20own;\x20no\x20cancel\x20is\x20needed,\x20so\x20the\x20step\x20is\x20eliminated.','evidence':[]},{'id':'E4','class':'exception','name':'Hourly\x20/\x20retainer\x20engagement\x20variant','actor':'fulfiller','precondition':['M5'],'onchain':'not_applicable','commercialSemantics':'Contra\x20runs\x20hourly\x20and\x20retainer\x20deals\x20off-contract-templates.\x20This\x20template\x20is\x20fixed-price\x20only\x20—\x20no\x20metering\x20primitive,\x20no\x20diary;\x20the\x20variant\x20is\x20eliminated\x20(the\x20fixed-fee\x20allocator\x20shape\x20cannot\x20express\x20a\x20rate\x20card).','evidence':[]},{'id':'E5','class':'exception','name':'Post-delivery\x20dispute\x20has\x20NO\x20machine\x20cancel\x20route\x20(pre-work-only\x20terminal)','actor':'buyer','precondition':['M7'],'onchain':'expressible_with_gap','chainFootprint':{'forward':'ArbRefund','moneyEffect':'refund'},'commercialSemantics':'Deliberate\x20gap,\x20now\x20HALF-cured\x20by\x20execution\x20(stage2\x20#8,\x20v190):\x20closed_cancel\x20still\x20excludes\x20a\x20buyer\x20cancel\x20button\x20post-delivery\x20—\x20disputes\x20route\x20to\x20Arbitration,\x20not\x20the\x20machine\x20(the\x20double-pay\x20guard,\x20D-BUG-2).\x20But\x20the\x20award\x20edge\x20itself\x20IS\x20mounted\x20now\x20(ArbRefund,\x20delivered\x20->\x20closed_cancel,\x20key\x20arb_refund_award,\x20the\x20sibling\x20templates\x27\x20GF2-31\x20rail\x20on\x20the\x20N12\x20dedicated\x20slot\x201004):\x20a\x20buyer-won\x20ruling\x20re-routes\x20the\x20escrow\x20in-machine\x20—\x20conclude\x20the\x20case\x20first\x20(the\x20refund\x20twin\x27s\x20W5-14\x20freeze\x20leg),\x20then\x20the\x20refund_gate\x20leg\x20moves\x20the\x20escrowed\x20principal.\x20Payout\x20discipline\x20unchanged:\x20refund\x20and\x20ruling\x20must\x20never\x20both\x20fire\x20for\x20one\x20order\x20—\x20they\x20share\x20this\x20one\x20rail.','gapPredicate':{'probe':'Disputes\x20route\x20to\x20Arbitration|post-delivery\x20disputes\x20route\x20to\x20Arbitration'},'evidence':[]},{'id':'E6','class':'exception','name':'Client\x20vanishes\x20pre-acceptance\x20(routes\x20to\x20the\x20acceptance\x20timeout)','actor':'keeper','precondition':['M7'],'onchain':'expressible','chainFootprint':{'node':'accepted','forward':'AutoAcceptByKeeper','prev':'delivered','identity':'permission_index','moneyEffect':'none'},'commercialSemantics':'Client\x20silence\x20after\x20delivery\x20is\x20the\x20M11\x20rail\x20wearing\x20an\x20exception\x20hat:\x2048\x20hours,\x20keeper\x20slot\x201000,\x20then\x20the\x20money\x20takes\x20its\x20net-remainder\x20shape.\x20The\x200-commission\x20economics\x20mean\x20the\x20creator\x20loses\x20nothing\x20but\x20time.','guardKeyProbe':'accept_timeout','evidence':[]},{'id':'E7','class':'exception','name':'Revision\x20loop\x20exhausted\x20—\x20window\x20closes,\x20dispute\x20or\x20accept\x20remains','actor':'merchant','precondition':['M9'],'onchain':'disclosure_only','commercialSemantics':'The\x20template\x20declares\x20no\x20revision\x20cap:\x20the\x20loop\x20is\x20bounded\x20only\x20by\x20the\x20defect\x20window\x20re-arming\x20on\x20every\x20re-delivery.\x20When\x20the\x20window\x20lapses\x20the\x20honest\x20exits\x20are\x20acceptance,\x20full-refund\x20cancel\x20or\x20dispute\x20—\x20the\x20re-entrant\x20remedy\x20loop\x20note\x20is\x20the\x20disclosure.','disclosureProbe':'RE-ENTRANT\x20REMEDY\x20LOOP|defect_report_window|revising','evidence':[]},{'id':'E8','class':'exception','name':'Creator\x20or\x20client\x20banned\x20from\x20the\x20platform','actor':'platform','precondition':['M6'],'onchain':'not_applicable','commercialSemantics':'Account\x20bans\x20are\x20platform-database\x20enforcement.\x20The\x20escrow\x20is\x20bound\x20to\x20the\x20ORDER,\x20rails\x20to\x20rosters\x20the\x20merchant\x20controls;\x20keeper\x20rails\x20(M11)\x20and\x20the\x20recovery\x20allocator\x20resolve\x20stalled\x20orders\x20without\x20the\x20banned\x20identity\x20—\x20eliminated,\x20not\x20disclosed.','evidence':[]},{'id':'E9','class':'exception','name':'Escrow\x20stranded\x20by\x20a\x20silent\x20dispute\x20—\x20exit\x20invariant\x20(recovery\x20sweep)','actor':'merchant','precondition':['M6'],'onchain':'expressible','chainFootprint':{'node':'completed','moneyEffect':'release'},'commercialSemantics':'The\x20az-mn-261007\x20T5\x20lesson:\x20every\x20non-terminal\x20state\x20keeps\x20a\x20drain\x20path.\x20Here\x20the\x20merchant-recovery\x20allocator\x20row\x20(recover_gate)\x20sweeps\x20a\x20stalled\x20order\x27s\x20net\x20remainder\x20to\x20the\x20creator\x20at\x20the\x20completed\x20terminal,\x20while\x20the\x20refund\x20rail\x20stays\x20node-gated\x20to\x20pre-work\x20closed_cancel\x20—\x20the\x20corpus\x20forbids\x20ever\x20gating\x20the\x20refund\x20rail\x20on\x20a\x20zero-open-dispute\x20condition\x20instead.','evidence':[]},{'id':'E10','class':'exception','name':'Zero-balance\x20masking\x20(settled\x20order\x20cannot\x20negative-test\x20other\x20rails)','actor':'platform','precondition':['M13'],'onchain':'disclosure_only','commercialSemantics':'Once\x20an\x20order\x27s\x20Allocation\x20is\x20fully\x20distributed,\x20any\x20further\x20rail\x20trigger\x20returns\x20the\x20zero-value\x20abort\x20and\x20the\x20guard\x20verdict\x20is\x20never\x20evaluated\x20—\x20a\x20settled\x20order\x20cannot\x20negative-test\x20the\x20fee\x20or\x20refund\x20rails;\x20probe\x20with\x20a\x20fresh\x20funded\x20order\x20(KLM-FIND-13).\x20The\x20build_notes\x20carry\x20the\x20constant\x20verbatim.','disclosureProbe':'Zero-balance\x20masking|zero-value\x20abort','evidence':[]},{'id':'E11','class':'exception','name':'Sanctioned-jurisdiction\x20payout\x20block\x20(compliance\x20gate)','actor':'platform','precondition':['M13'],'onchain':'not_applicable','commercialSemantics':'Geo-fencing\x20and\x20sanctions\x20compliance\x20live\x20in\x20the\x20off-chain\x20ramps\x20(exchanges,\x20card\x20rails),\x20not\x20in\x20the\x20machine\x20—\x20the\x20allocator\x20pays\x20whatever\x20address\x20holds\x20the\x20roster\x20slot.\x20The\x20step\x20is\x20eliminated\x20from\x20the\x20template\x27s\x20expressible\x20surface\x20by\x20design.','evidence':[]},{'id':'E12','class':'exception','name':'Creator\x20abandonment\x20mid-work\x20(client\x27s\x20exit\x20from\x20a\x20stalled\x20in_progress)','actor':'buyer','precondition':['M6'],'onchain':'expressible_with_gap','chainFootprint':{'node':'closed_cancel','moneyEffect':'refund'},'commercialSemantics':'The\x20chain\x27s\x20cancel-from-in-progress\x20primitive\x20(live-proven\x20on\x20the\x20sibling\x20template)\x20lets\x20the\x20client\x20exit\x20a\x20stalled\x20order\x20with\x20a\x20full\x20refund,\x20bypassing\x20the\x20declared\x20pre-work-only\x20edges.\x20The\x20gap\x20the\x20corpus\x20discloses\x20only\x20generically:\x20there\x20is\x20no\x20stall-detection\x20clock\x20—\x20an\x20idle\x20in_progress\x20triggers\x20nothing\x20until\x20someone\x20acts,\x20and\x20the\x20corpus\x27s\x20strand\x20warning\x20is\x20written\x20about\x20the\x20revising\x20node,\x20not\x20this\x20one.','gapPredicate':{'probe':'strands|stall|abandon'},'evidence':[]},{'id':'E13','class':'exception','name':'Dispute\x20withdrawn\x20—\x20settled\x20out-of-band,\x20claim\x20pulled\x20before\x20ruling\x20(BANNED\x20-\x20D2\x20no-withdraw\x20doctrine:\x20a\x20filed\x20claim\x20reaches\x20a\x20RULING\x20instead)','actor':'buyer','precondition':['R1'],'onchain':'expressible_with_gap','chainFootprint':{'moneyEffect':'none'},'commercialSemantics':'Contra\x20lets\x20either\x20side\x20close\x20a\x20case\x20amicably.\x20The\x20arbitration\x20rail\x20has\x20no\x20WithdrawClaim\x20forward\x20(the\x20ssng6-mn-261101\x20replay-hazard\x20family:\x20the\x20kernel\x20WithdrawClaim\x20ships\x20no\x20arbitration-leg\x20—\x20replayable\x20and\x20blind\x20to\x20whether\x20a\x20case\x20exists),\x20so\x20the\x20only\x20exits\x20are\x20the\x20ruling\x20itself\x20(now\x20executable\x20in-machine,\x20stage2\x20#8)\x20or\x20the\x20arb\x20silence\x20window.\x20REGISTERED,\x20not\x20standing:\x20with\x20no\x20claim\x20waypoint\x20on\x20this\x20machine\x20a\x20WithdrawClaim\x20edge\x20could\x20only\x20mount\x20as\x20a\x20delivered->delivered\x20self-loop\x20—\x20banned\x20outright\x20since\x20the\x20sso7\x20v172\x20cure\x20(SELF_LOOP_EDGE\x20compile\x20blocker).\x20Mounts\x20only\x20when\x20the\x20protocol\x20train\x20ships\x20a\x20claim\x20waypoint\x20plus\x20an\x20arb\x20case\x20binding\x20leg.','gapPredicate':{'probe':'WithdrawClaim|withdraw'},'evidence':[]},{'id':'R1','class':'remedy','name':'File\x20a\x20dispute\x20(off-Machine\x20Arbitration\x20object,\x20low-ticket\x20native)','actor':'buyer','precondition':['M7'],'onchain':'disclosure_only','commercialSemantics':'Arbitration\x20is\x20an\x20add-on\x20native\x20to\x20WoWok\x20—\x20independent\x20Permission,\x20near-zero\x20fee,\x20sized\x20for\x20the\x20low-ticket\x20dispute\x20range\x20Contra\x20actually\x20has.\x20The\x20venue\x20must\x20be\x20operational\x20before\x20binding:\x20a\x20fresh\x20Arbitration\x20ships\x20paused,\x20and\x20a\x20paused\x20venue\x20rejects\x20every\x20dispute\x20with\x20E_PAUSED;\x20prefer\x20a\x20venue\x20with\x20an\x20explicit\x20voting_guard\x20(an\x20empty\x20one\x20gives\x20every\x20voter\x20EQUAL\x20WEIGHT,\x20not\x20permissionless).','disclosureProbe':'Arbitration\x20is\x20an\x20add-on|E_PAUSED|VENUE\x20READINESS|voting_guard','evidence':[{'file':'arbitration.move','line':0x169,'pattern':'assert_op_permission'}]},{'id':'R2','class':'remedy','name':'Ruling\x20execution\x20is\x20100%\x20off-chain\x20keeper\x20duty\x20(case\x20state\x20only)','actor':'keeper','precondition':['R1'],'onchain':'disclosure_only','commercialSemantics':'On-chain\x20arbitration\x20rulings\x20only\x20change\x20case\x20state;\x20the\x20refund\x20allocator\x20fires\x20per\x20the\x20ruling\x20as\x20an\x20off-chain\x20keeper\x20allocation\x20(keeper_dependencies\x20names\x20it).\x20This\x20is\x20exactly\x20the\x20rail\x20E5/R7\x20ask\x20to\x20make\x20machine-native\x20—\x20until\x20then\x20the\x20keeper\x20IS\x20the\x20executor,\x20and\x20downtime\x20reverts\x20to\x20manual\x20confirmation.','disclosureProbe':'ruling-driven\x20refund\x20execution|only\x20change\x20case\x20state','evidence':[]},{'id':'R3','class':'remedy','name':'Indemnity\x20paid\x20from\x20the\x20compensation\x20fund\x20(buyer-only)','actor':'arbitrator','precondition':['R1'],'onchain':'disclosure_only','commercialSemantics':'The\x20compensation\x20fund\x20protects\x20the\x20BUYER\x20only:\x20the\x20payout\x20path\x20pays\x20the\x20order\x20owner\x20(the\x20client)\x20and\x20there\x20is\x20no\x20on-chain\x20path\x20to\x20indemnify\x20the\x20creator\x20—\x20if\x20a\x20ruling\x20favours\x20the\x20freelancer\x20(malicious\x20non-acceptance),\x20the\x20fund\x20cannot\x20pay\x20them.\x20Capped\x20at\x203x\x20the\x20escrowed\x20amount\x20(MAX_INDEMNITY_MULTIPLE);\x20the\x20corpus\x20discloses\x20the\x20limitation\x20verbatim.','disclosureProbe':'PROTECTS\x20THE\x20BUYER\x20ONLY|indemnify\x20the\x20freelancer','evidence':[{'file':'service.move','line':0x265,'pattern':'order::owner(order)'},{'file':'arb.move','line':0x15,'pattern':'MAX_INDEMNITY_MULTIPLE'}]},{'id':'R4','class':'remedy','name':'Arbitration\x2030-day\x20silence\x20=\x20acceptance\x20(case-fee\x20release)','actor':'platform','precondition':['R2'],'onchain':'not_applicable','commercialSemantics':'Protocol-level\x20arb-object\x20finality\x20(WITHDRAW_DURATION_TIME,\x20silence\x20treated\x20as\x20acceptance).\x20Contra\x27s\x20own\x20flow\x20has\x20no\x20analog\x20—\x20its\x20disputes\x20resolve\x20in-app\x20—\x20and\x20the\x20machine\x27s\x20rails\x20key\x20on\x20ruling\x20state\x20directly,\x20so\x20the\x20window\x20never\x20touches\x20the\x20buyer\x20path.','evidence':[{'file':'arb.move','line':0x10,'pattern':'WITHDRAW_DURATION_TIME'}]},{'id':'R5','class':'remedy','name':'Partial\x20refund\x20/\x20split\x20settlement\x20negotiated\x20(off-allocator\x20Payment)','actor':'merchant','precondition':['R2'],'onchain':'not_applicable','commercialSemantics':'The\x20real\x20product\x20settles\x20many\x20disputes\x20at\x20a\x20split.\x20The\x20allocator\x20rails\x20are\x20binary\x20(fixed\x20fee\x20+\x20net\x20remainder,\x20or\x20full\x20refund)\x20—\x20a\x20fraction\x20is\x20eliminated\x20inside\x20the\x20machine;\x20the\x20honest\x20workaround\x20is\x20a\x20permissionless\x20Payment\x20object\x20outside\x20this\x20template.','evidence':[]},{'id':'R6','class':'remedy','name':'Proactive\x20creator\x20make-good\x20(goodwill\x20Payment\x20before\x20a\x20dispute)','actor':'fulfiller','precondition':['M8'],'onchain':'not_applicable','commercialSemantics':'Contra\x27s\x20creators\x20often\x20refund\x20or\x20gift\x20without\x20a\x20case.\x20Same\x20carrier\x20as\x20R5:\x20a\x20Payment\x20object\x20the\x20creator\x20signs\x20off-template\x20—\x20no\x20allocator\x20leg\x20exists\x20for\x20voluntary\x20payouts,\x20so\x20the\x20step\x20is\x20eliminated\x20from\x20the\x20template\x27s\x20surface.','evidence':[]},{'id':'R7','class':'remedy','name':'Buyer-won\x20ruling\x20re-routes\x20the\x20stalled\x20order\x20(award\x20edge,\x20unmounted)','actor':'arbitrator','precondition':['R2'],'onchain':'expressible_with_gap','chainFootprint':{'forward':'ArbRefund','moneyEffect':'refund'},'commercialSemantics':'The\x20GF2-31\x20rail\x20the\x20sibling\x20templates\x20ship\x20—\x20SHIPPED\x20here\x20as\x20of\x20stage2\x20#8\x20(v190,\x202026-11-07):\x20the\x20ArbRefund\x20edge\x20(delivered\x20->\x20closed_cancel,\x20tpl_forward_arb_ruling_won,\x20key\x20arb_refund_award,\x20refund-rail\x20slot\x201004\x20the\x20N12\x20dedicated\x20ruling-executor\x20bucket)\x20lets\x20the\x20refund_gate\x20leg\x20actually\x20move\x20the\x20escrowed\x20principal\x20on\x20a\x20buyer-won\x20ruling\x20—\x20conclude\x20the\x20case\x20first\x20(the\x20refund\x20twin\x27s\x20W5-14\x20freeze\x20leg),\x20then\x20drive\x20the\x20edge\x20(keeper_duty\x20#2).\x20The\x20corpus\x27s\x20own\x20escape\x20hatch\x20stays\x20load-bearing:\x20refund\x20and\x20ruling\x20payouts\x20must\x20never\x20both\x20fire\x20for\x20one\x20order\x20—\x20they\x20share\x20this\x20one\x20rail\x20(D-BUG-2).','gapPredicate':{'probe':'never\x20both\x20fire\x20for\x20one\x20order|Disputes\x20route\x20to\x20Arbitration'},'evidence':[]},{'id':'R8','class':'remedy','name':'Ruling\x20dismissed\x20—\x20order\x20resumes\x20at\x20delivered\x20(re-dispute\x20window\x20re-armed)','actor':'merchant','precondition':['R1'],'onchain':'expressible_with_gap','chainFootprint':{'forward':'ResumeAfterDismissal','moneyEffect':'none'},'commercialSemantics':'A\x20dismissed\x20dispute\x20should\x20resume\x20the\x20order\x20at\x20delivered\x20with\x20the\x20client\x20free\x20to\x20dispute\x20again\x20—\x20the\x20delivery\x20template\x20ships\x20this\x20from\x20its\x20claim_filed\x20waypoint;\x20this\x20template\x20CANNOT\x20mount\x20it\x20honestly:\x20with\x20no\x20claim\x20waypoint\x20(disputes\x20never\x20enter\x20the\x20machine,\x20R-M1-11)\x20the\x20order\x20never\x20leaves\x20delivered,\x20so\x20the\x20forward\x20could\x20only\x20mount\x20as\x20a\x20delivered->delivered\x20self-loop\x20—\x20banned\x20outright\x20since\x20the\x20sso7\x20v172\x20cure\x20(SELF_LOOP_EDGE\x20compile\x20blocker).\x20REGISTERED\x20protocol-train\x20candidate\x20(claim\x20waypoint).\x20Practical\x20recovery\x20is\x20already\x20unblocked:\x20after\x20a\x20dismissal\x20the\x20acceptance\x20clock\x20is\x20long\x20elapsed,\x20so\x20the\x20keeper\x20advances\x20AutoAcceptByKeeper\x20->\x20CompleteAfterReview\x20and\x20settlement\x20pays\x20normally\x20(keeper_duty\x20#2).','gapPredicate':{'probe':'only\x20change\x20case\x20state'},'evidence':[]},{'id':'P1','class':'post','name':'Review-reward\x20claim\x20paid\x20from\x20the\x20pre-funded\x20pool','actor':'platform','precondition':['M12'],'onchain':'expressible','chainFootprint':{'node':'reviewed','moneyEffect':'reward'},'commercialSemantics':'Sale-time\x20reward\x20planning\x20shared\x20across\x20the\x20freelance\x20family:\x20a\x20pre-funded\x20review_reward_pool\x20pays\x20review_reward_per_claim\x20per\x20accepted\x20review,\x20claims\x20closing\x20reward_claim_closes_after_days\x20after\x20the\x20window\x20—\x20Contra\x27s\x20testimonial\x20economy\x20with\x20money\x20attached.','evidence':[{'file':'reward.move','line':0xe3,'pattern':'public\x20fun\x20claim'}]},{'id':'P2','class':'post','name':'Repeat\x20engagement\x20/\x20ongoing\x20retainer\x20(no\x20subscription\x20primitive)','actor':'buyer','precondition':['M13'],'onchain':'expressible_with_gap','chainFootprint':{'node':'ordered','moneyEffect':'escrow_in'},'commercialSemantics':'Repeat\x20work\x20re-enters\x20the\x20funnel\x20per\x20project:\x20a\x20fresh\x20listed\x20->\x20contacted\x20->\x20ordered\x20pass.\x20The\x20gap\x20—\x20there\x20is\x20no\x20subscription\x20or\x20recurring-billing\x20primitive,\x20and\x20the\x20corpus\x20does\x20not\x20disclose\x20one\x20—\x20is\x20left\x20to\x20the\x20off-chain\x20relationship;\x20encoded\x20honestly\x20as\x20an\x20undisclosed\x20gap.','gapPredicate':{'probe':'subscription|recurring|retainer'},'evidence':[]},{'id':'P3','class':'post','name':'Portfolio\x20reputation\x20compounds\x20(repository\x20rows\x20+\x20reviews\x20persist)','actor':'fulfiller','precondition':['P1'],'onchain':'expressible','chainFootprint':{'node':'listed','moneyEffect':'none'},'commercialSemantics':'Contra\x27s\x20flywheel\x20—\x20every\x20completed\x20project\x20feeds\x20the\x20portfolio\x20that\x20wins\x20the\x20next\x20client\x20—\x20is\x20native\x20here:\x20write-once\x20repository\x20rows\x20and\x20immutable\x20reviews\x20accumulate\x20against\x20the\x20service\x20object;\x20the\x20listing\x20state\x20(M1)\x20is\x20the\x20anchor\x20the\x20history\x20hangs\x20from.','evidence':[{'file':'repository.move','line':0xa9,'pattern':'write_once:\x20bool'}]},{'id':'P4','class':'post','name':'Payout\x20withdrawal\x20to\x20bank\x20/\x20card\x20(off-chain\x20ramp)','actor':'merchant','precondition':['M13'],'onchain':'not_applicable','commercialSemantics':'Withdrawal\x20to\x20fiat\x20rails\x20is\x20the\x20off-chain\x20ramp\x27s\x20business;\x20on-chain\x20the\x20funds\x20are\x20home\x20at\x20completed\x20(the\x20machine\x27s\x20own\x20vocabulary\x20ends\x20at\x20the\x20withdraw\x20guard).\x20Eliminated\x20from\x20the\x20template\x27s\x20surface.','evidence':[]},{'id':'P5','class':'post','name':'Tax\x20reporting\x20(1099\x20/\x20income\x20statements)','actor':'platform','precondition':['M13'],'onchain':'not_applicable','commercialSemantics':'Tax\x20forms\x20are\x20statutory\x20off-chain\x20artifacts.\x20The\x20chain\x20contributes\x20the\x20audit\x20trail\x20—\x20immutable\x20allocator\x20and\x20order\x20history\x20—\x20but\x20no\x20form\x20primitive\x20exists;\x20eliminated,\x20with\x20the\x20history\x20as\x20the\x20honest\x20substitute.','evidence':[]}],'invariants':[{'id':'INV-CON-1','statement':'Acceptance\x20liveness:\x20a\x20low-ticket\x20order\x20on\x20a\x2048h\x20acceptance\x20clock\x20must\x20keep\x20a\x20machine\x20exit\x20for\x20client\x20silence\x20—\x20if\x20the\x20keeper\x20auto-accept\x20edge\x20is\x20removed\x20while\x20acceptance_timeout_hours\x20>\x200,\x20a\x20vanished\x20client\x20strands\x20the\x20escrow\x20at\x20delivered\x20and\x20the\x20creator\x27s\x20only\x20remedy\x20is\x20manual\x20keeper\x20action\x20(the\x20funds-stuck\x20failure\x20mode\x20the\x20corpus\x20names).','jurisdiction':'EU\x20PWD\x202024/2831\x20art.\x206\x20(prompt\x20payment);\x20Contra\x20creator\x20terms\x20(payment\x20on\x20client\x20approval\x20or\x20timeout).','chainConflict':'Standing\x20check\x20(not\x20currently\x20violated):\x20the\x20template\x20ships\x20AutoAcceptByKeeper\x20(delivered\x20->\x20accepted,\x20accept_timeout,\x20slot\x201000)\x20with\x20the\x20keeper\x20named\x20first-class\x20in\x20keeper_dependencies.\x20Removing\x20the\x20forward\x20while\x20the\x20knob\x20stays\x20configured\x20re-fires\x20this\x20invariant.','violation':{'requiresFeeParamNonZero':'acceptance_timeout_hours','whileMissingForward':'AutoAcceptByKeeper'}},{'id':'INV-CON-2','statement':'The\x20compensation\x20fund\x20protects\x20the\x20BUYER\x20only:\x20the\x20payout\x20path\x20pays\x20the\x20order\x20owner\x20(the\x20client)\x20—\x20there\x20is\x20no\x20on-chain\x20path\x20to\x20indemnify\x20the\x20creator,\x20even\x20for\x20a\x20ruling\x20won\x20against\x20a\x20malicious\x20non-accepting\x20client.','jurisdiction':'Platform\x20purchase-protection\x20analogy\x20(buyer-side\x20only);\x20EU\x20PWD\x202024/2831\x20art.\x204\x20(information\x20to\x20the\x20fulfiller).','chainConflict':'The\x20recipient\x20is\x20fixed\x20at\x20the\x20contract\x20layer\x20(indemnity\x20is\x20paid\x20to\x20the\x20order\x20owner);\x20the\x20arbitration\x20layer\x20caps\x20the\x20indemnity\x20at\x20a\x20protocol\x20multiple\x20of\x20the\x20order\x20VALUE.\x20Text-only:\x20the\x20corpus\x20discloses\x20the\x20limitation\x20verbatim\x20and\x20no\x20fee_params\x20key\x20can\x20make\x20it\x20mechanical.','evidence':[{'file':'service.move','line':0x24c,'pattern':'public\x20fun\x20compensation_claim'},{'file':'service.move','line':0x265,'pattern':'order::owner(order)'}]},{'id':'INV-CON-3','statement':'The\x20closed_cancel\x20terminal\x20must\x20stay\x20pre-work-only\x20while\x20the\x20award\x20edge\x20is\x20unmounted:\x20every\x20post-delivery\x20refund\x20path\x20that\x20bypassed\x20arbitration\x20would\x20let\x20refund\x20and\x20ruling\x20payouts\x20double-fire\x20for\x20one\x20order\x20(D-BUG-2);\x20conversely,\x20mounting\x20ArbRefund\x20requires\x20its\x20zero-award\x20exclusion\x20leg.','jurisdiction':'Contra\x20dispute\x20terms\x20(dispute-routed\x20refunds\x20only);\x20platform\x20double-recovery\x20doctrine.','chainConflict':'Text-only\x20by\x20design:\x20the\x20mechanical\x20predicate\x20cannot\x20express\x20\x27terminal\x20reachable\x20only\x20from\x20listed/contacted/ordered\x27,\x20so\x20the\x20guard\x20stays\x20human-checked.\x20The\x20machine\x20side\x20is\x20audited\x20by\x20E5/R7\x27s\x20missing-footprint\x20encoding,\x20which\x20flips\x20to\x20covered\x20the\x20moment\x20a\x20properly-excluded\x20ArbRefund\x20edge\x20lands.'}]};