@wowok/agent-mcp 3.3.3 → 3.3.6

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 (202) hide show
  1. package/dist/chain-semantics/eval-order.d.ts +17 -0
  2. package/dist/chain-semantics/eval-order.js +1 -0
  3. package/dist/chain-semantics/freeze-map.js +1 -1
  4. package/dist/chain-semantics/fund-flow.js +1 -1
  5. package/dist/chain-semantics/index.d.ts +1 -0
  6. package/dist/chain-semantics/index.js +1 -1
  7. package/dist/chain-semantics/object-graph.js +1 -1
  8. package/dist/composition/audit.js +1 -1
  9. package/dist/composition/compile.d.ts +4 -1
  10. package/dist/composition/compile.js +1 -1
  11. package/dist/data/api/api.spec.d.ts +1 -0
  12. package/dist/data/api/api.spec.js +1 -0
  13. package/dist/data/api/cli.d.ts +1 -0
  14. package/dist/data/api/cli.js +1 -0
  15. package/dist/data/api/head.d.ts +16 -0
  16. package/dist/data/api/head.js +1 -0
  17. package/dist/data/api/head.spec.d.ts +1 -0
  18. package/dist/data/api/head.spec.js +1 -0
  19. package/dist/data/api/index.d.ts +2 -0
  20. package/dist/data/api/index.js +1 -0
  21. package/dist/data/api/match.d.ts +69 -0
  22. package/dist/data/api/match.js +1 -0
  23. package/dist/data/api/match.spec.d.ts +1 -0
  24. package/dist/data/api/match.spec.js +1 -0
  25. package/dist/data/api/server.d.ts +12 -0
  26. package/dist/data/api/server.js +1 -0
  27. package/dist/data/projection/cli.d.ts +1 -0
  28. package/dist/data/projection/cli.js +1 -0
  29. package/dist/data/projection/edges.d.ts +8 -0
  30. package/dist/data/projection/edges.js +1 -0
  31. package/dist/data/projection/edges.spec.d.ts +1 -0
  32. package/dist/data/projection/edges.spec.js +1 -0
  33. package/dist/data/projection/facets.d.ts +18 -0
  34. package/dist/data/projection/facets.js +1 -0
  35. package/dist/data/projection/facets.spec.d.ts +1 -0
  36. package/dist/data/projection/facets.spec.js +1 -0
  37. package/dist/data/projection/facts.d.ts +40 -0
  38. package/dist/data/projection/facts.js +1 -0
  39. package/dist/data/projection/index.d.ts +6 -0
  40. package/dist/data/projection/index.js +1 -0
  41. package/dist/data/projection/project.d.ts +10 -0
  42. package/dist/data/projection/project.js +1 -0
  43. package/dist/data/projection/projection.spec.d.ts +1 -0
  44. package/dist/data/projection/projection.spec.js +1 -0
  45. package/dist/data/projection/schema.d.ts +1 -0
  46. package/dist/data/projection/schema.js +1 -0
  47. package/dist/data/projection/store.d.ts +49 -0
  48. package/dist/data/projection/store.js +1 -0
  49. package/dist/data/projection/types.d.ts +137 -0
  50. package/dist/data/projection/types.js +1 -0
  51. package/dist/data/sync/cdc.d.ts +34 -0
  52. package/dist/data/sync/cdc.js +1 -0
  53. package/dist/data/sync/cdc.spec.d.ts +1 -0
  54. package/dist/data/sync/cdc.spec.js +1 -0
  55. package/dist/data/sync/graphql-source.d.ts +16 -0
  56. package/dist/data/sync/graphql-source.js +1 -0
  57. package/dist/data/sync/index.d.ts +5 -0
  58. package/dist/data/sync/index.js +1 -0
  59. package/dist/data/sync/reconciler.d.ts +14 -0
  60. package/dist/data/sync/reconciler.js +1 -0
  61. package/dist/data/sync/reconciler.spec.d.ts +1 -0
  62. package/dist/data/sync/reconciler.spec.js +1 -0
  63. package/dist/data/sync/schema.d.ts +1 -0
  64. package/dist/data/sync/schema.js +1 -0
  65. package/dist/data/sync/store.d.ts +19 -0
  66. package/dist/data/sync/store.js +1 -0
  67. package/dist/data/sync/sync.spec.d.ts +1 -0
  68. package/dist/data/sync/sync.spec.js +1 -0
  69. package/dist/data/sync/synchronizer.d.ts +10 -0
  70. package/dist/data/sync/synchronizer.js +1 -0
  71. package/dist/data/sync/types.d.ts +162 -0
  72. package/dist/data/sync/types.js +1 -0
  73. package/dist/evaluation/builtins/demand-match.js +1 -1
  74. package/dist/evaluation/builtins/graph-service.spec.js +1 -1
  75. package/dist/evaluation/capability.d.ts +1 -0
  76. package/dist/evaluation/engine.js +1 -1
  77. package/dist/evaluation/extract.d.ts +7 -1
  78. package/dist/evaluation/extract.js +1 -1
  79. package/dist/evaluation/match-policy.d.ts +118 -0
  80. package/dist/evaluation/match-policy.js +1 -0
  81. package/dist/evaluation/match-policy.spec.d.ts +1 -0
  82. package/dist/evaluation/match-policy.spec.js +1 -0
  83. package/dist/evaluation/node-game.d.ts +3 -0
  84. package/dist/evaluation/node-game.js +1 -1
  85. package/dist/experience/realtime-feedback.js +1 -1
  86. package/dist/graph/onchain/expand.js +1 -1
  87. package/dist/graph/onchain/exposure.js +1 -1
  88. package/dist/harness/recover.js +1 -1
  89. package/dist/knowledge/arbitration-ledger.js +1 -1
  90. package/dist/knowledge/baselines/rules/plan.json +16 -1
  91. package/dist/knowledge/builtin-templates.d.ts +1 -1
  92. package/dist/knowledge/builtin-templates.js +1 -1
  93. package/dist/knowledge/getting-started.js +1 -1
  94. package/dist/knowledge/guard-design-patterns.d.ts +1 -1
  95. package/dist/knowledge/guard-design-patterns.js +1 -1
  96. package/dist/knowledge/guard-ledger.js +1 -1
  97. package/dist/knowledge/guard-puzzle.js +1 -1
  98. package/dist/knowledge/guard-render.js +1 -1
  99. package/dist/knowledge/guard-risk.js +1 -1
  100. package/dist/knowledge/guard-templates.d.ts +1 -1
  101. package/dist/knowledge/guard-templates.js +1 -1
  102. package/dist/knowledge/guard-translation.js +1 -1
  103. package/dist/knowledge/index.js +1 -1
  104. package/dist/knowledge/industry-registry.js +1 -1
  105. package/dist/knowledge/jsonrpc-enum.d.ts +26 -10
  106. package/dist/knowledge/jsonrpc-enum.js +1 -1
  107. package/dist/knowledge/projection.d.ts +54 -0
  108. package/dist/knowledge/projection.js +1 -0
  109. package/dist/knowledge/projection.spec.d.ts +1 -0
  110. package/dist/knowledge/projection.spec.js +1 -0
  111. package/dist/knowledge/recipient-constraint.d.ts +9 -0
  112. package/dist/knowledge/recipient-constraint.js +1 -1
  113. package/dist/knowledge/scenario-modes.d.ts +1 -0
  114. package/dist/knowledge/service-ledger.d.ts +1 -1
  115. package/dist/knowledge/service-ledger.js +1 -1
  116. package/dist/knowledge/template-loader.d.ts +1 -0
  117. package/dist/knowledge/template-loader.js +1 -1
  118. package/dist/knowledge/template-registry.js +1 -1
  119. package/dist/knowledge/template-scanner.js +1 -1
  120. package/dist/monitor/MonitorLoop.js +1 -1
  121. package/dist/participation/node-action-advisor.js +1 -1
  122. package/dist/playbooks/service-build/business-puzzle.js +1 -1
  123. package/dist/playbooks/service-build/machine-panorama.js +1 -1
  124. package/dist/playbooks/service-build/object-panorama.js +1 -1
  125. package/dist/playbooks/service-build/participation-radar.js +1 -1
  126. package/dist/playbooks/service-build/relationship-profile.js +1 -1
  127. package/dist/playbooks/service-build/service-panorama.js +1 -1
  128. package/dist/playbooks/service-build/service-quote.js +1 -1
  129. package/dist/playbooks/service-build/service-quote.spec.js +1 -1
  130. package/dist/review/index.js +1 -1
  131. package/dist/role/profiles.js +1 -1
  132. package/dist/safety/confirm-gate.js +1 -1
  133. package/dist/schema/call/allocation.js +1 -1
  134. package/dist/schema/call/base.d.ts +25 -0
  135. package/dist/schema/call/base.js +1 -1
  136. package/dist/schema/call/bridge.d.ts +1 -0
  137. package/dist/schema/call/error-codes.d.ts +1 -1
  138. package/dist/schema/call/error-codes.js +1 -1
  139. package/dist/schema/call/handler.js +1 -1
  140. package/dist/schema/call/order.d.ts +12 -0
  141. package/dist/schema/call/order.js +1 -1
  142. package/dist/schema/call/progress.js +1 -1
  143. package/dist/schema/call/proof.js +1 -1
  144. package/dist/schema/call/semantic.js +1 -1
  145. package/dist/schema/call/service.js +1 -1
  146. package/dist/schema/common/index.js +1 -1
  147. package/dist/schema/evaluation/index.d.ts +189 -0
  148. package/dist/schema/evaluation/index.js +1 -1
  149. package/dist/schema/local/index.d.ts +10 -0
  150. package/dist/schema/local/index.js +1 -1
  151. package/dist/schema/operations.d.ts +4 -0
  152. package/dist/schema/query/bi.d.ts +8 -0
  153. package/dist/schema/query/bi.js +1 -1
  154. package/dist/schema/query/index.d.ts +147 -0
  155. package/dist/schema/query/index.js +1 -1
  156. package/dist/schema/schema-version.js +1 -1
  157. package/dist/schema-query-impl/index.js +1 -1
  158. package/dist/schemas/account_operation.output.json +2 -1
  159. package/dist/schemas/bridge_operation.output.json +2 -1
  160. package/dist/schemas/evaluation_operation.output.json +384 -2
  161. package/dist/schemas/evaluation_operation.schema.json +202 -4
  162. package/dist/schemas/index.json +1 -1
  163. package/dist/schemas/keeper_operation.output.json +1 -1
  164. package/dist/schemas/local_cache_operation.output.json +2 -1
  165. package/dist/schemas/local_history_operation.output.json +2 -1
  166. package/dist/schemas/local_info_operation.output.json +2 -1
  167. package/dist/schemas/local_mark_operation.output.json +2 -1
  168. package/dist/schemas/messenger_operation.output.json +1 -1
  169. package/dist/schemas/monitor_events.output.json +1 -1
  170. package/dist/schemas/monitor_subscription.output.json +1 -1
  171. package/dist/schemas/onchain_events.output.json +1 -1
  172. package/dist/schemas/onchain_operations.output.json +35 -4
  173. package/dist/schemas/onchain_operations.schema.json +687 -103
  174. package/dist/schemas/onchain_operations_allocation.schema.json +1 -1
  175. package/dist/schemas/onchain_operations_gen_proof.schema.json +1 -1
  176. package/dist/schemas/onchain_operations_guard.schema.json +660 -94
  177. package/dist/schemas/onchain_operations_order.schema.json +19 -1
  178. package/dist/schemas/onchain_operations_progress.schema.json +2 -2
  179. package/dist/schemas/onchain_operations_service.schema.json +4 -4
  180. package/dist/schemas/onchain_table_data.output.json +2 -2
  181. package/dist/schemas/query_toolkit.output.json +316 -1
  182. package/dist/schemas/query_toolkit.schema.json +1 -1
  183. package/dist/schemas/wowok_buildin_info.output.json +259 -0
  184. package/dist/schemas/wowok_buildin_info.schema.json +121 -0
  185. package/dist/tools/build-fingerprint.d.ts +28 -0
  186. package/dist/tools/build-fingerprint.js +1 -0
  187. package/dist/tools/handlers/benchmark-migration.d.ts +4 -2
  188. package/dist/tools/handlers/benchmark-migration.js +1 -1
  189. package/dist/tools/handlers/config.js +1 -1
  190. package/dist/tools/handlers/evaluation.js +1 -1
  191. package/dist/tools/handlers/evaluation.spec.js +1 -1
  192. package/dist/tools/handlers/onchain.d.ts +7 -0
  193. package/dist/tools/handlers/onchain.js +1 -1
  194. package/dist/tools/handlers/query.js +1 -1
  195. package/dist/tools/handlers/review-chain.d.ts +9 -13
  196. package/dist/tools/handlers/review-chain.js +1 -1
  197. package/dist/tools/index.js +1 -1
  198. package/dist/tools/registry/business.js +1 -1
  199. package/dist/tools/upgrade-check.d.ts +1 -0
  200. package/dist/tools/upgrade-check.js +1 -1
  201. package/dist/tools/wrap.js +1 -1
  202. package/package.json +7 -2
@@ -1 +1 @@
1
- export const PROTOCOL_SLOT_254_NOTE='PROTOCOL\x20SLOT\x20254:\x20the\x20task-binding\x20row\x20is\x20mandatory\x20on\x20every\x20forward-bound\x20guard\x20—\x20the\x20chain-side\x20task-binding\x20check\x20aborts\x20(code\x2011)\x20without\x20it;\x20the\x20value\x20is\x20written\x20by\x20order\x20creation,\x20never\x20submitted\x20by\x20hand';export const GUARD_TEMPLATES=[{'id':'tpl_buy_guard_whitelist','scene_id':'service_buy_guard','name':'Whitelist\x20purchase\x20validation','description':'Only\x20addresses\x20in\x20the\x20whitelist\x20can\x20purchase\x20the\x20service.\x20Suitable\x20for\x20limited-time\x20sales,\x20VIP\x20exclusives,\x20internal\x20testing\x20eligibility,\x20etc.','recommended_patterns':['P04','P03'],'parameters':[{'name':'whitelist','type':'vec_address','description':'List\x20of\x20authorized\x20addresses','required':!![],'constraint':'Each\x20address\x20must\x20be\x20valid\x20and\x20unique'},{'name':'service_name','type':'string','description':'Service\x20object\x20name\x20(used\x20for\x20circular\x20references)','required':![],'constraint':'If\x20P16\x20circular\x20reference\x20is\x20used,\x20a\x20name\x20must\x20be\x20provided\x20rather\x20than\x20an\x20address'}],'example_table':[{'identifier':0x0,'b_submission':![],'value_type':'VecAddress','value':'${whitelist}','name':'Authorized\x20purchase\x20whitelist'}],'example_root':{'type':'vec_contains_address','nodes':[{'type':'identifier','identifier':0x0},{'type':'context','context':'Signer'}]},'applicable_industries':['rental','ecommerce','education','travel','subscription'],'relevant_risks':['R-C1-01','R-C3-01','R-C4-01'],'creation_notes':['Updating\x20the\x20whitelist\x20requires\x20rebuilding\x20the\x20Guard\x20(buy_guard\x20is\x20iterable)','If\x20the\x20Service\x20is\x20already\x20published,\x20the\x20table\x20can\x20use\x20the\x20address\x20directly;\x20otherwise\x20use\x20the\x20name\x20(P16\x20circular\x20reference)'],'example_use_case':'Internal\x20testing\x20phase\x20for\x20camera\x20equipment\x20rental,\x20allowing\x20only\x20the\x20first\x2050\x20seed\x20users\x20to\x20place\x20rental\x20orders.','verifier_constraint_level':'level2_identity_set'},{'id':'tpl_allocator_threshold','scene_id':'service_order_allocators_guard','name':'Allocation\x20amount\x20threshold\x20validation','description':'Selects\x20different\x20allocation\x20strategies\x20based\x20on\x20the\x20order\x20amount.\x20When\x20the\x20amount\x20exceeds\x20the\x20threshold,\x20advanced\x20allocation\x20is\x20used;\x20otherwise,\x20default\x20allocation\x20applies.','recommended_patterns':['P02','P10'],'parameters':[{'name':'threshold','type':'number','description':'Allocation\x20threshold\x20(unit:\x20smallest\x20precision)','required':!![],'constraint':'Must\x20be\x20>\x200;\x20a\x20reasonable\x20range\x20is\x20recommended\x20to\x20avoid\x20boundary\x20gaming'},{'name':'service_name','type':'string','description':'Service\x20object\x20name','required':!![]}],'example_table':[{'identifier':0x0,'b_submission':![],'value_type':'Address','value':'${service_name}','name':'Service\x20object'},{'identifier':0x1,'b_submission':![],'value_type':'U64','value':'${threshold}','name':'Allocation\x20threshold'}],'example_root':{'type':'logic_as_u256_greater','nodes':[{'type':'query','query':'order.amount','object':{'identifier':0x0},'parameters':[]},{'type':'identifier','identifier':0x1}]},'applicable_industries':['ecommerce','rental','education','travel'],'relevant_risks':['R-X1-01','R-X1-05','R-X1-08'],'creation_notes':['order_allocators\x20cannot\x20be\x20modified\x20after\x20binding\x20(immutable\x20after\x20publish)','A\x20distribution\x20call\x20submits\x20ONE\x20guard;\x20every\x20allocator\x20bound\x20to\x20that\x20guard\x20fires\x20in\x20vector\x20order\x20against\x20the\x20shrinking\x20pool\x20(allocation.move:366-368)','Threshold\x20boundary\x20must\x20be\x20tested:\x20behavior\x20when\x20exactly\x20equal\x20to\x20the\x20threshold\x20(>\x20vs\x20>=)'],'example_use_case':'E-commerce\x20platform:\x20order\x20amount\x20>\x201000\x20WOW\x20triggers\x203-way\x20allocation\x20(platform\x20+\x20merchant\x20+\x20logistics);\x20otherwise\x202-way\x20allocation\x20(platform\x20+\x20merchant).','verifier_constraint_level':'level3_scene_combined'},{'id':'tpl_allocator_treasury_personal','scene_id':'service_order_allocators_guard','name':'Treasury\x20+\x20personal\x20address\x20allocation\x20(Entity\x20sharing)','description':'2\x20allocators\x20representing\x202\x20merchant\x20collection\x20approaches:\x20(1)\x20named\x20Treasury\x20address\x20for\x20public\x20fund\x20aggregation,\x20(2)\x20fixed\x20personal\x20address.\x20'+'Uses\x20sharing.who=Entity\x20so\x20funds\x20always\x20flow\x20to\x20the\x20legitimate\x20recipient\x20regardless\x20of\x20caller\x20—\x20no\x20Signer\x20binding\x20needed\x20in\x20Guard.\x20'+'Guards\x20verify\x20the\x20order\x20is\x20at\x20the\x20Complete\x20node\x20+\x20belongs\x20to\x20the\x20service\x20(project\x20binding).','recommended_patterns':['P02','P10','P16'],'parameters':[{'name':'service_name','type':'string','description':'Service\x20object\x20name\x20(circular\x20ref\x20via\x20P16\x20—\x20resolved\x20after\x20Service\x20publish)','required':!![],'constraint':'Must\x20be\x20a\x20name,\x20not\x20an\x20address\x20(the\x20Service\x20is\x20not\x20yet\x20published\x20when\x20the\x20Guard\x20is\x20created)'},{'name':'complete_node_name','type':'string','description':'Expected\x20node\x20name\x20that\x20triggers\x20allocation\x20(e.g.\x20\x27Complete\x27)','required':!![],'default':'Complete','constraint':'Must\x20exactly\x20match\x20the\x20Machine\x20node\x20name\x20(case-sensitive)'},{'name':'treasury_name','type':'string','description':'Named\x20Treasury\x20object\x20(created\x20with\x20the\x20Service\x27s\x20permission)','required':!![],'constraint':'Treasury\x20must\x20be\x20created\x20before\x20the\x20Service;\x20use\x20the\x20SAME\x20permission\x20as\x20the\x20Service\x20for\x20consistency'},{'name':'personal_address','type':'address','description':'Fixed\x20personal\x20collection\x20address\x20(e.g.\x20the\x20permission\x20creator\x27s\x20address)','required':!![]}],'example_table':[{'identifier':0x0,'b_submission':!![],'value_type':'Address','object_type':'Order','name':'order_id\x20(Order\x20object\x20submitted\x20at\x20runtime)'},{'identifier':0x1,'b_submission':![],'value_type':'String','value':'${complete_node_name}','name':'Expected\x20Complete\x20node\x20name\x20(case-sensitive)'},{'identifier':0x2,'b_submission':![],'value_type':'Address','value':'${service_name}','name':'Service\x20object\x20(project\x20binding,\x20circular\x20ref\x20via\x20name)'}],'example_root':{'type':'logic_and','nodes':[{'type':'logic_equal','nodes':[{'type':'query','query':'progress.current','object':{'identifier':0x0,'convert_witness':'OrderProgress'},'parameters':[]},{'type':'identifier','identifier':0x1}]},{'type':'logic_equal','nodes':[{'type':'query','query':'order.service','object':{'identifier':0x0},'parameters':[]},{'type':'identifier','identifier':0x2}]}]},'applicable_industries':['insurance','ecommerce','travel','rental','subscription'],'relevant_risks':['R-C3-05','R-C3-06','R-X1-05','R-X1-01'],'creation_notes':['2\x20Guard\x20objects\x20with\x20IDENTICAL\x20root/table\x20but\x20DIFFERENT\x20descriptions\x20(allocators\x20require\x20unique\x20guard\x20addresses\x20—\x20no\x20two\x20allocators\x20may\x20reference\x20the\x20same\x20Guard).','sharing.who=Entity\x20(Treasury/personal)\x20—\x20no\x20Signer\x20binding\x20needed\x20in\x20the\x20Guard\x20(R-C3-06\x20safe).','Each\x20allocator\x20is\x20bound\x20to\x20a\x20DIFFERENT\x20guard\x20—\x20the\x20caller\x27s\x20submitted\x20guard\x20selects\x20which\x20path\x20fires.\x20To\x20switch\x20from\x20Treasury\x20to\x20personal\x20collection,\x20submit\x20the\x20personal\x20allocator\x27s\x20guard\x20instead','Treasury\x20should\x20be\x20created\x20with\x20the\x20SAME\x20permission\x20as\x20the\x20Service\x20(permission\x20consistency\x20—\x20different\x20permissions\x20=\x20minor\x20risk).','order.service\x20binding\x20(query\x201563)\x20suppresses\x20R-C3-05\x20(cross-project\x20bypass\x20prevents\x20premature\x20allocation\x20on\x20foreign\x20orders).','order_allocators\x20is\x20immutable\x20after\x20Service\x20publish\x20—\x20verify\x20the\x20Guard\x20logic\x20and\x20sharing\x20config\x20before\x20publishing.'],'example_use_case':'Insurance\x20service:\x20after\x20a\x20claim\x20reaches\x20the\x20Complete\x20node,\x20order\x20funds\x20are\x20allocated\x20to\x20the\x20insurance\x20Treasury\x20'+'(approach\x201,\x20for\x20operational\x20fund\x20aggregation)\x20or\x20to\x20the\x20provider\x27s\x20personal\x20address\x20(approach\x202,\x20for\x20direct\x20income).','verifier_constraint_level':'level3_scene_combined'},{'id':'tpl_allocator_identity_set_order_holder','scene_id':'service_order_allocators_guard','name':'Order-holder\x20identity-set\x20allocation\x20(Level\x202)','description':'Level\x202\x20identity-set\x20binding:\x20Signer\x20is\x20order.owner\x20(1562,\x20Address)\x20OR\x20order.agent\x20(1567,\x20Bool\x20with\x20[Signer]\x20param).\x20'+'Demonstrates\x20the\x20mixed\x20return-type\x20construction\x20pattern\x20—\x20Address-returning\x20queries\x20are\x20wrapped\x20in\x20logic_equal,\x20'+'while\x20Bool-returning\x20queries\x20(suffix\x20\x27has\x27)\x20are\x20used\x20directly\x20as\x20logic_or\x20children.\x20'+'Combined\x20with\x20order.service\x20binding\x20(R-C3-05)\x20for\x20cross-service\x20theft\x20prevention.\x20'+'Use\x20when\x20either\x20the\x20order\x20owner\x20or\x20an\x20authorized\x20agent\x20should\x20be\x20able\x20to\x20trigger\x20allocation\x20(e.g.\x20refund\x20to\x20caller).','recommended_patterns':['P02','P10','P16'],'parameters':[{'name':'service_name','type':'string','description':'Service\x20object\x20name\x20(circular\x20ref\x20via\x20P16)','required':!![],'constraint':'Must\x20be\x20a\x20name,\x20not\x20an\x20address\x20(the\x20Service\x20is\x20not\x20yet\x20published\x20when\x20the\x20Guard\x20is\x20created)'}],'example_table':[{'identifier':0x0,'b_submission':!![],'value_type':'Address','object_type':'Order','name':'order_id\x20(Order\x20object\x20submitted\x20at\x20runtime)'},{'identifier':0x1,'b_submission':![],'value_type':'Address','value':'${service_name}','name':'Service\x20object\x20(project\x20binding,\x20circular\x20ref\x20via\x20name)'}],'example_root':{'type':'logic_and','nodes':[{'type':'logic_or','nodes':[{'type':'logic_equal','nodes':[{'type':'query','query':'order.owner','object':{'identifier':0x0},'parameters':[]},{'type':'context','context':'Signer'}]},{'type':'query','query':'order.agent\x20has','object':{'identifier':0x0},'parameters':[{'type':'context','context':'Signer'}]}]},{'type':'logic_equal','nodes':[{'type':'query','query':'order.service','object':{'identifier':0x0},'parameters':[]},{'type':'identifier','identifier':0x1}]}]},'applicable_industries':['ecommerce','rental','travel','subscription'],'relevant_risks':['R-C3-01','R-C3-05','R-C3-06','R-C4-04'],'creation_notes':['MIXED\x20RETURN-TYPE\x20CONSTRUCTION\x20(key\x20Level\x202\x20pattern):\x20query\x201562\x20(order.owner)\x20returns\x20Address\x20→\x20wrap\x20in\x20logic_equal\x20with\x20context(Signer);\x20query\x201567\x20(order.agent\x20has)\x20returns\x20Bool\x20→\x20use\x20directly\x20as\x20logic_or\x20child\x20with\x20parameters:\x20[context(Signer)].','logic_or\x20wrapping\x20of\x20the\x20Signer\x20check\x20suppresses\x20R-C4-04\x20(Level\x201\x20strict\x20binding\x20convenience\x20warning)\x20—\x20this\x20is\x20the\x20recommended\x20Level\x202\x20alternative.','Use\x20this\x20pattern\x20when\x20sharing.who=Signer\x20(funds\x20flow\x20to\x20caller)\x20AND\x20either\x20the\x20owner\x20or\x20an\x20agent\x20should\x20be\x20authorized\x20to\x20trigger\x20allocation.','order.service\x20binding\x20(query\x201563)\x20suppresses\x20R-C3-05\x20(cross-project\x20bypass).','If\x20agents\x20are\x20not\x20needed,\x20use\x20the\x20simpler\x20Level\x202\x20dynamic\x20pattern:\x20logic_equal[query(1562),\x20context(Signer)]\x20without\x20logic_or.'],'example_use_case':'Refund\x20allocation:\x20when\x20an\x20order\x20is\x20cancelled,\x20either\x20the\x20order\x20owner\x20or\x20an\x20authorized\x20agent\x20can\x20trigger\x20the\x20refund.\x20'+'The\x20Guard\x20verifies\x20Signer\x20is\x20order.owner\x20OR\x20order.agent,\x20and\x20that\x20the\x20order\x20belongs\x20to\x20this\x20service.','verifier_constraint_level':'level2_identity_set'},{'id':'tpl_allocator_identity_set_service_provider_dynamic','scene_id':'service_order_allocators_guard','name':'Service-provider\x20identity-set\x20allocation\x20with\x20dynamic\x20permission\x20(Level\x202)','description':'Level\x202\x20identity-set\x20binding\x20with\x20DYNAMIC\x20permission\x20address:\x20Signer\x20is\x20permission.owner\x20(1002,\x20Address)\x20OR\x20'+'has\x20admin\x20(1004,\x20Bool\x20with\x20[Signer]\x20param).\x20The\x20permission\x20address\x20is\x20submitted\x20by\x20the\x20caller\x20and\x20verified\x20'+'against\x20service.permission\x20(1488)\x20—\x20this\x20survives\x20permission\x20rotation\x20without\x20rebuilding\x20the\x20Guard.\x20'+'Use\x20when\x20the\x20Service\x20may\x20rotate\x20its\x20permission\x20(like\x20a\x20company\x20changing\x20its\x20board)\x20and\x20a\x20static\x20permission\x20'+'address\x20would\x20break\x20the\x20Guard.','recommended_patterns':['P02','P10','P16'],'parameters':[{'name':'service_name','type':'string','description':'Service\x20object\x20name\x20(circular\x20ref\x20via\x20P16)','required':!![],'constraint':'Must\x20be\x20a\x20name,\x20not\x20an\x20address\x20(the\x20Service\x20is\x20not\x20yet\x20published\x20when\x20the\x20Guard\x20is\x20created)'}],'example_table':[{'identifier':0x0,'b_submission':!![],'value_type':'Address','object_type':'Order','name':'order_id\x20(Order\x20object\x20submitted\x20at\x20runtime)'},{'identifier':0x1,'b_submission':![],'value_type':'Address','value':'${service_name}','name':'Service\x20object\x20(project\x20binding,\x20circular\x20ref\x20via\x20name)'},{'identifier':0x2,'b_submission':!![],'value_type':'Address','object_type':'Permission','name':'Permission\x20object\x20(submitted\x20by\x20caller\x20—\x20must\x20equal\x20service.permission)'}],'example_root':{'type':'logic_and','nodes':[{'type':'logic_equal','nodes':[{'type':'query','query':'order.service','object':{'identifier':0x0},'parameters':[]},{'type':'identifier','identifier':0x1}]},{'type':'logic_equal','nodes':[{'type':'query','query':'service.permission','object':{'identifier':0x1},'parameters':[]},{'type':'identifier','identifier':0x2}]},{'type':'logic_or','nodes':[{'type':'logic_equal','nodes':[{'type':'query','query':'permission.owner','object':{'identifier':0x2},'parameters':[]},{'type':'context','context':'Signer'}]},{'type':'query','query':'permission.admin\x20has','object':{'identifier':0x2},'parameters':[{'type':'context','context':'Signer'}]}]}]},'applicable_industries':['ecommerce','rental','insurance','travel','subscription'],'relevant_risks':['R-C3-01','R-C3-05','R-C3-06','R-C4-04'],'creation_notes':['DYNAMIC\x20PERMISSION\x20VERIFICATION\x20(key\x20pattern):\x20caller\x20submits\x20a\x20Permission\x20address\x20(identifier\x202);\x20Guard\x20verifies\x20query(1488:\x20service.permission)\x20==\x20submitted\x20permission,\x20then\x20checks\x201002/1004\x20against\x20the\x20submitted\x20permission.\x20This\x20survives\x20permission\x20rotation\x20—\x20if\x20the\x20Service\x20changes\x20its\x20permission,\x20the\x20Guard\x20still\x20works\x20without\x20rebuilding.','MIXED\x20RETURN-TYPE\x20CONSTRUCTION:\x20query\x201002\x20(permission.owner)\x20returns\x20Address\x20→\x20wrap\x20in\x20logic_equal;\x20query\x201004\x20(permission.admin\x20has)\x20returns\x20Bool\x20→\x20use\x20directly\x20as\x20logic_or\x20child\x20with\x20parameters:\x20[context(Signer)].','logic_or\x20wrapping\x20of\x20the\x20Signer\x20check\x20suppresses\x20R-C4-04\x20(Level\x201\x20strict\x20binding\x20convenience\x20warning).','THREE\x20conditions\x20in\x20logic_and:\x20(1)\x20order.service\x20binding\x20(R-C3-05),\x20(2)\x20dynamic\x20permission\x20verification,\x20(3)\x20identity\x20set\x20(owner\x20OR\x20admin).','Static\x20permission\x20alternative\x20(simpler\x20but\x20breaks\x20on\x20rotation):\x20use\x20a\x20table\x20constant\x20for\x20the\x20permission\x20address\x20instead\x20of\x20b_submission=true\x20+\x201488\x20verification.','Repository-based\x20address\x20set\x20(most\x20flexible,\x20most\x20complex):\x20store\x20the\x20permission\x20address\x20set\x20in\x20a\x20Repository\x20and\x20query\x20dynamically\x20—\x20only\x20for\x20extreme\x20flexibility\x20needs.'],'example_use_case':'Merchant\x20allocation:\x20the\x20Service\x20may\x20rotate\x20its\x20permission\x20(like\x20a\x20company\x20changing\x20its\x20board).\x20'+'The\x20caller\x20submits\x20the\x20current\x20permission\x20address;\x20the\x20Guard\x20verifies\x20it\x20matches\x20service.permission\x20(1488),\x20'+'then\x20checks\x20that\x20Signer\x20is\x20the\x20permission\x20owner\x20or\x20has\x20admin\x20rights.','verifier_constraint_level':'level2_identity_set'},{'id':'tpl_allocator_node_gate_settle','scene_id':'service_order_allocators_guard','name':'Node-gated\x20settlement\x20rail\x20(node\x20gate\x20+\x20order\x20anchor\x20+\x20period\x20once-key)','description':'Settlement\x20allocator\x20guard\x20for\x20rails\x20that\x20legitimately\x20run\x20once\x20per\x20RENEWAL\x20PERIOD:\x20progress.current\x20==\x20settle_node,\x20'+'plus\x20the\x20order.service\x20project\x20binding\x20(R-C3-05)\x20and\x20the\x20protocol-255\x20once-per-period\x20key\x20pinned\x20to\x20the\x20monotonic\x20'+'progress.history\x20count\x20(replay-proof\x20on\x20renewal\x20loops;\x20OFN\x20#P-04,\x20mainnet-proven).\x20For\x20ONE-SHOT\x20per-order\x20escrow\x20'+'(the\x20order\x20settles\x20at\x20most\x20once\x20in\x20its\x20lifetime)\x20use\x20tpl_allocator_node_gate_settle_once\x20instead\x20—\x20the\x20history\x20'+'count\x20is\x20PUBLICLY\x20READABLE\x20(zero\x20replay\x20protection\x20on\x20a\x20single-shot\x20rail)\x20and\x20a\x20keeper\x20off-by-one\x20permanently\x20'+'locks\x20the\x20key\x20(klook\x20KL-LIVE-01,\x20261014).\x20Canonical\x20guard\x20design\x20for\x20settlement\x20'+'allocator\x20rows\x20(catalog-tiers\x20style)\x20—\x20do\x20NOT\x20borrow\x20tpl_forward_node_check\x20(machine_forward\x20scene).','recommended_patterns':['P02','P06','P10','P16'],'parameters':[{'name':'service_name','type':'string','description':'Service\x20object\x20name\x20(circular\x20ref\x20via\x20P16\x20—\x20resolved\x20after\x20Service\x20publish)','required':!![],'constraint':'Must\x20be\x20a\x20name,\x20not\x20an\x20address\x20(the\x20Service\x20is\x20not\x20yet\x20published\x20when\x20the\x20Guard\x20is\x20created)'},{'name':'settle_node','type':'string','description':'Machine\x20node\x20whose\x20arrival\x20triggers\x20settlement\x20(e.g.\x20\x27completed\x27)','required':!![],'default':'completed','constraint':'Must\x20exactly\x20match\x20the\x20Machine\x20node\x20name\x20(case-sensitive)'}],'example_table':[{'identifier':0x0,'b_submission':!![],'value_type':'Address','object_type':'Order','name':'order_id\x20(Order\x20object\x20submitted\x20at\x20runtime)'},{'identifier':0x1,'b_submission':![],'value_type':'String','value':'${settle_node}','name':'Settlement\x20node\x20name\x20(case-sensitive)'},{'identifier':0x2,'b_submission':![],'value_type':'Address','value':'${service_name}','name':'Service\x20object\x20(project\x20binding,\x20circular\x20ref\x20via\x20name)'},{'identifier':0xff,'b_submission':!![],'value_type':'U64','name':'ONCE\x20byte-key\x20slot\x20(protocol\x20255):\x20caller\x20submits\x20the\x20current\x20period\x20step;\x20the\x20guard\x20leg\x20pins\x20it\x20to\x20the\x20monotonic\x20progress.history\x20count\x20so\x20each\x20period\x20gets\x20a\x20fresh\x20key'}],'example_root':{'type':'logic_and','nodes':[{'type':'logic_equal','nodes':[{'type':'query','query':'progress.current','object':{'identifier':0x0,'convert_witness':'OrderProgress'},'parameters':[]},{'type':'identifier','identifier':0x1}]},{'type':'logic_equal','nodes':[{'type':'query','query':'order.service','object':{'identifier':0x0},'parameters':[]},{'type':'identifier','identifier':0x2}]},{'type':'logic_equal','nodes':[{'type':'identifier','identifier':0xff},{'type':'query','query':'progress.history\x20count','object':{'identifier':0x0,'convert_witness':'OrderProgress'},'parameters':[]}]}]},'applicable_industries':['ecommerce','rental','education','travel','subscription','freelance'],'relevant_risks':['R-C3-05','R-X1-05','R-X1-01'],'creation_notes':['THREE\x20legs\x20in\x20logic_and:\x20(1)\x20node\x20gate\x20progress.current\x20==\x20settle_node\x20(the\x20arrival\x20precondition),\x20(2)\x20order.service\x20binding\x20(suppresses\x20R-C3-05\x20cross-project\x20allocation\x20on\x20foreign\x20orders),\x20(3)\x20protocol-255\x20once\x20leg\x20pinned\x20to\x20progress.history\x20count\x20(monotonic,\x20unforgeable\x20—\x20each\x20period\x20gets\x20a\x20fresh\x20OnceKey;\x20OFN\x20#P-04,\x20mainnet-proven\x20261010).','The\x20guard\x20table\x20MUST\x20declare\x20identifier\x20255\x20(b_submission:\x20true)\x20—\x20the\x20chain\x20drops\x20undeclared\x20slots\x20when\x20it\x20assembles\x20the\x20passport\x20from\x20the\x20guard\x20table,\x20so\x20the\x20once\x20leg\x20could\x20never\x20pass\x20without\x20the\x20declaration.','Pair\x20the\x20settlement\x20rows\x20with\x20a\x20Rate-0\x20{GuardIdentifier:\x200}\x20ORDER\x20anchor\x20row\x20(pattern.allocator_order_anchor)\x20sharing\x20this\x20guard_key,\x20so\x20the\x20submitted\x20ORDER\x20becomes\x20the\x20binding\x20target\x20and\x20a\x20sibling\x20period\x27s\x20passport\x20satisfies\x20nothing\x20(testnet\x20CR-01).','Drop\x20the\x20255\x20leg\x20ONLY\x20when\x20the\x20settle\x20node\x20is\x20reachable\x20exactly\x20once\x20per\x20order\x20lifetime\x20AND\x20no\x20renewal\x20loop\x20exists\x20(single-shot\x20services);\x20a\x20re-enterable\x20settle\x20node\x20without\x20it\x20is\x20replayable.\x20A\x20SINGLE-SHOT\x20service\x20should\x20NOT\x20use\x20this\x20template\x20at\x20all\x20—\x20use\x20tpl_allocator_node_gate_settle_once\x20(chain-derived\x20254\x20key):\x20a\x20single-shot\x20rail\x20keyed\x20to\x20the\x20publicly\x20readable\x20history\x20count\x20has\x20zero\x20replay\x20protection\x20and\x20a\x20keeper\x20off-by-one\x20permanently\x20locks\x20it\x20(klook\x20KL-LIVE-01,\x20261014).','order_allocators\x20cannot\x20be\x20modified\x20after\x20Service\x20publish\x20(immutable)\x20—\x20verify\x20node\x20names\x20against\x20the\x20Machine\x20before\x20publishing.'],'example_use_case':'Subscription\x20settlement:\x20each\x20period\x20settles\x20to\x20the\x20creator\x20when\x20the\x20fan\x20confirms\x20(completed);\x20the\x20255\x20leg\x20keyed\x20to\x20the\x20period\x27s\x20history\x20count\x20lets\x20periods\x201..N\x20each\x20settle\x20exactly\x20once.','verifier_constraint_level':'level3_scene_combined'},{'id':'tpl_allocator_node_gate_settle_once','scene_id':'service_order_allocators_guard','name':'Node-gated\x20SINGLE-SHOT\x20settlement\x20rail\x20(node\x20gate\x20+\x20order\x20anchor\x20+\x20chain-derived\x20254\x20once)','description':'Settlement\x20allocator\x20guard\x20for\x20ONE-SHOT\x20per-order\x20escrow\x20(the\x20order\x20settles\x20at\x20most\x20once\x20in\x20its\x20lifetime):\x20'+'progress.current\x20in\x20the\x20settle-eligible\x20NODE\x20SET\x20{settle_node,\x20settle_node_alt,\x20settle_node_alt2}\x20—\x20the\x20final\x20'+'node\x20plus\x20every\x20optional\x20post-settlement\x20side\x20node\x20(UPWC-K2/CAT-C1:\x20a\x20buyer\x20Praise\x20moved\x20progress.current\x20to\x20'+'\x27wonder\x27\x20and\x20the\x20completed-only\x20pin\x20aborted\x20the\x20merchant\x27s\x20alloc,\x20stranding\x20the\x20escrow)\x20—\x20plus\x20the\x20order.service\x20'+'project\x20binding\x20(R-C3-05),\x20plus\x20the\x20claimed_by\x20some\x20==\x20false\x20polarity\x20leg\x20(ctra-mn-261019\x20F-05:\x20without\x20it\x20an\x20'+'AWARDED\x20order\x20could\x20fire\x20settle\x20AND\x20the\x20recovery\x20rail\x20against\x20the\x20same\x20pool\x20—\x20first-come\x20wins\x20and\x20the\x20loser\x27s\x20'+'split\x20is\x20skipped;\x20the\x20leg\x20joins\x20the\x20D-BUG-2\x20exclusion\x20the\x20refund/recover\x20twins\x20already\x20carry;\x20BKN-P1\x20caveat:\x20a\x20'+'ZERO-award\x20ruling\x20also\x20sets\x20claimed_by,\x20so\x20a\x20ruled-zero\x20order\x20settles\x20via\x20the\x20recovery\x20rail\x20paying\x20the\x20merchant\x20'+'Entity,\x20never\x20via\x20this\x20rail),\x20plus\x20the\x20protocol-254\x20'+'chain-derived\x20once\x20key\x20—\x20bcs(payment_info.for_object)\x20derived\x20on-chain,\x20submitted\x20bytes\x20ignored,\x20exactly-once\x20'+'per\x20paying\x20order\x20enforced\x20by\x20the\x20chain\x20(aborts\x2016\x20on\x20replay,\x2021\x20when\x20the\x20order\x20declares\x20no\x20for_object).\x20'+'For\x20rails\x20that\x20legitimately\x20run\x20once\x20per\x20RENEWAL\x20PERIOD\x20use\x20tpl_allocator_node_gate_settle\x20(255\x20+\x20period\x20key)\x20instead.','recommended_patterns':['P02','P06','P10','P16'],'parameters':[{'name':'service_name','type':'string','description':'Service\x20object\x20name\x20(circular\x20ref\x20via\x20P16\x20—\x20resolved\x20after\x20Service\x20publish)','required':!![],'constraint':'Must\x20be\x20a\x20name,\x20not\x20an\x20address\x20(the\x20Service\x20is\x20not\x20yet\x20published\x20when\x20the\x20Guard\x20is\x20created)'},{'name':'settle_node','type':'string','description':'Machine\x20node\x20whose\x20arrival\x20triggers\x20settlement\x20(e.g.\x20\x27completed\x27)','required':!![],'default':'completed','constraint':'Must\x20exactly\x20match\x20the\x20Machine\x20node\x20name\x20(case-sensitive)'},{'name':'settle_node_alt','type':'string','description':'Second\x20settle-eligible\x20node\x20—\x20the\x20template\x27s\x20post-settlement\x20OPTIONAL\x20side\x20node\x20(e.g.\x20\x27wonder\x27).\x20Defaults\x20to\x20the\x20primary\x20(duplicate\x20tautology\x20leg)\x20when\x20the\x20machine\x20has\x20no\x20side\x20nodes','required':![],'default':'completed','constraint':'UPWC-K2\x20(upwc-cat-261017\x20CAT-C1):\x20a\x20settlement\x20gate\x20pinned\x20to\x20the\x20final\x20node\x20ALONE\x20strands\x20the\x20escrow\x20the\x20moment\x20a\x20buyer\x20uses\x20an\x20optional\x20post-settlement\x20side\x20action\x20(Praise/Complain\x20move\x20progress.current\x20off\x20completed\x20BEFORE\x20the\x20merchant\x27s\x20alloc\x20runs).\x20Pass\x20every\x20node\x20settlement\x20must\x20still\x20fire\x20from'},{'name':'settle_node_alt2','type':'string','description':'Third\x20settle-eligible\x20node\x20(e.g.\x20\x27no_wonder\x27).\x20Defaults\x20to\x20the\x20primary\x20(duplicate\x20tautology\x20leg)\x20when\x20unneeded','required':![],'default':'completed'}],'example_table':[{'identifier':0x0,'b_submission':!![],'value_type':'Address','object_type':'Order','name':'order_id\x20(Order\x20object\x20submitted\x20at\x20runtime)'},{'identifier':0x1,'b_submission':![],'value_type':'String','value':'${settle_node}','name':'Settlement\x20node\x20name\x20(case-sensitive)'},{'identifier':0x2,'b_submission':![],'value_type':'Address','value':'${service_name}','name':'Service\x20object\x20(project\x20binding,\x20circular\x20ref\x20via\x20name)'},{'identifier':0x3,'b_submission':![],'value_type':'Bool','value':![],'name':'Expected\x20claimed_by\x20polarity:\x20false\x20=\x20no\x20arbitration\x20award\x20has\x20ACTUALLY\x20paid\x20(query\x20\x27order.claimed_by\x20some\x27);\x20an\x20awarded\x20order\x20exits\x20via\x20the\x20recovery\x20rail,\x20never\x20settle'},{'identifier':0x4,'b_submission':![],'value_type':'String','value':'${settle_node_alt}','name':'Second\x20settle-eligible\x20node\x20(optional\x20side\x20node;\x20duplicates\x20the\x20primary\x20when\x20unused)'},{'identifier':0x5,'b_submission':![],'value_type':'String','value':'${settle_node_alt2}','name':'Third\x20settle-eligible\x20node\x20(optional\x20side\x20node;\x20duplicates\x20the\x20primary\x20when\x20unused)'},{'identifier':0xfe,'b_submission':!![],'value_type':'Address','name':'CHAIN-DERIVED\x20ONCE\x20slot\x20(protocol\x20254):\x20the\x20once\x20key\x20is\x20derived\x20on-chain\x20from\x20the\x20paying\x20order\x20(bcs(payment_info.for_object));\x20the\x20submitted\x20bytes\x20are\x20ignored,\x20so\x20exactly-once\x20per\x20order\x20is\x20chain-enforced\x20and\x20publicly\x20unforgeable'}],'example_root':{'type':'logic_and','nodes':[{'type':'logic_or','nodes':[{'type':'logic_equal','nodes':[{'type':'query','query':'progress.current','object':{'identifier':0x0,'convert_witness':'OrderProgress'},'parameters':[]},{'type':'identifier','identifier':0x1}]},{'type':'logic_equal','nodes':[{'type':'query','query':'progress.current','object':{'identifier':0x0,'convert_witness':'OrderProgress'},'parameters':[]},{'type':'identifier','identifier':0x4}]},{'type':'logic_equal','nodes':[{'type':'query','query':'progress.current','object':{'identifier':0x0,'convert_witness':'OrderProgress'},'parameters':[]},{'type':'identifier','identifier':0x5}]}]},{'type':'logic_equal','nodes':[{'type':'query','query':'order.service','object':{'identifier':0x0},'parameters':[]},{'type':'identifier','identifier':0x2}]},{'type':'logic_equal','nodes':[{'type':'query','query':'order.claimed_by\x20some','object':{'identifier':0x0},'parameters':[]},{'type':'identifier','identifier':0x3}]}]},'applicable_industries':['ecommerce','rental','education','travel','freelance'],'relevant_risks':['R-C3-05','R-X1-05','R-X1-01'],'creation_notes':['THREE\x20logic\x20legs\x20in\x20logic_and\x20(node-SET\x20gate\x20+\x20order.service\x20binding\x20+\x20claimed_by\x20some\x20==\x20false);\x20the\x20ONCE\x20semantics\x20is\x20NOT\x20a\x20logic\x20leg\x20—\x20it\x20is\x20the\x20declared\x20254\x20submission\x20slot:\x20alloc()\x20derives\x20the\x20key\x20on-chain\x20as\x20bcs(payment_info.for_object)\x20and\x20a\x20second\x20alloc\x20for\x20the\x20same\x20order\x20aborts\x2016\x20(E_ONCE_TRIGGERED)\x20before\x20any\x20distribution.','NODE-SET\x20SHAPE\x20(klook-mn-261019\x20KLM-FIND-02):\x20the\x20node-set\x20leg\x20is\x20a\x20logic_or\x20ONLY\x20when\x20the\x20settled\x20set\x20has\x202+\x20nodes\x20—\x20logic_or\x20requires\x20at\x20least\x202\x20children\x20(\x27logic_or\x20requires\x20at\x20least\x202\x20child\x20nodes\x27),\x20so\x20a\x20SINGLE-node\x20rail\x20uses\x20the\x20bare\x20logic_equal[progress.current\x20==\x20<node>]\x20as\x20the\x20leg;\x20wrapping\x20one\x20node\x20in\x20logic_or\x20fails\x20guard\x20creation.','The\x20guard\x20table\x20MUST\x20declare\x20{identifier:\x20254,\x20b_submission:\x20true,\x20value_type:\x20\x27Address\x27}\x20—\x20the\x20chain\x20drops\x20undeclared\x20slots\x20when\x20it\x20assembles\x20the\x20passport\x20from\x20the\x20guard\x20table.','WHY\x20NOT\x20255\x20+\x20history\x20count\x20on\x20a\x20single-shot\x20rail\x20(klook\x20KL-LIVE-01):\x20the\x20history\x20count\x20is\x20PUBLICLY\x20READABLE\x20(anyone\x20pre-computes\x20the\x20next\x20value\x20—\x20zero\x20replay\x20protection)\x20and\x20a\x20keeper\x20off-by-one\x20pins\x20the\x20wrong\x20key\x20and\x20permanently\x20locks\x20the\x20rail;\x20254\x20is\x20chain-derived\x20from\x20the\x20paying\x20order\x20and\x20immune\x20to\x20both.','Pair\x20the\x20settlement\x20rows\x20with\x20a\x20Rate-0\x20{GuardIdentifier:\x200}\x20ORDER\x20anchor\x20row\x20(pattern.allocator_order_anchor)\x20sharing\x20this\x20guard_key,\x20so\x20the\x20submitted\x20ORDER\x20becomes\x20the\x20binding\x20target\x20(testnet\x20CR-01).','Renewal/subscription\x20settlement\x20(once\x20per\x20PERIOD)\x20must\x20use\x20tpl_allocator_node_gate_settle\x20—\x20254\x20keys\x20on\x20payment_info.for_object\x20which\x20never\x20changes\x20across\x20periods,\x20so\x20a\x20renewal\x20rail\x20with\x20254\x20aborts\x2016\x20forever\x20from\x20period\x202\x20(OFN\x20#P-04).','order_allocators\x20cannot\x20be\x20modified\x20after\x20Service\x20publish\x20(immutable)\x20—\x20verify\x20node\x20names\x20against\x20the\x20Machine\x20before\x20publishing.'],'example_use_case':'Travel\x20single-shot\x20settlement:\x20each\x20order\x20settles\x20exactly\x20once\x20when\x20the\x20last\x20segment\x20is\x20redeemed\x20(completed);\x20a\x20replayed\x20alloc\x20for\x20the\x20same\x20order\x20aborts\x2016\x20via\x20the\x20chain-derived\x20254\x20key\x20—\x20no\x20keeper-computed\x20key\x20to\x20guess\x20or\x20mistype.','verifier_constraint_level':'level3_scene_combined'},{'id':'tpl_allocator_node_gate_refund','scene_id':'service_order_allocators_guard','name':'Node-gated\x20refund\x20rail\x20(node\x20gate\x20+\x20order\x20anchor;\x20NEVER\x20slot\x20254)','description':'Refund\x20allocator\x20guard\x20for\x20ONE\x20cancel/refund\x20node:\x20progress.current\x20==\x20refund_node\x20plus\x20the\x20order.service\x20project\x20binding\x20'+'(R-C3-05)\x20plus\x20the\x20claimed_by\x20some\x20==\x20false\x20polarity\x20leg\x20—\x20the\x20claimed_by\x20leg\x20ships\x20IN\x20example_root\x20(coursera-mn-261014\x20'+'F-30:\x20a\x20prose-only\x20claimed_by\x20instruction\x20made\x20the\x20resolver\x20synthesize\x20a\x20double-negated\x20leg\x20that\x20bricked\x20the\x20rail\x20on\x20a\x20'+'clean\x20unclaimed\x20refund,\x20live\x20abort\x207\x20with\x20the\x20escrow\x20stranded).\x20Designed\x20for\x20order-anchored\x20refund\x20rows\x20(recipient\x20'+'GuardIdentifier(0)\x20—\x20funds\x20land\x20on\x20the\x20Order,\x20extracted\x20by\x20a\x20separate\x20owner_receive\x20step).\x20Deliberately\x20arms\x20NO\x20254\x20slot:\x20'+'254\x20keys\x20on\x20payment_info.for_object\x20which\x20never\x20changes\x20across\x20renewal\x20periods,\x20so\x20a\x20refund\x20rail\x20with\x20254\x20aborts\x20'+'E_ONCE_TRIGGERED(16)\x20forever\x20from\x20period\x202\x20(OFN\x20#P-04).\x20Once-semantics\x20comes\x20from\x20the\x20terminal-node\x20topology\x20instead.','recommended_patterns':['P02','P06','P10','P16'],'parameters':[{'name':'service_name','type':'string','description':'Service\x20object\x20name\x20(circular\x20ref\x20via\x20P16\x20—\x20resolved\x20after\x20Service\x20publish)','required':!![],'constraint':'Must\x20be\x20a\x20name,\x20not\x20an\x20address\x20(the\x20Service\x20is\x20not\x20yet\x20published\x20when\x20the\x20Guard\x20is\x20created)'},{'name':'refund_node','type':'string','description':'Machine\x20node\x20at\x20which\x20the\x20refund\x20fires\x20(e.g.\x20\x27closed_cancel\x27)','required':!![],'constraint':'Must\x20exactly\x20match\x20the\x20Machine\x20node\x20name\x20(case-sensitive).\x20For\x20a\x20node\x20SET\x20(e.g.\x20{closed_cancel,\x20returned,\x20item_lost})\x20hoist\x20the\x20node\x20predicate\x20to\x20ONE\x20top-level\x20n-ary\x20logic_or\x20as\x20a\x20single\x20logic_and\x20child\x20—\x20see\x20the\x20creation_notes\x20JSON\x20snippet;\x20never\x20AND-prepend\x20one\x20node\x20gate\x20beside\x20extra\x20node\x20literals'}],'example_table':[{'identifier':0x0,'b_submission':!![],'value_type':'Address','object_type':'Order','name':'order_id\x20(Order\x20object\x20submitted\x20at\x20runtime)'},{'identifier':0x1,'b_submission':![],'value_type':'String','value':'${refund_node}','name':'Refund\x20node\x20name\x20(case-sensitive)'},{'identifier':0x2,'b_submission':![],'value_type':'Address','value':'${service_name}','name':'Service\x20object\x20(project\x20binding,\x20circular\x20ref\x20via\x20name)'},{'identifier':0x3,'b_submission':![],'value_type':'Bool','value':![],'name':'Expected\x20claimed_by\x20polarity:\x20false\x20=\x20no\x20arbitration\x20award\x20has\x20ACTUALLY\x20paid\x20(query\x20\x27order.claimed_by\x20some\x27)'}],'example_root':{'type':'logic_and','nodes':[{'type':'logic_equal','nodes':[{'type':'query','query':'progress.current','object':{'identifier':0x0,'convert_witness':'OrderProgress'},'parameters':[]},{'type':'identifier','identifier':0x1}]},{'type':'logic_equal','nodes':[{'type':'query','query':'order.service','object':{'identifier':0x0},'parameters':[]},{'type':'identifier','identifier':0x2}]},{'type':'logic_equal','nodes':[{'type':'query','query':'order.claimed_by\x20some','object':{'identifier':0x0},'parameters':[]},{'type':'identifier','identifier':0x3}]}]},'applicable_industries':['ecommerce','rental','education','travel','subscription','freelance'],'relevant_risks':['R-C3-05','R-X1-05','R-X1-08'],'creation_notes':['THREE\x20legs\x20in\x20logic_and:\x20(1)\x20node\x20gate\x20progress.current\x20==\x20refund_node,\x20(2)\x20order.service\x20binding\x20(R-C3-05),\x20(3)\x20order.claimed_by\x20some\x20==\x20false\x20(Bool,\x20query\x201570)\x20—\x20blocks\x20the\x20refund\x20once\x20an\x20arbitration\x20award\x20has\x20ACTUALLY\x20paid;\x20the\x20polarity\x20twin\x20tpl_allocator_node_gate_recover\x20asserts\x20true,\x20so\x20exactly\x20one\x20of\x20the\x20pair\x20can\x20ever\x20pass\x20(D-BUG-2).\x20The\x20claimed_by\x20leg\x20ships\x20IN\x20example_root\x20—\x20compose\x20it\x20by\x20COPY,\x20never\x20by\x20hand:\x20the\x20synthesized\x20anti-pattern\x20logic_equal[logic_not(query\x20\x27order.claimed_by\x20some\x27),\x20false]\x20is\x20a\x20DOUBLE\x20NEGATION\x20(unclaimed\x20order:\x20some==false\x20→\x20not==true\x20→\x20true==false\x20→\x20the\x20leg\x20always\x20fails)\x20and\x20bricks\x20the\x20rail\x20with\x20the\x20escrow\x20stranded\x20at\x20a\x20terminal\x20node\x20(coursera-mn-261014\x20F-30,\x20live\x20abort\x207\x20on\x20a\x20clean\x20unclaimed\x20refund).\x20The\x20signer==order.owner\x20leg\x20is\x20OPTIONAL\x20on\x20an\x20order-anchored\x20rail\x20—\x20the\x20recipient\x20(GuardIdentifier(0))\x20is\x20already\x20hard-bound\x20to\x20the\x20order\x20owner.','NEVER\x20arm\x20identifier\x20254\x20on\x20a\x20refund\x20rail:\x20254\x20keys\x20on\x20payment_info.for_object,\x20which\x20the\x20order\x27s\x20payment\x20intake\x20never\x20rewrites\x20—\x20the\x20OnceKey\x20is\x20identical\x20in\x20every\x20renewal\x20period,\x20so\x20refund\x20period\x202+\x20aborts\x20and\x20the\x20escrow\x20strands\x20with\x20no\x20recovery\x20(OFN\x20#P-04).\x20OBSERVABILITY:\x20on\x20a\x20full-drain\x20rail\x20the\x20EMPTIED-POOL\x20abort\x20(14,\x20EZERO\x20at\x20allocation.move:418)\x20fires\x20BEFORE\x20the\x20once\x20slot\x20is\x20read\x20—\x2014\x20on\x20a\x20refund\x20replay\x20IS\x20the\x20254-replay\x20signature;\x2016\x20(E_ONCE_TRIGGERED)\x20only\x20surfaces\x20when\x20a\x20residual\x20balance\x20keeps\x20the\x20pool\x20alive.\x20Once-semantics\x20on\x20refunds\x20comes\x20from\x20the\x20terminal-node\x20topology\x20(a\x20cancelled\x20terminal\x20is\x20reachable\x20once),\x20not\x20from\x20a\x20once\x20slot.','Renewal\x20loops\x20that\x20legitimately\x20RE-ENTER\x20a\x20refund\x20node\x20(cancel\x20in\x20period\x201,\x20cancel\x20again\x20in\x20period\x203)\x20arm\x20identifier\x20255\x20with\x20a\x20\x27period-<N>\x27\x20equality\x20leg\x20(logic_equal[id255,\x20progress.history\x20count])\x20instead\x20—\x20byte-keyed,\x20fresh\x20per\x20period.','MULTI-NODE\x20refund\x20(e.g.\x20{closed_cancel,\x20returned,\x20item_lost}):\x20hoist\x20the\x20node\x20predicate\x20to\x20ONE\x20top-level\x20n-ary\x20logic_or\x20as\x20a\x20single\x20logic_and\x20child\x20(the\x20chain\x20grammar\x20accepts\x20>2\x20logic_or\x20children):\x20{\x20type:\x20\x27logic_or\x27,\x20nodes:\x20[\x20{\x20type:\x20\x27logic_equal\x27,\x20nodes:\x20[{\x20type:\x20\x27query\x27,\x20query:\x20\x27progress.current\x27,\x20object:\x20{\x20identifier:\x200,\x20convert_witness:\x20\x27OrderProgress\x27\x20},\x20parameters:\x20[]\x20},\x20{\x20type:\x20\x27identifier\x27,\x20identifier:\x201\x20}]\x20},\x20...one\x20equality\x20per\x20node...\x20]\x20}\x20—\x20each\x20node\x20needs\x20its\x20OWN\x20String\x20table\x20slot\x20(identifier\x201,\x204,\x205,\x20...).\x20NEVER\x20AND-prepend\x20a\x20single-node\x20gate\x20next\x20to\x20extra\x20node\x20literals:\x20the\x20pinned\x20node\x20contradicts\x20its\x20AND-siblings\x20and\x20they\x20become\x20DEAD\x20literals\x20—\x20azx7-mn-261014\x20CR-azx7-01\x20shipped\x20logic_and[equal(current,\x27returned\x27),\x20...,\x20or[...,\x20equal(current,\x27closed_cancel\x27)],\x20...]\x20where\x20the\x20\x27returned\x27\x20pin\x20made\x20the\x20closed_cancel/item_lost\x20equalities\x20unreachable\x20(both\x20legs\x20dead,\x20escrow\x20stranded\x20twice\x20on\x20mainnet).\x20Cover\x20EVERY\x20refundable\x20node\x20—\x20omitting\x20the\x20mid-period\x20cancel\x20node\x20deadlocks\x20the\x20escrow\x20(OFN\x20#P-02);\x20every\x20terminal\x20must\x20keep\x20a\x20fund\x20exit.','Where\x20a\x20paid\x20arbitration\x20award\x20must\x20preclude\x20refund,\x20the\x20claimed_by\x20some\x20==\x20false\x20leg\x20above\x20already\x20seals\x20it\x20(query\x201570)\x20—\x20PAIR\x20a\x20merchant-recovery\x20allocator\x20with\x20claimed_by\x20some\x20==\x20true\x20(escrow-exit\x20invariant,\x20az-mn-261007)\x20—\x20exactly\x20one\x20of\x20the\x20two\x20legs\x20can\x20ever\x20pass\x20(D-BUG-2).\x20RULED-ZERO\x20SEAL\x20(BKN-P1,\x20decision\x20option\x20a):\x20a\x20ZERO-award\x20ruling\x20ALSO\x20sets\x20claimed_by\x20(the\x20ruling\x20operation\x20has\x20no\x20amount\x20floor,\x20service.move:506-512),\x20so\x20this\x20leg\x20seals\x20on\x20ruled-zero\x20too\x20—\x20the\x20buyer\x27s\x20rail\x20closes\x20with\x20NO\x20indemnity\x20moved,\x20and\x20the\x20paired\x20recovery\x20rail\x20becomes\x20the\x20only\x20escrow\x20exit\x20paying\x20the\x20principal\x20to\x20the\x20MERCHANT\x20Entity.\x20The\x20pairing\x20guarantees\x20no\x20stranding,\x20not\x20no-misallocation\x20—\x20disclose\x20this\x20trade-off\x20when\x20arming\x20the\x20pair;\x20award-amount\x20polarity\x20is\x20not\x20expressible\x20on\x20the\x20refund\x20track.','order_allocators\x20cannot\x20be\x20modified\x20after\x20Service\x20publish\x20(immutable)\x20—\x20verify\x20node\x20names\x20against\x20the\x20Machine\x20before\x20publishing.'],'example_use_case':'Fan\x20cancels\x20mid-period:\x20the\x20refund\x20rail\x20fires\x20at\x20closed_cancel,\x20paying\x20100%\x20back\x20to\x20the\x20subscriber\x27s\x20Order\x20(two-step\x20owner_receive\x20payout);\x20the\x20mid-period\x20node\x20rail\x20is\x20mandatory\x20—\x20omitting\x20it\x20strands\x20the\x20escrow.','verifier_constraint_level':'level3_scene_combined'},{'id':'tpl_allocator_node_gate_recover','scene_id':'service_order_allocators_guard','name':'Award-recovery\x20rail\x20(claimed_by-some\x20polarity;\x20NO\x20node\x20gate;\x20NEVER\x20slot\x20254)','description':'Polarity\x20twin\x20of\x20tpl_allocator_node_gate_refund\x20for\x20the\x20MERCHANT\x20side\x20of\x20the\x20escrow-exit\x20invariant\x20(az-mn-261007):\x20fires\x20only\x20where\x20an\x20arbitration\x20ruling\x20has\x20ACTUALLY\x20claimed\x20the\x20order\x20—\x20the\x20order.claimed_by\x20some\x20==\x20true\x20leg\x20(query\x20\x27order.claimed_by\x20some\x27,\x20Bool\x20identifier)\x20plus\x20the\x20order.service\x20binding.\x20Deliberately\x20carries\x20NO\x20node\x20gate\x20(UPWC-K1,\x20upwc-cat-261017\x20CAT-B1/CAT-C2):\x20every\x20node\x20literal\x20—\x20single\x20or\x20set\x20—\x20eventually\x20pins\x20the\x20rail\x20below\x20where\x20the\x20order\x20actually\x20rests\x20when\x20the\x20award\x20lands\x20(keeper\x20auto-accept,\x20buyer\x20praise,\x20revision\x20loop\x20all\x20move\x20orders\x20after\x20delivery),\x20and\x20a\x20pinned\x20node\x20aborts\x207\x20with\x20the\x20escrow\x20stranded;\x20the\x20claimed_by\x20axis\x20ALONE\x20carries\x20the\x20state\x20condition\x20and\x20the\x20mutual\x20exclusion,\x20so\x20the\x20rail\x20passes\x20wherever\x20the\x20awarded\x20order\x20rests.\x20Zero-award\x20rulings\x20claim\x20too\x20(RULED-ZERO\x20CAVEAT,\x20BKN-P1).\x20The\x20paired\x20Allocator\x20row\x20(not\x20this\x20Guard)\x20pays\x20Rate\x2010000\x20to\x20the\x20merchant/creator\x20Entity:\x20exactly\x20one\x20of\x20the\x20refund\x20(some\x20==\x20false)\x20and\x20recovery\x20(some\x20==\x20true)\x20legs\x20can\x20ever\x20pass\x20at\x20ANY\x20node\x20(D-BUG-2).\x20Deliberately\x20arms\x20NO\x20254\x20slot\x20—\x20a\x20recovery\x20rail\x20is\x20single-shot\x20by\x20construction\x20(claimed_by\x20is\x20written\x20once;\x20the\x20second\x20compensate\x20aborts\x20E_ORDER_ALREADY_CLAIMED),\x20so\x20it\x20needs\x20no\x20once\x20slot.','recommended_patterns':['P02','P06','P10','P16'],'parameters':[{'name':'service_name','type':'string','description':'Service\x20object\x20name\x20(circular\x20ref\x20via\x20P16\x20—\x20resolved\x20after\x20Service\x20publish)','required':!![],'constraint':'Must\x20be\x20a\x20name,\x20not\x20an\x20address\x20(the\x20Service\x20is\x20not\x20yet\x20published\x20when\x20the\x20Guard\x20is\x20created)'}],'example_table':[{'identifier':0x0,'b_submission':!![],'value_type':'Address','object_type':'Order','name':'order_id\x20(Order\x20object\x20submitted\x20at\x20runtime)'},{'identifier':0x2,'b_submission':![],'value_type':'Address','value':'${service_name}','name':'Service\x20object\x20(project\x20binding,\x20circular\x20ref\x20via\x20name)'},{'identifier':0x3,'b_submission':![],'value_type':'Bool','value':!![],'name':'Expected\x20claimed_by\x20polarity:\x20true\x20=\x20award\x20has\x20ACTUALLY\x20paid\x20(query\x20\x27order.claimed_by\x20some\x27)'}],'example_root':{'type':'logic_and','nodes':[{'type':'logic_equal','nodes':[{'type':'query','query':'order.service','object':{'identifier':0x0},'parameters':[]},{'type':'identifier','identifier':0x2}]},{'type':'logic_equal','nodes':[{'type':'query','query':'order.claimed_by\x20some','object':{'identifier':0x0},'parameters':[]},{'type':'identifier','identifier':0x3}]}]},'applicable_industries':['ecommerce','rental','education','travel','subscription','freelance'],'relevant_risks':['R-C3-05','R-X1-05','R-X1-08'],'creation_notes':['TWO\x20legs\x20in\x20logic_and:\x20(1)\x20order.service\x20binding\x20(R-C3-05),\x20(2)\x20order.claimed_by\x20some\x20==\x20true\x20—\x20the\x20POLARITY\x20FLIP\x20that\x20distinguishes\x20this\x20rail\x20from\x20its\x20refund\x20twin:\x20the\x20refund\x20guard\x20asserts\x20the\x20Bool\x20identifier\x20false\x20(claimed_by\x20none),\x20this\x20one\x20true\x20(an\x20award\x20ACTUALLY\x20paid,\x20single-shot\x20order.compensate\x20wrote\x20claimed_by).\x20Exactly\x20one\x20of\x20the\x20two\x20polarities\x20can\x20ever\x20pass\x20at\x20ANY\x20node\x20(D-BUG-2).\x20RULED-ZERO\x20CAVEAT\x20(BKN-P1,\x20decision\x20option\x20a):\x20\x27some\x20==\x20true\x27\x20fires\x20on\x20ANY\x20claim,\x20including\x20a\x20ZERO-award\x20ruling\x20(claimed_by\x20is\x20written\x20without\x20an\x20amount\x20floor)\x20—\x20on\x20ruled-zero\x20this\x20rail\x20becomes\x20the\x20only\x20escrow\x20exit\x20and\x20sweeps\x20the\x20principal\x20to\x20the\x20merchant\x20Entity\x20even\x20though\x20the\x20buyer\x20received\x20nothing;\x20that\x20misallocation\x20is\x20the\x20accepted\x20trade-off\x20of\x20the\x20pairing:\x20the\x20guarantee\x20is\x20no-stranding,\x20not\x20no-misallocation.','WHY\x20NO\x20NODE\x20GATE\x20(UPWC-K1,\x20upwc-cat-261017\x20CAT-B1/CAT-C2\x20—\x20supersedes\x20the\x20F-51\x20node-set\x20teaching):\x20the\x20catalog-tiers\x20mainnet\x20run\x20shipped\x20a\x20purpose\x20that\x20PROMISED\x20a\x20full-set\x20node\x20gate\x20while\x20the\x20fill\x20machinery\x20emitted\x20a\x20single\x20\x27completed\x27\x20literal\x20—\x20the\x20awarded\x20order\x20had\x20been\x20auto-accepted\x20to\x20\x27accepted\x27,\x20the\x20rail\x20aborted\x207\x20and\x201.0\x20WOW\x20stranded.\x20The\x20F-51\x20half-fix\x20(teach\x20a\x20WIDER\x20node\x20set)\x20still\x20relies\x20on\x20the\x20resolver\x20materializing\x20the\x20exact\x20set,\x20and\x20every\x20narrower\x20fill\x20re-creates\x20the\x20stranding.\x20The\x20claimed_by\x20axis\x20makes\x20the\x20node\x20dimension\x20IRRELEVANT:\x20before\x20any\x20award\x20the\x20leg\x20is\x20false\x20(rail\x20closed),\x20after\x20the\x20award\x20it\x20is\x20true\x20(rail\x20open)\x20wherever\x20the\x20order\x20rests\x20—\x20keepers,\x20buyers\x20and\x20side\x20actions\x20can\x20never\x20pin\x20the\x20escrow\x20again.\x20Do\x20NOT\x20re-add\x20a\x20node\x20equality\x20here;\x20if\x20a\x20caller\x20demands\x20one,\x20refuse\x20with\x20this\x20note.','CALLER-BINDING\x20gap\x20(upw-mn-261014\x20F-52a):\x20this\x20rail\x20pays\x20a\x20FIXED\x20merchant\x20Entity,\x20so\x20nothing\x20else\x20binds\x20the\x20caller\x20—\x20any\x20account\x20that\x20knows\x20the\x20guard\x20address\x20can\x20sweep\x20the\x20escrow\x20principal\x20to\x20the\x20merchant.\x20The\x20refund\x20twin\x20is\x20implicitly\x20bound\x20(its\x20GuardIdentifier(0)\x20recipient\x20hard-binds\x20the\x20payee\x20to\x20the\x20order\x20owner);\x20this\x20one\x20is\x20not.\x20Where\x20a\x20last-moment\x20buyer\x20contest\x20matters,\x20add\x20an\x20identity\x20leg\x20(order.owner\x20==\x20context(Signer)\x20is\x20wrong\x20here\x20—\x20the\x20MERCHANT\x20sweeps;\x20use\x20the\x20merchant\x20identity\x20or\x20a\x20Permission-staff\x20check)\x20and\x20disclose\x20that\x20the\x20sweep\x20then\x20needs\x20the\x20merchant\x20online.\x20Keep\x20as-is\x20when\x20permissionless\x20triggering\x20is\x20the\x20intended\x20keeper\x20model\x20—\x20but\x20then\x20the\x20R-C3-01/LE-04\x20lint\x20finding\x20is\x20expected\x20and\x20accepted.','The\x20Guard\x20only\x20GATES\x20—\x20the\x20money\x20shape\x20lives\x20on\x20the\x20paired\x20Allocator\x20row:\x20Rate\x2010000\x20to\x20the\x20merchant/creator\x20ENTITY\x20(an\x20empty\x20Entity\x20never\x20reaches\x20the\x20deployer;\x20on\x20chain\x20a\x20zero-address\x20recipient\x20burns\x20the\x20share\x20permanently).\x20Using\x20the\x20REFUND\x20template\x20here\x20inverts\x20the\x20polarity:\x20the\x20rail\x20only\x20passes\x20BEFORE\x20the\x20award\x20pays,\x20so\x20once\x20claimed_by\x20is\x20set\x20the\x20awarded\x20order\x27s\x20escrow\x20strands\x20forever\x20—\x20the\x20az-mn-261007\x20stranded-escrow\x20shape\x20(2.38\x20locked\x20at\x20reviewed).','PAIR\x20it\x20with\x20the\x20refund\x20rail\x20around\x20every\x20full-drain\x20settle\x20rail\x20(escrow-exit\x20invariant):\x20pre-settle\x20dispute\x20blocks\x20settle\x20permanently\x20(claimed_by\x20some\x20==\x20false\x20makes\x20the\x20refund\x20leg\x20pass\x20and\x20settle\x20can\x20no\x20longer\x20fire),\x20and\x20this\x20recovery\x20rail\x20is\x20then\x20the\x20ONLY\x20exit\x20for\x20the\x20principal.','NEVER\x20arm\x20identifier\x20254\x20on\x20this\x20rail:\x20254\x20keys\x20on\x20payment_info.for_object,\x20identical\x20in\x20every\x20renewal\x20period\x20—\x20recovery\x20period\x202+\x20aborts\x20E_ONCE_TRIGGERED(16)\x20and\x20the\x20principal\x20strands\x20(OFN\x20#P-04).\x20A\x20recovery\x20rail\x20is\x20single-shot\x20by\x20construction\x20(claimed_by\x20is\x20written\x20once;\x20the\x20second\x20compensate\x20aborts\x20E_ORDER_ALREADY_CLAIMED),\x20so\x20it\x20needs\x20no\x20once\x20slot\x20at\x20all.','Renewal\x20loops\x20that\x20legitimately\x20re-enter\x20recovery\x20arm\x20identifier\x20255\x20with\x20a\x20\x27period-<N>\x27\x20equality\x20leg\x20(logic_equal[id255,\x20progress.history\x20count])\x20instead\x20—\x20byte-keyed,\x20fresh\x20per\x20period\x20(same\x20remedy\x20as\x20the\x20refund\x20twin).','order_allocators\x20cannot\x20be\x20modified\x20after\x20Service\x20publish\x20(immutable)\x20—\x20verify\x20the\x20polarity\x20pair\x20against\x20the\x20Machine\x20before\x20publishing.'],'example_use_case':'Arbitrator\x20awards\x20the\x20buyer\x201.00\x20from\x20the\x20compensation\x20fund\x20(claimed_by\x20set)\x20while\x20an\x20auto-accept\x20keeper\x20has\x20already\x20moved\x20the\x20order\x20past\x20delivered:\x20the\x20escrow\x20principal\x20is\x20now\x20refund-blocked;\x20the\x20recovery\x20rail\x20fires\x20WHEREVER\x20the\x20order\x20rests\x20and\x20sweeps\x20the\x20remaining\x20principal\x20to\x20the\x20merchant\x20Entity,\x20so\x20the\x20awarded\x20order\x20still\x20exits\x20with\x20a\x20zero\x20balance.','verifier_constraint_level':'level3_scene_combined'},{'id':'tpl_allocator_node_gate_settle_tier_small','scene_id':'service_order_allocators_guard','name':'Tiered\x20settlement\x20rail\x20—\x20SMALL-order\x20leg\x20(node\x20gate\x20+\x20order.amount\x20<=\x20tier\x20+\x20NOT\x20item-flag)','description':'SMALL\x20leg\x20of\x20a\x20tiered\x20settlement\x20fee:\x20fires\x20only\x20while\x20order.amount\x20<=\x20tier_amount\x20AND\x20the\x20order\x20does\x20NOT\x20hold\x20the\x20flag\x20item.\x20A\x20single\x20Amount\x20allocator\x20row\x20cannot\x20switch\x20per\x20order\x20—\x20but\x20guards\x20CAN\x20read\x20the\x20order\x20(ctra-mn-261019\x20F-04,\x20live-proven:\x20both\x20tiers\x20fired\x20with\x20per-unit\x20reconciliation\x20exact),\x20so\x20a\x20tiered\x20fee\x20ships\x20as\x20DISJOINT\x20self-selecting\x20rails,\x20each\x20its\x20own\x20guard_key\x20+\x20allocator:\x20this\x20small\x20rail,\x20its\x20tpl_allocator_node_gate_settle_tier_large\x20twin\x20(order.amount\x20>\x20tier),\x20and\x20optionally\x20a\x20flag\x20rail\x20(query\x201551\x20\x27order.item\x20has\x27\x20—\x20flagged\x20items\x20route\x20to\x20their\x20own\x20rail\x20regardless\x20of\x20size,\x20which\x20is\x20why\x20the\x20small\x20leg\x20carries\x20the\x20NOT-flag\x20leg).\x20MUTUAL\x20EXCLUSION\x20LIVES\x20INSIDE\x20THE\x20GUARDS:\x20the\x20allocator\x20vector\x20is\x20NOT\x20first-match-wins\x20—\x20a\x20distribution\x20call\x20submits\x20ONE\x20guard\x20and\x20EVERY\x20allocator\x20bound\x20to\x20it\x20fires,\x20in\x20vector\x20order,\x20against\x20the\x20shrinking\x20pool\x20(allocation.move:366-368)\x20—\x20so\x20an\x20unguarded\x20second\x20rail\x20DOUBLE-PAYS.\x20Root\x20shape\x20matches\x20tpl_allocator_node_gate_settle_once\x20(node\x20gate\x20+\x20order.service\x20binding\x20+\x20claimed_by\x20some\x20==\x20false\x20+\x20the\x20chain-derived\x20254\x20once\x20slot).','recommended_patterns':['P02','P06','P10','P16'],'parameters':[{'name':'service_name','type':'string','description':'Service\x20object\x20name\x20(circular\x20ref\x20via\x20P16\x20—\x20resolved\x20after\x20Service\x20publish)','required':!![],'constraint':'Must\x20be\x20a\x20name,\x20not\x20an\x20address\x20(the\x20Service\x20is\x20not\x20yet\x20published\x20when\x20the\x20Guard\x20is\x20created)'},{'name':'settle_node','type':'string','description':'Machine\x20node\x20whose\x20arrival\x20triggers\x20settlement\x20(e.g.\x20\x27completed\x27)','required':!![],'default':'completed','constraint':'Must\x20exactly\x20match\x20the\x20Machine\x20node\x20name\x20(case-sensitive)'},{'name':'tier_amount','type':'number','description':'Tier\x20upper\x20boundary\x20in\x20the\x20SAME\x20smallest-unit\x20space\x20as\x20order.amount\x20(convert\x20the\x20USD\x20fee_param\x20at\x20the\x20token\x27s\x20decimals)','required':!![],'constraint':'Must\x20be\x20>\x200;\x20boundary\x20membership\x20is\x20<=\x20(an\x20order\x20exactly\x20at\x20the\x20tier\x20settles\x20SMALL)'},{'name':'flag_item_name','type':'string','description':'Item\x20name\x20carrying\x20the\x20routing\x20flag\x20—\x20an\x20order\x20holding\x20this\x20item\x20(query\x201551\x20\x27order.item\x20has\x27)\x20routes\x20to\x20its\x20own\x20rail,\x20never\x20the\x20small\x20rail','required':!![],'constraint':'Must\x20exactly\x20match\x20the\x20flagged\x20sale\x20item\x27s\x20name\x20(case-sensitive)'}],'example_table':[{'identifier':0x0,'b_submission':!![],'value_type':'Address','object_type':'Order','name':'order_id\x20(Order\x20object\x20submitted\x20at\x20runtime)'},{'identifier':0x1,'b_submission':![],'value_type':'String','value':'${settle_node}','name':'Settlement\x20node\x20name\x20(case-sensitive)'},{'identifier':0x2,'b_submission':![],'value_type':'Address','value':'${service_name}','name':'Service\x20object\x20(project\x20binding,\x20circular\x20ref\x20via\x20name)'},{'identifier':0x3,'b_submission':![],'value_type':'Bool','value':![],'name':'Expected\x20claimed_by\x20polarity:\x20false\x20=\x20no\x20arbitration\x20award\x20has\x20ACTUALLY\x20paid\x20(query\x20\x27order.claimed_by\x20some\x27)'},{'identifier':0x4,'b_submission':![],'value_type':'U64','value':'${tier_amount}','name':'Tier\x20upper\x20bound\x20—\x20the\x20small\x20rail\x20fires\x20only\x20while\x20order.amount\x20<=\x20this\x20(same\x20smallest-unit\x20space\x20as\x20order.amount)'},{'identifier':0x5,'b_submission':![],'value_type':'String','value':'${flag_item_name}','name':'Flag\x20item\x20name:\x20an\x20order\x20holding\x20this\x20item\x20is\x20excluded\x20from\x20the\x20small\x20rail\x20(it\x20routes\x20to\x20the\x20flag\x20rail)'},{'identifier':0xfe,'b_submission':!![],'value_type':'Address','name':'CHAIN-DERIVED\x20ONCE\x20slot\x20(protocol\x20254):\x20the\x20once\x20key\x20is\x20derived\x20on-chain\x20from\x20the\x20paying\x20order\x20(bcs(payment_info.for_object));\x20submitted\x20bytes\x20ignored\x20—\x20exactly-once\x20per\x20order\x20is\x20chain-enforced'}],'example_root':{'type':'logic_and','nodes':[{'type':'logic_equal','nodes':[{'type':'query','query':'progress.current','object':{'identifier':0x0,'convert_witness':'OrderProgress'},'parameters':[]},{'type':'identifier','identifier':0x1}]},{'type':'logic_equal','nodes':[{'type':'query','query':'order.service','object':{'identifier':0x0},'parameters':[]},{'type':'identifier','identifier':0x2}]},{'type':'logic_equal','nodes':[{'type':'query','query':'order.claimed_by\x20some','object':{'identifier':0x0},'parameters':[]},{'type':'identifier','identifier':0x3}]},{'type':'logic_as_u256_lesser_or_equal','nodes':[{'type':'query','query':'order.amount','object':{'identifier':0x0},'parameters':[]},{'type':'identifier','identifier':0x4}]},{'type':'logic_not','node':{'type':'query','query':'order.item\x20has','object':{'identifier':0x0},'parameters':[{'type':'identifier','identifier':0x5}]}}]},'applicable_industries':['ecommerce','rental','education','travel','subscription','freelance'],'relevant_risks':['R-C3-05','R-X1-05','R-X1-01'],'creation_notes':['TIER\x20EXPRESSION\x20(ctra-mn-261019\x20F-04):\x20a\x20single\x20Amount\x20row\x20cannot\x20switch\x20per\x20order,\x20but\x20the\x20guard\x20reads\x20the\x20order\x20and\x20selects\x20the\x20rail\x20—\x20tiers\x20ship\x20as\x20DISJOINT\x20self-selecting\x20settlement\x20rails\x20(small\x20=\x20order.amount\x20<=\x20tier\x20AND\x20NOT\x20flag;\x20large\x20=\x20order.amount\x20>\x20tier;\x20flag/digital\x20=\x20\x27order.item\x20has\x27\x20the\x20flag\x20item),\x20each\x20its\x20own\x20guard_key\x20+\x20allocator.\x20Both\x20tiers\x20fired\x20live\x20with\x20per-unit\x20reconciliation\x20exact.','DISJOINTNESS\x20IS\x20THE\x20BUILDER\x27S\x20DUTY,\x20INSIDE\x20THE\x20GUARDS:\x20the\x20allocator\x20vector\x20is\x20NOT\x20first-match-wins\x20—\x20a\x20distribution\x20call\x20submits\x20ONE\x20guard\x20and\x20EVERY\x20allocator\x20bound\x20to\x20it\x20fires,\x20in\x20vector\x20order,\x20against\x20the\x20shrinking\x20pool\x20(allocation.move:366-368)\x20—\x20so\x20an\x20unguarded\x20second\x20rail\x20DOUBLE-PAYS.\x20A\x20flagged\x20LARGE\x20order\x20satisfies\x20both\x20the\x20large\x20tier\x20and\x20the\x20flag\x20rail\x20unless\x20the\x20flag\x20only\x20ever\x20marks\x20sub-tier\x20items\x20or\x20the\x20large\x20leg\x20ALSO\x20carries\x20the\x20NOT-flag\x20leg\x20—\x20make\x20the\x20three\x20roots\x20pairwise-exclusive\x20by\x20construction\x20and\x20test\x20the\x20boundary\x20(exactly\x20at\x20tier_amount\x20settles\x20SMALL,\x20<=;\x20the\x20twin\x20uses\x20strict\x20>).','The\x20guard\x20table\x20MUST\x20declare\x20{identifier:\x20254,\x20b_submission:\x20true,\x20value_type:\x20\x27Address\x27}\x20—\x20the\x20chain\x20drops\x20undeclared\x20slots\x20when\x20it\x20assembles\x20the\x20passport;\x20a\x20replayed\x20alloc\x20for\x20the\x20same\x20order\x20aborts\x2016\x20before\x20any\x20distribution.','Pair\x20EACH\x20tier\x27s\x20settlement\x20rows\x20with\x20a\x20Rate-0\x20{GuardIdentifier:\x200}\x20ORDER\x20anchor\x20row\x20(pattern.allocator_order_anchor)\x20sharing\x20THAT\x20tier\x27s\x20guard_key,\x20so\x20the\x20submitted\x20ORDER\x20becomes\x20the\x20binding\x20target\x20and\x20a\x20sibling\x20order\x27s\x20passport\x20satisfies\x20nothing\x20(testnet\x20CR-01).\x20Keep\x20each\x20tier\x20allocator\x27s\x20Rate\x20legs\x20summing\x20to\x20exactly\x2010000\x20(no\x20Surplus\x20leg).','The\x20claimed_by\x20some\x20==\x20false\x20polarity\x20leg\x20(query\x201570)\x20ships\x20IN\x20the\x20root\x20(F-30/F-05):\x20an\x20AWARDED\x20order\x20exits\x20via\x20the\x20recovery\x20rail\x20(tpl_allocator_node_gate_recover),\x20never\x20through\x20a\x20tier\x20rail.','order_allocators\x20cannot\x20be\x20modified\x20after\x20Service\x20publish\x20(immutable)\x20—\x20verify\x20node\x20names\x20and\x20the\x20tier\x20constant\x20against\x20the\x20Machine\x20and\x20the\x20token\x27s\x20decimals\x20BEFORE\x20publishing;\x20the\x20tier\x20lives\x20in\x20the\x20SAME\x20smallest-unit\x20space\x20as\x20order.amount.'],'example_use_case':'Tiered\x20contract\x20fee\x20(fixed-fee\x20marketplace\x20style):\x20an\x20order\x20of\x20400\x20(tier\x20500,\x20flag\x20\x27KIT\x27)\x20settles\x20via\x20THIS\x20small\x20rail\x20—\x20order.amount\x20<=\x20500\x20AND\x20the\x20order\x20holds\x20no\x20KIT\x20item\x20—\x20paying\x20the\x20$15\x20Amount\x20leg\x20then\x20the\x20net\x20Rate\x20split;\x20a\x20900\x20order\x20fails\x20the\x20lesser_or_equal\x20leg\x20and\x20settles\x20via\x20the\x20large\x20twin\x20instead.\x20Live-proven\x20ctra-mn-261019\x20F-04.','verifier_constraint_level':'level3_scene_combined'},{'id':'tpl_allocator_node_gate_settle_tier_large','scene_id':'service_order_allocators_guard','name':'Tiered\x20settlement\x20rail\x20—\x20LARGE-order\x20leg\x20(node\x20gate\x20+\x20order.amount\x20>\x20tier)','description':'LARGE\x20leg\x20of\x20a\x20tiered\x20settlement\x20fee:\x20fires\x20only\x20while\x20order.amount\x20>\x20tier_amount.\x20The\x20strict->\x20twin\x20of\x20tpl_allocator_node_gate_settle_tier_small\x20(which\x20carries\x20<=\x20tier\x20AND\x20the\x20NOT-item-flag\x20leg);\x20together\x20they\x20partition\x20the\x20order\x20space\x20at\x20the\x20tier\x20boundary\x20—\x20but\x20the\x20mutual\x20exclusion\x20is\x20carried\x20ENTIRELY\x20by\x20these\x20roots,\x20because\x20the\x20allocator\x20vector\x20is\x20NOT\x20first-match-wins:\x20a\x20distribution\x20call\x20submits\x20ONE\x20guard\x20and\x20EVERY\x20allocator\x20bound\x20to\x20it\x20fires,\x20in\x20vector\x20order,\x20against\x20the\x20shrinking\x20pool\x20(allocation.move:366-368),\x20so\x20an\x20unguarded\x20second\x20rail\x20DOUBLE-PAYS\x20(ctra-mn-261019\x20F-04,\x20live-proven:\x20both\x20tiers\x20fired\x20with\x20per-unit\x20reconciliation\x20exact).\x20Root\x20shape\x20matches\x20tpl_allocator_node_gate_settle_once\x20(node\x20gate\x20+\x20order.service\x20binding\x20+\x20claimed_by\x20some\x20==\x20false\x20+\x20the\x20chain-derived\x20254\x20once\x20slot).','recommended_patterns':['P02','P06','P10','P16'],'parameters':[{'name':'service_name','type':'string','description':'Service\x20object\x20name\x20(circular\x20ref\x20via\x20P16\x20—\x20resolved\x20after\x20Service\x20publish)','required':!![],'constraint':'Must\x20be\x20a\x20name,\x20not\x20an\x20address\x20(the\x20Service\x20is\x20not\x20yet\x20published\x20when\x20the\x20Guard\x20is\x20created)'},{'name':'settle_node','type':'string','description':'Machine\x20node\x20whose\x20arrival\x20triggers\x20settlement\x20(e.g.\x20\x27completed\x27)','required':!![],'default':'completed','constraint':'Must\x20exactly\x20match\x20the\x20Machine\x20node\x20name\x20(case-sensitive)'},{'name':'tier_amount','type':'number','description':'Tier\x20boundary\x20in\x20the\x20SAME\x20smallest-unit\x20space\x20as\x20order.amount\x20(convert\x20the\x20USD\x20fee_param\x20at\x20the\x20token\x27s\x20decimals)','required':!![],'constraint':'Must\x20be\x20>\x200;\x20the\x20large\x20rail\x20fires\x20only\x20STRICTLY\x20above\x20it\x20(the\x20small\x20twin\x20owns\x20the\x20==\x20boundary\x20via\x20<=)'}],'example_table':[{'identifier':0x0,'b_submission':!![],'value_type':'Address','object_type':'Order','name':'order_id\x20(Order\x20object\x20submitted\x20at\x20runtime)'},{'identifier':0x1,'b_submission':![],'value_type':'String','value':'${settle_node}','name':'Settlement\x20node\x20name\x20(case-sensitive)'},{'identifier':0x2,'b_submission':![],'value_type':'Address','value':'${service_name}','name':'Service\x20object\x20(project\x20binding,\x20circular\x20ref\x20via\x20name)'},{'identifier':0x3,'b_submission':![],'value_type':'Bool','value':![],'name':'Expected\x20claimed_by\x20polarity:\x20false\x20=\x20no\x20arbitration\x20award\x20has\x20ACTUALLY\x20paid\x20(query\x20\x27order.claimed_by\x20some\x27)'},{'identifier':0x4,'b_submission':![],'value_type':'U64','value':'${tier_amount}','name':'Tier\x20bound\x20—\x20the\x20large\x20rail\x20fires\x20only\x20while\x20order.amount\x20>\x20this'},{'identifier':0xfe,'b_submission':!![],'value_type':'Address','name':'CHAIN-DERIVED\x20ONCE\x20slot\x20(protocol\x20254):\x20the\x20once\x20key\x20is\x20derived\x20on-chain\x20from\x20the\x20paying\x20order\x20(bcs(payment_info.for_object));\x20submitted\x20bytes\x20ignored\x20—\x20exactly-once\x20per\x20order\x20is\x20chain-enforced'}],'example_root':{'type':'logic_and','nodes':[{'type':'logic_equal','nodes':[{'type':'query','query':'progress.current','object':{'identifier':0x0,'convert_witness':'OrderProgress'},'parameters':[]},{'type':'identifier','identifier':0x1}]},{'type':'logic_equal','nodes':[{'type':'query','query':'order.service','object':{'identifier':0x0},'parameters':[]},{'type':'identifier','identifier':0x2}]},{'type':'logic_equal','nodes':[{'type':'query','query':'order.claimed_by\x20some','object':{'identifier':0x0},'parameters':[]},{'type':'identifier','identifier':0x3}]},{'type':'logic_as_u256_greater','nodes':[{'type':'query','query':'order.amount','object':{'identifier':0x0},'parameters':[]},{'type':'identifier','identifier':0x4}]}]},'applicable_industries':['ecommerce','rental','education','travel','subscription','freelance'],'relevant_risks':['R-C3-05','R-X1-05','R-X1-01'],'creation_notes':['STRICT->\x20TWIN:\x20this\x20rail\x20owns\x20the\x20order.amount\x20>\x20tier\x20space;\x20the\x20small\x20twin\x20(tpl_allocator_node_gate_settle_tier_small)\x20owns\x20<=\x20tier\x20minus\x20flagged\x20items.\x20The\x20boundary\x20is\x20disjoint\x20BY\x20ARITHMETIC\x20(an\x20order\x20is\x20never\x20both\x20>\x20and\x20<=)\x20—\x20but\x20when\x20a\x20flag/digital\x20rail\x20exists,\x20a\x20flagged\x20LARGE\x20order\x20satisfies\x20BOTH\x20this\x20root\x20and\x20the\x20flag\x20rail:\x20close\x20that\x20hole\x20by\x20keeping\x20the\x20flag\x20only\x20on\x20sub-tier\x20items\x20or\x20by\x20ANDing\x20this\x20root\x20with\x20the\x20same\x20NOT-flag\x20leg\x20(logic_not\x20over\x20query\x201551\x20\x27order.item\x20has\x27).','DISJOINTNESS\x20IS\x20THE\x20BUILDER\x27S\x20DUTY,\x20INSIDE\x20THE\x20GUARDS\x20(ctra-mn-261019\x20F-04):\x20the\x20allocator\x20vector\x20is\x20NOT\x20first-match-wins\x20—\x20a\x20distribution\x20call\x20submits\x20ONE\x20guard\x20and\x20EVERY\x20allocator\x20bound\x20to\x20it\x20fires,\x20in\x20vector\x20order,\x20against\x20the\x20shrinking\x20pool\x20(allocation.move:366-368)\x20—\x20so\x20an\x20unguarded\x20second\x20rail\x20DOUBLE-PAYS.\x20Never\x20\x27add\x20a\x20second\x20Amount\x20row\x20and\x20hope\x20the\x20chain\x20picks\x20one\x27.','The\x20guard\x20table\x20MUST\x20declare\x20{identifier:\x20254,\x20b_submission:\x20true,\x20value_type:\x20\x27Address\x27}\x20—\x20the\x20chain\x20drops\x20undeclared\x20slots\x20when\x20it\x20assembles\x20the\x20passport;\x20a\x20replayed\x20alloc\x20for\x20the\x20same\x20order\x20aborts\x2016\x20before\x20any\x20distribution.','Pair\x20THIS\x20tier\x27s\x20settlement\x20rows\x20with\x20a\x20Rate-0\x20{GuardIdentifier:\x200}\x20ORDER\x20anchor\x20row\x20(pattern.allocator_order_anchor)\x20sharing\x20the\x20LARGE\x20tier\x27s\x20guard_key\x20(each\x20tier\x20is\x20its\x20OWN\x20allocator;\x20the\x20small\x20twin\x27s\x20rows\x20share\x20the\x20small\x20key).\x20Keep\x20each\x20tier\x20allocator\x27s\x20Rate\x20legs\x20summing\x20to\x20exactly\x2010000\x20(no\x20Surplus\x20leg).','The\x20claimed_by\x20some\x20==\x20false\x20polarity\x20leg\x20(query\x201570)\x20ships\x20IN\x20the\x20root\x20(F-30/F-05):\x20an\x20AWARDED\x20order\x20exits\x20via\x20the\x20recovery\x20rail\x20(tpl_allocator_node_gate_recover),\x20never\x20through\x20a\x20tier\x20rail.','order_allocators\x20cannot\x20be\x20modified\x20after\x20Service\x20publish\x20(immutable)\x20—\x20verify\x20node\x20names\x20and\x20the\x20tier\x20constant\x20against\x20the\x20Machine\x20and\x20the\x20token\x27s\x20decimals\x20BEFORE\x20publishing.'],'example_use_case':'Tiered\x20contract\x20fee\x20(fixed-fee\x20marketplace\x20style):\x20an\x20order\x20of\x20900\x20(tier\x20500)\x20fails\x20the\x20small\x20rail\x27s\x20lesser_or_equal\x20leg\x20and\x20settles\x20via\x20THIS\x20large\x20rail\x20—\x20paying\x20the\x20$29\x20Amount\x20leg\x20then\x20the\x20net\x20Rate\x20split;\x20boundary\x20order\x20500\x20settles\x20SMALL\x20(<=).\x20Live-proven\x20ctra-mn-261019\x20F-04.','verifier_constraint_level':'level3_scene_combined'},{'id':'tpl_forward_node_check','scene_id':'machine_forward_guard','name':'Workflow\x20node\x20state\x20validation','description':'Verifies\x20that\x20the\x20order\x20is\x20currently\x20at\x20the\x20correct\x20Machine\x20node\x20before\x20advancing\x20to\x20the\x20next\x20step.\x20Prevents\x20skipping\x20nodes\x20or\x20reverse\x20operations.','recommended_patterns':['P06','P09'],'parameters':[{'name':'expected_node','type':'string','description':'Expected\x20current\x20node\x20name','required':!![],'constraint':'Must\x20exactly\x20match\x20the\x20name\x20defined\x20in\x20Machine\x20nodes\x20(case-sensitive)'}],'example_table':[{'identifier':0x0,'b_submission':!![],'value_type':'Address','name':'Order\x20object\x20address','object_type':'Order'},{'identifier':0x1,'b_submission':![],'value_type':'String','value':'${expected_node}','name':'Expected\x20current\x20node\x20name'},{'identifier':0xfe,'b_submission':!![],'value_type':'Address','object_type':'Order','name':'task_binding\x20order\x20anchor\x20(protocol\x20slot\x20254;\x20written\x20by\x20order\x20creation)'}],'example_root':{'type':'logic_equal','nodes':[{'type':'query','query':'progress.current','object':{'identifier':0x0,'convert_witness':'OrderProgress'},'parameters':[]},{'type':'identifier','identifier':0x1}]},'applicable_industries':['rental','ecommerce','education','travel','subscription'],'relevant_risks':['R-C2-01','R-C2-03','R-X1-08'],'creation_notes':['Forward.guard\x20cannot\x20be\x20modified\x20after\x20binding\x20(immutable\x20after\x20Machine\x20publish)','witness\x20100\x20(Order→Progress)\x20is\x20a\x20single\x20hop;\x20no\x20risk\x20of\x20chained-derivation\x20breakage','Node\x20names\x20are\x20case-sensitive;\x20query\x20returns\x20a\x20String\x20type',PROTOCOL_SLOT_254_NOTE],'example_use_case':'Camera\x20equipment\x20rental\x20flow:\x20the\x20user\x20must\x20be\x20at\x20the\x20\x27pending\x20return\x27\x20node\x20to\x20perform\x20the\x20return\x20operation.','verifier_constraint_level':'level3_scene_combined'},{'id':'tpl_forward_fund_gate','scene_id':'machine_forward_guard','name':'Escrow\x20fund\x20gate\x20(order-anchored\x20balance\x20check\x20on\x20a\x20forward)','description':'Gates\x20a\x20forward\x20on\x20the\x20order\x27s\x20COMMITTED\x20escrow\x20balance:\x20allocation.balance\x20(query\x201051)\x20derived\x20from\x20the\x20'+'submitted\x20Order\x20via\x20witness\x20TypeOrderAllocation(109)\x20must\x20be\x20>=\x20the\x20declared\x20threshold.\x20PRE-STATE\x20CONSTRAINT\x20'+'(esound-mn-261021\x20B-1,\x20mainnet-verified):\x20guard\x20predicates\x20read\x20the\x20pre-transaction\x20balance,\x20so\x20this\x20gate\x20is\x20'+'satisfiable\x20only\x20against\x20funds\x20committed\x20in\x20a\x20PRIOR\x20transaction\x20—\x20NEVER\x20bind\x20it\x20on\x20a\x20forward\x20that\x20the\x20one-PTB\x20'+'order_renew\x20advances\x20in\x20the\x20same\x20PTB\x20(the\x20same-PTB\x20payment\x20is\x20invisible\x20to\x20the\x20gate;\x20the\x20forward\x20always\x20aborts).\x20'+'Valid\x20homes:\x20the\x20second\x20hop\x20of\x20a\x20fund-then-advance\x20pair\x20(funding\x20TX\x20commits,\x20this\x20gate-bearing\x20TX\x20advances),\x20or\x20'+'prepaid\x20builds\x20where\x20the\x20price\x20was\x20escrowed\x20at\x20buy.','recommended_patterns':['P02','P06','P10'],'parameters':[{'name':'min_balance','type':'number','description':'Minimum\x20committed\x20escrow\x20balance\x20in\x20smallest\x20units','required':!![],'constraint':'Must\x20be\x20a\x20plain\x20integer\x20in\x20smallest\x20units\x20(no\x20decimals,\x20no\x20unit\x20suffix)'}],'example_table':[{'identifier':0x0,'b_submission':!![],'value_type':'Address','name':'Order\x20object\x20address','object_type':'Order'},{'identifier':0x1,'b_submission':![],'value_type':'U64','value':'${min_balance}','name':'Minimum\x20committed\x20escrow\x20balance\x20(smallest\x20units)'},{'identifier':0xfe,'b_submission':!![],'value_type':'Address','object_type':'Order','name':'task_binding\x20order\x20anchor\x20(protocol\x20slot\x20254;\x20written\x20by\x20order\x20creation)'}],'example_root':{'type':'logic_as_u256_greater_or_equal','nodes':[{'type':'query','query':'allocation.balance','object':{'identifier':0x0,'convert_witness':'OrderAllocation'},'parameters':[]},{'type':'identifier','identifier':0x1}]},'applicable_industries':['subscription','rental','education','travel','ecommerce','freelance'],'relevant_risks':['R-X1-01','R-C2-03'],'creation_notes':['PRE-STATE\x20CONSTRAINT\x20(esound-mn-261021\x20B-1,\x20mainnet-verified):\x20the\x20balance\x20read\x20is\x20the\x20COMMITTED\x20pre-transaction\x20state.\x20NEVER\x20bind\x20this\x20gate\x20on\x20a\x20forward\x20advanced\x20by\x20the\x20same-PTB\x20order_renew\x20call\x20—\x20the\x20payment\x20half\x20of\x20that\x20call\x20is\x20invisible\x20to\x20the\x20gate\x20and\x20the\x20forward\x20ALWAYS\x20aborts.','witness\x20109\x20(Order→Allocation)\x20is\x20a\x20single\x20hop\x20via\x20order.allocation\x20(query\x201569);\x20it\x20resolves\x20at\x20verification\x20time,\x20so\x20the\x20guard\x20is\x20authored\x20on\x20the\x20Order\x20address\x20and\x20never\x20needs\x20the\x20Allocation\x20address.','Valid\x20pairings:\x20(a)\x20fund-then-advance\x20across\x20TWO\x20transactions\x20—\x20TX1\x20commits\x20funds\x20(allocation\x20top-up\x20primitive,\x20pending),\x20TX2\x20advances\x20this\x20gate-bearing\x20forward;\x20(b)\x20prepaid\x20builds\x20—\x20the\x20full\x20price\x20was\x20escrowed\x20at\x20buy,\x20so\x20any\x20later\x20gate\x20read\x20sees\x20it;\x20(c)\x20on\x20a\x20gate-LESS\x20renewal\x20loop,\x20order_renew\x20itself\x20carries\x20the\x20funding\x20(zero-value\x20protection\x20rides\x20the\x20routing,\x20not\x20this\x20gate).','The\x20balance\x20check\x20is\x20a\x20GATE,\x20not\x20a\x20debit\x20—\x20distribution\x20still\x20runs\x20through\x20the\x20allocators\x20(allocation.alloc)\x20bound\x20to\x20their\x20own\x20guards.','Forward.guard\x20cannot\x20be\x20modified\x20after\x20binding\x20(immutable\x20after\x20Machine\x20publish);\x20verify\x20the\x20renewal\x20node\x20names\x20against\x20the\x20Machine\x20before\x20publishing.',PROTOCOL_SLOT_254_NOTE],'example_use_case':'Monthly\x20subscription\x20(two-TX\x20shape):\x20TX1\x20commits\x20the\x20new\x20period\x27s\x20funds\x20into\x20the\x20Allocation;\x20TX2\x20advances\x20\x27completed\x27\x20->\x20\x27working\x27\x20(period\x202)\x20through\x20this\x20gate\x20(committed\x20balance\x20>=\x20one\x20period\x20price).\x20Do\x20NOT\x20bind\x20this\x20gate\x20on\x20an\x20order_renew-advanced\x20edge\x20—\x20the\x20same-PTB\x20deposit\x20is\x20invisible\x20to\x20it\x20(esound-mn-261021\x20B-1).','verifier_constraint_level':'level3_scene_combined'},{'id':'tpl_forward_privacy_delivery_proof','scene_id':'machine_forward_guard','name':'Privacy-delivery\x20Proof\x20verification\x20(strict\x20mode,\x20Messenger\x20→\x20on-chain\x20Proof)','description':'Strict-mode\x20guard\x20for\x20\x27privacy\x20information\x20delivered\x20via\x20Messenger\x20but\x20not\x20suitable\x20for\x20on-chain\x20publication\x27\x20'+'(e.g.\x20shipping\x20details,\x20return\x20addresses,\x20private\x20credentials).\x20The\x20verifier\x20submits\x20BOTH\x20a\x20Proof\x20object\x20address\x20'+'(generated\x20by\x20messenger.submitChainProof)\x20AND\x20the\x20Order\x20object\x20address.\x20Three\x20conditions\x20verify:\x20'+'(1)\x20Signer\x20==\x20proof.signer\x20(submitter\x20accountability\x20—\x20\x27whoever\x20benefits\x20bears\x20the\x20burden\x20of\x20proof\x27),\x20'+'(2)\x20proof.time\x20>\x20order.time\x20(proof\x20created\x20after\x20the\x20order\x20—\x20freshness,\x20prevents\x20stale-proof\x20replay),\x20'+'(3)\x20order.service\x20==\x20service\x20(project\x20binding,\x20suppresses\x20R-C3-05\x20cross-project\x20bypass).\x20'+'No\x20content\x20verification\x20—\x20only\x20submission\x20responsibility.\x20The\x20counterparty\x20can\x20dispute\x20by\x20checking\x20their\x20own\x20'+'Messenger\x20conversation.\x20Broad-mode\x20alternative\x20(verify\x20Merkle\x20Root\x20string\x20length\x20==\x2066\x20via\x20P15)\x20is\x20documented\x20'+'in\x20creation_notes\x20—\x20broad\x20mode\x20trusts\x20the\x20submitter\x27s\x20honesty\x20and\x20is\x20suitable\x20when\x20the\x20Guard\x20is\x20mainly\x20an\x20'+'arbitration\x20basis\x20rather\x20than\x20a\x20fund-flow\x20gate.','recommended_patterns':['P10','P15'],'parameters':[{'name':'service_name','type':'string','description':'Service\x20object\x20name\x20(circular\x20ref\x20via\x20P16\x20—\x20resolved\x20after\x20Service\x20publish)','required':!![],'constraint':'Must\x20be\x20a\x20name,\x20not\x20an\x20address\x20(the\x20Service\x20is\x20not\x20yet\x20published\x20when\x20the\x20Guard\x20is\x20created)'}],'example_table':[{'identifier':0x0,'b_submission':!![],'value_type':'Address','object_type':'Order','name':'order_object\x20(protocol\x20slot\x200\x20—\x20the\x20SDK\x20slot\x20consensus\x20resolves\x20slot\x200\x20to\x20the\x20submitted\x20Order;\x20klook-mn-261019\x20KLM-FIND-01)','binding_constraint':'Must\x20belong\x20to\x20the\x20service\x20declared\x20in\x20identifier\x202\x20(order.service\x20==\x20service)'},{'identifier':0x2,'b_submission':![],'value_type':'Address','value':'${service_name}','name':'Service\x20object\x20(project\x20binding,\x20circular\x20ref\x20via\x20name)'},{'identifier':0x5,'b_submission':!![],'value_type':'Address','object_type':'Proof','name':'proof_object\x20(Proof\x20address\x20generated\x20by\x20messenger.submitChainProof,\x20submitted\x20by\x20verifier\x20at\x20runtime)','binding_constraint':'Must\x20be\x20a\x20Proof\x20object\x20created\x20AFTER\x20the\x20order;\x20signer\x20must\x20equal\x20the\x20transaction\x20Signer.\x20SLOT\x20CONSENSUS\x20(klook-mn-261019\x20KLM-FIND-01,\x20live\x20mainnet):\x20a\x20non-Order\x20submission\x20must\x20occupy\x20its\x20OWN\x20free\x20slot\x20—\x20the\x20slot-254\x20row\x27s\x20Order\x20type\x20makes\x20the\x20SDK\x20resolve\x20slot\x200\x20as\x20the\x20Order,\x20so\x20mounting\x20proof.*\x20queries\x20on\x20slot\x200\x20fails\x20creation\x20with\x20\x27witness\x20object\x20type(Proof)\x20not\x20consistent\x20with\x20query\x20object\x20type(Order)\x27'},{'identifier':0xfe,'b_submission':!![],'value_type':'Address','object_type':'Order','name':'task_binding\x20order\x20anchor\x20(protocol\x20slot\x20254;\x20written\x20by\x20order\x20creation)'}],'example_root':{'type':'logic_and','nodes':[{'type':'logic_equal','nodes':[{'type':'context','context':'Signer'},{'type':'query','query':'proof.signer','object':{'identifier':0x5},'parameters':[]}]},{'type':'logic_as_u256_greater','nodes':[{'type':'query','query':'proof.time','object':{'identifier':0x5},'parameters':[]},{'type':'query','query':'order.time','object':{'identifier':0x0},'parameters':[]}]},{'type':'logic_equal','nodes':[{'type':'query','query':'order.service','object':{'identifier':0x0},'parameters':[]},{'type':'identifier','identifier':0x2}]}]},'applicable_industries':['ecommerce','logistics','service','privacy\x20delivery'],'relevant_risks':['R-C3-01','R-C3-05','R-X1-12'],'creation_notes':['STRICT\x20MODE\x20(this\x20template):\x20verifier\x20submits\x20Proof\x20+\x20Order\x20addresses.\x20Three\x20conditions:\x20Signer==proof.signer\x20(submitter\x20accountability),\x20proof.time>order.time\x20(freshness),\x20order.service==service\x20(project\x20binding).\x20No\x20content\x20verification\x20—\x20only\x20submission\x20responsibility\x20(\x27beneficiary\x20bears\x20burden\x20of\x20proof\x27\x20principle).','BROAD\x20MODE\x20ALTERNATIVE:\x20use\x20P15\x20retained_submission\x20with\x20a\x20String\x20submission\x20(the\x20Merkle\x20Root)\x20and\x20verify\x20calc_string_length\x20==\x2066\x20(0x\x20prefix\x20+\x2064\x20hex\x20chars).\x20Broad\x20mode\x20trusts\x20the\x20submitter\x27s\x20honesty;\x20the\x20counterparty\x20can\x20dispute\x20by\x20checking\x20their\x20own\x20Messenger\x20conversation.\x20Broad\x20mode\x20is\x20suitable\x20when\x20the\x20Guard\x20is\x20mainly\x20an\x20arbitration\x20basis,\x20not\x20a\x20fund-flow\x20gate.','Guard\x20table\x20supports\x20MULTIPLE\x20b_submission=true\x20Address\x20identifiers\x20(no\x20submission\x20count\x20limit)\x20—\x20this\x20template\x20uses\x20two:\x20Order\x20(protocol\x20slot\x200)\x20and\x20Proof\x20(slot\x205).\x20SLOT\x20CONSENSUS\x20(klook-mn-261019\x20KLM-FIND-01):\x20slot\x200\x20always\x20resolves\x20to\x20the\x20submitted\x20ORDER\x20(the\x20slot-254\x20task-binding\x20row\x27s\x20Order\x20type\x20anchors\x20the\x20SDK\x27s\x20type\x20resolution)\x20—\x20never\x20mount\x20a\x20non-Order\x20query\x20on\x20slot\x200;\x20give\x20every\x20non-Order\x20submission\x20its\x20own\x20free\x20slot.','submitChainProof(env,\x20peerAddress,\x20description?)\x20records\x20the\x20counterparty\x27s\x20address\x20as\x20the\x20proof\x27s\x20about\x20value.\x20PRIVACY:\x20about\x20records\x20ONLY\x20the\x20contact\x20—\x20it\x20has\x20no\x20on-chain-enforced\x20meaning\x20and\x20must\x20NEVER\x20be\x20a\x20guard\x20decision\x20condition;\x20NEVER\x20pass\x20an\x20order\x20id\x20or\x20any\x20order\x20reference\x20in\x20the\x20description\x20(a\x20description\x20like\x20\x27order:0x…\x27\x20would\x20publicly\x20link\x20the\x20Proof\x20to\x20the\x20Order\x20on\x20chain).\x20All\x20order/business\x20linkage\x20stays\x20inside\x20the\x20Messenger\x20conversation;\x20acceptance\x20of\x20delivered\x20info\x20is\x20the\x20merchant\x27s\x20confirming\x20forward,\x20not\x20the\x20recorded\x20about\x20value.','Query\x20IDs\x20(all\x20zero-parameter):\x20proof.signer=1958,\x20proof.time=1960\x20(invariant\x20clock_derived,\x20always\x20>0),\x20order.time=1574,\x20order.service=1563.','Forward.guard\x20is\x20immutable\x20after\x20Machine\x20publish\x20—\x20choose\x20broad\x20vs\x20strict\x20before\x20publishing.',PROTOCOL_SLOT_254_NOTE,'The\x20same\x20strict\x20Guard\x20can\x20be\x20reused\x20across\x20ALL\x20Machine\x20forwards\x20that\x20need\x20merkle-root\x20verification\x20(shipping,\x20lost,\x20returns,\x20etc.)\x20—\x20the\x20verifier\x20just\x20submits\x20the\x20relevant\x20Proof\x20+\x20Order\x20each\x20time.','Condition\x20(1)\x20Signer==proof.signer\x20suppresses\x20R-C3-01\x20(submission\x20not\x20bound\x20to\x20Signer).\x20Condition\x20(3)\x20order.service==service\x20suppresses\x20R-C3-05\x20(cross-project\x20submission\x20bypass).'],'example_use_case':'MyShop\x20e-commerce:\x20after\x20delivering\x20shipping\x20details\x20/\x20return\x20addresses\x20via\x20Messenger\x20(privacy\x20info\x20not\x20suitable\x20for\x20on-chain\x20publication),\x20'+'the\x20provider\x20generates\x20a\x20Proof\x20via\x20submitChainProof\x20and\x20submits\x20it\x20with\x20the\x20Order\x20address\x20to\x20advance\x20the\x20Machine\x20forward.\x20'+'The\x20Guard\x20verifies\x20the\x20submitter\x20is\x20the\x20Proof\x27s\x20signer,\x20the\x20Proof\x20was\x20created\x20after\x20the\x20order,\x20and\x20the\x20order\x20belongs\x20to\x20this\x20service.','verifier_constraint_level':'level3_scene_combined'},{'id':'tpl_submission_signer_binding','scene_id':'progress_submission_guard','name':'Submission\x20data\x20signer\x20binding\x20validation','description':'Verifies\x20that\x20the\x20user\x20submitting\x20the\x20data\x20is\x20a\x20legitimate\x20Progress\x20participant\x20and\x20that\x20the\x20submitted\x20value\x20matches\x20expectations.','recommended_patterns':['P08','P15'],'parameters':[{'name':'expected_value','type':'string','description':'Expected\x20submitted\x20value\x20(e.g.\x20node\x20name,\x20status\x20code)','required':!![]},{'name':'provider_address','type':'address','description':'Service\x20provider\x20address\x20(used\x20for\x20identity\x20verification)','required':!![]}],'example_table':[{'identifier':0x0,'b_submission':!![],'value_type':'String','name':'User-submitted\x20operation\x20type\x20(e.g.\x20\x27return\x27\x20/\x20\x27damage\x27)','binding_constraint':'Must\x20be\x20one\x20of\x20the\x20predefined\x20operation\x20types'},{'identifier':0x1,'b_submission':![],'value_type':'Address','value':'${provider_address}','name':'Service\x20provider\x20address'},{'identifier':0x2,'b_submission':![],'value_type':'String','value':'${expected_value}','name':'Expected\x20submitted\x20value'}],'example_root':{'type':'logic_and','nodes':[{'type':'logic_equal','nodes':[{'type':'identifier','identifier':0x0},{'type':'identifier','identifier':0x2}]},{'type':'logic_equal','nodes':[{'type':'context','context':'Signer'},{'type':'identifier','identifier':0x1}]}]},'applicable_industries':['rental','ecommerce','education','travel'],'relevant_risks':['R-C3-01','R-C3-03','R-X1-12'],'creation_notes':['submission\x20guard\x20cannot\x20be\x20modified\x20after\x20binding','The\x20name\x20of\x20b_submission=true\x20entries\x20must\x20be\x20a\x20complete\x20natural-language\x20description\x20(≥10\x20characters)','Providing\x20a\x20binding_constraint\x20field\x20describing\x20value\x20rules\x20is\x20recommended\x20(R-X1-12)'],'example_use_case':'On\x20equipment\x20return,\x20the\x20user\x20submits\x20the\x20\x27return\x27\x20operation;\x20the\x20Guard\x20verifies\x20that\x20the\x20submitter\x20is\x20the\x20service\x20provider\x20and\x20that\x20the\x20operation\x20type\x20is\x20correct.','verifier_constraint_level':'level1_strict'},{'id':'tpl_reward_one_time_claim','scene_id':'reward_claim','name':'One-time\x20reward\x20claim\x20validation','description':'Verifies\x20a\x20reward\x20claim\x20is\x20first-time-only:\x20order\x20state\x20gate\x20+\x20order-holder\x20identity\x20+\x20order-scoped\x20record\x20replay\x20gate\x20(SV-2,\x20azx7-mn-261014\x20live\x20T8\x20—\x20supersedes\x20the\x20ofn-mn-261012\x20recipient-only\x20retraction;\x20the\x20ofn\x20\x27storeFromId\x20filter\x20is\x20inert\x27\x20verdict\x20described\x20unstamped/legacy\x20rewards\x20only),\x20plus\x20an\x20OPTIONAL\x20order-keyed\x20rating-floor\x20eligibility\x20leg\x20(upwk-mn-261017\x20F-62)\x20that\x20pays\x20the\x20bounty\x20only\x20above\x20a\x20minimum\x20review\x20rating.','recommended_patterns':['P07','P13'],'parameters':[{'name':'reward_address','type':'address','description':'Reward\x20object\x20address\x20(the\x20pool\x20being\x20claimed\x20from)','required':!![]},{'name':'expected_pre_claim_node','type':'string','description':'Machine\x20node\x20name\x20at\x20which\x20claiming\x20is\x20allowed\x20(e.g.\x20\x27reviewed\x27)','required':!![]},{'name':'expected_pre_claim_node_alt','type':'string','description':'Second\x20acceptable\x20node\x20in\x20the\x20claim-allowed\x20SET\x20—\x20default\x20\x27completed\x27\x20(az3-mn-261013\x20F-16:\x20a\x20single\x20reviewed-only\x20leg\x20deadlocks\x20the\x20claim\x20whenever\x20settlement\x20wins\x20the\x20race\x20first\x20—\x20order\x20already\x20completed\x20when\x20the\x20review\x20lands;\x20the\x20resolved\x20root\x20admits\x20EITHER\x20node)','required':![],'default':'completed'},{'name':'expected_pre_claim_node_alt2','type':'string','description':'Third\x20acceptable\x20node\x20in\x20the\x20claim-allowed\x20SET\x20—\x20the\x20template\x27s\x20optional\x20post-settlement\x20side\x20node\x20(e.g.\x20\x27wonder\x27).\x20Defaults\x20to\x20the\x20primary\x20(duplicate\x20tautology\x20leg)\x20when\x20the\x20machine\x20has\x20none.\x20UPWC-K3\x20(upwc-cat-261017\x20CAT-D1):\x20without\x20it,\x20a\x20buyer\x20who\x20praises\x20AFTER\x20reviewing\x20moves\x20progress.current\x20off\x20the\x20claim\x20set\x20and\x20voids\x20their\x20own\x20bounty\x20—\x20the\x20incentive\x20self-defeats','required':![],'default':'reviewed'},{'name':'expected_pre_claim_node_alt3','type':'string','description':'Fourth\x20acceptable\x20node\x20in\x20the\x20claim-allowed\x20SET\x20(e.g.\x20\x27no_wonder\x27).\x20Defaults\x20to\x20the\x20primary\x20(duplicate\x20tautology\x20leg)\x20when\x20unneeded','required':![],'default':'reviewed'},{'name':'claim_window_ms','type':'number','description':'Claim-window\x20length\x20in\x20ms\x20—\x20the\x20bounty\x20OPENS\x20only\x20after\x20this\x20elapses\x20from\x20the\x20claim-allowed\x20node\x27s\x20entry\x20(bkm4\x20BF-17\x20ruling;\x20the\x20archetype\x20packs\x20pair\x20this\x20with\x20the\x20reward_claim_window_days\x20fee_param,\x20default\x2014\x20days\x20=\x201209600000)','required':![],'default':'1209600000'},{'name':'rating_repository','type':'address','description':'Repository\x20holding\x20the\x20order-keyed\x20rating\x20rows\x20—\x20the\x20build\x20plan\x27s\x20\x27_review\x27\x20repository\x20(same\x20one\x20the\x20review\x20text\x20rows\x20live\x20in).\x20Empty/absent\x20=\x20ship\x20WITHOUT\x20the\x20rating\x20leg\x20(plain\x20praise\x20bounty,\x20no\x20rating\x20floor)','required':![],'default':''},{'name':'rating_policy_name','type':'string','description':'Policy\x20key\x20of\x20the\x20order-keyed\x20U64\x20rating\x20rows\x20—\x20MUST\x20equal\x20the\x20compile-emitted\x20rating\x20policy\x20name\x20(\x27rating\x27,\x20review\x20component)','required':![],'default':'rating'},{'name':'rating_floor','type':'number','description':'Minimum\x20rating\x20the\x20bounty\x20pays\x20above\x20(e.g.\x20\x274\x27).\x20\x270\x27\x20=\x20no\x20floor\x20—\x20omit\x20the\x20leg\x20same\x20as\x20an\x20empty\x20rating_repository','required':![],'default':'4','constraint':'Plain\x20number\x20string\x20(U256\x20semantics),\x20e.g.\x20\x274\x27'}],'example_table':[{'identifier':0x0,'b_submission':!![],'value_type':'Address','object_type':'Order','name':'Order\x20object\x20address\x20(submitted\x20by\x20verifier\x20at\x20runtime)'},{'identifier':0x1,'b_submission':![],'value_type':'Address','value':'${reward_address}','name':'Reward\x20object\x20(claim\x20pool)'},{'identifier':0x2,'b_submission':![],'value_type':'String','value':'${expected_pre_claim_node}','name':'Expected\x20pre-claim\x20node\x20name\x20(e.g.\x20\x27reviewed\x27)'},{'identifier':0x3,'b_submission':![],'value_type':'String','value':'${expected_pre_claim_node_alt}','name':'Alternate\x20pre-claim\x20node\x20in\x20the\x20allowed\x20SET\x20(e.g.\x20\x27completed\x27)'},{'identifier':0x9,'b_submission':![],'value_type':'String','value':'${expected_pre_claim_node_alt2}','name':'Third\x20claim-allowed\x20node\x20(optional\x20post-settlement\x20side\x20node;\x20duplicates\x20the\x20primary\x20when\x20unused)'},{'identifier':0xa,'b_submission':![],'value_type':'String','value':'${expected_pre_claim_node_alt3}','name':'Fourth\x20claim-allowed\x20node\x20(optional\x20post-settlement\x20side\x20node;\x20duplicates\x20the\x20primary\x20when\x20unused)'},{'identifier':0x4,'b_submission':![],'value_type':'U64','value':'1','name':'Minimum\x20PAID\x20order\x20amount\x20(1\x20smallest\x20unit\x20—\x20BKN-P2\x20positive-amount\x20leg)'},{'identifier':0x5,'b_submission':![],'value_type':'U64','value':'${claim_window_ms}','name':'Claim-window\x20length\x20in\x20ms\x20(bounty\x20opens\x20after\x20this\x20elapses\x20from\x20the\x20claim-allowed\x20node\x20entry)'},{'identifier':0x6,'b_submission':![],'value_type':'Address','value':'${rating_repository}','name':'Rating\x20repository\x20(PLAN-BOUND\x20\x27_review\x27\x20repository\x20—\x20NEVER\x20a\x20buyer-submitted\x20row;\x20omit\x20slots\x206-8\x20AND\x20the\x20rating\x20leg\x20when\x20rating_repository\x20is\x20empty)'},{'identifier':0x7,'b_submission':![],'value_type':'String','value':'${rating_policy_name}','name':'Rating\x20policy\x20key\x20(must\x20equal\x20the\x20compile-emitted\x20\x27rating\x27\x20policy)'},{'identifier':0x8,'b_submission':![],'value_type':'U64','value':'${rating_floor}','name':'Rating\x20floor\x20—\x20the\x20bounty\x20pays\x20only\x20when\x20the\x20order-keyed\x20rating\x20row\x20is\x20>=\x20this'}],'example_root':{'type':'logic_and','nodes':[{'type':'logic_or','nodes':[{'type':'logic_string_nocase_equal','nodes':[{'type':'query','query':'progress.current','object':{'identifier':0x0,'convert_witness':'OrderProgress'},'parameters':[]},{'type':'identifier','identifier':0x2}]},{'type':'logic_string_nocase_equal','nodes':[{'type':'query','query':'progress.current','object':{'identifier':0x0,'convert_witness':'OrderProgress'},'parameters':[]},{'type':'identifier','identifier':0x3}]},{'type':'logic_string_nocase_equal','nodes':[{'type':'query','query':'progress.current','object':{'identifier':0x0,'convert_witness':'OrderProgress'},'parameters':[]},{'type':'identifier','identifier':0x9}]},{'type':'logic_string_nocase_equal','nodes':[{'type':'query','query':'progress.current','object':{'identifier':0x0,'convert_witness':'OrderProgress'},'parameters':[]},{'type':'identifier','identifier':0xa}]}]},{'type':'logic_equal','nodes':[{'type':'context','context':'Signer'},{'type':'query','query':'order.owner','object':{'identifier':0x0},'parameters':[]}]},{'type':'logic_as_u256_greater_or_equal','nodes':[{'type':'query','query':'order.amount','object':{'identifier':0x0},'parameters':[]},{'type':'identifier','identifier':0x4}]},{'type':'logic_as_u256_greater_or_equal','nodes':[{'type':'context','context':'Clock'},{'type':'calc_number_add','nodes':[{'type':'query_progress_history_time','object':{'identifier':0x0,'convert_witness':'OrderProgress'},'where':{'nextNode':'${expected_pre_claim_node}'},'find':'last'},{'type':'identifier','identifier':0x5}]}]},{'type':'logic_not','node':{'type':'query_reward_record_exists','object':{'identifier':0x1},'where':{'storeFromId':{'identifier':0x0}}}},{'type':'logic_as_u256_greater_or_equal','nodes':[{'type':'query','query':'repository.data','object':{'identifier':0x6},'parameters':[{'type':'identifier','identifier':0x7},{'type':'identifier','identifier':0x0}]},{'type':'identifier','identifier':0x8}]}]},'applicable_industries':['ecommerce','education','travel','subscription','freelance'],'relevant_risks':['R-C1-03','R-X1-01','R-X1-10'],'creation_notes':['POSITIVE-AMOUNT\x20LEG\x20(BKN-P2,\x20v55):\x20the\x20order.amount\x20>=\x201\x20leg\x20is\x20MANDATORY\x20—\x20a\x20zero-total\x20order\x20(e.g.\x20a\x20100%-off\x20coupon\x20buy)\x20holds\x20an\x20EMPTY\x20escrow\x20and\x20must\x20never\x20trigger\x20incentives\x20(zero-cost\x20buy\x20->\x20review\x20node\x20->\x20bounty\x20claim\x20is\x20the\x20arbitrage\x20the\x20leg\x20closes).\x20Never\x20issue\x20a\x20zeroing\x20coupon\x20without\x20allow_zero_total,\x20and\x20never\x20drop\x20this\x20leg\x20when\x20specializing\x20the\x20root.','REPLAY\x20GATE\x20(SV-2,\x20azx7-mn-261014\x20live\x20T8):\x20this\x20template\x27s\x20root\x20scopes\x20the\x20claim-records\x20query\x20BY\x20THE\x20ORDER\x20—\x20where.storeFromId\x20references\x20slot\x200\x20(the\x20submitted\x20Order\x20address),\x20the\x20same\x20slot\x20the\x20guard_add\x20entry\x20stamps,\x20so\x20the\x20gate\x20reads\x20\x27this\x20recipient\x20has\x20never\x20claimed\x20for\x20THIS\x20order\x27\x20—\x20once\x20per\x20buyer\x20per\x20ORDER.\x20An\x20EMPTY\x20where\x20({})\x20is\x20the\x20deliberate\x20once-per-buyer-FOR-LIFE\x20variant\x20(recipient\x20defaults\x20to\x20the\x20Signer;\x20klk-mn-261014\x20live:\x20replay\x20aborts\x20at\x20the\x20passport\x20layer,\x20E_VERIFY_FAILED=7)\x20—\x20choose\x20it\x20ONLY\x20for\x20one-bounty-per-buyer\x20designs,\x20never\x20for\x20per-order\x20bounty\x20wording\x20(upw-mn-261014\x20F-48:\x20it\x20silently\x20kills\x20the\x20buyer\x27s\x20second\x20order).','NEVER\x20hand-write\x20the\x20raw\x20query\x20form\x20with\x20an\x20empty\x20VecU8\x20parameter\x20(klk-mn-261013\x20F-05,\x20mainnet-probed):\x20empty\x20query\x20bytes\x20reach\x20the\x20native\x20untranslated\x20and\x20abort\x20with\x20an\x20uncoded\x20MovePrimitiveRuntimeError\x20(\x27Query\x20bytes\x20is\x20empty\x27)\x20—\x20no\x20abort\x20code,\x20no\x20diagnosis.\x20The\x20deployed\x20guard.move\x20(pre\x20A-5)\x20accepts\x20the\x20empty\x20constant\x20at\x20creation,\x20so\x20the\x20failure\x20surfaces\x20only\x20at\x20first\x20verification.\x20If\x20a\x20raw\x20form\x20is\x20ever\x20required,\x20the\x20parameter\x20MUST\x20carry\x20the\x20[value_type\x20marker\x20+\x20BCS\x20conditions]\x20header\x20bytes\x20—\x20which\x20is\x20exactly\x20what\x20the\x20structured\x20node\x20emits\x20for\x20you.','STAMP\x20+\x20FILTER\x20PAIR\x20(SV-2):\x20the\x20reward.guard_add\x20store_from_id\x20STAMP\x20and\x20the\x20where.storeFromId\x20QUERY\x20FILTER\x20are\x20DIFFERENT\x20fields\x20and\x20BOTH\x20are\x20required\x20for\x20the\x20per-order\x20scope\x20—\x20the\x20STAMP\x20makes\x20each\x20claim\x20record\x20key\x20on\x20the\x20submitted\x20Order\x20address;\x20the\x20FILTER\x20matches\x20records\x20by\x20that\x20same\x20value.\x20A\x20record-consuming\x20guard\x20(this\x20template)\x20MUST\x20be\x20added\x20with\x20store_from_id\x20=\x200\x20(the\x20submitted\x20Order/claimant\x20slot)\x20—\x20the\x20MCP\x20guard_add\x20stamp\x20gate\x20(UPW-K7)\x20REJECTS\x20the\x20unstamped\x20entry;\x20on-chain\x20the\x20unstamped\x20entry\x20is\x20accepted\x20but\x20writes\x20records\x20with\x20store_from\x20=\x20none,\x20which\x20matches\x20no\x20storeFromId\x20predicate\x20—\x20that\x20unstamped\x20shape\x20is\x20the\x20ONLY\x20context\x20where\x20the\x20ofn-mn-261012\x20F-01\x20\x27filter\x20is\x20inert\x27\x20verdict\x20ever\x20held\x20(azx7-mn-261014\x20live\x20T8\x20disproved\x20the\x20blanket\x20retraction).\x20Re-adding\x20the\x20SAME\x20guard\x20overwrites\x20its\x20slot\x20in\x20place,\x20so\x20live\x20pools\x20are\x20repairable.','POST-STATE\x20UPDATE\x20(MOV-PROTOCOL-1212):\x20in\x20the\x20HEAD\x20framework\x20source\x20guard\x20queries\x20observe\x20same-transaction\x20writes\x20(post-state),\x20so\x20write-then-verify\x20within\x20one\x20PTB\x20sees\x20its\x20own\x20write\x20—\x20DEPLOYMENT-GATED\x20(DEPLOY-K1):\x20not\x20yet\x20confirmed\x20on\x20the\x20deployed\x20binary;\x20verify\x20via\x20wowok_buildin_info\x20info=\x27upgrade_check\x27\x20(build_stamp.chain_stamp)\x20before\x20relying\x20on\x20it.\x20This\x20does\x20NOT\x20revive\x20\x27repository.data\x20count\x20==\x200\x27\x20as\x20a\x20first-claim\x20gate:\x20repository.data\x20is\x20an\x20upsert\x20key-value\x20store\x20—\x20a\x20repeat\x20write\x20overwrites\x20the\x20row\x20instead\x20of\x20growing\x20the\x20count.\x20Keep\x20the\x20exists_where\x20replay\x20gate.','IDENTITY\x20LEG\x20(mandatory\x20regardless\x20of\x20chain\x20patch\x20state):\x20claim()\x20pays\x20Recipient::Signer\x20(tx_context::sender)\x20with\x20no\x20order\x20binding\x20of\x20its\x20own\x20—\x20without\x20the\x20order.owner\x20identity\x20leg\x20any\x20address\x20holding\x20any\x20order\x20at\x20the\x20required\x20node\x20drains\x20the\x20pool\x20(audit-261012\x20B5).\x20The\x20MOV-PROTOCOL-1212\x20chain\x20patch\x20adds\x20recipient==signer\x20(E_CLAIM_RECIPIENT_NOT_SIGNER=14)\x20and\x20a\x20per-(recipient,\x20guard,\x20bcs(store_from))\x20once-slot\x20(E_CLAIM_ALREADY_MADE=13)\x20as\x20the\x20SECOND\x20line\x20—\x20a\x20replay\x20with\x20the\x20registered\x20guard\x20still\x20aborts\x20at\x20the\x20passport\x20layer\x20FIRST\x20(E_VERIFY_FAILED=7),\x20so\x20observing\x20abort\x207\x20says\x20nothing\x20about\x20the\x20patch\x27s\x20deployment;\x20check\x20freshness\x20via\x20wowok_buildin_info\x20upgrade_check\x20(build_stamp.chain_stamp,\x20DEPLOY-K1).','RECIPIENT\x20SEMANTICS\x20(crs-mn-261015\x20F-12,\x20live\x20mainnet):\x20the\x20reward.guard_add\x20ENTRY\x20recipient\x20MUST\x20be\x20{Signer:\x27signer\x27}\x20—\x20the\x20claim\x20entry\x20requires\x20recipient\x20==\x20tx_context::sender\x20(abort\x2014,\x20E_CLAIM_RECIPIENT_NOT_SIGNER),\x20and\x20a\x20{GuardIdentifier}\x20recipient\x20resolves\x20from\x20the\x20passport\x20submission\x20(conventionally\x20the\x20submitted\x20Order\x20address)\x20which\x20can\x20never\x20be\x20the\x20signer:\x20the\x20pool\x20behind\x20it\x20is\x20structurally\x20unpayable\x20(a\x20live\x20funded\x20pool\x20paid\x20abort\x2014\x20on\x20every\x20claim).\x20The\x20order-anchored\x20GuardIdentifier(0)\x20idiom\x20is\x20an\x20ALLOCATION\x20push\x20rail\x20(money\x20lands\x20ON\x20the\x20Order;\x20for_object\x20anchors\x20it)\x20—\x20NEVER\x20copy\x20it\x20onto\x20the\x20reward\x20pull\x20rail.\x20An\x20{Entity}\x20recipient\x20also\x20passes\x20(the\x20SDK\x20replaces\x20it\x20with\x20the\x20claimant\x27s\x20local\x20account\x20when\x20building\x20the\x20claim\x20PTB).\x20The\x20MCP\x20guard_add\x20recipient\x20gate\x20rejects\x20the\x20GuardIdentifier\x20form\x20(crs\x20F-12).','SETTLEMENT-DRAINED\x20LEG\x20—\x20DELIBERATE\x20OPTION\x20(crs-mn-261015\x20F-16):\x20a\x20bounty\x20meant\x20as\x20the\x20follow-on\x20to\x20a\x20COMPLETED\x20purchase\x20adds\x20logic_as_u256_lesser[query(\x27allocation.balance\x27,\x20object:{identifier:0,\x20convert_witness:\x27OrderAllocation\x27}),\x20query(\x27order.amount\x27,\x20object:{identifier:0})]\x20—\x20the\x20escrow\x20must\x20be\x20at\x20least\x20partially\x20drained\x20(query\x201051\x20+\x20witness\x20109,\x20live-proven)\x20before\x20the\x20bounty\x20pays,\x20closing\x20both\x20the\x20unknown-commit\x20window\x20(a\x20claim\x20racing\x20an\x20in-flight\x20settlement)\x20and\x20the\x20stalling-merchant\x20hole\x20(no\x20release,\x20no\x20incentive).\x20Do\x20NOT\x20add\x20it\x20for\x20a\x20review-nudge\x20bounty\x20claimed\x20immediately\x20at\x20the\x20review\x20node\x20—\x20that\x20is\x20the\x20adjudicated\x20review→claim→complete\x20ordering\x20(upwc-mn-261013\x20③)\x20where\x20the\x20claim\x20deliberately\x20PRECEDES\x20settlement;\x20the\x20two\x20designs\x20are\x20mutually\x20exclusive,\x20choose\x20per\x20business\x20intent\x20and\x20state\x20the\x20choice\x20in\x20the\x20quote\x27s\x20reward\x20terms.','CLAIM-WINDOW\x20TIME\x20LEG\x20(bkm4\x20BF-17,\x20v76;\x20re-anchored\x20UPWC-K4/CAT-D1):\x20the\x20bounty\x20OPENS\x20only\x20after\x20claim_window_ms\x20elapses\x20from\x20the\x20claim-allowed\x20node\x27s\x20entry\x20—\x20Clock\x20>=\x20entry\x20+\x20window,\x20OPENING\x20direction\x20(etm\x20A-06;\x20never\x20invert\x20it\x20into\x20a\x20closing\x20gate).\x20The\x20time\x20source\x20is\x20query\x201280\x20progress.history.time\x20via\x20the\x20structured\x20node\x20query_progress_history_time\x20(OrderProgress\x20witness),\x20FILTERED\x20by\x20where:{nextNode:\x20\x22${expected_pre_claim_node}\x22}\x20—\x20the\x20anchor\x20is\x20the\x20PRIMARY\x20claim\x20node\x27s\x20own\x20entry\x20moment,\x20an\x20immutable\x20once-written\x20record.\x20The\x20old\x20empty-where\x20form\x20(where:{}\x20+\x20find:\x27last\x27,\x20v76\x20original)\x20resolved\x20to\x20the\x20LATEST\x20entry\x20of\x20whatever\x20node\x20the\x20order\x20currently\x20sits\x20at,\x20so\x20every\x20later\x20advance\x20(settlement,\x20praise,\x20revision)\x20silently\x20RESTARTED\x20the\x20window\x20and\x20a\x20post-review\x20advance\x20voided\x20the\x20bounty\x20—\x20that\x20form\x20is\x20superseded\x20and\x20must\x20not\x20be\x20re-introduced\x20(upwc-cat-261017\x20CAT-D1\x20live:\x200ms-window\x20probe).\x20The\x20claim-allowed\x20node\x20SET\x20is\x20NOT\x20the\x20filter\x27s\x20job\x20anymore:\x20it\x20is\x20carried\x20by\x20the\x20OR\x20legs\x20over\x20expected_pre_claim_node/alt/alt2/alt3\x20(see\x20NODE-SET\x20CLAIM\x20STATE\x20above);\x20keep\x20the\x20filter\x20pinned\x20to\x20the\x20primary\x20review\x20node\x20and\x20never\x20widen\x20it\x20to\x20the\x20set.\x20The\x201280\x20record\x20is\x20written\x20once\x20on\x20entering\x20a\x20node\x20and\x20never\x20rewritten,\x20so\x20a\x20settlement-race\x20re-entry\x20cannot\x20shift\x20the\x20window\x20mid-flight\x20(1272\x20progress.current_time\x20drift\x20class,\x20ETS-C,\x20is\x20eliminated\x20by\x20construction).\x20REQUIRES\x20an\x20execution\x20layer\x20with\x20the\x201280\x20primitive\x20(progress.history.time,\x20node-entry\x20timestamps)\x20—\x20shipped\x20with\x20the\x20current\x20buildin;\x20verify\x20freshness\x20via\x20wowok_buildin_info\x20info=\x27upgrade_check\x27\x20before\x20relying\x20on\x20it\x20on\x20an\x20old\x20binary.\x20On\x20builds\x20that\x20lack\x201280,\x20fall\x20back\x20to\x20pattern.time_source_repository_oracle.\x20The\x20window\x20length\x20pairs\x20with\x20the\x20archetype\x20reward_claim_window_days\x20fee_param\x20(default\x2014\x20days\x20=\x201209600000\x20ms)\x20—\x20keep\x20the\x20two\x20in\x20sync\x20when\x20specializing\x20a\x20pack.','For\x20per-order\x20once\x20semantics\x20the\x20ORDER-SCOPED\x20gate\x20above\x20IS\x20the\x20primary\x20form\x20(SV-2).\x20Route\x20the\x20incentive\x20through\x20an\x20Allocation\x20leg\x20gated\x20on\x20protocol\x20slot\x20254\x20(chain-derived\x20bcs(payment_info.for_object),\x20unforgeable)\x20only\x20when\x20you\x20want\x20the\x20per-order\x20once\x20enforced\x20by\x20the\x20chain\x20itself,\x20immune\x20to\x20guard-tree\x20mistakes.','ADJUDICATED\x20DESIGN\x20(upwc-mn-261013\x20③)\x20—\x20REVIEW-THEN-CLAIM-THEN-COMPLETE\x20ordering:\x20the\x20standard\x20flow\x20writes\x20the\x20repository\x20review\x20row\x20FIRST,\x20fires\x20the\x20reward\x20claim\x20SECOND,\x20and\x20only\x20then\x20advances\x20the\x20machine\x20to\x20completed.\x20A\x20test/report\x20line\x20reading\x20\x27review\x20written\x20before\x20complete\x27\x20describes\x20the\x20designed\x20order,\x20not\x20a\x20defect\x20(KL-C5\x20review-window\x20idiom\x20family).','NODE-SET\x20CLAIM\x20STATE\x20(az3-mn-261013\x20F-16\x20+\x20UPWC-K3/CAT-D1):\x20expected_pre_claim_node\x20is\x20a\x20SET,\x20not\x20a\x20single\x20value\x20—\x20always\x20pass\x20expected_pre_claim_node_alt\x20(\x27completed\x27)\x20so\x20a\x20claim\x20filed\x20AFTER\x20settlement\x20wins\x20the\x20race\x20does\x20not\x20abort\x20(7),\x20AND\x20the\x20template\x27s\x20optional\x20post-settlement\x20side\x20nodes\x20as\x20alt2/alt3\x20(e.g.\x20\x27wonder\x27/\x27no_wonder\x27)\x20so\x20a\x20buyer\x20who\x20praises\x20after\x20reviewing\x20does\x20not\x20void\x20their\x20own\x20bounty.\x20A\x20reviewed-only\x20leg\x20went\x20live\x20dead\x20on\x20mainnet\x20the\x20moment\x20settlement\x20fired\x20first\x20(v2\x20root\x20dead,\x20v3\x20OR\x20leg\x20live).','WINDOW\x20ANCHOR\x20(UPWC-K4/CAT-D1):\x20the\x20time\x20leg\x20anchors\x20the\x20PRIMARY\x20claim\x20node\x27s\x20ENTRY\x20(where.nextNode)\x20—\x20later\x20advances\x20(settlement,\x20praise,\x20revision)\x20no\x20longer\x20restart\x20the\x20window.\x20Pass\x20the\x20review\x20node\x20as\x20expected_pre_claim_node,\x20never\x20a\x20post-settlement\x20node:\x20the\x20anchor\x20IS\x20the\x20review\x20event.','RATING-FLOOR\x20ELIGIBILITY\x20LEG\x20(upwk-mn-261017\x20F-62):\x20the\x20leg\x20reads\x20the\x20ORDER-KEYED\x20U64\x20rating\x20row\x20—\x20query\x201167\x20(repository.data)\x20over\x20the\x20PLAN-BOUND\x20repository\x20(slot\x206)\x20with\x20the\x20policy\x20key\x20(slot\x207)\x20and\x20THE\x20SUBMITTED\x20ORDER\x20(slot\x200)\x20as\x20the\x20row\x20id,\x20compared\x20against\x20the\x20floor\x20(slot\x208).\x20The\x20buyer\x20writes\x20the\x20row\x20at\x20review\x20time\x20(repository.data_add\x20id\x20=\x20order\x20address,\x20value\x20=\x20stars\x20U64)\x20and\x20composition/compile.ts\x20emits\x20the\x20matching\x20\x27rating\x27\x20policy\x20for\x20exactly\x20this\x20pairing\x20—\x20keep\x20rating_policy_name\x20in\x20lockstep\x20with\x20it.\x20THE\x20SIGNER-KEYED\x20REVIEW\x20TEXT\x20ROW\x20IS\x20DISPLAY-ONLY\x20and\x20NEVER\x20keys\x20this\x20leg:\x20keying\x20on\x20it\x20reads\x20the\x20wrong\x20record\x20or\x20dead-locks\x20the\x20claim\x20fail-closed\x20(F-62\x20four-layer\x20break\x20—\x20adjudication\x20right,\x20data\x20row\x20missing,\x20template\x20leg\x20missing,\x20scanner\x20blind;\x20this\x20leg\x20closes\x20layer\x203).','RATING-LEG\x20OMISSION\x20SEMANTICS:\x20rating_repository\x20empty/absent\x20=\x20omit\x20slots\x206-8\x20AND\x20the\x20rating\x20leg\x20(plain\x20praise\x20bounty\x20with\x20no\x20rating\x20floor);\x20rating_floor\x20\x270\x27\x20=\x20same\x20(a\x20>=\x200\x20floor\x20gates\x20nothing).\x20Never\x20ship\x20the\x20leg\x20with\x20a\x20dangling\x20slot\x20—\x20a\x201167\x20read\x20against\x20a\x20missing\x20row\x20fails\x20closed\x20and\x20bricks\x20the\x20claim\x20(F-03\x20class).','RATING-LEG\x20QUOTE-GUARD\x20CARRY\x20(MOV-PROTOCOL-1212\x20C):\x20if\x20the\x20\x27rating\x27\x20policy\x20is\x20quote-guard-protected,\x20the\x20claim\x20passport\x20MUST\x20carry\x20that\x20quote_guard\x20in\x20its\x20impack\x20list\x20—\x20the\x201167\x20read\x20aborts\x20otherwise\x20(fail-closed).\x20The\x20compile-emitted\x20rating\x20policy\x20ships\x20UNPROTECTED\x20(payout-relevant\x20amounts\x20are\x20not\x20secrets)\x20—\x20keep\x20it\x20that\x20way\x20unless\x20the\x20business\x20demands\x20secrecy,\x20and\x20then\x20disclose\x20the\x20carry\x20in\x20the\x20quote\x27s\x20reward\x20terms.','Reward\x20guard\x20is\x20immutable\x20once\x20the\x20Reward\x20object\x20is\x20published\x20—\x20verify\x20this\x20guard\x20against\x20a\x20realistic\x20passport\x20BEFORE\x20publish\x20(F-03:\x20a\x20wrong\x20bound\x20guard\x20can\x20permanently\x20brick\x20the\x20claim\x20path).'],'example_use_case':'Review\x20bounty:\x20fan\x20finishes\x20review\x20(node\x20\x27reviewed\x27),\x20submits\x20the\x20Order,\x20claims\x20the\x20praise\x20bounty.\x20The\x20identity\x20leg\x20binds\x20the\x20claim\x20to\x20the\x20order\x20holder;\x20the\x20logic_not(exists_where)\x20leg\x20rejects\x20a\x20second\x20claim\x20from\x20the\x20same\x20address.\x20A\x20replay\x20attempt\x20aborts\x20and\x20the\x20pool\x20keeps\x20its\x20balance.\x20With\x20the\x20rating\x20leg\x20armed,\x20a\x203-star\x20review\x20on\x20a\x204-floor\x20bounty\x20claims\x20nothing.','verifier_constraint_level':'level3_scene_combined'},{'id':'tpl_repository_review_threshold_gate','scene_id':'reward_claim','name':'Positive-review\x20threshold\x20gate','description':'Gates\x20a\x20benefit\x20(reward\x20claim,\x20privilege,\x20milestone)\x20on\x20review\x20quality\x20recorded\x20in\x20a\x20Repository:\x20count-form\x20requires\x20at\x20least\x20N\x20reviews\x20rated\x20>=\x20a\x20minimum\x20star\x20level;\x20sum-form\x20requires\x20the\x20review-score\x20sum\x20to\x20reach\x20a\x20threshold.\x20Uses\x20the\x20repository\x20composite\x20where-queries\x20(count\x20where\x20/\x20sum\x20where)\x20with\x20a\x20verifier-supplied\x20candidate\x20list.','recommended_patterns':['P07','P13'],'parameters':[{'name':'review_repository','type':'address','description':'Repository\x20object\x20holding\x20the\x20review\x20rows','required':!![]},{'name':'review_key','type':'string','description':'Policy\x20key\x20under\x20which\x20review\x20rows\x20are\x20stored\x20(e.g.\x20\x27review\x27)','required':!![]},{'name':'min_star','type':'number','description':'Minimum\x20star\x20rating\x20that\x20counts\x20as\x20a\x20positive\x20review','required':!![],'constraint':'Plain\x20number\x20string\x20(U256\x20semantics),\x20e.g.\x20\x274\x27.\x20Predicate\x20bounds\x20are\x20numeric\x20strings,\x20never\x20JSON\x20numbers'},{'name':'min_review_count','type':'number','description':'Minimum\x20number\x20of\x20positive\x20reviews\x20required\x20(count\x20form)','required':!![]}],'example_table':[{'identifier':0x0,'b_submission':!![],'value_type':'Address','object_type':'Repository','name':'Review\x20Repository\x20(submitted\x20by\x20verifier\x20at\x20runtime)'},{'identifier':0x1,'b_submission':![],'value_type':'String','value':'${review_key}','name':'Review\x20policy\x20key'},{'identifier':0x2,'b_submission':!![],'value_type':'VecAddress','name':'Candidate\x20review\x20row\x20ids\x20supplied\x20by\x20the\x20verifier\x20(max\x20100,\x20deduped)'},{'identifier':0x3,'b_submission':![],'value_type':'U64','value':'${min_review_count}','name':'Minimum\x20positive\x20review\x20count'}],'example_root':{'type':'logic_as_u256_greater_or_equal','nodes':[{'type':'query_repository_data_count_where','object':{'identifier':0x0},'key':{'identifier':0x1},'ids':{'identifier':0x2},'where':{'kind':'range','valueMin':'${min_star}'}},{'type':'identifier','identifier':0x3}]},'applicable_industries':['ecommerce','education','travel','subscription','freelance'],'relevant_risks':['R-C1-03','R-X1-01'],'creation_notes':['TWO\x20FORMS\x20—\x20COUNT\x20(this\x20example_root):\x20query_repository_data_count_where\x20with\x20where\x20{kind:\x27range\x27,\x20valueMin:\x27${min_star}\x27}\x20returns\x20U64\x20=\x20number\x20of\x20candidate\x20rows\x20rated\x20>=\x20min_star;\x20compare\x20logic_as_u256_greater_or_equal\x20against\x20the\x20count\x20threshold.','TWO\x20FORMS\x20—\x20SUM\x20(swap\x20the\x20query\x20node):\x20query_repository_data_sum_where\x20returns\x20U256\x20=\x20the\x20sum\x20of\x20the\x20numeric\x20payloads\x20of\x20matching\x20rows;\x20compare\x20it\x20against\x20a\x20total-score\x20threshold\x20with\x20logic_as_u256_greater_or_equal.\x20Use\x20the\x20sum\x20form\x20when\x20review\x20weight\x20should\x20scale\x20with\x20rating\x20(5-star\x20counts\x20more\x20than\x204-star);\x20use\x20the\x20count\x20form\x20for\x20a\x20flat\x20\x27N\x20positive\x20reviews\x27\x20rule.','U256\x20NUMBER-STRING\x20SEMANTICS:\x20every\x20predicate\x20bound\x20and\x20threshold\x20is\x20a\x20PLAIN\x20NUMBER\x20STRING\x20(e.g.\x20\x274\x27,\x20\x2720\x27)\x20with\x20U256\x20semantics\x20—\x20on-chain\x20comparison\x20widens\x20all\x20numeric\x20types\x20to\x20U256.\x20Predicate\x20kind\x20must\x20match\x20the\x20policy\x20value\x20type;\x20mismatching\x20rows\x20are\x20skipped\x20honestly\x20(never\x20an\x20error).','CANDIDATE\x20IDS:\x20the\x20ids\x20row\x20is\x20verifier-supplied\x20evidence\x20(b_submission\x20VecAddress,\x20max\x20100,\x20deduped).\x20For\x20per-user\x20review\x20rows\x20the\x20natural\x20candidate\x20set\x20is\x20the\x20user\x27s\x20review\x20row\x20ids;\x20enumerate\x20them\x20via\x20a\x20repository\x20data\x20query\x20or\x20derive\x20them\x20from\x20order\x20records\x20—\x20never\x20trust\x20a\x20count\x20over\x20ids\x20the\x20verifier\x20can\x20pad\x20with\x20foreign\x20rows\x20unless\x20each\x20row\x20id\x20is\x20bound\x20to\x20the\x20user.','QUOTE_GUARD\x20CARRY\x20(MOV-PROTOCOL-1212\x20C):\x20if\x20the\x20scanned\x20policy\x20key\x20is\x20protected\x20by\x20a\x20quote_guard,\x20the\x20passport\x20verifying\x20this\x20gate\x20MUST\x20carry\x20that\x20quote_guard\x20in\x20its\x20impack\x20list\x20—\x20the\x20fetch\x20(1167),\x20count/sum/find\x20(1173/1174/1176)\x20AND\x20the\x20keys-where\x20scan\x20(1177)\x20all\x20abort\x20otherwise.\x20A\x20gate\x20that\x20reads\x20protected\x20review\x20data\x20without\x20carrying\x20the\x20quote_guard\x20fails\x20closed.','Identity\x20anchor:\x20combine\x20with\x20an\x20order-owner\x20or\x20Signer\x20leg\x20(see\x20tpl_reward_one_time_claim)\x20so\x20the\x20benefit\x20goes\x20to\x20the\x20reviewer,\x20not\x20whoever\x20assembles\x20the\x20passport.'],'example_use_case':'Loyalty\x20perk:\x20a\x20fan\x20who\x20has\x20posted\x20at\x20least\x203\x20reviews\x20rated\x204\x20stars\x20or\x20higher\x20can\x20claim\x20a\x20bonus.\x20The\x20verifier\x20submits\x20the\x20fan\x27s\x20review\x20row\x20ids;\x20the\x20count-form\x20root\x20only\x20passes\x20when\x20at\x20least\x203\x20rows\x20carry\x20a\x20rating\x20>=\x204.\x20Swap\x20to\x20the\x20sum\x20form\x20to\x20require\x20the\x20fan\x27s\x20total\x20review\x20score\x20to\x20reach\x2015.','verifier_constraint_level':'level3_scene_combined'},{'id':'tpl_crowdfunding_threshold_gate','scene_id':'machine_forward_guard','name':'Crowdfunding\x20threshold\x20settlement\x20gate\x20(release\x20/\x20refund\x20polarity)','description':'Gates\x20a\x20campaign\x20settlement\x20forward\x20on\x20the\x20on-chain\x20aggregate\x20raise:\x20logic_and[\x20sum-where(1174)\x20over\x20the\x20'+'campaign\x27s\x20writer-bound\x20contribution\x20rows\x20>=\x20funding_threshold,\x20Clock\x20>=\x20campaign_deadline\x20].\x20RELEASE\x20polarity\x20'+'(this\x20example_root,\x20greater_or_equal)\x20fires\x20the\x20release-to-project\x20leg\x20when\x20the\x20goal\x20is\x20met;\x20REFUND\x20polarity\x20'+'(swap\x20the\x20aggregate\x20leaf\x20to\x20logic_as_u256_lesser)\x20fires\x20the\x20per-contributor\x20refund\x20leg\x20when\x20the\x20goal\x20is\x20missed.\x20'+'The\x20deadline\x20is\x20an\x20ABSOLUTE\x20campaign\x20timestamp\x20(shared\x20by\x20every\x20funder),\x20NOT\x20a\x20per-order\x20entry+duration\x20lock\x20—\x20'+'a\x20per-order\x20anchor\x20would\x20give\x20each\x20contributor\x20a\x20different\x20deadline.\x20Executable\x20form\x20of\x20the\x20crowdfunding_mode\x20'+'threshold\x20gate;\x20the\x20aggregate\x20is\x20a\x20read-only\x20sum\x20over\x20keeper-supplied\x20candidate\x20ids\x20(max\x20100),\x20so\x20roster\x20'+'completeness\x20is\x20attested,\x20never\x20a\x20chain-verified\x20total-custody\x20proof.','recommended_patterns':['P06','P07'],'parameters':[{'name':'campaign_repository','type':'address','description':'Repository\x20object\x20holding\x20the\x20campaign\x27s\x20contribution\x20rows.\x20Default\x20\x27${repository_name}\x27\x20=\x20the\x20plan\x27s\x20kernel-created\x20evidence\x20Repository\x20(compile\x20seeds\x20repository_name\x20like\x20service_name\x20—\x20late-bound\x20by\x20object\x20NAME\x20at\x20execution).\x20Pass\x20an\x20explicit\x20repository\x20name/address\x20to\x20read\x20a\x20different\x20ledger.','required':!![],'default':'${repository_name}'},{'name':'contribution_key','type':'string','description':'Policy\x20key\x20under\x20which\x20contribution\x20rows\x20are\x20stored\x20(default\x20\x27contribution\x27\x20—\x20the\x20canonical\x20crowdfunding\x20write-policy\x20name\x20declared\x20by\x20the\x20template\x27s\x20repository\x20write\x20guard)','required':!![],'default':'contribution'},{'name':'funding_threshold','type':'number','description':'Aggregate\x20funding\x20goal\x20the\x20sum-where\x20total\x20is\x20compared\x20against\x20(U256\x20semantics,\x20plain\x20number\x20string)','required':!![],'constraint':'Plain\x20number\x20string\x20(U256\x20semantics),\x20e.g.\x20\x271000\x27.\x20Predicate\x20bounds\x20and\x20thresholds\x20are\x20numeric\x20strings,\x20never\x20JSON\x20numbers'},{'name':'campaign_deadline_ms','type':'number','description':'Absolute\x20campaign\x20deadline\x20as\x20an\x20epoch-ms\x20timestamp;\x20settlement\x20is\x20blocked\x20until\x20Clock\x20>=\x20it','required':!![],'constraint':'Shared\x20by\x20every\x20funder\x27s\x20order\x20—\x20one\x20campaign,\x20one\x20deadline.\x20Chain\x20Clock\x20is\x20block-driven;\x20bind\x20a\x20repository\x20time-oracle\x20(pattern.time_source_repository_oracle)\x20when\x20the\x20deadline\x20is\x20a\x20real-world\x20date'}],'example_table':[{'identifier':0x0,'b_submission':!![],'value_type':'Address','object_type':'Repository','name':'Campaign\x20Repository\x20(submitted\x20by\x20the\x20keeper\x20at\x20settlement)'},{'identifier':0x1,'b_submission':![],'value_type':'String','value':'${contribution_key}','name':'Contribution\x20policy\x20key'},{'identifier':0x2,'b_submission':!![],'value_type':'VecAddress','name':'Contributor\x20row\x20ids\x20enumerated\x20by\x20the\x20keeper\x20(find-where\x201176\x20/\x20keys-where\x201177;\x20max\x20100,\x20deduped)\x20—\x20the\x20campaign\x20roster\x20is\x20ATTESTED\x20by\x20this\x20set,\x20not\x20chain-derived'},{'identifier':0x3,'b_submission':![],'value_type':'U64','value':'${funding_threshold}','name':'Aggregate\x20funding\x20goal\x20(U256\x20comparison)'},{'identifier':0x4,'b_submission':![],'value_type':'U64','value':'${campaign_deadline_ms}','name':'Absolute\x20campaign\x20deadline\x20(epoch\x20ms);\x20Clock\x20>=\x20it\x20opens\x20settlement'},{'identifier':0xfe,'b_submission':!![],'value_type':'Address','object_type':'Order','name':'task_binding\x20order\x20anchor\x20(protocol\x20slot\x20254;\x20written\x20by\x20order\x20creation)'}],'example_root':{'type':'logic_and','nodes':[{'type':'logic_as_u256_greater_or_equal','nodes':[{'type':'query_repository_data_sum_where','object':{'identifier':0x0},'key':{'identifier':0x1},'ids':{'identifier':0x2},'where':{'kind':'range','valueMin':'1'}},{'type':'identifier','identifier':0x3}]},{'type':'logic_as_u256_greater_or_equal','nodes':[{'type':'context','context':'Clock'},{'type':'identifier','identifier':0x4}]}]},'applicable_industries':['crowdfunding','retail','subscription'],'relevant_risks':['R-X1-17','R-C1-03'],'creation_notes':['TWO\x20POLARITIES,\x20ONE\x20AGGREGATE:\x20RELEASE\x20(this\x20example_root)\x20uses\x20logic_as_u256_greater_or_equal[sum_where,\x20threshold];\x20REFUND\x20swaps\x20that\x20leaf\x20to\x20logic_as_u256_lesser[sum_where,\x20threshold].\x20Both\x20AND\x20the\x20SAME\x20deadline\x20leaf,\x20so\x20they\x20are\x20mutually\x20exclusive\x20—\x20exactly\x20one\x20is\x20satisfiable\x20once\x20Clock\x20>=\x20deadline\x20(the\x20D-BUG-2\x20escrow-exit\x20polarity\x20specialized\x20to\x20a\x20funding\x20gate).\x20Mount\x20the\x20release\x20polarity\x20on\x20the\x20→funded_released\x20forward\x20and\x20the\x20refund\x20polarity\x20on\x20the\x20→missed_refunded\x20forward.','SUM-FORM\x20(query\x201174):\x20query_repository_data_sum_where\x20returns\x20U256\x20=\x20the\x20sum\x20of\x20the\x20numeric\x20payloads\x20of\x20the\x20matching\x20candidate\x20rows\x20(checked_add,\x20overflow-safe).\x20Each\x20contribution\x20row\x27s\x20VALUE\x20is\x20the\x20contribution\x20amount;\x20the\x20where\x20{kind:\x27range\x27,\x20valueMin:\x271\x27}\x20predicate\x20counts\x20every\x20positive\x20contribution.\x20Predicate\x20bounds\x20and\x20the\x20threshold\x20are\x20PLAIN\x20NUMBER\x20STRINGS\x20with\x20U256\x20semantics.','🔴\x20CANDIDATE\x20IDS\x20ARE\x20KEEPER-ATTESTED\x20(the\x20honest\x20boundary,\x20L-04):\x20the\x20ids\x20row\x20(identifier\x202)\x20is\x20verifier-supplied\x20(b_submission\x20VecAddress,\x20max\x20100,\x20deduped)\x20—\x20the\x20keeper\x20enumerates\x20the\x20campaign\x27s\x20contributor\x20rows\x20via\x20find-where\x20(1176)\x20/\x20keys-where\x20(1177).\x20The\x20aggregate\x20is\x20therefore\x20a\x20sum\x20over\x20an\x20ATTESTED\x20roster,\x20NOT\x20an\x20independent\x20re-computation\x20of\x20every\x20escrow\x20balance,\x20and\x20a\x20campaign\x20with\x20>100\x20contributors\x20needs\x20the\x20roster\x20split\x20across\x20settlements.\x20Never\x20present\x20the\x20total\x20as\x20a\x20chain-verified\x20custody\x20proof.','WRITE-SIDE\x20BINDING\x20IS\x20MANDATORY\x20(R-X1-17,\x20existence-is-not-trust):\x20the\x20contribution\x20rows\x20MUST\x20be\x20written\x20under\x20pattern.repository_write_authorization\x20with\x20an\x20identity\x20leaf\x20(order.owner\x20==\x20Signer\x20/\x20order.agent\x20has\x20Signer)\x20so\x20a\x20funder\x20can\x20only\x20record\x20their\x20OWN\x20contribution\x20—\x20an\x20unbound\x20write_guard\x20makes\x20the\x20aggregate\x20forgeable\x20and\x20the\x20threshold\x20meaningless.','ABSOLUTE\x20DEADLINE,\x20NOT\x20PER-ORDER:\x20identifier\x204\x20is\x20a\x20single\x20campaign-wide\x20epoch-ms\x20timestamp\x20(pattern.time_lock_absolute\x20shape).\x20Do\x20NOT\x20anchor\x20on\x20progress.history.time\x20(1280)\x20entry+duration\x20here\x20—\x20that\x20would\x20give\x20each\x20funder\x20a\x20different\x20deadline\x20measured\x20from\x20when\x20they\x20pledged.\x20For\x20a\x20real-world\x20calendar\x20deadline\x20bind\x20pattern.time_source_repository_oracle\x20and\x20document\x20the\x20time\x20source.','QUOTE_GUARD\x20CARRY\x20(MOV-PROTOCOL-1212\x20C):\x20if\x20the\x20contribution\x20policy\x20key\x20is\x20protected\x20by\x20a\x20quote_guard,\x20the\x20passport\x20verifying\x20this\x20gate\x20MUST\x20carry\x20it\x20in\x20its\x20impack\x20list\x20—\x20the\x20sum-where\x20(1174)\x20and\x20the\x20keys-where\x20scan\x20(1177)\x20abort\x20otherwise.\x20Leave\x20the\x20contribution\x20policy\x20unprotected\x20(the\x20raise\x20total\x20is\x20public,\x20not\x20a\x20secret)\x20so\x20settlement\x20stays\x20simple.','TASK-BINDING\x20SLOT\x20(identifier\x20254):\x20declared\x20(b_submission=true)\x20because\x20this\x20guard\x20is\x20bound\x20to\x20a\x20task-guarded\x20machine\x20forward\x20—\x20the\x20passport\x20builder\x20drops\x20undeclared\x20slots\x20and\x20Guards\x20are\x20immutable,\x20so\x20an\x20undeclared\x20254\x20bricks\x20the\x20published\x20Machine\x20(TASKBIND-01).',PROTOCOL_SLOT_254_NOTE],'example_use_case':'All-or-nothing\x20campaign:\x20200\x20backers\x20each\x20escrow\x20a\x20contribution\x20in\x20their\x20OWN\x20unpooled\x20Allocation\x20and\x20record\x20a\x20'+'writer-bound\x20row\x20in\x20the\x20campaign\x20Repository.\x20At\x20the\x20deadline\x20a\x20keeper\x20enumerates\x20the\x20contributor\x20row\x20ids\x20and\x20'+'advances\x20each\x20order:\x20the\x20release-polarity\x20gate\x20(sum\x20>=\x20goal)\x20fires\x20→funded_released\x20for\x20every\x20backer\x20when\x20the\x20'+'goal\x20is\x20met;\x20the\x20refund-polarity\x20gate\x20(sum\x20<\x20goal)\x20fires\x20→missed_refunded,\x20returning\x20each\x20contribution\x20to\x20its\x20'+'own\x20backer\x20(order-anchored\x20user\x20slot\x200,\x20the\x20submitted\x20Order)\x20when\x20the\x20goal\x20is\x20missed.','verifier_constraint_level':'level3_scene_combined'},{'id':'tpl_repository_review_decision_gate','scene_id':'reward_claim','name':'Merchant\x20review-decision\x20gate','description':'Gates\x20a\x20review\x20bounty\x20on\x20an\x20explicit\x20merchant\x20approval:\x20the\x20claim\x20passes\x20only\x20when\x20the\x20review\x20repository\x27s\x20\x27review_decision\x27\x20policy\x20holds\x20a\x20U64\x20decision\x20row\x20FOR\x20THE\x20SUBMITTED\x20ORDER\x20with\x20value\x20>=\x20the\x20promised\x20payout.\x20The\x20matched-row\x20set\x20is\x20pinned\x20to\x20the\x20submitted\x20order\x20via\x20vec_contains_address,\x20so\x20candidate-list\x20padding\x20cannot\x20borrow\x20another\x20order\x27s\x20approval.\x20Pairs\x20with\x20the\x20compile-emitted\x20write\x20side\x20(review_mode\x20\x27review_reward\x27\x20professional\x20form).','recommended_patterns':['P13'],'parameters':[{'name':'review_repository','type':'address','description':'The\x20review\x20Repository\x20emitted\x20by\x20the\x20build\x20plan\x20(name\x20suffix\x20\x27_review\x27);\x20pass\x20its\x20LocalMark\x20name\x20or\x20address','required':!![]},{'name':'min_payout','type':'number','description':'Approved-payout\x20floor\x20(U64,\x20smallest\x20units)\x20a\x20decision\x20row\x20must\x20carry\x20to\x20count\x20as\x20approval\x20—\x20set\x20it\x20to\x20the\x20promised\x20per-order\x20bounty','required':!![],'constraint':'Plain\x20number\x20string\x20(U256\x20semantics),\x20e.g.\x20\x271000000000\x27.\x20Must\x20equal\x20the\x20payout\x20the\x20reward\x20claim\x20actually\x20pays'}],'example_table':[{'identifier':0x0,'b_submission':!![],'value_type':'Address','object_type':'Order','name':'Claimed\x20order\x20(submission\x20slot\x200\x20—\x20also\x20the\x20replay\x20stamp\x20slot)'},{'identifier':0x1,'b_submission':![],'value_type':'Address','value':'${review_repository}','name':'Review\x20Repository\x20(plan-bound\x20—\x20NEVER\x20a\x20buyer-submitted\x20row)'},{'identifier':0x2,'b_submission':![],'value_type':'String','value':'review_decision','name':'Decision\x20policy\x20key'},{'identifier':0x3,'b_submission':!![],'value_type':'VecAddress','name':'Candidate\x20decision\x20rows\x20(buyer\x20submits\x20[order];\x20padding\x20is\x20neutralized\x20by\x20the\x20membership\x20pin)'},{'identifier':0x4,'b_submission':![],'value_type':'U64','value':'${min_payout}','name':'Approved-payout\x20floor'}],'example_root':{'type':'vec_contains_address','nodes':[{'type':'query_repository_data_find_where','object':{'identifier':0x1},'key':{'identifier':0x2},'ids':{'identifier':0x3},'where':{'kind':'range','valueMin':'${min_payout}'}},{'type':'identifier','identifier':0x0}]},'applicable_industries':['ecommerce','education','travel','subscription','freelance'],'relevant_risks':['R-C1-03','R-X1-01'],'creation_notes':['COMPOSITION\x20(professional\x20review_reward\x20claim\x20root):\x20logic_and[\x20identity\x20leg\x20(Signer\x20==\x20order.owner),\x20THIS\x20decision\x20leg,\x20replay\x20leg\x20(structured\x20query_reward_record_exists\x20with\x20the\x20SV-2\x20per-order\x20stamp),\x20BKN-P2\x20positive-amount\x20leg\x20(order.amount\x20>=\x201)\x20].\x20The\x20decision\x20leg\x20ADDS\x20the\x20approval\x20requirement\x20on\x20top\x20of\x20the\x20mandatory\x20replay/idempotency\x20legs\x20—\x20it\x20replaces\x20nothing.','SUBSTITUTION-PROOF\x20BY\x20CONSTRUCTION:\x20the\x20ids\x20row\x20is\x20buyer-submitted,\x20so\x20padding\x20it\x20with\x20foreign\x20approved\x20orders\x20would\x20be\x20trivial\x20—\x20the\x20vec_contains_address\x20pin\x20makes\x20padding\x20USELESS:\x20the\x20matched\x20set\x20must\x20contain\x20the\x20SUBMITTED\x20order\x20(identifier\x200),\x20and\x20a\x20row\x20for\x20that\x20order\x20exists\x20only\x20if\x20the\x20merchant\x20approved\x20it.\x20Never\x20replace\x20the\x20pin\x20with\x20a\x20bare\x20count\x20>=\x201\x20over\x20the\x20candidates\x20(that\x20reopens\x20the\x20borrowed-approval\x20hole).','WRITE\x20SIDE\x20(compile-emitted,\x20do\x20not\x20hand-build):\x20the\x20plan\x20emits\x20guard\x20\x27guard_review_decision\x27\x20(service-provider\x20identity:\x20submitted\x20order\x20belongs\x20to\x20this\x20service,\x20submitted\x20Permission\x20==\x20service.permission,\x20signer\x20is\x20owner/admin)\x20and\x20the\x20repository\x20policy\x20\x27review_decision\x27\x20(id_from=None,\x20value_type=U64,\x20write_guard\x20bound).\x20The\x20merchant\x20approves\x20an\x20order\x20with\x20repository.data_add\x20{name:\x27review_decision\x27,\x20items:[{write_guard:\x27<guard_review_decision>\x27,\x20data:[{id:<order\x20address>,\x20data:<payout\x20U64>}]}]}\x20+\x20a\x20passport\x20submission\x20carrying\x20the\x20order\x20and\x20the\x20permission.','REPOSITORY\x20ROW\x20IS\x20PLAN-BOUND:\x20identifier\x201\x20is\x20a\x20static\x20row\x20resolved\x20to\x20the\x20plan-emitted\x20\x27_review\x27\x20repository\x20—\x20a\x20buyer-submitted\x20repository\x20row\x20would\x20let\x20the\x20claimant\x20present\x20a\x20self-controlled\x20repository\x20with\x20self-written\x20approvals\x20(fail-open).\x20Keep\x20it\x20static/plan-bound.','NO\x20QUOTE_GUARD\x20on\x20\x27review_decision\x27:\x20the\x20where-scan\x20(1176)\x20aborts\x20if\x20the\x20scanned\x20policy\x20is\x20quote-guard-protected\x20and\x20the\x20claim\x20passport\x20does\x20not\x20carry\x20it\x20in\x20its\x20impack\x20list.\x20Decision\x20rows\x20are\x20payout\x20amounts,\x20not\x20secrets\x20—\x20leave\x20the\x20policy\x20unprotected\x20so\x20claims\x20stay\x20simple.','UPPER\x20BOUND\x20IS\x20THE\x20PROMISE:\x20a\x20decision\x20row\x20value\x20BELOW\x20min_payout\x20does\x20not\x20pass\x20(partial\x20approval),\x20and\x20the\x20claim\x20pays\x20the\x20reward\x27s\x20fixed\x20per-claim\x20amount\x20regardless\x20—\x20set\x20min_payout\x20equal\x20to\x20the\x20promised\x20bounty\x20so\x20\x27approved\x27\x20and\x20\x27paid\x27\x20never\x20diverge.\x20Zero-value\x20rows\x20approve\x20nothing\x20(BKN-P2\x20keeps\x20zero-total\x20orders\x20out\x20entirely).'],'example_use_case':'Travel\x20service\x20with\x20a\x20review\x20bounty:\x20after\x20delivery\x20the\x20merchant\x20checks\x20the\x20review\x20and\x20writes\x20a\x20U64\x20approval\x20row\x20for\x20the\x20order\x20(>=\x20the\x20promised\x20bounty).\x20The\x20buyer\x27s\x20claim\x20passes\x20only\x20when\x20that\x20row\x20exists\x20for\x20THEIR\x20order\x20—\x20no\x20approval,\x20no\x20payout;\x20a\x20padded\x20candidate\x20list\x20borrows\x20nothing.','verifier_constraint_level':'level3_scene_combined'},{'id':'tpl_reward_not_claimed','scene_id':'reward_claim','name':'Reward\x20not-claimed\x20replay\x20gate','description':'Minimal\x20once-per-recipient\x20replay\x20gate\x20for\x20a\x20Reward\x20claim:\x20passes\x20only\x20when\x20no\x20reward\x20record\x20exists\x20yet\x20for\x20the\x20claiming\x20signer\x20on\x20the\x20submitted\x20Reward\x20object.\x20Zero-parameter\x20building\x20block\x20—\x20compose\x20with\x20progress-node\x20and\x20identity\x20legs\x20(see\x20tpl_combined_reward_guard)\x20for\x20a\x20production\x20claim\x20guard.','recommended_patterns':['P13'],'parameters':[],'example_table':[{'identifier':0x0,'b_submission':!![],'value_type':'Address','object_type':'Reward','name':'Reward\x20object\x20being\x20claimed\x20from\x20(submitted\x20by\x20verifier\x20at\x20runtime)'}],'example_root':{'type':'logic_not','node':{'type':'query_reward_record_exists','object':{'identifier':0x0},'where':{}}},'applicable_industries':['ecommerce','education','travel','subscription','freelance'],'relevant_risks':['R-C1-03','R-X1-01'],'creation_notes':['REPLAY\x20GATE\x20ONLY\x20(C11):\x20this\x20root\x20answers\x20exactly\x20one\x20question\x20—\x20has\x20THIS\x20signer\x20already\x20claimed\x20THIS\x20Reward?\x20It\x20carries\x20no\x20workflow\x20or\x20identity\x20teeth;\x20a\x20guard\x20made\x20of\x20only\x20this\x20leg\x20lets\x20any\x20address\x20holding\x20any\x20order\x20at\x20any\x20node\x20claim\x20first.\x20Compose\x20with\x20a\x20progress-node\x20leg\x20and\x20a\x20Signer==order.owner\x20leg\x20(see\x20tpl_combined_reward_guard)\x20before\x20binding\x20a\x20funded\x20pool.','STRUCTURED\x20NODE\x20FORM\x20(klk-mn-261013\x20F-05):\x20the\x20SDK\x20encodes\x20where:{}\x20as\x20[VecU8\x20marker][all-None\x20RecordQueryConditions];\x20recipient\x20defaults\x20to\x20the\x20Signer,\x20so\x20no\x20recipient\x20submission\x20row\x20is\x20needed.\x20NEVER\x20hand-write\x20the\x20raw\x20identifier\x20form\x20with\x20an\x20empty\x20VecU8\x20constant\x20—\x20empty\x20query\x20bytes\x20are\x20rejected\x20by\x20the\x20native\x20with\x20an\x20uncoded\x20MovePrimitiveRuntimeError\x20(\x27Query\x20bytes\x20is\x20empty\x27).','STAMP\x20(UPW-K7,\x20slot-aware):\x20even\x20a\x20once-per-recipient\x20gate\x20consumes\x20claim\x20records,\x20so\x20its\x20reward\x20guard_add\x20entry\x20needs\x20a\x20store_from_id\x20—\x20the\x20MCP\x20stamp\x20gate\x20rejects\x20unstamped\x20record-consuming\x20entries.\x20For\x20THIS\x20template\x27s\x20lifetime-once\x20scope\x20the\x20stamp\x20slot\x20is\x20the\x20submitted\x20Reward\x20address\x20(slot\x200\x20—\x20a\x20constant\x20per\x20pool,\x20so\x20the\x20native\x20once-slot\x20stays\x20per-(recipient,\x20guard));\x20for\x20PER-ORDER\x20scope\x20use\x20the\x20order-scoped\x20variant\x20instead\x20(where.storeFromId\x20+\x20the\x20submitted\x20Order\x20address\x20stamp\x20—\x20see\x20tpl_reward_one_time_claim\x20/\x20tpl_combined_reward_guard,\x20SV-2).\x20On-chain\x20an\x20unstamped\x20entry\x20is\x20accepted\x20but\x20writes\x20records\x20with\x20store_from\x20=\x20none,\x20which\x20matches\x20no\x20storeFromId\x20predicate\x20—\x20that\x20unstamped\x20shape\x20is\x20the\x20ONLY\x20context\x20where\x20the\x20ofn-mn-261012\x20F-01\x20\x27filter\x20is\x20inert\x27\x20verdict\x20ever\x20held\x20(azx7-mn-261014\x20live\x20T8\x20disproved\x20the\x20blanket\x20retraction).','Reward\x20guard\x20is\x20immutable\x20once\x20the\x20Reward\x20object\x20is\x20published\x20—\x20verify\x20this\x20guard\x20against\x20a\x20realistic\x20passport\x20BEFORE\x20publish\x20(F-03:\x20a\x20wrong\x20bound\x20guard\x20can\x20permanently\x20brick\x20the\x20claim\x20path).'],'example_use_case':'A\x20referral\x20bounty\x20pool:\x20the\x20first\x20claim\x20from\x20any\x20given\x20address\x20passes\x20the\x20not-claimed\x20gate;\x20a\x20second\x20claim\x20attempt\x20by\x20the\x20same\x20address\x20aborts\x20because\x20a\x20reward\x20record\x20already\x20exists\x20for\x20that\x20recipient.','verifier_constraint_level':'level3_scene_combined'},{'id':'tpl_combined_reward_guard','scene_id':'reward_claim','name':'Combined\x20reward\x20claim\x20guard\x20(node\x20+\x20owner\x20+\x20not-claimed)','description':'Production\x20reward\x20claim\x20gate:\x20order\x20at\x20the\x20expected\x20progress\x20node\x20+\x20signer\x20is\x20the\x20order\x20owner\x20+\x20reward\x20not\x20yet\x20claimed\x20by\x20this\x20signer.\x20The\x20three\x20legs\x20of\x20tpl_reward_one_time_claim\x27s\x20order-state\x20family,\x20as\x20a\x20standalone\x20composable\x20template.','recommended_patterns':['P07','P13'],'parameters':[{'name':'expected_node','type':'string','description':'Machine\x20node\x20name\x20at\x20which\x20claiming\x20is\x20allowed\x20(e.g.\x20\x27reviewed\x27)','required':!![]}],'example_table':[{'identifier':0x0,'b_submission':!![],'value_type':'Address','object_type':'Order','name':'Order\x20object\x20address\x20(submitted\x20by\x20verifier\x20at\x20runtime)'},{'identifier':0x1,'b_submission':![],'value_type':'String','value':'${expected_node}','name':'Expected\x20pre-claim\x20node\x20name\x20(e.g.\x20\x27reviewed\x27)'},{'identifier':0x2,'b_submission':!![],'value_type':'Address','object_type':'Reward','name':'Reward\x20object\x20being\x20claimed\x20from\x20(submitted\x20by\x20verifier\x20at\x20runtime)'}],'example_root':{'type':'logic_and','nodes':[{'type':'logic_string_nocase_equal','nodes':[{'type':'query','query':'progress.current','object':{'identifier':0x0,'convert_witness':'OrderProgress'},'parameters':[]},{'type':'identifier','identifier':0x1}]},{'type':'logic_equal','nodes':[{'type':'context','context':'Signer'},{'type':'query','query':'order.owner','object':{'identifier':0x0},'parameters':[]}]},{'type':'logic_not','node':{'type':'query_reward_record_exists','object':{'identifier':0x2},'where':{'storeFromId':{'identifier':0x0}}}}]},'applicable_industries':['ecommerce','education','travel','subscription','freelance'],'relevant_risks':['R-C1-03','R-X1-01','R-X1-10'],'creation_notes':['THREE\x20LEGS,\x20THREE\x20THEFT\x20PATHS\x20CLOSED:\x20the\x20progress-node\x20leg\x20blocks\x20claiming\x20before\x20the\x20workflow\x20reaches\x20the\x20claim\x20point;\x20the\x20identity\x20leg\x20blocks\x20a\x20non-owner\x20holding/forwarding\x20an\x20order\x20at\x20the\x20right\x20node\x20from\x20draining\x20the\x20pool\x20(audit-261012\x20B5);\x20the\x20not-claimed\x20leg\x20blocks\x20a\x20second\x20claim\x20by\x20the\x20same\x20signer.\x20Dropping\x20any\x20single\x20leg\x20reopens\x20its\x20path.','ZERO-VALUE\x20ORDER\x20CAUTION\x20(BKN-P2):\x20unlike\x20tpl_reward_one_time_claim\x20this\x20root\x20does\x20NOT\x20carry\x20the\x20order.amount\x20>=\x201\x20positive-amount\x20leg\x20—\x20add\x20it\x20when\x20the\x20pool\x20pays\x20per\x20order\x20and\x20zero-total\x20orders\x20(100%-off\x20coupons)\x20must\x20never\x20trigger\x20the\x20incentive.','REPLAY\x20GATE\x20(SV-2,\x20azx7-mn-261014\x20live\x20T8):\x20this\x20root\x20scopes\x20the\x20claim-records\x20query\x20BY\x20THE\x20ORDER\x20—\x20where.storeFromId\x20references\x20slot\x200\x20(the\x20submitted\x20Order\x20address),\x20the\x20same\x20slot\x20the\x20guard_add\x20entry\x20stamps:\x20once\x20per\x20buyer\x20per\x20ORDER.\x20NEVER\x20hand-write\x20the\x20raw\x20identifier\x20form\x20with\x20an\x20empty\x20VecU8\x20constant\x20(uncoded\x20MovePrimitiveRuntimeError\x20\x27Query\x20bytes\x20is\x20empty\x27\x20at\x20first\x20verification).','STAMP\x20+\x20FILTER\x20PAIR\x20(SV-2):\x20the\x20reward.guard_add\x20store_from_id\x20STAMP\x20and\x20the\x20where.storeFromId\x20QUERY\x20FILTER\x20are\x20DIFFERENT\x20fields\x20and\x20BOTH\x20are\x20required\x20for\x20the\x20per-order\x20scope\x20—\x20the\x20STAMP\x20makes\x20each\x20claim\x20record\x20key\x20on\x20the\x20submitted\x20Order\x20address;\x20the\x20FILTER\x20matches\x20records\x20by\x20that\x20same\x20value.\x20A\x20record-consuming\x20guard\x20(this\x20template)\x20MUST\x20be\x20added\x20with\x20store_from_id\x20=\x200\x20(the\x20submitted\x20Order/claimant\x20slot)\x20—\x20the\x20MCP\x20guard_add\x20stamp\x20gate\x20(UPW-K7)\x20REJECTS\x20the\x20unstamped\x20entry;\x20on-chain\x20the\x20unstamped\x20entry\x20is\x20accepted\x20but\x20writes\x20records\x20with\x20store_from\x20=\x20none,\x20which\x20matches\x20no\x20storeFromId\x20predicate\x20—\x20that\x20unstamped\x20shape\x20is\x20the\x20ONLY\x20context\x20where\x20the\x20ofn-mn-261012\x20F-01\x20\x27filter\x20is\x20inert\x27\x20verdict\x20ever\x20held\x20(azx7-mn-261014\x20live\x20T8\x20disproved\x20the\x20blanket\x20retraction).\x20Re-adding\x20the\x20SAME\x20guard\x20overwrites\x20its\x20slot\x20in\x20place,\x20so\x20live\x20pools\x20are\x20repairable.','IDENTITY\x20LEG\x20(mandatory\x20regardless\x20of\x20chain\x20patch\x20state):\x20claim()\x20pays\x20Recipient::Signer\x20(tx_context::sender)\x20with\x20no\x20order\x20binding\x20of\x20its\x20own\x20—\x20without\x20the\x20order.owner\x20identity\x20leg\x20any\x20address\x20holding\x20any\x20order\x20at\x20the\x20required\x20node\x20drains\x20the\x20pool\x20(audit-261012\x20B5).\x20The\x20MOV-PROTOCOL-1212\x20chain\x20patch\x20adds\x20recipient==signer\x20and\x20a\x20per-(recipient,\x20guard,\x20store_from)\x20once-slot\x20as\x20the\x20SECOND\x20line\x20—\x20a\x20replay\x20with\x20the\x20registered\x20guard\x20still\x20aborts\x20at\x20the\x20passport\x20layer\x20FIRST\x20(E_VERIFY_FAILED=7);\x20check\x20the\x20patch\x27s\x20deployment\x20freshness\x20via\x20wowok_buildin_info\x20upgrade_check\x20(DEPLOY-K1).','Reward\x20guard\x20is\x20immutable\x20once\x20the\x20Reward\x20object\x20is\x20published\x20—\x20verify\x20this\x20guard\x20against\x20a\x20realistic\x20passport\x20BEFORE\x20publish\x20(F-03:\x20a\x20wrong\x20bound\x20guard\x20can\x20permanently\x20brick\x20the\x20claim\x20path).','ADJUDICATED\x20DESIGN\x20(upwc-mn-261013\x20③)\x20—\x20REVIEW-THEN-CLAIM-THEN-COMPLETE\x20ordering:\x20the\x20standard\x20flow\x20writes\x20the\x20repository\x20review\x20row\x20FIRST,\x20fires\x20the\x20reward\x20claim\x20SECOND,\x20and\x20only\x20then\x20advances\x20the\x20machine\x20to\x20completed.\x20A\x20test/report\x20line\x20reading\x20\x27review\x20written\x20before\x20complete\x27\x20describes\x20the\x20designed\x20order,\x20not\x20a\x20defect\x20(KL-C5\x20review-window\x20idiom\x20family).','SCOPE\x20SPLIT\x20(SV-2):\x20this\x20root\x27s\x20order-scoped\x20gate\x20=\x20once\x20per\x20buyer\x20per\x20ORDER\x20(the\x20buyer\x27s\x20next\x20order\x20still\x20claims);\x20swap\x20where.storeFromId\x20for\x20an\x20EMPTY\x20where\x20({})\x20ONLY\x20for\x20deliberate\x20one-bounty-per-buyer\x20designs\x20—\x20it\x20silently\x20kills\x20the\x20buyer\x27s\x20second\x20order\x20(upw-mn-261014\x20F-48).\x20For\x20a\x20chain-enforced\x20per-order\x20once\x20immune\x20to\x20guard-tree\x20mistakes,\x20route\x20the\x20incentive\x20through\x20an\x20Allocation\x20leg\x20gated\x20on\x20protocol\x20slot\x20254\x20instead.'],'example_use_case':'Review\x20bounty\x20with\x20full\x20protection:\x20fan\x20finishes\x20review\x20(node\x20\x27reviewed\x27),\x20submits\x20the\x20Order\x20and\x20the\x20Reward\x20address;\x20the\x20claim\x20passes\x20only\x20for\x20the\x20order\x20owner\x20at\x20the\x20reviewed\x20node\x20who\x20has\x20never\x20claimed\x20this\x20pool.\x20Every\x20other\x20path\x20aborts\x20and\x20the\x20balance\x20stays.','verifier_constraint_level':'level3_scene_combined'},{'id':'tpl_write_guard_type_check','scene_id':'repository_write_guard','name':'Storage\x20write\x20type\x20validation','description':'Verifies\x20that\x20the\x20data\x20type\x20written\x20to\x20the\x20Repository\x20matches\x20the\x20declaration\x20and\x20that\x20the\x20writer\x27s\x20identity\x20is\x20legitimate.','recommended_patterns':['P08','P11'],'parameters':[{'name':'repository_address','type':'address','description':'Repository\x20object\x20address','required':![],'constraint':'Must\x20be\x20the\x20address\x20of\x20an\x20already-published\x20Repository'},{'name':'entity_registrar','type':'address','description':'EntityRegistrar\x20address\x20(fixed\x200xaab)','required':![],'default':'0xaab'}],'example_table':[{'identifier':0x0,'b_submission':!![],'value_type':'Address','name':'Writer\x20address\x20(submitted\x20by\x20caller)','binding_constraint':'Must\x20be\x20a\x20valid\x20Entity\x20address'},{'identifier':0x1,'b_submission':!![],'value_type':'String','name':'Write\x20data\x20key\x20name\x20(submitted\x20by\x20caller)','binding_constraint':'Key\x20name\x20format\x20must\x20be\x20\x27category:key\x27'},{'identifier':0x2,'b_submission':![],'value_type':'Address','value':'${entity_registrar}','name':'EntityRegistrar\x20system\x20address','is_system_address':!![]}],'example_root':{'type':'logic_and','nodes':[{'type':'logic_equal','nodes':[{'type':'context','context':'Signer'},{'type':'identifier','identifier':0x0}]},{'type':'logic_not','node':{'type':'logic_equal','nodes':[{'type':'identifier','identifier':0x0},{'type':'identifier','identifier':0x2}]}}]},'applicable_industries':['ecommerce','education','travel','subscription','rental'],'relevant_risks':['R-C1-02','R-C3-03','R-C3-04'],'creation_notes':['id_from_submission\x20in\x20write_guard\x20must\x20be\x20of\x20Address\x20type','data_from_submission\x20must\x20match\x20the\x20Repository\x20value_type','EntityRegistrar\x20(0xaab)\x20and\x20EntityLinker\x20(0xaaa)\x20are\x20fixed\x20system\x20addresses'],'example_use_case':'E-commerce\x20platform\x20merchant\x20writes\x20product\x20review\x20data;\x20the\x20Guard\x20verifies\x20that\x20the\x20writer\x20is\x20a\x20registered\x20Entity\x20and\x20not\x20a\x20system\x20address.','verifier_constraint_level':'level1_strict'},{'id':'tpl_usage_guard_threshold','scene_id':'arbitration_usage_guard','name':'Dispute\x20initiation\x20threshold\x20validation','description':'Verifies\x20that\x20the\x20dispute\x20initiator\x20meets\x20minimum\x20conditions\x20(e.g.\x20order\x20amount,\x20time\x20window),\x20filtering\x20out\x20meaningless\x20disputes.','recommended_patterns':['P02','P10'],'parameters':[{'name':'min_amount','type':'number','description':'Minimum\x20dispute\x20amount\x20threshold','required':!![],'constraint':'A\x20reasonable\x20threshold\x20is\x20recommended;\x20too\x20high\x20hinders\x20user\x20rights\x20protection,\x20too\x20low\x20produces\x20many\x20invalid\x20disputes'}],'example_table':[{'identifier':0x0,'b_submission':!![],'value_type':'Address','name':'Dispute-related\x20Order\x20object\x20address','object_type':'Order'},{'identifier':0x1,'b_submission':![],'value_type':'U64','value':'${min_amount}','name':'Minimum\x20dispute\x20amount\x20threshold'}],'example_root':{'type':'logic_as_u256_greater_or_equal','nodes':[{'type':'query','query':'order.amount','object':{'identifier':0x0},'parameters':[]},{'type':'identifier','identifier':0x1}]},'applicable_industries':['ecommerce','rental','education','travel'],'relevant_risks':['R-X1-01','R-X1-07','R-C3-03'],'creation_notes':['usage_guard\x20is\x20iterable\x20(Arbitration\x20can\x20be\x20updated)','AND\x20conditions\x20should\x20not\x20be\x20too\x20many\x20(R-X1-07);\x20≤3\x20conditions\x20recommended','When\x20Arbitration\x20bPaused=true,\x20blocking\x20takes\x20priority\x20(checked\x20before\x20Guard)'],'example_use_case':'Rental\x20service\x20dispute:\x20only\x20disputes\x20with\x20order\x20amount\x20≥\x2010\x20WOW\x20are\x20accepted,\x20filtering\x20out\x20small-amount\x20conflicts.','verifier_constraint_level':'level3_scene_combined'},{'id':'tpl_voting_guard_numeric_weight','scene_id':'arbitration_voting_guard','name':'Numeric\x20voting\x20weight\x20validation','description':'Panel-membership\x20voting_guard\x20for\x20weighted\x20arbitration\x20panels:\x20the\x20vote\x20passes\x20only\x20when\x20the\x20tx\x20signer\x20is\x20on\x20the\x20authorized\x20arbitrator\x20list\x20(vec_contains_address\x20over\x20the\x20panel\x20vector\x20—\x20the\x20writer-set\x20identity\x20idiom).\x20CHAIN\x20FACT:\x20no\x20address-to-weight\x20lookup\x20primitive\x20exists\x20—\x20the\x20per-vote\x20WEIGHT\x20rides\x20the\x20vote-time\x20binding\x20(FixedValue\x20flat\x20weight,\x20or\x20GuardIdentifier\x20extracting\x20the\x20voter\x27s\x20own\x20submitted\x20value,\x20forgery-prone\x20R-C3-02);\x20arb.voted.weight\x20(id\x201407,\x20U32)\x20only\x20reads\x20back\x20the\x20weight\x20of\x20an\x20ALREADY-CAST\x20vote\x20(audit\x20leg),\x20it\x20cannot\x20assign\x20one.','recommended_patterns':['P12'],'parameters':[{'name':'arbiter_panel','type':'vec_address','description':'Authorized\x20arbitrator\x20address\x20list\x20(VecAddress)\x20the\x20vote\x20caller\x20is\x20checked\x20against','required':!![]}],'example_table':[{'identifier':0x0,'b_submission':![],'value_type':'Vec<Address>','value':'${arbiter_panel}','name':'Authorized\x20arbitrator\x20address\x20list'}],'example_root':{'type':'vec_contains_address','nodes':[{'type':'identifier','identifier':0x0},{'type':'context','context':'Signer'}]},'applicable_industries':['ecommerce','rental','education','travel'],'relevant_risks':['R-C3-02','R-C2-01','R-C2-02'],'creation_notes':['The\x20GuardIdentifier\x20for\x20voting_guard\x20must\x20be\x20numeric\x20(U8-U256),\x20otherwise\x20E_GUARD_IDENTIFIER_NOT_NUMBER','Caller\x20identity\x20is\x20the\x20tx\x20Signer\x20context\x20—\x20never\x20a\x20voter-submitted\x20address\x20row\x20(a\x20b_submission=true\x20identity\x20carries\x20forgery\x20risk,\x20R-C3-02\x20critical)','SHAPE:\x20vec_contains_address\x20takes\x20a\x20NODES\x20ARRAY\x20—\x20nodes[0]\x20the\x20VecAddress\x20panel\x20vector,\x20nodes[1]\x20the\x20Signer\x20context.\x20The\x20former\x20vec/target\x20key\x20shape\x20was\x20never\x20a\x20chain\x20or\x20schema\x20shape\x20(batch-26\x20③-d\x20B-2\x20allowlist\x20exit)','Weight\x20sources\x20on\x20chain:\x20FixedValue\x20(flat)\x20or\x20GuardIdentifier\x20(per-voter\x20submitted,\x20R-C3-02);\x20arb.voted.weight\x20(1407)\x20is\x20a\x20post-vote\x20readback\x20—\x20tiered\x20panels\x20express\x20rank\x20through\x20the\x20vote\x20binding\x20/\x20the\x20machine\x20flow\x20(tpl_machine_weighted_voting),\x20never\x20through\x20a\x20lookup\x20in\x20this\x20guard'],'example_use_case':'3-person\x20arbitration\x20panel:\x20only\x20listed\x20arbitrators\x20may\x20vote\x20(this\x20guard);\x20the\x20chief-3\x20/\x20regular-1\x20weights\x20ride\x20the\x20vote-time\x20binding,\x20and\x20the\x20majority\x20threshold\x20is\x20counted\x20Arb-side.','verifier_constraint_level':'level2_identity_set'},{'id':'tpl_voting_guard_open_vote','scene_id':'arbitration_voting_guard','name':'Open-vote\x20gate\x20(any\x20Passport\x20holder,\x20flat\x20fixed\x20weight)','description':'The\x20standard\x20voting_guard\x20for\x20a\x20PUBLIC\x20arbitration\x20venue:\x20an\x20always-true\x20guard\x20paired\x20with\x20a\x20'+'FixedValue\x20weight,\x20so\x20every\x20Passport\x20holder\x20may\x20vote\x20and\x20every\x20vote\x20counts\x20at\x20the\x20same\x20weight.\x20'+'This\x20is\x20the\x20sanctioned\x20fix\x20for\x20the\x20F-36\x20vote-lock:\x20an\x20Arbitration\x20whose\x20voting_guard\x20is\x20EMPTY\x20'+'does\x20NOT\x20have\x20open\x20voting\x20—\x20plain\x20votes\x20then\x20hard-require\x20the\x20vote\x20permission\x20(358)\x20on\x20the\x20'+'arbitration\x27s\x20Permission,\x20which\x20by\x20default\x20only\x20the\x20creator-admin\x20holds,\x20so\x20a\x20dispute\x20'+'dead-locks\x20when\x20that\x20admin\x20is\x20unresponsive\x20(R-ARB-VOTE-LOCK\x20blocks\x20the\x20service\x20publish).\x20'+'Binding\x20this\x20guard\x20is\x20the\x20honest,\x20explicit\x20way\x20to\x20declare\x20\x27the\x20voter\x20universe\x20is\x20everyone\x27.','recommended_patterns':['P12'],'parameters':[{'name':'vote_weight','type':'number','description':'FixedValue\x20vote\x20weight\x20per\x20passing\x20voter','required':!![],'default':'1','constraint':'u32\x20range\x201-4294967295;\x201\x20=\x20one\x20person\x20one\x20vote.\x20Weighted\x20panels\x20(rank/token\x20tiers)\x20need\x20tpl_voting_guard_numeric_weight\x20instead'}],'example_table':[{'identifier':0x0,'b_submission':![],'value_type':'Bool','value':!![],'name':'Open\x20vote\x20—\x20every\x20Passport\x20holder\x20passes\x20(Bool\x20table\x20constants\x20are\x20RAW\x20booleans;\x20the\x20string\x20\x22true\x22\x20fails\x20creation:\x20value_type=0\x20requires\x20a\x20boolean\x20—\x20klook-mn-261019\x20KLM-FIND-04)'}],'example_root':{'type':'identifier','identifier':0x0},'applicable_industries':['community','public_goods','ecommerce','rental','travel','education'],'relevant_risks':['R-X1-17'],'creation_notes':['R-ARB-VOTE-LOCK:\x20an\x20EMPTY\x20voting_guard\x20is\x20NOT\x20open\x20voting\x20—\x20plain\x20votes\x20hard-require\x20the\x20vote\x20permission\x20(358),\x20admin-only\x20by\x20default,\x20and\x20a\x20dispute\x20dead-locks\x20when\x20the\x20admin\x20is\x20unresponsive\x20(crs9-F-36).\x20This\x20guard\x20is\x20the\x20declared\x20fix;\x20the\x20voting_guard\x20field\x20stays\x20mutable\x20after\x20publish\x20(op=\x27set\x27)','DEFAULT\x20PRESCRIPTION\x20(B10,\x20ksg-mn-261022):\x20build\x20plans\x20treat\x20binding\x20THIS\x20guard\x20as\x20the\x20default\x20post-deploy\x20step\x20for\x20any\x20venue\x20meant\x20to\x20accept\x20community\x20votes\x20(arbitration_unpause\x20then\x20voting_guard_open_vote);\x20a\x20deliberately\x20closed\x20panel\x20is\x20the\x20exception\x20and\x20binds\x20tpl_voting_guard_numeric_weight\x20instead\x20—\x20never\x20leave\x20the\x20field\x20empty\x20by\x20omission','Once\x20voting_guard\x20is\x20non-empty,\x20every\x20vote\x20call\x20MUST\x20carry\x20the\x20voting_guard\x20in\x20its\x20payload\x20(guard\x20reference\x20+\x20the\x20voter\x27s\x20Passport\x20credential);\x20a\x20plain\x20vote\x20aborts\x20on-chain\x20with\x20E_VOTING_GUARD_USED\x20(abort\x202)','The\x20constant-true\x20root\x20is\x20a\x20TAUTOLOGY\x20BY\x20DESIGN\x20—\x20under\x20the\x20vote\x20binding\x20hint\x20the\x20analyzer\x20grades\x20it\x20low/info\x20(the\x20declared\x20voter\x20universe);\x20without\x20a\x20binding\x20hint\x20the\x20generic\x20R-X1-17\x20warning\x20fires,\x20which\x20is\x20expected\x20for\x20an\x20unbound\x20draft','Weight\x20semantics:\x20FixedValue\x20=\x20flat\x20weight\x20per\x20passing\x20voter;\x20GuardIdentifier\x20would\x20extract\x20a\x20per-voter\x20weight\x20from\x20the\x20voter\x27s\x20own\x20submission\x20(forgery-prone\x20—\x20prefer\x20FixedValue\x20for\x20open\x20votes,\x20R-C3-02).\x20Weighted\x20panels\x20(rank/token\x20tiers)\x20belong\x20in\x20tpl_voting_guard_numeric_weight','Mainnet-verified\x20(crs9\x20D3,\x202026-10-15):\x20a\x20guard\x20of\x20exactly\x20this\x20shape\x20carried\x20the\x20arbitration\x20vote;\x20ballots\x20counted\x20at\x20weight\x201\x20through\x20the\x20open\x20voting_guard'],'example_use_case':'A\x20third-party\x20arbitration\x20venue\x20for\x20a\x20marketplace\x20service:\x20any\x20community\x20member\x20may\x20vote\x20on\x20disputes,\x20one\x20vote\x20each,\x20and\x20vote\x20counting\x20never\x20depends\x20on\x20a\x20single\x20admin\x20staying\x20responsive.','verifier_constraint_level':'level3_scene_combined'},{'id':'tpl_forward_arb_ruling_won','scene_id':'machine_forward_guard','name':'Arbitration\x20ruling-won\x20refund\x20gate\x20(stable\x20indemnity\x20state,\x20two-slot\x20order+arb)','description':'Guard\x20for\x20a\x20Machine\x20forward\x20that\x20pays\x20a\x20refund\x20when\x20the\x20buyer\x20WON\x20the\x20arbitration\x20'+'(e.g.\x20a\x20booking\x20\x27arb_refund\x27\x20edge\x20from\x20disputed\x20→\x20refunded).\x20The\x20verifier\x20submits\x20BOTH\x20'+'the\x20Order\x20address\x20(slot\x200)\x20and\x20the\x20Arb\x20case\x20object\x20address\x20(slot\x201);\x20the\x20gate\x20checks:\x20'+'(1)\x20arb.order\x20==\x20order\x20—\x20the\x20Arb\x20case\x20IS\x20this\x20order\x27s\x20dispute,\x20(2)\x20arb.indemnity\x20some\x20==\x20true\x20'+'(Bool\x20—\x20set\x20by\x20the\x20ruling;\x20arb_withdraw\x20sweeps\x20ONLY\x20the\x20fee\x20balance\x20and\x20never\x20touches\x20it,\x20so\x20a\x20fee\x20'+'withdrawal\x20cannot\x20clear\x20it;\x20a\x20reset\x20(objection\x20cycle)\x20clears\x20it,\x20correctly\x20re-gating\x20an\x20'+'overturned\x20ruling),\x20and\x20(3)\x20arb.indemnity.amount\x20!=\x200\x20—\x20a\x20Some(0)\x20MERCHANT-favor\x20ruling\x20passes\x20'+'presence\x20but\x20is\x20rejected\x20here\x20(rex-mn-261021\x20T5\x20live:\x20a\x20presence-only\x20root\x20let\x20the\x20defeated\x20buyer\x20'+'pull\x20the\x20refund),\x20so\x20the\x20edge\x20opens\x20only\x20on\x20an\x20ENFORCED\x20buyer\x20award;\x20a\x20None\x20amount\x20fails\x20closed\x20'+'via\x20the\x20native\x20query\x20error.\x20The\x20two-slot\x20form\x20makes\x20the\x20pair\x20'+'self-certifying:\x20a\x20merchant\x20holding\x20a\x20favourable\x20ruling\x20on\x20their\x20own\x20order\x20cannot\x20pair\x20it\x20'+'with\x20a\x20victim\x20order\x27s\x20address\x20to\x20redirect\x20that\x20victim\x27s\x20escrow\x20(F-02).','recommended_patterns':['P06','P09'],'parameters':[],'example_table':[{'identifier':0x0,'b_submission':!![],'value_type':'Address','object_type':'Order','name':'Order\x20address\x20(recipient\x20—\x20must\x20equal\x20payment_info.for_object;\x20submitted\x20by\x20the\x20forward\x20executor)'},{'identifier':0x1,'b_submission':!![],'value_type':'Address','object_type':'Arb','name':'Arb\x20case\x20object\x20address\x20(submitted\x20by\x20the\x20forward\x20executor\x20at\x20runtime)'},{'identifier':0x2,'b_submission':![],'value_type':'Bool','value':!![],'name':'Expected\x20indemnity\x20PRESENCE\x20(true\x20=\x20a\x20ruling\x20exists).\x20PAIRED\x20with\x20the\x20zero-award\x20exclusion\x20leg\x20(id\x203):\x20presence\x20alone\x20let\x20a\x20Some(0)\x20merchant-favor\x20ruling\x20through\x20(rex-mn-261021\x20T5),\x20so\x20the\x20shipped\x20amount\x20!=\x200\x20leg\x20makes\x20this\x20gate\x20buyer-won-only'},{'identifier':0x3,'b_submission':![],'value_type':'U64','value':'0','name':'Zero-award\x20constant\x20—\x20the\x20excluded\x20amount\x20(0\x20=\x20merchant-favor\x20ruling)'},{'identifier':0xfe,'b_submission':!![],'value_type':'Address','object_type':'Order','name':'task_binding\x20order\x20anchor\x20(protocol\x20slot\x20254;\x20written\x20by\x20order\x20creation)'}],'example_root':{'type':'logic_and','nodes':[{'type':'logic_equal','nodes':[{'type':'query','query':'arb.order','object':{'identifier':0x1},'parameters':[]},{'type':'identifier','identifier':0x0}]},{'type':'logic_equal','nodes':[{'type':'query','query':'arb.indemnity\x20some','object':{'identifier':0x1},'parameters':[]},{'type':'identifier','identifier':0x2}]},{'type':'logic_not','node':{'type':'logic_as_u256_equal','nodes':[{'type':'query','query':'arb.indemnity.amount','object':{'identifier':0x1},'parameters':[]},{'type':'identifier','identifier':0x3}]}}]},'applicable_industries':['travel','ecommerce','rental','education','subscription','licensing'],'relevant_risks':['R-X1-16'],'creation_notes':['⚠️\x20TRANSIENT-STATE\x20TRAP\x20(verified\x20on\x20testnet,\x20booking\x20o10):\x20gating\x20on\x20arb.status\x20==\x205\x20(Finished)\x20is\x20WRONG\x20—\x20arb.status\x20is\x20transient:\x20after\x20the\x20award\x20is\x20settled,\x20a\x20legitimate\x20arb_withdraw\x20by\x20the\x20arbitrator\x20advances\x20the\x20case\x205\x20(Finished)\x20→\x206\x20(Withdrawn),\x20permanently\x20killing\x20the\x20refund\x20edge.\x20Because\x20Guard\x20AND\x20Machine\x20are\x20immutable\x20after\x20publish\x20(IMMUT-001),\x20a\x20mistyped\x20arb.status\x20gate\x20strands\x20the\x20refund\x20funds\x20forever\x20(o10:\x201.5\x20WOW\x20locked\x20with\x20no\x20on-chain\x20exit).','arb.indemnity\x20some\x20(Bool)\x20is\x20a\x20PRESENCE\x20signal\x20—\x20\x27a\x20ruling\x20is\x20on\x20chain\x27\x20(klk-ln-261011\x20F18:\x20arb.rs\x20indemnity_some\x20checks\x20the\x20Option,\x20NOT\x20the\x20amount;\x20a\x20zero-award\x20merchant-favor\x20ruling\x20ALSO\x20sets\x20Some(0)\x20and\x20passes\x20a\x20some==true\x20leg,\x20verified\x20in\x20T5).\x20It\x20is\x20NOT\x20by\x20itself\x20a\x20\x27buyer\x20won\x27\x20proof:\x20the\x20SHIPPED\x20zero-award\x20exclusion\x20leg\x20(logic_not\x20over\x20logic_as_u256_equal[arb.indemnity.amount,\x200])\x20IS\x20the\x20actual-award\x20requirement\x20in\x20canonical\x20form\x20—\x20compose\x20by\x20COPY,\x20never\x20by\x20hand\x20(rex-mn-261021\x20T5\x20mainnet:\x20a\x20presence-only\x20root\x20let\x20the\x20DEFEATED\x20buyer\x20pull\x20the\x20refund).\x20Never\x20touched\x20by\x20arb_withdraw\x20(the\x20fee\x20sweep\x20pulls\x20only\x20from\x20the\x20fee\x20balance);\x20cleared\x20by\x20a\x20reset\x20(objection\x20cycle)\x20—\x20the\x20gate\x20fails\x20shut\x20during\x20the\x20objection\x20cycle\x20and\x20re-arms\x20only\x20after\x20a\x20fresh\x20ruling.','Time-sensitive\x20alternative:\x20arb.indemnity.time\x20(U64\x20ruling\x20timestamp)\x20combined\x20with\x20a\x20deadline\x20—\x20also\x20survives\x20fee\x20withdrawal.','arb.indemnity.amount\x20(U64)\x20exposes\x20the\x20awarded\x20amount\x20if\x20the\x20refund\x20leg\x20must\x20match\x20the\x20ruling\x20exactly;\x20the\x20native\x20query\x20errors\x20on\x20a\x20None\x20field,\x20so\x20an\x20amount-equality\x20leg\x20is\x20fail-closed\x20against\x20never-ruled\x20and\x20reset\x20states.','A\x20reset\x20(state\x204\x20objection\x20cycle)\x20CLEARS\x20the\x20indemnity\x20—\x20arb.indemnity\x20some\x20correctly\x20re-gates\x20to\x20false,\x20so\x20a\x20voided\x20ruling\x20cannot\x20trigger\x20the\x20refund\x20edge.','TWO-SLOT\x20DESIGN\x20(F-02\x20fix):\x20the\x20refund\x20rail\x20has\x20TWO\x20consumers\x20of\x20the\x20same\x20submission\x20—\x20the\x20forward\x20guard\x20needs\x20the\x20Arb\x20object\x20(to\x20read\x20the\x20ruling),\x20while\x20the\x20allocator\x20recipient\x20GuardIdentifier(0)\x20needs\x20the\x20Order\x20object\x20(payment_info.for_object\x20binding).\x20A\x20single\x20slot\x20cannot\x20satisfy\x20both.\x20This\x20two-slot\x20form\x20(slot\x200\x20=\x20Order,\x20slot\x201\x20=\x20Arb)\x20makes\x20the\x20pair\x20self-certifying\x20via\x20the\x20arb.order\x20==\x20order\x20binding\x20assertion,\x20closing\x20the\x20redirect\x20attack\x20where\x20a\x20merchant\x20pairs\x20their\x20own\x20favourable\x20ruling\x20with\x20a\x20victim\x20order\x27s\x20address.','The\x20allocator\x20only\x20reads\x20slot\x200\x20(GuardIdentifier(0)\x20→\x20Order),\x20so\x20the\x20refund\x20recipient\x20resolves\x20correctly;\x20the\x20forward\x20guard\x20reads\x20slot\x201\x20(Arb)\x20for\x20the\x20ruling\x20state.',PROTOCOL_SLOT_254_NOTE],'example_use_case':'Accommodation\x20overbooking\x20dispute:\x20buyer\x20files,\x20arbitrators\x20rule\x20in\x20favor\x20(indemnity\x20=\x20fund\x20boundary);\x20the\x20merchant\x27s\x20refund\x20forward\x20opens\x20only\x20while\x20arb.indemnity\x20some\x20==\x20true,\x20regardless\x20of\x20whether\x20the\x20arbitrator\x20has\x20already\x20withdrawn\x20the\x20case\x20fee.\x20The\x20forward\x20executor\x20submits\x20the\x20Order\x20and\x20Arb\x20addresses\x20together;\x20the\x20allocator\x20pays\x20the\x20Order-anchored\x20recipient\x20only\x20when\x20the\x20binding\x20assertion\x20holds.','verifier_constraint_level':'level3_scene_combined'},{'id':'tpl_forward_arb_ruling_dismissed','scene_id':'machine_forward_guard','name':'Arbitration\x20ruling-dismissed\x20gate\x20(a\x20real\x20ruling\x20exists\x20AND\x20it\x20favoured\x20the\x20merchant,\x20two-slot\x20order+arb)','description':'Guard\x20for\x20a\x20Machine\x20forward\x20that\x20closes\x20a\x20claim\x20when\x20the\x20arbitration\x20DISMISSED\x20it\x20'+'(e.g.\x20\x27claim_dismissed\x27\x20edge\x20from\x20a\x20post-stay\x20claim\x20node\x20to\x20payout,\x20or\x20\x27claim_dismissed_resume\x27\x20'+'restoring\x20the\x20booking).\x20The\x20verifier\x20submits\x20BOTH\x20the\x20Order\x20address\x20(slot\x200)\x20and\x20the\x20Arb\x20case\x20'+'object\x20address\x20(slot\x201);\x20the\x20gate\x20checks:\x20(1)\x20arb.order\x20==\x20order\x20—\x20the\x20Arb\x20case\x20IS\x20this\x20order\x27s\x20'+'dispute,\x20and\x20(2)\x20arb.indemnity.amount\x20==\x200\x20—\x20the\x20ruling\x20awarded\x20the\x20buyer\x20NOTHING\x20'+'(the\x20merchant-favor\x20outcome;\x20the\x20buyer-favor\x20outcome\x20is\x20indemnity.amount\x20>\x200,\x20which\x20gates\x20the\x20'+'companion\x20tpl_forward_arb_ruling_won\x20refund\x20edge).\x20Without\x20this\x20gate\x20a\x20bare-permission\x20dismissal\x20'+'edge\x20lets\x20the\x20platform\x20kill\x20a\x20buyer\x27s\x20claim\x20and\x20release\x20the\x20pool\x20with\x20zero\x20on-chain\x20ruling\x20'+'evidence\x20(N-T2\x20/\x20D2-DISMISS-EDGE-GUARD).','recommended_patterns':['P06','P09'],'parameters':[],'example_table':[{'identifier':0x0,'b_submission':!![],'value_type':'Address','object_type':'Order','name':'Order\x20address\x20(must\x20equal\x20arb.order;\x20submitted\x20by\x20the\x20forward\x20executor)'},{'identifier':0x1,'b_submission':!![],'value_type':'Address','object_type':'Arb','name':'Arb\x20case\x20object\x20address\x20(submitted\x20by\x20the\x20forward\x20executor\x20at\x20runtime)'},{'identifier':0x2,'b_submission':![],'value_type':'U64','value':'0','name':'Expected\x20indemnity\x20amount\x20(0\x20=\x20ruling\x20favoured\x20the\x20merchant)'},{'identifier':0xfe,'b_submission':!![],'value_type':'Address','object_type':'Order','name':'task_binding\x20order\x20anchor\x20(protocol\x20slot\x20254;\x20written\x20by\x20order\x20creation)'}],'example_root':{'type':'logic_and','nodes':[{'type':'logic_equal','nodes':[{'type':'query','query':'arb.order','object':{'identifier':0x1},'parameters':[]},{'type':'identifier','identifier':0x0}]},{'type':'logic_as_u256_equal','nodes':[{'type':'query','query':'arb.indemnity.amount','object':{'identifier':0x1},'parameters':[]},{'type':'identifier','identifier':0x2}]}]},'applicable_industries':['travel','ecommerce','rental','education','subscription'],'relevant_risks':['R-X1-16','R-C3-05'],'creation_notes':['WHY\x20amount\x20==\x200\x20alone\x20is\x20decisive:\x20the\x20native\x20arb.indemnity.amount\x20query\x20ERRORS\x20on\x20a\x20None\x20field,\x20and\x20a\x20guard-query\x20error\x20fails\x20the\x20verification\x20closed\x20—\x20so\x20the\x20leg\x20passes\x20ONLY\x20when\x20indemnity\x20is\x20Some(0),\x20and\x20indemnity\x20is\x20Some\x20ONLY\x20after\x20a\x20ruling\x20(the\x20state\x20machine\x27s\x20reset\x20path\x20clears\x20the\x20indemnity\x20on\x20an\x20overturned\x20ruling\x20—\x20no\x20separate\x20generation\x20counter\x20is\x20needed).\x20A\x20case\x20nobody\x20ever\x20ruled\x20on\x20(None)\x20and\x20a\x20reset/objection\x20case\x20(None)\x20both\x20fail\x20shut,\x20so\x20the\x20platform\x20can\x20never\x20dismiss\x20with\x20zero\x20ruling\x20evidence.','OVERTURN\x20SEMANTICS:\x20a\x20reset\x20clears\x20indemnity,\x20so\x20the\x20amount\x20==\x200\x20leg\x20errors\x20on\x20the\x20None\x20field\x20and\x20the\x20guard\x20verification\x20fails\x20closed.\x20After\x20a\x20re-ruling\x20the\x20gate\x20reads\x20the\x20NEW\x20amount,\x20so\x20the\x20gate\x20reflects\x20the\x20standing\x20ruling\x20—\x20the\x20correct\x20business\x20semantics:\x20a\x20fresh\x20merchant-favor\x20ruling\x20justifies\x20dismissal\x20exactly\x20as\x20much\x20as\x20the\x20overturned\x20one\x20did.','Same\x20two-slot\x20shape\x20as\x20tpl_forward_arb_ruling_won\x20(slot\x200\x20=\x20Order\x20for\x20the\x20arb.order\x20binding,\x20slot\x201\x20=\x20Arb\x20for\x20the\x20ruling\x20state)\x20—\x20ONE\x20INSTANCE\x20PER\x20EXIT\x20EDGE,\x20never\x20share\x20a\x20guard\x20between\x20two\x20forwards.','NEVER\x20express\x20\x27favoured\x20the\x20merchant\x27\x20as\x20arb.indemnity\x20some\x20==\x20false:\x20it\x20conflates\x20never-ruled,\x20reset,\x20and\x20ruled-zero\x20states.\x20The\x20single\x20decisive\x20form\x20is\x20arb.indemnity.amount\x20==\x200\x20(fail-closed\x20on\x20None\x20via\x20the\x20native\x20query\x20error).',PROTOCOL_SLOT_254_NOTE],'example_use_case':'Post-stay\x20claim\x20dismissed:\x20the\x20arbitrator\x20ruled\x20the\x20evidence\x20does\x20not\x20support\x20the\x20guest\x27s\x20claim\x20(indemnity\x200);\x20the\x20platform\x27s\x20claim_dismissed\x20forward\x20opens\x20only\x20when\x20THAT\x20ruling\x20is\x20on-chain\x20and\x20unoverturned,\x20then\x20the\x20settlement\x20release\x20pays\x20out\x20of\x20the\x20intact\x20pool.','verifier_constraint_level':'level3_scene_combined'},{'id':'tpl_gen_passport_identity','scene_id':'gen_passport_guard','name':'Passport\x20identity\x20credential\x20generation\x20validation','description':'Standalone\x20Guard;\x20after\x20verifying\x20the\x20user\x27s\x20identity,\x20generates\x20a\x20Passport\x20with\x20a\x20credential,\x20used\x20as\x20submission\x20data\x20for\x20subsequent\x20operations.','recommended_patterns':['P03','P14'],'parameters':[{'name':'authorized_address','type':'address','description':'Authorized\x20address\x20(or\x20use\x20Vec<Address>\x20whitelist)','required':!![]}],'example_table':[{'identifier':0x0,'b_submission':![],'value_type':'Address','value':'${authorized_address}','name':'Authorized\x20address'}],'example_root':{'type':'logic_equal','nodes':[{'type':'context','context':'Signer'},{'type':'identifier','identifier':0x0}]},'applicable_industries':['ecommerce','education','travel','subscription','rental'],'relevant_risks':['R-C1-01','R-X1-10','R-X1-13'],'creation_notes':['gen_passport\x20is\x20a\x20standalone\x20Guard;\x20it\x20does\x20not\x20bind\x20a\x20Host\x20Object\x20(host_object:\x20Standalone)','quote_guard\x20is\x20a\x20rigid\x20requirement:\x20if\x20the\x20Guard\x20queries\x20Repository\x20data\x20with\x20quote_guard\x20set,\x20the\x20quote_guard\x20must\x20be\x20verified\x20(see\x20R-X1-10)','The\x20Guard\x20can\x20be\x20depended\x20on\x20by\x20other\x20Guards\x20via\x20rely\x20(requires\x20rep=true)','The\x20generated\x20Passport\x20can\x20be\x20used\x20as\x20submission\x20data\x20for\x20subsequent\x20operations'],'example_use_case':'After\x20the\x20user\x20passes\x20identity\x20verification,\x20a\x20Passport\x20is\x20generated;\x20this\x20Passport\x20is\x20then\x20submitted\x20as\x20an\x20identity\x20credential\x20in\x20subsequent\x20service\x20purchases.','verifier_constraint_level':'level1_strict'},{'id':'tpl_repository_quote_guard_subscription','scene_id':'repository_write','name':'Repository\x20data\x20subscription\x20with\x20payment\x20verification','description':'Repository\x20quote_guard\x20requires\x20payment\x20proof\x20for\x20data\x20access.\x20When\x20any\x20Guard\x20queries\x20this\x20Repository\x27s\x20data\x20(query\x201167),\x20the\x20quote_guard\x20is\x20rigidly\x20verified.\x20Enables\x20data\x20subscription\x20revenue\x20model\x20(e.g.,\x20weather\x20data,\x20market\x20oracle\x20data).','recommended_patterns':['P03','P07'],'parameters':[{'name':'repository_address','type':'address','description':'Repository\x20object\x20address','required':!![]},{'name':'subscription_price','type':'number','description':'Subscription\x20payment\x20amount\x20required\x20for\x20data\x20access','required':!![]},{'name':'payment_for_object','type':'address','description':'Payment\x20for_object\x20(Repository\x20address)','required':!![]}],'example_table':[{'identifier':0x0,'b_submission':![],'value_type':'Address','value':'${repository_address}','name':'Repository\x20address'},{'identifier':0x1,'b_submission':![],'value_type':'U256','value':'${subscription_price}','name':'Subscription\x20price'},{'identifier':0x2,'b_submission':!![],'value_type':'Address','name':'Submitted\x20Payment\x20(for_object\x20verification)'},{'identifier':0x3,'b_submission':!![],'value_type':'U256','name':'Submitted\x20Payment\x20amount'}],'example_root':{'type':'logic_and','nodes':[{'type':'logic_equal','nodes':[{'type':'query','query':'payment.info.for','object':{'identifier':0x2}},{'type':'identifier','identifier':0x0}]},{'type':'logic_as_u256_greater_or_equal','nodes':[{'type':'query','query':'payment.amount','object':{'identifier':0x2}},{'type':'identifier','identifier':0x1}]}]},'applicable_industries':['subscription','travel','rental','education'],'relevant_risks':['R-X1-10'],'creation_notes':['VERIFIER-EVIDENCE\x20DESIGN:\x20user\x20submits\x20valid\x20Payment\x20via\x20Passport\x20(b_submission=true),\x20quote_guard\x20verifies\x20Payment\x20fields','quote_guard\x20must\x20be\x20a\x20standalone\x20repository-backed\x20guard:\x20immutable=true,\x20relies\x20empty,\x20rep=true','Repository.owner_receive<T>\x20accepts\x20Payment\x20as\x20subscription\x20revenue','Rigid\x20verification:\x20any\x20guard\x20querying\x20this\x20Repository\x27s\x20data\x20MUST\x20satisfy\x20the\x20quote_guard','Two-phase:\x20passport\x20generation\x20scans\x20+\x20prepares,\x20passport\x20verification\x20re-checks\x20+\x20verifies','VERIFIED\x20QUERY\x20NAMES:\x20payment.info.for\x20(id\x201107,\x20Address),\x20payment.amount\x20(id\x201100,\x20U256)'],'example_use_case':'Weather\x20data\x20provider\x20publishes\x20daily\x20temperature\x20data\x20to\x20Repository.\x20Insurance\x20Machine\x20queries\x20weather\x20data;\x20user\x20must\x20pay\x20subscription\x20(Payment)\x20to\x20access\x20data\x20in\x20their\x20insurance\x20claim\x20flow.','verifier_constraint_level':'level3_scene_combined'},{'id':'tpl_buy_guard_order_holder','scene_id':'service_buy_guard','name':'Supply\x20chain\x20sub-order\x20purchase\x20verification','description':'Sub-service\x20buy_guard\x20verifies\x20the\x20user\x20owns\x20a\x20main\x20service\x20order.\x20Enables\x20supply\x20chain\x20milestone\x20unlock:\x20each\x20milestone\x20=\x20one\x20sub-order,\x20sub-service\x20only\x20purchasable\x20by\x20users\x20who\x20bought\x20the\x20main\x20service.','recommended_patterns':['P03','P04'],'parameters':[{'name':'main_service_address','type':'address','description':'Main\x20Service\x20object\x20address','required':!![]},{'name':'main_order_address','type':'address','description':'Submitted\x20main\x20Order\x20address\x20(b_submission=true)','required':![],'constraint':'If\x20using\x20P16\x20circular\x20reference,\x20use\x20service\x20name\x20instead\x20of\x20address'}],'example_table':[{'identifier':0x0,'b_submission':![],'value_type':'Address','value':'${main_service_address}','name':'Main\x20service\x20address'},{'identifier':0x1,'b_submission':!![],'value_type':'Address','name':'Submitted\x20main\x20Order\x20(ownership\x20verification)'}],'example_root':{'type':'logic_and','nodes':[{'type':'logic_equal','nodes':[{'type':'query','query':'order.owner','object':{'identifier':0x1}},{'type':'context','context':'Signer'}]},{'type':'logic_equal','nodes':[{'type':'query','query':'order.service','object':{'identifier':0x1}},{'type':'identifier','identifier':0x0}]}]},'applicable_industries':['travel','rental','education','freelance'],'relevant_risks':['R-C3-05'],'creation_notes':['VERIFIER-EVIDENCE\x20DESIGN:\x20user\x20submits\x20main\x20Order\x20as\x20evidence\x20(b_submission=true),\x20buy_guard\x20verifies\x20ownership\x20+\x20service\x20match','No\x20parent_order\x20field\x20needed\x20—\x20relationship\x20verified\x20via\x20buy_guard\x20querying\x20submitted\x20Order\x20fields','Each\x20milestone\x20=\x20one\x20sub-order\x20with\x20its\x20own\x20Service\x20+\x20buy_guard','Main\x20flow\x20can\x20branch\x20to\x20different\x20sub-services\x20based\x20on\x20Machine\x20node\x20progression','VERIFIED\x20QUERY\x20NAMES:\x20order.owner\x20(id\x201562,\x20Address),\x20order.service\x20(id\x201203,\x20Address)'],'example_use_case':'Travel\x20package:\x20main\x20service\x20=\x20tour\x20booking.\x20Sub-services\x20=\x20hotel,\x20guide,\x20transfer\x20—\x20each\x20with\x20buy_guard\x20verifying\x20the\x20user\x20purchased\x20the\x20main\x20tour\x20order.','verifier_constraint_level':'level2_identity_set'},{'id':'tpl_payment_exception_compensation','scene_id':'machine_forward_guard','name':'Exception\x20branch\x20compensation\x20Payment','description':'Machine\x20forward\x20guard\x20for\x20exception\x20handling:\x20verifies\x20a\x20compensation\x20Payment\x20bound\x20to\x20specific\x20order\x20+\x20guard\x20+\x20unique\x20progress\x20step\x20(history\x20count)\x20+\x20node\x20name.\x20Enables\x20user-friendly\x20exception\x20branches\x20(e.g.,\x20delivery\x20delay\x20>\x2030min\x20triggers\x20auto-compensation).','recommended_patterns':['P03','P07','P09'],'parameters':[{'name':'order_address','type':'address','description':'Order\x20object\x20address\x20(Payment\x20for_object\x20target)','required':!![]},{'name':'this_guard_address','type':'address','description':'This\x20guard\x27s\x20own\x20address\x20(Payment\x20for_guard\x20target)','required':!![]},{'name':'compensation_amount','type':'number','description':'Minimum\x20compensation\x20amount','required':!![]},{'name':'expected_node_name','type':'string','description':'Expected\x20node\x20name\x20(stored\x20in\x20PaymentInfo.remark,\x20compared\x20with\x20progress.current)','required':!![]}],'example_table':[{'identifier':0x0,'b_submission':![],'value_type':'Address','value':'${order_address}','name':'Order\x20address'},{'identifier':0x1,'b_submission':![],'value_type':'Address','value':'${this_guard_address}','name':'This\x20guard\x20address'},{'identifier':0x2,'b_submission':![],'value_type':'U256','value':'${compensation_amount}','name':'Compensation\x20amount'},{'identifier':0x3,'b_submission':![],'value_type':'String','value':'${expected_node_name}','name':'Expected\x20node\x20name\x20(for\x20remark\x20comparison)'},{'identifier':0x4,'b_submission':!![],'value_type':'Address','name':'Submitted\x20Payment\x20(compensation\x20proof)'},{'identifier':0xfe,'b_submission':!![],'value_type':'Address','object_type':'Order','name':'task_binding\x20order\x20anchor\x20(protocol\x20slot\x20254;\x20written\x20by\x20order\x20creation)'}],'example_root':{'type':'logic_and','nodes':[{'type':'logic_equal','nodes':[{'type':'query','query':'payment.info.for','object':{'identifier':0x4}},{'type':'identifier','identifier':0x0}]},{'type':'logic_equal','nodes':[{'type':'query','query':'payment.info.guard','object':{'identifier':0x4}},{'type':'identifier','identifier':0x1}]},{'type':'logic_as_u256_greater_or_equal','nodes':[{'type':'query','query':'payment.amount','object':{'identifier':0x4}},{'type':'identifier','identifier':0x2}]},{'type':'logic_as_u256_equal','nodes':[{'type':'query','query':'payment.info.index','object':{'identifier':0x4}},{'type':'query','query':'progress.history\x20count','object':{'identifier':0x0,'convert_witness':'OrderProgress'},'parameters':[]}]},{'type':'logic_string_nocase_equal','nodes':[{'type':'query','query':'payment.info.remark','object':{'identifier':0x4}},{'type':'query','query':'progress.current','object':{'identifier':0x0,'convert_witness':'OrderProgress'},'parameters':[]}]}]},'applicable_industries':['rental','travel','ecommerce','freelance'],'relevant_risks':[],'creation_notes':['VERIFIED:\x20PaymentInfo\x20(for_object,\x20for_guard,\x20remark,\x20index),\x20payment_info_with_guard','VERIFIED:\x20withdraw\x20creates\x20the\x20Payment\x20as\x20a\x20fresh\x20singleton\x20object\x20from\x20the\x20withdrawn\x20object\x20set','VERIFIED\x20QUERY\x20NAMES:\x20payment.info.for\x20(id\x201107,\x20Address),\x20payment.info.guard\x20(id\x201109,\x20Address),\x20payment.info.index\x20(id\x201111,\x20U64),\x20payment.info.remark\x20(id\x201110,\x20String),\x20payment.amount\x20(id\x201100,\x20U64;\x20logic_as_u256_ge\x20casts\x20U64→U256\x20for\x20comparison)','VERIFIED\x20INDEX:\x20progress.history\x20count\x20(id\x201273,\x20U64)\x20=\x20unique\x20monotonically\x20increasing\x20step\x20index.\x20Even\x20in\x20cycles,\x20each\x20entry\x20has\x20a\x20different\x20count.','VERIFIED\x20NODE\x20NAME:\x20progress.current\x20(id\x201253,\x20String)\x20=\x20current\x20node\x20name.\x20A\x20node\x20can\x20be\x20entered\x20multiple\x20times\x20in\x20cycles,\x20but\x20the\x20history\x20count\x20is\x20unique\x20each\x20time.','DESIGN:\x20payment.info.index\x20stores\x20the\x20step\x20index\x20set\x20by\x20Treasury\x20at\x20creation\x20time;\x20progress.history\x20count\x20provides\x20the\x20current\x20unique\x20step.\x20Comparing\x20them\x20ensures\x20the\x20Payment\x20was\x20created\x20for\x20THIS\x20specific\x20progress\x20step.','DESIGN:\x20payment.info.remark\x20stores\x20the\x20node\x20name;\x20progress.current\x20provides\x20the\x20current\x20node\x20name.\x20Comparing\x20them\x20provides\x20semantic\x20verification\x20of\x20which\x20node\x20triggered\x20the\x20compensation.','ANTI-REUSE:\x204-dimensional\x20binding:\x20for_object\x20(Order)\x20+\x20for_guard\x20(Guard)\x20+\x20index\x20(unique\x20step)\x20+\x20remark\x20(node\x20name).\x20Same\x20Payment\x20cannot\x20be\x20reused\x20in\x20other\x20contexts.','Payment\x20is\x20freeze_object\x20(immutable)\x20—\x20cannot\x20be\x20modified\x20after\x20creation','VERIFIER-EVIDENCE\x20DESIGN:\x20customer\x20submits\x20Payment,\x20guard\x20verifies\x20binding\x20fields\x20match\x20current\x20context','Treasury\x20withdraws\x20compensation\x20with\x20PaymentInfo(for_object=order,\x20for_guard=this,\x20index=history_count_at_creation,\x20remark=node_name)',PROTOCOL_SLOT_254_NOTE],'example_use_case':'Food\x20delivery:\x20if\x20delivery\x20delayed\x20>\x2030min\x20at\x20node\x20\x27delayed\x27\x20(history\x20count=5),\x20restaurant\x20Treasury\x20auto-compensates\x20$5\x20to\x20customer\x20with\x20PaymentInfo(for_object=order,\x20for_guard=this,\x20index=5,\x20remark=\x27delayed\x27).\x20Customer\x20submits\x20Payment\x20via\x20Passport,\x20guard\x20verifies\x20index\x20matches\x20current\x20history\x20count\x20AND\x20remark\x20matches\x20current\x20node\x20name.','verifier_constraint_level':'level3_scene_combined'},{'id':'tpl_forward_content_subscription_deliver','scene_id':'machine_forward_guard','name':'Content\x20subscription\x20delivery\x20verification\x20(Substack-style)','description':'Forward\x20guard\x20for\x20content\x20subscription\x20delivery\x20flow.\x20Verifies\x20that\x20(1)\x20the\x20order\x20is\x20at\x20the\x20expected\x20pre-delivery\x20node\x20'+'(e.g.\x20\x27Ordered\x27),\x20AND\x20(2)\x20the\x20Signer\x20holds\x20the\x20author\x27s\x20permission\x20index\x20on\x20the\x20bound\x20Permission\x20object.\x20'+'Prevents\x20unauthorized\x20parties\x20from\x20publishing\x20content\x20on\x20behalf\x20of\x20the\x20author.\x20'+'Designed\x20for\x20Substack-style\x20content\x20subscription:\x20Paid\x20→\x20ContentPublished\x20→\x20Completed\x20(success\x20path),\x20'+'with\x20Cancelled\x20and\x20Disputed\x20branches\x20using\x20separate\x20guards\x20(tpl_forward_content_subscription_cancel,\x20'+'tpl_forward_content_subscription_refund).','recommended_patterns':['P06','P09'],'parameters':[{'name':'expected_pre_delivery_node','type':'string','description':'Expected\x20current\x20node\x20name\x20BEFORE\x20delivery\x20(e.g.\x20\x27Ordered\x27)','required':!![],'default':'Ordered','constraint':'Must\x20exactly\x20match\x20the\x20name\x20defined\x20in\x20Machine\x20nodes\x20(case-sensitive).\x20This\x20is\x20the\x20node\x20from\x20which\x20the\x20\x27Deliver\x27\x20forward\x20advances.'},{'name':'permission_object','type':'address','description':'Permission\x20object\x20address\x20bound\x20to\x20the\x20Machine\x20(author\x20role\x20lives\x20here)','required':!![],'constraint':'Must\x20be\x20the\x20same\x20Permission\x20object\x20bound\x20to\x20the\x20Machine.\x20Use\x20name\x20(not\x20address)\x20if\x20Permission\x20is\x20not\x20yet\x20created.'},{'name':'author_permission_index','type':'number','description':'Permission\x20index\x20reserved\x20for\x20the\x20author\x20role\x20(who\x20can\x20publish\x20content)','required':!![],'default':'1000','constraint':'Must\x20match\x20the\x20index\x20configured\x20in\x20the\x20Permission\x20object.\x20Substack\x20convention:\x201000=author,\x201500=arbitrator,\x20reader\x20uses\x20namedOperator=\x27\x27\x20(no\x20specific\x20operator).'}],'example_table':[{'identifier':0x0,'b_submission':!![],'value_type':'Address','object_type':'Order','name':'Order\x20object\x20address\x20(submitted\x20by\x20verifier\x20at\x20runtime)','binding_constraint':'Must\x20be\x20an\x20Order\x20belonging\x20to\x20the\x20bound\x20Service;\x20progress.current\x20must\x20match\x20expected_pre_delivery_node'},{'identifier':0x1,'b_submission':![],'value_type':'String','value':'${expected_pre_delivery_node}','name':'Expected\x20pre-delivery\x20node\x20name\x20(e.g.\x20\x27Ordered\x27)'},{'identifier':0x2,'b_submission':![],'value_type':'Address','value':'${permission_object}','name':'Permission\x20object\x20address\x20(bound\x20to\x20Machine,\x20holds\x20author\x20role)'},{'identifier':0x3,'b_submission':![],'value_type':'U64','value':'${author_permission_index}','name':'Author\x20permission\x20index\x20(e.g.\x201000)'},{'identifier':0xfe,'b_submission':!![],'value_type':'Address','object_type':'Order','name':'task_binding\x20order\x20anchor\x20(protocol\x20slot\x20254;\x20written\x20by\x20order\x20creation)'}],'example_root':{'type':'logic_and','nodes':[{'type':'logic_string_nocase_equal','nodes':[{'type':'query','query':'progress.current','object':{'identifier':0x0,'convert_witness':'OrderProgress'},'parameters':[]},{'type':'identifier','identifier':0x1}]},{'type':'query','query':'permission.entity.perm\x20has','object':{'identifier':0x2},'parameters':[{'type':'context','context':'Signer'},{'type':'identifier','identifier':0x3}]}]},'applicable_industries':['subscription','content','newsletter','media'],'relevant_risks':['R-C2-01','R-C2-03','R-X1-08'],'creation_notes':['VERIFIED\x20QUERY\x20NAMES:\x20progress.current\x20(id\x201253,\x20String)\x20—\x20current\x20node\x20name;\x20permission.entity.perm\x20has\x20(id\x201008,\x20Bool:\x20params\x20[user/guard\x20Address,\x20permission\x20index\x20U16])\x20—\x20direct\x20logic_and\x20child','SUBSTACK\x20DEPLOYMENT:\x20this\x20guard\x20was\x20used\x20in\x20Substack\x20v2\x20Service.\x20Original\x20v1\x20Service\x20was\x20published\x20without\x20arbitrations\x20—\x20had\x20to\x20be\x20recreated\x20as\x20v2\x20with\x20arbitrations\x20bound\x20BEFORE\x20publish\x20(F-S-21).','AUTHOR\x20ROLE:\x20permission\x20index\x201000\x20=\x20author\x20(publish\x20+\x20cancel).\x20namedOperator=\x27\x27\x20for\x20reader\x20role\x20(open\x20—\x20any\x20subscriber).\x20Arbitrator\x20uses\x20index\x201500.','FORWARD\x20DESIGN:\x20\x27Deliver\x27\x20forward\x20advances\x20from\x20\x27Ordered\x27\x20→\x20\x27ContentPublished\x27.\x20Threshold=1,\x20weight=1,\x20permissionIndex=1000\x20(author\x20only).','GUARD-FIRST-WINS:\x20when\x20\x27Ordered\x27\x20has\x20competing\x20forwards\x20(Deliver|Cancel|Dispute),\x20each\x20with\x20its\x20own\x20guard,\x20the\x20first\x20guard\x20to\x20verify\x20wins.\x20Subscribers\x20cannot\x20double-claim\x20by\x20triggering\x20multiple\x20forwards.','IMMUTABILITY:\x20Forward.guard\x20cannot\x20be\x20modified\x20after\x20Machine\x20publish.\x20Verify\x20all\x203\x20guards\x20(deliver/cancel/refund)\x20are\x20correctly\x20bound\x20BEFORE\x20publishing\x20the\x20Machine.','CIRCULAR\x20REF:\x20if\x20Permission\x20is\x20not\x20yet\x20created,\x20use\x20its\x20name\x20(not\x20address)\x20in\x20value\x20field\x20—\x20Guard\x20resolves\x20names\x20at\x20evaluation\x20time,\x20not\x20at\x20creation\x20time.',PROTOCOL_SLOT_254_NOTE],'example_use_case':'Substack\x20newsletter:\x20subscriber\x20pays\x20$5/month.\x20Author\x20publishes\x20content\x20→\x20\x27Deliver\x27\x20forward\x20advances\x20Ordered→ContentPublished.\x20'+'This\x20guard\x20verifies\x20(1)\x20order\x20is\x20at\x20\x27Ordered\x27\x20node\x20(not\x20already\x20delivered),\x20AND\x20(2)\x20Signer\x20holds\x20permission\x20index\x201000\x20on\x20author\x27s\x20Permission\x20object.\x20'+'Prevents\x20a\x20malicious\x20party\x20from\x20publishing\x20fake\x20content.\x20Subscriber\x20cannot\x20trigger\x20\x27Deliver\x27\x20(lacks\x20permission).','verifier_constraint_level':'level2_identity_set'},{'id':'tpl_forward_content_subscription_cancel','scene_id':'machine_forward_guard','name':'Content\x20subscription\x20cancel\x20verification\x20(Substack-style)','description':'Forward\x20guard\x20for\x20content\x20subscription\x20cancel\x20flow.\x20Verifies\x20that\x20(1)\x20the\x20order\x20is\x20at\x20the\x20expected\x20pre-cancel\x20node\x20'+'(e.g.\x20\x27Ordered\x27),\x20AND\x20(2)\x20the\x20Signer\x20is\x20the\x20order\x20owner\x20(subscriber).\x20Allows\x20subscriber\x20to\x20cancel\x20within\x20grace\x20period\x20'+'for\x20full\x20refund.\x20Designed\x20for\x20Substack-style:\x20Paid\x20→\x20Cancelled\x20(terminal-cancel),\x20with\x20refund\x20via\x20Allocation\x20template.','recommended_patterns':['P06','P09'],'parameters':[{'name':'expected_pre_cancel_node','type':'string','description':'Expected\x20current\x20node\x20name\x20BEFORE\x20cancel\x20(e.g.\x20\x27Ordered\x27)','required':!![],'default':'Ordered','constraint':'Must\x20exactly\x20match\x20the\x20name\x20defined\x20in\x20Machine\x20nodes\x20(case-sensitive).'}],'example_table':[{'identifier':0x0,'b_submission':!![],'value_type':'Address','object_type':'Order','name':'Order\x20object\x20address\x20(submitted\x20by\x20verifier\x20at\x20runtime)'},{'identifier':0x1,'b_submission':![],'value_type':'String','value':'${expected_pre_cancel_node}','name':'Expected\x20pre-cancel\x20node\x20name\x20(e.g.\x20\x27Ordered\x27)'},{'identifier':0xfe,'b_submission':!![],'value_type':'Address','object_type':'Order','name':'task_binding\x20order\x20anchor\x20(protocol\x20slot\x20254;\x20written\x20by\x20order\x20creation)'}],'example_root':{'type':'logic_and','nodes':[{'type':'logic_string_nocase_equal','nodes':[{'type':'query','query':'progress.current','object':{'identifier':0x0,'convert_witness':'OrderProgress'},'parameters':[]},{'type':'identifier','identifier':0x1}]},{'type':'logic_equal','nodes':[{'type':'context','context':'Signer'},{'type':'query','query':'order.owner','object':{'identifier':0x0},'parameters':[]}]}]},'applicable_industries':['subscription','content','newsletter','media'],'relevant_risks':['R-C2-01','R-C2-03'],'creation_notes':['VERIFIED\x20QUERY\x20NAMES:\x20progress.current\x20(id\x201253,\x20String);\x20order.owner\x20(id\x201562,\x20Address)\x20—\x20order\x20holder\x20(subscriber).','SUBSCRIBER-ONLY:\x20only\x20the\x20order\x20owner\x20can\x20cancel\x20—\x20prevents\x20third-party\x20griefing.\x20Author\x20cannot\x20cancel\x20on\x20behalf\x20of\x20subscriber.','GRACE\x20PERIOD:\x20this\x20guard\x20does\x20NOT\x20enforce\x20a\x20time\x20window.\x20If\x20a\x20grace\x20period\x20is\x20needed\x20(e.g.\x20cancel\x20within\x2024h\x20of\x20payment),\x20add\x20a\x20third\x20condition:\x20context(Clock)\x20<=\x20order.time\x20+\x20grace_period.','REFUND\x20ALLOCATION:\x20pair\x20this\x20guard\x20with\x20an\x20Allocation\x20template\x20that\x20refunds\x20100%\x20to\x20the\x20subscriber\x20(order.owner).\x20Trigger\x20node\x20=\x20\x27Cancelled\x27.','GUARD-FIRST-WINS:\x20when\x20\x27Ordered\x27\x20has\x20competing\x20forwards\x20(Deliver|Cancel|Dispute),\x20each\x20with\x20its\x20own\x20guard,\x20the\x20first\x20guard\x20to\x20verify\x20wins.',PROTOCOL_SLOT_254_NOTE],'example_use_case':'Substack\x20newsletter:\x20subscriber\x20pays\x20$5,\x20then\x20changes\x20mind\x20before\x20content\x20is\x20published.\x20\x27Cancel\x27\x20forward\x20advances\x20Ordered→Cancelled.\x20'+'This\x20guard\x20verifies\x20(1)\x20order\x20is\x20at\x20\x27Ordered\x27\x20(not\x20yet\x20delivered),\x20AND\x20(2)\x20Signer\x20is\x20the\x20order\x20owner.\x20'+'Author\x20cannot\x20cancel\x20on\x20behalf\x20of\x20subscriber.\x20Refund\x20triggers\x20automatically\x20via\x20Allocation\x20on\x20\x27Cancelled\x27\x20node.','verifier_constraint_level':'level2_identity_set'},{'id':'tpl_forward_content_subscription_refund','scene_id':'machine_forward_guard','name':'Content\x20subscription\x20refund\x20verification\x20(Substack-style,\x20arbitration-triggered)','description':'Forward\x20guard\x20for\x20content\x20subscription\x20dispute/refund\x20flow.\x20Verifies\x20that\x20(1)\x20the\x20order\x20is\x20at\x20the\x20expected\x20pre-dispute\x20node\x20'+'(e.g.\x20\x27Disputed\x27),\x20AND\x20(2)\x20the\x20Signer\x20holds\x20the\x20arbitrator\x27s\x20permission\x20index\x20on\x20the\x20bound\x20Permission\x20object.\x20'+'Only\x20the\x20arbitrator\x20can\x20advance\x20Disputed→Refunded,\x20ensuring\x20dispute\x20resolution\x20is\x20impartial.\x20'+'Designed\x20for\x20Substack-style:\x20Paid\x20→\x20Disputed\x20→\x20Refunded\x20(terminal-dispute).','recommended_patterns':['P06','P09'],'parameters':[{'name':'expected_pre_refund_node','type':'string','description':'Expected\x20current\x20node\x20name\x20BEFORE\x20refund\x20(e.g.\x20\x27Disputed\x27)','required':!![],'default':'Disputed','constraint':'Must\x20exactly\x20match\x20the\x20name\x20defined\x20in\x20Machine\x20nodes\x20(case-sensitive).'},{'name':'permission_object','type':'address','description':'Permission\x20object\x20address\x20bound\x20to\x20the\x20Machine\x20(arbitrator\x20role\x20lives\x20here)','required':!![],'constraint':'Must\x20be\x20the\x20same\x20Permission\x20object\x20bound\x20to\x20the\x20Machine.\x20Use\x20name\x20(not\x20address)\x20if\x20Permission\x20is\x20not\x20yet\x20created.'},{'name':'arbitrator_permission_index','type':'number','description':'Permission\x20index\x20reserved\x20for\x20the\x20arbitrator\x20role\x20(who\x20can\x20resolve\x20disputes)','required':!![],'default':'1500','constraint':'Must\x20match\x20the\x20index\x20configured\x20in\x20the\x20Permission\x20object.\x20Substack\x20convention:\x201000=author,\x201500=arbitrator.'}],'example_table':[{'identifier':0x0,'b_submission':!![],'value_type':'Address','object_type':'Order','name':'Order\x20object\x20address\x20(submitted\x20by\x20verifier\x20at\x20runtime)'},{'identifier':0x1,'b_submission':![],'value_type':'String','value':'${expected_pre_refund_node}','name':'Expected\x20pre-refund\x20node\x20name\x20(e.g.\x20\x27Disputed\x27)'},{'identifier':0x2,'b_submission':![],'value_type':'Address','value':'${permission_object}','name':'Permission\x20object\x20address\x20(bound\x20to\x20Machine,\x20holds\x20arbitrator\x20role)'},{'identifier':0x3,'b_submission':![],'value_type':'U64','value':'${arbitrator_permission_index}','name':'Arbitrator\x20permission\x20index\x20(e.g.\x201500)'},{'identifier':0xfe,'b_submission':!![],'value_type':'Address','object_type':'Order','name':'task_binding\x20order\x20anchor\x20(protocol\x20slot\x20254;\x20written\x20by\x20order\x20creation)'}],'example_root':{'type':'logic_and','nodes':[{'type':'logic_string_nocase_equal','nodes':[{'type':'query','query':'progress.current','object':{'identifier':0x0,'convert_witness':'OrderProgress'},'parameters':[]},{'type':'identifier','identifier':0x1}]},{'type':'query','query':'permission.entity.perm\x20has','object':{'identifier':0x2},'parameters':[{'type':'context','context':'Signer'},{'type':'identifier','identifier':0x3}]}]},'applicable_industries':['subscription','content','newsletter','media'],'relevant_risks':['R-C2-01','R-C2-03','R-X1-08'],'creation_notes':['VERIFIED\x20QUERY\x20NAMES:\x20progress.current\x20(id\x201253,\x20String)\x20—\x20current\x20node\x20name;\x20permission.entity.perm\x20has\x20(id\x201008,\x20Bool:\x20params\x20[user/guard\x20Address,\x20permission\x20index\x20U16])\x20—\x20direct\x20logic_and\x20child','ARBITRATOR-ONLY:\x20only\x20the\x20arbitrator\x20(permission\x20index\x201500)\x20can\x20advance\x20Disputed→Refunded.\x20Neither\x20author\x20nor\x20subscriber\x20can\x20self-resolve.','ARBITRATIONS\x20BINDING:\x20Service\x20MUST\x20have\x20arbitrations\x20bound\x20BEFORE\x20publish\x20(F-S-21\x20—\x20post-publish\x20immutable).\x20ConfirmGate\x20C-S-19\x20+\x20QS11\x20will\x20warn\x20if\x20publish\x20is\x20attempted\x20without\x20arbitrations.','DISPUTE\x20ENTRY:\x20\x27Dispute\x27\x20forward\x20(Ordered→Disputed)\x20is\x20triggered\x20by\x20subscriber\x20(order.owner).\x20After\x20Disputed,\x20only\x20arbitrator\x20can\x20resolve.','REFUND\x20ALLOCATION:\x20pair\x20this\x20guard\x20with\x20an\x20Allocation\x20template\x20that\x20refunds\x20100%\x20to\x20the\x20subscriber\x20(order.owner).\x20Trigger\x20node\x20=\x20\x27Refunded\x27.','GUARD-FIRST-WINS:\x20when\x20\x27Disputed\x27\x20has\x20competing\x20forwards\x20(Resolve-Refund|Resolve-Reject),\x20each\x20with\x20its\x20own\x20guard.\x20First\x20guard\x20to\x20verify\x20wins.',PROTOCOL_SLOT_254_NOTE],'example_use_case':'Substack\x20newsletter:\x20subscriber\x20disputes\x20content\x20quality.\x20Subscriber\x20triggers\x20\x27Dispute\x27\x20forward\x20(Ordered→Disputed).\x20'+'Arbitrator\x20reviews\x20evidence\x20and\x20triggers\x20\x27Resolve-Refund\x27\x20forward\x20(Disputed→Refunded).\x20'+'This\x20guard\x20verifies\x20(1)\x20order\x20is\x20at\x20\x27Disputed\x27\x20(dispute\x20properly\x20opened),\x20AND\x20(2)\x20Signer\x20holds\x20arbitrator\x20permission\x20index\x201500.\x20'+'Author\x20cannot\x20self-resolve.\x20Subscriber\x20cannot\x20self-refund.','verifier_constraint_level':'level2_identity_set'},{'id':'tpl_required_info_present','scene_id':'machine_forward_guard','name':'Required-info\x20presence\x20gate','description':'Presence-only\x20gate\x20on\x20the\x20fulfilment\x20forward:\x20order.required_info\x20must\x20be\x20recorded\x20(Option\x20some,\x20query\x201572)\x20'+'before\x20the\x20forward\x20that\x20needs\x20the\x20data\x20can\x20advance.\x20This\x20is\x20the\x20ONLY\x20on-chain\x20enforcement\x20of\x20'+'Service.customer_required\x20—\x20the\x20purchase\x20entry\x20never\x20reads\x20the\x20list\x20(declarative-only,\x20testnet\x20HIGH-05).\x20'+'Presence-only\x20by\x20design:\x201573\x20aborts\x20while\x20the\x20Option\x20is\x20empty,\x20and\x20the\x20recorded\x20address\x20is\x20unvalidated\x20'+'buyer\x20input\x20with\x20no\x20on-chain\x20meaning\x20—\x20acceptance\x20is\x20the\x20merchant\x27s\x20confirming\x20forward,\x20never\x20the\x20value.','recommended_patterns':['P09'],'parameters':[],'example_table':[{'identifier':0xfe,'b_submission':!![],'value_type':'Address','object_type':'Order','name':'Submitted\x20Order\x20—\x20protocol\x20slot\x20254\x20task\x20binding\x20(written\x20by\x20order\x20creation)'}],'example_root':{'type':'query','query':'order.required_info\x20some','object':{'identifier':0xfe,'convert_witness':'OrderProgress'},'parameters':[]},'applicable_industries':['retail','travel','education','rental','general'],'relevant_risks':[],'creation_notes':['GATE\x20PRESENCE\x20(1572)\x20FIRST:\x20query\x201573\x20returns\x20the\x20Option\x27s\x20inner\x20address\x20and\x20ABORTS\x20the\x20guard\x20evaluation\x20when\x20nothing\x20is\x20recorded\x20—\x201573\x20is\x20for\x20reading/comparing\x20AFTER\x20the\x20presence\x20gate\x20passed.','No\x20parameters\x20by\x20design:\x20presence-only.\x20Never\x20make\x20the\x20recorded\x20address\x20(or\x20a\x20Proof\x27s\x20content)\x20a\x20guard\x20decision\x20condition\x20—\x20the\x20credential\x20is\x20buyer-writable\x20and\x20unvalidated;\x20route\x20content-grade\x20checks\x20through\x20a\x20Repository\x20with\x20a\x20quote_guard.','Gate\x20the\x20forward\x20that\x20DEPENDS\x20on\x20the\x20information\x20(ship\x20/\x20hand-over\x20/\x20accept-before-crafting),\x20never\x20the\x20buy:\x20a\x20buy_guard\x20cannot\x20query\x20the\x20Order\x20—\x20it\x20does\x20not\x20exist\x20yet\x20at\x20buy\x20time.','Slot\x20254\x20is\x20declared\x20here\x20(the\x20kernel\x20skips\x20its\x20injection\x20when\x20a\x20guard\x20already\x20declares\x20it):\x20the\x20trigger\x20passport\x20submits\x20{254:\x20order}.',PROTOCOL_SLOT_254_NOTE],'example_use_case':'Handmade/custom\x20storefront:\x20the\x20shop\x20declares\x20customer_required\x20(personalisation\x20spec,\x20measurements).\x20'+'The\x20\x27confirmed\x27\x20(seller\x20acceptance)\x20or\x20\x27ship\x27\x20forward\x20carries\x20this\x20gate,\x20so\x20an\x20order\x20whose\x20buyer\x20never\x20'+'recorded\x20the\x20required\x20credential\x20cannot\x20advance\x20—\x20without\x20the\x20gate\x20such\x20an\x20order\x20is\x20created\x20and\x20'+'progresses\x20silently\x20(the\x20purchase\x20entry\x20never\x20reads\x20the\x20list).','verifier_constraint_level':'level3_scene_combined'},{'id':'tpl_time_lock_progress','scene_id':'machine_forward_guard','name':'Time-lock\x20node-entry\x20gate\x20(opening\x20window)','description':'Gates\x20a\x20forward\x20on\x20elapsed\x20time\x20since\x20node\x20entry:\x20the\x20chain\x20Clock\x20must\x20be\x20>=\x20the\x20source\x20node\x27s\x20'+'entry\x20time\x20(query\x201280\x20progress.history.time)\x20+\x20duration_ms.\x20Opening-gate\x20direction\x20(greater_or_equal):\x20the\x20forward\x20stays\x20'+'BLOCKED\x20until\x20the\x20duration\x20elapses\x20—\x20settlement\x20delays,\x20acceptance\x20timeouts,\x20keeper\x20auto-advance\x20rails.\x20'+'Executable\x20form\x20of\x20pattern.time_lock_progress;\x20the\x20closing-window\x20twin\x20(act\x20only\x20UNTIL\x20entry+N)\x20is\x20'+'tpl_time_window_upper.\x20Anchor\x20semantics:\x20the\x20anchor\x20is\x20the\x20IMMUTABLE\x20recorded\x20entry\x20moment\x20of\x20the\x20'+'source\x20node\x20(witness-derived\x20via\x20OrderProgress),\x20so\x20one\x20Guard\x20serves\x20every\x20order;\x20a\x20re-entered\x20node\x20'+'appends\x20a\x20fresh\x20entry\x20and\x20restarts\x20the\x20lock\x20(find=last).\x20For\x20a\x20window\x20measured\x20from\x20purchase\x20use\x20an\x20'+'order.time\x20anchor\x20instead\x20(TIME-ANCHOR-01).','recommended_patterns':['P06'],'parameters':[{'name':'duration_ms','type':'number','description':'Time-lock\x20duration\x20in\x20milliseconds\x20(measured\x20from\x20the\x20source\x20node\x27s\x20entry)','required':!![],'constraint':'Plain\x20integer\x20milliseconds;\x20test\x20with\x20small\x20values\x20first\x20—\x20chain\x20Clock\x20is\x20block-driven,\x20not\x20wall\x20time'},{'name':'expected_node','type':'string','description':'Source\x20node\x20of\x20the\x20gated\x20edge\x20(the\x20node\x20whose\x20entry\x20anchors\x20the\x20clock)','required':!![],'constraint':'Must\x20exactly\x20match\x20the\x20Machine\x20node\x20name\x20(case-sensitive)'},{'name':'service_name','type':'string','description':'Service\x20object\x20name\x20(project\x20binding,\x20circular\x20ref\x20via\x20P16)','required':!![],'constraint':'Must\x20be\x20a\x20name,\x20not\x20an\x20address\x20(the\x20Service\x20is\x20not\x20yet\x20published\x20when\x20the\x20Guard\x20is\x20created)'}],'example_table':[{'identifier':0x0,'b_submission':!![],'value_type':'Address','name':'Order\x20object\x20address','object_type':'Order'},{'identifier':0x1,'b_submission':![],'value_type':'String','value':'${expected_node}','name':'Source\x20node\x20of\x20the\x20gated\x20edge\x20(clock\x20anchor)'},{'identifier':0x2,'b_submission':![],'value_type':'Address','value':'${service_name}','name':'Service\x20object\x20(project\x20binding,\x20R-C3-05)'},{'identifier':0x3,'b_submission':![],'value_type':'U64','value':'${duration_ms}','name':'Time-lock\x20duration\x20in\x20milliseconds'},{'identifier':0xfe,'b_submission':!![],'value_type':'Address','object_type':'Order','name':'task_binding\x20order\x20anchor\x20(protocol\x20slot\x20254;\x20written\x20by\x20order\x20creation)'}],'example_root':{'type':'logic_and','nodes':[{'type':'logic_equal','nodes':[{'type':'query','query':'progress.current','object':{'identifier':0x0,'convert_witness':'OrderProgress'},'parameters':[]},{'type':'identifier','identifier':0x1}]},{'type':'logic_equal','nodes':[{'type':'query','query':'order.service','object':{'identifier':0x0},'parameters':[]},{'type':'identifier','identifier':0x2}]},{'type':'logic_as_u256_greater_or_equal','nodes':[{'type':'context','context':'Clock'},{'type':'calc_number_add','nodes':[{'type':'query_progress_history_time','object':{'identifier':0x0,'convert_witness':'OrderProgress'},'where':{'nextNode':'${expected_node}'},'find':'last'},{'type':'identifier','identifier':0x3}]}]}]},'applicable_industries':['rental','ecommerce','education','travel','subscription','freelance'],'relevant_risks':[],'creation_notes':['DIRECTION\x20IS\x20THE\x20WHOLE\x20POINT\x20(etm-mn-261013\x20A-06):\x20greater_or_equal[Clock,\x20entry+N]\x20encodes\x20an\x20OPENING\x20gate\x20(blocked\x20until\x20entry+N).\x20For\x20a\x20CLOSING\x20window\x20(action\x20allowed\x20only\x20until\x20entry+N)\x20use\x20tpl_time_window_upper\x20—\x20inverting\x20the\x20comparison\x20makes\x20every\x20window\x20permanently\x20open.','ENTRY-TIME\x20ANCHOR\x20(v76):\x20the\x20clock\x20anchors\x20on\x20the\x20source\x20node\x27s\x20recorded\x20entry\x20moment\x20—\x20query\x201280\x20progress.history.time\x20filtered\x20by\x20where.nextNode\x20=\x20${expected_node},\x20find=last.\x20The\x20record\x20is\x20written\x20once\x20on\x20entering\x20the\x20node\x20and\x20never\x20rewritten\x20(drift-immune);\x20a\x20RE-ENTERED\x20node\x20appends\x20a\x20fresh\x20entry,\x20so\x20find=last\x20picks\x20the\x20latest\x20entry\x20and\x20the\x20lock\x20restarts\x20—\x20intended\x20semantics\x20for\x20entry-anchored\x20locks\x20(settle\x20N\x20days\x20after\x20delivery,\x20auto-confirm\x20N\x20days\x20after\x20shipment).\x20A\x20window\x20measured\x20from\x20PURCHASE\x20must\x20anchor\x20on\x20order.time\x20via\x20the\x20order\x20witness\x20instead\x20(TIME-ANCHOR-01);\x20order.time\x20is\x20path-independent.','DOUBLE-MOUNT\x20DOUBLING\x20(az3-mn-261013\x20F-18,\x20mainnet-timed):\x20mounting\x20ONE\x20time-lock\x20Guard\x20on\x20BOTH\x20a\x20forward\x20AND\x20the\x20allocator\x20riding\x20the\x20SAME\x20transition\x20makes\x20the\x20caller\x20wait\x20TWICE\x20—\x20the\x20forward\x20waits\x20N\x20anchored\x20on\x20the\x20source\x20node\x20entry,\x20then\x20the\x20allocator\x20RE-ANCHORS\x20on\x20the\x20destination\x20node\x20entry\x20and\x20waits\x20N\x20again\x20(az3\x20T1:\x20abort\x207\x20twice,\x20effective\x202x\x20dwell).\x20Remedies\x20at\x20build\x20time:\x20(a)\x20put\x20the\x20time\x20lower\x20bound\x20ONLY\x20on\x20the\x20allocator\x20(the\x20forward\x20advances\x20as\x20soon\x20as\x20its\x20non-time\x20legs\x20pass;\x20settlement\x20still\x20waits\x20a\x20single\x20N\x20from\x20the\x20destination\x20entry),\x20or\x20(b)\x20mount\x20two\x20SEPARATE\x20Guard\x20instances\x20with\x20durations\x20that\x20sum\x20to\x20the\x20intended\x20total\x20(N_forward\x20from\x20the\x20source\x20entry\x20+\x20N_alloc\x20from\x20the\x20destination\x20entry).\x20Never\x20reuse\x20one\x20instance\x20across\x20both\x20mounts.','TIME\x20SOURCE\x20DUALITY:\x20chain\x20Clock\x20is\x20native\x20but\x20block-driven\x20and\x20independent\x20of\x20wall\x20time\x20—\x20fine\x20for\x20relative\x20locks;\x20for\x20real-world\x20deadlines\x20use\x20the\x20repository\x20time-oracle\x20recipe\x20(pattern.time_source_repository_oracle)\x20and\x20document\x20which\x20source\x20a\x20published\x20Guard\x20relies\x20on.','OWNER-ONLY\x20STRENGTHENING:\x20this\x20root\x20binds\x20no\x20Signer\x20(keeper\x20slots\x20advance\x20it).\x20For\x20a\x20buyer-advanced\x20forward,\x20AND\x20the\x20identity\x20leg\x20logic_equal[context(Signer),\x20query\x20order.owner]\x20—\x20an\x20unbound\x20keeper\x20edge\x20must\x20never\x20be\x20the\x20only\x20rail\x20out\x20of\x20a\x20locked\x20node\x20(pair\x20with\x20an\x20expiry\x20forward\x20or\x20a\x20recover\x20allocator).','Forward.guard\x20cannot\x20be\x20modified\x20after\x20binding\x20(immutable\x20after\x20Machine\x20publish);\x20verify\x20the\x20node\x20name\x20and\x20duration\x20against\x20the\x20Machine\x20before\x20publishing.',PROTOCOL_SLOT_254_NOTE],'example_use_case':'Long-stay\x20rental:\x20the\x20\x27month\x20settled\x27\x20forward\x20out\x20of\x20the\x20settlement\x20node\x20advances\x20only\x20after\x20the\x20'+'30-day\x20settlement\x20delay\x20elapsed\x20since\x20handover\x20entry\x20—\x20the\x20keeper\x20rail\x20cannot\x20release\x20rent\x20early,\x20'+'and\x20one\x20Guard\x20serves\x20every\x20order\x20(entry\x20time\x20is\x20per-order\x20state,\x20not\x20a\x20Guard\x20constant).','verifier_constraint_level':'level3_scene_combined'},{'id':'tpl_time_window_upper','scene_id':'machine_forward_guard','name':'Time-window\x20upper\x20bound\x20(closing\x20window)','description':'Gates\x20a\x20forward\x20to\x20a\x20window\x20that\x20CLOSES:\x20the\x20chain\x20Clock\x20must\x20be\x20<=\x20the\x20source\x20node\x27s\x20'+'entry\x20time\x20(query\x201280\x20progress.history.time)\x20+\x20duration_ms.\x20Closing-window\x20direction\x20(lesser_or_equal):\x20the\x20forward\x20is\x20'+'allowed\x20only\x20WHILE\x20the\x20window\x20is\x20open\x20—\x20return\x20windows,\x20claim\x20windows,\x20review\x20windows;\x20after\x20expiry\x20'+'the\x20forward\x20aborts.\x20Executable\x20form\x20of\x20pattern.time_window_upper_bound;\x20the\x20opening-gate\x20twin\x20is\x20'+'tpl_time_lock_progress.\x20Anchor\x20semantics:\x20the\x20anchor\x20is\x20the\x20IMMUTABLE\x20recorded\x20entry\x20moment\x20of\x20the\x20'+'source\x20node\x20(witness-derived\x20via\x20OrderProgress);\x20a\x20re-entered\x20node\x20appends\x20a\x20fresh\x20entry\x20and\x20reopens\x20'+'the\x20window\x20(find=last);\x20for\x20a\x20window\x20measured\x20from\x20purchase\x20use\x20an\x20order.time\x20anchor\x20instead\x20'+'(TIME-ANCHOR-01).','recommended_patterns':['P06'],'parameters':[{'name':'duration_ms','type':'number','description':'Window\x20length\x20in\x20milliseconds\x20(measured\x20from\x20the\x20source\x20node\x27s\x20entry)','required':!![],'constraint':'Plain\x20integer\x20milliseconds;\x20test\x20with\x20small\x20values\x20first\x20—\x20chain\x20Clock\x20is\x20block-driven,\x20not\x20wall\x20time'},{'name':'expected_node','type':'string','description':'Source\x20node\x20of\x20the\x20gated\x20edge\x20(the\x20node\x20whose\x20entry\x20opens\x20the\x20window)','required':!![],'constraint':'Must\x20exactly\x20match\x20the\x20Machine\x20node\x20name\x20(case-sensitive)'},{'name':'service_name','type':'string','description':'Service\x20object\x20name\x20(project\x20binding,\x20circular\x20ref\x20via\x20P16)','required':!![],'constraint':'Must\x20be\x20a\x20name,\x20not\x20an\x20address\x20(the\x20Service\x20is\x20not\x20yet\x20published\x20when\x20the\x20Guard\x20is\x20created)'}],'example_table':[{'identifier':0x0,'b_submission':!![],'value_type':'Address','name':'Order\x20object\x20address','object_type':'Order'},{'identifier':0x1,'b_submission':![],'value_type':'String','value':'${expected_node}','name':'Source\x20node\x20of\x20the\x20gated\x20edge\x20(window\x20anchor)'},{'identifier':0x2,'b_submission':![],'value_type':'Address','value':'${service_name}','name':'Service\x20object\x20(project\x20binding,\x20R-C3-05)'},{'identifier':0x3,'b_submission':![],'value_type':'U64','value':'${duration_ms}','name':'Window\x20length\x20in\x20milliseconds'},{'identifier':0xfe,'b_submission':!![],'value_type':'Address','object_type':'Order','name':'task_binding\x20order\x20anchor\x20(protocol\x20slot\x20254;\x20written\x20by\x20order\x20creation)'}],'example_root':{'type':'logic_and','nodes':[{'type':'logic_equal','nodes':[{'type':'query','query':'progress.current','object':{'identifier':0x0,'convert_witness':'OrderProgress'},'parameters':[]},{'type':'identifier','identifier':0x1}]},{'type':'logic_equal','nodes':[{'type':'query','query':'order.service','object':{'identifier':0x0},'parameters':[]},{'type':'identifier','identifier':0x2}]},{'type':'logic_as_u256_lesser_or_equal','nodes':[{'type':'context','context':'Clock'},{'type':'calc_number_add','nodes':[{'type':'query_progress_history_time','object':{'identifier':0x0,'convert_witness':'OrderProgress'},'where':{'nextNode':'${expected_node}'},'find':'last'},{'type':'identifier','identifier':0x3}]}]}]},'applicable_industries':['rental','ecommerce','education','travel','subscription','freelance'],'relevant_risks':[],'creation_notes':['DIRECTION\x20IS\x20THE\x20WHOLE\x20POINT\x20(etm-mn-261013\x20A-06,\x20live-confirmed\x20on\x20a\x2030-day-return\x20migration):\x20lesser_or_equal[Clock,\x20entry+N]\x20closes\x20the\x20window;\x20the\x20opening-gate\x20twin\x27s\x20greater_or_equal\x20would\x20REOPEN\x20it\x20forever.\x20Opening\x20gate\x20(wait\x20N\x20before\x20acting)\x20=\x20tpl_time_lock_progress;\x20closing\x20window\x20(act\x20before\x20N\x20elapses)\x20=\x20THIS\x20template.','EXPIRY\x20SEMANTICS:\x20an\x20expired\x20window\x20only\x20fails\x20the\x20forward\x20it\x20gates\x20—\x20it\x20does\x20not\x20refund\x20or\x20cancel\x20by\x20itself.\x20Pair\x20the\x20window\x20with\x20a\x20machine\x20expiry\x20forward\x20(keeper-advanced)\x20or\x20an\x20allocator\x20recover\x20rail\x20so\x20the\x20post-window\x20fund\x20path\x20exists\x20(FUND-EXIT-01).','ENTRY-TIME\x20ANCHOR\x20(v76):\x20the\x20window\x20anchors\x20on\x20the\x20source\x20node\x27s\x20recorded\x20entry\x20moment\x20—\x20query\x201280\x20progress.history.time\x20filtered\x20by\x20where.nextNode\x20=\x20${expected_node},\x20find=last.\x20The\x20record\x20is\x20immutable\x20(drift-immune);\x20a\x20RE-ENTERED\x20node\x20appends\x20a\x20fresh\x20entry,\x20so\x20find=last\x20picks\x20the\x20latest\x20entry\x20and\x20the\x20window\x20REOPENS.\x20For\x20a\x20window\x20measured\x20from\x20PURCHASE\x20(e.g.\x20\x27return\x20within\x2030\x20days\x20of\x20buying\x27)\x20anchor\x20on\x20order.time\x20via\x20the\x20order\x20witness\x20instead\x20(TIME-ANCHOR-01).','TIME\x20SOURCE\x20DUALITY:\x20chain\x20Clock\x20is\x20block-driven\x20—\x20use\x20the\x20repository\x20time-oracle\x20recipe\x20(pattern.time_source_repository_oracle)\x20for\x20real-world\x20deadlines.','Forward.guard\x20cannot\x20be\x20modified\x20after\x20binding\x20(immutable\x20after\x20Machine\x20publish);\x20verify\x20the\x20node\x20name\x20and\x20window\x20against\x20the\x20Machine\x20before\x20publishing.',PROTOCOL_SLOT_254_NOTE],'example_use_case':'Retail\x20return\x20rail:\x20the\x20\x27return\x20requested\x27\x20forward\x20out\x20of\x20\x27delivered\x27\x20advances\x20only\x20within\x2030\x20days\x20of\x20'+'the\x20delivered\x20entry;\x20after\x20expiry\x20the\x20buyer\x27s\x20route\x20is\x20the\x20keeper\x20expiry\x20rail,\x20not\x20this\x20forward.','verifier_constraint_level':'level3_scene_combined'}];export function getTemplatesByScene(a){return GUARD_TEMPLATES['filter'](b=>b['scene_id']===a);}export function getTemplateById(a){return GUARD_TEMPLATES['find'](b=>b['id']===a);}export function getTemplatesByIndustry(a){return GUARD_TEMPLATES['filter'](b=>b['applicable_industries']['includes'](a));}export function getTemplatesByPattern(a){return GUARD_TEMPLATES['filter'](b=>b['recommended_patterns']['includes'](a));}export function listGuardTemplates(){return GUARD_TEMPLATES;}export function suggestTemplateForScene(a){return GUARD_TEMPLATES['find'](b=>b['scene_id']===a);}export function getTemplateParameters(a){const b=getTemplateById(a);return b?.['parameters']??[];}export function validateTemplateParams(a,b){const c=getTemplateById(a);if(!c)return{'valid':![],'missing':['template_not_found']};const d=c['parameters']['filter'](e=>e['required']&&e['default']===undefined&&!(e['name']in b))['map'](e=>e['name']);return{'valid':d['length']===0x0,'missing':d};}function deepSubstitute(a,b){if(typeof a==='string'){const c=a['match'](/^\$\{(\w+)\}$/);if(c&&c[0x1]in b)return b[c[0x1]];return a['replace'](/\$\{(\w+)\}/g,(d,e)=>e in b?String(b[e]):'${'+e+'}');}if(Array['isArray'](a))return a['map'](d=>deepSubstitute(d,b));if(a&&typeof a==='object'){const d={};for(const [e,f]of Object['entries'](a)){d[e]=deepSubstitute(f,b);}return d;}return a;}export function fillGuardTemplate(a,b){const c=getTemplateById(a);if(!c)return{'ok':![],'error':'Template\x20not\x20found:\x20'+a};const {valid:d,missing:e}=validateTemplateParams(a,b);if(!d)return{'ok':![],'error':'Missing\x20required\x20parameters:\x20'+e['join'](',\x20'),'missing':e};const f={...b};for(const j of c['parameters']){!(j['name']in f)&&j['default']!==undefined&&(f[j['name']]=j['default']);}const g=deepSubstitute(c['example_table'],f),h=deepSubstitute(c['example_root'],f),i=JSON['stringify']({'table':g,'root':h})['match'](/\$\{(\w+)\}/);if(i)return{'ok':![],'error':'Unresolved\x20placeholder\x20${'+i[0x1]+'}\x20—\x20not\x20declared\x20in\x20template\x20parameters'};return{'ok':!![],'table':g,'root':h};}import{z}from'zod';const GuardTemplateParamSchema=z['object']({'name':z['string']()['min'](0x1),'type':z['enum'](['address','string','number','boolean','vec_address']),'description':z['string']()['min'](0x1),'required':z['boolean'](),'default':z['string']()['optional'](),'constraint':z['string']()['optional']()})['strict'](),GuardTemplateSchema=z['object']({'id':z['string']()['regex'](/^tpl_[a-z0-9_]+$/,'guard\x20template\x20id\x20must\x20be\x20\x27tpl_*\x27'),'scene_id':z['string']()['min'](0x1),'name':z['string']()['min'](0x1),'description':z['string']()['min'](0x1),'recommended_patterns':z['array'](z['string']()['min'](0x1)),'parameters':z['array'](GuardTemplateParamSchema),'example_table':z['array'](z['record'](z['string'](),z['unknown']())),'example_root':z['record'](z['string'](),z['unknown']()),'applicable_industries':z['array'](z['string']()['min'](0x1)),'relevant_risks':z['array'](z['string']()['min'](0x1)),'creation_notes':z['array'](z['string']()['min'](0x1)),'example_use_case':z['string']()['min'](0x1),'verifier_constraint_level':z['enum'](['level1_strict','level2_identity_set','level3_scene_combined'])['optional']()})['strict']();function validateGuardTemplates(){for(const a of GUARD_TEMPLATES){const b=GuardTemplateSchema['safeParse'](a);if(!b['success']){const f=b['error']['issues']['map'](g=>'\x20\x20'+g['path']['join']('.')+':\x20'+g['message'])['join']('\x0a');throw new Error('[guard-templates]\x20\x27'+a['id']+'\x27\x20fails\x20schema\x20validation:\x0a'+f+'\x0a'+'Fix\x20the\x20entry\x20—\x20the\x20schema\x20is\x20the\x20single\x20source\x20of\x20truth\x20for\x20guard-template\x20validity.');}const c=new Set(a['parameters']['map'](g=>g['name'])),d=JSON['stringify']({'table':a['example_table'],'root':a['example_root']}),e=new Set([...d['matchAll'](/\$\{(\w+)\}/g)]['map'](g=>g[0x1]));for(const g of e){if(!c['has'](g))throw new Error('[guard-templates]\x20\x27'+a['id']+'\x27\x20references\x20${'+g+'}\x20in\x20example_table/example_root\x20'+('but\x20\x27'+g+'\x27\x20is\x20not\x20declared\x20in\x20parameters\x20—\x20fillGuardTemplate\x20would\x20leave\x20it\x20unresolved.'));}}}validateGuardTemplates();export const GUARD_TEMPLATES_VERSION='1.14.0';export const GUARD_TEMPLATES_COUNT=GUARD_TEMPLATES['length'];
1
+ export const PROTOCOL_SLOT_254_NOTE='PROTOCOL\x20SLOT\x20254:\x20the\x20task-binding\x20row\x20is\x20mandatory\x20on\x20every\x20forward-bound\x20guard\x20—\x20the\x20chain-side\x20task-binding\x20check\x20aborts\x20(code\x2011)\x20without\x20it;\x20the\x20value\x20is\x20written\x20by\x20order\x20creation,\x20never\x20submitted\x20by\x20hand';export const GUARD_TEMPLATES=[{'id':'tpl_buy_guard_whitelist','scene_id':'service_buy_guard','name':'Whitelist\x20purchase\x20validation','description':'Only\x20addresses\x20in\x20the\x20whitelist\x20can\x20purchase\x20the\x20service.\x20Suitable\x20for\x20limited-time\x20sales,\x20VIP\x20exclusives,\x20internal\x20testing\x20eligibility,\x20etc.','recommended_patterns':['P04','P03'],'parameters':[{'name':'whitelist','type':'vec_address','description':'List\x20of\x20authorized\x20addresses','required':!![],'constraint':'Each\x20address\x20must\x20be\x20valid\x20and\x20unique'},{'name':'service_name','type':'string','description':'Service\x20object\x20name\x20(used\x20for\x20circular\x20references)','required':![],'constraint':'If\x20P16\x20circular\x20reference\x20is\x20used,\x20a\x20name\x20must\x20be\x20provided\x20rather\x20than\x20an\x20address'}],'example_table':[{'identifier':0x0,'b_submission':![],'value_type':'VecAddress','value':'${whitelist}','name':'Authorized\x20purchase\x20whitelist'}],'example_root':{'type':'vec_contains_address','nodes':[{'type':'identifier','identifier':0x0},{'type':'context','context':'Signer'}]},'applicable_industries':['rental','ecommerce','education','travel','subscription'],'relevant_risks':['R-C1-01','R-C3-01','R-C4-01'],'creation_notes':['Updating\x20the\x20whitelist\x20requires\x20rebuilding\x20the\x20Guard\x20(buy_guard\x20is\x20iterable)','If\x20the\x20Service\x20is\x20already\x20published,\x20the\x20table\x20can\x20use\x20the\x20address\x20directly;\x20otherwise\x20use\x20the\x20name\x20(P16\x20circular\x20reference)'],'example_use_case':'Internal\x20testing\x20phase\x20for\x20camera\x20equipment\x20rental,\x20allowing\x20only\x20the\x20first\x2050\x20seed\x20users\x20to\x20place\x20rental\x20orders.','verifier_constraint_level':'level2_identity_set'},{'id':'tpl_allocator_threshold','scene_id':'service_order_allocators_guard','name':'Allocation\x20amount\x20threshold\x20validation','description':'Selects\x20different\x20allocation\x20strategies\x20based\x20on\x20the\x20order\x20amount.\x20When\x20the\x20amount\x20exceeds\x20the\x20threshold,\x20advanced\x20allocation\x20is\x20used;\x20otherwise,\x20default\x20allocation\x20applies.','recommended_patterns':['P02','P10'],'parameters':[{'name':'threshold','type':'number','description':'Allocation\x20threshold\x20(unit:\x20smallest\x20precision)','required':!![],'constraint':'Must\x20be\x20>\x200;\x20a\x20reasonable\x20range\x20is\x20recommended\x20to\x20avoid\x20boundary\x20gaming'},{'name':'service_name','type':'string','description':'Service\x20object\x20name','required':!![]}],'example_table':[{'identifier':0x0,'b_submission':![],'value_type':'Address','value':'${service_name}','name':'Service\x20object'},{'identifier':0x1,'b_submission':![],'value_type':'U64','value':'${threshold}','name':'Allocation\x20threshold'}],'example_root':{'type':'logic_as_u256_greater','nodes':[{'type':'query','query':'order.amount','object':{'identifier':0x0},'parameters':[]},{'type':'identifier','identifier':0x1}]},'applicable_industries':['ecommerce','rental','education','travel'],'relevant_risks':['R-X1-01','R-X1-05','R-X1-08'],'creation_notes':['order_allocators\x20cannot\x20be\x20modified\x20after\x20binding\x20(immutable\x20after\x20publish)','A\x20distribution\x20call\x20submits\x20ONE\x20guard;\x20every\x20allocator\x20bound\x20to\x20that\x20guard\x20fires\x20in\x20vector\x20order\x20against\x20the\x20shrinking\x20pool\x20(allocation.move:366-368)','Threshold\x20boundary\x20must\x20be\x20tested:\x20behavior\x20when\x20exactly\x20equal\x20to\x20the\x20threshold\x20(>\x20vs\x20>=)'],'example_use_case':'E-commerce\x20platform:\x20order\x20amount\x20>\x201000\x20WOW\x20triggers\x203-way\x20allocation\x20(platform\x20+\x20merchant\x20+\x20logistics);\x20otherwise\x202-way\x20allocation\x20(platform\x20+\x20merchant).','verifier_constraint_level':'level3_scene_combined'},{'id':'tpl_allocator_treasury_personal','scene_id':'service_order_allocators_guard','name':'Treasury\x20+\x20personal\x20address\x20allocation\x20(Entity\x20sharing)','description':'2\x20allocators\x20representing\x202\x20merchant\x20collection\x20approaches:\x20(1)\x20named\x20Treasury\x20address\x20for\x20public\x20fund\x20aggregation,\x20(2)\x20fixed\x20personal\x20address.\x20'+'Uses\x20sharing.who=Entity\x20so\x20funds\x20always\x20flow\x20to\x20the\x20legitimate\x20recipient\x20regardless\x20of\x20caller\x20—\x20no\x20Signer\x20binding\x20needed\x20in\x20Guard.\x20'+'Guards\x20verify\x20the\x20order\x20is\x20at\x20the\x20Complete\x20node\x20+\x20belongs\x20to\x20the\x20service\x20(project\x20binding).','recommended_patterns':['P02','P10','P16'],'parameters':[{'name':'service_name','type':'string','description':'Service\x20object\x20name\x20(circular\x20ref\x20via\x20P16\x20—\x20resolved\x20after\x20Service\x20publish)','required':!![],'constraint':'Must\x20be\x20a\x20name,\x20not\x20an\x20address\x20(the\x20Service\x20is\x20not\x20yet\x20published\x20when\x20the\x20Guard\x20is\x20created)'},{'name':'complete_node_name','type':'string','description':'Expected\x20node\x20name\x20that\x20triggers\x20allocation\x20(e.g.\x20\x27Complete\x27)','required':!![],'default':'Complete','constraint':'Must\x20exactly\x20match\x20the\x20Machine\x20node\x20name\x20(case-sensitive)'},{'name':'treasury_name','type':'string','description':'Named\x20Treasury\x20object\x20(created\x20with\x20the\x20Service\x27s\x20permission)','required':!![],'constraint':'Treasury\x20must\x20be\x20created\x20before\x20the\x20Service;\x20use\x20the\x20SAME\x20permission\x20as\x20the\x20Service\x20for\x20consistency'},{'name':'personal_address','type':'address','description':'Fixed\x20personal\x20collection\x20address\x20(e.g.\x20the\x20permission\x20creator\x27s\x20address)','required':!![]}],'example_table':[{'identifier':0x0,'b_submission':!![],'value_type':'Address','object_type':'Order','name':'order_id\x20(Order\x20object\x20submitted\x20at\x20runtime)'},{'identifier':0x1,'b_submission':![],'value_type':'String','value':'${complete_node_name}','name':'Expected\x20Complete\x20node\x20name\x20(case-sensitive)'},{'identifier':0x2,'b_submission':![],'value_type':'Address','value':'${service_name}','name':'Service\x20object\x20(project\x20binding,\x20circular\x20ref\x20via\x20name)'}],'example_root':{'type':'logic_and','nodes':[{'type':'logic_equal','nodes':[{'type':'query','query':'progress.current','object':{'identifier':0x0,'convert_witness':'OrderProgress'},'parameters':[]},{'type':'identifier','identifier':0x1}]},{'type':'logic_equal','nodes':[{'type':'query','query':'order.service','object':{'identifier':0x0},'parameters':[]},{'type':'identifier','identifier':0x2}]}]},'applicable_industries':['insurance','ecommerce','travel','rental','subscription'],'relevant_risks':['R-C3-05','R-C3-06','R-X1-05','R-X1-01'],'creation_notes':['2\x20Guard\x20objects\x20with\x20IDENTICAL\x20root/table\x20but\x20DIFFERENT\x20descriptions\x20(allocators\x20require\x20unique\x20guard\x20addresses\x20—\x20no\x20two\x20allocators\x20may\x20reference\x20the\x20same\x20Guard).','sharing.who=Entity\x20(Treasury/personal)\x20—\x20no\x20Signer\x20binding\x20needed\x20in\x20the\x20Guard\x20(R-C3-06\x20safe).','Each\x20allocator\x20is\x20bound\x20to\x20a\x20DIFFERENT\x20guard\x20—\x20the\x20caller\x27s\x20submitted\x20guard\x20selects\x20which\x20path\x20fires.\x20To\x20switch\x20from\x20Treasury\x20to\x20personal\x20collection,\x20submit\x20the\x20personal\x20allocator\x27s\x20guard\x20instead','Treasury\x20should\x20be\x20created\x20with\x20the\x20SAME\x20permission\x20as\x20the\x20Service\x20(permission\x20consistency\x20—\x20different\x20permissions\x20=\x20minor\x20risk).','order.service\x20binding\x20(query\x201563)\x20suppresses\x20R-C3-05\x20(cross-project\x20bypass\x20prevents\x20premature\x20allocation\x20on\x20foreign\x20orders).','order_allocators\x20is\x20immutable\x20after\x20Service\x20publish\x20—\x20verify\x20the\x20Guard\x20logic\x20and\x20sharing\x20config\x20before\x20publishing.'],'example_use_case':'Insurance\x20service:\x20after\x20a\x20claim\x20reaches\x20the\x20Complete\x20node,\x20order\x20funds\x20are\x20allocated\x20to\x20the\x20insurance\x20Treasury\x20'+'(approach\x201,\x20for\x20operational\x20fund\x20aggregation)\x20or\x20to\x20the\x20provider\x27s\x20personal\x20address\x20(approach\x202,\x20for\x20direct\x20income).','verifier_constraint_level':'level3_scene_combined'},{'id':'tpl_allocator_identity_set_order_holder','scene_id':'service_order_allocators_guard','name':'Order-holder\x20identity-set\x20allocation\x20(Level\x202)','description':'Level\x202\x20identity-set\x20binding:\x20Signer\x20is\x20order.owner\x20(1562,\x20Address)\x20OR\x20order.agent\x20(1567,\x20Bool\x20with\x20[Signer]\x20param).\x20'+'Demonstrates\x20the\x20mixed\x20return-type\x20construction\x20pattern\x20—\x20Address-returning\x20queries\x20are\x20wrapped\x20in\x20logic_equal,\x20'+'while\x20Bool-returning\x20queries\x20(suffix\x20\x27has\x27)\x20are\x20used\x20directly\x20as\x20logic_or\x20children.\x20'+'Combined\x20with\x20order.service\x20binding\x20(R-C3-05)\x20for\x20cross-service\x20theft\x20prevention.\x20'+'Use\x20when\x20either\x20the\x20order\x20owner\x20or\x20an\x20authorized\x20agent\x20should\x20be\x20able\x20to\x20trigger\x20allocation\x20(e.g.\x20refund\x20to\x20caller).','recommended_patterns':['P02','P10','P16'],'parameters':[{'name':'service_name','type':'string','description':'Service\x20object\x20name\x20(circular\x20ref\x20via\x20P16)','required':!![],'constraint':'Must\x20be\x20a\x20name,\x20not\x20an\x20address\x20(the\x20Service\x20is\x20not\x20yet\x20published\x20when\x20the\x20Guard\x20is\x20created)'}],'example_table':[{'identifier':0x0,'b_submission':!![],'value_type':'Address','object_type':'Order','name':'order_id\x20(Order\x20object\x20submitted\x20at\x20runtime)'},{'identifier':0x1,'b_submission':![],'value_type':'Address','value':'${service_name}','name':'Service\x20object\x20(project\x20binding,\x20circular\x20ref\x20via\x20name)'}],'example_root':{'type':'logic_and','nodes':[{'type':'logic_or','nodes':[{'type':'logic_equal','nodes':[{'type':'query','query':'order.owner','object':{'identifier':0x0},'parameters':[]},{'type':'context','context':'Signer'}]},{'type':'query','query':'order.agent\x20has','object':{'identifier':0x0},'parameters':[{'type':'context','context':'Signer'}]}]},{'type':'logic_equal','nodes':[{'type':'query','query':'order.service','object':{'identifier':0x0},'parameters':[]},{'type':'identifier','identifier':0x1}]}]},'applicable_industries':['ecommerce','rental','travel','subscription'],'relevant_risks':['R-C3-01','R-C3-05','R-C3-06','R-C4-04'],'creation_notes':['MIXED\x20RETURN-TYPE\x20CONSTRUCTION\x20(key\x20Level\x202\x20pattern):\x20query\x201562\x20(order.owner)\x20returns\x20Address\x20→\x20wrap\x20in\x20logic_equal\x20with\x20context(Signer);\x20query\x201567\x20(order.agent\x20has)\x20returns\x20Bool\x20→\x20use\x20directly\x20as\x20logic_or\x20child\x20with\x20parameters:\x20[context(Signer)].','logic_or\x20wrapping\x20of\x20the\x20Signer\x20check\x20suppresses\x20R-C4-04\x20(Level\x201\x20strict\x20binding\x20convenience\x20warning)\x20—\x20this\x20is\x20the\x20recommended\x20Level\x202\x20alternative.','Use\x20this\x20pattern\x20when\x20sharing.who=Signer\x20(funds\x20flow\x20to\x20caller)\x20AND\x20either\x20the\x20owner\x20or\x20an\x20agent\x20should\x20be\x20authorized\x20to\x20trigger\x20allocation.','order.service\x20binding\x20(query\x201563)\x20suppresses\x20R-C3-05\x20(cross-project\x20bypass).','If\x20agents\x20are\x20not\x20needed,\x20use\x20the\x20simpler\x20Level\x202\x20dynamic\x20pattern:\x20logic_equal[query(1562),\x20context(Signer)]\x20without\x20logic_or.'],'example_use_case':'Refund\x20allocation:\x20when\x20an\x20order\x20is\x20cancelled,\x20either\x20the\x20order\x20owner\x20or\x20an\x20authorized\x20agent\x20can\x20trigger\x20the\x20refund.\x20'+'The\x20Guard\x20verifies\x20Signer\x20is\x20order.owner\x20OR\x20order.agent,\x20and\x20that\x20the\x20order\x20belongs\x20to\x20this\x20service.','verifier_constraint_level':'level2_identity_set'},{'id':'tpl_allocator_identity_set_service_provider_dynamic','scene_id':'service_order_allocators_guard','name':'Service-provider\x20identity-set\x20allocation\x20with\x20dynamic\x20permission\x20(Level\x202)','description':'Level\x202\x20identity-set\x20binding\x20with\x20DYNAMIC\x20permission\x20address:\x20Signer\x20is\x20permission.owner\x20(1002,\x20Address)\x20OR\x20'+'has\x20admin\x20(1004,\x20Bool\x20with\x20[Signer]\x20param).\x20The\x20permission\x20address\x20is\x20submitted\x20by\x20the\x20caller\x20and\x20verified\x20'+'against\x20service.permission\x20(1488)\x20—\x20this\x20survives\x20permission\x20rotation\x20without\x20rebuilding\x20the\x20Guard.\x20'+'Use\x20when\x20the\x20Service\x20may\x20rotate\x20its\x20permission\x20(like\x20a\x20company\x20changing\x20its\x20board)\x20and\x20a\x20static\x20permission\x20'+'address\x20would\x20break\x20the\x20Guard.','recommended_patterns':['P02','P10','P16'],'parameters':[{'name':'service_name','type':'string','description':'Service\x20object\x20name\x20(circular\x20ref\x20via\x20P16)','required':!![],'constraint':'Must\x20be\x20a\x20name,\x20not\x20an\x20address\x20(the\x20Service\x20is\x20not\x20yet\x20published\x20when\x20the\x20Guard\x20is\x20created)'}],'example_table':[{'identifier':0x0,'b_submission':!![],'value_type':'Address','object_type':'Order','name':'order_id\x20(Order\x20object\x20submitted\x20at\x20runtime)'},{'identifier':0x1,'b_submission':![],'value_type':'Address','value':'${service_name}','name':'Service\x20object\x20(project\x20binding,\x20circular\x20ref\x20via\x20name)'},{'identifier':0x2,'b_submission':!![],'value_type':'Address','object_type':'Permission','name':'Permission\x20object\x20(submitted\x20by\x20caller\x20—\x20must\x20equal\x20service.permission)'}],'example_root':{'type':'logic_and','nodes':[{'type':'logic_equal','nodes':[{'type':'query','query':'order.service','object':{'identifier':0x0},'parameters':[]},{'type':'identifier','identifier':0x1}]},{'type':'logic_equal','nodes':[{'type':'query','query':'service.permission','object':{'identifier':0x1},'parameters':[]},{'type':'identifier','identifier':0x2}]},{'type':'logic_or','nodes':[{'type':'logic_equal','nodes':[{'type':'query','query':'permission.owner','object':{'identifier':0x2},'parameters':[]},{'type':'context','context':'Signer'}]},{'type':'query','query':'permission.admin\x20has','object':{'identifier':0x2},'parameters':[{'type':'context','context':'Signer'}]}]}]},'applicable_industries':['ecommerce','rental','insurance','travel','subscription'],'relevant_risks':['R-C3-01','R-C3-05','R-C3-06','R-C4-04'],'creation_notes':['DYNAMIC\x20PERMISSION\x20VERIFICATION\x20(key\x20pattern):\x20caller\x20submits\x20a\x20Permission\x20address\x20(identifier\x202);\x20Guard\x20verifies\x20query(1488:\x20service.permission)\x20==\x20submitted\x20permission,\x20then\x20checks\x201002/1004\x20against\x20the\x20submitted\x20permission.\x20This\x20survives\x20permission\x20rotation\x20—\x20if\x20the\x20Service\x20changes\x20its\x20permission,\x20the\x20Guard\x20still\x20works\x20without\x20rebuilding.','MIXED\x20RETURN-TYPE\x20CONSTRUCTION:\x20query\x201002\x20(permission.owner)\x20returns\x20Address\x20→\x20wrap\x20in\x20logic_equal;\x20query\x201004\x20(permission.admin\x20has)\x20returns\x20Bool\x20→\x20use\x20directly\x20as\x20logic_or\x20child\x20with\x20parameters:\x20[context(Signer)].','logic_or\x20wrapping\x20of\x20the\x20Signer\x20check\x20suppresses\x20R-C4-04\x20(Level\x201\x20strict\x20binding\x20convenience\x20warning).','THREE\x20conditions\x20in\x20logic_and:\x20(1)\x20order.service\x20binding\x20(R-C3-05),\x20(2)\x20dynamic\x20permission\x20verification,\x20(3)\x20identity\x20set\x20(owner\x20OR\x20admin).','Static\x20permission\x20alternative\x20(simpler\x20but\x20breaks\x20on\x20rotation):\x20use\x20a\x20table\x20constant\x20for\x20the\x20permission\x20address\x20instead\x20of\x20b_submission=true\x20+\x201488\x20verification.','Repository-based\x20address\x20set\x20(most\x20flexible,\x20most\x20complex):\x20store\x20the\x20permission\x20address\x20set\x20in\x20a\x20Repository\x20and\x20query\x20dynamically\x20—\x20only\x20for\x20extreme\x20flexibility\x20needs.'],'example_use_case':'Merchant\x20allocation:\x20the\x20Service\x20may\x20rotate\x20its\x20permission\x20(like\x20a\x20company\x20changing\x20its\x20board).\x20'+'The\x20caller\x20submits\x20the\x20current\x20permission\x20address;\x20the\x20Guard\x20verifies\x20it\x20matches\x20service.permission\x20(1488),\x20'+'then\x20checks\x20that\x20Signer\x20is\x20the\x20permission\x20owner\x20or\x20has\x20admin\x20rights.','verifier_constraint_level':'level2_identity_set'},{'id':'tpl_allocator_node_gate_settle','scene_id':'service_order_allocators_guard','name':'Node-gated\x20settlement\x20rail\x20(node\x20gate\x20+\x20order\x20anchor\x20+\x20period\x20once-key)','description':'Settlement\x20allocator\x20guard\x20for\x20rails\x20that\x20legitimately\x20run\x20once\x20per\x20RENEWAL\x20PERIOD:\x20progress.current\x20==\x20settle_node,\x20'+'plus\x20the\x20order.service\x20project\x20binding\x20(R-C3-05)\x20and\x20the\x20protocol-255\x20once-per-period\x20key\x20pinned\x20to\x20the\x20monotonic\x20'+'progress.history\x20count\x20(replay-proof\x20on\x20renewal\x20loops;\x20OFN\x20#P-04,\x20mainnet-proven).\x20For\x20ONE-SHOT\x20per-order\x20escrow\x20'+'(the\x20order\x20settles\x20at\x20most\x20once\x20in\x20its\x20lifetime)\x20use\x20tpl_allocator_node_gate_settle_once\x20instead\x20—\x20the\x20history\x20'+'count\x20is\x20PUBLICLY\x20READABLE\x20(zero\x20replay\x20protection\x20on\x20a\x20single-shot\x20rail)\x20and\x20a\x20keeper\x20off-by-one\x20permanently\x20'+'locks\x20the\x20key\x20(klook\x20KL-LIVE-01,\x20261014).\x20Canonical\x20guard\x20design\x20for\x20settlement\x20'+'allocator\x20rows\x20(catalog-tiers\x20style)\x20—\x20do\x20NOT\x20borrow\x20tpl_forward_node_check\x20(machine_forward\x20scene).','recommended_patterns':['P02','P06','P10','P16'],'parameters':[{'name':'service_name','type':'string','description':'Service\x20object\x20name\x20(circular\x20ref\x20via\x20P16\x20—\x20resolved\x20after\x20Service\x20publish)','required':!![],'constraint':'Must\x20be\x20a\x20name,\x20not\x20an\x20address\x20(the\x20Service\x20is\x20not\x20yet\x20published\x20when\x20the\x20Guard\x20is\x20created)'},{'name':'settle_node','type':'string','description':'Machine\x20node\x20whose\x20arrival\x20triggers\x20settlement\x20(e.g.\x20\x27completed\x27)','required':!![],'default':'completed','constraint':'Must\x20exactly\x20match\x20the\x20Machine\x20node\x20name\x20(case-sensitive)'}],'example_table':[{'identifier':0x0,'b_submission':!![],'value_type':'Address','object_type':'Order','name':'order_id\x20(Order\x20object\x20submitted\x20at\x20runtime)'},{'identifier':0x1,'b_submission':![],'value_type':'String','value':'${settle_node}','name':'Settlement\x20node\x20name\x20(case-sensitive)'},{'identifier':0x2,'b_submission':![],'value_type':'Address','value':'${service_name}','name':'Service\x20object\x20(project\x20binding,\x20circular\x20ref\x20via\x20name)'},{'identifier':0xff,'b_submission':!![],'value_type':'U64','name':'ONCE\x20byte-key\x20slot\x20(protocol\x20255):\x20caller\x20submits\x20the\x20current\x20period\x20step;\x20the\x20guard\x20leg\x20pins\x20it\x20to\x20the\x20monotonic\x20progress.history\x20count\x20so\x20each\x20period\x20gets\x20a\x20fresh\x20key'}],'example_root':{'type':'logic_and','nodes':[{'type':'logic_equal','nodes':[{'type':'query','query':'progress.current','object':{'identifier':0x0,'convert_witness':'OrderProgress'},'parameters':[]},{'type':'identifier','identifier':0x1}]},{'type':'logic_equal','nodes':[{'type':'query','query':'order.service','object':{'identifier':0x0},'parameters':[]},{'type':'identifier','identifier':0x2}]},{'type':'logic_equal','nodes':[{'type':'identifier','identifier':0xff},{'type':'query','query':'progress.history\x20count','object':{'identifier':0x0,'convert_witness':'OrderProgress'},'parameters':[]}]}]},'applicable_industries':['ecommerce','rental','education','travel','subscription','freelance'],'relevant_risks':['R-C3-05','R-X1-05','R-X1-01'],'creation_notes':['THREE\x20legs\x20in\x20logic_and:\x20(1)\x20node\x20gate\x20progress.current\x20==\x20settle_node\x20(the\x20arrival\x20precondition),\x20(2)\x20order.service\x20binding\x20(suppresses\x20R-C3-05\x20cross-project\x20allocation\x20on\x20foreign\x20orders),\x20(3)\x20protocol-255\x20once\x20leg\x20pinned\x20to\x20progress.history\x20count\x20(monotonic,\x20unforgeable\x20—\x20each\x20period\x20gets\x20a\x20fresh\x20OnceKey;\x20OFN\x20#P-04,\x20mainnet-proven\x20261010).','The\x20guard\x20table\x20MUST\x20declare\x20identifier\x20255\x20(b_submission:\x20true)\x20—\x20the\x20chain\x20drops\x20undeclared\x20slots\x20when\x20it\x20assembles\x20the\x20passport\x20from\x20the\x20guard\x20table,\x20so\x20the\x20once\x20leg\x20could\x20never\x20pass\x20without\x20the\x20declaration.','Pair\x20the\x20settlement\x20rows\x20with\x20a\x20Rate-0\x20{GuardIdentifier:\x200}\x20ORDER\x20anchor\x20row\x20(pattern.allocator_order_anchor)\x20sharing\x20this\x20guard_key,\x20so\x20the\x20submitted\x20ORDER\x20becomes\x20the\x20binding\x20target\x20and\x20a\x20sibling\x20period\x27s\x20passport\x20satisfies\x20nothing\x20(testnet\x20CR-01).','Drop\x20the\x20255\x20leg\x20ONLY\x20when\x20the\x20settle\x20node\x20is\x20reachable\x20exactly\x20once\x20per\x20order\x20lifetime\x20AND\x20no\x20renewal\x20loop\x20exists\x20(single-shot\x20services);\x20a\x20re-enterable\x20settle\x20node\x20without\x20it\x20is\x20replayable.\x20A\x20SINGLE-SHOT\x20service\x20should\x20NOT\x20use\x20this\x20template\x20at\x20all\x20—\x20use\x20tpl_allocator_node_gate_settle_once\x20(chain-derived\x20254\x20key):\x20a\x20single-shot\x20rail\x20keyed\x20to\x20the\x20publicly\x20readable\x20history\x20count\x20has\x20zero\x20replay\x20protection\x20and\x20a\x20keeper\x20off-by-one\x20permanently\x20locks\x20it\x20(klook\x20KL-LIVE-01,\x20261014).','order_allocators\x20cannot\x20be\x20modified\x20after\x20Service\x20publish\x20(immutable)\x20—\x20verify\x20node\x20names\x20against\x20the\x20Machine\x20before\x20publishing.'],'example_use_case':'Subscription\x20settlement:\x20each\x20period\x20settles\x20to\x20the\x20creator\x20when\x20the\x20fan\x20confirms\x20(completed);\x20the\x20255\x20leg\x20keyed\x20to\x20the\x20period\x27s\x20history\x20count\x20lets\x20periods\x201..N\x20each\x20settle\x20exactly\x20once.','verifier_constraint_level':'level3_scene_combined'},{'id':'tpl_allocator_node_gate_settle_once','scene_id':'service_order_allocators_guard','name':'Node-gated\x20SINGLE-SHOT\x20settlement\x20rail\x20(node\x20gate\x20+\x20order\x20anchor\x20+\x20chain-derived\x20254\x20once)','description':'Settlement\x20allocator\x20guard\x20for\x20ONE-SHOT\x20per-order\x20escrow\x20(the\x20order\x20settles\x20at\x20most\x20once\x20in\x20its\x20lifetime):\x20'+'progress.current\x20in\x20the\x20settle-eligible\x20NODE\x20SET\x20{settle_node,\x20settle_node_alt,\x20settle_node_alt2}\x20—\x20the\x20final\x20'+'node\x20plus\x20every\x20optional\x20post-settlement\x20side\x20node\x20(UPWC-K2/CAT-C1:\x20a\x20buyer\x20Praise\x20moved\x20progress.current\x20to\x20'+'\x27wonder\x27\x20and\x20the\x20completed-only\x20pin\x20aborted\x20the\x20merchant\x27s\x20alloc,\x20stranding\x20the\x20escrow)\x20—\x20plus\x20the\x20order.service\x20'+'project\x20binding\x20(R-C3-05),\x20plus\x20the\x20claimed_by\x20some\x20==\x20false\x20polarity\x20leg\x20(ctra-mn-261019\x20F-05:\x20without\x20it\x20an\x20'+'AWARDED\x20order\x20could\x20fire\x20settle\x20AND\x20the\x20recovery\x20rail\x20against\x20the\x20same\x20pool\x20—\x20first-come\x20wins\x20and\x20the\x20loser\x27s\x20'+'split\x20is\x20skipped;\x20the\x20leg\x20joins\x20the\x20D-BUG-2\x20exclusion\x20the\x20refund/recover\x20twins\x20already\x20carry;\x20BKN-P1\x20caveat:\x20a\x20'+'ZERO-award\x20ruling\x20also\x20sets\x20claimed_by,\x20so\x20a\x20ruled-zero\x20order\x20settles\x20via\x20the\x20recovery\x20rail\x20paying\x20the\x20merchant\x20'+'Entity,\x20never\x20via\x20this\x20rail),\x20plus\x20the\x20protocol-254\x20'+'chain-derived\x20once\x20key\x20—\x20bcs(payment_info.for_object)\x20derived\x20on-chain,\x20submitted\x20bytes\x20ignored,\x20exactly-once\x20'+'per\x20paying\x20order\x20enforced\x20by\x20the\x20chain\x20(aborts\x2016\x20on\x20replay,\x2021\x20when\x20the\x20order\x20declares\x20no\x20for_object).\x20'+'For\x20rails\x20that\x20legitimately\x20run\x20once\x20per\x20RENEWAL\x20PERIOD\x20use\x20tpl_allocator_node_gate_settle\x20(255\x20+\x20period\x20key)\x20instead.','recommended_patterns':['P02','P06','P10','P16'],'parameters':[{'name':'service_name','type':'string','description':'Service\x20object\x20name\x20(circular\x20ref\x20via\x20P16\x20—\x20resolved\x20after\x20Service\x20publish)','required':!![],'constraint':'Must\x20be\x20a\x20name,\x20not\x20an\x20address\x20(the\x20Service\x20is\x20not\x20yet\x20published\x20when\x20the\x20Guard\x20is\x20created)'},{'name':'settle_node','type':'string','description':'Machine\x20node\x20whose\x20arrival\x20triggers\x20settlement\x20(e.g.\x20\x27completed\x27)','required':!![],'default':'completed','constraint':'Must\x20exactly\x20match\x20the\x20Machine\x20node\x20name\x20(case-sensitive)'},{'name':'settle_node_alt','type':'string','description':'Second\x20settle-eligible\x20node\x20—\x20the\x20template\x27s\x20post-settlement\x20OPTIONAL\x20side\x20node\x20(e.g.\x20\x27wonder\x27).\x20Defaults\x20to\x20the\x20primary\x20(duplicate\x20tautology\x20leg)\x20when\x20the\x20machine\x20has\x20no\x20side\x20nodes','required':![],'default':'completed','constraint':'UPWC-K2\x20(upwc-cat-261017\x20CAT-C1):\x20a\x20settlement\x20gate\x20pinned\x20to\x20the\x20final\x20node\x20ALONE\x20strands\x20the\x20escrow\x20the\x20moment\x20a\x20buyer\x20uses\x20an\x20optional\x20post-settlement\x20side\x20action\x20(Praise/Complain\x20move\x20progress.current\x20off\x20completed\x20BEFORE\x20the\x20merchant\x27s\x20alloc\x20runs).\x20Pass\x20every\x20node\x20settlement\x20must\x20still\x20fire\x20from'},{'name':'settle_node_alt2','type':'string','description':'Third\x20settle-eligible\x20node\x20(e.g.\x20\x27no_wonder\x27).\x20Defaults\x20to\x20the\x20primary\x20(duplicate\x20tautology\x20leg)\x20when\x20unneeded','required':![],'default':'completed'}],'example_table':[{'identifier':0x0,'b_submission':!![],'value_type':'Address','object_type':'Order','name':'order_id\x20(Order\x20object\x20submitted\x20at\x20runtime)'},{'identifier':0x1,'b_submission':![],'value_type':'String','value':'${settle_node}','name':'Settlement\x20node\x20name\x20(case-sensitive)'},{'identifier':0x2,'b_submission':![],'value_type':'Address','value':'${service_name}','name':'Service\x20object\x20(project\x20binding,\x20circular\x20ref\x20via\x20name)'},{'identifier':0x3,'b_submission':![],'value_type':'Bool','value':![],'name':'Expected\x20claimed_by\x20polarity:\x20false\x20=\x20no\x20arbitration\x20award\x20has\x20ACTUALLY\x20paid\x20(query\x20\x27order.claimed_by\x20some\x27);\x20an\x20awarded\x20order\x20exits\x20via\x20the\x20recovery\x20rail,\x20never\x20settle'},{'identifier':0x4,'b_submission':![],'value_type':'String','value':'${settle_node_alt}','name':'Second\x20settle-eligible\x20node\x20(optional\x20side\x20node;\x20duplicates\x20the\x20primary\x20when\x20unused)'},{'identifier':0x5,'b_submission':![],'value_type':'String','value':'${settle_node_alt2}','name':'Third\x20settle-eligible\x20node\x20(optional\x20side\x20node;\x20duplicates\x20the\x20primary\x20when\x20unused)'},{'identifier':0xfe,'b_submission':!![],'value_type':'Address','name':'CHAIN-DERIVED\x20ONCE\x20slot\x20(protocol\x20254):\x20the\x20once\x20key\x20is\x20derived\x20on-chain\x20from\x20the\x20paying\x20order\x20(bcs(payment_info.for_object));\x20the\x20submitted\x20bytes\x20are\x20ignored,\x20so\x20exactly-once\x20per\x20order\x20is\x20chain-enforced\x20and\x20publicly\x20unforgeable'}],'example_root':{'type':'logic_and','nodes':[{'type':'logic_or','nodes':[{'type':'logic_equal','nodes':[{'type':'query','query':'progress.current','object':{'identifier':0x0,'convert_witness':'OrderProgress'},'parameters':[]},{'type':'identifier','identifier':0x1}]},{'type':'logic_equal','nodes':[{'type':'query','query':'progress.current','object':{'identifier':0x0,'convert_witness':'OrderProgress'},'parameters':[]},{'type':'identifier','identifier':0x4}]},{'type':'logic_equal','nodes':[{'type':'query','query':'progress.current','object':{'identifier':0x0,'convert_witness':'OrderProgress'},'parameters':[]},{'type':'identifier','identifier':0x5}]}]},{'type':'logic_equal','nodes':[{'type':'query','query':'order.service','object':{'identifier':0x0},'parameters':[]},{'type':'identifier','identifier':0x2}]},{'type':'logic_equal','nodes':[{'type':'query','query':'order.claimed_by\x20some','object':{'identifier':0x0},'parameters':[]},{'type':'identifier','identifier':0x3}]}]},'applicable_industries':['ecommerce','rental','education','travel','freelance'],'relevant_risks':['R-C3-05','R-X1-05','R-X1-01'],'creation_notes':['THREE\x20logic\x20legs\x20in\x20logic_and\x20(node-SET\x20gate\x20+\x20order.service\x20binding\x20+\x20claimed_by\x20some\x20==\x20false);\x20the\x20ONCE\x20semantics\x20is\x20NOT\x20a\x20logic\x20leg\x20—\x20it\x20is\x20the\x20declared\x20254\x20submission\x20slot:\x20alloc()\x20derives\x20the\x20key\x20on-chain\x20as\x20bcs(payment_info.for_object)\x20and\x20a\x20second\x20alloc\x20for\x20the\x20same\x20order\x20aborts\x2016\x20(E_ONCE_TRIGGERED)\x20before\x20any\x20distribution.','NODE-SET\x20SHAPE\x20(klook-mn-261019\x20KLM-FIND-02):\x20the\x20node-set\x20leg\x20is\x20a\x20logic_or\x20ONLY\x20when\x20the\x20settled\x20set\x20has\x202+\x20nodes\x20—\x20logic_or\x20requires\x20at\x20least\x202\x20children\x20(\x27logic_or\x20requires\x20at\x20least\x202\x20child\x20nodes\x27),\x20so\x20a\x20SINGLE-node\x20rail\x20uses\x20the\x20bare\x20logic_equal[progress.current\x20==\x20<node>]\x20as\x20the\x20leg;\x20wrapping\x20one\x20node\x20in\x20logic_or\x20fails\x20guard\x20creation.','The\x20guard\x20table\x20MUST\x20declare\x20{identifier:\x20254,\x20b_submission:\x20true,\x20value_type:\x20\x27Address\x27}\x20—\x20the\x20chain\x20drops\x20undeclared\x20slots\x20when\x20it\x20assembles\x20the\x20passport\x20from\x20the\x20guard\x20table.','WHY\x20NOT\x20255\x20+\x20history\x20count\x20on\x20a\x20single-shot\x20rail\x20(klook\x20KL-LIVE-01):\x20the\x20history\x20count\x20is\x20PUBLICLY\x20READABLE\x20(anyone\x20pre-computes\x20the\x20next\x20value\x20—\x20zero\x20replay\x20protection)\x20and\x20a\x20keeper\x20off-by-one\x20pins\x20the\x20wrong\x20key\x20and\x20permanently\x20locks\x20the\x20rail;\x20254\x20is\x20chain-derived\x20from\x20the\x20paying\x20order\x20and\x20immune\x20to\x20both.','Pair\x20the\x20settlement\x20rows\x20with\x20a\x20Rate-0\x20{GuardIdentifier:\x200}\x20ORDER\x20anchor\x20row\x20(pattern.allocator_order_anchor)\x20sharing\x20this\x20guard_key,\x20so\x20the\x20submitted\x20ORDER\x20becomes\x20the\x20binding\x20target\x20(testnet\x20CR-01).','Renewal/subscription\x20settlement\x20(once\x20per\x20PERIOD)\x20must\x20use\x20tpl_allocator_node_gate_settle\x20—\x20254\x20keys\x20on\x20payment_info.for_object\x20which\x20never\x20changes\x20across\x20periods,\x20so\x20a\x20renewal\x20rail\x20with\x20254\x20aborts\x2016\x20forever\x20from\x20period\x202\x20(OFN\x20#P-04).','order_allocators\x20cannot\x20be\x20modified\x20after\x20Service\x20publish\x20(immutable)\x20—\x20verify\x20node\x20names\x20against\x20the\x20Machine\x20before\x20publishing.'],'example_use_case':'Travel\x20single-shot\x20settlement:\x20each\x20order\x20settles\x20exactly\x20once\x20when\x20the\x20last\x20segment\x20is\x20redeemed\x20(completed);\x20a\x20replayed\x20alloc\x20for\x20the\x20same\x20order\x20aborts\x2016\x20via\x20the\x20chain-derived\x20254\x20key\x20—\x20no\x20keeper-computed\x20key\x20to\x20guess\x20or\x20mistype.','verifier_constraint_level':'level3_scene_combined'},{'id':'tpl_allocator_node_gate_refund','scene_id':'service_order_allocators_guard','name':'Node-gated\x20refund\x20rail\x20(node\x20gate\x20+\x20order\x20anchor;\x20NEVER\x20slot\x20254)','description':'Refund\x20allocator\x20guard\x20for\x20ONE\x20cancel/refund\x20node:\x20progress.current\x20==\x20refund_node\x20plus\x20the\x20order.service\x20project\x20binding\x20'+'(R-C3-05)\x20plus\x20the\x20claimed_by\x20some\x20==\x20false\x20polarity\x20leg\x20—\x20the\x20claimed_by\x20leg\x20ships\x20IN\x20example_root\x20(coursera-mn-261014\x20'+'F-30:\x20a\x20prose-only\x20claimed_by\x20instruction\x20made\x20the\x20resolver\x20synthesize\x20a\x20double-negated\x20leg\x20that\x20bricked\x20the\x20rail\x20on\x20a\x20'+'clean\x20unclaimed\x20refund,\x20live\x20abort\x207\x20with\x20the\x20escrow\x20stranded).\x20Designed\x20for\x20order-anchored\x20refund\x20rows\x20(recipient\x20'+'GuardIdentifier(0)\x20—\x20funds\x20land\x20on\x20the\x20Order,\x20extracted\x20by\x20a\x20separate\x20owner_receive\x20step).\x20Deliberately\x20arms\x20NO\x20254\x20slot:\x20'+'254\x20keys\x20on\x20payment_info.for_object\x20which\x20never\x20changes\x20across\x20renewal\x20periods,\x20so\x20a\x20refund\x20rail\x20with\x20254\x20aborts\x20'+'E_ONCE_TRIGGERED(16)\x20forever\x20from\x20period\x202\x20(OFN\x20#P-04).\x20Once-semantics\x20comes\x20from\x20the\x20terminal-node\x20topology\x20instead.','recommended_patterns':['P02','P06','P10','P16'],'parameters':[{'name':'service_name','type':'string','description':'Service\x20object\x20name\x20(circular\x20ref\x20via\x20P16\x20—\x20resolved\x20after\x20Service\x20publish)','required':!![],'constraint':'Must\x20be\x20a\x20name,\x20not\x20an\x20address\x20(the\x20Service\x20is\x20not\x20yet\x20published\x20when\x20the\x20Guard\x20is\x20created)'},{'name':'refund_node','type':'string','description':'Machine\x20node\x20at\x20which\x20the\x20refund\x20fires\x20(e.g.\x20\x27closed_cancel\x27)','required':!![],'constraint':'Must\x20exactly\x20match\x20the\x20Machine\x20node\x20name\x20(case-sensitive).\x20For\x20a\x20node\x20SET\x20(e.g.\x20{closed_cancel,\x20returned,\x20item_lost})\x20hoist\x20the\x20node\x20predicate\x20to\x20ONE\x20top-level\x20n-ary\x20logic_or\x20as\x20a\x20single\x20logic_and\x20child\x20—\x20see\x20the\x20creation_notes\x20JSON\x20snippet;\x20never\x20AND-prepend\x20one\x20node\x20gate\x20beside\x20extra\x20node\x20literals'}],'example_table':[{'identifier':0x0,'b_submission':!![],'value_type':'Address','object_type':'Order','name':'order_id\x20(Order\x20object\x20submitted\x20at\x20runtime)'},{'identifier':0x1,'b_submission':![],'value_type':'String','value':'${refund_node}','name':'Refund\x20node\x20name\x20(case-sensitive)'},{'identifier':0x2,'b_submission':![],'value_type':'Address','value':'${service_name}','name':'Service\x20object\x20(project\x20binding,\x20circular\x20ref\x20via\x20name)'},{'identifier':0x3,'b_submission':![],'value_type':'Bool','value':![],'name':'Expected\x20claimed_by\x20polarity:\x20false\x20=\x20no\x20arbitration\x20award\x20has\x20ACTUALLY\x20paid\x20(query\x20\x27order.claimed_by\x20some\x27)'}],'example_root':{'type':'logic_and','nodes':[{'type':'logic_equal','nodes':[{'type':'query','query':'progress.current','object':{'identifier':0x0,'convert_witness':'OrderProgress'},'parameters':[]},{'type':'identifier','identifier':0x1}]},{'type':'logic_equal','nodes':[{'type':'query','query':'order.service','object':{'identifier':0x0},'parameters':[]},{'type':'identifier','identifier':0x2}]},{'type':'logic_equal','nodes':[{'type':'query','query':'order.claimed_by\x20some','object':{'identifier':0x0},'parameters':[]},{'type':'identifier','identifier':0x3}]}]},'applicable_industries':['ecommerce','rental','education','travel','subscription','freelance'],'relevant_risks':['R-C3-05','R-X1-05','R-X1-08'],'creation_notes':['THREE\x20legs\x20in\x20logic_and:\x20(1)\x20node\x20gate\x20progress.current\x20==\x20refund_node,\x20(2)\x20order.service\x20binding\x20(R-C3-05),\x20(3)\x20order.claimed_by\x20some\x20==\x20false\x20(Bool,\x20query\x201570)\x20—\x20blocks\x20the\x20refund\x20once\x20an\x20arbitration\x20award\x20has\x20ACTUALLY\x20paid;\x20the\x20polarity\x20twin\x20tpl_allocator_node_gate_recover\x20asserts\x20true,\x20so\x20exactly\x20one\x20of\x20the\x20pair\x20can\x20ever\x20pass\x20(D-BUG-2).\x20The\x20claimed_by\x20leg\x20ships\x20IN\x20example_root\x20—\x20compose\x20it\x20by\x20COPY,\x20never\x20by\x20hand:\x20the\x20synthesized\x20anti-pattern\x20logic_equal[logic_not(query\x20\x27order.claimed_by\x20some\x27),\x20false]\x20is\x20a\x20DOUBLE\x20NEGATION\x20(unclaimed\x20order:\x20some==false\x20→\x20not==true\x20→\x20true==false\x20→\x20the\x20leg\x20always\x20fails)\x20and\x20bricks\x20the\x20rail\x20with\x20the\x20escrow\x20stranded\x20at\x20a\x20terminal\x20node\x20(coursera-mn-261014\x20F-30,\x20live\x20abort\x207\x20on\x20a\x20clean\x20unclaimed\x20refund).\x20The\x20signer==order.owner\x20leg\x20is\x20OPTIONAL\x20on\x20an\x20order-anchored\x20rail\x20—\x20the\x20recipient\x20(GuardIdentifier(0))\x20is\x20already\x20hard-bound\x20to\x20the\x20order\x20owner.','NEVER\x20arm\x20identifier\x20254\x20on\x20a\x20refund\x20rail:\x20254\x20keys\x20on\x20payment_info.for_object,\x20which\x20the\x20order\x27s\x20payment\x20intake\x20never\x20rewrites\x20—\x20the\x20OnceKey\x20is\x20identical\x20in\x20every\x20renewal\x20period,\x20so\x20refund\x20period\x202+\x20aborts\x20and\x20the\x20escrow\x20strands\x20with\x20no\x20recovery\x20(OFN\x20#P-04).\x20OBSERVABILITY:\x20on\x20a\x20full-drain\x20rail\x20the\x20EMPTIED-POOL\x20abort\x20(14,\x20EZERO\x20at\x20allocation.move:418)\x20fires\x20BEFORE\x20the\x20once\x20slot\x20is\x20read\x20—\x2014\x20on\x20a\x20refund\x20replay\x20IS\x20the\x20254-replay\x20signature;\x2016\x20(E_ONCE_TRIGGERED)\x20only\x20surfaces\x20when\x20a\x20residual\x20balance\x20keeps\x20the\x20pool\x20alive.\x20Once-semantics\x20on\x20refunds\x20comes\x20from\x20the\x20terminal-node\x20topology\x20(a\x20cancelled\x20terminal\x20is\x20reachable\x20once),\x20not\x20from\x20a\x20once\x20slot.','Renewal\x20loops\x20that\x20legitimately\x20RE-ENTER\x20a\x20refund\x20node\x20(cancel\x20in\x20period\x201,\x20cancel\x20again\x20in\x20period\x203)\x20arm\x20identifier\x20255\x20with\x20a\x20\x27period-<N>\x27\x20equality\x20leg\x20(logic_equal[id255,\x20progress.history\x20count])\x20instead\x20—\x20byte-keyed,\x20fresh\x20per\x20period.','MULTI-NODE\x20refund\x20(e.g.\x20{closed_cancel,\x20returned,\x20item_lost}):\x20hoist\x20the\x20node\x20predicate\x20to\x20ONE\x20top-level\x20n-ary\x20logic_or\x20as\x20a\x20single\x20logic_and\x20child\x20(the\x20chain\x20grammar\x20accepts\x20>2\x20logic_or\x20children):\x20{\x20type:\x20\x27logic_or\x27,\x20nodes:\x20[\x20{\x20type:\x20\x27logic_equal\x27,\x20nodes:\x20[{\x20type:\x20\x27query\x27,\x20query:\x20\x27progress.current\x27,\x20object:\x20{\x20identifier:\x200,\x20convert_witness:\x20\x27OrderProgress\x27\x20},\x20parameters:\x20[]\x20},\x20{\x20type:\x20\x27identifier\x27,\x20identifier:\x201\x20}]\x20},\x20...one\x20equality\x20per\x20node...\x20]\x20}\x20—\x20each\x20node\x20needs\x20its\x20OWN\x20String\x20table\x20slot\x20(identifier\x201,\x204,\x205,\x20...).\x20NEVER\x20AND-prepend\x20a\x20single-node\x20gate\x20next\x20to\x20extra\x20node\x20literals:\x20the\x20pinned\x20node\x20contradicts\x20its\x20AND-siblings\x20and\x20they\x20become\x20DEAD\x20literals\x20—\x20azx7-mn-261014\x20CR-azx7-01\x20shipped\x20logic_and[equal(current,\x27returned\x27),\x20...,\x20or[...,\x20equal(current,\x27closed_cancel\x27)],\x20...]\x20where\x20the\x20\x27returned\x27\x20pin\x20made\x20the\x20closed_cancel/item_lost\x20equalities\x20unreachable\x20(both\x20legs\x20dead,\x20escrow\x20stranded\x20twice\x20on\x20mainnet).\x20Cover\x20EVERY\x20refundable\x20node\x20—\x20omitting\x20the\x20mid-period\x20cancel\x20node\x20deadlocks\x20the\x20escrow\x20(OFN\x20#P-02);\x20every\x20terminal\x20must\x20keep\x20a\x20fund\x20exit.','Where\x20a\x20paid\x20arbitration\x20award\x20must\x20preclude\x20refund,\x20the\x20claimed_by\x20some\x20==\x20false\x20leg\x20above\x20already\x20seals\x20it\x20(query\x201570)\x20—\x20PAIR\x20a\x20merchant-recovery\x20allocator\x20with\x20claimed_by\x20some\x20==\x20true\x20(escrow-exit\x20invariant,\x20az-mn-261007)\x20—\x20exactly\x20one\x20of\x20the\x20two\x20legs\x20can\x20ever\x20pass\x20(D-BUG-2).\x20RULED-ZERO\x20SEAL\x20(BKN-P1,\x20decision\x20option\x20a):\x20a\x20ZERO-award\x20ruling\x20ALSO\x20sets\x20claimed_by\x20(the\x20ruling\x20operation\x20has\x20no\x20amount\x20floor,\x20service.move:506-512),\x20so\x20this\x20leg\x20seals\x20on\x20ruled-zero\x20too\x20—\x20the\x20buyer\x27s\x20rail\x20closes\x20with\x20NO\x20indemnity\x20moved,\x20and\x20the\x20paired\x20recovery\x20rail\x20becomes\x20the\x20only\x20escrow\x20exit\x20paying\x20the\x20principal\x20to\x20the\x20MERCHANT\x20Entity.\x20The\x20pairing\x20guarantees\x20no\x20stranding,\x20not\x20no-misallocation\x20—\x20disclose\x20this\x20trade-off\x20when\x20arming\x20the\x20pair;\x20award-amount\x20polarity\x20is\x20not\x20expressible\x20on\x20the\x20refund\x20track.','order_allocators\x20cannot\x20be\x20modified\x20after\x20Service\x20publish\x20(immutable)\x20—\x20verify\x20node\x20names\x20against\x20the\x20Machine\x20before\x20publishing.'],'example_use_case':'Fan\x20cancels\x20mid-period:\x20the\x20refund\x20rail\x20fires\x20at\x20closed_cancel,\x20paying\x20100%\x20back\x20to\x20the\x20subscriber\x27s\x20Order\x20(two-step\x20owner_receive\x20payout);\x20the\x20mid-period\x20node\x20rail\x20is\x20mandatory\x20—\x20omitting\x20it\x20strands\x20the\x20escrow.','verifier_constraint_level':'level3_scene_combined'},{'id':'tpl_allocator_node_gate_recover','scene_id':'service_order_allocators_guard','name':'Award-recovery\x20rail\x20(claimed_by-some\x20polarity;\x20NO\x20node\x20gate;\x20NEVER\x20slot\x20254)','description':'Polarity\x20twin\x20of\x20tpl_allocator_node_gate_refund\x20for\x20the\x20MERCHANT\x20side\x20of\x20the\x20escrow-exit\x20invariant\x20(az-mn-261007):\x20fires\x20only\x20where\x20an\x20arbitration\x20ruling\x20has\x20ACTUALLY\x20claimed\x20the\x20order\x20—\x20the\x20order.claimed_by\x20some\x20==\x20true\x20leg\x20(query\x20\x27order.claimed_by\x20some\x27,\x20Bool\x20identifier)\x20plus\x20the\x20order.service\x20binding.\x20Deliberately\x20carries\x20NO\x20node\x20gate\x20(UPWC-K1,\x20upwc-cat-261017\x20CAT-B1/CAT-C2):\x20every\x20node\x20literal\x20—\x20single\x20or\x20set\x20—\x20eventually\x20pins\x20the\x20rail\x20below\x20where\x20the\x20order\x20actually\x20rests\x20when\x20the\x20award\x20lands\x20(keeper\x20auto-accept,\x20buyer\x20praise,\x20revision\x20loop\x20all\x20move\x20orders\x20after\x20delivery),\x20and\x20a\x20pinned\x20node\x20aborts\x207\x20with\x20the\x20escrow\x20stranded;\x20the\x20claimed_by\x20axis\x20ALONE\x20carries\x20the\x20state\x20condition\x20and\x20the\x20mutual\x20exclusion,\x20so\x20the\x20rail\x20passes\x20wherever\x20the\x20awarded\x20order\x20rests.\x20Zero-award\x20rulings\x20claim\x20too\x20(RULED-ZERO\x20CAVEAT,\x20BKN-P1).\x20The\x20paired\x20Allocator\x20row\x20(not\x20this\x20Guard)\x20pays\x20Rate\x2010000\x20to\x20the\x20merchant/creator\x20Entity:\x20exactly\x20one\x20of\x20the\x20refund\x20(some\x20==\x20false)\x20and\x20recovery\x20(some\x20==\x20true)\x20legs\x20can\x20ever\x20pass\x20at\x20ANY\x20node\x20(D-BUG-2).\x20Deliberately\x20arms\x20NO\x20254\x20slot\x20—\x20a\x20recovery\x20rail\x20is\x20single-shot\x20by\x20construction\x20(claimed_by\x20is\x20written\x20once;\x20the\x20second\x20compensate\x20aborts\x20E_ORDER_ALREADY_CLAIMED),\x20so\x20it\x20needs\x20no\x20once\x20slot.','recommended_patterns':['P02','P06','P10','P16'],'parameters':[{'name':'service_name','type':'string','description':'Service\x20object\x20name\x20(circular\x20ref\x20via\x20P16\x20—\x20resolved\x20after\x20Service\x20publish)','required':!![],'constraint':'Must\x20be\x20a\x20name,\x20not\x20an\x20address\x20(the\x20Service\x20is\x20not\x20yet\x20published\x20when\x20the\x20Guard\x20is\x20created)'}],'example_table':[{'identifier':0x0,'b_submission':!![],'value_type':'Address','object_type':'Order','name':'order_id\x20(Order\x20object\x20submitted\x20at\x20runtime)'},{'identifier':0x2,'b_submission':![],'value_type':'Address','value':'${service_name}','name':'Service\x20object\x20(project\x20binding,\x20circular\x20ref\x20via\x20name)'},{'identifier':0x3,'b_submission':![],'value_type':'Bool','value':!![],'name':'Expected\x20claimed_by\x20polarity:\x20true\x20=\x20award\x20has\x20ACTUALLY\x20paid\x20(query\x20\x27order.claimed_by\x20some\x27)'}],'example_root':{'type':'logic_and','nodes':[{'type':'logic_equal','nodes':[{'type':'query','query':'order.service','object':{'identifier':0x0},'parameters':[]},{'type':'identifier','identifier':0x2}]},{'type':'logic_equal','nodes':[{'type':'query','query':'order.claimed_by\x20some','object':{'identifier':0x0},'parameters':[]},{'type':'identifier','identifier':0x3}]}]},'applicable_industries':['ecommerce','rental','education','travel','subscription','freelance'],'relevant_risks':['R-C3-05','R-X1-05','R-X1-08'],'creation_notes':['TWO\x20legs\x20in\x20logic_and:\x20(1)\x20order.service\x20binding\x20(R-C3-05),\x20(2)\x20order.claimed_by\x20some\x20==\x20true\x20—\x20the\x20POLARITY\x20FLIP\x20that\x20distinguishes\x20this\x20rail\x20from\x20its\x20refund\x20twin:\x20the\x20refund\x20guard\x20asserts\x20the\x20Bool\x20identifier\x20false\x20(claimed_by\x20none),\x20this\x20one\x20true\x20(an\x20award\x20ACTUALLY\x20paid,\x20single-shot\x20order.compensate\x20wrote\x20claimed_by).\x20Exactly\x20one\x20of\x20the\x20two\x20polarities\x20can\x20ever\x20pass\x20at\x20ANY\x20node\x20(D-BUG-2).\x20RULED-ZERO\x20CAVEAT\x20(BKN-P1,\x20decision\x20option\x20a):\x20\x27some\x20==\x20true\x27\x20fires\x20on\x20ANY\x20claim,\x20including\x20a\x20ZERO-award\x20ruling\x20(claimed_by\x20is\x20written\x20without\x20an\x20amount\x20floor)\x20—\x20on\x20ruled-zero\x20this\x20rail\x20becomes\x20the\x20only\x20escrow\x20exit\x20and\x20sweeps\x20the\x20principal\x20to\x20the\x20merchant\x20Entity\x20even\x20though\x20the\x20buyer\x20received\x20nothing;\x20that\x20misallocation\x20is\x20the\x20accepted\x20trade-off\x20of\x20the\x20pairing:\x20the\x20guarantee\x20is\x20no-stranding,\x20not\x20no-misallocation.','WHY\x20NO\x20NODE\x20GATE\x20(UPWC-K1,\x20upwc-cat-261017\x20CAT-B1/CAT-C2\x20—\x20supersedes\x20the\x20F-51\x20node-set\x20teaching):\x20the\x20catalog-tiers\x20mainnet\x20run\x20shipped\x20a\x20purpose\x20that\x20PROMISED\x20a\x20full-set\x20node\x20gate\x20while\x20the\x20fill\x20machinery\x20emitted\x20a\x20single\x20\x27completed\x27\x20literal\x20—\x20the\x20awarded\x20order\x20had\x20been\x20auto-accepted\x20to\x20\x27accepted\x27,\x20the\x20rail\x20aborted\x207\x20and\x201.0\x20WOW\x20stranded.\x20The\x20F-51\x20half-fix\x20(teach\x20a\x20WIDER\x20node\x20set)\x20still\x20relies\x20on\x20the\x20resolver\x20materializing\x20the\x20exact\x20set,\x20and\x20every\x20narrower\x20fill\x20re-creates\x20the\x20stranding.\x20The\x20claimed_by\x20axis\x20makes\x20the\x20node\x20dimension\x20IRRELEVANT:\x20before\x20any\x20award\x20the\x20leg\x20is\x20false\x20(rail\x20closed),\x20after\x20the\x20award\x20it\x20is\x20true\x20(rail\x20open)\x20wherever\x20the\x20order\x20rests\x20—\x20keepers,\x20buyers\x20and\x20side\x20actions\x20can\x20never\x20pin\x20the\x20escrow\x20again.\x20Do\x20NOT\x20re-add\x20a\x20node\x20equality\x20here;\x20if\x20a\x20caller\x20demands\x20one,\x20refuse\x20with\x20this\x20note.','CALLER-BINDING\x20gap\x20(upw-mn-261014\x20F-52a):\x20this\x20rail\x20pays\x20a\x20FIXED\x20merchant\x20Entity,\x20so\x20nothing\x20else\x20binds\x20the\x20caller\x20—\x20any\x20account\x20that\x20knows\x20the\x20guard\x20address\x20can\x20sweep\x20the\x20escrow\x20principal\x20to\x20the\x20merchant.\x20The\x20refund\x20twin\x20is\x20implicitly\x20bound\x20(its\x20GuardIdentifier(0)\x20recipient\x20hard-binds\x20the\x20payee\x20to\x20the\x20order\x20owner);\x20this\x20one\x20is\x20not.\x20Where\x20a\x20last-moment\x20buyer\x20contest\x20matters,\x20add\x20an\x20identity\x20leg\x20(order.owner\x20==\x20context(Signer)\x20is\x20wrong\x20here\x20—\x20the\x20MERCHANT\x20sweeps;\x20use\x20the\x20merchant\x20identity\x20or\x20a\x20Permission-staff\x20check)\x20and\x20disclose\x20that\x20the\x20sweep\x20then\x20needs\x20the\x20merchant\x20online.\x20Keep\x20as-is\x20when\x20permissionless\x20triggering\x20is\x20the\x20intended\x20keeper\x20model\x20—\x20but\x20then\x20the\x20R-C3-01/LE-04\x20lint\x20finding\x20is\x20expected\x20and\x20accepted.','The\x20Guard\x20only\x20GATES\x20—\x20the\x20money\x20shape\x20lives\x20on\x20the\x20paired\x20Allocator\x20row:\x20Rate\x2010000\x20to\x20the\x20merchant/creator\x20ENTITY\x20(an\x20empty\x20Entity\x20never\x20reaches\x20the\x20deployer;\x20on\x20chain\x20a\x20zero-address\x20recipient\x20burns\x20the\x20share\x20permanently).\x20Using\x20the\x20REFUND\x20template\x20here\x20inverts\x20the\x20polarity:\x20the\x20rail\x20only\x20passes\x20BEFORE\x20the\x20award\x20pays,\x20so\x20once\x20claimed_by\x20is\x20set\x20the\x20awarded\x20order\x27s\x20escrow\x20strands\x20forever\x20—\x20the\x20az-mn-261007\x20stranded-escrow\x20shape\x20(2.38\x20locked\x20at\x20reviewed).','PAIR\x20it\x20with\x20the\x20refund\x20rail\x20around\x20every\x20full-drain\x20settle\x20rail\x20(escrow-exit\x20invariant):\x20pre-settle\x20dispute\x20blocks\x20settle\x20permanently\x20(claimed_by\x20some\x20==\x20false\x20makes\x20the\x20refund\x20leg\x20pass\x20and\x20settle\x20can\x20no\x20longer\x20fire),\x20and\x20this\x20recovery\x20rail\x20is\x20then\x20the\x20ONLY\x20exit\x20for\x20the\x20principal.','NEVER\x20arm\x20identifier\x20254\x20on\x20this\x20rail:\x20254\x20keys\x20on\x20payment_info.for_object,\x20identical\x20in\x20every\x20renewal\x20period\x20—\x20recovery\x20period\x202+\x20aborts\x20E_ONCE_TRIGGERED(16)\x20and\x20the\x20principal\x20strands\x20(OFN\x20#P-04).\x20A\x20recovery\x20rail\x20is\x20single-shot\x20by\x20construction\x20(claimed_by\x20is\x20written\x20once;\x20the\x20second\x20compensate\x20aborts\x20E_ORDER_ALREADY_CLAIMED),\x20so\x20it\x20needs\x20no\x20once\x20slot\x20at\x20all.','Renewal\x20loops\x20that\x20legitimately\x20re-enter\x20recovery\x20arm\x20identifier\x20255\x20with\x20a\x20\x27period-<N>\x27\x20equality\x20leg\x20(logic_equal[id255,\x20progress.history\x20count])\x20instead\x20—\x20byte-keyed,\x20fresh\x20per\x20period\x20(same\x20remedy\x20as\x20the\x20refund\x20twin).','order_allocators\x20cannot\x20be\x20modified\x20after\x20Service\x20publish\x20(immutable)\x20—\x20verify\x20the\x20polarity\x20pair\x20against\x20the\x20Machine\x20before\x20publishing.'],'example_use_case':'Arbitrator\x20awards\x20the\x20buyer\x201.00\x20from\x20the\x20compensation\x20fund\x20(claimed_by\x20set)\x20while\x20an\x20auto-accept\x20keeper\x20has\x20already\x20moved\x20the\x20order\x20past\x20delivered:\x20the\x20escrow\x20principal\x20is\x20now\x20refund-blocked;\x20the\x20recovery\x20rail\x20fires\x20WHEREVER\x20the\x20order\x20rests\x20and\x20sweeps\x20the\x20remaining\x20principal\x20to\x20the\x20merchant\x20Entity,\x20so\x20the\x20awarded\x20order\x20still\x20exits\x20with\x20a\x20zero\x20balance.','verifier_constraint_level':'level3_scene_combined'},{'id':'tpl_allocator_node_gate_settle_tier_small','scene_id':'service_order_allocators_guard','name':'Tiered\x20settlement\x20rail\x20—\x20SMALL-order\x20leg\x20(node\x20gate\x20+\x20order.amount\x20<=\x20tier\x20+\x20NOT\x20item-flag)','description':'SMALL\x20leg\x20of\x20a\x20tiered\x20settlement\x20fee:\x20fires\x20only\x20while\x20order.amount\x20<=\x20tier_amount\x20AND\x20the\x20order\x20does\x20NOT\x20hold\x20the\x20flag\x20item.\x20A\x20single\x20Amount\x20allocator\x20row\x20cannot\x20switch\x20per\x20order\x20—\x20but\x20guards\x20CAN\x20read\x20the\x20order\x20(ctra-mn-261019\x20F-04,\x20live-proven:\x20both\x20tiers\x20fired\x20with\x20per-unit\x20reconciliation\x20exact),\x20so\x20a\x20tiered\x20fee\x20ships\x20as\x20DISJOINT\x20self-selecting\x20rails,\x20each\x20its\x20own\x20guard_key\x20+\x20allocator:\x20this\x20small\x20rail,\x20its\x20tpl_allocator_node_gate_settle_tier_large\x20twin\x20(order.amount\x20>\x20tier),\x20and\x20optionally\x20a\x20flag\x20rail\x20(query\x201551\x20\x27order.item\x20has\x27\x20—\x20flagged\x20items\x20route\x20to\x20their\x20own\x20rail\x20regardless\x20of\x20size,\x20which\x20is\x20why\x20the\x20small\x20leg\x20carries\x20the\x20NOT-flag\x20leg).\x20MUTUAL\x20EXCLUSION\x20LIVES\x20INSIDE\x20THE\x20GUARDS:\x20the\x20allocator\x20vector\x20is\x20NOT\x20first-match-wins\x20—\x20a\x20distribution\x20call\x20submits\x20ONE\x20guard\x20and\x20EVERY\x20allocator\x20bound\x20to\x20it\x20fires,\x20in\x20vector\x20order,\x20against\x20the\x20shrinking\x20pool\x20(allocation.move:366-368)\x20—\x20so\x20an\x20unguarded\x20second\x20rail\x20DOUBLE-PAYS.\x20Root\x20shape\x20matches\x20tpl_allocator_node_gate_settle_once\x20(node\x20gate\x20+\x20order.service\x20binding\x20+\x20claimed_by\x20some\x20==\x20false\x20+\x20the\x20chain-derived\x20254\x20once\x20slot).','recommended_patterns':['P02','P06','P10','P16'],'parameters':[{'name':'service_name','type':'string','description':'Service\x20object\x20name\x20(circular\x20ref\x20via\x20P16\x20—\x20resolved\x20after\x20Service\x20publish)','required':!![],'constraint':'Must\x20be\x20a\x20name,\x20not\x20an\x20address\x20(the\x20Service\x20is\x20not\x20yet\x20published\x20when\x20the\x20Guard\x20is\x20created)'},{'name':'settle_node','type':'string','description':'Machine\x20node\x20whose\x20arrival\x20triggers\x20settlement\x20(e.g.\x20\x27completed\x27)','required':!![],'default':'completed','constraint':'Must\x20exactly\x20match\x20the\x20Machine\x20node\x20name\x20(case-sensitive)'},{'name':'tier_amount','type':'number','description':'Tier\x20upper\x20boundary\x20in\x20the\x20SAME\x20smallest-unit\x20space\x20as\x20order.amount\x20(convert\x20the\x20USD\x20fee_param\x20at\x20the\x20token\x27s\x20decimals)','required':!![],'constraint':'Must\x20be\x20>\x200;\x20boundary\x20membership\x20is\x20<=\x20(an\x20order\x20exactly\x20at\x20the\x20tier\x20settles\x20SMALL)'},{'name':'flag_item_name','type':'string','description':'Item\x20name\x20carrying\x20the\x20routing\x20flag\x20—\x20an\x20order\x20holding\x20this\x20item\x20(query\x201551\x20\x27order.item\x20has\x27)\x20routes\x20to\x20its\x20own\x20rail,\x20never\x20the\x20small\x20rail','required':!![],'constraint':'Must\x20exactly\x20match\x20the\x20flagged\x20sale\x20item\x27s\x20name\x20(case-sensitive)'}],'example_table':[{'identifier':0x0,'b_submission':!![],'value_type':'Address','object_type':'Order','name':'order_id\x20(Order\x20object\x20submitted\x20at\x20runtime)'},{'identifier':0x1,'b_submission':![],'value_type':'String','value':'${settle_node}','name':'Settlement\x20node\x20name\x20(case-sensitive)'},{'identifier':0x2,'b_submission':![],'value_type':'Address','value':'${service_name}','name':'Service\x20object\x20(project\x20binding,\x20circular\x20ref\x20via\x20name)'},{'identifier':0x3,'b_submission':![],'value_type':'Bool','value':![],'name':'Expected\x20claimed_by\x20polarity:\x20false\x20=\x20no\x20arbitration\x20award\x20has\x20ACTUALLY\x20paid\x20(query\x20\x27order.claimed_by\x20some\x27)'},{'identifier':0x4,'b_submission':![],'value_type':'U64','value':'${tier_amount}','name':'Tier\x20upper\x20bound\x20—\x20the\x20small\x20rail\x20fires\x20only\x20while\x20order.amount\x20<=\x20this\x20(same\x20smallest-unit\x20space\x20as\x20order.amount)'},{'identifier':0x5,'b_submission':![],'value_type':'String','value':'${flag_item_name}','name':'Flag\x20item\x20name:\x20an\x20order\x20holding\x20this\x20item\x20is\x20excluded\x20from\x20the\x20small\x20rail\x20(it\x20routes\x20to\x20the\x20flag\x20rail)'},{'identifier':0xfe,'b_submission':!![],'value_type':'Address','name':'CHAIN-DERIVED\x20ONCE\x20slot\x20(protocol\x20254):\x20the\x20once\x20key\x20is\x20derived\x20on-chain\x20from\x20the\x20paying\x20order\x20(bcs(payment_info.for_object));\x20submitted\x20bytes\x20ignored\x20—\x20exactly-once\x20per\x20order\x20is\x20chain-enforced'}],'example_root':{'type':'logic_and','nodes':[{'type':'logic_equal','nodes':[{'type':'query','query':'progress.current','object':{'identifier':0x0,'convert_witness':'OrderProgress'},'parameters':[]},{'type':'identifier','identifier':0x1}]},{'type':'logic_equal','nodes':[{'type':'query','query':'order.service','object':{'identifier':0x0},'parameters':[]},{'type':'identifier','identifier':0x2}]},{'type':'logic_equal','nodes':[{'type':'query','query':'order.claimed_by\x20some','object':{'identifier':0x0},'parameters':[]},{'type':'identifier','identifier':0x3}]},{'type':'logic_as_u256_lesser_or_equal','nodes':[{'type':'query','query':'order.amount','object':{'identifier':0x0},'parameters':[]},{'type':'identifier','identifier':0x4}]},{'type':'logic_not','node':{'type':'query','query':'order.item\x20has','object':{'identifier':0x0},'parameters':[{'type':'identifier','identifier':0x5}]}}]},'applicable_industries':['ecommerce','rental','education','travel','subscription','freelance'],'relevant_risks':['R-C3-05','R-X1-05','R-X1-01'],'creation_notes':['TIER\x20EXPRESSION\x20(ctra-mn-261019\x20F-04):\x20a\x20single\x20Amount\x20row\x20cannot\x20switch\x20per\x20order,\x20but\x20the\x20guard\x20reads\x20the\x20order\x20and\x20selects\x20the\x20rail\x20—\x20tiers\x20ship\x20as\x20DISJOINT\x20self-selecting\x20settlement\x20rails\x20(small\x20=\x20order.amount\x20<=\x20tier\x20AND\x20NOT\x20flag;\x20large\x20=\x20order.amount\x20>\x20tier;\x20flag/digital\x20=\x20\x27order.item\x20has\x27\x20the\x20flag\x20item),\x20each\x20its\x20own\x20guard_key\x20+\x20allocator.\x20Both\x20tiers\x20fired\x20live\x20with\x20per-unit\x20reconciliation\x20exact.','DISJOINTNESS\x20IS\x20THE\x20BUILDER\x27S\x20DUTY,\x20INSIDE\x20THE\x20GUARDS:\x20the\x20allocator\x20vector\x20is\x20NOT\x20first-match-wins\x20—\x20a\x20distribution\x20call\x20submits\x20ONE\x20guard\x20and\x20EVERY\x20allocator\x20bound\x20to\x20it\x20fires,\x20in\x20vector\x20order,\x20against\x20the\x20shrinking\x20pool\x20(allocation.move:366-368)\x20—\x20so\x20an\x20unguarded\x20second\x20rail\x20DOUBLE-PAYS.\x20A\x20flagged\x20LARGE\x20order\x20satisfies\x20both\x20the\x20large\x20tier\x20and\x20the\x20flag\x20rail\x20unless\x20the\x20flag\x20only\x20ever\x20marks\x20sub-tier\x20items\x20or\x20the\x20large\x20leg\x20ALSO\x20carries\x20the\x20NOT-flag\x20leg\x20—\x20make\x20the\x20three\x20roots\x20pairwise-exclusive\x20by\x20construction\x20and\x20test\x20the\x20boundary\x20(exactly\x20at\x20tier_amount\x20settles\x20SMALL,\x20<=;\x20the\x20twin\x20uses\x20strict\x20>).','The\x20guard\x20table\x20MUST\x20declare\x20{identifier:\x20254,\x20b_submission:\x20true,\x20value_type:\x20\x27Address\x27}\x20—\x20the\x20chain\x20drops\x20undeclared\x20slots\x20when\x20it\x20assembles\x20the\x20passport;\x20a\x20replayed\x20alloc\x20for\x20the\x20same\x20order\x20aborts\x2016\x20before\x20any\x20distribution.','Pair\x20EACH\x20tier\x27s\x20settlement\x20rows\x20with\x20a\x20Rate-0\x20{GuardIdentifier:\x200}\x20ORDER\x20anchor\x20row\x20(pattern.allocator_order_anchor)\x20sharing\x20THAT\x20tier\x27s\x20guard_key,\x20so\x20the\x20submitted\x20ORDER\x20becomes\x20the\x20binding\x20target\x20and\x20a\x20sibling\x20order\x27s\x20passport\x20satisfies\x20nothing\x20(testnet\x20CR-01).\x20Keep\x20each\x20tier\x20allocator\x27s\x20Rate\x20legs\x20summing\x20to\x20exactly\x2010000\x20(no\x20Surplus\x20leg).','The\x20claimed_by\x20some\x20==\x20false\x20polarity\x20leg\x20(query\x201570)\x20ships\x20IN\x20the\x20root\x20(F-30/F-05):\x20an\x20AWARDED\x20order\x20exits\x20via\x20the\x20recovery\x20rail\x20(tpl_allocator_node_gate_recover),\x20never\x20through\x20a\x20tier\x20rail.','order_allocators\x20cannot\x20be\x20modified\x20after\x20Service\x20publish\x20(immutable)\x20—\x20verify\x20node\x20names\x20and\x20the\x20tier\x20constant\x20against\x20the\x20Machine\x20and\x20the\x20token\x27s\x20decimals\x20BEFORE\x20publishing;\x20the\x20tier\x20lives\x20in\x20the\x20SAME\x20smallest-unit\x20space\x20as\x20order.amount.'],'example_use_case':'Tiered\x20contract\x20fee\x20(fixed-fee\x20marketplace\x20style):\x20an\x20order\x20of\x20400\x20(tier\x20500,\x20flag\x20\x27KIT\x27)\x20settles\x20via\x20THIS\x20small\x20rail\x20—\x20order.amount\x20<=\x20500\x20AND\x20the\x20order\x20holds\x20no\x20KIT\x20item\x20—\x20paying\x20the\x20$15\x20Amount\x20leg\x20then\x20the\x20net\x20Rate\x20split;\x20a\x20900\x20order\x20fails\x20the\x20lesser_or_equal\x20leg\x20and\x20settles\x20via\x20the\x20large\x20twin\x20instead.\x20Live-proven\x20ctra-mn-261019\x20F-04.','verifier_constraint_level':'level3_scene_combined'},{'id':'tpl_allocator_node_gate_settle_tier_large','scene_id':'service_order_allocators_guard','name':'Tiered\x20settlement\x20rail\x20—\x20LARGE-order\x20leg\x20(node\x20gate\x20+\x20order.amount\x20>\x20tier)','description':'LARGE\x20leg\x20of\x20a\x20tiered\x20settlement\x20fee:\x20fires\x20only\x20while\x20order.amount\x20>\x20tier_amount.\x20The\x20strict->\x20twin\x20of\x20tpl_allocator_node_gate_settle_tier_small\x20(which\x20carries\x20<=\x20tier\x20AND\x20the\x20NOT-item-flag\x20leg);\x20together\x20they\x20partition\x20the\x20order\x20space\x20at\x20the\x20tier\x20boundary\x20—\x20but\x20the\x20mutual\x20exclusion\x20is\x20carried\x20ENTIRELY\x20by\x20these\x20roots,\x20because\x20the\x20allocator\x20vector\x20is\x20NOT\x20first-match-wins:\x20a\x20distribution\x20call\x20submits\x20ONE\x20guard\x20and\x20EVERY\x20allocator\x20bound\x20to\x20it\x20fires,\x20in\x20vector\x20order,\x20against\x20the\x20shrinking\x20pool\x20(allocation.move:366-368),\x20so\x20an\x20unguarded\x20second\x20rail\x20DOUBLE-PAYS\x20(ctra-mn-261019\x20F-04,\x20live-proven:\x20both\x20tiers\x20fired\x20with\x20per-unit\x20reconciliation\x20exact).\x20Root\x20shape\x20matches\x20tpl_allocator_node_gate_settle_once\x20(node\x20gate\x20+\x20order.service\x20binding\x20+\x20claimed_by\x20some\x20==\x20false\x20+\x20the\x20chain-derived\x20254\x20once\x20slot).','recommended_patterns':['P02','P06','P10','P16'],'parameters':[{'name':'service_name','type':'string','description':'Service\x20object\x20name\x20(circular\x20ref\x20via\x20P16\x20—\x20resolved\x20after\x20Service\x20publish)','required':!![],'constraint':'Must\x20be\x20a\x20name,\x20not\x20an\x20address\x20(the\x20Service\x20is\x20not\x20yet\x20published\x20when\x20the\x20Guard\x20is\x20created)'},{'name':'settle_node','type':'string','description':'Machine\x20node\x20whose\x20arrival\x20triggers\x20settlement\x20(e.g.\x20\x27completed\x27)','required':!![],'default':'completed','constraint':'Must\x20exactly\x20match\x20the\x20Machine\x20node\x20name\x20(case-sensitive)'},{'name':'tier_amount','type':'number','description':'Tier\x20boundary\x20in\x20the\x20SAME\x20smallest-unit\x20space\x20as\x20order.amount\x20(convert\x20the\x20USD\x20fee_param\x20at\x20the\x20token\x27s\x20decimals)','required':!![],'constraint':'Must\x20be\x20>\x200;\x20the\x20large\x20rail\x20fires\x20only\x20STRICTLY\x20above\x20it\x20(the\x20small\x20twin\x20owns\x20the\x20==\x20boundary\x20via\x20<=)'}],'example_table':[{'identifier':0x0,'b_submission':!![],'value_type':'Address','object_type':'Order','name':'order_id\x20(Order\x20object\x20submitted\x20at\x20runtime)'},{'identifier':0x1,'b_submission':![],'value_type':'String','value':'${settle_node}','name':'Settlement\x20node\x20name\x20(case-sensitive)'},{'identifier':0x2,'b_submission':![],'value_type':'Address','value':'${service_name}','name':'Service\x20object\x20(project\x20binding,\x20circular\x20ref\x20via\x20name)'},{'identifier':0x3,'b_submission':![],'value_type':'Bool','value':![],'name':'Expected\x20claimed_by\x20polarity:\x20false\x20=\x20no\x20arbitration\x20award\x20has\x20ACTUALLY\x20paid\x20(query\x20\x27order.claimed_by\x20some\x27)'},{'identifier':0x4,'b_submission':![],'value_type':'U64','value':'${tier_amount}','name':'Tier\x20bound\x20—\x20the\x20large\x20rail\x20fires\x20only\x20while\x20order.amount\x20>\x20this'},{'identifier':0xfe,'b_submission':!![],'value_type':'Address','name':'CHAIN-DERIVED\x20ONCE\x20slot\x20(protocol\x20254):\x20the\x20once\x20key\x20is\x20derived\x20on-chain\x20from\x20the\x20paying\x20order\x20(bcs(payment_info.for_object));\x20submitted\x20bytes\x20ignored\x20—\x20exactly-once\x20per\x20order\x20is\x20chain-enforced'}],'example_root':{'type':'logic_and','nodes':[{'type':'logic_equal','nodes':[{'type':'query','query':'progress.current','object':{'identifier':0x0,'convert_witness':'OrderProgress'},'parameters':[]},{'type':'identifier','identifier':0x1}]},{'type':'logic_equal','nodes':[{'type':'query','query':'order.service','object':{'identifier':0x0},'parameters':[]},{'type':'identifier','identifier':0x2}]},{'type':'logic_equal','nodes':[{'type':'query','query':'order.claimed_by\x20some','object':{'identifier':0x0},'parameters':[]},{'type':'identifier','identifier':0x3}]},{'type':'logic_as_u256_greater','nodes':[{'type':'query','query':'order.amount','object':{'identifier':0x0},'parameters':[]},{'type':'identifier','identifier':0x4}]}]},'applicable_industries':['ecommerce','rental','education','travel','subscription','freelance'],'relevant_risks':['R-C3-05','R-X1-05','R-X1-01'],'creation_notes':['STRICT->\x20TWIN:\x20this\x20rail\x20owns\x20the\x20order.amount\x20>\x20tier\x20space;\x20the\x20small\x20twin\x20(tpl_allocator_node_gate_settle_tier_small)\x20owns\x20<=\x20tier\x20minus\x20flagged\x20items.\x20The\x20boundary\x20is\x20disjoint\x20BY\x20ARITHMETIC\x20(an\x20order\x20is\x20never\x20both\x20>\x20and\x20<=)\x20—\x20but\x20when\x20a\x20flag/digital\x20rail\x20exists,\x20a\x20flagged\x20LARGE\x20order\x20satisfies\x20BOTH\x20this\x20root\x20and\x20the\x20flag\x20rail:\x20close\x20that\x20hole\x20by\x20keeping\x20the\x20flag\x20only\x20on\x20sub-tier\x20items\x20or\x20by\x20ANDing\x20this\x20root\x20with\x20the\x20same\x20NOT-flag\x20leg\x20(logic_not\x20over\x20query\x201551\x20\x27order.item\x20has\x27).','DISJOINTNESS\x20IS\x20THE\x20BUILDER\x27S\x20DUTY,\x20INSIDE\x20THE\x20GUARDS\x20(ctra-mn-261019\x20F-04):\x20the\x20allocator\x20vector\x20is\x20NOT\x20first-match-wins\x20—\x20a\x20distribution\x20call\x20submits\x20ONE\x20guard\x20and\x20EVERY\x20allocator\x20bound\x20to\x20it\x20fires,\x20in\x20vector\x20order,\x20against\x20the\x20shrinking\x20pool\x20(allocation.move:366-368)\x20—\x20so\x20an\x20unguarded\x20second\x20rail\x20DOUBLE-PAYS.\x20Never\x20\x27add\x20a\x20second\x20Amount\x20row\x20and\x20hope\x20the\x20chain\x20picks\x20one\x27.','The\x20guard\x20table\x20MUST\x20declare\x20{identifier:\x20254,\x20b_submission:\x20true,\x20value_type:\x20\x27Address\x27}\x20—\x20the\x20chain\x20drops\x20undeclared\x20slots\x20when\x20it\x20assembles\x20the\x20passport;\x20a\x20replayed\x20alloc\x20for\x20the\x20same\x20order\x20aborts\x2016\x20before\x20any\x20distribution.','Pair\x20THIS\x20tier\x27s\x20settlement\x20rows\x20with\x20a\x20Rate-0\x20{GuardIdentifier:\x200}\x20ORDER\x20anchor\x20row\x20(pattern.allocator_order_anchor)\x20sharing\x20the\x20LARGE\x20tier\x27s\x20guard_key\x20(each\x20tier\x20is\x20its\x20OWN\x20allocator;\x20the\x20small\x20twin\x27s\x20rows\x20share\x20the\x20small\x20key).\x20Keep\x20each\x20tier\x20allocator\x27s\x20Rate\x20legs\x20summing\x20to\x20exactly\x2010000\x20(no\x20Surplus\x20leg).','The\x20claimed_by\x20some\x20==\x20false\x20polarity\x20leg\x20(query\x201570)\x20ships\x20IN\x20the\x20root\x20(F-30/F-05):\x20an\x20AWARDED\x20order\x20exits\x20via\x20the\x20recovery\x20rail\x20(tpl_allocator_node_gate_recover),\x20never\x20through\x20a\x20tier\x20rail.','order_allocators\x20cannot\x20be\x20modified\x20after\x20Service\x20publish\x20(immutable)\x20—\x20verify\x20node\x20names\x20and\x20the\x20tier\x20constant\x20against\x20the\x20Machine\x20and\x20the\x20token\x27s\x20decimals\x20BEFORE\x20publishing.'],'example_use_case':'Tiered\x20contract\x20fee\x20(fixed-fee\x20marketplace\x20style):\x20an\x20order\x20of\x20900\x20(tier\x20500)\x20fails\x20the\x20small\x20rail\x27s\x20lesser_or_equal\x20leg\x20and\x20settles\x20via\x20THIS\x20large\x20rail\x20—\x20paying\x20the\x20$29\x20Amount\x20leg\x20then\x20the\x20net\x20Rate\x20split;\x20boundary\x20order\x20500\x20settles\x20SMALL\x20(<=).\x20Live-proven\x20ctra-mn-261019\x20F-04.','verifier_constraint_level':'level3_scene_combined'},{'id':'tpl_forward_node_check','scene_id':'machine_forward_guard','name':'Workflow\x20node\x20state\x20validation','description':'Verifies\x20that\x20the\x20order\x20is\x20currently\x20at\x20the\x20correct\x20Machine\x20node\x20before\x20advancing\x20to\x20the\x20next\x20step.\x20Prevents\x20skipping\x20nodes\x20or\x20reverse\x20operations.','recommended_patterns':['P06','P09'],'parameters':[{'name':'expected_node','type':'string','description':'Expected\x20current\x20node\x20name','required':!![],'constraint':'Must\x20exactly\x20match\x20the\x20name\x20defined\x20in\x20Machine\x20nodes\x20(case-sensitive)'}],'example_table':[{'identifier':0x0,'b_submission':!![],'value_type':'Address','name':'Order\x20object\x20address','object_type':'Order'},{'identifier':0x1,'b_submission':![],'value_type':'String','value':'${expected_node}','name':'Expected\x20current\x20node\x20name'},{'identifier':0xfe,'b_submission':!![],'value_type':'Address','object_type':'Order','name':'task_binding\x20order\x20anchor\x20(protocol\x20slot\x20254;\x20written\x20by\x20order\x20creation)'}],'example_root':{'type':'logic_equal','nodes':[{'type':'query','query':'progress.current','object':{'identifier':0x0,'convert_witness':'OrderProgress'},'parameters':[]},{'type':'identifier','identifier':0x1}]},'applicable_industries':['rental','ecommerce','education','travel','subscription'],'relevant_risks':['R-C2-01','R-C2-03','R-X1-08'],'creation_notes':['Forward.guard\x20cannot\x20be\x20modified\x20after\x20binding\x20(immutable\x20after\x20Machine\x20publish)','witness\x20100\x20(Order→Progress)\x20is\x20a\x20single\x20hop;\x20no\x20risk\x20of\x20chained-derivation\x20breakage','Node\x20names\x20are\x20case-sensitive;\x20query\x20returns\x20a\x20String\x20type',PROTOCOL_SLOT_254_NOTE],'example_use_case':'Camera\x20equipment\x20rental\x20flow:\x20the\x20user\x20must\x20be\x20at\x20the\x20\x27pending\x20return\x27\x20node\x20to\x20perform\x20the\x20return\x20operation.','verifier_constraint_level':'level3_scene_combined'},{'id':'tpl_forward_fund_gate','scene_id':'machine_forward_guard','name':'Escrow\x20fund\x20gate\x20(order-anchored\x20balance\x20check\x20on\x20a\x20forward)','description':'Gates\x20a\x20forward\x20on\x20the\x20order\x27s\x20COMMITTED\x20escrow\x20balance:\x20allocation.balance\x20(query\x201051)\x20derived\x20from\x20the\x20'+'submitted\x20Order\x20via\x20witness\x20TypeOrderAllocation(109)\x20must\x20be\x20>=\x20the\x20declared\x20threshold.\x20PRE-STATE\x20CONSTRAINT\x20'+'(esound-mn-261021\x20B-1,\x20mainnet-verified):\x20guard\x20predicates\x20read\x20the\x20pre-transaction\x20balance,\x20so\x20this\x20gate\x20is\x20'+'satisfiable\x20only\x20against\x20funds\x20committed\x20in\x20a\x20PRIOR\x20transaction\x20—\x20NEVER\x20bind\x20it\x20on\x20a\x20forward\x20that\x20the\x20one-PTB\x20'+'order_renew\x20advances\x20in\x20the\x20same\x20PTB\x20(the\x20same-PTB\x20payment\x20is\x20invisible\x20to\x20the\x20gate;\x20the\x20forward\x20always\x20aborts).\x20'+'Valid\x20homes:\x20the\x20second\x20hop\x20of\x20a\x20fund-then-advance\x20pair\x20(funding\x20TX\x20commits,\x20this\x20gate-bearing\x20TX\x20advances),\x20or\x20'+'prepaid\x20builds\x20where\x20the\x20price\x20was\x20escrowed\x20at\x20buy.','recommended_patterns':['P02','P06','P10'],'parameters':[{'name':'min_balance','type':'number','description':'Minimum\x20committed\x20escrow\x20balance\x20in\x20smallest\x20units','required':!![],'constraint':'Must\x20be\x20a\x20plain\x20integer\x20in\x20smallest\x20units\x20(no\x20decimals,\x20no\x20unit\x20suffix)'}],'example_table':[{'identifier':0x0,'b_submission':!![],'value_type':'Address','name':'Order\x20object\x20address','object_type':'Order'},{'identifier':0x1,'b_submission':![],'value_type':'U64','value':'${min_balance}','name':'Minimum\x20committed\x20escrow\x20balance\x20(smallest\x20units)'},{'identifier':0xfe,'b_submission':!![],'value_type':'Address','object_type':'Order','name':'task_binding\x20order\x20anchor\x20(protocol\x20slot\x20254;\x20written\x20by\x20order\x20creation)'}],'example_root':{'type':'logic_as_u256_greater_or_equal','nodes':[{'type':'query','query':'allocation.balance','object':{'identifier':0x0,'convert_witness':'OrderAllocation'},'parameters':[]},{'type':'identifier','identifier':0x1}]},'applicable_industries':['subscription','rental','education','travel','ecommerce','freelance'],'relevant_risks':['R-X1-01','R-C2-03'],'creation_notes':['PRE-STATE\x20CONSTRAINT\x20(esound-mn-261021\x20B-1,\x20mainnet-verified):\x20the\x20balance\x20read\x20is\x20the\x20COMMITTED\x20pre-transaction\x20state.\x20NEVER\x20bind\x20this\x20gate\x20on\x20a\x20forward\x20advanced\x20by\x20the\x20same-PTB\x20order_renew\x20call\x20—\x20the\x20payment\x20half\x20of\x20that\x20call\x20is\x20invisible\x20to\x20the\x20gate\x20and\x20the\x20forward\x20ALWAYS\x20aborts.','witness\x20109\x20(Order→Allocation)\x20is\x20a\x20single\x20hop\x20via\x20order.allocation\x20(query\x201569);\x20it\x20resolves\x20at\x20verification\x20time,\x20so\x20the\x20guard\x20is\x20authored\x20on\x20the\x20Order\x20address\x20and\x20never\x20needs\x20the\x20Allocation\x20address.','Valid\x20pairings:\x20(a)\x20fund-then-advance\x20across\x20TWO\x20transactions\x20—\x20TX1\x20commits\x20funds\x20(allocation\x20top-up\x20primitive,\x20pending),\x20TX2\x20advances\x20this\x20gate-bearing\x20forward;\x20(b)\x20prepaid\x20builds\x20—\x20the\x20full\x20price\x20was\x20escrowed\x20at\x20buy,\x20so\x20any\x20later\x20gate\x20read\x20sees\x20it;\x20(c)\x20on\x20a\x20gate-LESS\x20renewal\x20loop,\x20order_renew\x20itself\x20carries\x20the\x20funding\x20(zero-value\x20protection\x20rides\x20the\x20routing,\x20not\x20this\x20gate).','The\x20balance\x20check\x20is\x20a\x20GATE,\x20not\x20a\x20debit\x20—\x20distribution\x20still\x20runs\x20through\x20the\x20allocators\x20(allocation.alloc)\x20bound\x20to\x20their\x20own\x20guards.','Forward.guard\x20cannot\x20be\x20modified\x20after\x20binding\x20(immutable\x20after\x20Machine\x20publish);\x20verify\x20the\x20renewal\x20node\x20names\x20against\x20the\x20Machine\x20before\x20publishing.',PROTOCOL_SLOT_254_NOTE],'example_use_case':'Monthly\x20subscription\x20(two-TX\x20shape):\x20TX1\x20commits\x20the\x20new\x20period\x27s\x20funds\x20into\x20the\x20Allocation;\x20TX2\x20advances\x20\x27completed\x27\x20->\x20\x27working\x27\x20(period\x202)\x20through\x20this\x20gate\x20(committed\x20balance\x20>=\x20one\x20period\x20price).\x20Do\x20NOT\x20bind\x20this\x20gate\x20on\x20an\x20order_renew-advanced\x20edge\x20—\x20the\x20same-PTB\x20deposit\x20is\x20invisible\x20to\x20it\x20(esound-mn-261021\x20B-1).','verifier_constraint_level':'level3_scene_combined'},{'id':'tpl_forward_privacy_delivery_proof','scene_id':'machine_forward_guard','name':'Privacy-delivery\x20Proof\x20verification\x20(strict\x20mode,\x20Messenger\x20→\x20on-chain\x20Proof)','description':'Strict-mode\x20guard\x20for\x20\x27privacy\x20information\x20delivered\x20via\x20Messenger\x20but\x20not\x20suitable\x20for\x20on-chain\x20publication\x27\x20'+'(e.g.\x20shipping\x20details,\x20return\x20addresses,\x20private\x20credentials).\x20The\x20verifier\x20submits\x20BOTH\x20a\x20Proof\x20object\x20address\x20'+'(generated\x20by\x20messenger.submitChainProof)\x20AND\x20the\x20Order\x20object\x20address.\x20Three\x20conditions\x20verify:\x20'+'(1)\x20Signer\x20==\x20proof.signer\x20(submitter\x20accountability\x20—\x20\x27whoever\x20benefits\x20bears\x20the\x20burden\x20of\x20proof\x27),\x20'+'(2)\x20proof.time\x20>\x20order.time\x20(proof\x20created\x20after\x20the\x20order\x20—\x20freshness,\x20prevents\x20stale-proof\x20replay),\x20'+'(3)\x20order.service\x20==\x20service\x20(project\x20binding,\x20suppresses\x20R-C3-05\x20cross-project\x20bypass).\x20'+'No\x20content\x20verification\x20—\x20only\x20submission\x20responsibility.\x20The\x20counterparty\x20can\x20dispute\x20by\x20checking\x20their\x20own\x20'+'Messenger\x20conversation.\x20Broad-mode\x20alternative\x20(verify\x20Merkle\x20Root\x20string\x20length\x20==\x2066\x20via\x20P15)\x20is\x20documented\x20'+'in\x20creation_notes\x20—\x20broad\x20mode\x20trusts\x20the\x20submitter\x27s\x20honesty\x20and\x20is\x20suitable\x20when\x20the\x20Guard\x20is\x20mainly\x20an\x20'+'arbitration\x20basis\x20rather\x20than\x20a\x20fund-flow\x20gate.','recommended_patterns':['P10','P15'],'parameters':[{'name':'service_name','type':'string','description':'Service\x20object\x20name\x20(circular\x20ref\x20via\x20P16\x20—\x20resolved\x20after\x20Service\x20publish)','required':!![],'constraint':'Must\x20be\x20a\x20name,\x20not\x20an\x20address\x20(the\x20Service\x20is\x20not\x20yet\x20published\x20when\x20the\x20Guard\x20is\x20created)'}],'example_table':[{'identifier':0x0,'b_submission':!![],'value_type':'Address','object_type':'Order','name':'order_object\x20(protocol\x20slot\x200\x20—\x20the\x20SDK\x20slot\x20consensus\x20resolves\x20slot\x200\x20to\x20the\x20submitted\x20Order;\x20klook-mn-261019\x20KLM-FIND-01)','binding_constraint':'Must\x20belong\x20to\x20the\x20service\x20declared\x20in\x20identifier\x202\x20(order.service\x20==\x20service)'},{'identifier':0x2,'b_submission':![],'value_type':'Address','value':'${service_name}','name':'Service\x20object\x20(project\x20binding,\x20circular\x20ref\x20via\x20name)'},{'identifier':0x5,'b_submission':!![],'value_type':'Address','object_type':'Proof','name':'proof_object\x20(Proof\x20address\x20generated\x20by\x20messenger.submitChainProof,\x20submitted\x20by\x20verifier\x20at\x20runtime)','binding_constraint':'Must\x20be\x20a\x20Proof\x20object\x20created\x20AFTER\x20the\x20order;\x20signer\x20must\x20equal\x20the\x20transaction\x20Signer.\x20SLOT\x20CONSENSUS\x20(klook-mn-261019\x20KLM-FIND-01,\x20live\x20mainnet):\x20a\x20non-Order\x20submission\x20must\x20occupy\x20its\x20OWN\x20free\x20slot\x20—\x20the\x20slot-254\x20row\x27s\x20Order\x20type\x20makes\x20the\x20SDK\x20resolve\x20slot\x200\x20as\x20the\x20Order,\x20so\x20mounting\x20proof.*\x20queries\x20on\x20slot\x200\x20fails\x20creation\x20with\x20\x27witness\x20object\x20type(Proof)\x20not\x20consistent\x20with\x20query\x20object\x20type(Order)\x27'},{'identifier':0xfe,'b_submission':!![],'value_type':'Address','object_type':'Order','name':'task_binding\x20order\x20anchor\x20(protocol\x20slot\x20254;\x20written\x20by\x20order\x20creation)'}],'example_root':{'type':'logic_and','nodes':[{'type':'logic_equal','nodes':[{'type':'context','context':'Signer'},{'type':'query','query':'proof.signer','object':{'identifier':0x5},'parameters':[]}]},{'type':'logic_as_u256_greater','nodes':[{'type':'query','query':'proof.time','object':{'identifier':0x5},'parameters':[]},{'type':'query','query':'order.time','object':{'identifier':0x0},'parameters':[]}]},{'type':'logic_equal','nodes':[{'type':'query','query':'order.service','object':{'identifier':0x0},'parameters':[]},{'type':'identifier','identifier':0x2}]}]},'applicable_industries':['ecommerce','logistics','service','privacy\x20delivery'],'relevant_risks':['R-C3-01','R-C3-05','R-X1-12'],'creation_notes':['STRICT\x20MODE\x20(this\x20template):\x20verifier\x20submits\x20Proof\x20+\x20Order\x20addresses.\x20Three\x20conditions:\x20Signer==proof.signer\x20(submitter\x20accountability),\x20proof.time>order.time\x20(freshness),\x20order.service==service\x20(project\x20binding).\x20No\x20content\x20verification\x20—\x20only\x20submission\x20responsibility\x20(\x27beneficiary\x20bears\x20burden\x20of\x20proof\x27\x20principle).','BROAD\x20MODE\x20ALTERNATIVE:\x20use\x20P15\x20retained_submission\x20with\x20a\x20String\x20submission\x20(the\x20Merkle\x20Root)\x20and\x20verify\x20calc_string_length\x20==\x2066\x20(0x\x20prefix\x20+\x2064\x20hex\x20chars).\x20Broad\x20mode\x20trusts\x20the\x20submitter\x27s\x20honesty;\x20the\x20counterparty\x20can\x20dispute\x20by\x20checking\x20their\x20own\x20Messenger\x20conversation.\x20Broad\x20mode\x20is\x20suitable\x20when\x20the\x20Guard\x20is\x20mainly\x20an\x20arbitration\x20basis,\x20not\x20a\x20fund-flow\x20gate.','Guard\x20table\x20supports\x20MULTIPLE\x20b_submission=true\x20Address\x20identifiers\x20(no\x20submission\x20count\x20limit)\x20—\x20this\x20template\x20uses\x20two:\x20Order\x20(protocol\x20slot\x200)\x20and\x20Proof\x20(slot\x205).\x20SLOT\x20CONSENSUS\x20(klook-mn-261019\x20KLM-FIND-01):\x20slot\x200\x20always\x20resolves\x20to\x20the\x20submitted\x20ORDER\x20(the\x20slot-254\x20task-binding\x20row\x27s\x20Order\x20type\x20anchors\x20the\x20SDK\x27s\x20type\x20resolution)\x20—\x20never\x20mount\x20a\x20non-Order\x20query\x20on\x20slot\x200;\x20give\x20every\x20non-Order\x20submission\x20its\x20own\x20free\x20slot.','submitChainProof(env,\x20peerAddress,\x20description?)\x20records\x20the\x20counterparty\x27s\x20address\x20as\x20the\x20proof\x27s\x20about\x20value.\x20PRIVACY:\x20about\x20records\x20ONLY\x20the\x20contact\x20—\x20it\x20has\x20no\x20on-chain-enforced\x20meaning\x20and\x20must\x20NEVER\x20be\x20a\x20guard\x20decision\x20condition;\x20NEVER\x20pass\x20an\x20order\x20id\x20or\x20any\x20order\x20reference\x20in\x20the\x20description\x20(a\x20description\x20like\x20\x27order:0x…\x27\x20would\x20publicly\x20link\x20the\x20Proof\x20to\x20the\x20Order\x20on\x20chain).\x20All\x20order/business\x20linkage\x20stays\x20inside\x20the\x20Messenger\x20conversation;\x20acceptance\x20of\x20delivered\x20info\x20is\x20the\x20merchant\x27s\x20confirming\x20forward,\x20not\x20the\x20recorded\x20about\x20value.','Query\x20IDs\x20(all\x20zero-parameter):\x20proof.signer=1958,\x20proof.time=1960\x20(invariant\x20clock_derived,\x20always\x20>0),\x20order.time=1574,\x20order.service=1563.','Forward.guard\x20is\x20immutable\x20after\x20Machine\x20publish\x20—\x20choose\x20broad\x20vs\x20strict\x20before\x20publishing.',PROTOCOL_SLOT_254_NOTE,'The\x20same\x20strict\x20Guard\x20can\x20be\x20reused\x20across\x20ALL\x20Machine\x20forwards\x20that\x20need\x20merkle-root\x20verification\x20(shipping,\x20lost,\x20returns,\x20etc.)\x20—\x20the\x20verifier\x20just\x20submits\x20the\x20relevant\x20Proof\x20+\x20Order\x20each\x20time.','Condition\x20(1)\x20Signer==proof.signer\x20suppresses\x20R-C3-01\x20(submission\x20not\x20bound\x20to\x20Signer).\x20Condition\x20(3)\x20order.service==service\x20suppresses\x20R-C3-05\x20(cross-project\x20submission\x20bypass).'],'example_use_case':'MyShop\x20e-commerce:\x20after\x20delivering\x20shipping\x20details\x20/\x20return\x20addresses\x20via\x20Messenger\x20(privacy\x20info\x20not\x20suitable\x20for\x20on-chain\x20publication),\x20'+'the\x20provider\x20generates\x20a\x20Proof\x20via\x20submitChainProof\x20and\x20submits\x20it\x20with\x20the\x20Order\x20address\x20to\x20advance\x20the\x20Machine\x20forward.\x20'+'The\x20Guard\x20verifies\x20the\x20submitter\x20is\x20the\x20Proof\x27s\x20signer,\x20the\x20Proof\x20was\x20created\x20after\x20the\x20order,\x20and\x20the\x20order\x20belongs\x20to\x20this\x20service.','verifier_constraint_level':'level3_scene_combined'},{'id':'tpl_submission_signer_binding','scene_id':'progress_submission_guard','name':'Submission\x20data\x20signer\x20binding\x20validation','description':'Verifies\x20that\x20the\x20user\x20submitting\x20the\x20data\x20is\x20a\x20legitimate\x20Progress\x20participant\x20and\x20that\x20the\x20submitted\x20value\x20matches\x20expectations.','recommended_patterns':['P08','P15'],'parameters':[{'name':'expected_value','type':'string','description':'Expected\x20submitted\x20value\x20(e.g.\x20node\x20name,\x20status\x20code)','required':!![]},{'name':'provider_address','type':'address','description':'Service\x20provider\x20address\x20(used\x20for\x20identity\x20verification)','required':!![]}],'example_table':[{'identifier':0x0,'b_submission':!![],'value_type':'String','name':'User-submitted\x20operation\x20type\x20(e.g.\x20\x27return\x27\x20/\x20\x27damage\x27)','binding_constraint':'Must\x20be\x20one\x20of\x20the\x20predefined\x20operation\x20types'},{'identifier':0x1,'b_submission':![],'value_type':'Address','value':'${provider_address}','name':'Service\x20provider\x20address'},{'identifier':0x2,'b_submission':![],'value_type':'String','value':'${expected_value}','name':'Expected\x20submitted\x20value'}],'example_root':{'type':'logic_and','nodes':[{'type':'logic_equal','nodes':[{'type':'identifier','identifier':0x0},{'type':'identifier','identifier':0x2}]},{'type':'logic_equal','nodes':[{'type':'context','context':'Signer'},{'type':'identifier','identifier':0x1}]}]},'applicable_industries':['rental','ecommerce','education','travel'],'relevant_risks':['R-C3-01','R-C3-03','R-X1-12'],'creation_notes':['submission\x20guard\x20cannot\x20be\x20modified\x20after\x20binding','The\x20name\x20of\x20b_submission=true\x20entries\x20must\x20be\x20a\x20complete\x20natural-language\x20description\x20(≥10\x20characters)','Providing\x20a\x20binding_constraint\x20field\x20describing\x20value\x20rules\x20is\x20recommended\x20(R-X1-12)'],'example_use_case':'On\x20equipment\x20return,\x20the\x20user\x20submits\x20the\x20\x27return\x27\x20operation;\x20the\x20Guard\x20verifies\x20that\x20the\x20submitter\x20is\x20the\x20service\x20provider\x20and\x20that\x20the\x20operation\x20type\x20is\x20correct.','verifier_constraint_level':'level1_strict'},{'id':'tpl_reward_one_time_claim','scene_id':'reward_claim','name':'One-time\x20reward\x20claim\x20validation','description':'Verifies\x20a\x20reward\x20claim\x20is\x20first-time-only:\x20order\x20state\x20gate\x20+\x20order-holder\x20identity\x20+\x20order-scoped\x20record\x20replay\x20gate\x20(SV-2,\x20azx7-mn-261014\x20live\x20T8\x20—\x20supersedes\x20the\x20ofn-mn-261012\x20recipient-only\x20retraction;\x20the\x20ofn\x20\x27storeFromId\x20filter\x20is\x20inert\x27\x20verdict\x20described\x20unstamped/legacy\x20rewards\x20only),\x20plus\x20an\x20OPTIONAL\x20order-keyed\x20rating-floor\x20eligibility\x20leg\x20(upwk-mn-261017\x20F-62)\x20that\x20pays\x20the\x20bounty\x20only\x20above\x20a\x20minimum\x20review\x20rating.','recommended_patterns':['P07','P13'],'parameters':[{'name':'reward_address','type':'address','description':'Reward\x20object\x20address\x20(the\x20pool\x20being\x20claimed\x20from)','required':!![]},{'name':'expected_pre_claim_node','type':'string','description':'Machine\x20node\x20name\x20at\x20which\x20claiming\x20is\x20allowed\x20(e.g.\x20\x27reviewed\x27)','required':!![]},{'name':'expected_pre_claim_node_alt','type':'string','description':'Second\x20acceptable\x20node\x20in\x20the\x20claim-allowed\x20SET\x20—\x20default\x20\x27completed\x27\x20(az3-mn-261013\x20F-16:\x20a\x20single\x20reviewed-only\x20leg\x20deadlocks\x20the\x20claim\x20whenever\x20settlement\x20wins\x20the\x20race\x20first\x20—\x20order\x20already\x20completed\x20when\x20the\x20review\x20lands;\x20the\x20resolved\x20root\x20admits\x20EITHER\x20node)','required':![],'default':'completed'},{'name':'expected_pre_claim_node_alt2','type':'string','description':'Third\x20acceptable\x20node\x20in\x20the\x20claim-allowed\x20SET\x20—\x20the\x20template\x27s\x20optional\x20post-settlement\x20side\x20node\x20(e.g.\x20\x27wonder\x27).\x20Defaults\x20to\x20the\x20primary\x20(duplicate\x20tautology\x20leg)\x20when\x20the\x20machine\x20has\x20none.\x20UPWC-K3\x20(upwc-cat-261017\x20CAT-D1):\x20without\x20it,\x20a\x20buyer\x20who\x20praises\x20AFTER\x20reviewing\x20moves\x20progress.current\x20off\x20the\x20claim\x20set\x20and\x20voids\x20their\x20own\x20bounty\x20—\x20the\x20incentive\x20self-defeats','required':![],'default':'reviewed'},{'name':'expected_pre_claim_node_alt3','type':'string','description':'Fourth\x20acceptable\x20node\x20in\x20the\x20claim-allowed\x20SET\x20(e.g.\x20\x27no_wonder\x27).\x20Defaults\x20to\x20the\x20primary\x20(duplicate\x20tautology\x20leg)\x20when\x20unneeded','required':![],'default':'reviewed'},{'name':'claim_window_ms','type':'number','description':'Claim-window\x20length\x20in\x20ms\x20—\x20the\x20bounty\x20OPENS\x20only\x20after\x20this\x20elapses\x20from\x20the\x20claim-allowed\x20node\x27s\x20entry\x20(bkm4\x20BF-17\x20ruling;\x20the\x20archetype\x20packs\x20pair\x20this\x20with\x20the\x20reward_claim_window_days\x20fee_param,\x20default\x2014\x20days\x20=\x201209600000)','required':![],'default':'1209600000'},{'name':'rating_repository','type':'address','description':'Repository\x20holding\x20the\x20order-keyed\x20rating\x20rows\x20—\x20the\x20build\x20plan\x27s\x20\x27_review\x27\x20repository\x20(same\x20one\x20the\x20review\x20text\x20rows\x20live\x20in).\x20Empty/absent\x20=\x20ship\x20WITHOUT\x20the\x20rating\x20leg\x20(plain\x20praise\x20bounty,\x20no\x20rating\x20floor)','required':![],'default':''},{'name':'rating_policy_name','type':'string','description':'Policy\x20key\x20of\x20the\x20order-keyed\x20U64\x20rating\x20rows\x20—\x20MUST\x20equal\x20the\x20compile-emitted\x20rating\x20policy\x20name\x20(\x27rating\x27,\x20review\x20component)','required':![],'default':'rating'},{'name':'rating_floor','type':'number','description':'Minimum\x20rating\x20the\x20bounty\x20pays\x20above\x20(e.g.\x20\x274\x27).\x20\x270\x27\x20=\x20no\x20floor\x20—\x20omit\x20the\x20leg\x20same\x20as\x20an\x20empty\x20rating_repository','required':![],'default':'4','constraint':'Plain\x20number\x20string\x20(U256\x20semantics),\x20e.g.\x20\x274\x27'}],'example_table':[{'identifier':0x0,'b_submission':!![],'value_type':'Address','object_type':'Order','name':'Order\x20object\x20address\x20(submitted\x20by\x20verifier\x20at\x20runtime)'},{'identifier':0x1,'b_submission':![],'value_type':'Address','value':'${reward_address}','name':'Reward\x20object\x20(claim\x20pool)'},{'identifier':0x2,'b_submission':![],'value_type':'String','value':'${expected_pre_claim_node}','name':'Expected\x20pre-claim\x20node\x20name\x20(e.g.\x20\x27reviewed\x27)'},{'identifier':0x3,'b_submission':![],'value_type':'String','value':'${expected_pre_claim_node_alt}','name':'Alternate\x20pre-claim\x20node\x20in\x20the\x20allowed\x20SET\x20(e.g.\x20\x27completed\x27)'},{'identifier':0x9,'b_submission':![],'value_type':'String','value':'${expected_pre_claim_node_alt2}','name':'Third\x20claim-allowed\x20node\x20(optional\x20post-settlement\x20side\x20node;\x20duplicates\x20the\x20primary\x20when\x20unused)'},{'identifier':0xa,'b_submission':![],'value_type':'String','value':'${expected_pre_claim_node_alt3}','name':'Fourth\x20claim-allowed\x20node\x20(optional\x20post-settlement\x20side\x20node;\x20duplicates\x20the\x20primary\x20when\x20unused)'},{'identifier':0x4,'b_submission':![],'value_type':'U64','value':'1','name':'Minimum\x20PAID\x20order\x20amount\x20(1\x20smallest\x20unit\x20—\x20BKN-P2\x20positive-amount\x20leg)'},{'identifier':0x5,'b_submission':![],'value_type':'U64','value':'${claim_window_ms}','name':'Claim-window\x20length\x20in\x20ms\x20(bounty\x20opens\x20after\x20this\x20elapses\x20from\x20the\x20claim-allowed\x20node\x20entry)'},{'identifier':0x6,'b_submission':![],'value_type':'Address','value':'${rating_repository}','name':'Rating\x20repository\x20(PLAN-BOUND\x20\x27_review\x27\x20repository\x20—\x20NEVER\x20a\x20buyer-submitted\x20row;\x20omit\x20slots\x206-8\x20AND\x20the\x20rating\x20leg\x20when\x20rating_repository\x20is\x20empty)'},{'identifier':0x7,'b_submission':![],'value_type':'String','value':'${rating_policy_name}','name':'Rating\x20policy\x20key\x20(must\x20equal\x20the\x20compile-emitted\x20\x27rating\x27\x20policy)'},{'identifier':0x8,'b_submission':![],'value_type':'U64','value':'${rating_floor}','name':'Rating\x20floor\x20—\x20the\x20bounty\x20pays\x20only\x20when\x20the\x20order-keyed\x20rating\x20row\x20is\x20>=\x20this'}],'example_root':{'type':'logic_and','nodes':[{'type':'logic_or','nodes':[{'type':'logic_string_nocase_equal','nodes':[{'type':'query','query':'progress.current','object':{'identifier':0x0,'convert_witness':'OrderProgress'},'parameters':[]},{'type':'identifier','identifier':0x2}]},{'type':'logic_string_nocase_equal','nodes':[{'type':'query','query':'progress.current','object':{'identifier':0x0,'convert_witness':'OrderProgress'},'parameters':[]},{'type':'identifier','identifier':0x3}]},{'type':'logic_string_nocase_equal','nodes':[{'type':'query','query':'progress.current','object':{'identifier':0x0,'convert_witness':'OrderProgress'},'parameters':[]},{'type':'identifier','identifier':0x9}]},{'type':'logic_string_nocase_equal','nodes':[{'type':'query','query':'progress.current','object':{'identifier':0x0,'convert_witness':'OrderProgress'},'parameters':[]},{'type':'identifier','identifier':0xa}]}]},{'type':'logic_equal','nodes':[{'type':'context','context':'Signer'},{'type':'query','query':'order.owner','object':{'identifier':0x0},'parameters':[]}]},{'type':'logic_as_u256_greater_or_equal','nodes':[{'type':'query','query':'order.amount','object':{'identifier':0x0},'parameters':[]},{'type':'identifier','identifier':0x4}]},{'type':'logic_as_u256_greater_or_equal','nodes':[{'type':'context','context':'Clock'},{'type':'calc_number_add','nodes':[{'type':'query_progress_history_time','object':{'identifier':0x0,'convert_witness':'OrderProgress'},'where':{'nextNode':'${expected_pre_claim_node}'},'find':'last'},{'type':'identifier','identifier':0x5}]}]},{'type':'logic_not','node':{'type':'query_reward_record_exists','object':{'identifier':0x1},'where':{'storeFromId':{'identifier':0x0}}}},{'type':'logic_as_u256_greater_or_equal','nodes':[{'type':'query','query':'repository.data','object':{'identifier':0x6},'parameters':[{'type':'identifier','identifier':0x7},{'type':'identifier','identifier':0x0}]},{'type':'identifier','identifier':0x8}]}]},'applicable_industries':['ecommerce','education','travel','subscription','freelance'],'relevant_risks':['R-C1-03','R-X1-01','R-X1-10'],'creation_notes':['POSITIVE-AMOUNT\x20LEG\x20(BKN-P2,\x20v55):\x20the\x20order.amount\x20>=\x201\x20leg\x20is\x20MANDATORY\x20—\x20a\x20zero-total\x20order\x20(e.g.\x20a\x20100%-off\x20coupon\x20buy)\x20holds\x20an\x20EMPTY\x20escrow\x20and\x20must\x20never\x20trigger\x20incentives\x20(zero-cost\x20buy\x20->\x20review\x20node\x20->\x20bounty\x20claim\x20is\x20the\x20arbitrage\x20the\x20leg\x20closes).\x20Never\x20issue\x20a\x20zeroing\x20coupon\x20without\x20allow_zero_total,\x20and\x20never\x20drop\x20this\x20leg\x20when\x20specializing\x20the\x20root.','REPLAY\x20GATE\x20(SV-2,\x20azx7-mn-261014\x20live\x20T8):\x20this\x20template\x27s\x20root\x20scopes\x20the\x20claim-records\x20query\x20BY\x20THE\x20ORDER\x20—\x20where.storeFromId\x20references\x20slot\x200\x20(the\x20submitted\x20Order\x20address),\x20the\x20same\x20slot\x20the\x20guard_add\x20entry\x20stamps,\x20so\x20the\x20gate\x20reads\x20\x27this\x20recipient\x20has\x20never\x20claimed\x20for\x20THIS\x20order\x27\x20—\x20once\x20per\x20buyer\x20per\x20ORDER.\x20An\x20EMPTY\x20where\x20({})\x20is\x20the\x20deliberate\x20once-per-buyer-FOR-LIFE\x20variant\x20(recipient\x20defaults\x20to\x20the\x20Signer;\x20klk-mn-261014\x20live:\x20replay\x20aborts\x20at\x20the\x20passport\x20layer,\x20E_VERIFY_FAILED=7)\x20—\x20choose\x20it\x20ONLY\x20for\x20one-bounty-per-buyer\x20designs,\x20never\x20for\x20per-order\x20bounty\x20wording\x20(upw-mn-261014\x20F-48:\x20it\x20silently\x20kills\x20the\x20buyer\x27s\x20second\x20order).','NEVER\x20hand-write\x20the\x20raw\x20query\x20form\x20with\x20an\x20empty\x20VecU8\x20parameter\x20(klk-mn-261013\x20F-05,\x20mainnet-probed):\x20empty\x20query\x20bytes\x20reach\x20the\x20native\x20untranslated\x20and\x20abort\x20with\x20an\x20uncoded\x20MovePrimitiveRuntimeError\x20(\x27Query\x20bytes\x20is\x20empty\x27)\x20—\x20no\x20abort\x20code,\x20no\x20diagnosis.\x20The\x20deployed\x20guard.move\x20(pre\x20A-5)\x20accepts\x20the\x20empty\x20constant\x20at\x20creation,\x20so\x20the\x20failure\x20surfaces\x20only\x20at\x20first\x20verification.\x20If\x20a\x20raw\x20form\x20is\x20ever\x20required,\x20the\x20parameter\x20MUST\x20carry\x20the\x20[value_type\x20marker\x20+\x20BCS\x20conditions]\x20header\x20bytes\x20—\x20which\x20is\x20exactly\x20what\x20the\x20structured\x20node\x20emits\x20for\x20you.','STAMP\x20+\x20FILTER\x20PAIR\x20(SV-2):\x20the\x20reward.guard_add\x20store_from_id\x20STAMP\x20and\x20the\x20where.storeFromId\x20QUERY\x20FILTER\x20are\x20DIFFERENT\x20fields\x20and\x20BOTH\x20are\x20required\x20for\x20the\x20per-order\x20scope\x20—\x20the\x20STAMP\x20makes\x20each\x20claim\x20record\x20key\x20on\x20the\x20submitted\x20Order\x20address;\x20the\x20FILTER\x20matches\x20records\x20by\x20that\x20same\x20value.\x20A\x20record-consuming\x20guard\x20(this\x20template)\x20MUST\x20be\x20added\x20with\x20store_from_id\x20=\x200\x20(the\x20submitted\x20Order/claimant\x20slot)\x20—\x20the\x20MCP\x20guard_add\x20stamp\x20gate\x20(UPW-K7)\x20REJECTS\x20the\x20unstamped\x20entry;\x20on-chain\x20the\x20unstamped\x20entry\x20is\x20accepted\x20but\x20writes\x20records\x20with\x20store_from\x20=\x20none,\x20which\x20matches\x20no\x20storeFromId\x20predicate\x20—\x20that\x20unstamped\x20shape\x20is\x20the\x20ONLY\x20context\x20where\x20the\x20ofn-mn-261012\x20F-01\x20\x27filter\x20is\x20inert\x27\x20verdict\x20ever\x20held\x20(azx7-mn-261014\x20live\x20T8\x20disproved\x20the\x20blanket\x20retraction).\x20Re-adding\x20the\x20SAME\x20guard\x20overwrites\x20its\x20slot\x20in\x20place,\x20so\x20live\x20pools\x20are\x20repairable.','POST-STATE\x20UPDATE\x20(MOV-PROTOCOL-1212):\x20in\x20the\x20HEAD\x20framework\x20source\x20guard\x20queries\x20observe\x20same-transaction\x20writes\x20(post-state),\x20so\x20write-then-verify\x20within\x20one\x20PTB\x20sees\x20its\x20own\x20write\x20—\x20DEPLOYMENT-GATED\x20(DEPLOY-K1):\x20not\x20yet\x20confirmed\x20on\x20the\x20deployed\x20binary;\x20verify\x20via\x20wowok_buildin_info\x20info=\x27upgrade_check\x27\x20(build_stamp.chain_stamp)\x20before\x20relying\x20on\x20it.\x20This\x20does\x20NOT\x20revive\x20\x27repository.data\x20count\x20==\x200\x27\x20as\x20a\x20first-claim\x20gate:\x20repository.data\x20is\x20an\x20upsert\x20key-value\x20store\x20—\x20a\x20repeat\x20write\x20overwrites\x20the\x20row\x20instead\x20of\x20growing\x20the\x20count.\x20Keep\x20the\x20exists_where\x20replay\x20gate.','IDENTITY\x20LEG\x20(mandatory\x20regardless\x20of\x20chain\x20patch\x20state):\x20claim()\x20pays\x20Recipient::Signer\x20(tx_context::sender)\x20with\x20no\x20order\x20binding\x20of\x20its\x20own\x20—\x20without\x20the\x20order.owner\x20identity\x20leg\x20any\x20address\x20holding\x20any\x20order\x20at\x20the\x20required\x20node\x20drains\x20the\x20pool\x20(audit-261012\x20B5).\x20The\x20MOV-PROTOCOL-1212\x20chain\x20patch\x20adds\x20recipient==signer\x20(E_CLAIM_RECIPIENT_NOT_SIGNER=14)\x20and\x20a\x20per-(recipient,\x20guard,\x20bcs(store_from))\x20once-slot\x20(E_CLAIM_ALREADY_MADE=13)\x20as\x20the\x20SECOND\x20line\x20—\x20a\x20replay\x20with\x20the\x20registered\x20guard\x20still\x20aborts\x20at\x20the\x20passport\x20layer\x20FIRST\x20(E_VERIFY_FAILED=7),\x20so\x20observing\x20abort\x207\x20says\x20nothing\x20about\x20the\x20patch\x27s\x20deployment;\x20check\x20freshness\x20via\x20wowok_buildin_info\x20upgrade_check\x20(build_stamp.chain_stamp,\x20DEPLOY-K1).','RECIPIENT\x20SEMANTICS\x20(crs-mn-261015\x20F-12,\x20live\x20mainnet):\x20the\x20reward.guard_add\x20ENTRY\x20recipient\x20MUST\x20be\x20{Signer:\x27signer\x27}\x20—\x20the\x20claim\x20entry\x20requires\x20recipient\x20==\x20tx_context::sender\x20(abort\x2014,\x20E_CLAIM_RECIPIENT_NOT_SIGNER),\x20and\x20a\x20{GuardIdentifier}\x20recipient\x20resolves\x20from\x20the\x20passport\x20submission\x20(conventionally\x20the\x20submitted\x20Order\x20address)\x20which\x20can\x20never\x20be\x20the\x20signer:\x20the\x20pool\x20behind\x20it\x20is\x20structurally\x20unpayable\x20(a\x20live\x20funded\x20pool\x20paid\x20abort\x2014\x20on\x20every\x20claim).\x20The\x20order-anchored\x20GuardIdentifier(0)\x20idiom\x20is\x20an\x20ALLOCATION\x20push\x20rail\x20(money\x20lands\x20ON\x20the\x20Order;\x20for_object\x20anchors\x20it)\x20—\x20NEVER\x20copy\x20it\x20onto\x20the\x20reward\x20pull\x20rail.\x20An\x20{Entity}\x20recipient\x20also\x20passes\x20(the\x20SDK\x20replaces\x20it\x20with\x20the\x20claimant\x27s\x20local\x20account\x20when\x20building\x20the\x20claim\x20PTB).\x20The\x20MCP\x20guard_add\x20recipient\x20gate\x20rejects\x20the\x20GuardIdentifier\x20form\x20(crs\x20F-12).','SETTLEMENT-DRAINED\x20LEG\x20—\x20DELIBERATE\x20OPTION\x20(crs-mn-261015\x20F-16):\x20a\x20bounty\x20meant\x20as\x20the\x20follow-on\x20to\x20a\x20COMPLETED\x20purchase\x20adds\x20logic_as_u256_lesser[query(\x27allocation.balance\x27,\x20object:{identifier:0,\x20convert_witness:\x27OrderAllocation\x27}),\x20query(\x27order.amount\x27,\x20object:{identifier:0})]\x20—\x20the\x20escrow\x20must\x20be\x20at\x20least\x20partially\x20drained\x20(query\x201051\x20+\x20witness\x20109,\x20live-proven)\x20before\x20the\x20bounty\x20pays,\x20closing\x20both\x20the\x20unknown-commit\x20window\x20(a\x20claim\x20racing\x20an\x20in-flight\x20settlement)\x20and\x20the\x20stalling-merchant\x20hole\x20(no\x20release,\x20no\x20incentive).\x20Do\x20NOT\x20add\x20it\x20for\x20a\x20review-nudge\x20bounty\x20claimed\x20immediately\x20at\x20the\x20review\x20node\x20—\x20that\x20is\x20the\x20adjudicated\x20review→claim→complete\x20ordering\x20(upwc-mn-261013\x20③)\x20where\x20the\x20claim\x20deliberately\x20PRECEDES\x20settlement;\x20the\x20two\x20designs\x20are\x20mutually\x20exclusive,\x20choose\x20per\x20business\x20intent\x20and\x20state\x20the\x20choice\x20in\x20the\x20quote\x27s\x20reward\x20terms.','CLAIM-WINDOW\x20TIME\x20LEG\x20(bkm4\x20BF-17,\x20v76;\x20re-anchored\x20UPWC-K4/CAT-D1):\x20the\x20bounty\x20OPENS\x20only\x20after\x20claim_window_ms\x20elapses\x20from\x20the\x20claim-allowed\x20node\x27s\x20entry\x20—\x20Clock\x20>=\x20entry\x20+\x20window,\x20OPENING\x20direction\x20(etm\x20A-06;\x20never\x20invert\x20it\x20into\x20a\x20closing\x20gate).\x20The\x20time\x20source\x20is\x20query\x201280\x20progress.history.time\x20via\x20the\x20structured\x20node\x20query_progress_history_time\x20(OrderProgress\x20witness),\x20FILTERED\x20by\x20where:{nextNode:\x20\x22${expected_pre_claim_node}\x22}\x20—\x20the\x20anchor\x20is\x20the\x20PRIMARY\x20claim\x20node\x27s\x20own\x20entry\x20moment,\x20an\x20immutable\x20once-written\x20record.\x20The\x20old\x20empty-where\x20form\x20(where:{}\x20+\x20find:\x27last\x27,\x20v76\x20original)\x20resolved\x20to\x20the\x20LATEST\x20entry\x20of\x20whatever\x20node\x20the\x20order\x20currently\x20sits\x20at,\x20so\x20every\x20later\x20advance\x20(settlement,\x20praise,\x20revision)\x20silently\x20RESTARTED\x20the\x20window\x20and\x20a\x20post-review\x20advance\x20voided\x20the\x20bounty\x20—\x20that\x20form\x20is\x20superseded\x20and\x20must\x20not\x20be\x20re-introduced\x20(upwc-cat-261017\x20CAT-D1\x20live:\x200ms-window\x20probe).\x20The\x20claim-allowed\x20node\x20SET\x20is\x20NOT\x20the\x20filter\x27s\x20job\x20anymore:\x20it\x20is\x20carried\x20by\x20the\x20OR\x20legs\x20over\x20expected_pre_claim_node/alt/alt2/alt3\x20(see\x20NODE-SET\x20CLAIM\x20STATE\x20above);\x20keep\x20the\x20filter\x20pinned\x20to\x20the\x20primary\x20review\x20node\x20and\x20never\x20widen\x20it\x20to\x20the\x20set.\x20The\x201280\x20record\x20is\x20written\x20once\x20on\x20entering\x20a\x20node\x20and\x20never\x20rewritten,\x20so\x20a\x20settlement-race\x20re-entry\x20cannot\x20shift\x20the\x20window\x20mid-flight\x20(1272\x20progress.current_time\x20drift\x20class,\x20ETS-C,\x20is\x20eliminated\x20by\x20construction).\x20REQUIRES\x20an\x20execution\x20layer\x20with\x20the\x201280\x20primitive\x20(progress.history.time,\x20node-entry\x20timestamps)\x20—\x20shipped\x20with\x20the\x20current\x20buildin;\x20verify\x20freshness\x20via\x20wowok_buildin_info\x20info=\x27upgrade_check\x27\x20before\x20relying\x20on\x20it\x20on\x20an\x20old\x20binary.\x20On\x20builds\x20that\x20lack\x201280,\x20fall\x20back\x20to\x20pattern.time_source_repository_oracle.\x20The\x20window\x20length\x20pairs\x20with\x20the\x20archetype\x20reward_claim_window_days\x20fee_param\x20(default\x2014\x20days\x20=\x201209600000\x20ms)\x20—\x20keep\x20the\x20two\x20in\x20sync\x20when\x20specializing\x20a\x20pack.','For\x20per-order\x20once\x20semantics\x20the\x20ORDER-SCOPED\x20gate\x20above\x20IS\x20the\x20primary\x20form\x20(SV-2).\x20Route\x20the\x20incentive\x20through\x20an\x20Allocation\x20leg\x20gated\x20on\x20protocol\x20slot\x20254\x20(chain-derived\x20bcs(payment_info.for_object),\x20unforgeable)\x20only\x20when\x20you\x20want\x20the\x20per-order\x20once\x20enforced\x20by\x20the\x20chain\x20itself,\x20immune\x20to\x20guard-tree\x20mistakes.','ADJUDICATED\x20DESIGN\x20(upwc-mn-261013\x20③)\x20—\x20REVIEW-THEN-CLAIM-THEN-COMPLETE\x20ordering:\x20the\x20standard\x20flow\x20writes\x20the\x20repository\x20review\x20row\x20FIRST,\x20fires\x20the\x20reward\x20claim\x20SECOND,\x20and\x20only\x20then\x20advances\x20the\x20machine\x20to\x20completed.\x20A\x20test/report\x20line\x20reading\x20\x27review\x20written\x20before\x20complete\x27\x20describes\x20the\x20designed\x20order,\x20not\x20a\x20defect\x20(KL-C5\x20review-window\x20idiom\x20family).','NODE-SET\x20CLAIM\x20STATE\x20(az3-mn-261013\x20F-16\x20+\x20UPWC-K3/CAT-D1):\x20expected_pre_claim_node\x20is\x20a\x20SET,\x20not\x20a\x20single\x20value\x20—\x20always\x20pass\x20expected_pre_claim_node_alt\x20(\x27completed\x27)\x20so\x20a\x20claim\x20filed\x20AFTER\x20settlement\x20wins\x20the\x20race\x20does\x20not\x20abort\x20(7),\x20AND\x20the\x20template\x27s\x20optional\x20post-settlement\x20side\x20nodes\x20as\x20alt2/alt3\x20(e.g.\x20\x27wonder\x27/\x27no_wonder\x27)\x20so\x20a\x20buyer\x20who\x20praises\x20after\x20reviewing\x20does\x20not\x20void\x20their\x20own\x20bounty.\x20A\x20reviewed-only\x20leg\x20went\x20live\x20dead\x20on\x20mainnet\x20the\x20moment\x20settlement\x20fired\x20first\x20(v2\x20root\x20dead,\x20v3\x20OR\x20leg\x20live).','WINDOW\x20ANCHOR\x20(UPWC-K4/CAT-D1):\x20the\x20time\x20leg\x20anchors\x20the\x20PRIMARY\x20claim\x20node\x27s\x20ENTRY\x20(where.nextNode)\x20—\x20later\x20advances\x20(settlement,\x20praise,\x20revision)\x20no\x20longer\x20restart\x20the\x20window.\x20Pass\x20the\x20review\x20node\x20as\x20expected_pre_claim_node,\x20never\x20a\x20post-settlement\x20node:\x20the\x20anchor\x20IS\x20the\x20review\x20event.','RATING-FLOOR\x20ELIGIBILITY\x20LEG\x20(upwk-mn-261017\x20F-62):\x20the\x20leg\x20reads\x20the\x20ORDER-KEYED\x20U64\x20rating\x20row\x20—\x20query\x201167\x20(repository.data)\x20over\x20the\x20PLAN-BOUND\x20repository\x20(slot\x206)\x20with\x20the\x20policy\x20key\x20(slot\x207)\x20and\x20THE\x20SUBMITTED\x20ORDER\x20(slot\x200)\x20as\x20the\x20row\x20id,\x20compared\x20against\x20the\x20floor\x20(slot\x208).\x20The\x20buyer\x20writes\x20the\x20row\x20at\x20review\x20time\x20(repository.data_add\x20id\x20=\x20order\x20address,\x20value\x20=\x20stars\x20U64)\x20and\x20composition/compile.ts\x20emits\x20the\x20matching\x20\x27rating\x27\x20policy\x20for\x20exactly\x20this\x20pairing\x20—\x20keep\x20rating_policy_name\x20in\x20lockstep\x20with\x20it.\x20THE\x20REVIEW\x20TEXT\x20ROW\x20IS\x20DISPLAY-ONLY\x20and\x20NEVER\x20keys\x20this\x20leg\x20(ORDER-keyed\x20since\x20F09,\x20yfd-ln-261024,\x20same\x20as\x20the\x20rating\x20row\x20—\x20the\x20duty\x20split\x20is\x20payload,\x20not\x20the\x20key):\x20keying\x20on\x20it\x20reads\x20the\x20wrong\x20record\x20or\x20dead-locks\x20the\x20claim\x20fail-closed\x20(F-62\x20four-layer\x20break\x20—\x20adjudication\x20right,\x20data\x20row\x20missing,\x20template\x20leg\x20missing,\x20scanner\x20blind;\x20this\x20leg\x20closes\x20layer\x203).','RATING-LEG\x20OMISSION\x20SEMANTICS:\x20rating_repository\x20empty/absent\x20=\x20omit\x20slots\x206-8\x20AND\x20the\x20rating\x20leg\x20(plain\x20praise\x20bounty\x20with\x20no\x20rating\x20floor);\x20rating_floor\x20\x270\x27\x20=\x20same\x20(a\x20>=\x200\x20floor\x20gates\x20nothing).\x20Never\x20ship\x20the\x20leg\x20with\x20a\x20dangling\x20slot\x20—\x20a\x201167\x20read\x20against\x20a\x20missing\x20row\x20fails\x20closed\x20and\x20bricks\x20the\x20claim\x20(F-03\x20class).','RATING-LEG\x20QUOTE-GUARD\x20CARRY\x20(MOV-PROTOCOL-1212\x20C):\x20if\x20the\x20\x27rating\x27\x20policy\x20is\x20quote-guard-protected,\x20the\x20claim\x20passport\x20MUST\x20carry\x20that\x20quote_guard\x20in\x20its\x20impack\x20list\x20—\x20the\x201167\x20read\x20aborts\x20otherwise\x20(fail-closed).\x20The\x20compile-emitted\x20rating\x20policy\x20ships\x20UNPROTECTED\x20(payout-relevant\x20amounts\x20are\x20not\x20secrets)\x20—\x20keep\x20it\x20that\x20way\x20unless\x20the\x20business\x20demands\x20secrecy,\x20and\x20then\x20disclose\x20the\x20carry\x20in\x20the\x20quote\x27s\x20reward\x20terms.','Reward\x20guard\x20is\x20immutable\x20once\x20the\x20Reward\x20object\x20is\x20published\x20—\x20verify\x20this\x20guard\x20against\x20a\x20realistic\x20passport\x20BEFORE\x20publish\x20(F-03:\x20a\x20wrong\x20bound\x20guard\x20can\x20permanently\x20brick\x20the\x20claim\x20path).'],'example_use_case':'Review\x20bounty:\x20fan\x20finishes\x20review\x20(node\x20\x27reviewed\x27),\x20submits\x20the\x20Order,\x20claims\x20the\x20praise\x20bounty.\x20The\x20identity\x20leg\x20binds\x20the\x20claim\x20to\x20the\x20order\x20holder;\x20the\x20logic_not(exists_where)\x20leg\x20rejects\x20a\x20second\x20claim\x20from\x20the\x20same\x20address.\x20A\x20replay\x20attempt\x20aborts\x20and\x20the\x20pool\x20keeps\x20its\x20balance.\x20With\x20the\x20rating\x20leg\x20armed,\x20a\x203-star\x20review\x20on\x20a\x204-floor\x20bounty\x20claims\x20nothing.','verifier_constraint_level':'level3_scene_combined'},{'id':'tpl_repository_review_threshold_gate','scene_id':'reward_claim','name':'Positive-review\x20threshold\x20gate','description':'Gates\x20a\x20benefit\x20(reward\x20claim,\x20privilege,\x20milestone)\x20on\x20review\x20quality\x20recorded\x20in\x20a\x20Repository:\x20count-form\x20requires\x20at\x20least\x20N\x20reviews\x20rated\x20>=\x20a\x20minimum\x20star\x20level;\x20sum-form\x20requires\x20the\x20review-score\x20sum\x20to\x20reach\x20a\x20threshold.\x20Uses\x20the\x20repository\x20composite\x20where-queries\x20(count\x20where\x20/\x20sum\x20where)\x20with\x20a\x20verifier-supplied\x20candidate\x20list.','recommended_patterns':['P07','P13'],'parameters':[{'name':'review_repository','type':'address','description':'Repository\x20object\x20holding\x20the\x20review\x20rows','required':!![]},{'name':'review_key','type':'string','description':'Policy\x20key\x20under\x20which\x20review\x20rows\x20are\x20stored\x20(e.g.\x20\x27review\x27)','required':!![]},{'name':'min_star','type':'number','description':'Minimum\x20star\x20rating\x20that\x20counts\x20as\x20a\x20positive\x20review','required':!![],'constraint':'Plain\x20number\x20string\x20(U256\x20semantics),\x20e.g.\x20\x274\x27.\x20Predicate\x20bounds\x20are\x20numeric\x20strings,\x20never\x20JSON\x20numbers'},{'name':'min_review_count','type':'number','description':'Minimum\x20number\x20of\x20positive\x20reviews\x20required\x20(count\x20form)','required':!![]}],'example_table':[{'identifier':0x0,'b_submission':!![],'value_type':'Address','object_type':'Repository','name':'Review\x20Repository\x20(submitted\x20by\x20verifier\x20at\x20runtime)'},{'identifier':0x1,'b_submission':![],'value_type':'String','value':'${review_key}','name':'Review\x20policy\x20key'},{'identifier':0x2,'b_submission':!![],'value_type':'VecAddress','name':'Candidate\x20review\x20row\x20ids\x20supplied\x20by\x20the\x20verifier\x20(max\x20100,\x20deduped)'},{'identifier':0x3,'b_submission':![],'value_type':'U64','value':'${min_review_count}','name':'Minimum\x20positive\x20review\x20count'}],'example_root':{'type':'logic_as_u256_greater_or_equal','nodes':[{'type':'query_repository_data_count_where','object':{'identifier':0x0},'key':{'identifier':0x1},'ids':{'identifier':0x2},'where':{'kind':'range','valueMin':'${min_star}'}},{'type':'identifier','identifier':0x3}]},'applicable_industries':['ecommerce','education','travel','subscription','freelance'],'relevant_risks':['R-C1-03','R-X1-01'],'creation_notes':['TWO\x20FORMS\x20—\x20COUNT\x20(this\x20example_root):\x20query_repository_data_count_where\x20with\x20where\x20{kind:\x27range\x27,\x20valueMin:\x27${min_star}\x27}\x20returns\x20U64\x20=\x20number\x20of\x20candidate\x20rows\x20rated\x20>=\x20min_star;\x20compare\x20logic_as_u256_greater_or_equal\x20against\x20the\x20count\x20threshold.','TWO\x20FORMS\x20—\x20SUM\x20(swap\x20the\x20query\x20node):\x20query_repository_data_sum_where\x20returns\x20U256\x20=\x20the\x20sum\x20of\x20the\x20numeric\x20payloads\x20of\x20matching\x20rows;\x20compare\x20it\x20against\x20a\x20total-score\x20threshold\x20with\x20logic_as_u256_greater_or_equal.\x20Use\x20the\x20sum\x20form\x20when\x20review\x20weight\x20should\x20scale\x20with\x20rating\x20(5-star\x20counts\x20more\x20than\x204-star);\x20use\x20the\x20count\x20form\x20for\x20a\x20flat\x20\x27N\x20positive\x20reviews\x27\x20rule.','U256\x20NUMBER-STRING\x20SEMANTICS:\x20every\x20predicate\x20bound\x20and\x20threshold\x20is\x20a\x20PLAIN\x20NUMBER\x20STRING\x20(e.g.\x20\x274\x27,\x20\x2720\x27)\x20with\x20U256\x20semantics\x20—\x20on-chain\x20comparison\x20widens\x20all\x20numeric\x20types\x20to\x20U256.\x20Predicate\x20kind\x20must\x20match\x20the\x20policy\x20value\x20type;\x20mismatching\x20rows\x20are\x20skipped\x20honestly\x20(never\x20an\x20error).','CANDIDATE\x20IDS:\x20the\x20ids\x20row\x20is\x20verifier-supplied\x20evidence\x20(b_submission\x20VecAddress,\x20max\x20100,\x20deduped).\x20For\x20per-user\x20review\x20rows\x20the\x20natural\x20candidate\x20set\x20is\x20the\x20user\x27s\x20review\x20row\x20ids;\x20enumerate\x20them\x20via\x20a\x20repository\x20data\x20query\x20or\x20derive\x20them\x20from\x20order\x20records\x20—\x20never\x20trust\x20a\x20count\x20over\x20ids\x20the\x20verifier\x20can\x20pad\x20with\x20foreign\x20rows\x20unless\x20each\x20row\x20id\x20is\x20bound\x20to\x20the\x20user.','QUOTE_GUARD\x20CARRY\x20(MOV-PROTOCOL-1212\x20C):\x20if\x20the\x20scanned\x20policy\x20key\x20is\x20protected\x20by\x20a\x20quote_guard,\x20the\x20passport\x20verifying\x20this\x20gate\x20MUST\x20carry\x20that\x20quote_guard\x20in\x20its\x20impack\x20list\x20—\x20the\x20fetch\x20(1167),\x20count/sum/find\x20(1173/1174/1176)\x20AND\x20the\x20keys-where\x20scan\x20(1177)\x20all\x20abort\x20otherwise.\x20A\x20gate\x20that\x20reads\x20protected\x20review\x20data\x20without\x20carrying\x20the\x20quote_guard\x20fails\x20closed.','Identity\x20anchor:\x20combine\x20with\x20an\x20order-owner\x20or\x20Signer\x20leg\x20(see\x20tpl_reward_one_time_claim)\x20so\x20the\x20benefit\x20goes\x20to\x20the\x20reviewer,\x20not\x20whoever\x20assembles\x20the\x20passport.'],'example_use_case':'Loyalty\x20perk:\x20a\x20fan\x20who\x20has\x20posted\x20at\x20least\x203\x20reviews\x20rated\x204\x20stars\x20or\x20higher\x20can\x20claim\x20a\x20bonus.\x20The\x20verifier\x20submits\x20the\x20fan\x27s\x20review\x20row\x20ids;\x20the\x20count-form\x20root\x20only\x20passes\x20when\x20at\x20least\x203\x20rows\x20carry\x20a\x20rating\x20>=\x204.\x20Swap\x20to\x20the\x20sum\x20form\x20to\x20require\x20the\x20fan\x27s\x20total\x20review\x20score\x20to\x20reach\x2015.','verifier_constraint_level':'level3_scene_combined'},{'id':'tpl_crowdfunding_threshold_gate','scene_id':'machine_forward_guard','name':'Crowdfunding\x20threshold\x20settlement\x20gate\x20(release\x20/\x20refund\x20polarity)','description':'Gates\x20a\x20campaign\x20settlement\x20forward\x20on\x20the\x20on-chain\x20aggregate\x20raise:\x20logic_and[\x20sum-where(1174)\x20over\x20the\x20'+'campaign\x27s\x20writer-bound\x20contribution\x20rows\x20>=\x20funding_threshold,\x20Clock\x20>=\x20campaign_deadline\x20].\x20RELEASE\x20polarity\x20'+'(this\x20example_root,\x20greater_or_equal)\x20fires\x20the\x20release-to-project\x20leg\x20when\x20the\x20goal\x20is\x20met;\x20REFUND\x20polarity\x20'+'(swap\x20the\x20aggregate\x20leaf\x20to\x20logic_as_u256_lesser)\x20fires\x20the\x20per-contributor\x20refund\x20leg\x20when\x20the\x20goal\x20is\x20missed.\x20'+'The\x20deadline\x20is\x20an\x20ABSOLUTE\x20campaign\x20timestamp\x20(shared\x20by\x20every\x20funder),\x20NOT\x20a\x20per-order\x20entry+duration\x20lock\x20—\x20'+'a\x20per-order\x20anchor\x20would\x20give\x20each\x20contributor\x20a\x20different\x20deadline.\x20Executable\x20form\x20of\x20the\x20crowdfunding_mode\x20'+'threshold\x20gate;\x20the\x20aggregate\x20is\x20a\x20read-only\x20sum\x20over\x20keeper-supplied\x20candidate\x20ids\x20(max\x20100),\x20so\x20roster\x20'+'completeness\x20is\x20attested,\x20never\x20a\x20chain-verified\x20total-custody\x20proof.','recommended_patterns':['P06','P07'],'parameters':[{'name':'campaign_repository','type':'address','description':'Repository\x20object\x20holding\x20the\x20campaign\x27s\x20contribution\x20rows.\x20Default\x20\x27${repository_name}\x27\x20=\x20the\x20plan\x27s\x20kernel-created\x20evidence\x20Repository\x20(compile\x20seeds\x20repository_name\x20like\x20service_name\x20—\x20late-bound\x20by\x20object\x20NAME\x20at\x20execution).\x20Pass\x20an\x20explicit\x20repository\x20name/address\x20to\x20read\x20a\x20different\x20ledger.','required':!![],'default':'${repository_name}'},{'name':'contribution_key','type':'string','description':'Policy\x20key\x20under\x20which\x20contribution\x20rows\x20are\x20stored\x20(default\x20\x27contribution\x27\x20—\x20the\x20canonical\x20crowdfunding\x20write-policy\x20name\x20declared\x20by\x20the\x20template\x27s\x20repository\x20write\x20guard)','required':!![],'default':'contribution'},{'name':'funding_threshold','type':'number','description':'Aggregate\x20funding\x20goal\x20the\x20sum-where\x20total\x20is\x20compared\x20against\x20(U256\x20semantics,\x20plain\x20number\x20string)','required':!![],'constraint':'Plain\x20number\x20string\x20(U256\x20semantics),\x20e.g.\x20\x271000\x27.\x20Predicate\x20bounds\x20and\x20thresholds\x20are\x20numeric\x20strings,\x20never\x20JSON\x20numbers'},{'name':'campaign_deadline_ms','type':'number','description':'Absolute\x20campaign\x20deadline\x20as\x20an\x20epoch-ms\x20timestamp;\x20settlement\x20is\x20blocked\x20until\x20Clock\x20>=\x20it','required':!![],'constraint':'Shared\x20by\x20every\x20funder\x27s\x20order\x20—\x20one\x20campaign,\x20one\x20deadline.\x20Chain\x20Clock\x20is\x20block-driven;\x20bind\x20a\x20repository\x20time-oracle\x20(pattern.time_source_repository_oracle)\x20when\x20the\x20deadline\x20is\x20a\x20real-world\x20date'}],'example_table':[{'identifier':0x0,'b_submission':!![],'value_type':'Address','object_type':'Repository','name':'Campaign\x20Repository\x20(submitted\x20by\x20the\x20keeper\x20at\x20settlement)'},{'identifier':0x1,'b_submission':![],'value_type':'String','value':'${contribution_key}','name':'Contribution\x20policy\x20key'},{'identifier':0x2,'b_submission':!![],'value_type':'VecAddress','name':'Contributor\x20row\x20ids\x20enumerated\x20by\x20the\x20keeper\x20(find-where\x201176\x20/\x20keys-where\x201177;\x20max\x20100,\x20deduped)\x20—\x20the\x20campaign\x20roster\x20is\x20ATTESTED\x20by\x20this\x20set,\x20not\x20chain-derived'},{'identifier':0x3,'b_submission':![],'value_type':'U64','value':'${funding_threshold}','name':'Aggregate\x20funding\x20goal\x20(U256\x20comparison)'},{'identifier':0x4,'b_submission':![],'value_type':'U64','value':'${campaign_deadline_ms}','name':'Absolute\x20campaign\x20deadline\x20(epoch\x20ms);\x20Clock\x20>=\x20it\x20opens\x20settlement'},{'identifier':0xfe,'b_submission':!![],'value_type':'Address','object_type':'Order','name':'task_binding\x20order\x20anchor\x20(protocol\x20slot\x20254;\x20written\x20by\x20order\x20creation)'}],'example_root':{'type':'logic_and','nodes':[{'type':'logic_as_u256_greater_or_equal','nodes':[{'type':'query_repository_data_sum_where','object':{'identifier':0x0},'key':{'identifier':0x1},'ids':{'identifier':0x2},'where':{'kind':'range','valueMin':'1'}},{'type':'identifier','identifier':0x3}]},{'type':'logic_as_u256_greater_or_equal','nodes':[{'type':'context','context':'Clock'},{'type':'identifier','identifier':0x4}]}]},'applicable_industries':['crowdfunding','retail','subscription'],'relevant_risks':['R-X1-17','R-C1-03'],'creation_notes':['TWO\x20POLARITIES,\x20ONE\x20AGGREGATE:\x20RELEASE\x20(this\x20example_root)\x20uses\x20logic_as_u256_greater_or_equal[sum_where,\x20threshold];\x20REFUND\x20swaps\x20that\x20leaf\x20to\x20logic_as_u256_lesser[sum_where,\x20threshold].\x20Both\x20AND\x20the\x20SAME\x20deadline\x20leaf,\x20so\x20they\x20are\x20mutually\x20exclusive\x20—\x20exactly\x20one\x20is\x20satisfiable\x20once\x20Clock\x20>=\x20deadline\x20(the\x20D-BUG-2\x20escrow-exit\x20polarity\x20specialized\x20to\x20a\x20funding\x20gate).\x20Mount\x20the\x20release\x20polarity\x20on\x20the\x20→funded_released\x20forward\x20and\x20the\x20refund\x20polarity\x20on\x20the\x20→missed_refunded\x20forward.','SUM-FORM\x20(query\x201174):\x20query_repository_data_sum_where\x20returns\x20U256\x20=\x20the\x20sum\x20of\x20the\x20numeric\x20payloads\x20of\x20the\x20matching\x20candidate\x20rows\x20(checked_add,\x20overflow-safe).\x20Each\x20contribution\x20row\x27s\x20VALUE\x20is\x20the\x20contribution\x20amount;\x20the\x20where\x20{kind:\x27range\x27,\x20valueMin:\x271\x27}\x20predicate\x20counts\x20every\x20positive\x20contribution.\x20Predicate\x20bounds\x20and\x20the\x20threshold\x20are\x20PLAIN\x20NUMBER\x20STRINGS\x20with\x20U256\x20semantics.','ESCROW-BOUND\x20FORM\x20(query\x201179,\x20query_repository_data_sum_where_bound):\x20per-row\x20min(row_value,\x20order.amount\x20of\x20the\x20Order\x20the\x20row\x20id\x20names)\x20—\x20a\x20row\x20cannot\x20claim\x20more\x20than\x20its\x20Order\x20actually\x20escrowed,\x20closing\x20the\x20self-reported-value\x20forgery\x20face.\x20It\x20reads\x200\x20for\x20any\x20row\x20id\x20that\x20is\x20NOT\x20an\x20Order:\x20to\x20use\x20it,\x20key\x20the\x20contribution\x20rows\x20by\x20the\x20funder\x27s\x20ORDER\x20(id_from\x20none,\x20row\x20id\x20=\x20order\x20address)\x20and\x20pass\x20those\x20order\x20addresses\x20as\x20candidate\x20ids.\x20This\x20template\x20ships\x20the\x20free-form\x201174\x20over\x20signer-keyed\x20rows;\x20swap\x20to\x20the\x20bound\x20form\x20only\x20together\x20with\x20the\x20order-keyed\x20write\x20policy,\x20never\x20the\x20query\x20alone.','🔴\x20CANDIDATE\x20IDS\x20ARE\x20KEEPER-ATTESTED\x20(the\x20honest\x20boundary,\x20L-04):\x20the\x20ids\x20row\x20(identifier\x202)\x20is\x20verifier-supplied\x20(b_submission\x20VecAddress,\x20max\x20100,\x20deduped)\x20—\x20the\x20keeper\x20enumerates\x20the\x20campaign\x27s\x20contributor\x20rows\x20via\x20find-where\x20(1176)\x20/\x20keys-where\x20(1177).\x20The\x20aggregate\x20is\x20therefore\x20a\x20sum\x20over\x20an\x20ATTESTED\x20roster,\x20NOT\x20an\x20independent\x20re-computation\x20of\x20every\x20escrow\x20balance,\x20and\x20a\x20campaign\x20with\x20>100\x20contributors\x20needs\x20the\x20roster\x20split\x20across\x20settlements.\x20Never\x20present\x20the\x20total\x20as\x20a\x20chain-verified\x20custody\x20proof.','WRITE-SIDE\x20BINDING\x20IS\x20MANDATORY\x20(R-X1-17,\x20existence-is-not-trust):\x20the\x20contribution\x20rows\x20MUST\x20be\x20written\x20under\x20pattern.repository_write_authorization\x20with\x20an\x20identity\x20leaf\x20(order.owner\x20==\x20Signer\x20/\x20order.agent\x20has\x20Signer)\x20so\x20a\x20funder\x20can\x20only\x20record\x20their\x20OWN\x20contribution\x20—\x20an\x20unbound\x20write_guard\x20makes\x20the\x20aggregate\x20forgeable\x20and\x20the\x20threshold\x20meaningless.','ABSOLUTE\x20DEADLINE,\x20NOT\x20PER-ORDER:\x20identifier\x204\x20is\x20a\x20single\x20campaign-wide\x20epoch-ms\x20timestamp\x20(pattern.time_lock_absolute\x20shape).\x20Do\x20NOT\x20anchor\x20on\x20progress.history.time\x20(1280)\x20entry+duration\x20here\x20—\x20that\x20would\x20give\x20each\x20funder\x20a\x20different\x20deadline\x20measured\x20from\x20when\x20they\x20pledged.\x20For\x20a\x20real-world\x20calendar\x20deadline\x20bind\x20pattern.time_source_repository_oracle\x20and\x20document\x20the\x20time\x20source.','QUOTE_GUARD\x20CARRY\x20(MOV-PROTOCOL-1212\x20C):\x20if\x20the\x20contribution\x20policy\x20key\x20is\x20protected\x20by\x20a\x20quote_guard,\x20the\x20passport\x20verifying\x20this\x20gate\x20MUST\x20carry\x20it\x20in\x20its\x20impack\x20list\x20—\x20the\x20sum-where\x20(1174)\x20and\x20the\x20keys-where\x20scan\x20(1177)\x20abort\x20otherwise.\x20Leave\x20the\x20contribution\x20policy\x20unprotected\x20(the\x20raise\x20total\x20is\x20public,\x20not\x20a\x20secret)\x20so\x20settlement\x20stays\x20simple.','TASK-BINDING\x20SLOT\x20(identifier\x20254):\x20declared\x20(b_submission=true)\x20because\x20this\x20guard\x20is\x20bound\x20to\x20a\x20task-guarded\x20machine\x20forward\x20—\x20the\x20passport\x20builder\x20drops\x20undeclared\x20slots\x20and\x20Guards\x20are\x20immutable,\x20so\x20an\x20undeclared\x20254\x20bricks\x20the\x20published\x20Machine\x20(TASKBIND-01).',PROTOCOL_SLOT_254_NOTE],'example_use_case':'All-or-nothing\x20campaign:\x20200\x20backers\x20each\x20escrow\x20a\x20contribution\x20in\x20their\x20OWN\x20unpooled\x20Allocation\x20and\x20record\x20a\x20'+'writer-bound\x20row\x20in\x20the\x20campaign\x20Repository.\x20At\x20the\x20deadline\x20a\x20keeper\x20enumerates\x20the\x20contributor\x20row\x20ids\x20and\x20'+'advances\x20each\x20order:\x20the\x20release-polarity\x20gate\x20(sum\x20>=\x20goal)\x20fires\x20→funded_released\x20for\x20every\x20backer\x20when\x20the\x20'+'goal\x20is\x20met;\x20the\x20refund-polarity\x20gate\x20(sum\x20<\x20goal)\x20fires\x20→missed_refunded,\x20returning\x20each\x20contribution\x20to\x20its\x20'+'own\x20backer\x20(order-anchored\x20user\x20slot\x200,\x20the\x20submitted\x20Order)\x20when\x20the\x20goal\x20is\x20missed.','verifier_constraint_level':'level3_scene_combined'},{'id':'tpl_repository_review_decision_gate','scene_id':'reward_claim','name':'Merchant\x20review-decision\x20gate','description':'Gates\x20a\x20review\x20bounty\x20on\x20an\x20explicit\x20merchant\x20approval:\x20the\x20claim\x20passes\x20only\x20when\x20the\x20review\x20repository\x27s\x20\x27review_decision\x27\x20policy\x20holds\x20a\x20U64\x20decision\x20row\x20FOR\x20THE\x20SUBMITTED\x20ORDER\x20with\x20value\x20>=\x20the\x20promised\x20payout.\x20The\x20matched-row\x20set\x20is\x20pinned\x20to\x20the\x20submitted\x20order\x20via\x20vec_contains_address,\x20so\x20candidate-list\x20padding\x20cannot\x20borrow\x20another\x20order\x27s\x20approval.\x20Pairs\x20with\x20the\x20compile-emitted\x20write\x20side\x20(review_mode\x20\x27review_reward\x27\x20professional\x20form).','recommended_patterns':['P13'],'parameters':[{'name':'review_repository','type':'address','description':'The\x20review\x20Repository\x20emitted\x20by\x20the\x20build\x20plan\x20(name\x20suffix\x20\x27_review\x27);\x20pass\x20its\x20LocalMark\x20name\x20or\x20address','required':!![]},{'name':'min_payout','type':'number','description':'Approved-payout\x20floor\x20(U64,\x20smallest\x20units)\x20a\x20decision\x20row\x20must\x20carry\x20to\x20count\x20as\x20approval\x20—\x20set\x20it\x20to\x20the\x20promised\x20per-order\x20bounty','required':!![],'constraint':'Plain\x20number\x20string\x20(U256\x20semantics),\x20e.g.\x20\x271000000000\x27.\x20Must\x20equal\x20the\x20payout\x20the\x20reward\x20claim\x20actually\x20pays'}],'example_table':[{'identifier':0x0,'b_submission':!![],'value_type':'Address','object_type':'Order','name':'Claimed\x20order\x20(submission\x20slot\x200\x20—\x20also\x20the\x20replay\x20stamp\x20slot)'},{'identifier':0x1,'b_submission':![],'value_type':'Address','value':'${review_repository}','name':'Review\x20Repository\x20(plan-bound\x20—\x20NEVER\x20a\x20buyer-submitted\x20row)'},{'identifier':0x2,'b_submission':![],'value_type':'String','value':'review_decision','name':'Decision\x20policy\x20key'},{'identifier':0x3,'b_submission':!![],'value_type':'VecAddress','name':'Candidate\x20decision\x20rows\x20(buyer\x20submits\x20[order];\x20padding\x20is\x20neutralized\x20by\x20the\x20membership\x20pin)'},{'identifier':0x4,'b_submission':![],'value_type':'U64','value':'${min_payout}','name':'Approved-payout\x20floor'}],'example_root':{'type':'vec_contains_address','nodes':[{'type':'query_repository_data_find_where','object':{'identifier':0x1},'key':{'identifier':0x2},'ids':{'identifier':0x3},'where':{'kind':'range','valueMin':'${min_payout}'}},{'type':'identifier','identifier':0x0}]},'applicable_industries':['ecommerce','education','travel','subscription','freelance'],'relevant_risks':['R-C1-03','R-X1-01'],'creation_notes':['COMPOSITION\x20(professional\x20review_reward\x20claim\x20root):\x20logic_and[\x20identity\x20leg\x20(Signer\x20==\x20order.owner),\x20THIS\x20decision\x20leg,\x20replay\x20leg\x20(structured\x20query_reward_record_exists\x20with\x20the\x20SV-2\x20per-order\x20stamp),\x20BKN-P2\x20positive-amount\x20leg\x20(order.amount\x20>=\x201)\x20].\x20The\x20decision\x20leg\x20ADDS\x20the\x20approval\x20requirement\x20on\x20top\x20of\x20the\x20mandatory\x20replay/idempotency\x20legs\x20—\x20it\x20replaces\x20nothing.','SUBSTITUTION-PROOF\x20BY\x20CONSTRUCTION:\x20the\x20ids\x20row\x20is\x20buyer-submitted,\x20so\x20padding\x20it\x20with\x20foreign\x20approved\x20orders\x20would\x20be\x20trivial\x20—\x20the\x20vec_contains_address\x20pin\x20makes\x20padding\x20USELESS:\x20the\x20matched\x20set\x20must\x20contain\x20the\x20SUBMITTED\x20order\x20(identifier\x200),\x20and\x20a\x20row\x20for\x20that\x20order\x20exists\x20only\x20if\x20the\x20merchant\x20approved\x20it.\x20Never\x20replace\x20the\x20pin\x20with\x20a\x20bare\x20count\x20>=\x201\x20over\x20the\x20candidates\x20(that\x20reopens\x20the\x20borrowed-approval\x20hole).','WRITE\x20SIDE\x20(compile-emitted,\x20do\x20not\x20hand-build):\x20the\x20plan\x20emits\x20guard\x20\x27guard_review_decision\x27\x20(service-provider\x20identity:\x20submitted\x20order\x20belongs\x20to\x20this\x20service,\x20submitted\x20Permission\x20==\x20service.permission,\x20signer\x20is\x20owner/admin)\x20and\x20the\x20repository\x20policy\x20\x27review_decision\x27\x20(id_from=None,\x20value_type=U64,\x20write_guard\x20bound).\x20The\x20merchant\x20approves\x20an\x20order\x20with\x20repository.data_add\x20{name:\x27review_decision\x27,\x20items:[{write_guard:\x27<guard_review_decision>\x27,\x20data:[{id:<order\x20address>,\x20data:<payout\x20U64>}]}]}\x20+\x20a\x20passport\x20submission\x20carrying\x20the\x20order\x20and\x20the\x20permission.','REPOSITORY\x20ROW\x20IS\x20PLAN-BOUND:\x20identifier\x201\x20is\x20a\x20static\x20row\x20resolved\x20to\x20the\x20plan-emitted\x20\x27_review\x27\x20repository\x20—\x20a\x20buyer-submitted\x20repository\x20row\x20would\x20let\x20the\x20claimant\x20present\x20a\x20self-controlled\x20repository\x20with\x20self-written\x20approvals\x20(fail-open).\x20Keep\x20it\x20static/plan-bound.','NO\x20QUOTE_GUARD\x20on\x20\x27review_decision\x27:\x20the\x20where-scan\x20(1176)\x20aborts\x20if\x20the\x20scanned\x20policy\x20is\x20quote-guard-protected\x20and\x20the\x20claim\x20passport\x20does\x20not\x20carry\x20it\x20in\x20its\x20impack\x20list.\x20Decision\x20rows\x20are\x20payout\x20amounts,\x20not\x20secrets\x20—\x20leave\x20the\x20policy\x20unprotected\x20so\x20claims\x20stay\x20simple.','UPPER\x20BOUND\x20IS\x20THE\x20PROMISE:\x20a\x20decision\x20row\x20value\x20BELOW\x20min_payout\x20does\x20not\x20pass\x20(partial\x20approval),\x20and\x20the\x20claim\x20pays\x20the\x20reward\x27s\x20fixed\x20per-claim\x20amount\x20regardless\x20—\x20set\x20min_payout\x20equal\x20to\x20the\x20promised\x20bounty\x20so\x20\x27approved\x27\x20and\x20\x27paid\x27\x20never\x20diverge.\x20Zero-value\x20rows\x20approve\x20nothing\x20(BKN-P2\x20keeps\x20zero-total\x20orders\x20out\x20entirely).'],'example_use_case':'Travel\x20service\x20with\x20a\x20review\x20bounty:\x20after\x20delivery\x20the\x20merchant\x20checks\x20the\x20review\x20and\x20writes\x20a\x20U64\x20approval\x20row\x20for\x20the\x20order\x20(>=\x20the\x20promised\x20bounty).\x20The\x20buyer\x27s\x20claim\x20passes\x20only\x20when\x20that\x20row\x20exists\x20for\x20THEIR\x20order\x20—\x20no\x20approval,\x20no\x20payout;\x20a\x20padded\x20candidate\x20list\x20borrows\x20nothing.','verifier_constraint_level':'level3_scene_combined'},{'id':'tpl_reward_not_claimed','scene_id':'reward_claim','name':'Reward\x20not-claimed\x20replay\x20gate','description':'Minimal\x20once-per-recipient\x20replay\x20gate\x20for\x20a\x20Reward\x20claim:\x20passes\x20only\x20when\x20no\x20reward\x20record\x20exists\x20yet\x20for\x20the\x20claiming\x20signer\x20on\x20the\x20submitted\x20Reward\x20object.\x20Zero-parameter\x20building\x20block\x20—\x20compose\x20with\x20progress-node\x20and\x20identity\x20legs\x20(see\x20tpl_combined_reward_guard)\x20for\x20a\x20production\x20claim\x20guard.','recommended_patterns':['P13'],'parameters':[],'example_table':[{'identifier':0x0,'b_submission':!![],'value_type':'Address','object_type':'Reward','name':'Reward\x20object\x20being\x20claimed\x20from\x20(submitted\x20by\x20verifier\x20at\x20runtime)'}],'example_root':{'type':'logic_not','node':{'type':'query_reward_record_exists','object':{'identifier':0x0},'where':{}}},'applicable_industries':['ecommerce','education','travel','subscription','freelance'],'relevant_risks':['R-C1-03','R-X1-01'],'creation_notes':['REPLAY\x20GATE\x20ONLY\x20(C11):\x20this\x20root\x20answers\x20exactly\x20one\x20question\x20—\x20has\x20THIS\x20signer\x20already\x20claimed\x20THIS\x20Reward?\x20It\x20carries\x20no\x20workflow\x20or\x20identity\x20teeth;\x20a\x20guard\x20made\x20of\x20only\x20this\x20leg\x20lets\x20any\x20address\x20holding\x20any\x20order\x20at\x20any\x20node\x20claim\x20first.\x20Compose\x20with\x20a\x20progress-node\x20leg\x20and\x20a\x20Signer==order.owner\x20leg\x20(see\x20tpl_combined_reward_guard)\x20before\x20binding\x20a\x20funded\x20pool.','STRUCTURED\x20NODE\x20FORM\x20(klk-mn-261013\x20F-05):\x20the\x20SDK\x20encodes\x20where:{}\x20as\x20[VecU8\x20marker][all-None\x20RecordQueryConditions];\x20recipient\x20defaults\x20to\x20the\x20Signer,\x20so\x20no\x20recipient\x20submission\x20row\x20is\x20needed.\x20NEVER\x20hand-write\x20the\x20raw\x20identifier\x20form\x20with\x20an\x20empty\x20VecU8\x20constant\x20—\x20empty\x20query\x20bytes\x20are\x20rejected\x20by\x20the\x20native\x20with\x20an\x20uncoded\x20MovePrimitiveRuntimeError\x20(\x27Query\x20bytes\x20is\x20empty\x27).','STAMP\x20(UPW-K7,\x20slot-aware):\x20even\x20a\x20once-per-recipient\x20gate\x20consumes\x20claim\x20records,\x20so\x20its\x20reward\x20guard_add\x20entry\x20needs\x20a\x20store_from_id\x20—\x20the\x20MCP\x20stamp\x20gate\x20rejects\x20unstamped\x20record-consuming\x20entries.\x20For\x20THIS\x20template\x27s\x20lifetime-once\x20scope\x20the\x20stamp\x20slot\x20is\x20the\x20submitted\x20Reward\x20address\x20(slot\x200\x20—\x20a\x20constant\x20per\x20pool,\x20so\x20the\x20native\x20once-slot\x20stays\x20per-(recipient,\x20guard));\x20for\x20PER-ORDER\x20scope\x20use\x20the\x20order-scoped\x20variant\x20instead\x20(where.storeFromId\x20+\x20the\x20submitted\x20Order\x20address\x20stamp\x20—\x20see\x20tpl_reward_one_time_claim\x20/\x20tpl_combined_reward_guard,\x20SV-2).\x20On-chain\x20an\x20unstamped\x20entry\x20is\x20accepted\x20but\x20writes\x20records\x20with\x20store_from\x20=\x20none,\x20which\x20matches\x20no\x20storeFromId\x20predicate\x20—\x20that\x20unstamped\x20shape\x20is\x20the\x20ONLY\x20context\x20where\x20the\x20ofn-mn-261012\x20F-01\x20\x27filter\x20is\x20inert\x27\x20verdict\x20ever\x20held\x20(azx7-mn-261014\x20live\x20T8\x20disproved\x20the\x20blanket\x20retraction).','Reward\x20guard\x20is\x20immutable\x20once\x20the\x20Reward\x20object\x20is\x20published\x20—\x20verify\x20this\x20guard\x20against\x20a\x20realistic\x20passport\x20BEFORE\x20publish\x20(F-03:\x20a\x20wrong\x20bound\x20guard\x20can\x20permanently\x20brick\x20the\x20claim\x20path).'],'example_use_case':'A\x20referral\x20bounty\x20pool:\x20the\x20first\x20claim\x20from\x20any\x20given\x20address\x20passes\x20the\x20not-claimed\x20gate;\x20a\x20second\x20claim\x20attempt\x20by\x20the\x20same\x20address\x20aborts\x20because\x20a\x20reward\x20record\x20already\x20exists\x20for\x20that\x20recipient.','verifier_constraint_level':'level3_scene_combined'},{'id':'tpl_combined_reward_guard','scene_id':'reward_claim','name':'Combined\x20reward\x20claim\x20guard\x20(node\x20+\x20owner\x20+\x20not-claimed)','description':'Production\x20reward\x20claim\x20gate:\x20order\x20at\x20the\x20expected\x20progress\x20node\x20+\x20signer\x20is\x20the\x20order\x20owner\x20+\x20reward\x20not\x20yet\x20claimed\x20by\x20this\x20signer.\x20The\x20three\x20legs\x20of\x20tpl_reward_one_time_claim\x27s\x20order-state\x20family,\x20as\x20a\x20standalone\x20composable\x20template.','recommended_patterns':['P07','P13'],'parameters':[{'name':'expected_node','type':'string','description':'Machine\x20node\x20name\x20at\x20which\x20claiming\x20is\x20allowed\x20(e.g.\x20\x27reviewed\x27)','required':!![]}],'example_table':[{'identifier':0x0,'b_submission':!![],'value_type':'Address','object_type':'Order','name':'Order\x20object\x20address\x20(submitted\x20by\x20verifier\x20at\x20runtime)'},{'identifier':0x1,'b_submission':![],'value_type':'String','value':'${expected_node}','name':'Expected\x20pre-claim\x20node\x20name\x20(e.g.\x20\x27reviewed\x27)'},{'identifier':0x2,'b_submission':!![],'value_type':'Address','object_type':'Reward','name':'Reward\x20object\x20being\x20claimed\x20from\x20(submitted\x20by\x20verifier\x20at\x20runtime)'}],'example_root':{'type':'logic_and','nodes':[{'type':'logic_string_nocase_equal','nodes':[{'type':'query','query':'progress.current','object':{'identifier':0x0,'convert_witness':'OrderProgress'},'parameters':[]},{'type':'identifier','identifier':0x1}]},{'type':'logic_equal','nodes':[{'type':'context','context':'Signer'},{'type':'query','query':'order.owner','object':{'identifier':0x0},'parameters':[]}]},{'type':'logic_not','node':{'type':'query_reward_record_exists','object':{'identifier':0x2},'where':{'storeFromId':{'identifier':0x0}}}}]},'applicable_industries':['ecommerce','education','travel','subscription','freelance'],'relevant_risks':['R-C1-03','R-X1-01','R-X1-10'],'creation_notes':['THREE\x20LEGS,\x20THREE\x20THEFT\x20PATHS\x20CLOSED:\x20the\x20progress-node\x20leg\x20blocks\x20claiming\x20before\x20the\x20workflow\x20reaches\x20the\x20claim\x20point;\x20the\x20identity\x20leg\x20blocks\x20a\x20non-owner\x20holding/forwarding\x20an\x20order\x20at\x20the\x20right\x20node\x20from\x20draining\x20the\x20pool\x20(audit-261012\x20B5);\x20the\x20not-claimed\x20leg\x20blocks\x20a\x20second\x20claim\x20by\x20the\x20same\x20signer.\x20Dropping\x20any\x20single\x20leg\x20reopens\x20its\x20path.','ZERO-VALUE\x20ORDER\x20CAUTION\x20(BKN-P2):\x20unlike\x20tpl_reward_one_time_claim\x20this\x20root\x20does\x20NOT\x20carry\x20the\x20order.amount\x20>=\x201\x20positive-amount\x20leg\x20—\x20add\x20it\x20when\x20the\x20pool\x20pays\x20per\x20order\x20and\x20zero-total\x20orders\x20(100%-off\x20coupons)\x20must\x20never\x20trigger\x20the\x20incentive.','REPLAY\x20GATE\x20(SV-2,\x20azx7-mn-261014\x20live\x20T8):\x20this\x20root\x20scopes\x20the\x20claim-records\x20query\x20BY\x20THE\x20ORDER\x20—\x20where.storeFromId\x20references\x20slot\x200\x20(the\x20submitted\x20Order\x20address),\x20the\x20same\x20slot\x20the\x20guard_add\x20entry\x20stamps:\x20once\x20per\x20buyer\x20per\x20ORDER.\x20NEVER\x20hand-write\x20the\x20raw\x20identifier\x20form\x20with\x20an\x20empty\x20VecU8\x20constant\x20(uncoded\x20MovePrimitiveRuntimeError\x20\x27Query\x20bytes\x20is\x20empty\x27\x20at\x20first\x20verification).','STAMP\x20+\x20FILTER\x20PAIR\x20(SV-2):\x20the\x20reward.guard_add\x20store_from_id\x20STAMP\x20and\x20the\x20where.storeFromId\x20QUERY\x20FILTER\x20are\x20DIFFERENT\x20fields\x20and\x20BOTH\x20are\x20required\x20for\x20the\x20per-order\x20scope\x20—\x20the\x20STAMP\x20makes\x20each\x20claim\x20record\x20key\x20on\x20the\x20submitted\x20Order\x20address;\x20the\x20FILTER\x20matches\x20records\x20by\x20that\x20same\x20value.\x20A\x20record-consuming\x20guard\x20(this\x20template)\x20MUST\x20be\x20added\x20with\x20store_from_id\x20=\x200\x20(the\x20submitted\x20Order/claimant\x20slot)\x20—\x20the\x20MCP\x20guard_add\x20stamp\x20gate\x20(UPW-K7)\x20REJECTS\x20the\x20unstamped\x20entry;\x20on-chain\x20the\x20unstamped\x20entry\x20is\x20accepted\x20but\x20writes\x20records\x20with\x20store_from\x20=\x20none,\x20which\x20matches\x20no\x20storeFromId\x20predicate\x20—\x20that\x20unstamped\x20shape\x20is\x20the\x20ONLY\x20context\x20where\x20the\x20ofn-mn-261012\x20F-01\x20\x27filter\x20is\x20inert\x27\x20verdict\x20ever\x20held\x20(azx7-mn-261014\x20live\x20T8\x20disproved\x20the\x20blanket\x20retraction).\x20Re-adding\x20the\x20SAME\x20guard\x20overwrites\x20its\x20slot\x20in\x20place,\x20so\x20live\x20pools\x20are\x20repairable.','IDENTITY\x20LEG\x20(mandatory\x20regardless\x20of\x20chain\x20patch\x20state):\x20claim()\x20pays\x20Recipient::Signer\x20(tx_context::sender)\x20with\x20no\x20order\x20binding\x20of\x20its\x20own\x20—\x20without\x20the\x20order.owner\x20identity\x20leg\x20any\x20address\x20holding\x20any\x20order\x20at\x20the\x20required\x20node\x20drains\x20the\x20pool\x20(audit-261012\x20B5).\x20The\x20MOV-PROTOCOL-1212\x20chain\x20patch\x20adds\x20recipient==signer\x20and\x20a\x20per-(recipient,\x20guard,\x20store_from)\x20once-slot\x20as\x20the\x20SECOND\x20line\x20—\x20a\x20replay\x20with\x20the\x20registered\x20guard\x20still\x20aborts\x20at\x20the\x20passport\x20layer\x20FIRST\x20(E_VERIFY_FAILED=7);\x20check\x20the\x20patch\x27s\x20deployment\x20freshness\x20via\x20wowok_buildin_info\x20upgrade_check\x20(DEPLOY-K1).','Reward\x20guard\x20is\x20immutable\x20once\x20the\x20Reward\x20object\x20is\x20published\x20—\x20verify\x20this\x20guard\x20against\x20a\x20realistic\x20passport\x20BEFORE\x20publish\x20(F-03:\x20a\x20wrong\x20bound\x20guard\x20can\x20permanently\x20brick\x20the\x20claim\x20path).','ADJUDICATED\x20DESIGN\x20(upwc-mn-261013\x20③)\x20—\x20REVIEW-THEN-CLAIM-THEN-COMPLETE\x20ordering:\x20the\x20standard\x20flow\x20writes\x20the\x20repository\x20review\x20row\x20FIRST,\x20fires\x20the\x20reward\x20claim\x20SECOND,\x20and\x20only\x20then\x20advances\x20the\x20machine\x20to\x20completed.\x20A\x20test/report\x20line\x20reading\x20\x27review\x20written\x20before\x20complete\x27\x20describes\x20the\x20designed\x20order,\x20not\x20a\x20defect\x20(KL-C5\x20review-window\x20idiom\x20family).','SCOPE\x20SPLIT\x20(SV-2):\x20this\x20root\x27s\x20order-scoped\x20gate\x20=\x20once\x20per\x20buyer\x20per\x20ORDER\x20(the\x20buyer\x27s\x20next\x20order\x20still\x20claims);\x20swap\x20where.storeFromId\x20for\x20an\x20EMPTY\x20where\x20({})\x20ONLY\x20for\x20deliberate\x20one-bounty-per-buyer\x20designs\x20—\x20it\x20silently\x20kills\x20the\x20buyer\x27s\x20second\x20order\x20(upw-mn-261014\x20F-48).\x20For\x20a\x20chain-enforced\x20per-order\x20once\x20immune\x20to\x20guard-tree\x20mistakes,\x20route\x20the\x20incentive\x20through\x20an\x20Allocation\x20leg\x20gated\x20on\x20protocol\x20slot\x20254\x20instead.'],'example_use_case':'Review\x20bounty\x20with\x20full\x20protection:\x20fan\x20finishes\x20review\x20(node\x20\x27reviewed\x27),\x20submits\x20the\x20Order\x20and\x20the\x20Reward\x20address;\x20the\x20claim\x20passes\x20only\x20for\x20the\x20order\x20owner\x20at\x20the\x20reviewed\x20node\x20who\x20has\x20never\x20claimed\x20this\x20pool.\x20Every\x20other\x20path\x20aborts\x20and\x20the\x20balance\x20stays.','verifier_constraint_level':'level3_scene_combined'},{'id':'tpl_write_guard_type_check','scene_id':'repository_write_guard','name':'Storage\x20write\x20type\x20validation','description':'Verifies\x20that\x20the\x20data\x20type\x20written\x20to\x20the\x20Repository\x20matches\x20the\x20declaration\x20and\x20that\x20the\x20writer\x27s\x20identity\x20is\x20legitimate.','recommended_patterns':['P08','P11'],'parameters':[{'name':'repository_address','type':'address','description':'Repository\x20object\x20address','required':![],'constraint':'Must\x20be\x20the\x20address\x20of\x20an\x20already-published\x20Repository'},{'name':'entity_registrar','type':'address','description':'EntityRegistrar\x20address\x20(fixed\x200xaab)','required':![],'default':'0xaab'}],'example_table':[{'identifier':0x0,'b_submission':!![],'value_type':'Address','name':'Writer\x20address\x20(submitted\x20by\x20caller)','binding_constraint':'Must\x20be\x20a\x20valid\x20Entity\x20address'},{'identifier':0x1,'b_submission':!![],'value_type':'String','name':'Write\x20data\x20key\x20name\x20(submitted\x20by\x20caller)','binding_constraint':'Key\x20name\x20format\x20must\x20be\x20\x27category:key\x27'},{'identifier':0x2,'b_submission':![],'value_type':'Address','value':'${entity_registrar}','name':'EntityRegistrar\x20system\x20address','is_system_address':!![]}],'example_root':{'type':'logic_and','nodes':[{'type':'logic_equal','nodes':[{'type':'context','context':'Signer'},{'type':'identifier','identifier':0x0}]},{'type':'logic_not','node':{'type':'logic_equal','nodes':[{'type':'identifier','identifier':0x0},{'type':'identifier','identifier':0x2}]}}]},'applicable_industries':['ecommerce','education','travel','subscription','rental'],'relevant_risks':['R-C1-02','R-C3-03','R-C3-04'],'creation_notes':['id_from_submission\x20in\x20write_guard\x20must\x20be\x20of\x20Address\x20type','data_from_submission\x20must\x20match\x20the\x20Repository\x20value_type','EntityRegistrar\x20(0xaab)\x20and\x20EntityLinker\x20(0xaaa)\x20are\x20fixed\x20system\x20addresses'],'example_use_case':'E-commerce\x20platform\x20merchant\x20writes\x20product\x20review\x20data;\x20the\x20Guard\x20verifies\x20that\x20the\x20writer\x20is\x20a\x20registered\x20Entity\x20and\x20not\x20a\x20system\x20address.','verifier_constraint_level':'level1_strict'},{'id':'tpl_usage_guard_threshold','scene_id':'arbitration_usage_guard','name':'Dispute\x20initiation\x20threshold\x20validation','description':'Verifies\x20that\x20the\x20dispute\x20initiator\x20meets\x20minimum\x20conditions\x20(e.g.\x20order\x20amount,\x20time\x20window),\x20filtering\x20out\x20meaningless\x20disputes.','recommended_patterns':['P02','P10'],'parameters':[{'name':'min_amount','type':'number','description':'Minimum\x20dispute\x20amount\x20threshold','required':!![],'constraint':'A\x20reasonable\x20threshold\x20is\x20recommended;\x20too\x20high\x20hinders\x20user\x20rights\x20protection,\x20too\x20low\x20produces\x20many\x20invalid\x20disputes'}],'example_table':[{'identifier':0x0,'b_submission':!![],'value_type':'Address','name':'Dispute-related\x20Order\x20object\x20address','object_type':'Order'},{'identifier':0x1,'b_submission':![],'value_type':'U64','value':'${min_amount}','name':'Minimum\x20dispute\x20amount\x20threshold'}],'example_root':{'type':'logic_as_u256_greater_or_equal','nodes':[{'type':'query','query':'order.amount','object':{'identifier':0x0},'parameters':[]},{'type':'identifier','identifier':0x1}]},'applicable_industries':['ecommerce','rental','education','travel'],'relevant_risks':['R-X1-01','R-X1-07','R-C3-03'],'creation_notes':['usage_guard\x20is\x20iterable\x20(Arbitration\x20can\x20be\x20updated)','AND\x20conditions\x20should\x20not\x20be\x20too\x20many\x20(R-X1-07);\x20≤3\x20conditions\x20recommended','When\x20Arbitration\x20bPaused=true,\x20blocking\x20takes\x20priority\x20(checked\x20before\x20Guard)'],'example_use_case':'Rental\x20service\x20dispute:\x20only\x20disputes\x20with\x20order\x20amount\x20≥\x2010\x20WOW\x20are\x20accepted,\x20filtering\x20out\x20small-amount\x20conflicts.','verifier_constraint_level':'level3_scene_combined'},{'id':'tpl_voting_guard_numeric_weight','scene_id':'arbitration_voting_guard','name':'Numeric\x20voting\x20weight\x20validation','description':'Panel-membership\x20voting_guard\x20for\x20weighted\x20arbitration\x20panels:\x20the\x20vote\x20passes\x20only\x20when\x20the\x20tx\x20signer\x20is\x20on\x20the\x20authorized\x20arbitrator\x20list\x20(vec_contains_address\x20over\x20the\x20panel\x20vector\x20—\x20the\x20writer-set\x20identity\x20idiom).\x20CHAIN\x20FACT:\x20no\x20address-to-weight\x20lookup\x20primitive\x20exists\x20—\x20the\x20per-vote\x20WEIGHT\x20rides\x20the\x20vote-time\x20binding\x20(FixedValue\x20flat\x20weight,\x20or\x20GuardIdentifier\x20extracting\x20the\x20voter\x27s\x20own\x20submitted\x20value,\x20forgery-prone\x20R-C3-02);\x20arb.voted.weight\x20(id\x201407,\x20U32)\x20only\x20reads\x20back\x20the\x20weight\x20of\x20an\x20ALREADY-CAST\x20vote\x20(audit\x20leg),\x20it\x20cannot\x20assign\x20one.','recommended_patterns':['P12'],'parameters':[{'name':'arbiter_panel','type':'vec_address','description':'Authorized\x20arbitrator\x20address\x20list\x20(VecAddress)\x20the\x20vote\x20caller\x20is\x20checked\x20against','required':!![]}],'example_table':[{'identifier':0x0,'b_submission':![],'value_type':'Vec<Address>','value':'${arbiter_panel}','name':'Authorized\x20arbitrator\x20address\x20list'}],'example_root':{'type':'vec_contains_address','nodes':[{'type':'identifier','identifier':0x0},{'type':'context','context':'Signer'}]},'applicable_industries':['ecommerce','rental','education','travel'],'relevant_risks':['R-C3-02','R-C2-01','R-C2-02'],'creation_notes':['The\x20GuardIdentifier\x20for\x20voting_guard\x20must\x20be\x20numeric\x20(U8-U256),\x20otherwise\x20E_GUARD_IDENTIFIER_NOT_NUMBER','Caller\x20identity\x20is\x20the\x20tx\x20Signer\x20context\x20—\x20never\x20a\x20voter-submitted\x20address\x20row\x20(a\x20b_submission=true\x20identity\x20carries\x20forgery\x20risk,\x20R-C3-02\x20critical)','SHAPE:\x20vec_contains_address\x20takes\x20a\x20NODES\x20ARRAY\x20—\x20nodes[0]\x20the\x20VecAddress\x20panel\x20vector,\x20nodes[1]\x20the\x20Signer\x20context.\x20The\x20former\x20vec/target\x20key\x20shape\x20was\x20never\x20a\x20chain\x20or\x20schema\x20shape\x20(batch-26\x20③-d\x20B-2\x20allowlist\x20exit)','Weight\x20sources\x20on\x20chain:\x20FixedValue\x20(flat)\x20or\x20GuardIdentifier\x20(per-voter\x20submitted,\x20R-C3-02);\x20arb.voted.weight\x20(1407)\x20is\x20a\x20post-vote\x20readback\x20—\x20tiered\x20panels\x20express\x20rank\x20through\x20the\x20vote\x20binding\x20/\x20the\x20machine\x20flow\x20(tpl_machine_weighted_voting),\x20never\x20through\x20a\x20lookup\x20in\x20this\x20guard'],'example_use_case':'3-person\x20arbitration\x20panel:\x20only\x20listed\x20arbitrators\x20may\x20vote\x20(this\x20guard);\x20the\x20chief-3\x20/\x20regular-1\x20weights\x20ride\x20the\x20vote-time\x20binding,\x20and\x20the\x20majority\x20threshold\x20is\x20counted\x20Arb-side.','verifier_constraint_level':'level2_identity_set'},{'id':'tpl_voting_guard_open_vote','scene_id':'arbitration_voting_guard','name':'Open-vote\x20gate\x20(any\x20Passport\x20holder,\x20flat\x20fixed\x20weight)','description':'The\x20standard\x20voting_guard\x20for\x20a\x20PUBLIC\x20arbitration\x20venue:\x20an\x20always-true\x20guard\x20paired\x20with\x20a\x20'+'FixedValue\x20weight,\x20so\x20every\x20Passport\x20holder\x20may\x20vote\x20and\x20every\x20vote\x20counts\x20at\x20the\x20same\x20weight.\x20'+'This\x20is\x20the\x20sanctioned\x20fix\x20for\x20the\x20F-36\x20vote-lock:\x20an\x20Arbitration\x20whose\x20voting_guard\x20is\x20EMPTY\x20'+'does\x20NOT\x20have\x20open\x20voting\x20—\x20plain\x20votes\x20then\x20hard-require\x20the\x20vote\x20permission\x20(358)\x20on\x20the\x20'+'arbitration\x27s\x20Permission,\x20which\x20by\x20default\x20only\x20the\x20creator-admin\x20holds,\x20so\x20a\x20dispute\x20'+'dead-locks\x20when\x20that\x20admin\x20is\x20unresponsive\x20(R-ARB-VOTE-LOCK\x20blocks\x20the\x20service\x20publish).\x20'+'Binding\x20this\x20guard\x20is\x20the\x20honest,\x20explicit\x20way\x20to\x20declare\x20\x27the\x20voter\x20universe\x20is\x20everyone\x27.','recommended_patterns':['P12'],'parameters':[{'name':'vote_weight','type':'number','description':'FixedValue\x20vote\x20weight\x20per\x20passing\x20voter','required':!![],'default':'1','constraint':'u32\x20range\x201-4294967295;\x201\x20=\x20one\x20person\x20one\x20vote.\x20Weighted\x20panels\x20(rank/token\x20tiers)\x20need\x20tpl_voting_guard_numeric_weight\x20instead'}],'example_table':[{'identifier':0x0,'b_submission':![],'value_type':'Bool','value':!![],'name':'Open\x20vote\x20—\x20every\x20Passport\x20holder\x20passes\x20(Bool\x20table\x20constants\x20are\x20RAW\x20booleans;\x20the\x20string\x20\x22true\x22\x20fails\x20creation:\x20value_type=0\x20requires\x20a\x20boolean\x20—\x20klook-mn-261019\x20KLM-FIND-04)'}],'example_root':{'type':'identifier','identifier':0x0},'applicable_industries':['community','public_goods','ecommerce','rental','travel','education'],'relevant_risks':['R-X1-17'],'creation_notes':['R-ARB-VOTE-LOCK:\x20an\x20EMPTY\x20voting_guard\x20is\x20NOT\x20open\x20voting\x20—\x20plain\x20votes\x20hard-require\x20the\x20vote\x20permission\x20(358),\x20admin-only\x20by\x20default,\x20and\x20a\x20dispute\x20dead-locks\x20when\x20the\x20admin\x20is\x20unresponsive\x20(crs9-F-36).\x20This\x20guard\x20is\x20the\x20declared\x20fix;\x20the\x20voting_guard\x20field\x20stays\x20mutable\x20after\x20publish\x20(op=\x27set\x27)','DEFAULT\x20PRESCRIPTION\x20(B10,\x20ksg-mn-261022):\x20build\x20plans\x20treat\x20binding\x20THIS\x20guard\x20as\x20the\x20default\x20post-deploy\x20step\x20for\x20any\x20venue\x20meant\x20to\x20accept\x20community\x20votes\x20(arbitration_unpause\x20then\x20voting_guard_open_vote);\x20a\x20deliberately\x20closed\x20panel\x20is\x20the\x20exception\x20and\x20binds\x20tpl_voting_guard_numeric_weight\x20instead\x20—\x20never\x20leave\x20the\x20field\x20empty\x20by\x20omission','Once\x20voting_guard\x20is\x20non-empty,\x20every\x20vote\x20call\x20MUST\x20carry\x20the\x20voting_guard\x20in\x20its\x20payload\x20(guard\x20reference\x20+\x20the\x20voter\x27s\x20Passport\x20credential);\x20a\x20plain\x20vote\x20aborts\x20on-chain\x20with\x20E_VOTING_GUARD_USED\x20(abort\x202)','The\x20constant-true\x20root\x20is\x20a\x20TAUTOLOGY\x20BY\x20DESIGN\x20—\x20under\x20the\x20vote\x20binding\x20hint\x20the\x20analyzer\x20grades\x20it\x20low/info\x20(the\x20declared\x20voter\x20universe);\x20without\x20a\x20binding\x20hint\x20the\x20generic\x20R-X1-17\x20warning\x20fires,\x20which\x20is\x20expected\x20for\x20an\x20unbound\x20draft','Weight\x20semantics:\x20FixedValue\x20=\x20flat\x20weight\x20per\x20passing\x20voter;\x20GuardIdentifier\x20would\x20extract\x20a\x20per-voter\x20weight\x20from\x20the\x20voter\x27s\x20own\x20submission\x20(forgery-prone\x20—\x20prefer\x20FixedValue\x20for\x20open\x20votes,\x20R-C3-02).\x20Weighted\x20panels\x20(rank/token\x20tiers)\x20belong\x20in\x20tpl_voting_guard_numeric_weight','Mainnet-verified\x20(crs9\x20D3,\x202026-10-15):\x20a\x20guard\x20of\x20exactly\x20this\x20shape\x20carried\x20the\x20arbitration\x20vote;\x20ballots\x20counted\x20at\x20weight\x201\x20through\x20the\x20open\x20voting_guard'],'example_use_case':'A\x20third-party\x20arbitration\x20venue\x20for\x20a\x20marketplace\x20service:\x20any\x20community\x20member\x20may\x20vote\x20on\x20disputes,\x20one\x20vote\x20each,\x20and\x20vote\x20counting\x20never\x20depends\x20on\x20a\x20single\x20admin\x20staying\x20responsive.','verifier_constraint_level':'level3_scene_combined'},{'id':'tpl_forward_arb_ruling_won','scene_id':'machine_forward_guard','name':'Arbitration\x20ruling-won\x20refund\x20gate\x20(stable\x20indemnity\x20state,\x20two-slot\x20order+arb)','description':'Guard\x20for\x20a\x20Machine\x20forward\x20that\x20pays\x20a\x20refund\x20when\x20the\x20buyer\x20WON\x20the\x20arbitration\x20'+'(e.g.\x20a\x20booking\x20\x27arb_refund\x27\x20edge\x20from\x20disputed\x20→\x20refunded).\x20The\x20verifier\x20submits\x20BOTH\x20'+'the\x20Order\x20address\x20(slot\x200)\x20and\x20the\x20Arb\x20case\x20object\x20address\x20(slot\x201);\x20the\x20gate\x20checks:\x20'+'(1)\x20arb.order\x20==\x20order\x20—\x20the\x20Arb\x20case\x20IS\x20this\x20order\x27s\x20dispute,\x20(2)\x20arb.indemnity\x20some\x20==\x20true\x20'+'(Bool\x20—\x20set\x20by\x20the\x20ruling;\x20arb_withdraw\x20sweeps\x20ONLY\x20the\x20fee\x20balance\x20and\x20never\x20touches\x20it,\x20so\x20a\x20fee\x20'+'withdrawal\x20cannot\x20clear\x20it;\x20a\x20reset\x20(objection\x20cycle)\x20clears\x20it,\x20correctly\x20re-gating\x20an\x20'+'overturned\x20ruling),\x20and\x20(3)\x20arb.indemnity.amount\x20!=\x200\x20—\x20a\x20Some(0)\x20MERCHANT-favor\x20ruling\x20passes\x20'+'presence\x20but\x20is\x20rejected\x20here\x20(rex-mn-261021\x20T5\x20live:\x20a\x20presence-only\x20root\x20let\x20the\x20defeated\x20buyer\x20'+'pull\x20the\x20refund),\x20so\x20the\x20edge\x20opens\x20only\x20on\x20an\x20ENFORCED\x20buyer\x20award;\x20a\x20None\x20amount\x20fails\x20closed\x20'+'via\x20the\x20native\x20query\x20error.\x20The\x20two-slot\x20form\x20makes\x20the\x20pair\x20'+'self-certifying:\x20a\x20merchant\x20holding\x20a\x20favourable\x20ruling\x20on\x20their\x20own\x20order\x20cannot\x20pair\x20it\x20'+'with\x20a\x20victim\x20order\x27s\x20address\x20to\x20redirect\x20that\x20victim\x27s\x20escrow\x20(F-02).','recommended_patterns':['P06','P09'],'parameters':[],'example_table':[{'identifier':0x0,'b_submission':!![],'value_type':'Address','object_type':'Order','name':'Order\x20address\x20(recipient\x20—\x20must\x20equal\x20payment_info.for_object;\x20submitted\x20by\x20the\x20forward\x20executor)'},{'identifier':0x1,'b_submission':!![],'value_type':'Address','object_type':'Arb','name':'Arb\x20case\x20object\x20address\x20(submitted\x20by\x20the\x20forward\x20executor\x20at\x20runtime)'},{'identifier':0x2,'b_submission':![],'value_type':'Bool','value':!![],'name':'Expected\x20indemnity\x20PRESENCE\x20(true\x20=\x20a\x20ruling\x20exists).\x20PAIRED\x20with\x20the\x20zero-award\x20exclusion\x20leg\x20(id\x203):\x20presence\x20alone\x20let\x20a\x20Some(0)\x20merchant-favor\x20ruling\x20through\x20(rex-mn-261021\x20T5),\x20so\x20the\x20shipped\x20amount\x20!=\x200\x20leg\x20makes\x20this\x20gate\x20buyer-won-only'},{'identifier':0x3,'b_submission':![],'value_type':'U64','value':'0','name':'Zero-award\x20constant\x20—\x20the\x20excluded\x20amount\x20(0\x20=\x20merchant-favor\x20ruling)'},{'identifier':0xfe,'b_submission':!![],'value_type':'Address','object_type':'Order','name':'task_binding\x20order\x20anchor\x20(protocol\x20slot\x20254;\x20written\x20by\x20order\x20creation)'}],'example_root':{'type':'logic_and','nodes':[{'type':'logic_equal','nodes':[{'type':'query','query':'arb.order','object':{'identifier':0x1},'parameters':[]},{'type':'identifier','identifier':0x0}]},{'type':'logic_equal','nodes':[{'type':'query','query':'arb.indemnity\x20some','object':{'identifier':0x1},'parameters':[]},{'type':'identifier','identifier':0x2}]},{'type':'logic_not','node':{'type':'logic_as_u256_equal','nodes':[{'type':'query','query':'arb.indemnity.amount','object':{'identifier':0x1},'parameters':[]},{'type':'identifier','identifier':0x3}]}}]},'applicable_industries':['travel','ecommerce','rental','education','subscription','licensing'],'relevant_risks':['R-X1-16'],'creation_notes':['⚠️\x20TRANSIENT-STATE\x20TRAP\x20(verified\x20on\x20testnet,\x20booking\x20o10):\x20gating\x20on\x20arb.status\x20==\x205\x20(Finished)\x20is\x20WRONG\x20—\x20arb.status\x20is\x20transient:\x20after\x20the\x20award\x20is\x20settled,\x20a\x20legitimate\x20arb_withdraw\x20by\x20the\x20arbitrator\x20advances\x20the\x20case\x205\x20(Finished)\x20→\x206\x20(Withdrawn),\x20permanently\x20killing\x20the\x20refund\x20edge.\x20Because\x20Guard\x20AND\x20Machine\x20are\x20immutable\x20after\x20publish\x20(IMMUT-001),\x20a\x20mistyped\x20arb.status\x20gate\x20strands\x20the\x20refund\x20funds\x20forever\x20(o10:\x201.5\x20WOW\x20locked\x20with\x20no\x20on-chain\x20exit).','arb.indemnity\x20some\x20(Bool)\x20is\x20a\x20PRESENCE\x20signal\x20—\x20\x27a\x20ruling\x20is\x20on\x20chain\x27\x20(klk-ln-261011\x20F18:\x20arb.rs\x20indemnity_some\x20checks\x20the\x20Option,\x20NOT\x20the\x20amount;\x20a\x20zero-award\x20merchant-favor\x20ruling\x20ALSO\x20sets\x20Some(0)\x20and\x20passes\x20a\x20some==true\x20leg,\x20verified\x20in\x20T5).\x20It\x20is\x20NOT\x20by\x20itself\x20a\x20\x27buyer\x20won\x27\x20proof:\x20the\x20SHIPPED\x20zero-award\x20exclusion\x20leg\x20(logic_not\x20over\x20logic_as_u256_equal[arb.indemnity.amount,\x200])\x20IS\x20the\x20actual-award\x20requirement\x20in\x20canonical\x20form\x20—\x20compose\x20by\x20COPY,\x20never\x20by\x20hand\x20(rex-mn-261021\x20T5\x20mainnet:\x20a\x20presence-only\x20root\x20let\x20the\x20DEFEATED\x20buyer\x20pull\x20the\x20refund).\x20Never\x20touched\x20by\x20arb_withdraw\x20(the\x20fee\x20sweep\x20pulls\x20only\x20from\x20the\x20fee\x20balance);\x20cleared\x20by\x20a\x20reset\x20(objection\x20cycle)\x20—\x20the\x20gate\x20fails\x20shut\x20during\x20the\x20objection\x20cycle\x20and\x20re-arms\x20only\x20after\x20a\x20fresh\x20ruling.','Time-sensitive\x20alternative:\x20arb.indemnity.time\x20(U64\x20ruling\x20timestamp)\x20combined\x20with\x20a\x20deadline\x20—\x20also\x20survives\x20fee\x20withdrawal.','arb.indemnity.amount\x20(U64)\x20exposes\x20the\x20awarded\x20amount\x20if\x20the\x20refund\x20leg\x20must\x20match\x20the\x20ruling\x20exactly;\x20the\x20native\x20query\x20errors\x20on\x20a\x20None\x20field,\x20so\x20an\x20amount-equality\x20leg\x20is\x20fail-closed\x20against\x20never-ruled\x20and\x20reset\x20states.','A\x20reset\x20(state\x204\x20objection\x20cycle)\x20CLEARS\x20the\x20indemnity\x20—\x20arb.indemnity\x20some\x20correctly\x20re-gates\x20to\x20false,\x20so\x20a\x20voided\x20ruling\x20cannot\x20trigger\x20the\x20refund\x20edge.','TWO-SLOT\x20DESIGN\x20(F-02\x20fix):\x20the\x20refund\x20rail\x20has\x20TWO\x20consumers\x20of\x20the\x20same\x20submission\x20—\x20the\x20forward\x20guard\x20needs\x20the\x20Arb\x20object\x20(to\x20read\x20the\x20ruling),\x20while\x20the\x20allocator\x20recipient\x20GuardIdentifier(0)\x20needs\x20the\x20Order\x20object\x20(payment_info.for_object\x20binding).\x20A\x20single\x20slot\x20cannot\x20satisfy\x20both.\x20This\x20two-slot\x20form\x20(slot\x200\x20=\x20Order,\x20slot\x201\x20=\x20Arb)\x20makes\x20the\x20pair\x20self-certifying\x20via\x20the\x20arb.order\x20==\x20order\x20binding\x20assertion,\x20closing\x20the\x20redirect\x20attack\x20where\x20a\x20merchant\x20pairs\x20their\x20own\x20favourable\x20ruling\x20with\x20a\x20victim\x20order\x27s\x20address.','The\x20allocator\x20only\x20reads\x20slot\x200\x20(GuardIdentifier(0)\x20→\x20Order),\x20so\x20the\x20refund\x20recipient\x20resolves\x20correctly;\x20the\x20forward\x20guard\x20reads\x20slot\x201\x20(Arb)\x20for\x20the\x20ruling\x20state.',PROTOCOL_SLOT_254_NOTE],'example_use_case':'Accommodation\x20overbooking\x20dispute:\x20buyer\x20files,\x20arbitrators\x20rule\x20in\x20favor\x20(indemnity\x20=\x20fund\x20boundary);\x20the\x20merchant\x27s\x20refund\x20forward\x20opens\x20only\x20while\x20arb.indemnity\x20some\x20==\x20true,\x20regardless\x20of\x20whether\x20the\x20arbitrator\x20has\x20already\x20withdrawn\x20the\x20case\x20fee.\x20The\x20forward\x20executor\x20submits\x20the\x20Order\x20and\x20Arb\x20addresses\x20together;\x20the\x20allocator\x20pays\x20the\x20Order-anchored\x20recipient\x20only\x20when\x20the\x20binding\x20assertion\x20holds.','verifier_constraint_level':'level3_scene_combined'},{'id':'tpl_forward_arb_ruling_dismissed','scene_id':'machine_forward_guard','name':'Arbitration\x20ruling-dismissed\x20gate\x20(a\x20real\x20ruling\x20exists\x20AND\x20it\x20favoured\x20the\x20merchant,\x20two-slot\x20order+arb)','description':'Guard\x20for\x20a\x20Machine\x20forward\x20that\x20closes\x20a\x20claim\x20when\x20the\x20arbitration\x20DISMISSED\x20it\x20'+'(e.g.\x20\x27claim_dismissed\x27\x20edge\x20from\x20a\x20post-stay\x20claim\x20node\x20to\x20payout,\x20or\x20\x27claim_dismissed_resume\x27\x20'+'restoring\x20the\x20booking).\x20The\x20verifier\x20submits\x20BOTH\x20the\x20Order\x20address\x20(slot\x200)\x20and\x20the\x20Arb\x20case\x20'+'object\x20address\x20(slot\x201);\x20the\x20gate\x20checks:\x20(1)\x20arb.order\x20==\x20order\x20—\x20the\x20Arb\x20case\x20IS\x20this\x20order\x27s\x20'+'dispute,\x20and\x20(2)\x20arb.indemnity.amount\x20==\x200\x20—\x20the\x20ruling\x20awarded\x20the\x20buyer\x20NOTHING\x20'+'(the\x20merchant-favor\x20outcome;\x20the\x20buyer-favor\x20outcome\x20is\x20indemnity.amount\x20>\x200,\x20which\x20gates\x20the\x20'+'companion\x20tpl_forward_arb_ruling_won\x20refund\x20edge).\x20Without\x20this\x20gate\x20a\x20bare-permission\x20dismissal\x20'+'edge\x20lets\x20the\x20platform\x20kill\x20a\x20buyer\x27s\x20claim\x20and\x20release\x20the\x20pool\x20with\x20zero\x20on-chain\x20ruling\x20'+'evidence\x20(N-T2\x20/\x20D2-DISMISS-EDGE-GUARD).','recommended_patterns':['P06','P09'],'parameters':[],'example_table':[{'identifier':0x0,'b_submission':!![],'value_type':'Address','object_type':'Order','name':'Order\x20address\x20(must\x20equal\x20arb.order;\x20submitted\x20by\x20the\x20forward\x20executor)'},{'identifier':0x1,'b_submission':!![],'value_type':'Address','object_type':'Arb','name':'Arb\x20case\x20object\x20address\x20(submitted\x20by\x20the\x20forward\x20executor\x20at\x20runtime)'},{'identifier':0x2,'b_submission':![],'value_type':'U64','value':'0','name':'Expected\x20indemnity\x20amount\x20(0\x20=\x20ruling\x20favoured\x20the\x20merchant)'},{'identifier':0xfe,'b_submission':!![],'value_type':'Address','object_type':'Order','name':'task_binding\x20order\x20anchor\x20(protocol\x20slot\x20254;\x20written\x20by\x20order\x20creation)'}],'example_root':{'type':'logic_and','nodes':[{'type':'logic_equal','nodes':[{'type':'query','query':'arb.order','object':{'identifier':0x1},'parameters':[]},{'type':'identifier','identifier':0x0}]},{'type':'logic_as_u256_equal','nodes':[{'type':'query','query':'arb.indemnity.amount','object':{'identifier':0x1},'parameters':[]},{'type':'identifier','identifier':0x2}]}]},'applicable_industries':['travel','ecommerce','rental','education','subscription'],'relevant_risks':['R-X1-16','R-C3-05'],'creation_notes':['WHY\x20amount\x20==\x200\x20alone\x20is\x20decisive:\x20the\x20native\x20arb.indemnity.amount\x20query\x20ERRORS\x20on\x20a\x20None\x20field,\x20and\x20a\x20guard-query\x20error\x20fails\x20the\x20verification\x20closed\x20—\x20so\x20the\x20leg\x20passes\x20ONLY\x20when\x20indemnity\x20is\x20Some(0),\x20and\x20indemnity\x20is\x20Some\x20ONLY\x20after\x20a\x20ruling\x20(the\x20state\x20machine\x27s\x20reset\x20path\x20clears\x20the\x20indemnity\x20on\x20an\x20overturned\x20ruling\x20—\x20no\x20separate\x20generation\x20counter\x20is\x20needed).\x20A\x20case\x20nobody\x20ever\x20ruled\x20on\x20(None)\x20and\x20a\x20reset/objection\x20case\x20(None)\x20both\x20fail\x20shut,\x20so\x20the\x20platform\x20can\x20never\x20dismiss\x20with\x20zero\x20ruling\x20evidence.','OVERTURN\x20SEMANTICS:\x20a\x20reset\x20clears\x20indemnity,\x20so\x20the\x20amount\x20==\x200\x20leg\x20errors\x20on\x20the\x20None\x20field\x20and\x20the\x20guard\x20verification\x20fails\x20closed.\x20After\x20a\x20re-ruling\x20the\x20gate\x20reads\x20the\x20NEW\x20amount,\x20so\x20the\x20gate\x20reflects\x20the\x20standing\x20ruling\x20—\x20the\x20correct\x20business\x20semantics:\x20a\x20fresh\x20merchant-favor\x20ruling\x20justifies\x20dismissal\x20exactly\x20as\x20much\x20as\x20the\x20overturned\x20one\x20did.','Same\x20two-slot\x20shape\x20as\x20tpl_forward_arb_ruling_won\x20(slot\x200\x20=\x20Order\x20for\x20the\x20arb.order\x20binding,\x20slot\x201\x20=\x20Arb\x20for\x20the\x20ruling\x20state)\x20—\x20ONE\x20INSTANCE\x20PER\x20EXIT\x20EDGE,\x20never\x20share\x20a\x20guard\x20between\x20two\x20forwards.','NEVER\x20express\x20\x27favoured\x20the\x20merchant\x27\x20as\x20arb.indemnity\x20some\x20==\x20false:\x20it\x20conflates\x20never-ruled,\x20reset,\x20and\x20ruled-zero\x20states.\x20The\x20single\x20decisive\x20form\x20is\x20arb.indemnity.amount\x20==\x200\x20(fail-closed\x20on\x20None\x20via\x20the\x20native\x20query\x20error).',PROTOCOL_SLOT_254_NOTE],'example_use_case':'Post-stay\x20claim\x20dismissed:\x20the\x20arbitrator\x20ruled\x20the\x20evidence\x20does\x20not\x20support\x20the\x20guest\x27s\x20claim\x20(indemnity\x200);\x20the\x20platform\x27s\x20claim_dismissed\x20forward\x20opens\x20only\x20when\x20THAT\x20ruling\x20is\x20on-chain\x20and\x20unoverturned,\x20then\x20the\x20settlement\x20release\x20pays\x20out\x20of\x20the\x20intact\x20pool.','verifier_constraint_level':'level3_scene_combined'},{'id':'tpl_gen_passport_identity','scene_id':'gen_passport_guard','name':'Passport\x20identity\x20credential\x20generation\x20validation','description':'Standalone\x20Guard;\x20after\x20verifying\x20the\x20user\x27s\x20identity,\x20generates\x20a\x20Passport\x20with\x20a\x20credential,\x20used\x20as\x20submission\x20data\x20for\x20subsequent\x20operations.','recommended_patterns':['P03','P14'],'parameters':[{'name':'authorized_address','type':'address','description':'Authorized\x20address\x20(or\x20use\x20Vec<Address>\x20whitelist)','required':!![]}],'example_table':[{'identifier':0x0,'b_submission':![],'value_type':'Address','value':'${authorized_address}','name':'Authorized\x20address'}],'example_root':{'type':'logic_equal','nodes':[{'type':'context','context':'Signer'},{'type':'identifier','identifier':0x0}]},'applicable_industries':['ecommerce','education','travel','subscription','rental'],'relevant_risks':['R-C1-01','R-X1-10','R-X1-13'],'creation_notes':['gen_passport\x20is\x20a\x20standalone\x20Guard;\x20it\x20does\x20not\x20bind\x20a\x20Host\x20Object\x20(host_object:\x20Standalone)','quote_guard\x20is\x20a\x20rigid\x20requirement:\x20if\x20the\x20Guard\x20queries\x20Repository\x20data\x20with\x20quote_guard\x20set,\x20the\x20quote_guard\x20must\x20be\x20verified\x20(see\x20R-X1-10)','The\x20Guard\x20can\x20be\x20depended\x20on\x20by\x20other\x20Guards\x20via\x20rely\x20(requires\x20rep=true)','The\x20generated\x20Passport\x20can\x20be\x20used\x20as\x20submission\x20data\x20for\x20subsequent\x20operations'],'example_use_case':'After\x20the\x20user\x20passes\x20identity\x20verification,\x20a\x20Passport\x20is\x20generated;\x20this\x20Passport\x20is\x20then\x20submitted\x20as\x20an\x20identity\x20credential\x20in\x20subsequent\x20service\x20purchases.','verifier_constraint_level':'level1_strict'},{'id':'tpl_repository_quote_guard_subscription','scene_id':'repository_write','name':'Repository\x20data\x20subscription\x20with\x20payment\x20verification','description':'Repository\x20quote_guard\x20requires\x20payment\x20proof\x20for\x20data\x20access.\x20When\x20any\x20Guard\x20queries\x20this\x20Repository\x27s\x20data\x20(query\x201167),\x20the\x20quote_guard\x20is\x20rigidly\x20verified.\x20Enables\x20data\x20subscription\x20revenue\x20model\x20(e.g.,\x20weather\x20data,\x20market\x20oracle\x20data).','recommended_patterns':['P03','P07'],'parameters':[{'name':'repository_address','type':'address','description':'Repository\x20object\x20address','required':!![]},{'name':'subscription_price','type':'number','description':'Subscription\x20payment\x20amount\x20required\x20for\x20data\x20access','required':!![]},{'name':'payment_for_object','type':'address','description':'Payment\x20for_object\x20(Repository\x20address)','required':!![]}],'example_table':[{'identifier':0x0,'b_submission':![],'value_type':'Address','value':'${repository_address}','name':'Repository\x20address'},{'identifier':0x1,'b_submission':![],'value_type':'U256','value':'${subscription_price}','name':'Subscription\x20price'},{'identifier':0x2,'b_submission':!![],'value_type':'Address','name':'Submitted\x20Payment\x20(for_object\x20verification)'},{'identifier':0x3,'b_submission':!![],'value_type':'U256','name':'Submitted\x20Payment\x20amount'}],'example_root':{'type':'logic_and','nodes':[{'type':'logic_equal','nodes':[{'type':'query','query':'payment.info.for','object':{'identifier':0x2}},{'type':'identifier','identifier':0x0}]},{'type':'logic_as_u256_greater_or_equal','nodes':[{'type':'query','query':'payment.amount','object':{'identifier':0x2}},{'type':'identifier','identifier':0x1}]}]},'applicable_industries':['subscription','travel','rental','education'],'relevant_risks':['R-X1-10'],'creation_notes':['VERIFIER-EVIDENCE\x20DESIGN:\x20user\x20submits\x20valid\x20Payment\x20via\x20Passport\x20(b_submission=true),\x20quote_guard\x20verifies\x20Payment\x20fields','quote_guard\x20must\x20be\x20a\x20standalone\x20repository-backed\x20guard:\x20immutable=true,\x20relies\x20empty,\x20rep=true','Repository.owner_receive<T>\x20accepts\x20Payment\x20as\x20subscription\x20revenue','Rigid\x20verification:\x20any\x20guard\x20querying\x20this\x20Repository\x27s\x20data\x20MUST\x20satisfy\x20the\x20quote_guard','Two-phase:\x20passport\x20generation\x20scans\x20+\x20prepares,\x20passport\x20verification\x20re-checks\x20+\x20verifies','VERIFIED\x20QUERY\x20NAMES:\x20payment.info.for\x20(id\x201107,\x20Address),\x20payment.amount\x20(id\x201100,\x20U256)'],'example_use_case':'Weather\x20data\x20provider\x20publishes\x20daily\x20temperature\x20data\x20to\x20Repository.\x20Insurance\x20Machine\x20queries\x20weather\x20data;\x20user\x20must\x20pay\x20subscription\x20(Payment)\x20to\x20access\x20data\x20in\x20their\x20insurance\x20claim\x20flow.','verifier_constraint_level':'level3_scene_combined'},{'id':'tpl_buy_guard_order_holder','scene_id':'service_buy_guard','name':'Supply\x20chain\x20sub-order\x20purchase\x20verification','description':'Sub-service\x20buy_guard\x20verifies\x20the\x20user\x20owns\x20a\x20main\x20service\x20order.\x20Enables\x20supply\x20chain\x20milestone\x20unlock:\x20each\x20milestone\x20=\x20one\x20sub-order,\x20sub-service\x20only\x20purchasable\x20by\x20users\x20who\x20bought\x20the\x20main\x20service.','recommended_patterns':['P03','P04'],'parameters':[{'name':'main_service_address','type':'address','description':'Main\x20Service\x20object\x20address','required':!![]},{'name':'main_order_address','type':'address','description':'Submitted\x20main\x20Order\x20address\x20(b_submission=true)','required':![],'constraint':'If\x20using\x20P16\x20circular\x20reference,\x20use\x20service\x20name\x20instead\x20of\x20address'}],'example_table':[{'identifier':0x0,'b_submission':![],'value_type':'Address','value':'${main_service_address}','name':'Main\x20service\x20address'},{'identifier':0x1,'b_submission':!![],'value_type':'Address','name':'Submitted\x20main\x20Order\x20(ownership\x20verification)'}],'example_root':{'type':'logic_and','nodes':[{'type':'logic_equal','nodes':[{'type':'query','query':'order.owner','object':{'identifier':0x1}},{'type':'context','context':'Signer'}]},{'type':'logic_equal','nodes':[{'type':'query','query':'order.service','object':{'identifier':0x1}},{'type':'identifier','identifier':0x0}]}]},'applicable_industries':['travel','rental','education','freelance'],'relevant_risks':['R-C3-05'],'creation_notes':['VERIFIER-EVIDENCE\x20DESIGN:\x20user\x20submits\x20main\x20Order\x20as\x20evidence\x20(b_submission=true),\x20buy_guard\x20verifies\x20ownership\x20+\x20service\x20match','No\x20parent_order\x20field\x20needed\x20—\x20relationship\x20verified\x20via\x20buy_guard\x20querying\x20submitted\x20Order\x20fields','Each\x20milestone\x20=\x20one\x20sub-order\x20with\x20its\x20own\x20Service\x20+\x20buy_guard','Main\x20flow\x20can\x20branch\x20to\x20different\x20sub-services\x20based\x20on\x20Machine\x20node\x20progression','VERIFIED\x20QUERY\x20NAMES:\x20order.owner\x20(id\x201562,\x20Address),\x20order.service\x20(id\x201203,\x20Address)'],'example_use_case':'Travel\x20package:\x20main\x20service\x20=\x20tour\x20booking.\x20Sub-services\x20=\x20hotel,\x20guide,\x20transfer\x20—\x20each\x20with\x20buy_guard\x20verifying\x20the\x20user\x20purchased\x20the\x20main\x20tour\x20order.','verifier_constraint_level':'level2_identity_set'},{'id':'tpl_payment_exception_compensation','scene_id':'machine_forward_guard','name':'Exception\x20branch\x20compensation\x20Payment','description':'Machine\x20forward\x20guard\x20for\x20exception\x20handling:\x20verifies\x20a\x20compensation\x20Payment\x20bound\x20to\x20specific\x20order\x20+\x20guard\x20+\x20unique\x20progress\x20step\x20(history\x20count)\x20+\x20node\x20name.\x20Enables\x20user-friendly\x20exception\x20branches\x20(e.g.,\x20delivery\x20delay\x20>\x2030min\x20triggers\x20auto-compensation).','recommended_patterns':['P03','P07','P09'],'parameters':[{'name':'order_address','type':'address','description':'Order\x20object\x20address\x20(Payment\x20for_object\x20target)','required':!![]},{'name':'this_guard_address','type':'address','description':'This\x20guard\x27s\x20own\x20address\x20(Payment\x20for_guard\x20target)','required':!![]},{'name':'compensation_amount','type':'number','description':'Minimum\x20compensation\x20amount','required':!![]},{'name':'expected_node_name','type':'string','description':'Expected\x20node\x20name\x20(stored\x20in\x20PaymentInfo.remark,\x20compared\x20with\x20progress.current)','required':!![]}],'example_table':[{'identifier':0x0,'b_submission':![],'value_type':'Address','value':'${order_address}','name':'Order\x20address'},{'identifier':0x1,'b_submission':![],'value_type':'Address','value':'${this_guard_address}','name':'This\x20guard\x20address'},{'identifier':0x2,'b_submission':![],'value_type':'U256','value':'${compensation_amount}','name':'Compensation\x20amount'},{'identifier':0x3,'b_submission':![],'value_type':'String','value':'${expected_node_name}','name':'Expected\x20node\x20name\x20(for\x20remark\x20comparison)'},{'identifier':0x4,'b_submission':!![],'value_type':'Address','name':'Submitted\x20Payment\x20(compensation\x20proof)'},{'identifier':0xfe,'b_submission':!![],'value_type':'Address','object_type':'Order','name':'task_binding\x20order\x20anchor\x20(protocol\x20slot\x20254;\x20written\x20by\x20order\x20creation)'}],'example_root':{'type':'logic_and','nodes':[{'type':'logic_equal','nodes':[{'type':'query','query':'payment.info.for','object':{'identifier':0x4}},{'type':'identifier','identifier':0x0}]},{'type':'logic_equal','nodes':[{'type':'query','query':'payment.info.guard','object':{'identifier':0x4}},{'type':'identifier','identifier':0x1}]},{'type':'logic_as_u256_greater_or_equal','nodes':[{'type':'query','query':'payment.amount','object':{'identifier':0x4}},{'type':'identifier','identifier':0x2}]},{'type':'logic_as_u256_equal','nodes':[{'type':'query','query':'payment.info.index','object':{'identifier':0x4}},{'type':'query','query':'progress.history\x20count','object':{'identifier':0x0,'convert_witness':'OrderProgress'},'parameters':[]}]},{'type':'logic_string_nocase_equal','nodes':[{'type':'query','query':'payment.info.remark','object':{'identifier':0x4}},{'type':'query','query':'progress.current','object':{'identifier':0x0,'convert_witness':'OrderProgress'},'parameters':[]}]}]},'applicable_industries':['rental','travel','ecommerce','freelance'],'relevant_risks':[],'creation_notes':['VERIFIED:\x20PaymentInfo\x20(for_object,\x20for_guard,\x20remark,\x20index),\x20payment_info_with_guard','VERIFIED:\x20withdraw\x20creates\x20the\x20Payment\x20as\x20a\x20fresh\x20singleton\x20object\x20from\x20the\x20withdrawn\x20object\x20set','VERIFIED\x20QUERY\x20NAMES:\x20payment.info.for\x20(id\x201107,\x20Address),\x20payment.info.guard\x20(id\x201109,\x20Address),\x20payment.info.index\x20(id\x201111,\x20U64),\x20payment.info.remark\x20(id\x201110,\x20String),\x20payment.amount\x20(id\x201100,\x20U64;\x20logic_as_u256_ge\x20casts\x20U64→U256\x20for\x20comparison)','VERIFIED\x20INDEX:\x20progress.history\x20count\x20(id\x201273,\x20U64)\x20=\x20unique\x20monotonically\x20increasing\x20step\x20index.\x20Even\x20in\x20cycles,\x20each\x20entry\x20has\x20a\x20different\x20count.','VERIFIED\x20NODE\x20NAME:\x20progress.current\x20(id\x201253,\x20String)\x20=\x20current\x20node\x20name.\x20A\x20node\x20can\x20be\x20entered\x20multiple\x20times\x20in\x20cycles,\x20but\x20the\x20history\x20count\x20is\x20unique\x20each\x20time.','DESIGN:\x20payment.info.index\x20stores\x20the\x20step\x20index\x20set\x20by\x20Treasury\x20at\x20creation\x20time;\x20progress.history\x20count\x20provides\x20the\x20current\x20unique\x20step.\x20Comparing\x20them\x20ensures\x20the\x20Payment\x20was\x20created\x20for\x20THIS\x20specific\x20progress\x20step.','DESIGN:\x20payment.info.remark\x20stores\x20the\x20node\x20name;\x20progress.current\x20provides\x20the\x20current\x20node\x20name.\x20Comparing\x20them\x20provides\x20semantic\x20verification\x20of\x20which\x20node\x20triggered\x20the\x20compensation.','ANTI-REUSE:\x204-dimensional\x20binding:\x20for_object\x20(Order)\x20+\x20for_guard\x20(Guard)\x20+\x20index\x20(unique\x20step)\x20+\x20remark\x20(node\x20name).\x20Same\x20Payment\x20cannot\x20be\x20reused\x20in\x20other\x20contexts.','Payment\x20is\x20freeze_object\x20(immutable)\x20—\x20cannot\x20be\x20modified\x20after\x20creation','VERIFIER-EVIDENCE\x20DESIGN:\x20customer\x20submits\x20Payment,\x20guard\x20verifies\x20binding\x20fields\x20match\x20current\x20context','Treasury\x20withdraws\x20compensation\x20with\x20PaymentInfo(for_object=order,\x20for_guard=this,\x20index=history_count_at_creation,\x20remark=node_name)',PROTOCOL_SLOT_254_NOTE],'example_use_case':'Food\x20delivery:\x20if\x20delivery\x20delayed\x20>\x2030min\x20at\x20node\x20\x27delayed\x27\x20(history\x20count=5),\x20restaurant\x20Treasury\x20auto-compensates\x20$5\x20to\x20customer\x20with\x20PaymentInfo(for_object=order,\x20for_guard=this,\x20index=5,\x20remark=\x27delayed\x27).\x20Customer\x20submits\x20Payment\x20via\x20Passport,\x20guard\x20verifies\x20index\x20matches\x20current\x20history\x20count\x20AND\x20remark\x20matches\x20current\x20node\x20name.','verifier_constraint_level':'level3_scene_combined'},{'id':'tpl_forward_content_subscription_deliver','scene_id':'machine_forward_guard','name':'Content\x20subscription\x20delivery\x20verification\x20(Substack-style)','description':'Forward\x20guard\x20for\x20content\x20subscription\x20delivery\x20flow.\x20Verifies\x20that\x20(1)\x20the\x20order\x20is\x20at\x20the\x20expected\x20pre-delivery\x20node\x20'+'(e.g.\x20\x27Ordered\x27),\x20AND\x20(2)\x20the\x20Signer\x20holds\x20the\x20author\x27s\x20permission\x20index\x20on\x20the\x20bound\x20Permission\x20object.\x20'+'Prevents\x20unauthorized\x20parties\x20from\x20publishing\x20content\x20on\x20behalf\x20of\x20the\x20author.\x20'+'Designed\x20for\x20Substack-style\x20content\x20subscription:\x20Paid\x20→\x20ContentPublished\x20→\x20Completed\x20(success\x20path),\x20'+'with\x20Cancelled\x20and\x20Disputed\x20branches\x20using\x20separate\x20guards\x20(tpl_forward_content_subscription_cancel,\x20'+'tpl_forward_content_subscription_refund).','recommended_patterns':['P06','P09'],'parameters':[{'name':'expected_pre_delivery_node','type':'string','description':'Expected\x20current\x20node\x20name\x20BEFORE\x20delivery\x20(e.g.\x20\x27Ordered\x27)','required':!![],'default':'Ordered','constraint':'Must\x20exactly\x20match\x20the\x20name\x20defined\x20in\x20Machine\x20nodes\x20(case-sensitive).\x20This\x20is\x20the\x20node\x20from\x20which\x20the\x20\x27Deliver\x27\x20forward\x20advances.'},{'name':'permission_object','type':'address','description':'Permission\x20object\x20address\x20bound\x20to\x20the\x20Machine\x20(author\x20role\x20lives\x20here)','required':!![],'constraint':'Must\x20be\x20the\x20same\x20Permission\x20object\x20bound\x20to\x20the\x20Machine.\x20Use\x20name\x20(not\x20address)\x20if\x20Permission\x20is\x20not\x20yet\x20created.'},{'name':'author_permission_index','type':'number','description':'Permission\x20index\x20reserved\x20for\x20the\x20author\x20role\x20(who\x20can\x20publish\x20content)','required':!![],'default':'1000','constraint':'Must\x20match\x20the\x20index\x20configured\x20in\x20the\x20Permission\x20object.\x20Substack\x20convention:\x201000=author,\x201500=arbitrator,\x20reader\x20uses\x20namedOperator=\x27\x27\x20(no\x20specific\x20operator).'}],'example_table':[{'identifier':0x0,'b_submission':!![],'value_type':'Address','object_type':'Order','name':'Order\x20object\x20address\x20(submitted\x20by\x20verifier\x20at\x20runtime)','binding_constraint':'Must\x20be\x20an\x20Order\x20belonging\x20to\x20the\x20bound\x20Service;\x20progress.current\x20must\x20match\x20expected_pre_delivery_node'},{'identifier':0x1,'b_submission':![],'value_type':'String','value':'${expected_pre_delivery_node}','name':'Expected\x20pre-delivery\x20node\x20name\x20(e.g.\x20\x27Ordered\x27)'},{'identifier':0x2,'b_submission':![],'value_type':'Address','value':'${permission_object}','name':'Permission\x20object\x20address\x20(bound\x20to\x20Machine,\x20holds\x20author\x20role)'},{'identifier':0x3,'b_submission':![],'value_type':'U64','value':'${author_permission_index}','name':'Author\x20permission\x20index\x20(e.g.\x201000)'},{'identifier':0xfe,'b_submission':!![],'value_type':'Address','object_type':'Order','name':'task_binding\x20order\x20anchor\x20(protocol\x20slot\x20254;\x20written\x20by\x20order\x20creation)'}],'example_root':{'type':'logic_and','nodes':[{'type':'logic_string_nocase_equal','nodes':[{'type':'query','query':'progress.current','object':{'identifier':0x0,'convert_witness':'OrderProgress'},'parameters':[]},{'type':'identifier','identifier':0x1}]},{'type':'query','query':'permission.entity.perm\x20has','object':{'identifier':0x2},'parameters':[{'type':'context','context':'Signer'},{'type':'identifier','identifier':0x3}]}]},'applicable_industries':['subscription','content','newsletter','media'],'relevant_risks':['R-C2-01','R-C2-03','R-X1-08'],'creation_notes':['VERIFIED\x20QUERY\x20NAMES:\x20progress.current\x20(id\x201253,\x20String)\x20—\x20current\x20node\x20name;\x20permission.entity.perm\x20has\x20(id\x201008,\x20Bool:\x20params\x20[user/guard\x20Address,\x20permission\x20index\x20U16])\x20—\x20direct\x20logic_and\x20child','SUBSTACK\x20DEPLOYMENT:\x20this\x20guard\x20was\x20used\x20in\x20Substack\x20v2\x20Service.\x20Original\x20v1\x20Service\x20was\x20published\x20without\x20arbitrations\x20—\x20had\x20to\x20be\x20recreated\x20as\x20v2\x20with\x20arbitrations\x20bound\x20BEFORE\x20publish\x20(F-S-21).','AUTHOR\x20ROLE:\x20permission\x20index\x201000\x20=\x20author\x20(publish\x20+\x20cancel).\x20namedOperator=\x27\x27\x20for\x20reader\x20role\x20(open\x20—\x20any\x20subscriber).\x20Arbitrator\x20uses\x20index\x201500.','FORWARD\x20DESIGN:\x20\x27Deliver\x27\x20forward\x20advances\x20from\x20\x27Ordered\x27\x20→\x20\x27ContentPublished\x27.\x20Threshold=1,\x20weight=1,\x20permissionIndex=1000\x20(author\x20only).','GUARD-FIRST-WINS:\x20when\x20\x27Ordered\x27\x20has\x20competing\x20forwards\x20(Deliver|Cancel|Dispute),\x20each\x20with\x20its\x20own\x20guard,\x20the\x20first\x20guard\x20to\x20verify\x20wins.\x20Subscribers\x20cannot\x20double-claim\x20by\x20triggering\x20multiple\x20forwards.','IMMUTABILITY:\x20Forward.guard\x20cannot\x20be\x20modified\x20after\x20Machine\x20publish.\x20Verify\x20all\x203\x20guards\x20(deliver/cancel/refund)\x20are\x20correctly\x20bound\x20BEFORE\x20publishing\x20the\x20Machine.','CIRCULAR\x20REF:\x20if\x20Permission\x20is\x20not\x20yet\x20created,\x20use\x20its\x20name\x20(not\x20address)\x20in\x20value\x20field\x20—\x20Guard\x20resolves\x20names\x20at\x20evaluation\x20time,\x20not\x20at\x20creation\x20time.',PROTOCOL_SLOT_254_NOTE],'example_use_case':'Substack\x20newsletter:\x20subscriber\x20pays\x20$5/month.\x20Author\x20publishes\x20content\x20→\x20\x27Deliver\x27\x20forward\x20advances\x20Ordered→ContentPublished.\x20'+'This\x20guard\x20verifies\x20(1)\x20order\x20is\x20at\x20\x27Ordered\x27\x20node\x20(not\x20already\x20delivered),\x20AND\x20(2)\x20Signer\x20holds\x20permission\x20index\x201000\x20on\x20author\x27s\x20Permission\x20object.\x20'+'Prevents\x20a\x20malicious\x20party\x20from\x20publishing\x20fake\x20content.\x20Subscriber\x20cannot\x20trigger\x20\x27Deliver\x27\x20(lacks\x20permission).','verifier_constraint_level':'level2_identity_set'},{'id':'tpl_forward_content_subscription_cancel','scene_id':'machine_forward_guard','name':'Content\x20subscription\x20cancel\x20verification\x20(Substack-style)','description':'Forward\x20guard\x20for\x20content\x20subscription\x20cancel\x20flow.\x20Verifies\x20that\x20(1)\x20the\x20order\x20is\x20at\x20the\x20expected\x20pre-cancel\x20node\x20'+'(e.g.\x20\x27Ordered\x27),\x20AND\x20(2)\x20the\x20Signer\x20is\x20the\x20order\x20owner\x20(subscriber).\x20Allows\x20subscriber\x20to\x20cancel\x20within\x20grace\x20period\x20'+'for\x20full\x20refund.\x20Designed\x20for\x20Substack-style:\x20Paid\x20→\x20Cancelled\x20(terminal-cancel),\x20with\x20refund\x20via\x20Allocation\x20template.','recommended_patterns':['P06','P09'],'parameters':[{'name':'expected_pre_cancel_node','type':'string','description':'Expected\x20current\x20node\x20name\x20BEFORE\x20cancel\x20(e.g.\x20\x27Ordered\x27)','required':!![],'default':'Ordered','constraint':'Must\x20exactly\x20match\x20the\x20name\x20defined\x20in\x20Machine\x20nodes\x20(case-sensitive).'}],'example_table':[{'identifier':0x0,'b_submission':!![],'value_type':'Address','object_type':'Order','name':'Order\x20object\x20address\x20(submitted\x20by\x20verifier\x20at\x20runtime)'},{'identifier':0x1,'b_submission':![],'value_type':'String','value':'${expected_pre_cancel_node}','name':'Expected\x20pre-cancel\x20node\x20name\x20(e.g.\x20\x27Ordered\x27)'},{'identifier':0xfe,'b_submission':!![],'value_type':'Address','object_type':'Order','name':'task_binding\x20order\x20anchor\x20(protocol\x20slot\x20254;\x20written\x20by\x20order\x20creation)'}],'example_root':{'type':'logic_and','nodes':[{'type':'logic_string_nocase_equal','nodes':[{'type':'query','query':'progress.current','object':{'identifier':0x0,'convert_witness':'OrderProgress'},'parameters':[]},{'type':'identifier','identifier':0x1}]},{'type':'logic_equal','nodes':[{'type':'context','context':'Signer'},{'type':'query','query':'order.owner','object':{'identifier':0x0},'parameters':[]}]}]},'applicable_industries':['subscription','content','newsletter','media'],'relevant_risks':['R-C2-01','R-C2-03'],'creation_notes':['VERIFIED\x20QUERY\x20NAMES:\x20progress.current\x20(id\x201253,\x20String);\x20order.owner\x20(id\x201562,\x20Address)\x20—\x20order\x20holder\x20(subscriber).','SUBSCRIBER-ONLY:\x20only\x20the\x20order\x20owner\x20can\x20cancel\x20—\x20prevents\x20third-party\x20griefing.\x20Author\x20cannot\x20cancel\x20on\x20behalf\x20of\x20subscriber.','GRACE\x20PERIOD:\x20this\x20guard\x20does\x20NOT\x20enforce\x20a\x20time\x20window.\x20If\x20a\x20grace\x20period\x20is\x20needed\x20(e.g.\x20cancel\x20within\x2024h\x20of\x20payment),\x20add\x20a\x20third\x20condition:\x20context(Clock)\x20<=\x20order.time\x20+\x20grace_period.','REFUND\x20ALLOCATION:\x20pair\x20this\x20guard\x20with\x20an\x20Allocation\x20template\x20that\x20refunds\x20100%\x20to\x20the\x20subscriber\x20(order.owner).\x20Trigger\x20node\x20=\x20\x27Cancelled\x27.','GUARD-FIRST-WINS:\x20when\x20\x27Ordered\x27\x20has\x20competing\x20forwards\x20(Deliver|Cancel|Dispute),\x20each\x20with\x20its\x20own\x20guard,\x20the\x20first\x20guard\x20to\x20verify\x20wins.',PROTOCOL_SLOT_254_NOTE],'example_use_case':'Substack\x20newsletter:\x20subscriber\x20pays\x20$5,\x20then\x20changes\x20mind\x20before\x20content\x20is\x20published.\x20\x27Cancel\x27\x20forward\x20advances\x20Ordered→Cancelled.\x20'+'This\x20guard\x20verifies\x20(1)\x20order\x20is\x20at\x20\x27Ordered\x27\x20(not\x20yet\x20delivered),\x20AND\x20(2)\x20Signer\x20is\x20the\x20order\x20owner.\x20'+'Author\x20cannot\x20cancel\x20on\x20behalf\x20of\x20subscriber.\x20Refund\x20triggers\x20automatically\x20via\x20Allocation\x20on\x20\x27Cancelled\x27\x20node.','verifier_constraint_level':'level2_identity_set'},{'id':'tpl_forward_content_subscription_refund','scene_id':'machine_forward_guard','name':'Content\x20subscription\x20refund\x20verification\x20(Substack-style,\x20arbitration-triggered)','description':'Forward\x20guard\x20for\x20content\x20subscription\x20dispute/refund\x20flow.\x20Verifies\x20that\x20(1)\x20the\x20order\x20is\x20at\x20the\x20expected\x20pre-dispute\x20node\x20'+'(e.g.\x20\x27Disputed\x27),\x20AND\x20(2)\x20the\x20Signer\x20holds\x20the\x20arbitrator\x27s\x20permission\x20index\x20on\x20the\x20bound\x20Permission\x20object.\x20'+'Only\x20the\x20arbitrator\x20can\x20advance\x20Disputed→Refunded,\x20ensuring\x20dispute\x20resolution\x20is\x20impartial.\x20'+'Designed\x20for\x20Substack-style:\x20Paid\x20→\x20Disputed\x20→\x20Refunded\x20(terminal-dispute).','recommended_patterns':['P06','P09'],'parameters':[{'name':'expected_pre_refund_node','type':'string','description':'Expected\x20current\x20node\x20name\x20BEFORE\x20refund\x20(e.g.\x20\x27Disputed\x27)','required':!![],'default':'Disputed','constraint':'Must\x20exactly\x20match\x20the\x20name\x20defined\x20in\x20Machine\x20nodes\x20(case-sensitive).'},{'name':'permission_object','type':'address','description':'Permission\x20object\x20address\x20bound\x20to\x20the\x20Machine\x20(arbitrator\x20role\x20lives\x20here)','required':!![],'constraint':'Must\x20be\x20the\x20same\x20Permission\x20object\x20bound\x20to\x20the\x20Machine.\x20Use\x20name\x20(not\x20address)\x20if\x20Permission\x20is\x20not\x20yet\x20created.'},{'name':'arbitrator_permission_index','type':'number','description':'Permission\x20index\x20reserved\x20for\x20the\x20arbitrator\x20role\x20(who\x20can\x20resolve\x20disputes)','required':!![],'default':'1500','constraint':'Must\x20match\x20the\x20index\x20configured\x20in\x20the\x20Permission\x20object.\x20Substack\x20convention:\x201000=author,\x201500=arbitrator.'}],'example_table':[{'identifier':0x0,'b_submission':!![],'value_type':'Address','object_type':'Order','name':'Order\x20object\x20address\x20(submitted\x20by\x20verifier\x20at\x20runtime)'},{'identifier':0x1,'b_submission':![],'value_type':'String','value':'${expected_pre_refund_node}','name':'Expected\x20pre-refund\x20node\x20name\x20(e.g.\x20\x27Disputed\x27)'},{'identifier':0x2,'b_submission':![],'value_type':'Address','value':'${permission_object}','name':'Permission\x20object\x20address\x20(bound\x20to\x20Machine,\x20holds\x20arbitrator\x20role)'},{'identifier':0x3,'b_submission':![],'value_type':'U64','value':'${arbitrator_permission_index}','name':'Arbitrator\x20permission\x20index\x20(e.g.\x201500)'},{'identifier':0xfe,'b_submission':!![],'value_type':'Address','object_type':'Order','name':'task_binding\x20order\x20anchor\x20(protocol\x20slot\x20254;\x20written\x20by\x20order\x20creation)'}],'example_root':{'type':'logic_and','nodes':[{'type':'logic_string_nocase_equal','nodes':[{'type':'query','query':'progress.current','object':{'identifier':0x0,'convert_witness':'OrderProgress'},'parameters':[]},{'type':'identifier','identifier':0x1}]},{'type':'query','query':'permission.entity.perm\x20has','object':{'identifier':0x2},'parameters':[{'type':'context','context':'Signer'},{'type':'identifier','identifier':0x3}]}]},'applicable_industries':['subscription','content','newsletter','media'],'relevant_risks':['R-C2-01','R-C2-03','R-X1-08'],'creation_notes':['VERIFIED\x20QUERY\x20NAMES:\x20progress.current\x20(id\x201253,\x20String)\x20—\x20current\x20node\x20name;\x20permission.entity.perm\x20has\x20(id\x201008,\x20Bool:\x20params\x20[user/guard\x20Address,\x20permission\x20index\x20U16])\x20—\x20direct\x20logic_and\x20child','ARBITRATOR-ONLY:\x20only\x20the\x20arbitrator\x20(permission\x20index\x201500)\x20can\x20advance\x20Disputed→Refunded.\x20Neither\x20author\x20nor\x20subscriber\x20can\x20self-resolve.','ARBITRATIONS\x20BINDING:\x20Service\x20MUST\x20have\x20arbitrations\x20bound\x20BEFORE\x20publish\x20(F-S-21\x20—\x20post-publish\x20immutable).\x20ConfirmGate\x20C-S-19\x20+\x20QS11\x20will\x20warn\x20if\x20publish\x20is\x20attempted\x20without\x20arbitrations.','DISPUTE\x20ENTRY:\x20\x27Dispute\x27\x20forward\x20(Ordered→Disputed)\x20is\x20triggered\x20by\x20subscriber\x20(order.owner).\x20After\x20Disputed,\x20only\x20arbitrator\x20can\x20resolve.','REFUND\x20ALLOCATION:\x20pair\x20this\x20guard\x20with\x20an\x20Allocation\x20template\x20that\x20refunds\x20100%\x20to\x20the\x20subscriber\x20(order.owner).\x20Trigger\x20node\x20=\x20\x27Refunded\x27.','GUARD-FIRST-WINS:\x20when\x20\x27Disputed\x27\x20has\x20competing\x20forwards\x20(Resolve-Refund|Resolve-Reject),\x20each\x20with\x20its\x20own\x20guard.\x20First\x20guard\x20to\x20verify\x20wins.',PROTOCOL_SLOT_254_NOTE],'example_use_case':'Substack\x20newsletter:\x20subscriber\x20disputes\x20content\x20quality.\x20Subscriber\x20triggers\x20\x27Dispute\x27\x20forward\x20(Ordered→Disputed).\x20'+'Arbitrator\x20reviews\x20evidence\x20and\x20triggers\x20\x27Resolve-Refund\x27\x20forward\x20(Disputed→Refunded).\x20'+'This\x20guard\x20verifies\x20(1)\x20order\x20is\x20at\x20\x27Disputed\x27\x20(dispute\x20properly\x20opened),\x20AND\x20(2)\x20Signer\x20holds\x20arbitrator\x20permission\x20index\x201500.\x20'+'Author\x20cannot\x20self-resolve.\x20Subscriber\x20cannot\x20self-refund.','verifier_constraint_level':'level2_identity_set'},{'id':'tpl_required_info_present','scene_id':'machine_forward_guard','name':'Required-info\x20presence\x20gate','description':'Presence-only\x20gate\x20on\x20the\x20fulfilment\x20forward:\x20order.required_info\x20must\x20be\x20recorded\x20(Option\x20some,\x20query\x201572)\x20'+'before\x20the\x20forward\x20that\x20needs\x20the\x20data\x20can\x20advance.\x20This\x20is\x20the\x20ONLY\x20on-chain\x20enforcement\x20of\x20'+'Service.customer_required\x20—\x20the\x20purchase\x20entry\x20never\x20reads\x20the\x20list\x20(declarative-only,\x20testnet\x20HIGH-05).\x20'+'Presence-only\x20by\x20design:\x201573\x20aborts\x20while\x20the\x20Option\x20is\x20empty,\x20and\x20the\x20recorded\x20address\x20is\x20unvalidated\x20'+'buyer\x20input\x20with\x20no\x20on-chain\x20meaning\x20—\x20acceptance\x20is\x20the\x20merchant\x27s\x20confirming\x20forward,\x20never\x20the\x20value.','recommended_patterns':['P09'],'parameters':[],'example_table':[{'identifier':0xfe,'b_submission':!![],'value_type':'Address','object_type':'Order','name':'Submitted\x20Order\x20—\x20protocol\x20slot\x20254\x20task\x20binding\x20(written\x20by\x20order\x20creation)'}],'example_root':{'type':'query','query':'order.required_info\x20some','object':{'identifier':0xfe,'convert_witness':'OrderProgress'},'parameters':[]},'applicable_industries':['retail','travel','education','rental','general'],'relevant_risks':[],'creation_notes':['GATE\x20PRESENCE\x20(1572)\x20FIRST:\x20query\x201573\x20returns\x20the\x20Option\x27s\x20inner\x20address\x20and\x20ABORTS\x20the\x20guard\x20evaluation\x20when\x20nothing\x20is\x20recorded\x20—\x201573\x20is\x20for\x20reading/comparing\x20AFTER\x20the\x20presence\x20gate\x20passed.','No\x20parameters\x20by\x20design:\x20presence-only.\x20Never\x20make\x20the\x20recorded\x20address\x20(or\x20a\x20Proof\x27s\x20content)\x20a\x20guard\x20decision\x20condition\x20—\x20the\x20credential\x20is\x20buyer-writable\x20and\x20unvalidated;\x20route\x20content-grade\x20checks\x20through\x20a\x20Repository\x20with\x20a\x20quote_guard.','Gate\x20the\x20forward\x20that\x20DEPENDS\x20on\x20the\x20information\x20(ship\x20/\x20hand-over\x20/\x20accept-before-crafting),\x20never\x20the\x20buy:\x20a\x20buy_guard\x20cannot\x20query\x20the\x20Order\x20—\x20it\x20does\x20not\x20exist\x20yet\x20at\x20buy\x20time.','Slot\x20254\x20is\x20declared\x20here\x20(the\x20kernel\x20skips\x20its\x20injection\x20when\x20a\x20guard\x20already\x20declares\x20it):\x20the\x20trigger\x20passport\x20submits\x20{254:\x20order}.',PROTOCOL_SLOT_254_NOTE],'example_use_case':'Handmade/custom\x20storefront:\x20the\x20shop\x20declares\x20customer_required\x20(personalisation\x20spec,\x20measurements).\x20'+'The\x20\x27confirmed\x27\x20(seller\x20acceptance)\x20or\x20\x27ship\x27\x20forward\x20carries\x20this\x20gate,\x20so\x20an\x20order\x20whose\x20buyer\x20never\x20'+'recorded\x20the\x20required\x20credential\x20cannot\x20advance\x20—\x20without\x20the\x20gate\x20such\x20an\x20order\x20is\x20created\x20and\x20'+'progresses\x20silently\x20(the\x20purchase\x20entry\x20never\x20reads\x20the\x20list).','verifier_constraint_level':'level3_scene_combined'},{'id':'tpl_time_lock_progress','scene_id':'machine_forward_guard','name':'Time-lock\x20node-entry\x20gate\x20(opening\x20window)','description':'Gates\x20a\x20forward\x20on\x20elapsed\x20time\x20since\x20node\x20entry:\x20the\x20chain\x20Clock\x20must\x20be\x20>=\x20the\x20source\x20node\x27s\x20'+'entry\x20time\x20(query\x201280\x20progress.history.time)\x20+\x20duration_ms.\x20Opening-gate\x20direction\x20(greater_or_equal):\x20the\x20forward\x20stays\x20'+'BLOCKED\x20until\x20the\x20duration\x20elapses\x20—\x20settlement\x20delays,\x20acceptance\x20timeouts,\x20keeper\x20auto-advance\x20rails.\x20'+'Executable\x20form\x20of\x20pattern.time_lock_progress;\x20the\x20closing-window\x20twin\x20(act\x20only\x20UNTIL\x20entry+N)\x20is\x20'+'tpl_time_window_upper.\x20Anchor\x20semantics:\x20the\x20anchor\x20is\x20the\x20IMMUTABLE\x20recorded\x20entry\x20moment\x20of\x20the\x20'+'source\x20node\x20(witness-derived\x20via\x20OrderProgress),\x20so\x20one\x20Guard\x20serves\x20every\x20order;\x20a\x20re-entered\x20node\x20'+'appends\x20a\x20fresh\x20entry\x20and\x20restarts\x20the\x20lock\x20(find=last).\x20For\x20a\x20window\x20measured\x20from\x20purchase\x20use\x20an\x20'+'order.time\x20anchor\x20instead\x20(TIME-ANCHOR-01).','recommended_patterns':['P06'],'parameters':[{'name':'duration_ms','type':'number','description':'Time-lock\x20duration\x20in\x20milliseconds\x20(measured\x20from\x20the\x20source\x20node\x27s\x20entry)','required':!![],'constraint':'Plain\x20integer\x20milliseconds;\x20test\x20with\x20small\x20values\x20first\x20—\x20chain\x20Clock\x20is\x20block-driven,\x20not\x20wall\x20time'},{'name':'expected_node','type':'string','description':'Source\x20node\x20of\x20the\x20gated\x20edge\x20(the\x20node\x20whose\x20entry\x20anchors\x20the\x20clock)','required':!![],'constraint':'Must\x20exactly\x20match\x20the\x20Machine\x20node\x20name\x20(case-sensitive)'},{'name':'service_name','type':'string','description':'Service\x20object\x20name\x20(project\x20binding,\x20circular\x20ref\x20via\x20P16)','required':!![],'constraint':'Must\x20be\x20a\x20name,\x20not\x20an\x20address\x20(the\x20Service\x20is\x20not\x20yet\x20published\x20when\x20the\x20Guard\x20is\x20created)'}],'example_table':[{'identifier':0x0,'b_submission':!![],'value_type':'Address','name':'Order\x20object\x20address','object_type':'Order'},{'identifier':0x1,'b_submission':![],'value_type':'String','value':'${expected_node}','name':'Source\x20node\x20of\x20the\x20gated\x20edge\x20(clock\x20anchor)'},{'identifier':0x2,'b_submission':![],'value_type':'Address','value':'${service_name}','name':'Service\x20object\x20(project\x20binding,\x20R-C3-05)'},{'identifier':0x3,'b_submission':![],'value_type':'U64','value':'${duration_ms}','name':'Time-lock\x20duration\x20in\x20milliseconds'},{'identifier':0xfe,'b_submission':!![],'value_type':'Address','object_type':'Order','name':'task_binding\x20order\x20anchor\x20(protocol\x20slot\x20254;\x20written\x20by\x20order\x20creation)'}],'example_root':{'type':'logic_and','nodes':[{'type':'logic_equal','nodes':[{'type':'query','query':'progress.current','object':{'identifier':0x0,'convert_witness':'OrderProgress'},'parameters':[]},{'type':'identifier','identifier':0x1}]},{'type':'logic_equal','nodes':[{'type':'query','query':'order.service','object':{'identifier':0x0},'parameters':[]},{'type':'identifier','identifier':0x2}]},{'type':'logic_as_u256_greater_or_equal','nodes':[{'type':'context','context':'Clock'},{'type':'calc_number_add','nodes':[{'type':'query_progress_history_time','object':{'identifier':0x0,'convert_witness':'OrderProgress'},'where':{'nextNode':'${expected_node}'},'find':'last'},{'type':'identifier','identifier':0x3}]}]}]},'applicable_industries':['rental','ecommerce','education','travel','subscription','freelance'],'relevant_risks':[],'creation_notes':['DIRECTION\x20IS\x20THE\x20WHOLE\x20POINT\x20(etm-mn-261013\x20A-06):\x20greater_or_equal[Clock,\x20entry+N]\x20encodes\x20an\x20OPENING\x20gate\x20(blocked\x20until\x20entry+N).\x20For\x20a\x20CLOSING\x20window\x20(action\x20allowed\x20only\x20until\x20entry+N)\x20use\x20tpl_time_window_upper\x20—\x20inverting\x20the\x20comparison\x20makes\x20every\x20window\x20permanently\x20open.','ENTRY-TIME\x20ANCHOR\x20(v76):\x20the\x20clock\x20anchors\x20on\x20the\x20source\x20node\x27s\x20recorded\x20entry\x20moment\x20—\x20query\x201280\x20progress.history.time\x20filtered\x20by\x20where.nextNode\x20=\x20${expected_node},\x20find=last.\x20The\x20record\x20is\x20written\x20once\x20on\x20entering\x20the\x20node\x20and\x20never\x20rewritten\x20(drift-immune);\x20a\x20RE-ENTERED\x20node\x20appends\x20a\x20fresh\x20entry,\x20so\x20find=last\x20picks\x20the\x20latest\x20entry\x20and\x20the\x20lock\x20restarts\x20—\x20intended\x20semantics\x20for\x20entry-anchored\x20locks\x20(settle\x20N\x20days\x20after\x20delivery,\x20auto-confirm\x20N\x20days\x20after\x20shipment).\x20A\x20window\x20measured\x20from\x20PURCHASE\x20must\x20anchor\x20on\x20order.time\x20via\x20the\x20order\x20witness\x20instead\x20(TIME-ANCHOR-01);\x20order.time\x20is\x20path-independent.','DOUBLE-MOUNT\x20DOUBLING\x20(az3-mn-261013\x20F-18,\x20mainnet-timed):\x20mounting\x20ONE\x20time-lock\x20Guard\x20on\x20BOTH\x20a\x20forward\x20AND\x20the\x20allocator\x20riding\x20the\x20SAME\x20transition\x20makes\x20the\x20caller\x20wait\x20TWICE\x20—\x20the\x20forward\x20waits\x20N\x20anchored\x20on\x20the\x20source\x20node\x20entry,\x20then\x20the\x20allocator\x20RE-ANCHORS\x20on\x20the\x20destination\x20node\x20entry\x20and\x20waits\x20N\x20again\x20(az3\x20T1:\x20abort\x207\x20twice,\x20effective\x202x\x20dwell).\x20Remedies\x20at\x20build\x20time:\x20(a)\x20put\x20the\x20time\x20lower\x20bound\x20ONLY\x20on\x20the\x20allocator\x20(the\x20forward\x20advances\x20as\x20soon\x20as\x20its\x20non-time\x20legs\x20pass;\x20settlement\x20still\x20waits\x20a\x20single\x20N\x20from\x20the\x20destination\x20entry),\x20or\x20(b)\x20mount\x20two\x20SEPARATE\x20Guard\x20instances\x20with\x20durations\x20that\x20sum\x20to\x20the\x20intended\x20total\x20(N_forward\x20from\x20the\x20source\x20entry\x20+\x20N_alloc\x20from\x20the\x20destination\x20entry).\x20Never\x20reuse\x20one\x20instance\x20across\x20both\x20mounts.','TIME\x20SOURCE\x20DUALITY:\x20chain\x20Clock\x20is\x20native\x20but\x20block-driven\x20and\x20independent\x20of\x20wall\x20time\x20—\x20fine\x20for\x20relative\x20locks;\x20for\x20real-world\x20deadlines\x20use\x20the\x20repository\x20time-oracle\x20recipe\x20(pattern.time_source_repository_oracle)\x20and\x20document\x20which\x20source\x20a\x20published\x20Guard\x20relies\x20on.','OWNER-ONLY\x20STRENGTHENING:\x20this\x20root\x20binds\x20no\x20Signer\x20(keeper\x20slots\x20advance\x20it).\x20For\x20a\x20buyer-advanced\x20forward,\x20AND\x20the\x20identity\x20leg\x20logic_equal[context(Signer),\x20query\x20order.owner]\x20—\x20an\x20unbound\x20keeper\x20edge\x20must\x20never\x20be\x20the\x20only\x20rail\x20out\x20of\x20a\x20locked\x20node\x20(pair\x20with\x20an\x20expiry\x20forward\x20or\x20a\x20recover\x20allocator).','Forward.guard\x20cannot\x20be\x20modified\x20after\x20binding\x20(immutable\x20after\x20Machine\x20publish);\x20verify\x20the\x20node\x20name\x20and\x20duration\x20against\x20the\x20Machine\x20before\x20publishing.',PROTOCOL_SLOT_254_NOTE],'example_use_case':'Long-stay\x20rental:\x20the\x20\x27month\x20settled\x27\x20forward\x20out\x20of\x20the\x20settlement\x20node\x20advances\x20only\x20after\x20the\x20'+'30-day\x20settlement\x20delay\x20elapsed\x20since\x20handover\x20entry\x20—\x20the\x20keeper\x20rail\x20cannot\x20release\x20rent\x20early,\x20'+'and\x20one\x20Guard\x20serves\x20every\x20order\x20(entry\x20time\x20is\x20per-order\x20state,\x20not\x20a\x20Guard\x20constant).','verifier_constraint_level':'level3_scene_combined'},{'id':'tpl_time_window_upper','scene_id':'machine_forward_guard','name':'Time-window\x20upper\x20bound\x20(closing\x20window)','description':'Gates\x20a\x20forward\x20to\x20a\x20window\x20that\x20CLOSES:\x20the\x20chain\x20Clock\x20must\x20be\x20<=\x20the\x20source\x20node\x27s\x20'+'entry\x20time\x20(query\x201280\x20progress.history.time)\x20+\x20duration_ms.\x20Closing-window\x20direction\x20(lesser_or_equal):\x20the\x20forward\x20is\x20'+'allowed\x20only\x20WHILE\x20the\x20window\x20is\x20open\x20—\x20return\x20windows,\x20claim\x20windows,\x20review\x20windows;\x20after\x20expiry\x20'+'the\x20forward\x20aborts.\x20Executable\x20form\x20of\x20pattern.time_window_upper_bound;\x20the\x20opening-gate\x20twin\x20is\x20'+'tpl_time_lock_progress.\x20Anchor\x20semantics:\x20the\x20anchor\x20is\x20the\x20IMMUTABLE\x20recorded\x20entry\x20moment\x20of\x20the\x20'+'source\x20node\x20(witness-derived\x20via\x20OrderProgress);\x20a\x20re-entered\x20node\x20appends\x20a\x20fresh\x20entry\x20and\x20reopens\x20'+'the\x20window\x20(find=last);\x20for\x20a\x20window\x20measured\x20from\x20purchase\x20use\x20an\x20order.time\x20anchor\x20instead\x20'+'(TIME-ANCHOR-01).','recommended_patterns':['P06'],'parameters':[{'name':'duration_ms','type':'number','description':'Window\x20length\x20in\x20milliseconds\x20(measured\x20from\x20the\x20source\x20node\x27s\x20entry)','required':!![],'constraint':'Plain\x20integer\x20milliseconds;\x20test\x20with\x20small\x20values\x20first\x20—\x20chain\x20Clock\x20is\x20block-driven,\x20not\x20wall\x20time'},{'name':'expected_node','type':'string','description':'Source\x20node\x20of\x20the\x20gated\x20edge\x20(the\x20node\x20whose\x20entry\x20opens\x20the\x20window)','required':!![],'constraint':'Must\x20exactly\x20match\x20the\x20Machine\x20node\x20name\x20(case-sensitive)'},{'name':'service_name','type':'string','description':'Service\x20object\x20name\x20(project\x20binding,\x20circular\x20ref\x20via\x20P16)','required':!![],'constraint':'Must\x20be\x20a\x20name,\x20not\x20an\x20address\x20(the\x20Service\x20is\x20not\x20yet\x20published\x20when\x20the\x20Guard\x20is\x20created)'}],'example_table':[{'identifier':0x0,'b_submission':!![],'value_type':'Address','name':'Order\x20object\x20address','object_type':'Order'},{'identifier':0x1,'b_submission':![],'value_type':'String','value':'${expected_node}','name':'Source\x20node\x20of\x20the\x20gated\x20edge\x20(window\x20anchor)'},{'identifier':0x2,'b_submission':![],'value_type':'Address','value':'${service_name}','name':'Service\x20object\x20(project\x20binding,\x20R-C3-05)'},{'identifier':0x3,'b_submission':![],'value_type':'U64','value':'${duration_ms}','name':'Window\x20length\x20in\x20milliseconds'},{'identifier':0xfe,'b_submission':!![],'value_type':'Address','object_type':'Order','name':'task_binding\x20order\x20anchor\x20(protocol\x20slot\x20254;\x20written\x20by\x20order\x20creation)'}],'example_root':{'type':'logic_and','nodes':[{'type':'logic_equal','nodes':[{'type':'query','query':'progress.current','object':{'identifier':0x0,'convert_witness':'OrderProgress'},'parameters':[]},{'type':'identifier','identifier':0x1}]},{'type':'logic_equal','nodes':[{'type':'query','query':'order.service','object':{'identifier':0x0},'parameters':[]},{'type':'identifier','identifier':0x2}]},{'type':'logic_as_u256_lesser_or_equal','nodes':[{'type':'context','context':'Clock'},{'type':'calc_number_add','nodes':[{'type':'query_progress_history_time','object':{'identifier':0x0,'convert_witness':'OrderProgress'},'where':{'nextNode':'${expected_node}'},'find':'last'},{'type':'identifier','identifier':0x3}]}]}]},'applicable_industries':['rental','ecommerce','education','travel','subscription','freelance'],'relevant_risks':[],'creation_notes':['DIRECTION\x20IS\x20THE\x20WHOLE\x20POINT\x20(etm-mn-261013\x20A-06,\x20live-confirmed\x20on\x20a\x2030-day-return\x20migration):\x20lesser_or_equal[Clock,\x20entry+N]\x20closes\x20the\x20window;\x20the\x20opening-gate\x20twin\x27s\x20greater_or_equal\x20would\x20REOPEN\x20it\x20forever.\x20Opening\x20gate\x20(wait\x20N\x20before\x20acting)\x20=\x20tpl_time_lock_progress;\x20closing\x20window\x20(act\x20before\x20N\x20elapses)\x20=\x20THIS\x20template.','EXPIRY\x20SEMANTICS:\x20an\x20expired\x20window\x20only\x20fails\x20the\x20forward\x20it\x20gates\x20—\x20it\x20does\x20not\x20refund\x20or\x20cancel\x20by\x20itself.\x20Pair\x20the\x20window\x20with\x20a\x20machine\x20expiry\x20forward\x20(keeper-advanced)\x20or\x20an\x20allocator\x20recover\x20rail\x20so\x20the\x20post-window\x20fund\x20path\x20exists\x20(FUND-EXIT-01).','ENTRY-TIME\x20ANCHOR\x20(v76):\x20the\x20window\x20anchors\x20on\x20the\x20source\x20node\x27s\x20recorded\x20entry\x20moment\x20—\x20query\x201280\x20progress.history.time\x20filtered\x20by\x20where.nextNode\x20=\x20${expected_node},\x20find=last.\x20The\x20record\x20is\x20immutable\x20(drift-immune);\x20a\x20RE-ENTERED\x20node\x20appends\x20a\x20fresh\x20entry,\x20so\x20find=last\x20picks\x20the\x20latest\x20entry\x20and\x20the\x20window\x20REOPENS.\x20For\x20a\x20window\x20measured\x20from\x20PURCHASE\x20(e.g.\x20\x27return\x20within\x2030\x20days\x20of\x20buying\x27)\x20anchor\x20on\x20order.time\x20via\x20the\x20order\x20witness\x20instead\x20(TIME-ANCHOR-01).','TIME\x20SOURCE\x20DUALITY:\x20chain\x20Clock\x20is\x20block-driven\x20—\x20use\x20the\x20repository\x20time-oracle\x20recipe\x20(pattern.time_source_repository_oracle)\x20for\x20real-world\x20deadlines.','Forward.guard\x20cannot\x20be\x20modified\x20after\x20binding\x20(immutable\x20after\x20Machine\x20publish);\x20verify\x20the\x20node\x20name\x20and\x20window\x20against\x20the\x20Machine\x20before\x20publishing.',PROTOCOL_SLOT_254_NOTE],'example_use_case':'Retail\x20return\x20rail:\x20the\x20\x27return\x20requested\x27\x20forward\x20out\x20of\x20\x27delivered\x27\x20advances\x20only\x20within\x2030\x20days\x20of\x20'+'the\x20delivered\x20entry;\x20after\x20expiry\x20the\x20buyer\x27s\x20route\x20is\x20the\x20keeper\x20expiry\x20rail,\x20not\x20this\x20forward.','verifier_constraint_level':'level3_scene_combined'},{'id':'tpl_forward_order_holder','scene_id':'machine_forward_guard','name':'Order-holder\x20identity\x20gate\x20(buyer\x20self-advance;\x20254-anchored)','description':'Instantiable\x20form\x20of\x20pattern.identity_check_order_holder:\x20the\x20forward\x20advances\x20only\x20when\x20the\x20caller\x20is\x20'+'the\x20order\x20owner\x20OR\x20a\x20registered\x20order\x20agent,\x20with\x20the\x20order.service\x20project\x20binding.\x20All\x20identity\x20legs\x20'+'read\x20the\x20254\x20task-binding\x20slot\x20(T10,\x20rex-mn-261021)\x20—\x20a\x20free\x20submission\x20slot\x20is\x20hijackable,\x20because\x20the\x20'+'caller\x20fills\x20free\x20slots\x20and\x20could\x20submit\x20their\x20OWN\x20order\x20there.\x20Pair\x20with\x20operator\x20order_payer\x20'+'(namedOperator\x20\x22\x22)\x20on\x20the\x20edge:\x20a\x20permissionIndex\x20rail\x20has\x20a\x20disjoint\x20signer\x20set\x20and\x20nobody\x20passes\x20'+'both\x20layers\x20(bkng\x20F23).','recommended_patterns':['P10','P16'],'parameters':[{'name':'service_name','type':'string','description':'Service\x20object\x20name\x20(circular\x20ref\x20via\x20P16\x20—\x20resolved\x20after\x20Service\x20publish)','required':!![],'constraint':'Must\x20be\x20a\x20name,\x20not\x20an\x20address\x20(the\x20Service\x20is\x20not\x20yet\x20published\x20when\x20the\x20Guard\x20is\x20created)'}],'example_table':[{'identifier':0xfe,'b_submission':!![],'value_type':'Address','object_type':'Order','name':'task_binding\x20order\x20anchor\x20(protocol\x20slot\x20254;\x20written\x20by\x20order\x20creation)'},{'identifier':0x1,'b_submission':![],'value_type':'Address','value':'${service_name}','name':'Service\x20object\x20(project\x20binding,\x20circular\x20ref\x20via\x20name)'}],'example_root':{'type':'logic_and','nodes':[{'type':'logic_or','nodes':[{'type':'logic_equal','nodes':[{'type':'query','query':'order.owner','object':{'identifier':0xfe},'parameters':[]},{'type':'context','context':'Signer'}]},{'type':'query','query':'order.agent\x20has','object':{'identifier':0xfe},'parameters':[{'type':'context','context':'Signer'}]}]},{'type':'logic_equal','nodes':[{'type':'query','query':'order.service','object':{'identifier':0xfe},'parameters':[]},{'type':'identifier','identifier':0x1}]}]},'applicable_industries':['travel','rental','ecommerce','education','freelance'],'relevant_risks':['R-C3-01','R-C3-05','R-C3-06','R-C4-04'],'creation_notes':['T10\x20HIJACK\x20ANCHOR\x20(rex-mn-261021):\x20the\x20identity\x20legs\x20MUST\x20read\x20the\x20order\x20at\x20slot\x20254\x20—\x20the\x20caller\x20fills\x20free\x20slots,\x20so\x20reading\x20order.owner\x20off\x20a\x20free\x20submission\x20slot\x20lets\x20an\x20attacker\x20submit\x20their\x20OWN\x20order\x20(signer\x20==\x20order.owner\x20passes\x20against\x20it)\x20and\x20advance\x20the\x20VICTIM\x27s\x20order\x20carried\x20by\x20254.\x20The\x20compile\x20blocker\x20GUARD_IDENTITY_SLOT_NOT_TASKBOUND\x20enforces\x20the\x20anchor\x20on\x20resolved\x20trees.','EDGE\x20OPERATOR\x20PAIRING\x20(bkng\x20F23):\x20bind\x20this\x20guard\x20to\x20a\x20forward\x20whose\x20operator\x20is\x20order_payer\x20(namedOperator\x20\x22\x22).\x20The\x20identity\x20layer\x20runs\x20BEFORE\x20the\x20guard;\x20a\x20permissionIndex\x20rail\x27s\x20signer\x20set\x20is\x20disjoint\x20from\x20the\x20order\x20holder\x27s,\x20so\x20the\x20pair\x20can\x20never\x20both\x20pass.\x20The\x20compile\x20blocker\x20FORWARD_GUARD_IDENTITY_PERM_CONFLICT\x20enforces\x20this\x20for\x20this\x20template\x20id.','MIXED\x20RETURN-TYPE\x20CONSTRUCTION:\x20order.owner\x20(1562)\x20returns\x20Address\x20→\x20wrapped\x20in\x20logic_equal\x20with\x20context(Signer);\x20order.agent\x20has\x20(1567)\x20returns\x20Bool\x20→\x20used\x20directly\x20as\x20the\x20logic_or\x20child\x20with\x20parameters\x20[context(Signer)].','An\x20empty\x20namedOperator\x20is\x20NOT\x20buyer-exclusive\x20BY\x20ITSELF:\x20whoever\x20holds\x20the\x20order\x20may\x20drive\x20the\x20forward\x20—\x20exactly\x20the\x20buyer\x20self-advance\x20semantic.\x20WITHOUT\x20this\x20guard\x20the\x20empty\x20operator\x20admits\x20ANY\x20caller\x20(progress.move:242-256),\x20so\x20the\x20guard\x20is\x20the\x20sole\x20identity\x20leg\x20(bkg15\x20F05:\x20forged\x20guest\x20check-in).',PROTOCOL_SLOT_254_NOTE],'example_use_case':'OTA\x20stay:\x20the\x20guest\x20check-in\x20confirmation\x20forward\x20advances\x20only\x20when\x20the\x20caller\x20is\x20the\x20booking\x27s\x20order\x20'+'owner\x20or\x20a\x20registered\x20agent\x20—\x20the\x20platform\x20cannot\x20fabricate\x20the\x20buyer\x20half\x20of\x20the\x20dual\x20confirmation.','verifier_constraint_level':'level2_identity_set'},{'id':'tpl_time_window_upper_order_holder','scene_id':'machine_forward_guard','name':'Order-time\x20closing\x20window\x20+\x20order-holder\x20identity\x20(free-cancellation\x20form)','description':'The\x20buyer-side\x20window\x20that\x20CLOSES:\x20Clock\x20<=\x20order.time\x20+\x20hours\x20x\x203600000,\x20ANDed\x20with\x20the\x20order-holder\x20'+'identity\x20set\x20(owner\x20or\x20agent,\x20254-anchored)\x20and\x20the\x20order.service\x20binding.\x20The\x20canonical\x20free-'+'cancellation\x20gate\x20—\x20buyer-triggered\x20cancel\x20rails\x20must\x20carry\x20the\x20identity\x20leg,\x20because\x20an\x20empty\x20'+'namedOperator\x20is\x20NOT\x20buyer-exclusive\x20(bkg15\x20F05)\x20and\x20the\x20platform\x20could\x20otherwise\x20drive\x20the\x20\x27buyer\x27\x20'+'forward\x20itself.\x20Instantiable\x20form\x20of\x20pattern.time_window_upper_bound\x20+\x20pattern.identity_check_order_holder.','recommended_patterns':['P06','P10','P16'],'parameters':[{'name':'service_name','type':'string','description':'Service\x20object\x20name\x20(circular\x20ref\x20via\x20P16\x20—\x20resolved\x20after\x20Service\x20publish)','required':!![],'constraint':'Must\x20be\x20a\x20name,\x20not\x20an\x20address\x20(the\x20Service\x20is\x20not\x20yet\x20published\x20when\x20the\x20Guard\x20is\x20created)'},{'name':'free_cancel_hours','type':'number','description':'Window\x20length\x20in\x20hours,\x20measured\x20from\x20order.time\x20(booking\x20moment)','required':!![],'constraint':'Plain\x20number\x20of\x20hours\x20—\x20the\x20template\x20converts\x20to\x20ms\x20(x\x203600000).\x20order.time\x20is\x20the\x20BOOKING\x20moment,\x20not\x20the\x20stay\x20start;\x20a\x20faithful\x20per-stay\x20deadline\x20rides\x20a\x20stay-date\x20Repository\x20row'}],'example_table':[{'identifier':0xfe,'b_submission':!![],'value_type':'Address','object_type':'Order','name':'task_binding\x20order\x20anchor\x20(protocol\x20slot\x20254;\x20written\x20by\x20order\x20creation)'},{'identifier':0x1,'b_submission':![],'value_type':'Address','value':'${service_name}','name':'Service\x20object\x20(project\x20binding,\x20circular\x20ref\x20via\x20name)'},{'identifier':0x2,'b_submission':![],'value_type':'U64','value':'${free_cancel_hours}','name':'Window\x20length\x20in\x20hours\x20(booking-time\x20anchor)'},{'identifier':0x3,'b_submission':![],'value_type':'U64','value':0x36ee80,'name':'Hours-to-milliseconds\x20constant'}],'example_root':{'type':'logic_and','nodes':[{'type':'logic_or','nodes':[{'type':'logic_equal','nodes':[{'type':'query','query':'order.owner','object':{'identifier':0xfe},'parameters':[]},{'type':'context','context':'Signer'}]},{'type':'query','query':'order.agent\x20has','object':{'identifier':0xfe},'parameters':[{'type':'context','context':'Signer'}]}]},{'type':'logic_equal','nodes':[{'type':'query','query':'order.service','object':{'identifier':0xfe},'parameters':[]},{'type':'identifier','identifier':0x1}]},{'type':'logic_as_u256_lesser_or_equal','nodes':[{'type':'context','context':'Clock'},{'type':'calc_number_add','nodes':[{'type':'query','query':'order.time','object':{'identifier':0xfe},'parameters':[]},{'type':'calc_number_multiply','nodes':[{'type':'identifier','identifier':0x2},{'type':'identifier','identifier':0x3}]}]}]}]},'applicable_industries':['travel','rental','ecommerce','education'],'relevant_risks':['R-C3-01','R-C3-05','R-C4-04'],'creation_notes':['DIRECTION\x20IS\x20THE\x20WHOLE\x20POINT\x20(bkd8\x20BK-02):\x20lesser_or_equal[Clock,\x20order.time\x20+\x20N]\x20CLOSES\x20the\x20window\x20—\x20cancel\x20admitted\x20inside,\x20refused\x20after.\x20Inverting\x20the\x20comparison\x20(the\x20opening-gate\x20twin)\x20makes\x20every\x20window\x20permanently\x20open:\x20cancel\x20aborts\x20inside\x20the\x20window\x20and\x20is\x20ADMITTED\x20after\x20it\x20closed.','ANCHOR\x20(TIME-ANCHOR-01):\x20order.time\x20is\x20the\x20BOOKING\x20moment,\x20written\x20once\x20at\x20creation\x20and\x20immutable\x20—\x20path-independent\x20by\x20construction.\x20It\x20is\x20NOT\x20the\x20stay\x20start:\x20no\x20check-in\x20date\x20exists\x20on\x20chain,\x20so\x20\x27free\x20cancel\x20until\x2072h\x20before\x20arrival\x27\x20needs\x20the\x20stay-date\x20Repository\x20row\x20prescription\x20(STAY-DATE\x20CORE);\x20this\x20template\x20ships\x20the\x20zero-addition\x20booking-time\x20default.','IDENTITY\x20LEG\x20MANDATORY\x20on\x20buyer-triggered\x20rails\x20(bkg15\x20F05):\x20attaching\x20a\x20Progress\x20to\x20an\x20Order\x20is\x20permissionless\x20and\x20an\x20empty\x20namedOperator\x20admits\x20ANY\x20caller\x20—\x20without\x20the\x20owner/agent\x20leg\x20the\x20platform\x20can\x20drive\x20the\x20\x27buyer\x27\x20cancel\x20forward\x20itself.\x20Legs\x20anchor\x20slot\x20254\x20(T10,\x20see\x20tpl_forward_order_holder).','EDGE\x20OPERATOR\x20PAIRING\x20(bkng\x20F23):\x20the\x20edge\x20rides\x20operator\x20order_payer;\x20a\x20permissionIndex\x20rail\x20conflicts\x20(disjoint\x20signer\x20sets).\x20FORWARD_GUARD_IDENTITY_PERM_CONFLICT\x20enforces\x20this\x20for\x20this\x20template\x20id.','EXPIRY\x20SEMANTICS:\x20an\x20expired\x20window\x20only\x20fails\x20the\x20forward\x20it\x20gates\x20—\x20pair\x20with\x20a\x20keeper/timeout\x20rail\x20so\x20the\x20post-window\x20fund\x20path\x20exists\x20(FUND-EXIT-01).',PROTOCOL_SLOT_254_NOTE],'example_use_case':'OTA\x20free\x20cancellation:\x20the\x20paid\x20->\x20free_cancel\x20forward\x20advances\x20only\x20for\x20the\x20order\x20holder,\x20within\x2072h\x20'+'of\x20booking;\x20after\x20the\x20window\x20closes\x20the\x20buyer\x27s\x20route\x20is\x20the\x20cancel-policy\x20/\x20arb\x20rails,\x20not\x20this\x20edge.','verifier_constraint_level':'level3_scene_combined'},{'id':'tpl_time_lock_order_time','scene_id':'machine_forward_guard','name':'Order-time\x20opening\x20lock\x20(keeper\x20timeout\x20form)','description':'The\x20keeper-side\x20timeout\x20that\x20OPENS:\x20Clock\x20>=\x20order.time\x20+\x20hours\x20x\x203600000,\x20with\x20the\x20order.service\x20'+'binding.\x20Deliberately\x20carries\x20NO\x20identity\x20leg\x20—\x20it\x20rides\x20a\x20permissionIndex\x20keeper\x20rail,\x20and\x20an\x20'+'order-holder\x20identity\x20would\x20make\x20the\x20two\x20layers\x20disjoint\x20(nobody\x20passes\x20both,\x20bkng\x20F23).\x20Canonical\x20'+'confirm-timeout\x20gate:\x20the\x20supplier\x20must\x20confirm\x20within\x20N\x20hours\x20of\x20booking\x20or\x20the\x20keeper\x20releases\x20the\x20'+'order\x20to\x20the\x20refund\x20rail.\x20Instantiable\x20form\x20of\x20pattern.time_lock_progress\x20anchored\x20on\x20order.time.','recommended_patterns':['P06'],'parameters':[{'name':'service_name','type':'string','description':'Service\x20object\x20name\x20(circular\x20ref\x20via\x20P16\x20—\x20resolved\x20after\x20Service\x20publish)','required':!![],'constraint':'Must\x20be\x20a\x20name,\x20not\x20an\x20address\x20(the\x20Service\x20is\x20not\x20yet\x20published\x20when\x20the\x20Guard\x20is\x20created)'},{'name':'confirm_timeout_hours','type':'number','description':'Lock\x20duration\x20in\x20hours,\x20measured\x20from\x20order.time\x20(booking\x20moment)','required':!![],'constraint':'Plain\x20number\x20of\x20hours\x20—\x20the\x20template\x20converts\x20to\x20ms\x20(x\x203600000)'}],'example_table':[{'identifier':0xfe,'b_submission':!![],'value_type':'Address','object_type':'Order','name':'task_binding\x20order\x20anchor\x20(protocol\x20slot\x20254;\x20written\x20by\x20order\x20creation)'},{'identifier':0x1,'b_submission':![],'value_type':'Address','value':'${service_name}','name':'Service\x20object\x20(project\x20binding,\x20circular\x20ref\x20via\x20name)'},{'identifier':0x2,'b_submission':![],'value_type':'U64','value':'${confirm_timeout_hours}','name':'Lock\x20duration\x20in\x20hours\x20(booking-time\x20anchor)'},{'identifier':0x3,'b_submission':![],'value_type':'U64','value':0x36ee80,'name':'Hours-to-milliseconds\x20constant'}],'example_root':{'type':'logic_and','nodes':[{'type':'logic_equal','nodes':[{'type':'query','query':'order.service','object':{'identifier':0xfe},'parameters':[]},{'type':'identifier','identifier':0x1}]},{'type':'logic_as_u256_greater_or_equal','nodes':[{'type':'context','context':'Clock'},{'type':'calc_number_add','nodes':[{'type':'query','query':'order.time','object':{'identifier':0xfe},'parameters':[]},{'type':'calc_number_multiply','nodes':[{'type':'identifier','identifier':0x2},{'type':'identifier','identifier':0x3}]}]}]}]},'applicable_industries':['travel','rental','ecommerce','education'],'relevant_risks':['R-C3-05'],'creation_notes':['DIRECTION\x20(etm-mn-261013\x20A-06):\x20greater_or_equal[Clock,\x20order.time\x20+\x20N]\x20is\x20the\x20OPENING\x20gate\x20—\x20the\x20keeper\x20rail\x20stays\x20blocked\x20until\x20the\x20timeout\x20elapses.\x20Never\x20invert\x20it.','NO\x20IDENTITY\x20LEG\x20—\x20DELIBERATE\x20(bkng\x20F23):\x20this\x20guard\x20rides\x20a\x20keeper\x20permissionIndex\x20rail.\x20Adding\x20an\x20order-holder\x20identity\x20would\x20intersect\x20a\x20merchant-side\x20slot\x20with\x20the\x20buyer\x27s\x20signer\x20set\x20—\x20the\x20edge\x20could\x20never\x20advance.\x20Buyer-advanced\x20edges\x20take\x20tpl_forward_order_holder\x20instead.','ANCHOR\x20(TIME-ANCHOR-01):\x20order.time\x20is\x20the\x20BOOKING\x20moment,\x20immutable\x20and\x20path-independent.\x20For\x20a\x20lock\x20anchored\x20on\x20a\x20NODE\x20ENTRY\x20(e.g.\x20N\x20days\x20after\x20delivery)\x20use\x20tpl_time_lock_progress_days\x20instead\x20—\x20booking-time\x20anchors\x20expire\x20before\x20the\x20stay\x20even\x20starts\x20when\x20the\x20lead\x20time\x20is\x20long.','KEEPER\x20COVERAGE:\x20the\x20timeout\x20releases\x20the\x20order\x20to\x20the\x20refund/cancel\x20rail\x20—\x20pair\x20with\x20a\x20fund\x20exit\x20on\x20the\x20timeout\x20node\x20(FUND-EXIT-01)\x20so\x20the\x20released\x20order\x20never\x20strands.',PROTOCOL_SLOT_254_NOTE],'example_use_case':'OTA\x20supplier\x20confirm:\x20the\x20paid\x20->\x20confirm_timeout\x20keeper\x20forward\x20advances\x2048h\x20after\x20booking\x20if\x20the\x20'+'property\x20never\x20confirmed,\x20releasing\x20the\x20order\x20to\x20the\x20refund\x20rail.','verifier_constraint_level':'level3_scene_combined'},{'id':'tpl_time_lock_progress_days','scene_id':'machine_forward_guard','name':'Node-entry\x20opening\x20lock\x20in\x20days\x20(claim-window\x20opener)','description':'Opening\x20gate\x20measured\x20in\x20DAYS\x20from\x20a\x20node\x27s\x20entry:\x20Clock\x20>=\x20progress.history.time(nextNode\x20=\x20'+'expected_node,\x20find=last)\x20+\x20days\x20x\x2086400000,\x20plus\x20the\x20node\x20gate\x20and\x20the\x20order.service\x20binding.\x20The\x20'+'claim-window\x20opener:\x20a\x20keeper\x20forward\x20may\x20close\x20the\x20window\x20only\x20N\x20days\x20after\x20the\x20claim\x20window\x20opened.\x20'+'The\x201280\x20history\x20anchor\x20is\x20the\x20node\x27s\x20IMMUTABLE\x20recorded\x20entry\x20moment\x20—\x20later\x20advances\x20cannot\x20shift\x20it.\x20'+'Instantiable\x20form\x20of\x20pattern.time_lock_progress\x20with\x20a\x20day-fee\x20param\x20instead\x20of\x20raw\x20milliseconds.','recommended_patterns':['P06'],'parameters':[{'name':'service_name','type':'string','description':'Service\x20object\x20name\x20(circular\x20ref\x20via\x20P16\x20—\x20resolved\x20after\x20Service\x20publish)','required':!![],'constraint':'Must\x20be\x20a\x20name,\x20not\x20an\x20address\x20(the\x20Service\x20is\x20not\x20yet\x20published\x20when\x20the\x20Guard\x20is\x20created)'},{'name':'expected_node','type':'string','description':'Node\x20whose\x20ENTRY\x20anchors\x20the\x20lock\x20(the\x20recorded\x20nextNode\x20of\x20the\x201280\x20history\x20row)','required':!![],'constraint':'Must\x20exactly\x20match\x20the\x20Machine\x20node\x20name\x20(case-sensitive)'},{'name':'claim_window_days','type':'number','description':'Lock\x20duration\x20in\x20days\x20from\x20the\x20node\x20entry','required':!![],'constraint':'Plain\x20number\x20of\x20days\x20—\x20the\x20template\x20converts\x20to\x20ms\x20(x\x2086400000)'}],'example_table':[{'identifier':0x0,'b_submission':!![],'value_type':'Address','object_type':'Order','name':'Order\x20object\x20address'},{'identifier':0x1,'b_submission':![],'value_type':'String','value':'${expected_node}','name':'Anchor\x20node\x20(clock\x20starts\x20at\x20its\x20entry)'},{'identifier':0x2,'b_submission':![],'value_type':'Address','value':'${service_name}','name':'Service\x20object\x20(project\x20binding,\x20R-C3-05)'},{'identifier':0x3,'b_submission':![],'value_type':'U64','value':'${claim_window_days}','name':'Lock\x20duration\x20in\x20days'},{'identifier':0x4,'b_submission':![],'value_type':'U64','value':0x5265c00,'name':'Days-to-milliseconds\x20constant'},{'identifier':0xfe,'b_submission':!![],'value_type':'Address','object_type':'Order','name':'task_binding\x20order\x20anchor\x20(protocol\x20slot\x20254;\x20written\x20by\x20order\x20creation)'}],'example_root':{'type':'logic_and','nodes':[{'type':'logic_equal','nodes':[{'type':'query','query':'progress.current','object':{'identifier':0x0,'convert_witness':'OrderProgress'},'parameters':[]},{'type':'identifier','identifier':0x1}]},{'type':'logic_equal','nodes':[{'type':'query','query':'order.service','object':{'identifier':0x0},'parameters':[]},{'type':'identifier','identifier':0x2}]},{'type':'logic_as_u256_greater_or_equal','nodes':[{'type':'context','context':'Clock'},{'type':'calc_number_add','nodes':[{'type':'query_progress_history_time','object':{'identifier':0x0,'convert_witness':'OrderProgress'},'where':{'nextNode':'${expected_node}'},'find':'last'},{'type':'calc_number_multiply','nodes':[{'type':'identifier','identifier':0x3},{'type':'identifier','identifier':0x4}]}]}]}]},'applicable_industries':['travel','rental','ecommerce','education'],'relevant_risks':['R-C3-05'],'creation_notes':['DIRECTION\x20(etm-mn-261013\x20A-06):\x20greater_or_equal[Clock,\x20entry\x20+\x20N\x20days]\x20OPENS\x20the\x20gate\x20after\x20the\x20lock\x20—\x20the\x20closing-window\x20twin\x20is\x20tpl_time_window_upper_progress_days.\x20Inverting\x20it\x20reopens\x20the\x20window\x20forever.','ENTRY-TIME\x20ANCHOR\x20(v76):\x20query\x201280\x20progress.history.time\x20filtered\x20by\x20where.nextNode\x20=\x20the\x20anchor\x20node,\x20find=last.\x20The\x20record\x20is\x20written\x20once\x20on\x20entering\x20the\x20node\x20and\x20never\x20rewritten\x20(drift-immune);\x20a\x20re-entered\x20node\x20appends\x20a\x20fresh\x20entry\x20and\x20restarts\x20the\x20lock.','EDGE-PREV\x20DISCIPLINE\x20(bkng\x20F22):\x20the\x20node\x20gate\x20here\x20pins\x20progress.current\x20==\x20the\x20anchor\x20node\x20—\x20bind\x20this\x20guard\x20ONLY\x20to\x20a\x20forward\x20whose\x20PREV\x20is\x20the\x20anchor\x20node\x20(the\x20order\x20still\x20sits\x20there\x20while\x20the\x20guard\x20evaluates,\x20before\x20the\x20advance).\x20A\x20pin\x20on\x20any\x20other\x20node\x20welds\x20the\x20edge\x20shut.','FORWARD\x20vs\x20ALLOCATOR\x20MOUNTS\x20(az3-mn-261013\x20F-18):\x20mounting\x20ONE\x20time\x20guard\x20on\x20BOTH\x20the\x20forward\x20and\x20the\x20allocator\x20riding\x20the\x20same\x20transition\x20doubles\x20the\x20dwell\x20(the\x20allocator\x20re-anchors\x20on\x20the\x20destination\x20entry).\x20Put\x20the\x20time\x20lower\x20bound\x20on\x20ONE\x20mount\x20only.',PROTOCOL_SLOT_254_NOTE],'example_use_case':'OTA\x20claim\x20window:\x20the\x20release_no_claim\x20keeper\x20forward\x20(claim_window\x20->\x20payout_released)\x20advances\x20only\x20'+'7\x20days\x20after\x20the\x20claim\x20window\x20opened\x20—\x20disputes\x20have\x20their\x20window,\x20untouched\x20funds\x20then\x20release.','verifier_constraint_level':'level3_scene_combined'},{'id':'tpl_time_window_upper_progress_days','scene_id':'machine_forward_guard','name':'Node-entry\x20closing\x20window\x20in\x20days\x20(claim\x20filing\x20deadline)','description':'Closing\x20window\x20measured\x20in\x20DAYS\x20from\x20a\x20node\x27s\x20entry:\x20Clock\x20<=\x20progress.history.time(nextNode\x20=\x20'+'expected_node,\x20find=last)\x20+\x20days\x20x\x2086400000,\x20plus\x20the\x20node\x20gate\x20and\x20the\x20order.service\x20binding.\x20The\x20'+'post-stay\x20claim\x20deadline:\x20a\x20buyer\x20may\x20file\x20a\x20claim\x20only\x20N\x20days\x20after\x20the\x20claim\x20window\x20opened.\x20The\x201280\x20'+'history\x20anchor\x20is\x20the\x20node\x27s\x20IMMUTABLE\x20recorded\x20entry\x20moment\x20—\x20keeper\x20timing\x20cannot\x20shift\x20it.\x20'+'Instantiable\x20form\x20of\x20pattern.time_window_upper_bound\x20with\x20a\x20day-fee\x20param\x20instead\x20of\x20raw\x20milliseconds.','recommended_patterns':['P06'],'parameters':[{'name':'service_name','type':'string','description':'Service\x20object\x20name\x20(circular\x20ref\x20via\x20P16\x20—\x20resolved\x20after\x20Service\x20publish)','required':!![],'constraint':'Must\x20be\x20a\x20name,\x20not\x20an\x20address\x20(the\x20Service\x20is\x20not\x20yet\x20published\x20when\x20the\x20Guard\x20is\x20created)'},{'name':'expected_node','type':'string','description':'Node\x20whose\x20ENTRY\x20opens\x20the\x20window\x20(the\x20recorded\x20nextNode\x20of\x20the\x201280\x20history\x20row)','required':!![],'constraint':'Must\x20exactly\x20match\x20the\x20Machine\x20node\x20name\x20(case-sensitive)'},{'name':'claim_window_days','type':'number','description':'Window\x20length\x20in\x20days\x20from\x20the\x20node\x20entry','required':!![],'constraint':'Plain\x20number\x20of\x20days\x20—\x20the\x20template\x20converts\x20to\x20ms\x20(x\x2086400000)'}],'example_table':[{'identifier':0x0,'b_submission':!![],'value_type':'Address','object_type':'Order','name':'Order\x20object\x20address'},{'identifier':0x1,'b_submission':![],'value_type':'String','value':'${expected_node}','name':'Anchor\x20node\x20(window\x20opens\x20at\x20its\x20entry)'},{'identifier':0x2,'b_submission':![],'value_type':'Address','value':'${service_name}','name':'Service\x20object\x20(project\x20binding,\x20R-C3-05)'},{'identifier':0x3,'b_submission':![],'value_type':'U64','value':'${claim_window_days}','name':'Window\x20length\x20in\x20days'},{'identifier':0x4,'b_submission':![],'value_type':'U64','value':0x5265c00,'name':'Days-to-milliseconds\x20constant'},{'identifier':0xfe,'b_submission':!![],'value_type':'Address','object_type':'Order','name':'task_binding\x20order\x20anchor\x20(protocol\x20slot\x20254;\x20written\x20by\x20order\x20creation)'}],'example_root':{'type':'logic_and','nodes':[{'type':'logic_equal','nodes':[{'type':'query','query':'progress.current','object':{'identifier':0x0,'convert_witness':'OrderProgress'},'parameters':[]},{'type':'identifier','identifier':0x1}]},{'type':'logic_equal','nodes':[{'type':'query','query':'order.service','object':{'identifier':0x0},'parameters':[]},{'type':'identifier','identifier':0x2}]},{'type':'logic_as_u256_lesser_or_equal','nodes':[{'type':'context','context':'Clock'},{'type':'calc_number_add','nodes':[{'type':'query_progress_history_time','object':{'identifier':0x0,'convert_witness':'OrderProgress'},'where':{'nextNode':'${expected_node}'},'find':'last'},{'type':'calc_number_multiply','nodes':[{'type':'identifier','identifier':0x3},{'type':'identifier','identifier':0x4}]}]}]}]},'applicable_industries':['travel','rental','ecommerce','education'],'relevant_risks':['R-C3-05'],'creation_notes':['DIRECTION\x20(etm-mn-261013\x20A-06,\x20bkd8\x20BK-04):\x20lesser_or_equal[Clock,\x20entry\x20+\x20N\x20days]\x20CLOSES\x20the\x20window\x20—\x20filing\x20admitted\x20inside,\x20refused\x20after.\x20The\x20opening-gate\x20twin\x20(greater_or_equal)\x20inverts\x20the\x20policy:\x20the\x20window\x20is\x20shut\x20while\x20open\x20and\x20stays\x20open\x20after\x20it\x20closed.','EXPIRY\x20SEMANTICS:\x20an\x20expired\x20window\x20only\x20fails\x20the\x20forward\x20it\x20gates\x20—\x20pair\x20with\x20the\x20keeper\x20release\x20rail\x20(tpl_time_lock_progress_days)\x20so\x20the\x20post-window\x20fund\x20path\x20exists\x20(FUND-EXIT-01).','ENTRY-TIME\x20ANCHOR\x20(v76):\x20query\x201280\x20history\x20time,\x20where.nextNode\x20=\x20the\x20anchor\x20node,\x20find=last\x20—\x20immutable\x20once-written;\x20a\x20re-entered\x20node\x20appends\x20a\x20fresh\x20entry\x20and\x20REOPENS\x20the\x20window.','EDGE-PREV\x20DISCIPLINE\x20(bkng\x20F22):\x20bind\x20only\x20to\x20a\x20forward\x20whose\x20PREV\x20is\x20the\x20anchor\x20node\x20—\x20the\x20order\x20sits\x20at\x20PREV\x20while\x20a\x20forward\x20guard\x20evaluates,\x20so\x20the\x20pin\x20must\x20equal\x20edge.prev.',PROTOCOL_SLOT_254_NOTE],'example_use_case':'OTA\x20post-stay\x20claim:\x20the\x20claim_window\x20->\x20poststay_claim\x20buyer\x20forward\x20advances\x20only\x20within\x207\x20days\x20of\x20'+'the\x20claim\x20window\x20opening;\x20after\x20expiry\x20the\x20buyer\x27s\x20route\x20is\x20arbitration,\x20not\x20this\x20edge.','verifier_constraint_level':'level3_scene_combined'},{'id':'tpl_allocator_serial_window_release','scene_id':'service_order_allocators_guard','name':'Serial\x20settlement\x20release\x20(reached-node\x20pin\x20+\x20window-closed\x20lock)','description':'Settlement\x20allocator\x20gate\x20for\x20the\x20serial\x20release\x20pattern:\x20progress.current\x20==\x20release_node\x20(the\x20pin\x20is\x20'+'correct\x20on\x20an\x20ALLOCATOR\x20—\x20it\x20evaluates\x20at\x20alloc\x20time\x20when\x20current\x20is\x20the\x20REACHED\x20node)\x20AND\x20Clock\x20>=\x20'+'progress.history.time(nextNode\x20=\x20window_node,\x20find=last)\x20+\x20days\x20x\x2086400000.\x20The\x20money\x20moves\x20only\x20after\x20'+'the\x20dispute\x20window\x20closed\x20with\x20no\x20upheld\x20claim\x20—\x20the\x20pool\x20is\x20intact\x20and\x20undisputed\x20when\x20it\x20does.\x20'+'Deliberately\x20arms\x20NO\x20254\x20slot:\x20a\x20Rate-10000\x20plan\x20self-limits\x20by\x20pool\x20exhaustion\x20(the\x20next\x20run\x20aborts),\x20'+'and\x20254\x20keys\x20on\x20payment_info.for_object\x20which\x20an\x20allocator\x20share\x20does\x20not\x20consume.\x20Instantiable\x20form\x20of\x20'+'the\x20global-ota\x20settlement_release\x20design\x20(v30/v68).','recommended_patterns':['P02','P06','P10','P16'],'parameters':[{'name':'service_name','type':'string','description':'Service\x20object\x20name\x20(circular\x20ref\x20via\x20P16\x20—\x20resolved\x20after\x20Service\x20publish)','required':!![],'constraint':'Must\x20be\x20a\x20name,\x20not\x20an\x20address\x20(the\x20Service\x20is\x20not\x20yet\x20published\x20when\x20the\x20Guard\x20is\x20created)'},{'name':'release_node','type':'string','description':'Machine\x20node\x20at\x20which\x20the\x20release\x20fires\x20(the\x20REACHED\x20node\x20at\x20alloc\x20time,\x20e.g.\x20\x27payout_released\x27)','required':!![],'constraint':'Must\x20exactly\x20match\x20the\x20Machine\x20node\x20name\x20(case-sensitive)'},{'name':'window_node','type':'string','description':'Node\x20whose\x20ENTRY\x20anchors\x20the\x20window\x20lock\x20(the\x201280\x20history\x20nextNode,\x20e.g.\x20\x27claim_window\x27)','required':!![],'constraint':'Must\x20exactly\x20match\x20the\x20Machine\x20node\x20name\x20(case-sensitive)'},{'name':'claim_window_days','type':'number','description':'Window\x20length\x20in\x20days\x20from\x20the\x20window\x20node\x27s\x20entry','required':!![],'constraint':'Plain\x20number\x20of\x20days\x20—\x20the\x20template\x20converts\x20to\x20ms\x20(x\x2086400000)'}],'example_table':[{'identifier':0x0,'b_submission':!![],'value_type':'Address','object_type':'Order','name':'Order\x20object\x20address'},{'identifier':0x1,'b_submission':![],'value_type':'String','value':'${release_node}','name':'Release\x20node\x20(the\x20REACHED\x20node\x20at\x20alloc\x20time)'},{'identifier':0x2,'b_submission':![],'value_type':'String','value':'${window_node}','name':'Window\x20anchor\x20node\x20(lock\x20starts\x20at\x20its\x20entry)'},{'identifier':0x3,'b_submission':![],'value_type':'Address','value':'${service_name}','name':'Service\x20object\x20(project\x20binding,\x20R-C3-05)'},{'identifier':0x4,'b_submission':![],'value_type':'U64','value':'${claim_window_days}','name':'Window\x20length\x20in\x20days'},{'identifier':0x5,'b_submission':![],'value_type':'U64','value':0x5265c00,'name':'Days-to-milliseconds\x20constant'}],'example_root':{'type':'logic_and','nodes':[{'type':'logic_equal','nodes':[{'type':'query','query':'progress.current','object':{'identifier':0x0,'convert_witness':'OrderProgress'},'parameters':[]},{'type':'identifier','identifier':0x1}]},{'type':'logic_equal','nodes':[{'type':'query','query':'order.service','object':{'identifier':0x0},'parameters':[]},{'type':'identifier','identifier':0x3}]},{'type':'logic_as_u256_greater_or_equal','nodes':[{'type':'context','context':'Clock'},{'type':'calc_number_add','nodes':[{'type':'query_progress_history_time','object':{'identifier':0x0,'convert_witness':'OrderProgress'},'where':{'nextNode':'${window_node}'},'find':'last'},{'type':'calc_number_multiply','nodes':[{'type':'identifier','identifier':0x4},{'type':'identifier','identifier':0x5}]}]}]}]},'applicable_industries':['travel','rental','ecommerce','education','freelance'],'relevant_risks':['R-C3-05','R-X1-08'],'creation_notes':['ALLOCATOR-ONLY\x20MOUNT\x20(bkng\x20F22):\x20allocator\x20guards\x20evaluate\x20AT\x20ALLOC\x20TIME,\x20when\x20progress.current\x20is\x20the\x20REACHED\x20node\x20—\x20so\x20the\x20release_node\x20pin\x20is\x20correct\x20here.\x20NEVER\x20bind\x20this\x20guard\x20to\x20a\x20forward\x20edge:\x20a\x20forward\x20guard\x20evaluates\x20BEFORE\x20the\x20advance\x20(current\x20==\x20PREV),\x20so\x20the\x20pin\x20would\x20weld\x20the\x20edge\x20shut\x20(dead\x20rail).\x20The\x20forward\x20side\x20takes\x20the\x20TIME-ONLY\x20leg\x20(tpl_time_lock_progress_days)\x20—\x20belt\x20and\x20suspenders:\x20the\x20forward\x20cannot\x20fire\x20before\x20the\x20window\x20closes,\x20and\x20the\x20allocator\x20cannot\x20pay\x20outside\x20the\x20release\x20node.','NO\x20254\x20SLOT\x20—\x20DELIBERATE:\x20a\x20Rate-10000\x20plan\x20self-limits\x20by\x20pool\x20exhaustion;\x20254\x20keys\x20on\x20payment_info.for_object\x20which\x20an\x20allocator\x20share\x20never\x20consumes.\x20Adding\x20254\x20aborts\x20E_ONCE_TRIGGERED(16)\x20from\x20the\x20second\x20share\x20payment.','SERIAL\x20WINDOW\x20(ABNB2\x20mainnet-validated):\x20release\x20is\x20gated\x20on\x20payout_released,\x20reachable\x20only\x20after\x20the\x20claim\x20window\x20closed\x20with\x20no\x20upheld\x20claim\x20—\x20the\x20pool\x20is\x20always\x20intact\x20and\x20undisputed\x20when\x20money\x20moves.\x20Pin-vs-previous\x20discipline:\x20v25\x27s\x20order.time\x20anchor\x20was\x20vacuous\x20(booking-time\x20delays\x20expire\x20before\x20checkout);\x20the\x20serial\x20claim\x20window\x20is\x20the\x20real\x20post-stay\x20protection.','PAIR\x20WITH\x20THE\x20EXIT\x20COVERAGE:\x20every\x20rest\x20state\x20needs\x20a\x20defined\x20withdrawal\x20AND\x20refund\x20rule\x20(FUND-EXIT-01\x20/\x20R-M5-03)\x20—\x20this\x20rail\x20is\x20the\x20settlement\x20exit;\x20the\x20refund\x20and\x20recovery\x20rails\x20cover\x20the\x20cancel\x20and\x20awarded\x20exits.'],'example_use_case':'OTA\x20settlement:\x20the\x20property\x20Surplus\x20+\x20platform\x20commission\x20+\x20payment-fee\x20legs\x20share\x20ONE\x20allocator,\x20all\x20'+'gated\x20by\x20this\x20guard\x20—\x20money\x20moves\x20at\x20payout_released,\x20N\x20days\x20after\x20the\x20claim\x20window\x20opened.','verifier_constraint_level':'level3_scene_combined'},{'id':'tpl_repository_row_present','scene_id':'machine_forward_guard','name':'Evidence\x20row\x20presence\x20gate\x20(find-where\x20count\x20>=\x201)','description':'Gates\x20a\x20machine\x20forward\x20on\x20evidence\x20IN\x20THE\x20PLAN\x27S\x20REPOSITORY:\x20at\x20least\x20one\x20row\x20under\x20the\x20named\x20policy\x20'+'whose\x20value\x20contains\x20the\x20marker,\x20among\x20the\x20candidate\x20row\x20ids\x20the\x20verifier\x20submits.\x20The\x20forward\x27s\x20own\x20'+'permission\x20rail\x20authenticates\x20WHO\x20advances;\x20the\x20candidate-list\x20convention\x20is\x20the\x20same\x20as\x20the\x20review\x20'+'threshold\x20gate\x20(verifier-enumerated\x20row\x20ids\x20—\x20the\x20writer\x20advancing\x20the\x20edge\x20submits\x20its\x20own\x20evidence).\x20'+'Optional\x20NOT-BEFORE\x20floor\x20(not_before_hours\x20>\x200):\x20ANDs\x20Clock\x20>=\x20order.time\x20+\x20N\x20hours\x20so\x20a\x20charge\x20can\x20'+'never\x20file\x20before\x20arrival\x20(the\x20canonical\x20no-show\x20floor).\x20Pairs\x20with\x20a\x20write-guarded\x20evidence\x20policy\x20'+'so\x20the\x20rows\x20cannot\x20be\x20forged\x20by\x20a\x20counterparty\x20(R-X1-17:\x20existence\x20is\x20not\x20trust\x20—\x20the\x20WRITE\x20side\x20'+'must\x20bind\x20the\x20writer).','recommended_patterns':['P07','P15'],'parameters':[{'name':'service_name','type':'string','description':'Service\x20object\x20name\x20(circular\x20ref\x20via\x20P16\x20—\x20resolved\x20after\x20Service\x20publish)','required':!![],'constraint':'Must\x20be\x20a\x20name,\x20not\x20an\x20address\x20(the\x20Service\x20is\x20not\x20yet\x20published\x20when\x20the\x20Guard\x20is\x20created)'},{'name':'repository_name','type':'string','description':'Evidence\x20Repository\x20object\x20name\x20—\x20the\x20compile\x20kernel\x20seeds\x20it\x20with\x20the\x20plan\x27s\x20evidence\x20repository\x20(\x27<base>_evidence\x27,\x20A5\x20late-binding\x20like\x20service_name)','required':!![],'constraint':'Must\x20be\x20a\x20name,\x20not\x20an\x20address\x20(the\x20Repository\x20is\x20not\x20yet\x20published\x20when\x20the\x20Guard\x20is\x20created)'},{'name':'row_name','type':'string','description':'Policy\x20key\x20under\x20which\x20the\x20evidence\x20rows\x20are\x20stored\x20(e.g.\x20\x27no_show_evidence\x27)','required':!![],'constraint':'Must\x20exactly\x20match\x20the\x20Repository\x20policy\x20name\x20(case-sensitive)'},{'name':'evidence_marker','type':'string','description':'Substring\x20the\x20evidence\x20row\x20value\x20must\x20contain\x20(e.g.\x20the\x20node\x20or\x20event\x20name\x20that\x20marks\x20the\x20evidence)\x20—\x20the\x20row\x20without\x20the\x20marker\x20does\x20not\x20open\x20the\x20gate','required':!![]},{'name':'not_before_hours','type':'number','description':'Optional\x20NOT-BEFORE\x20floor:\x20Clock\x20>=\x20order.time\x20+\x20N\x20hours\x20x\x203600000\x20—\x20\x270\x27\x20(default)\x20ships\x20WITHOUT\x20the\x20floor\x20leg\x20(pure\x20presence\x20gate).\x20The\x20canonical\x20no-show\x20charge\x20floor','required':![],'default':'0'},{'name':'not_before_ms','type':'number','description':'Internal:\x20hours-to-milliseconds\x20constant\x20for\x20the\x20floor\x20leg\x20—\x20omitted\x20together\x20with\x20the\x20floor','required':![],'default':'3600000'}],'example_table':[{'identifier':0x0,'b_submission':!![],'value_type':'Address','object_type':'Order','name':'Order\x20object\x20address'},{'identifier':0x1,'b_submission':![],'value_type':'Address','value':'${repository_name}','name':'Evidence\x20Repository\x20(plan-bound,\x20circular\x20ref\x20via\x20name)'},{'identifier':0x2,'b_submission':![],'value_type':'String','value':'${row_name}','name':'Evidence\x20policy\x20key'},{'identifier':0x3,'b_submission':![],'value_type':'String','value':'${evidence_marker}','name':'Marker\x20substring\x20the\x20row\x20value\x20must\x20contain'},{'identifier':0x4,'b_submission':![],'value_type':'Address','value':'${service_name}','name':'Service\x20object\x20(project\x20binding,\x20R-C3-05)'},{'identifier':0x5,'b_submission':!![],'value_type':'VecAddress','name':'Candidate\x20evidence\x20row\x20ids\x20submitted\x20by\x20the\x20verifier\x20(max\x20100,\x20deduped)'},{'identifier':0x6,'b_submission':![],'value_type':'U64','value':0x1,'name':'Minimum\x20matching\x20row\x20count'},{'identifier':0x7,'b_submission':![],'value_type':'U64','value':'${not_before_hours}','name':'NOT-BEFORE\x20floor\x20in\x20hours\x20(0\x20=\x20the\x20floor\x20leg\x20and\x20this\x20row\x20are\x20omitted)'},{'identifier':0x8,'b_submission':![],'value_type':'U64','value':'${not_before_ms}','name':'Hours-to-milliseconds\x20constant\x20(floor-leg\x20companion;\x20omitted\x20with\x20the\x20floor)'},{'identifier':0xfe,'b_submission':!![],'value_type':'Address','object_type':'Order','name':'task_binding\x20order\x20anchor\x20(protocol\x20slot\x20254;\x20written\x20by\x20order\x20creation)'}],'example_root':{'type':'logic_and','nodes':[{'type':'logic_as_u256_greater_or_equal','nodes':[{'type':'vec_length','node':{'type':'query_repository_data_find_where','object':{'identifier':0x1},'key':{'identifier':0x2},'ids':{'identifier':0x5},'where':{'kind':'stringContains','value':'${evidence_marker}'}}},{'type':'identifier','identifier':0x6}]},{'type':'logic_equal','nodes':[{'type':'query','query':'order.service','object':{'identifier':0x0},'parameters':[]},{'type':'identifier','identifier':0x4}]},{'type':'logic_as_u256_greater_or_equal','nodes':[{'type':'context','context':'Clock'},{'type':'calc_number_add','nodes':[{'type':'query','query':'order.time','object':{'identifier':0xfe},'parameters':[]},{'type':'calc_number_multiply','nodes':[{'type':'identifier','identifier':0x7},{'type':'identifier','identifier':0x8}]}]}]}]},'applicable_industries':['travel','rental','ecommerce','logistics'],'relevant_risks':['R-C3-05','R-X1-17','R-X1-12'],'creation_notes':['STRONG\x20FORM\x20(recommended):\x20key\x20the\x20evidence\x20rows\x20BY\x20THE\x20ORDER\x20(policy\x20id_from\x20none,\x20row\x20id\x20=\x20the\x20order\x20address)\x20and\x20submit\x20exactly\x20[order]\x20as\x20the\x20candidate\x20ids\x20—\x20the\x20candidate\x20set\x20is\x20then\x20chain-bound\x20to\x20this\x20order\x20and\x20cannot\x20be\x20padded\x20with\x20foreign\x20rows.\x20The\x20verifier-supplied\x20candidate\x20list\x20in\x20the\x20weak\x20form\x20is\x20ATTESTED\x20(L-04),\x20never\x20chain-derived:\x20only\x20ship\x20it\x20behind\x20a\x20permissioned\x20forward\x20whose\x20operator\x20is\x20the\x20credentialed\x20writer.','WRITE-SIDE\x20BINDING\x20IS\x20MANDATORY\x20(R-X1-17,\x20existence-is-not-trust):\x20a\x20presence\x20gate\x20over\x20an\x20UNGUARDED\x20policy\x20is\x20satisfied\x20by\x20ANY\x20pre-written\x20row,\x20including\x20a\x20forged\x20one\x20(test-14\x20HIGH-04,\x20live).\x20Bind\x20the\x20policy\x27s\x20write_guard\x20to\x20the\x20writer\x20identity\x20(pattern.repository_write_authorization)\x20—\x20the\x20write\x20credential,\x20not\x20this\x20gate,\x20is\x20what\x20makes\x20the\x20evidence\x20trustworthy.','MARKER\x20SEMANTICS:\x20the\x20row\x20value\x20must\x20CONTAIN\x20the\x20marker\x20(byte\x20substring,\x20case-sensitive).\x20Mark\x20the\x20evidence\x20payload\x20with\x20the\x20canonical\x20event\x20token\x20when\x20writing\x20it\x20(e.g.\x20a\x20no-show\x20record\x20carries\x20\x27no_show\x27)\x20—\x20an\x20unmarked\x20or\x20foreign-policy\x20row\x20never\x20opens\x20the\x20gate.','ORDER-BINDING\x20GAP:\x20this\x20gate\x20binds\x20the\x20ORDER\x20via\x20the\x20order.service\x20leg\x20and\x20the\x20forward\x27s\x20task\x20slot,\x20but\x20the\x20row\x20itself\x20is\x20found\x20among\x20SUBMITTED\x20candidate\x20ids\x20—\x20for\x20buyer-advanceable\x20edges\x20prefer\x20the\x20strong\x20form\x20above,\x20or\x20tpl_repository_row_equals_order_field\x20(the\x20row\x20read\x20is\x20keyed\x20by\x20the\x20order\x20directly).','QUOTE_GUARD\x20CARRY\x20(MOV-PROTOCOL-1212\x20C):\x20if\x20the\x20evidence\x20policy\x20is\x20quote-guard-protected,\x20the\x20advancing\x20passport\x20MUST\x20carry\x20that\x20quote_guard\x20in\x20its\x20impack\x20list\x20—\x20the\x201176\x20read\x20aborts\x20otherwise\x20(fail-closed).',PROTOCOL_SLOT_254_NOTE],'example_use_case':'OTA\x20no-show:\x20the\x20confirmed\x20->\x20no_show_charged\x20property\x20forward\x20advances\x20only\x20when\x20a\x20no_show_evidence\x20'+'row\x20(value\x20containing\x20\x27no_show\x27)\x20exists\x20in\x20the\x20plan\x27s\x20evidence\x20repository.','verifier_constraint_level':'level3_scene_combined'},{'id':'tpl_repository_row_equals_order_field','scene_id':'machine_forward_guard','name':'Evidence\x20row\x20equals\x20order-derived\x20field\x20(commitment\x20comparison)','description':'Gates\x20a\x20machine\x20forward\x20on\x20an\x20ORDER-KEYED\x20evidence\x20row\x20matching\x20an\x20order-derived\x20commitment:\x20query\x201167\x20'+'repository.data(policy\x20key,\x20THE\x20SUBMITTED\x20ORDER)\x20compared\x20against\x20the\x20order\x27s\x20own\x20field\x20(default\x20'+'order.item.wip_hash\x20—\x20the\x20listing\x27s\x20WIP\x20commitment).\x20The\x20row\x20id\x20IS\x20the\x20order\x20address\x20(B-3\x20per-order\x20'+'tier-grid\x20convention),\x20so\x20the\x20read\x20is\x20chain-bound\x20to\x20this\x20order\x20—\x20no\x20candidate\x20list,\x20nothing\x20the\x20'+'verifier\x20can\x20pad.\x20The\x20canonical\x20check-in\x20dual-confirmation\x20gate:\x20the\x20property\x27s\x20redemption\x20evidence\x20'+'must\x20equal\x20the\x20commitment\x20the\x20buyer\x20actually\x20paid\x20against.','recommended_patterns':['P07','P15'],'parameters':[{'name':'service_name','type':'string','description':'Service\x20object\x20name\x20(circular\x20ref\x20via\x20P16\x20—\x20resolved\x20after\x20Service\x20publish)','required':!![],'constraint':'Must\x20be\x20a\x20name,\x20not\x20an\x20address\x20(the\x20Service\x20is\x20not\x20yet\x20published\x20when\x20the\x20Guard\x20is\x20created)'},{'name':'repository_name','type':'string','description':'Evidence\x20Repository\x20object\x20name\x20—\x20the\x20compile\x20kernel\x20seeds\x20it\x20with\x20the\x20plan\x27s\x20evidence\x20repository\x20(\x27<base>_evidence\x27,\x20A5\x20late-binding\x20like\x20service_name)','required':!![],'constraint':'Must\x20be\x20a\x20name,\x20not\x20an\x20address\x20(the\x20Repository\x20is\x20not\x20yet\x20published\x20when\x20the\x20Guard\x20is\x20created)'},{'name':'row_name','type':'string','description':'Policy\x20key\x20under\x20which\x20the\x20order-keyed\x20evidence\x20rows\x20are\x20stored\x20(e.g.\x20\x27checkin_evidence\x27)','required':!![],'constraint':'Must\x20exactly\x20match\x20the\x20Repository\x20policy\x20name\x20(case-sensitive)'},{'name':'order_field','type':'string','description':'Order\x20query\x20whose\x20value\x20the\x20row\x20must\x20equal\x20(default\x20\x27order.item.wip_hash\x27\x20—\x20the\x20listing\x20commitment;\x20the\x20example_root\x20ships\x20this\x20default\x20verbatim)','required':!![],'constraint':'Must\x20be\x20a\x20GUARDQUERY\x20name\x20returning\x20a\x20comparable\x20scalar\x20(e.g.\x20order.item.wip_hash,\x20order.item.price,\x20order.amount)\x20—\x20substituted\x20for\x20the\x20default\x20comparison\x20leg\x20at\x20fill\x20time','default':'order.item.wip_hash'}],'example_table':[{'identifier':0x0,'b_submission':!![],'value_type':'Address','object_type':'Order','name':'Order\x20object\x20address\x20(also\x20the\x20evidence\x20row\x20id\x20—\x20order-keyed\x20row)'},{'identifier':0x1,'b_submission':![],'value_type':'Address','value':'${repository_name}','name':'Evidence\x20Repository\x20(plan-bound,\x20circular\x20ref\x20via\x20name)'},{'identifier':0x2,'b_submission':![],'value_type':'String','value':'${row_name}','name':'Evidence\x20policy\x20key'},{'identifier':0x3,'b_submission':![],'value_type':'Address','value':'${service_name}','name':'Service\x20object\x20(project\x20binding,\x20R-C3-05)'},{'identifier':0xfe,'b_submission':!![],'value_type':'Address','object_type':'Order','name':'task_binding\x20order\x20anchor\x20(protocol\x20slot\x20254;\x20written\x20by\x20order\x20creation)'}],'example_root':{'type':'logic_and','nodes':[{'type':'logic_equal','nodes':[{'type':'query','query':'repository.data','object':{'identifier':0x1},'parameters':[{'type':'identifier','identifier':0x2},{'type':'identifier','identifier':0x0}]},{'type':'query','query':'order.item.wip_hash','object':{'identifier':0x0},'parameters':[]}]},{'type':'logic_equal','nodes':[{'type':'query','query':'order.service','object':{'identifier':0x0},'parameters':[]},{'type':'identifier','identifier':0x3}]}]},'applicable_industries':['travel','rental','ecommerce','logistics'],'relevant_risks':['R-C3-05','R-X1-17','R-X1-12'],'creation_notes':['ORDER-KEYED\x20READ\x20(B-3,\x20verified\x20convention):\x20query\x201167\x20accepts\x20the\x20ORDER\x20address\x20as\x20the\x20row\x20key\x20—\x20the\x20property\x20writes\x20the\x20evidence\x20under\x20id\x20=\x20the\x20order\x20address,\x20and\x20the\x20guard\x20reads\x20it\x20back\x20with\x20the\x20SAME\x20submitted\x20order\x20(slot\x200).\x20The\x20read\x20fails\x20closed\x20when\x20the\x20row\x20is\x20missing:\x20an\x20order\x20without\x20evidence\x20cannot\x20advance\x20(never\x20a\x20silent\x20pass).','WRITE-SIDE\x20BINDING\x20IS\x20MANDATORY\x20(R-X1-17):\x20bind\x20the\x20policy\x27s\x20write_guard\x20to\x20the\x20property\x27s\x20write\x20credential\x20(pattern.repository_write_authorization)\x20—\x20the\x20comparison\x20only\x20proves\x20the\x20row\x20MATCHES,\x20not\x20who\x20wrote\x20it.\x20An\x20unguarded\x20policy\x20lets\x20a\x20counterparty\x20pre-write\x20a\x20matching\x20row\x20(they\x20know\x20the\x20wip_hash\x20too).','COMMITMENT\x20SEMANTICS:\x20default\x20order.item.wip_hash\x20is\x20the\x20listing\x27s\x20WIP\x20commitment\x20the\x20buyer\x20paid\x20against\x20—\x20the\x20check-in\x20evidence\x20must\x20equal\x20it\x20(dual\x20confirmation\x20R4:\x20the\x20buyer\x27s\x20identity\x20half\x20rides\x20the\x20sibling\x20order-holder\x20forward).\x20Comparing\x20against\x20order.amount\x20or\x20another\x20scalar\x20works\x20the\x20same\x20way;\x20never\x20compare\x20against\x20a\x20passport-supplied\x20constant\x20(the\x20CONSTANT\x20opcode\x20prefers\x20passport\x20values\x20—\x20forgeable).','QUOTE_GUARD\x20CARRY\x20(MOV-PROTOCOL-1212\x20C):\x20if\x20the\x20evidence\x20policy\x20is\x20quote-guard-protected,\x20the\x20advancing\x20passport\x20MUST\x20carry\x20that\x20quote_guard\x20in\x20its\x20impack\x20list\x20—\x20the\x201167\x20read\x20aborts\x20otherwise\x20(fail-closed).',PROTOCOL_SLOT_254_NOTE],'example_use_case':'OTA\x20check-in:\x20the\x20confirmed\x20->\x20in_stay\x20property\x20forward\x20advances\x20only\x20when\x20the\x20checkin_evidence\x20row\x20'+'keyed\x20by\x20THIS\x20order\x20equals\x20the\x20listing\x27s\x20wip_hash\x20commitment;\x20the\x20buyer\x27s\x20identity\x20forward\x20completes\x20'+'the\x20dual\x20confirmation.','verifier_constraint_level':'level3_scene_combined'},{'id':'tpl_forward_order_holder_or_time','scene_id':'machine_forward_guard','name':'Order-holder\x20OR\x20time-fallback\x20checkout\x20gate\x20(anti-strand\x20form)','description':'The\x20checkout/departure\x20gate\x20that\x20cannot\x20strand\x20the\x20escrow:\x20the\x20buyer\x20(order\x20owner\x20or\x20agent,\x20254-anchored)\x20'+'confirms\x20check-out,\x20OR\x20—\x20when\x20the\x20buyer\x20never\x20returns\x20—\x20the\x20keeper\x20time-fallback\x20opens\x20after\x20order.time\x20'+'+\x20nights\x20x\x2086400000.\x20The\x20pure\x20identity\x20form\x20deadlocks\x20when\x20the\x20buyer\x20walks\x20away\x20post-checkout:\x20no\x20'+'advance,\x20no\x20settlement,\x20funds\x20locked\x20in_stay\x20forever.\x20The\x20fallback\x20leg\x20keeps\x20a\x20keeper\x20rail\x20under\x20the\x20'+'SAME\x20guard,\x20so\x20one\x20instance\x20serves\x20both\x20callers.\x20Instantiable\x20form\x20of\x20the\x20global-ota\x20checkout_gate\x20'+'design\x20(P1-3:\x20the\x20departure\x20date\x20is\x20not\x20on\x20chain,\x20so\x20nights\x20from\x20booking\x20is\x20the\x20zero-addition\x20anchor).','recommended_patterns':['P06','P10','P16'],'parameters':[{'name':'service_name','type':'string','description':'Service\x20object\x20name\x20(circular\x20ref\x20via\x20P16\x20—\x20resolved\x20after\x20Service\x20publish)','required':!![],'constraint':'Must\x20be\x20a\x20name,\x20not\x20an\x20address\x20(the\x20Service\x20is\x20not\x20yet\x20published\x20when\x20the\x20Guard\x20is\x20created)'},{'name':'stay_nights','type':'number','description':'Fallback\x20lock\x20length\x20in\x20nights,\x20measured\x20from\x20order.time\x20(booking\x20moment)','required':!![],'constraint':'Plain\x20number\x20of\x20nights\x20—\x20the\x20template\x20converts\x20to\x20ms\x20(x\x2086400000).\x20A\x20faithful\x20per-stay\x20anchor\x20rides\x20a\x20stay-date\x20Repository\x20row'}],'example_table':[{'identifier':0xfe,'b_submission':!![],'value_type':'Address','object_type':'Order','name':'task_binding\x20order\x20anchor\x20(protocol\x20slot\x20254;\x20written\x20by\x20order\x20creation)'},{'identifier':0x1,'b_submission':![],'value_type':'Address','value':'${service_name}','name':'Service\x20object\x20(project\x20binding,\x20circular\x20ref\x20via\x20name)'},{'identifier':0x2,'b_submission':![],'value_type':'U64','value':'${stay_nights}','name':'Fallback\x20lock\x20length\x20in\x20nights\x20(booking-time\x20anchor)'},{'identifier':0x3,'b_submission':![],'value_type':'U64','value':0x5265c00,'name':'Nights-to-milliseconds\x20constant'}],'example_root':{'type':'logic_or','nodes':[{'type':'logic_and','nodes':[{'type':'logic_or','nodes':[{'type':'logic_equal','nodes':[{'type':'query','query':'order.owner','object':{'identifier':0xfe},'parameters':[]},{'type':'context','context':'Signer'}]},{'type':'query','query':'order.agent\x20has','object':{'identifier':0xfe},'parameters':[{'type':'context','context':'Signer'}]}]},{'type':'logic_equal','nodes':[{'type':'query','query':'order.service','object':{'identifier':0xfe},'parameters':[]},{'type':'identifier','identifier':0x1}]}]},{'type':'logic_and','nodes':[{'type':'logic_as_u256_greater_or_equal','nodes':[{'type':'context','context':'Clock'},{'type':'calc_number_add','nodes':[{'type':'query','query':'order.time','object':{'identifier':0xfe},'parameters':[]},{'type':'calc_number_multiply','nodes':[{'type':'identifier','identifier':0x2},{'type':'identifier','identifier':0x3}]}]}]},{'type':'logic_equal','nodes':[{'type':'query','query':'order.service','object':{'identifier':0xfe},'parameters':[]},{'type':'identifier','identifier':0x1}]}]}]},'applicable_industries':['travel','rental','ecommerce'],'relevant_risks':['R-C3-01','R-C3-05','R-C4-04'],'creation_notes':['WHY\x20THE\x20OR\x20(anti-strand):\x20a\x20pure\x20identity\x20gate\x20needs\x20the\x20buyer\x20to\x20come\x20back\x20—\x20a\x20buyer\x20who\x20never\x20confirms\x20check-out\x20deadlocks\x20the\x20escrow\x20in_stay\x20with\x20no\x20rail\x20out\x20(FUND-EXIT-01).\x20The\x20time-fallback\x20leg\x20gives\x20the\x20keeper\x20the\x20same\x20advance\x20once\x20the\x20stay\x20window\x20has\x20plausibly\x20elapsed.\x20The\x20buyer\x20leg\x20runs\x20FIRST\x20on\x20the\x20edge\x20(namedOperator\x20check),\x20the\x20keeper\x20leg\x20rides\x20the\x20permission\x20rail\x20—\x20with\x20namedOperator\x20\x22\x22\x20the\x20permission\x20layer\x20passes\x20for\x20anyone,\x20so\x20BOTH\x20legs\x20stay\x20gated\x20here.','LEG\x20PAIRING\x20ON\x20THE\x20EDGE\x20(bkng\x20F23\x20nuance):\x20this\x20guard\x20is\x20designed\x20for\x20an\x20edge\x20whose\x20operator\x20is\x20order_payer\x20—\x20the\x20identity\x20layer\x20(empty\x20namedOperator)\x20and\x20the\x20buyer\x20leg\x20coincide,\x20while\x20the\x20time\x20leg\x20covers\x20the\x20absent-buyer\x20case.\x20On\x20a\x20permissionIndex\x20edge\x20the\x20buyer\x20leg\x20is\x20unreachable\x20and\x20only\x20the\x20fallback\x20can\x20ever\x20fire\x20—\x20acceptable\x20only\x20when\x20the\x20buyer\x20advance\x20is\x20not\x20part\x20of\x20the\x20design.','FALLBACK\x20LATENCY:\x20the\x20anchor\x20is\x20order.time\x20(BOOKING),\x20so\x20lead\x20time\x20shifts\x20the\x20fallback\x20late\x20—\x20the\x20keeper\x20may\x20release\x20days\x20after\x20the\x20actual\x20departure\x20for\x20short-notice\x20bookings.\x20Tighten\x20with\x20the\x20stay-date\x20Repository\x20row\x20prescription\x20when\x20the\x20business\x20needs\x20the\x20real\x20date\x20(STAY-DATE\x20CORE).','T10\x20HIJACK\x20ANCHOR:\x20the\x20identity\x20legs\x20read\x20slot\x20254\x20(see\x20tpl_forward_order_holder)\x20—\x20never\x20a\x20free\x20submission\x20slot.',PROTOCOL_SLOT_254_NOTE],'example_use_case':'OTA\x20checkout:\x20the\x20in_stay\x20->\x20completed\x20forward\x20advances\x20for\x20the\x20returning\x20buyer\x20immediately,\x20or\x20for\x20'+'the\x20keeper\x20once\x20booking\x20+\x20nights\x20has\x20elapsed\x20—\x20the\x20escrow\x20never\x20strands\x20on\x20an\x20absent\x20buyer.','verifier_constraint_level':'level3_scene_combined'}];export function getTemplatesByScene(a){return GUARD_TEMPLATES['filter'](b=>b['scene_id']===a);}export function getTemplateById(a){return GUARD_TEMPLATES['find'](b=>b['id']===a);}export function getTemplatesByIndustry(a){return GUARD_TEMPLATES['filter'](b=>b['applicable_industries']['includes'](a));}export function getTemplatesByPattern(a){return GUARD_TEMPLATES['filter'](b=>b['recommended_patterns']['includes'](a));}export function listGuardTemplates(){return GUARD_TEMPLATES;}export function suggestTemplateForScene(a){return GUARD_TEMPLATES['find'](b=>b['scene_id']===a);}export function getTemplateParameters(a){const b=getTemplateById(a);return b?.['parameters']??[];}export function validateTemplateParams(a,b){const c=getTemplateById(a);if(!c)return{'valid':![],'missing':['template_not_found']};const d=c['parameters']['filter'](e=>e['required']&&e['default']===undefined&&!(e['name']in b))['map'](e=>e['name']);return{'valid':d['length']===0x0,'missing':d};}function deepSubstitute(a,b){if(typeof a==='string'){const c=a['match'](/^\$\{(\w+)\}$/);if(c&&c[0x1]in b)return b[c[0x1]];return a['replace'](/\$\{(\w+)\}/g,(d,e)=>e in b?String(b[e]):'${'+e+'}');}if(Array['isArray'](a))return a['map'](d=>deepSubstitute(d,b));if(a&&typeof a==='object'){const d={};for(const [e,f]of Object['entries'](a)){d[e]=deepSubstitute(f,b);}return d;}return a;}export function fillGuardTemplate(a,b){const c=getTemplateById(a);if(!c)return{'ok':![],'error':'Template\x20not\x20found:\x20'+a};const {valid:d,missing:e}=validateTemplateParams(a,b);if(!d)return{'ok':![],'error':'Missing\x20required\x20parameters:\x20'+e['join'](',\x20'),'missing':e};const f={...b};for(const o of c['parameters']){!(o['name']in f)&&o['default']!==undefined&&(f[o['name']]=o['default']);}for(const q of Object['keys'](f)){const r=f[q];if(typeof r==='string'){const s=r['match'](/^\$\{(\w+)\}$/);if(s&&s[0x1]!==q&&s[0x1]in f)f[q]=f[s[0x1]];}}const g=new Set();if(c['parameters']['some'](t=>t['name']==='rating_repository')){const t=f['rating_repository'],u=f['rating_floor'];(!t||t===''||String(u)==='0')&&(g['add']('rating_repository'),g['add']('rating_policy_name'),g['add']('rating_floor'));}if(c['parameters']['some'](w=>w['name']==='not_before_hours')){const w=f['not_before_hours'];(w===undefined||String(w)===''||String(w)==='0')&&(g['add']('not_before_hours'),g['add']('not_before_ms'));}let h=c['example_table'],i=c['example_root'];if(g['size']>0x0){const x=C=>typeof C==='string'&&[...g]['some'](D=>C['includes']('${'+D+'}'));h=c['example_table']['filter'](C=>!Object['values'](C)['some'](x));const y=new Set(h['map'](C=>C['identifier'])),A=C=>{if(Array['isArray'](C))return C['some'](A);if(C&&typeof C==='object'){const D=C;if(D['type']==='identifier'&&!y['has'](D['identifier']))return!![];return Object['values'](D)['some'](A);}return![];},B=c['example_root'];if(Array['isArray'](B['nodes']))i={...B,'nodes':B['nodes']['filter'](C=>!A(C))};else B['node']!==undefined&&A(B['node'])&&(i={});}const j=deepSubstitute(h,f),l=deepSubstitute(i,f),n=JSON['stringify']({'table':j,'root':l})['match'](/\$\{(\w+)\}/);if(n)return{'ok':![],'error':'Unresolved\x20placeholder\x20${'+n[0x1]+'}\x20—\x20not\x20declared\x20in\x20template\x20parameters'};return{'ok':!![],'table':j,'root':l};}import{z}from'zod';const GuardTemplateParamSchema=z['object']({'name':z['string']()['min'](0x1),'type':z['enum'](['address','string','number','boolean','vec_address']),'description':z['string']()['min'](0x1),'required':z['boolean'](),'default':z['string']()['optional'](),'constraint':z['string']()['optional']()})['strict'](),GuardTemplateSchema=z['object']({'id':z['string']()['regex'](/^tpl_[a-z0-9_]+$/,'guard\x20template\x20id\x20must\x20be\x20\x27tpl_*\x27'),'scene_id':z['string']()['min'](0x1),'name':z['string']()['min'](0x1),'description':z['string']()['min'](0x1),'recommended_patterns':z['array'](z['string']()['min'](0x1)),'parameters':z['array'](GuardTemplateParamSchema),'example_table':z['array'](z['record'](z['string'](),z['unknown']())),'example_root':z['record'](z['string'](),z['unknown']()),'applicable_industries':z['array'](z['string']()['min'](0x1)),'relevant_risks':z['array'](z['string']()['min'](0x1)),'creation_notes':z['array'](z['string']()['min'](0x1)),'example_use_case':z['string']()['min'](0x1),'verifier_constraint_level':z['enum'](['level1_strict','level2_identity_set','level3_scene_combined'])['optional']()})['strict']();function validateGuardTemplates(){for(const a of GUARD_TEMPLATES){const b=GuardTemplateSchema['safeParse'](a);if(!b['success']){const f=b['error']['issues']['map'](g=>'\x20\x20'+g['path']['join']('.')+':\x20'+g['message'])['join']('\x0a');throw new Error('[guard-templates]\x20\x27'+a['id']+'\x27\x20fails\x20schema\x20validation:\x0a'+f+'\x0a'+'Fix\x20the\x20entry\x20—\x20the\x20schema\x20is\x20the\x20single\x20source\x20of\x20truth\x20for\x20guard-template\x20validity.');}const c=new Set(a['parameters']['map'](g=>g['name'])),d=JSON['stringify']({'table':a['example_table'],'root':a['example_root']}),e=new Set([...d['matchAll'](/\$\{(\w+)\}/g)]['map'](g=>g[0x1]));for(const g of e){if(!c['has'](g))throw new Error('[guard-templates]\x20\x27'+a['id']+'\x27\x20references\x20${'+g+'}\x20in\x20example_table/example_root\x20'+('but\x20\x27'+g+'\x27\x20is\x20not\x20declared\x20in\x20parameters\x20—\x20fillGuardTemplate\x20would\x20leave\x20it\x20unresolved.'));}}}validateGuardTemplates();export const GUARD_TEMPLATES_VERSION='1.15.0';export const GUARD_TEMPLATES_COUNT=GUARD_TEMPLATES['length'];