@wowok/agent-mcp 3.4.4 → 3.4.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (191) hide show
  1. package/dist/.build-stamp.json +3 -3
  2. package/dist/chain-semantics/composition-truth.js +1 -1
  3. package/dist/composition/audit.js +1 -1
  4. package/dist/composition/compile.js +1 -1
  5. package/dist/composition/emit-phases.js +1 -1
  6. package/dist/composition/guard-fill.js +1 -1
  7. package/dist/composition/input-normalize.js +1 -1
  8. package/dist/composition/materialize.js +1 -1
  9. package/dist/composition/mode-gates.js +1 -1
  10. package/dist/composition/param-disclosure.js +1 -1
  11. package/dist/composition/plan-run-store.js +1 -0
  12. package/dist/composition/reflux.js +1 -1
  13. package/dist/composition/role-bindings.js +1 -0
  14. package/dist/composition/shape-expand.js +1 -1
  15. package/dist/composition/supply-chain-emit.js +1 -1
  16. package/dist/config/judgment.d.ts +13 -25
  17. package/dist/config/judgment.js +1 -1
  18. package/dist/config/match-policy-file.js +1 -1
  19. package/dist/config/rule-engine.d.ts +4 -10
  20. package/dist/config/rule-engine.js +1 -1
  21. package/dist/config/template-params.js +1 -1
  22. package/dist/evaluation/engine.js +1 -1
  23. package/dist/experience/realtime-feedback.js +1 -1
  24. package/dist/extensions/capability.js +1 -1
  25. package/dist/graph/onchain/expand.js +1 -1
  26. package/dist/graph/onchain/exposure.js +1 -1
  27. package/dist/harness/forward-roster-preflight.js +1 -0
  28. package/dist/keeper/detectors.js +1 -1
  29. package/dist/knowledge/allocator-rail-verifier.js +1 -1
  30. package/dist/knowledge/arb-operation-face.js +1 -1
  31. package/dist/knowledge/arbitration-rail-verifier.js +1 -1
  32. package/dist/knowledge/audit-rules.d.ts +17 -1
  33. package/dist/knowledge/audit-rules.js +1 -1
  34. package/dist/knowledge/baselines/rules/alloc_audit.json.good.sha256 +1 -0
  35. package/dist/knowledge/baselines/rules/allocation.json.good.sha256 +1 -0
  36. package/dist/knowledge/baselines/rules/arb.json.good.sha256 +1 -0
  37. package/dist/knowledge/baselines/rules/arbitration.json.good.sha256 +1 -0
  38. package/dist/knowledge/baselines/rules/bridge.json.good.sha256 +1 -0
  39. package/dist/knowledge/baselines/rules/contact.json.good.sha256 +1 -0
  40. package/dist/knowledge/baselines/rules/demand.json.good.sha256 +1 -0
  41. package/dist/knowledge/baselines/rules/graph.json.good.sha256 +1 -0
  42. package/dist/knowledge/baselines/rules/guard.json.good.sha256 +1 -0
  43. package/dist/knowledge/baselines/rules/machine.json.good.sha256 +1 -0
  44. package/dist/knowledge/baselines/rules/oracle.json.good.sha256 +1 -0
  45. package/dist/knowledge/baselines/rules/order.json.good.sha256 +1 -0
  46. package/dist/knowledge/baselines/rules/payment.json.good.sha256 +1 -0
  47. package/dist/knowledge/baselines/rules/permission.json.good.sha256 +1 -0
  48. package/dist/knowledge/baselines/rules/personal.json.good.sha256 +1 -0
  49. package/dist/knowledge/baselines/rules/plan.json +153 -33
  50. package/dist/knowledge/baselines/rules/plan.json.good +153 -33
  51. package/dist/knowledge/baselines/rules/plan.json.good.sha256 +1 -0
  52. package/dist/knowledge/baselines/rules/progress.json.good.sha256 +1 -0
  53. package/dist/knowledge/baselines/rules/proof.json.good.sha256 +1 -0
  54. package/dist/knowledge/baselines/rules/registrar.json.good.sha256 +1 -0
  55. package/dist/knowledge/baselines/rules/repository.json.good.sha256 +1 -0
  56. package/dist/knowledge/baselines/rules/resource.json.good.sha256 +1 -0
  57. package/dist/knowledge/baselines/rules/reward.json.good.sha256 +1 -0
  58. package/dist/knowledge/baselines/rules/service.json.good.sha256 +1 -0
  59. package/dist/knowledge/baselines/rules/treasury.json.good.sha256 +1 -0
  60. package/dist/knowledge/baselines/rules/util.json.good.sha256 +1 -0
  61. package/dist/knowledge/builtin-templates.d.ts +1 -1
  62. package/dist/knowledge/builtin-templates.js +1 -1
  63. package/dist/knowledge/discount-threshold.js +1 -1
  64. package/dist/knowledge/fee-param-bindings.js +1 -1
  65. package/dist/knowledge/getting-started.js +1 -1
  66. package/dist/knowledge/guard-binding-table.js +1 -1
  67. package/dist/knowledge/guard-design-patterns.js +1 -1
  68. package/dist/knowledge/guard-templates.d.ts +3 -2
  69. package/dist/knowledge/guard-templates.js +1 -1
  70. package/dist/knowledge/index.js +1 -1
  71. package/dist/knowledge/industry-registry.js +1 -1
  72. package/dist/knowledge/jsonrpc-enum.js +1 -1
  73. package/dist/knowledge/knob-docs.js +1 -1
  74. package/dist/knowledge/machine-topology.js +1 -1
  75. package/dist/knowledge/param-schema.js +1 -1
  76. package/dist/knowledge/param-tiers.js +1 -1
  77. package/dist/knowledge/path-oracle/products/alibaba-1688.js +1 -1
  78. package/dist/knowledge/path-oracle/products/amazon.js +1 -1
  79. package/dist/knowledge/path-oracle/products/booking-com.js +1 -1
  80. package/dist/knowledge/path-oracle/products/contra.js +1 -1
  81. package/dist/knowledge/path-oracle/products/costco.js +1 -1
  82. package/dist/knowledge/path-oracle/products/duoduo-maicai.js +1 -1
  83. package/dist/knowledge/path-oracle/products/etsy.js +1 -1
  84. package/dist/knowledge/path-oracle/products/gamefound.js +1 -1
  85. package/dist/knowledge/path-oracle/products/gofundme.js +1 -1
  86. package/dist/knowledge/path-oracle/products/klook.js +1 -1
  87. package/dist/knowledge/path-oracle/products/ninety-nine-designs.js +1 -1
  88. package/dist/knowledge/path-oracle/products/pinduoduo-kuaituantuan.js +1 -1
  89. package/dist/knowledge/path-oracle/products/shansong.js +1 -1
  90. package/dist/knowledge/path-oracle/products/taobao-presale.js +1 -1
  91. package/dist/knowledge/path-oracle/products/upwork-catalog.js +1 -1
  92. package/dist/knowledge/path-oracle/products/upwork.js +1 -1
  93. package/dist/knowledge/pattern-resolutions.js +1 -1
  94. package/dist/knowledge/protocol-facts.js +1 -1
  95. package/dist/knowledge/publish-gate.js +1 -1
  96. package/dist/knowledge/publish-surface-contract.js +1 -1
  97. package/dist/knowledge/template-loader.js +1 -1
  98. package/dist/knowledge/template-registry.js +1 -1
  99. package/dist/knowledge/template-scanner.js +1 -1
  100. package/dist/knowledge/time-units.js +1 -0
  101. package/dist/knowledge/tools-reference.js +1 -1
  102. package/dist/knowledge/workflow-guidance.js +1 -1
  103. package/dist/monitor/MonitorLoop.js +1 -1
  104. package/dist/participation/radar-core.js +1 -1
  105. package/dist/playbooks/service-build/business-puzzle.js +1 -1
  106. package/dist/playbooks/service-build/machine-panorama.js +1 -1
  107. package/dist/playbooks/service-build/merchant-guide.js +1 -1
  108. package/dist/playbooks/service-build/migration-planner.js +1 -1
  109. package/dist/playbooks/service-build/object-panorama.js +1 -1
  110. package/dist/playbooks/service-build/participation-radar.js +1 -1
  111. package/dist/playbooks/service-build/relationship-profile.js +1 -1
  112. package/dist/playbooks/service-build/service-panorama.js +1 -1
  113. package/dist/playbooks/service-build/service-quote.js +1 -1
  114. package/dist/review/index.js +1 -1
  115. package/dist/safety/confirm-gate.js +1 -1
  116. package/dist/schema/benchmark-migration/index.d.ts +110 -2
  117. package/dist/schema/benchmark-migration/index.js +1 -1
  118. package/dist/schema/boundary-coercion.js +1 -0
  119. package/dist/schema/call/arbitration.js +1 -1
  120. package/dist/schema/call/base.js +1 -1
  121. package/dist/schema/call/handler.js +1 -1
  122. package/dist/schema/call/machine.d.ts +56 -8
  123. package/dist/schema/call/order.d.ts +37 -10
  124. package/dist/schema/call/order.js +1 -1
  125. package/dist/schema/call/permission.d.ts +210 -30
  126. package/dist/schema/call/personal.d.ts +56 -8
  127. package/dist/schema/call/progress.d.ts +28 -4
  128. package/dist/schema/call/semantic.js +1 -1
  129. package/dist/schema/call/service.d.ts +84 -12
  130. package/dist/schema/common/index.d.ts +14 -2
  131. package/dist/schema/common/index.js +1 -1
  132. package/dist/schema/evaluation/index.js +1 -1
  133. package/dist/schema/goal/index.d.ts +1 -1
  134. package/dist/schema/goal/planning.js +1 -1
  135. package/dist/schema/local/index.js +1 -1
  136. package/dist/schema/messenger/index.d.ts +168 -24
  137. package/dist/schema/messenger/index.js +1 -1
  138. package/dist/schema/operations.d.ts +655 -22
  139. package/dist/schema/operations.js +1 -1
  140. package/dist/schema/persona/index.d.ts +22 -110
  141. package/dist/schema/query/index.js +1 -1
  142. package/dist/schema/schema-version.js +1 -1
  143. package/dist/schema/workflow/index.d.ts +4 -0
  144. package/dist/schema/workflow/index.js +1 -1
  145. package/dist/schema-query-impl/index.js +1 -1
  146. package/dist/schemas/benchmark_migration_operation.schema.json +1 -1
  147. package/dist/schemas/evaluation_operation.schema.json +1 -1
  148. package/dist/schemas/goal_operation.schema.json +1 -1
  149. package/dist/schemas/guard_rebind_replacement.schema.json +1 -0
  150. package/dist/schemas/index.json +1 -1
  151. package/dist/schemas/messenger_operation.schema.json +1 -1
  152. package/dist/schemas/onchain_operations.schema.json +1 -1
  153. package/dist/schemas/onchain_operations_allocation.schema.json +1 -1
  154. package/dist/schemas/onchain_operations_arbitration.schema.json +1 -1
  155. package/dist/schemas/onchain_operations_contact.schema.json +1 -1
  156. package/dist/schemas/onchain_operations_demand.schema.json +1 -1
  157. package/dist/schemas/onchain_operations_gen_passport.schema.json +1 -1
  158. package/dist/schemas/onchain_operations_machine.schema.json +1 -1
  159. package/dist/schemas/onchain_operations_order.schema.json +1 -1
  160. package/dist/schemas/onchain_operations_permission.schema.json +1 -1
  161. package/dist/schemas/onchain_operations_personal.schema.json +1 -1
  162. package/dist/schemas/onchain_operations_progress.schema.json +1 -1
  163. package/dist/schemas/onchain_operations_proof.schema.json +1 -1
  164. package/dist/schemas/onchain_operations_repository.schema.json +1 -1
  165. package/dist/schemas/onchain_operations_reward.schema.json +1 -1
  166. package/dist/schemas/onchain_operations_service.schema.json +1 -1
  167. package/dist/schemas/onchain_operations_treasury.schema.json +1 -1
  168. package/dist/schemas/persona_operation.schema.json +1 -1
  169. package/dist/schemas/time_convert.schema.json +1 -0
  170. package/dist/schemas/wip_file.schema.json +1 -1
  171. package/dist/schemas/workflow_operation.schema.json +1 -1
  172. package/dist/tools/handlers/benchmark-migration.js +1 -1
  173. package/dist/tools/handlers/config.js +1 -1
  174. package/dist/tools/handlers/fund-rail-recipe.js +1 -1
  175. package/dist/tools/handlers/guard-rebind-replacement.js +1 -0
  176. package/dist/tools/handlers/local.js +1 -1
  177. package/dist/tools/handlers/mark-namespace.js +1 -1
  178. package/dist/tools/handlers/onchain.js +1 -1
  179. package/dist/tools/handlers/query.js +1 -1
  180. package/dist/tools/handlers/settle-sweep.js +1 -1
  181. package/dist/tools/handlers/time-convert.js +1 -0
  182. package/dist/tools/handlers/wip.js +1 -1
  183. package/dist/tools/handlers/workflow.js +1 -1
  184. package/dist/tools/index.d.ts +1 -0
  185. package/dist/tools/index.js +1 -1
  186. package/dist/tools/registry/business.js +1 -1
  187. package/dist/tools/registry/local.js +1 -1
  188. package/dist/tools/registry/onchain.js +1 -1
  189. package/dist/tools/wip-verify-ledger.js +1 -1
  190. package/dist/tools/wrap.js +1 -1
  191. package/package.json +6 -5
@@ -1 +1 @@
1
- {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://wowok.net/schemas/evaluation_operation.json","title":"Evaluation - Pluggable Business Intelligence","description":"Run pluggable business evaluations (data sources + rules + user injection). Actions: arb_game (Arb 7-state best-move), node_game (Progress node best-move), capability_gap (demand-vs-service capability gaps), compose_service (combine services to cover a demand), demand_match (rank services for a demand), service_match (rank demands for a service). Read-only — returns ranked recommendations / scores with reasoning.","oneOf":[{"type":"object","properties":{"action":{"type":"string","const":"arb_game"},"status":{"type":"string","enum":["Principal_confirming","Arbitrator_confirming","Voting","Arbitrated","Objectionable","Finished","Withdrawn"]},"perspective":{"type":"string","enum":["customer","merchant","arbitrator"]},"appetite":{"description":"Risk appetite — adjusts risk sensitivity (conservative amplifies risk).","type":"string","enum":["conservative","balanced","aggressive"]},"account":{"description":"Account address; its persona's risk_appetite is used as the default appetite.","type":"string"},"requirements":{"description":"Persona red lines that re-anchor the role's prefer/avoid (persona drivers).","type":"array","items":{"type":"string"}}},"required":["action","status","perspective"],"additionalProperties":false},{"type":"object","properties":{"action":{"type":"string","const":"node_game"},"current_node":{"type":"string"},"perspective":{"type":"string","enum":["merchant","customer","demander","prospect","supplier","collaborator","arbitrator"]},"appetite":{"description":"Risk appetite — adjusts risk sensitivity (conservative amplifies risk).","type":"string","enum":["conservative","balanced","aggressive"]},"account":{"description":"Account address; its persona's risk_appetite is used as the default appetite.","type":"string"},"threshold":{"description":"Pair threshold — when > 1, multi-role cooperation is needed to advance.","type":"integer","minimum":1,"maximum":9007199254740991},"allocation":{"description":"Allocation waterfall — how funds split after the node advances.","type":"object","properties":{"recipient_slots":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Total recipient slots across allocators."},"guard_gated_slots":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Slots resolved at settlement by a Guard."},"direct_to_me_slots":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Slots paying directly to this role."},"to_payer_slots":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Slots routing back to the payer (refund-oriented)."}},"required":["recipient_slots","guard_gated_slots","direct_to_me_slots","to_payer_slots"],"additionalProperties":false},"requirements":{"description":"Persona red lines that re-anchor the role's prefer/avoid (persona drivers).","type":"array","items":{"type":"string"}},"order_amount":{"description":"Escrowed order amount (smallest-unit string) — the monetary stake at this node (quantified).","type":"string"},"compensation_fund":{"description":"Merchant compensation_fund (smallest-unit string) — the monetary risk exposure backing indemnity.","type":"string"},"operable":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"Forward (operation) name."},"to_node":{"type":"string","description":"Target node after execution."},"execution_path":{"type":"string","enum":["order_holder","permission","named_operator","not_available"],"description":"How the account may execute it."},"guard":{"description":"Guard address gating this forward.","type":"string"},"consequence":{"description":"Consequence hint (completion/refund path).","type":"string"},"weight":{"description":"Forward weight (accumulates toward the pair's threshold).","type":"number"}},"required":["name","to_node","execution_path"],"additionalProperties":false}},"waiting_on":{"type":"array","items":{"type":"object","properties":{"role":{"type":"string"},"forwards":{"type":"array","items":{"type":"string"}}},"required":["role","forwards"],"additionalProperties":false}}},"required":["action","current_node","perspective","operable"],"additionalProperties":false},{"type":"object","properties":{"action":{"type":"string","const":"capability_gap"},"demand":{"type":"object","properties":{"id":{"type":"string","description":"Service/Demand address."},"kind":{"type":"string","enum":["service","demand"],"description":"Whether this is a service or demand."},"owner":{"type":"string"},"industry":{"type":"string","pattern":"^[a-z][a-z0-9_]*$","description":"Industry scenario."},"industry_confidence":{"type":"number","minimum":0,"maximum":1},"region":{"type":"object","properties":{"mode":{"type":"string","enum":["remote","physical"]},"country":{"type":"string"},"province":{"type":"string"},"city":{"type":"string"},"raw":{"type":"string","description":"Original location string (for traceability)."}},"required":["mode","raw"],"additionalProperties":false},"price_min":{"description":"Smallest-unit amount (string to avoid JSON bigint loss).","type":"string"},"price_max":{"description":"Smallest-unit amount (string to avoid JSON bigint loss).","type":"string"},"token_type":{"type":"string"},"ticket_size":{"type":"string","enum":["micro","small","medium","large"]},"trust_score":{"type":"number","minimum":0,"maximum":100},"reputation_like_ratio":{"type":"number","minimum":0,"maximum":1},"arbitration_independent":{"type":"boolean"},"merchant_history_count":{"type":"integer","minimum":0,"maximum":9007199254740991},"capabilities":{"type":"object","properties":{"has_arbitration":{"type":"boolean"},"has_refund_path":{"type":"boolean"},"has_milestone_nodes":{"type":"boolean"},"has_compensation_fund":{"type":"boolean"},"has_wip_verification":{"type":"boolean"},"has_messenger":{"type":"boolean"},"has_buy_guard":{"type":"boolean"},"has_dynamic_pricing":{"type":"boolean"},"is_published":{"type":"boolean"},"is_paused":{"type":"boolean"}},"required":["has_arbitration","has_refund_path","has_milestone_nodes","has_compensation_fund","has_wip_verification","has_messenger","has_buy_guard","has_dynamic_pricing","is_published","is_paused"],"additionalProperties":false},"tags":{"type":"array","items":{"type":"string"}},"keywords":{"type":"array","items":{"type":"string"}}},"required":["id","kind","industry","region","capabilities"],"additionalProperties":false},"service":{"type":"object","properties":{"id":{"type":"string","description":"Service/Demand address."},"kind":{"type":"string","enum":["service","demand"],"description":"Whether this is a service or demand."},"owner":{"type":"string"},"industry":{"type":"string","pattern":"^[a-z][a-z0-9_]*$","description":"Industry scenario."},"industry_confidence":{"type":"number","minimum":0,"maximum":1},"region":{"type":"object","properties":{"mode":{"type":"string","enum":["remote","physical"]},"country":{"type":"string"},"province":{"type":"string"},"city":{"type":"string"},"raw":{"type":"string","description":"Original location string (for traceability)."}},"required":["mode","raw"],"additionalProperties":false},"price_min":{"description":"Smallest-unit amount (string to avoid JSON bigint loss).","type":"string"},"price_max":{"description":"Smallest-unit amount (string to avoid JSON bigint loss).","type":"string"},"token_type":{"type":"string"},"ticket_size":{"type":"string","enum":["micro","small","medium","large"]},"trust_score":{"type":"number","minimum":0,"maximum":100},"reputation_like_ratio":{"type":"number","minimum":0,"maximum":1},"arbitration_independent":{"type":"boolean"},"merchant_history_count":{"type":"integer","minimum":0,"maximum":9007199254740991},"capabilities":{"type":"object","properties":{"has_arbitration":{"type":"boolean"},"has_refund_path":{"type":"boolean"},"has_milestone_nodes":{"type":"boolean"},"has_compensation_fund":{"type":"boolean"},"has_wip_verification":{"type":"boolean"},"has_messenger":{"type":"boolean"},"has_buy_guard":{"type":"boolean"},"has_dynamic_pricing":{"type":"boolean"},"is_published":{"type":"boolean"},"is_paused":{"type":"boolean"}},"required":["has_arbitration","has_refund_path","has_milestone_nodes","has_compensation_fund","has_wip_verification","has_messenger","has_buy_guard","has_dynamic_pricing","is_published","is_paused"],"additionalProperties":false},"tags":{"type":"array","items":{"type":"string"}},"keywords":{"type":"array","items":{"type":"string"}}},"required":["id","kind","industry","region","capabilities"],"additionalProperties":false}},"required":["action","demand","service"],"additionalProperties":false},{"type":"object","properties":{"action":{"type":"string","const":"compose_service"},"demand":{"type":"object","properties":{"id":{"type":"string","description":"Service/Demand address."},"kind":{"type":"string","enum":["service","demand"],"description":"Whether this is a service or demand."},"owner":{"type":"string"},"industry":{"type":"string","pattern":"^[a-z][a-z0-9_]*$","description":"Industry scenario."},"industry_confidence":{"type":"number","minimum":0,"maximum":1},"region":{"type":"object","properties":{"mode":{"type":"string","enum":["remote","physical"]},"country":{"type":"string"},"province":{"type":"string"},"city":{"type":"string"},"raw":{"type":"string","description":"Original location string (for traceability)."}},"required":["mode","raw"],"additionalProperties":false},"price_min":{"description":"Smallest-unit amount (string to avoid JSON bigint loss).","type":"string"},"price_max":{"description":"Smallest-unit amount (string to avoid JSON bigint loss).","type":"string"},"token_type":{"type":"string"},"ticket_size":{"type":"string","enum":["micro","small","medium","large"]},"trust_score":{"type":"number","minimum":0,"maximum":100},"reputation_like_ratio":{"type":"number","minimum":0,"maximum":1},"arbitration_independent":{"type":"boolean"},"merchant_history_count":{"type":"integer","minimum":0,"maximum":9007199254740991},"capabilities":{"type":"object","properties":{"has_arbitration":{"type":"boolean"},"has_refund_path":{"type":"boolean"},"has_milestone_nodes":{"type":"boolean"},"has_compensation_fund":{"type":"boolean"},"has_wip_verification":{"type":"boolean"},"has_messenger":{"type":"boolean"},"has_buy_guard":{"type":"boolean"},"has_dynamic_pricing":{"type":"boolean"},"is_published":{"type":"boolean"},"is_paused":{"type":"boolean"}},"required":["has_arbitration","has_refund_path","has_milestone_nodes","has_compensation_fund","has_wip_verification","has_messenger","has_buy_guard","has_dynamic_pricing","is_published","is_paused"],"additionalProperties":false},"tags":{"type":"array","items":{"type":"string"}},"keywords":{"type":"array","items":{"type":"string"}}},"required":["id","kind","industry","region","capabilities"],"additionalProperties":false},"services":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Service/Demand address."},"kind":{"type":"string","enum":["service","demand"],"description":"Whether this is a service or demand."},"owner":{"type":"string"},"industry":{"type":"string","pattern":"^[a-z][a-z0-9_]*$","description":"Industry scenario."},"industry_confidence":{"type":"number","minimum":0,"maximum":1},"region":{"type":"object","properties":{"mode":{"type":"string","enum":["remote","physical"]},"country":{"type":"string"},"province":{"type":"string"},"city":{"type":"string"},"raw":{"type":"string","description":"Original location string (for traceability)."}},"required":["mode","raw"],"additionalProperties":false},"price_min":{"description":"Smallest-unit amount (string to avoid JSON bigint loss).","type":"string"},"price_max":{"description":"Smallest-unit amount (string to avoid JSON bigint loss).","type":"string"},"token_type":{"type":"string"},"ticket_size":{"type":"string","enum":["micro","small","medium","large"]},"trust_score":{"type":"number","minimum":0,"maximum":100},"reputation_like_ratio":{"type":"number","minimum":0,"maximum":1},"arbitration_independent":{"type":"boolean"},"merchant_history_count":{"type":"integer","minimum":0,"maximum":9007199254740991},"capabilities":{"type":"object","properties":{"has_arbitration":{"type":"boolean"},"has_refund_path":{"type":"boolean"},"has_milestone_nodes":{"type":"boolean"},"has_compensation_fund":{"type":"boolean"},"has_wip_verification":{"type":"boolean"},"has_messenger":{"type":"boolean"},"has_buy_guard":{"type":"boolean"},"has_dynamic_pricing":{"type":"boolean"},"is_published":{"type":"boolean"},"is_paused":{"type":"boolean"}},"required":["has_arbitration","has_refund_path","has_milestone_nodes","has_compensation_fund","has_wip_verification","has_messenger","has_buy_guard","has_dynamic_pricing","is_published","is_paused"],"additionalProperties":false},"tags":{"type":"array","items":{"type":"string"}},"keywords":{"type":"array","items":{"type":"string"}}},"required":["id","kind","industry","region","capabilities"],"additionalProperties":false}}},"required":["action","demand","services"],"additionalProperties":false},{"type":"object","properties":{"action":{"type":"string","const":"compose_generation"},"intent":{"type":"string","minLength":1,"description":"K3-GA2 (G-A generator): the merchant's free-text business intent. Capability adoption is EVIDENCE-GATED — a module is adopted only by an intentSignals match on this text or an explicit `selections` entry; an intent that matches nothing is a blocker (COMPOSE-NO-CAPABILITY-EVIDENCE), never a silent default build."},"selections":{"description":"Merchant-confirmed capability ids (adopted regardless of signal match). List registered ids via industry_pack_operation action='capability_list'.","type":"array","items":{"type":"string"}},"supply_chain":{"description":"Cross-object/cross-Service procurement promises — compiled into money-gate steps on the generated plan and disclosed back under `supply_chain`.","type":"array","items":{"type":"object","properties":{"sub_service":{"type":"string","description":"The procured sub-Service: an on-chain address or a resolvable name."},"axis":{"type":"string","enum":["merchant_procured","user_procured"],"description":"Who owns the fulfilment order — decides which money-gate ties are expressible."},"service_name":{"description":"The host Service's own name (the money gate's host binding); omit = the generated plan's service step name.","type":"string"},"done_node":{"type":"string","description":"The node whose arrival makes the order settle-eligible (e.g. 'completed')."},"done_node_alt":{"description":"A further settle-eligible node.","type":"string"},"done_node_alt2":{"description":"A further settle-eligible node.","type":"string"},"form":{"description":"How the fulfilment fact reaches the host order's money gate (default 'rendezvous' — the only form that proves the pairing).","type":"string","enum":["rendezvous","submission"]},"fact_key":{"description":"Policy key of the forward fulfilment row (default 'fulfilment').","type":"string"},"ack_key":{"description":"Policy key of the buyer acknowledgement (default '<fact_key>_ack').","type":"string"},"ack_window_days":{"description":"merchant_procured only: after this many days the buyer's silence counts as acknowledgement.","type":"integer","minimum":1,"maximum":9007199254740991},"payout_to":{"description":"The fulfilment party's payout address. Absent = no third-party rail.","type":"string"},"payout_rate":{"description":"Basis points of the settlement rail paid to payout_to (default 10000).","type":"integer","minimum":1,"maximum":10000},"repository":{"description":"An existing rendezvous Repository name; one is created when omitted.","type":"string"},"repository_name":{"description":"The name a CREATED rendezvous Repository takes (default '<host>_<sub>_ledger').","type":"string"},"service_step_id":{"description":"Step id of the host Service in the plan being built (default 'service').","type":"string"},"id_prefix":{"description":"Step-id prefix for the emitted objects (default 'sc').","type":"string"}},"required":["sub_service","axis","done_node"],"additionalProperties":false}},"inputs":{"description":"Compile inputs; omitted = the carrier template's own defaults. Minimal honest sellable surface for the pilot carriers: { sales: [{ price: <smallest-unit integer> }] } (+ reward_funding when the carrier pays a review reward) — a plan without a sellable SKU fails reflux audit (PLAN-SALES-01) and comes back infeasible.","type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"name_base":{"description":"Object name base; omit = the carrier template id ('/' -> '_').","type":"string"},"preferred_chain":{"description":"Preferred pilot chain when the adopted set maps onto BOTH pilot chains (e.g. 'chain.data_subscription'); otherwise the first matching chain wins.","type":"string"}},"required":["action","intent"],"additionalProperties":false},{"type":"object","properties":{"action":{"type":"string","const":"demand_match"},"demand_cap":{"type":"object","properties":{"id":{"type":"string","description":"Service/Demand address."},"kind":{"type":"string","enum":["service","demand"],"description":"Whether this is a service or demand."},"owner":{"type":"string"},"industry":{"type":"string","pattern":"^[a-z][a-z0-9_]*$","description":"Industry scenario."},"industry_confidence":{"type":"number","minimum":0,"maximum":1},"region":{"type":"object","properties":{"mode":{"type":"string","enum":["remote","physical"]},"country":{"type":"string"},"province":{"type":"string"},"city":{"type":"string"},"raw":{"type":"string","description":"Original location string (for traceability)."}},"required":["mode","raw"],"additionalProperties":false},"price_min":{"description":"Smallest-unit amount (string to avoid JSON bigint loss).","type":"string"},"price_max":{"description":"Smallest-unit amount (string to avoid JSON bigint loss).","type":"string"},"token_type":{"type":"string"},"ticket_size":{"type":"string","enum":["micro","small","medium","large"]},"trust_score":{"type":"number","minimum":0,"maximum":100},"reputation_like_ratio":{"type":"number","minimum":0,"maximum":1},"arbitration_independent":{"type":"boolean"},"merchant_history_count":{"type":"integer","minimum":0,"maximum":9007199254740991},"capabilities":{"type":"object","properties":{"has_arbitration":{"type":"boolean"},"has_refund_path":{"type":"boolean"},"has_milestone_nodes":{"type":"boolean"},"has_compensation_fund":{"type":"boolean"},"has_wip_verification":{"type":"boolean"},"has_messenger":{"type":"boolean"},"has_buy_guard":{"type":"boolean"},"has_dynamic_pricing":{"type":"boolean"},"is_published":{"type":"boolean"},"is_paused":{"type":"boolean"}},"required":["has_arbitration","has_refund_path","has_milestone_nodes","has_compensation_fund","has_wip_verification","has_messenger","has_buy_guard","has_dynamic_pricing","is_published","is_paused"],"additionalProperties":false},"tags":{"type":"array","items":{"type":"string"}},"keywords":{"type":"array","items":{"type":"string"}}},"required":["id","kind","industry","region","capabilities"],"additionalProperties":false},"services":{"type":"array","items":{"type":"object","properties":{"object":{"type":"string","description":"Service object address."},"description":{"type":"string"},"location":{"type":"string"},"sales":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"price":{"type":"string","description":"Smallest-unit amount (string)."},"wip_hash":{"type":"string"}},"required":["price"],"additionalProperties":false}},"arbitrations":{"type":"array","items":{"type":"string"}},"compensation_fund":{"description":"Smallest-unit amount (string).","type":"string"},"buy_guard":{"anyOf":[{"type":"string"},{"type":"null"}]},"machine":{"anyOf":[{"type":"string"},{"type":"null"}]},"um":{"anyOf":[{"type":"string"},{"type":"null"}]},"bPublished":{"type":"boolean"},"bPaused":{"type":"boolean"},"owner":{"type":"string"},"order_allocators":{},"buyer_feedback":{"type":"object","properties":{"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"likes":{"type":"integer","minimum":0,"maximum":9007199254740991},"completed_orders":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["total","likes"],"additionalProperties":false},"rewards":{"type":"array","items":{"type":"object","properties":{"object":{"type":"string","description":"Reward object address."},"balance":{"description":"Pool balance, smallest-unit string (Balance<T> held on-chain).","type":"string"},"amount_mode":{"description":"fixed = amounts self-computable from the object; submission_computed = amounts resolve from the buyer's passport submission at payout time (not clamped on-chain).","type":"string","enum":["fixed","submission_computed"]},"expiration_ms":{"description":"Claim-window bound (guard expiration, ms-epoch string); null = no expiry read.","anyOf":[{"type":"string"},{"type":"null"}]}},"required":["object"],"additionalProperties":false}}},"required":["object","description","location"],"additionalProperties":false}},"demand_object":{"description":"F-RQ-06 (prescription ⑫): YOUR on-chain Demand object ID (or mark name). When supplied, the handler reads the demand LIVE (presenters_count) at match time and derives `next` from real state — a published demand never gets demand.publish advice again; without it, `next` stays the static publish template with a verify-or-supply precondition.","type":"string"},"presenter_history":{"type":"array","items":{"type":"object","properties":{"demand_id":{"description":"Demand object that received the presentation.","type":"string"},"presenter":{"description":"F-RQ-10: the presenter (service object address) this record is about — records carrying it become that service's counterparty trust evidence (the on-chain writer is the demand OWNER, so the signal cannot be self-authored by the merchant); omit for legacy global-only acceptance scoring.","type":"string"},"presenter_service":{"description":"tv8 F-28: the SERVICE object address the record is about (the value side of the on-chain DemandPresenter entry — the table key is the presenter ACCOUNT). Dual-domain matching accepts either this or `presenter`; chain-faithful readers fill BOTH.","type":"string"},"acceptance_score":{"anyOf":[{"type":"number"},{"type":"null"}],"description":"Demand owner's acceptance score (u8 on-chain, 0-100 scale). null = not yet rated."},"feedback_time":{"description":"Feedback timestamp (ms or s, informational only).","type":"number"}},"required":["acceptance_score"],"additionalProperties":false},"description":"P2-2: presenter acceptance history (demand-side acceptance_score backflow) for the SINGLE party being evaluated (e.g. the merchant behind the candidate service set, or the demand owner being matched). Collect via onchain_table_item_demand_presenter across that party's Demand presenter tables. When the candidate set spans multiple unrelated parties, evaluate per-party or omit — the acceptance rule scores neutral without history."},"injection":{"type":"object","properties":{"intent":{"description":"Free-text intent.","type":"string"},"preferences":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"requirements":{"description":"Hard red lines (block when violated).","type":"array","items":{"type":"object","properties":{"rule_id":{"type":"string"},"condition":{"type":"string","enum":["require","forbid"]},"note":{"type":"string"}},"required":["rule_id","condition"],"additionalProperties":false}},"overrides":{"description":"Enable/disable/reweight rules and data sources.","type":"object","properties":{"rules":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"object","properties":{"enabled":{"type":"boolean"},"weight":{"type":"number"}},"additionalProperties":false}},"data_sources":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"object","properties":{"enabled":{"type":"boolean"}},"additionalProperties":false}}},"additionalProperties":false}},"additionalProperties":false},"account":{"description":"Account address; its persona is auto-applied as the base injection (explicit injection overrides).","type":"string"}},"required":["action","demand_cap","services"],"additionalProperties":false},{"type":"object","properties":{"action":{"type":"string","const":"service_match"},"service_cap":{"type":"object","properties":{"id":{"type":"string","description":"Service/Demand address."},"kind":{"type":"string","enum":["service","demand"],"description":"Whether this is a service or demand."},"owner":{"type":"string"},"industry":{"type":"string","pattern":"^[a-z][a-z0-9_]*$","description":"Industry scenario."},"industry_confidence":{"type":"number","minimum":0,"maximum":1},"region":{"type":"object","properties":{"mode":{"type":"string","enum":["remote","physical"]},"country":{"type":"string"},"province":{"type":"string"},"city":{"type":"string"},"raw":{"type":"string","description":"Original location string (for traceability)."}},"required":["mode","raw"],"additionalProperties":false},"price_min":{"description":"Smallest-unit amount (string to avoid JSON bigint loss).","type":"string"},"price_max":{"description":"Smallest-unit amount (string to avoid JSON bigint loss).","type":"string"},"token_type":{"type":"string"},"ticket_size":{"type":"string","enum":["micro","small","medium","large"]},"trust_score":{"type":"number","minimum":0,"maximum":100},"reputation_like_ratio":{"type":"number","minimum":0,"maximum":1},"arbitration_independent":{"type":"boolean"},"merchant_history_count":{"type":"integer","minimum":0,"maximum":9007199254740991},"capabilities":{"type":"object","properties":{"has_arbitration":{"type":"boolean"},"has_refund_path":{"type":"boolean"},"has_milestone_nodes":{"type":"boolean"},"has_compensation_fund":{"type":"boolean"},"has_wip_verification":{"type":"boolean"},"has_messenger":{"type":"boolean"},"has_buy_guard":{"type":"boolean"},"has_dynamic_pricing":{"type":"boolean"},"is_published":{"type":"boolean"},"is_paused":{"type":"boolean"}},"required":["has_arbitration","has_refund_path","has_milestone_nodes","has_compensation_fund","has_wip_verification","has_messenger","has_buy_guard","has_dynamic_pricing","is_published","is_paused"],"additionalProperties":false},"tags":{"type":"array","items":{"type":"string"}},"keywords":{"type":"array","items":{"type":"string"}}},"required":["id","kind","industry","region","capabilities"],"additionalProperties":false},"demands":{"type":"array","items":{"type":"object","properties":{"object":{"type":"string","description":"Demand object address."},"description":{"type":"string"},"location":{"type":"string"},"rewards":{"type":"array","items":{"type":"string"}},"um":{"anyOf":[{"type":"string"},{"type":"null"}]},"owner":{"type":"string"}},"required":["object","description","location"],"additionalProperties":false}},"presenter_history":{"type":"array","items":{"type":"object","properties":{"demand_id":{"description":"Demand object that received the presentation.","type":"string"},"presenter":{"description":"F-RQ-10: the presenter (service object address) this record is about — records carrying it become that service's counterparty trust evidence (the on-chain writer is the demand OWNER, so the signal cannot be self-authored by the merchant); omit for legacy global-only acceptance scoring.","type":"string"},"presenter_service":{"description":"tv8 F-28: the SERVICE object address the record is about (the value side of the on-chain DemandPresenter entry — the table key is the presenter ACCOUNT). Dual-domain matching accepts either this or `presenter`; chain-faithful readers fill BOTH.","type":"string"},"acceptance_score":{"anyOf":[{"type":"number"},{"type":"null"}],"description":"Demand owner's acceptance score (u8 on-chain, 0-100 scale). null = not yet rated."},"feedback_time":{"description":"Feedback timestamp (ms or s, informational only).","type":"number"}},"required":["acceptance_score"],"additionalProperties":false},"description":"P2-2: presenter acceptance history (demand-side acceptance_score backflow) for the SINGLE party being evaluated (e.g. the merchant behind the candidate service set, or the demand owner being matched). Collect via onchain_table_item_demand_presenter across that party's Demand presenter tables. When the candidate set spans multiple unrelated parties, evaluate per-party or omit — the acceptance rule scores neutral without history."},"injection":{"type":"object","properties":{"intent":{"description":"Free-text intent.","type":"string"},"preferences":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"requirements":{"description":"Hard red lines (block when violated).","type":"array","items":{"type":"object","properties":{"rule_id":{"type":"string"},"condition":{"type":"string","enum":["require","forbid"]},"note":{"type":"string"}},"required":["rule_id","condition"],"additionalProperties":false}},"overrides":{"description":"Enable/disable/reweight rules and data sources.","type":"object","properties":{"rules":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"object","properties":{"enabled":{"type":"boolean"},"weight":{"type":"number"}},"additionalProperties":false}},"data_sources":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"object","properties":{"enabled":{"type":"boolean"}},"additionalProperties":false}}},"additionalProperties":false}},"additionalProperties":false},"account":{"description":"Account address; its persona is auto-applied as the base injection.","type":"string"}},"required":["action","service_cap","demands"],"additionalProperties":false},{"type":"object","properties":{"action":{"type":"string","const":"path_reasoning"},"current_node":{"type":"string"},"perspective":{"type":"string","enum":["merchant","customer","demander","prospect","supplier","collaborator","arbitrator"]},"machine_nodes":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"Node name."},"pairs":{"type":"array","items":{"type":"object","properties":{"prev_node":{"type":"string"},"threshold":{"type":"number"},"forwards":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"Forward (operation) name."},"permissionIndex":{"anyOf":[{"type":"number"},{"type":"null"}]},"namedOperator":{"anyOf":[{"type":"string"},{"type":"null"}]},"guard":{"anyOf":[{"type":"string"},{"type":"null"}]},"weight":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["name"],"additionalProperties":false}}},"required":["prev_node"],"additionalProperties":false}}},"required":["name"],"additionalProperties":false}},"node_annotations":{"type":"object","properties":{"completed":{"type":"array","items":{"type":"string"}},"refunded":{"type":"array","items":{"type":"string"}}},"additionalProperties":false},"appetite":{"type":"string","enum":["conservative","balanced","aggressive"]},"account":{"description":"Account address; its persona's risk_appetite is used as the default appetite.","type":"string"},"requirements":{"type":"array","items":{"type":"string"}},"order_amount":{"type":"string"},"max_depth":{"type":"integer","minimum":1,"maximum":9007199254740991}},"required":["action","current_node","perspective","machine_nodes"],"additionalProperties":false},{"type":"object","properties":{"action":{"type":"string","const":"evidence_review"},"kind":{"description":"Off-chain evidence kind entering the closure workflow (single-item mode; omit when `items` is given).","type":"string","enum":["signature_photo","voice_recording","delivery_proof","weather_data"]},"hash_committed":{"description":"Whether the evidence hash is committed on-chain (authenticity anchor; single-item mode).","type":"boolean"},"digital_check_passed":{"description":"OCR / machine check passed (e.g. signature recognized, waybill matched).","type":"boolean"},"contradiction":{"description":"A contradicting signal detected (e.g. waybill number mismatch).","type":"boolean"},"items":{"description":"P2-3 list mode: review a COLLECTION of evidence items together → structured usable/manual/rejected list plus `proof_candidates` (auto-passed items with their Proof refs) the dispute initiator may reference in the dispute description (human confirms the final selection — never auto-attached). When omitted, single-item mode requires `kind` + `hash_committed`.","minItems":1,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Caller-side identifier (file name, Proof object id, repository ref...)."},"kind":{"type":"string","enum":["signature_photo","voice_recording","delivery_proof","weather_data"]},"hash_committed":{"type":"boolean"},"digital_check_passed":{"type":"boolean"},"contradiction":{"type":"boolean"},"proof_ref":{"description":"On-chain Proof object reference (WTS proof) when already anchored.","type":"string"}},"required":["id","kind","hash_committed"],"additionalProperties":false}}},"required":["action"],"additionalProperties":false},{"type":"object","properties":{"action":{"type":"string","const":"discover_services"},"location":{"type":"string","description":"Demand-side location (city/region raw text, or 'remote')."},"region":{"description":"AI-enriched geographic slots for `location` (from public web data). Enrichment makes same-province neighboring cities detectable; without it only exact/contains/remote relations are deterministically reachable.","type":"object","properties":{"country":{"type":"string"},"province":{"description":"Province/state — enables neighboring-city (overlap) matching under 'near'.","type":"string"},"city":{"type":"string"}},"additionalProperties":false},"sensitivity":{"description":"Location gate hardness: strict=100% city match (on-site consumption); near=accept neighboring cities; logistics=region representation, soft signal. Omitted → inferred from description.","type":"string","enum":["strict","near","logistics"]},"description":{"description":"Demand description — used to infer sensitivity when omitted (hotel→strict, parcel→logistics).","type":"string"},"coin_type":{"description":"Exact coin instantiation, e.g. '0x2::wow::WOW'; omit = ALL Service<T> generics.","type":"string"},"name_contains":{"description":"Case-insensitive substring filter on service name.","type":"string"},"max_objects":{"description":"Enumeration cap before filtering (default 200).","type":"integer","minimum":1,"maximum":500},"context_network":{"description":"Network (defaults to the user's current network when omitted).","type":"string"},"no_cache":{"description":"Force fresh on-chain enumeration (bypass the configured local list cache).","type":"boolean"}},"required":["action","location"],"additionalProperties":false},{"type":"object","properties":{"action":{"type":"string","const":"discover_demands"},"location":{"description":"Client-side substring filter on demand.location (omit = all demands).","type":"string"},"match_policy":{"description":"R4 private policy (supply_to_demand direction, e.g. preset 'supplier_hunting'), resolved/applied entirely on-device. discover_demands applies gates+excludes only (no private scoring); weights/rerank are reported as not applicable in policy_effect. Omitted: resolved from the stored chain — account persona match config → match-policy.json (general file) → system persona → engine defaults; policy_effect.policy_source reports the winning layer.","anyOf":[{"type":"string"},{"type":"object","properties":{"policy_id":{"type":"string","minLength":1},"version":{"type":"integer","minimum":0,"maximum":9007199254740991},"direction":{"description":"Default demand_to_supply. A demand_to_supply policy drives match_discover; a supply_to_demand policy drives demand_present / discover_demands (and is rejected by match_discover).","type":"string","enum":["demand_to_supply","supply_to_demand"]},"unknown_policy":{"description":"What a gate with missing input does (K5-05 axiom 3). Default neutral_score (= pass, reported).","type":"string","enum":["pass","drop","neutral_score"]},"gates":{"type":"array","items":{"type":"object","properties":{"dim":{"type":"string","description":"Gate dimension. Enforced client-side: live, price, arb, compensation, machine, messenger, buy_guard, wip_verify, text, owner. Others are reported as ignored (not enforceable on-device yet)."},"op":{"description":"Comparison operator (eq/lte/gte/in/not_in/must_contain/must_not_contain) — validated per dim at apply time.","type":"string"},"value":{"anyOf":[{"type":"boolean"},{"type":"number"},{"type":"string"},{"type":"array","items":{"type":"string"}}]},"params":{"description":"Extra params; `from_budget: true` on a price gate uses the request budget as the threshold.","type":"object","propertyNames":{"type":"string"},"additionalProperties":{}}},"required":["dim"],"additionalProperties":false}},"excludes":{"type":"array","items":{"type":"object","properties":{"dim":{"type":"string","description":"Exclude dimension. Enforced client-side: blacklist (objects/owners lists). anti_cheat/structure dims are reported as ignored (no client-side facet)."},"objects":{"type":"array","items":{"type":"string"}},"owners":{"type":"array","items":{"type":"string"}},"flags":{"type":"array","items":{"type":"string"}},"source":{"type":"array","items":{"type":"string"}},"rule":{"type":"string"}},"required":["dim"],"additionalProperties":false}},"weights":{"description":"demand_match rule id → weight (region/industry/price/trust/capabilities/tags/acceptance). Unregistered ids are reported as ignored.","type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"number","minimum":0}},"rerank":{"type":"object","properties":{"diversity":{"description":"Greedy per-group cap over the score-ordered list. `permission` is not enforceable client-side yet (reported ignored); use `owner`.","type":"object","properties":{"by":{"type":"string","enum":["owner","permission"]},"max_per_group":{"type":"integer","minimum":1,"maximum":9007199254740991}},"required":["by","max_per_group"],"additionalProperties":false},"explore":{},"llm":{},"fairness":{}},"additionalProperties":false},"recall":{"description":"Server/recall directives — accepted for portability, not enforceable from the client (reported ignored)."},"verify":{"description":"Facet verification directives — accepted for portability, not enforceable client-side (reported ignored)."},"output":{"type":"object","properties":{"top_n":{"type":"integer","minimum":1,"maximum":500},"explain":{"type":"boolean"},"evidence_chain":{},"coverage_report":{}},"additionalProperties":false}},"required":["policy_id"],"additionalProperties":false}]},"max_objects":{"description":"Enumeration cap before filtering (default 200).","type":"integer","minimum":1,"maximum":500},"context_network":{"description":"Network (defaults to the user's current network when omitted).","type":"string"},"no_cache":{"description":"Force fresh on-chain enumeration (bypass the configured local list cache).","type":"boolean"},"account":{"description":"The supplier's account address; its persona's supply_to_demand match config is auto-resolved when no match_policy is passed.","type":"string"}},"required":["action"],"additionalProperties":false},{"type":"object","properties":{"action":{"type":"string","const":"demand_present"},"service_cap":{"type":"object","properties":{"id":{"type":"string","description":"Service/Demand address."},"kind":{"type":"string","enum":["service","demand"],"description":"Whether this is a service or demand."},"owner":{"type":"string"},"industry":{"type":"string","pattern":"^[a-z][a-z0-9_]*$","description":"Industry scenario."},"industry_confidence":{"type":"number","minimum":0,"maximum":1},"region":{"type":"object","properties":{"mode":{"type":"string","enum":["remote","physical"]},"country":{"type":"string"},"province":{"type":"string"},"city":{"type":"string"},"raw":{"type":"string","description":"Original location string (for traceability)."}},"required":["mode","raw"],"additionalProperties":false},"price_min":{"description":"Smallest-unit amount (string to avoid JSON bigint loss).","type":"string"},"price_max":{"description":"Smallest-unit amount (string to avoid JSON bigint loss).","type":"string"},"token_type":{"type":"string"},"ticket_size":{"type":"string","enum":["micro","small","medium","large"]},"trust_score":{"type":"number","minimum":0,"maximum":100},"reputation_like_ratio":{"type":"number","minimum":0,"maximum":1},"arbitration_independent":{"type":"boolean"},"merchant_history_count":{"type":"integer","minimum":0,"maximum":9007199254740991},"capabilities":{"type":"object","properties":{"has_arbitration":{"type":"boolean"},"has_refund_path":{"type":"boolean"},"has_milestone_nodes":{"type":"boolean"},"has_compensation_fund":{"type":"boolean"},"has_wip_verification":{"type":"boolean"},"has_messenger":{"type":"boolean"},"has_buy_guard":{"type":"boolean"},"has_dynamic_pricing":{"type":"boolean"},"is_published":{"type":"boolean"},"is_paused":{"type":"boolean"}},"required":["has_arbitration","has_refund_path","has_milestone_nodes","has_compensation_fund","has_wip_verification","has_messenger","has_buy_guard","has_dynamic_pricing","is_published","is_paused"],"additionalProperties":false},"tags":{"type":"array","items":{"type":"string"}},"keywords":{"type":"array","items":{"type":"string"}}},"required":["id","kind","industry","region","capabilities"],"additionalProperties":false},"location":{"description":"Client-side substring filter on demand.location (omit = all demands).","type":"string"},"match_policy":{"description":"R4 private ranking policy (supply_to_demand direction, e.g. preset 'supplier_hunting'), resolved/applied entirely on-device; the policy and its hash never leave this device. Omitted: resolved from the stored chain — account persona match config → match-policy.json (general file) → system persona → engine defaults; policy_effect.policy_source reports the winning layer.","anyOf":[{"type":"string"},{"type":"object","properties":{"policy_id":{"type":"string","minLength":1},"version":{"type":"integer","minimum":0,"maximum":9007199254740991},"direction":{"description":"Default demand_to_supply. A demand_to_supply policy drives match_discover; a supply_to_demand policy drives demand_present / discover_demands (and is rejected by match_discover).","type":"string","enum":["demand_to_supply","supply_to_demand"]},"unknown_policy":{"description":"What a gate with missing input does (K5-05 axiom 3). Default neutral_score (= pass, reported).","type":"string","enum":["pass","drop","neutral_score"]},"gates":{"type":"array","items":{"type":"object","properties":{"dim":{"type":"string","description":"Gate dimension. Enforced client-side: live, price, arb, compensation, machine, messenger, buy_guard, wip_verify, text, owner. Others are reported as ignored (not enforceable on-device yet)."},"op":{"description":"Comparison operator (eq/lte/gte/in/not_in/must_contain/must_not_contain) — validated per dim at apply time.","type":"string"},"value":{"anyOf":[{"type":"boolean"},{"type":"number"},{"type":"string"},{"type":"array","items":{"type":"string"}}]},"params":{"description":"Extra params; `from_budget: true` on a price gate uses the request budget as the threshold.","type":"object","propertyNames":{"type":"string"},"additionalProperties":{}}},"required":["dim"],"additionalProperties":false}},"excludes":{"type":"array","items":{"type":"object","properties":{"dim":{"type":"string","description":"Exclude dimension. Enforced client-side: blacklist (objects/owners lists). anti_cheat/structure dims are reported as ignored (no client-side facet)."},"objects":{"type":"array","items":{"type":"string"}},"owners":{"type":"array","items":{"type":"string"}},"flags":{"type":"array","items":{"type":"string"}},"source":{"type":"array","items":{"type":"string"}},"rule":{"type":"string"}},"required":["dim"],"additionalProperties":false}},"weights":{"description":"demand_match rule id → weight (region/industry/price/trust/capabilities/tags/acceptance). Unregistered ids are reported as ignored.","type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"number","minimum":0}},"rerank":{"type":"object","properties":{"diversity":{"description":"Greedy per-group cap over the score-ordered list. `permission` is not enforceable client-side yet (reported ignored); use `owner`.","type":"object","properties":{"by":{"type":"string","enum":["owner","permission"]},"max_per_group":{"type":"integer","minimum":1,"maximum":9007199254740991}},"required":["by","max_per_group"],"additionalProperties":false},"explore":{},"llm":{},"fairness":{}},"additionalProperties":false},"recall":{"description":"Server/recall directives — accepted for portability, not enforceable from the client (reported ignored)."},"verify":{"description":"Facet verification directives — accepted for portability, not enforceable client-side (reported ignored)."},"output":{"type":"object","properties":{"top_n":{"type":"integer","minimum":1,"maximum":500},"explain":{"type":"boolean"},"evidence_chain":{},"coverage_report":{}},"additionalProperties":false}},"required":["policy_id"],"additionalProperties":false}]},"max_objects":{"description":"Enumeration cap before filtering (default 200).","type":"integer","minimum":1,"maximum":500},"limit":{"description":"Top-N matched demands to return (default 5).","type":"integer","minimum":1,"maximum":50},"context_network":{"description":"Network (defaults to the user's current network when omitted).","type":"string"},"no_cache":{"description":"Force fresh on-chain enumeration (bypass the configured local list cache).","type":"boolean"},"injection":{"type":"object","properties":{"intent":{"description":"Free-text intent.","type":"string"},"preferences":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"requirements":{"description":"Hard red lines (block when violated).","type":"array","items":{"type":"object","properties":{"rule_id":{"type":"string"},"condition":{"type":"string","enum":["require","forbid"]},"note":{"type":"string"}},"required":["rule_id","condition"],"additionalProperties":false}},"overrides":{"description":"Enable/disable/reweight rules and data sources.","type":"object","properties":{"rules":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"object","properties":{"enabled":{"type":"boolean"},"weight":{"type":"number"}},"additionalProperties":false}},"data_sources":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"object","properties":{"enabled":{"type":"boolean"}},"additionalProperties":false}}},"additionalProperties":false}},"additionalProperties":false},"account":{"description":"Account address; its persona is auto-applied as the base injection.","type":"string"}},"required":["action","service_cap"],"additionalProperties":false},{"type":"object","properties":{"action":{"type":"string","const":"market_metrics"},"context_network":{"description":"Network (defaults to the user's current network when omitted).","type":"string"},"no_cache":{"description":"Force fresh on-chain enumeration.","type":"boolean"},"limit":{"description":"Max recent NewOrderEvent events to aggregate for the order-flow (GMV/top-services) window (default 100).","type":"integer","minimum":1,"maximum":500}},"required":["action"],"additionalProperties":false},{"type":"object","properties":{"action":{"type":"string","const":"market_operations"},"op":{"type":"string","enum":["journey_funnel","referral_attribution","customer_relationship","dynamic_pricing"],"description":"Which operational aggregation to run."},"due_diligence":{"type":"integer","minimum":0,"maximum":9007199254740991},"orders":{"type":"integer","minimum":0,"maximum":9007199254740991},"completed":{"type":"integer","minimum":0,"maximum":9007199254740991},"reviews":{"type":"integer","minimum":0,"maximum":9007199254740991},"referral_orders":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"referrer":{"type":"string"},"amount":{"type":"string"},"closed":{"type":"boolean"}},"required":["id","referrer","amount","closed"],"additionalProperties":false}},"customer_orders":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"customer":{"type":"string"},"time":{"type":"number"},"disputed":{"type":"boolean"}},"required":["id","customer","time","disputed"],"additionalProperties":false}},"market_signals":{"description":"Market signals for the dynamic_pricing op (non-mandatory merchant pricing suggestion).","type":"object","properties":{"supplyCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Number of similar Services."},"demandCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Number of related Demands."},"avgPrice":{"description":"Market average price (smallest-unit string).","type":"string"},"myPrice":{"description":"Current price (smallest-unit string).","type":"string"},"competitorPrices":{"description":"Competitor price list (smallest-unit strings).","type":"array","items":{"type":"string"}},"recentOrderCount":{"description":"Recent order count.","type":"integer","minimum":0,"maximum":9007199254740991},"repeatCustomerRate":{"description":"Repeat customer rate 0-1.","type":"number","minimum":0,"maximum":1}},"required":["supplyCount","demandCount"],"additionalProperties":false}},"required":["action","op"],"additionalProperties":false},{"type":"object","properties":{"action":{"type":"string","const":"anti_cheat"},"service":{"type":"object","properties":{"object":{"type":"string","description":"Service object address."},"arbitrations":{"type":"array","items":{"type":"string"},"description":"Bound Arbitration object addresses."},"compensation_fund":{"type":"string","description":"Compensation fund balance (smallest-unit string)."},"machine":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Bound Machine address (null = none)."},"bPublished":{"type":"boolean","description":"Whether published."}},"required":["object","arbitrations","compensation_fund","machine","bPublished"],"additionalProperties":false},"orders":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"buyer":{"type":"string"},"seller":{"type":"string"},"amount":{"type":"string"},"status":{"type":"string"},"allocation":{"description":"Allocation object (fund-closure evidence).","anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","buyer","seller","amount","status"],"additionalProperties":false},"description":"Order history evidence."},"reviews":{"type":"array","items":{"type":"object","properties":{"reviewer":{"type":"string"},"rating":{"type":"string","enum":["like","dislike"]},"orderRef":{"type":"string"},"verified":{"type":"boolean"},"timestamp":{"type":"number"}},"required":["reviewer","rating"],"additionalProperties":false},"description":"Review evidence."}},"required":["action","service","orders","reviews"],"additionalProperties":false},{"type":"object","properties":{"action":{"type":"string","const":"match_discover"},"description":{"type":"string","description":"Demand description — drives sensitivity inference + demand capability extraction."},"location":{"type":"string","description":"Demand-side location (city/region raw text, or 'remote')."},"region":{"description":"AI-enriched geographic slots for `location`.","type":"object","properties":{"country":{"type":"string"},"province":{"description":"Province/state — enables neighboring-city (overlap) matching under 'near'.","type":"string"},"city":{"type":"string"}},"additionalProperties":false},"sensitivity":{"description":"Location gate hardness. Omitted → inferred from description.","type":"string","enum":["strict","near","logistics"]},"budget":{"description":"Demand price ceiling (smallest-unit string) — price dimension gate.","type":"string"},"required_capabilities":{"description":"Workflow capabilities the demand REQUIRES (e.g. has_arbitration, has_compensation_fund, has_milestone_nodes, has_refund_path, has_wip_verification, has_messenger, has_buy_guard).","type":"array","items":{"type":"string"}},"category":{"description":"Category match rules key (e.g. 'life_service', 'retail') — applies hard-constraint filtering + re-anchors the six-dimension weights (15 §3). Omit = generic six-dimension scoring.","type":"string"},"coin_type":{"description":"Exact coin instantiation, e.g. '0x2::wow::WOW'; omit = ALL Service<T> generics.","type":"string"},"name_contains":{"description":"Case-insensitive substring filter on service name.","type":"string"},"max_objects":{"description":"Enumeration cap before filtering (default 200).","type":"integer","minimum":1,"maximum":500},"context_network":{"description":"Network (defaults to the user's current network when omitted).","type":"string"},"no_cache":{"description":"Force fresh on-chain enumeration (bypass the configured local list cache).","type":"boolean"},"presenter_history":{"type":"array","items":{"type":"object","properties":{"demand_id":{"description":"Demand object that received the presentation.","type":"string"},"presenter":{"description":"F-RQ-10: the presenter (service object address) this record is about — records carrying it become that service's counterparty trust evidence (the on-chain writer is the demand OWNER, so the signal cannot be self-authored by the merchant); omit for legacy global-only acceptance scoring.","type":"string"},"presenter_service":{"description":"tv8 F-28: the SERVICE object address the record is about (the value side of the on-chain DemandPresenter entry — the table key is the presenter ACCOUNT). Dual-domain matching accepts either this or `presenter`; chain-faithful readers fill BOTH.","type":"string"},"acceptance_score":{"anyOf":[{"type":"number"},{"type":"null"}],"description":"Demand owner's acceptance score (u8 on-chain, 0-100 scale). null = not yet rated."},"feedback_time":{"description":"Feedback timestamp (ms or s, informational only).","type":"number"}},"required":["acceptance_score"],"additionalProperties":false},"description":"P2-2: presenter acceptance history (demand-side acceptance_score backflow) for the SINGLE party being evaluated (e.g. the merchant behind the candidate service set, or the demand owner being matched). Collect via onchain_table_item_demand_presenter across that party's Demand presenter tables. When the candidate set spans multiple unrelated parties, evaluate per-party or omit — the acceptance rule scores neutral without history."},"injection":{"type":"object","properties":{"intent":{"description":"Free-text intent.","type":"string"},"preferences":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"requirements":{"description":"Hard red lines (block when violated).","type":"array","items":{"type":"object","properties":{"rule_id":{"type":"string"},"condition":{"type":"string","enum":["require","forbid"]},"note":{"type":"string"}},"required":["rule_id","condition"],"additionalProperties":false}},"overrides":{"description":"Enable/disable/reweight rules and data sources.","type":"object","properties":{"rules":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"object","properties":{"enabled":{"type":"boolean"},"weight":{"type":"number"}},"additionalProperties":false}},"data_sources":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"object","properties":{"enabled":{"type":"boolean"}},"additionalProperties":false}}},"additionalProperties":false}},"additionalProperties":false},"account":{"description":"Account address; its persona is auto-applied as the base injection.","type":"string"},"match_policy":{"description":"R4 private ranking policy (K5-05 §4): a preset id (default, retail, life_service, trust_first, cross_border, cheap_and_fast, enterprise) or an inline policy object. Applied entirely on-device over the recalled candidates — gates/excludes/weights/rerank with honest `policy_effect` reporting; NEVER sent to the data service. Omitted: resolved from the stored chain — account persona match config → match-policy.json (general file) → system persona → engine defaults; policy_effect.policy_source reports the winning layer.","anyOf":[{"type":"string"},{"type":"object","properties":{"policy_id":{"type":"string","minLength":1},"version":{"type":"integer","minimum":0,"maximum":9007199254740991},"direction":{"description":"Default demand_to_supply. A demand_to_supply policy drives match_discover; a supply_to_demand policy drives demand_present / discover_demands (and is rejected by match_discover).","type":"string","enum":["demand_to_supply","supply_to_demand"]},"unknown_policy":{"description":"What a gate with missing input does (K5-05 axiom 3). Default neutral_score (= pass, reported).","type":"string","enum":["pass","drop","neutral_score"]},"gates":{"type":"array","items":{"type":"object","properties":{"dim":{"type":"string","description":"Gate dimension. Enforced client-side: live, price, arb, compensation, machine, messenger, buy_guard, wip_verify, text, owner. Others are reported as ignored (not enforceable on-device yet)."},"op":{"description":"Comparison operator (eq/lte/gte/in/not_in/must_contain/must_not_contain) — validated per dim at apply time.","type":"string"},"value":{"anyOf":[{"type":"boolean"},{"type":"number"},{"type":"string"},{"type":"array","items":{"type":"string"}}]},"params":{"description":"Extra params; `from_budget: true` on a price gate uses the request budget as the threshold.","type":"object","propertyNames":{"type":"string"},"additionalProperties":{}}},"required":["dim"],"additionalProperties":false}},"excludes":{"type":"array","items":{"type":"object","properties":{"dim":{"type":"string","description":"Exclude dimension. Enforced client-side: blacklist (objects/owners lists). anti_cheat/structure dims are reported as ignored (no client-side facet)."},"objects":{"type":"array","items":{"type":"string"}},"owners":{"type":"array","items":{"type":"string"}},"flags":{"type":"array","items":{"type":"string"}},"source":{"type":"array","items":{"type":"string"}},"rule":{"type":"string"}},"required":["dim"],"additionalProperties":false}},"weights":{"description":"demand_match rule id → weight (region/industry/price/trust/capabilities/tags/acceptance). Unregistered ids are reported as ignored.","type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"number","minimum":0}},"rerank":{"type":"object","properties":{"diversity":{"description":"Greedy per-group cap over the score-ordered list. `permission` is not enforceable client-side yet (reported ignored); use `owner`.","type":"object","properties":{"by":{"type":"string","enum":["owner","permission"]},"max_per_group":{"type":"integer","minimum":1,"maximum":9007199254740991}},"required":["by","max_per_group"],"additionalProperties":false},"explore":{},"llm":{},"fairness":{}},"additionalProperties":false},"recall":{"description":"Server/recall directives — accepted for portability, not enforceable from the client (reported ignored)."},"verify":{"description":"Facet verification directives — accepted for portability, not enforceable client-side (reported ignored)."},"output":{"type":"object","properties":{"top_n":{"type":"integer","minimum":1,"maximum":500},"explain":{"type":"boolean"},"evidence_chain":{},"coverage_report":{}},"additionalProperties":false}},"required":["policy_id"],"additionalProperties":false}]}},"required":["action","description","location"],"additionalProperties":false},{"type":"object","properties":{"action":{"type":"string","const":"arbitration_score"},"arbitration":{"type":"object","properties":{"object":{"description":"Arbitration object address.","type":"string"},"fee":{"description":"Arbitration fee (smallest-unit string).","type":"string"},"balance":{"description":"Capital pool (smallest-unit string).","type":"string"},"voting_guard_count":{"description":"Number of voting guards (governance distribution proxy).","type":"integer","minimum":0,"maximum":9007199254740991},"bPaused":{"type":"boolean"},"location":{"type":"string"},"has_verified_identity":{"description":"A7: whether the arbitrator has a verified on-chain Personal identity (unknown when omitted → neutral).","type":"boolean"}},"additionalProperties":false},"history":{"description":"Historical Arb cases (pre-aggregated; the on-chain reverse index is a wow data layer deliverable).","type":"array","items":{"type":"object","properties":{"status":{"description":"Arb status (e.g. 'Arbitrated', 'Finished', 'Objectionable').","type":"string"},"time":{"description":"Dispute creation time (ms epoch).","type":"number"},"resolved_time":{"description":"Resolution time (ms epoch).","type":"number"},"indemnity_amount":{"description":"Compensation paid (smallest-unit string; '0'/absent = none).","type":"string"},"feedback_positive":{"type":"boolean"},"objected":{"type":"boolean"}},"additionalProperties":false}},"entity_votes":{"type":"object","properties":{"like_ratio":{"description":"0-1 community like ratio.","type":"number","minimum":0,"maximum":1},"favor":{"description":"Whether peers favorited this entity.","type":"boolean"}},"additionalProperties":false},"fee_median":{"description":"Market fee median (smallest-unit string) for the fee-reasonableness rule.","type":"string"},"injection":{"type":"object","properties":{"intent":{"description":"Free-text intent.","type":"string"},"preferences":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"requirements":{"description":"Hard red lines (block when violated).","type":"array","items":{"type":"object","properties":{"rule_id":{"type":"string"},"condition":{"type":"string","enum":["require","forbid"]},"note":{"type":"string"}},"required":["rule_id","condition"],"additionalProperties":false}},"overrides":{"description":"Enable/disable/reweight rules and data sources.","type":"object","properties":{"rules":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"object","properties":{"enabled":{"type":"boolean"},"weight":{"type":"number"}},"additionalProperties":false}},"data_sources":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"object","properties":{"enabled":{"type":"boolean"}},"additionalProperties":false}}},"additionalProperties":false}},"additionalProperties":false},"account":{"description":"Account address; its persona is auto-applied as the base injection.","type":"string"},"context_network":{"description":"Network (defaults to the user's current network when omitted). Used to auto-fetch real Arb history when `history` is omitted.","type":"string"}},"required":["action","arbitration"],"additionalProperties":false},{"type":"object","properties":{"action":{"type":"string","const":"account_events"},"account":{"description":"Account address to watch for (default account when omitted).","type":"string"},"categories":{"description":"Watcher ids to run (omit = all registered watchers).","type":"array","items":{"type":"string"}},"reviews":{"description":"Review rows (from a Service's ReviewRepository, via onchain_table_data) — enables the reputation_integrity watcher (verification, stats, manipulation detection).","type":"array","items":{"type":"object","properties":{"reviewer":{"type":"string","description":"Reviewer address."},"rating":{"type":"string","enum":["like","dislike"]},"tags":{"type":"array","items":{"type":"string"}},"comment":{"type":"string"},"orderRef":{"description":"Associated order id — the credential for no-order-no-review verification.","type":"string"},"timestamp":{"description":"Submission time (ms epoch).","type":"number"},"verified":{"description":"Whether the review carries a completed-order credential; recomputed when order_history is supplied.","type":"boolean"}},"required":["reviewer","rating"],"additionalProperties":false}},"order_history":{"description":"Order history used to re-derive review credentials (no-order-no-review).","type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Order object id."},"status":{"type":"string","description":"Order status (e.g. 'completed', 'success')."}},"required":["id","status"],"additionalProperties":false}},"context_network":{"description":"Network (defaults to the user's current network when omitted).","type":"string"}},"required":["action"],"additionalProperties":false}]}
1
+ {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://wowok.net/schemas/evaluation_operation.json","title":"Evaluation - Pluggable Business Intelligence","description":"Run pluggable business evaluations (data sources + rules + user injection). Actions: arb_game (Arb 7-state best-move), node_game (Progress node best-move), capability_gap (demand-vs-service capability gaps), compose_service (combine services to cover a demand), demand_match (rank services for a demand), service_match (rank demands for a service). Read-only — returns ranked recommendations / scores with reasoning.","oneOf":[{"type":"object","properties":{"action":{"type":"string","const":"arb_game"},"status":{"type":"string","enum":["Principal_confirming","Arbitrator_confirming","Voting","Arbitrated","Objectionable","Finished","Withdrawn"]},"perspective":{"type":"string","enum":["customer","merchant","arbitrator"]},"appetite":{"description":"Risk appetite — adjusts risk sensitivity (conservative amplifies risk).","type":"string","enum":["conservative","balanced","aggressive"]},"account":{"description":"Account address; its persona's risk_appetite is used as the default appetite.","type":"string"},"requirements":{"description":"Persona red lines that re-anchor the role's prefer/avoid (persona drivers).","type":"array","items":{"type":"string"}}},"required":["action","status","perspective"],"additionalProperties":false},{"type":"object","properties":{"action":{"type":"string","const":"node_game"},"current_node":{"type":"string"},"perspective":{"type":"string","enum":["merchant","customer","demander","prospect","supplier","collaborator","arbitrator"]},"appetite":{"description":"Risk appetite — adjusts risk sensitivity (conservative amplifies risk).","type":"string","enum":["conservative","balanced","aggressive"]},"account":{"description":"Account address; its persona's risk_appetite is used as the default appetite.","type":"string"},"threshold":{"description":"Pair threshold — when > 1, multi-role cooperation is needed to advance.","type":"integer","minimum":1,"maximum":9007199254740991},"allocation":{"description":"Allocation waterfall — how funds split after the node advances.","type":"object","properties":{"recipient_slots":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Total recipient slots across allocators."},"guard_gated_slots":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Slots resolved at settlement by a Guard."},"direct_to_me_slots":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Slots paying directly to this role."},"to_payer_slots":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Slots routing back to the payer (refund-oriented)."}},"required":["recipient_slots","guard_gated_slots","direct_to_me_slots","to_payer_slots"],"additionalProperties":false},"requirements":{"description":"Persona red lines that re-anchor the role's prefer/avoid (persona drivers).","type":"array","items":{"type":"string"}},"order_amount":{"description":"Escrowed order amount (smallest-unit string) — the monetary stake at this node (quantified).","type":"string"},"compensation_fund":{"description":"Merchant compensation_fund (smallest-unit string) — the monetary risk exposure backing indemnity.","type":"string"},"operable":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"Forward (operation) name."},"to_node":{"type":"string","description":"Target node after execution."},"execution_path":{"type":"string","enum":["order_holder","permission","named_operator","not_available"],"description":"How the account may execute it."},"guard":{"description":"Guard address gating this forward.","type":"string"},"consequence":{"description":"Consequence hint (completion/refund path).","type":"string"},"weight":{"description":"Forward weight (accumulates toward the pair's threshold).","type":"number"}},"required":["name","to_node","execution_path"],"additionalProperties":false}},"waiting_on":{"type":"array","items":{"type":"object","properties":{"role":{"type":"string"},"forwards":{"type":"array","items":{"type":"string"}}},"required":["role","forwards"],"additionalProperties":false}}},"required":["action","current_node","perspective","operable"],"additionalProperties":false},{"type":"object","properties":{"action":{"type":"string","const":"capability_gap"},"demand":{"type":"object","properties":{"id":{"type":"string","description":"Service/Demand address."},"kind":{"type":"string","enum":["service","demand"],"description":"Whether this is a service or demand."},"owner":{"type":"string"},"industry":{"type":"string","pattern":"^[a-z][a-z0-9_]*$","description":"Industry scenario."},"industry_confidence":{"type":"number","minimum":0,"maximum":1},"region":{"type":"object","properties":{"mode":{"type":"string","enum":["remote","physical"]},"country":{"type":"string"},"province":{"type":"string"},"city":{"type":"string"},"raw":{"type":"string","description":"Original location string (for traceability)."}},"required":["mode","raw"],"additionalProperties":false},"price_min":{"description":"Smallest-unit amount (string to avoid JSON bigint loss).","type":"string"},"price_max":{"description":"Smallest-unit amount (string to avoid JSON bigint loss).","type":"string"},"token_type":{"type":"string"},"ticket_size":{"type":"string","enum":["micro","small","medium","large"]},"trust_score":{"type":"number","minimum":0,"maximum":100},"reputation_like_ratio":{"type":"number","minimum":0,"maximum":1},"arbitration_independent":{"type":"boolean"},"merchant_history_count":{"type":"integer","minimum":0,"maximum":9007199254740991},"capabilities":{"type":"object","properties":{"has_arbitration":{"type":"boolean"},"has_refund_path":{"type":"boolean"},"has_milestone_nodes":{"type":"boolean"},"has_compensation_fund":{"type":"boolean"},"has_wip_verification":{"type":"boolean"},"has_messenger":{"type":"boolean"},"has_buy_guard":{"type":"boolean"},"has_dynamic_pricing":{"type":"boolean"},"is_published":{"type":"boolean"},"is_paused":{"type":"boolean"}},"required":["has_arbitration","has_refund_path","has_milestone_nodes","has_compensation_fund","has_wip_verification","has_messenger","has_buy_guard","has_dynamic_pricing","is_published","is_paused"],"additionalProperties":false},"tags":{"type":"array","items":{"type":"string"}},"keywords":{"type":"array","items":{"type":"string"}}},"required":["id","kind","industry","region","capabilities"],"additionalProperties":false},"service":{"type":"object","properties":{"id":{"type":"string","description":"Service/Demand address."},"kind":{"type":"string","enum":["service","demand"],"description":"Whether this is a service or demand."},"owner":{"type":"string"},"industry":{"type":"string","pattern":"^[a-z][a-z0-9_]*$","description":"Industry scenario."},"industry_confidence":{"type":"number","minimum":0,"maximum":1},"region":{"type":"object","properties":{"mode":{"type":"string","enum":["remote","physical"]},"country":{"type":"string"},"province":{"type":"string"},"city":{"type":"string"},"raw":{"type":"string","description":"Original location string (for traceability)."}},"required":["mode","raw"],"additionalProperties":false},"price_min":{"description":"Smallest-unit amount (string to avoid JSON bigint loss).","type":"string"},"price_max":{"description":"Smallest-unit amount (string to avoid JSON bigint loss).","type":"string"},"token_type":{"type":"string"},"ticket_size":{"type":"string","enum":["micro","small","medium","large"]},"trust_score":{"type":"number","minimum":0,"maximum":100},"reputation_like_ratio":{"type":"number","minimum":0,"maximum":1},"arbitration_independent":{"type":"boolean"},"merchant_history_count":{"type":"integer","minimum":0,"maximum":9007199254740991},"capabilities":{"type":"object","properties":{"has_arbitration":{"type":"boolean"},"has_refund_path":{"type":"boolean"},"has_milestone_nodes":{"type":"boolean"},"has_compensation_fund":{"type":"boolean"},"has_wip_verification":{"type":"boolean"},"has_messenger":{"type":"boolean"},"has_buy_guard":{"type":"boolean"},"has_dynamic_pricing":{"type":"boolean"},"is_published":{"type":"boolean"},"is_paused":{"type":"boolean"}},"required":["has_arbitration","has_refund_path","has_milestone_nodes","has_compensation_fund","has_wip_verification","has_messenger","has_buy_guard","has_dynamic_pricing","is_published","is_paused"],"additionalProperties":false},"tags":{"type":"array","items":{"type":"string"}},"keywords":{"type":"array","items":{"type":"string"}}},"required":["id","kind","industry","region","capabilities"],"additionalProperties":false}},"required":["action","demand","service"],"additionalProperties":false},{"type":"object","properties":{"action":{"type":"string","const":"compose_service"},"demand":{"type":"object","properties":{"id":{"type":"string","description":"Service/Demand address."},"kind":{"type":"string","enum":["service","demand"],"description":"Whether this is a service or demand."},"owner":{"type":"string"},"industry":{"type":"string","pattern":"^[a-z][a-z0-9_]*$","description":"Industry scenario."},"industry_confidence":{"type":"number","minimum":0,"maximum":1},"region":{"type":"object","properties":{"mode":{"type":"string","enum":["remote","physical"]},"country":{"type":"string"},"province":{"type":"string"},"city":{"type":"string"},"raw":{"type":"string","description":"Original location string (for traceability)."}},"required":["mode","raw"],"additionalProperties":false},"price_min":{"description":"Smallest-unit amount (string to avoid JSON bigint loss).","type":"string"},"price_max":{"description":"Smallest-unit amount (string to avoid JSON bigint loss).","type":"string"},"token_type":{"type":"string"},"ticket_size":{"type":"string","enum":["micro","small","medium","large"]},"trust_score":{"type":"number","minimum":0,"maximum":100},"reputation_like_ratio":{"type":"number","minimum":0,"maximum":1},"arbitration_independent":{"type":"boolean"},"merchant_history_count":{"type":"integer","minimum":0,"maximum":9007199254740991},"capabilities":{"type":"object","properties":{"has_arbitration":{"type":"boolean"},"has_refund_path":{"type":"boolean"},"has_milestone_nodes":{"type":"boolean"},"has_compensation_fund":{"type":"boolean"},"has_wip_verification":{"type":"boolean"},"has_messenger":{"type":"boolean"},"has_buy_guard":{"type":"boolean"},"has_dynamic_pricing":{"type":"boolean"},"is_published":{"type":"boolean"},"is_paused":{"type":"boolean"}},"required":["has_arbitration","has_refund_path","has_milestone_nodes","has_compensation_fund","has_wip_verification","has_messenger","has_buy_guard","has_dynamic_pricing","is_published","is_paused"],"additionalProperties":false},"tags":{"type":"array","items":{"type":"string"}},"keywords":{"type":"array","items":{"type":"string"}}},"required":["id","kind","industry","region","capabilities"],"additionalProperties":false},"services":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Service/Demand address."},"kind":{"type":"string","enum":["service","demand"],"description":"Whether this is a service or demand."},"owner":{"type":"string"},"industry":{"type":"string","pattern":"^[a-z][a-z0-9_]*$","description":"Industry scenario."},"industry_confidence":{"type":"number","minimum":0,"maximum":1},"region":{"type":"object","properties":{"mode":{"type":"string","enum":["remote","physical"]},"country":{"type":"string"},"province":{"type":"string"},"city":{"type":"string"},"raw":{"type":"string","description":"Original location string (for traceability)."}},"required":["mode","raw"],"additionalProperties":false},"price_min":{"description":"Smallest-unit amount (string to avoid JSON bigint loss).","type":"string"},"price_max":{"description":"Smallest-unit amount (string to avoid JSON bigint loss).","type":"string"},"token_type":{"type":"string"},"ticket_size":{"type":"string","enum":["micro","small","medium","large"]},"trust_score":{"type":"number","minimum":0,"maximum":100},"reputation_like_ratio":{"type":"number","minimum":0,"maximum":1},"arbitration_independent":{"type":"boolean"},"merchant_history_count":{"type":"integer","minimum":0,"maximum":9007199254740991},"capabilities":{"type":"object","properties":{"has_arbitration":{"type":"boolean"},"has_refund_path":{"type":"boolean"},"has_milestone_nodes":{"type":"boolean"},"has_compensation_fund":{"type":"boolean"},"has_wip_verification":{"type":"boolean"},"has_messenger":{"type":"boolean"},"has_buy_guard":{"type":"boolean"},"has_dynamic_pricing":{"type":"boolean"},"is_published":{"type":"boolean"},"is_paused":{"type":"boolean"}},"required":["has_arbitration","has_refund_path","has_milestone_nodes","has_compensation_fund","has_wip_verification","has_messenger","has_buy_guard","has_dynamic_pricing","is_published","is_paused"],"additionalProperties":false},"tags":{"type":"array","items":{"type":"string"}},"keywords":{"type":"array","items":{"type":"string"}}},"required":["id","kind","industry","region","capabilities"],"additionalProperties":false}}},"required":["action","demand","services"],"additionalProperties":false},{"type":"object","properties":{"action":{"type":"string","const":"compose_generation"},"intent":{"type":"string","minLength":1,"description":"K3-GA2 (G-A generator): the merchant's free-text business intent. Capability adoption is EVIDENCE-GATED — a module is adopted only by an intentSignals match on this text or an explicit `selections` entry; an intent that matches nothing is a blocker (COMPOSE-NO-CAPABILITY-EVIDENCE), never a silent default build."},"selections":{"description":"Merchant-confirmed capability ids (adopted regardless of signal match). List registered ids via industry_pack_operation action='capability_list'.","type":"array","items":{"type":"string"}},"supply_chain":{"description":"Cross-object/cross-Service procurement promises — compiled into money-gate steps on the generated plan and disclosed back under `supply_chain`.","type":"array","items":{"type":"object","properties":{"sub_service":{"type":"string","description":"The procured sub-Service: an on-chain address or a resolvable name."},"axis":{"type":"string","enum":["merchant_procured","user_procured"],"description":"Who owns the fulfilment order — decides which money-gate ties are expressible."},"service_name":{"description":"The host Service's own name (the money gate's host binding); omit = the generated plan's service step name.","type":"string"},"done_node":{"type":"string","description":"The node whose arrival makes the order settle-eligible (e.g. 'completed')."},"done_node_alt":{"description":"A further settle-eligible node.","type":"string"},"done_node_alt2":{"description":"A further settle-eligible node.","type":"string"},"form":{"description":"How the fulfilment fact reaches the host order's money gate (default 'rendezvous' — the only form that proves the pairing).","type":"string","enum":["rendezvous","submission"]},"fact_key":{"description":"Policy key of the forward fulfilment row (default 'fulfilment').","type":"string"},"ack_key":{"description":"Policy key of the buyer acknowledgement (default '<fact_key>_ack').","type":"string"},"ack_window_days":{"description":"merchant_procured only: after this many days the buyer's silence counts as acknowledgement. Fractional days are legal — the fold (supply-chain-emit) converts to ONE ms constant (sc.ack_window_ms); matches the goal/planning.ts spelling of the same knob (R-TIME-LOCAL-CONST 2026-11-11: whole-day-only blocked sub-day ack windows).","type":"number","exclusiveMinimum":0},"payout_to":{"description":"The fulfilment party's payout address. Absent = no third-party rail.","type":"string"},"payout_rate":{"description":"Basis points of the settlement rail paid to payout_to (default 10000).","type":"integer","minimum":1,"maximum":10000},"repository":{"description":"An existing rendezvous Repository name; one is created when omitted.","type":"string"},"repository_name":{"description":"The name a CREATED rendezvous Repository takes (default '<host>_<sub>_ledger').","type":"string"},"service_step_id":{"description":"Step id of the host Service in the plan being built (default 'service').","type":"string"},"id_prefix":{"description":"Step-id prefix for the emitted objects (default 'sc').","type":"string"}},"required":["sub_service","axis","done_node"],"additionalProperties":false}},"inputs":{"description":"Compile inputs; omitted = the carrier template's own defaults. Minimal honest sellable surface for the pilot carriers: { sales: [{ price: <smallest-unit integer> }] } (+ reward_funding when the carrier pays a review reward) — a plan without a sellable SKU fails reflux audit (PLAN-SALES-01) and comes back infeasible.","type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"name_base":{"description":"Object name base; omit = the carrier template id ('/' -> '_').","type":"string"},"preferred_chain":{"description":"Preferred pilot chain when the adopted set maps onto BOTH pilot chains (e.g. 'chain.data_subscription'); otherwise the first matching chain wins.","type":"string"}},"required":["action","intent"],"additionalProperties":false},{"type":"object","properties":{"action":{"type":"string","const":"demand_match"},"demand_cap":{"type":"object","properties":{"id":{"type":"string","description":"Service/Demand address."},"kind":{"type":"string","enum":["service","demand"],"description":"Whether this is a service or demand."},"owner":{"type":"string"},"industry":{"type":"string","pattern":"^[a-z][a-z0-9_]*$","description":"Industry scenario."},"industry_confidence":{"type":"number","minimum":0,"maximum":1},"region":{"type":"object","properties":{"mode":{"type":"string","enum":["remote","physical"]},"country":{"type":"string"},"province":{"type":"string"},"city":{"type":"string"},"raw":{"type":"string","description":"Original location string (for traceability)."}},"required":["mode","raw"],"additionalProperties":false},"price_min":{"description":"Smallest-unit amount (string to avoid JSON bigint loss).","type":"string"},"price_max":{"description":"Smallest-unit amount (string to avoid JSON bigint loss).","type":"string"},"token_type":{"type":"string"},"ticket_size":{"type":"string","enum":["micro","small","medium","large"]},"trust_score":{"type":"number","minimum":0,"maximum":100},"reputation_like_ratio":{"type":"number","minimum":0,"maximum":1},"arbitration_independent":{"type":"boolean"},"merchant_history_count":{"type":"integer","minimum":0,"maximum":9007199254740991},"capabilities":{"type":"object","properties":{"has_arbitration":{"type":"boolean"},"has_refund_path":{"type":"boolean"},"has_milestone_nodes":{"type":"boolean"},"has_compensation_fund":{"type":"boolean"},"has_wip_verification":{"type":"boolean"},"has_messenger":{"type":"boolean"},"has_buy_guard":{"type":"boolean"},"has_dynamic_pricing":{"type":"boolean"},"is_published":{"type":"boolean"},"is_paused":{"type":"boolean"}},"required":["has_arbitration","has_refund_path","has_milestone_nodes","has_compensation_fund","has_wip_verification","has_messenger","has_buy_guard","has_dynamic_pricing","is_published","is_paused"],"additionalProperties":false},"tags":{"type":"array","items":{"type":"string"}},"keywords":{"type":"array","items":{"type":"string"}}},"required":["id","kind","industry","region","capabilities"],"additionalProperties":false},"services":{"type":"array","items":{"type":"object","properties":{"object":{"type":"string","description":"Service object address."},"description":{"type":"string"},"location":{"type":"string"},"sales":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"price":{"type":"string","description":"Smallest-unit amount (string)."},"wip_hash":{"type":"string"}},"required":["price"],"additionalProperties":false}},"arbitrations":{"type":"array","items":{"type":"string"}},"compensation_fund":{"description":"Smallest-unit amount (string).","type":"string"},"buy_guard":{"anyOf":[{"type":"string"},{"type":"null"}]},"machine":{"anyOf":[{"type":"string"},{"type":"null"}]},"um":{"anyOf":[{"type":"string"},{"type":"null"}]},"bPublished":{"type":"boolean"},"bPaused":{"type":"boolean"},"owner":{"type":"string"},"order_allocators":{},"buyer_feedback":{"type":"object","properties":{"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"likes":{"type":"integer","minimum":0,"maximum":9007199254740991},"completed_orders":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["total","likes"],"additionalProperties":false},"rewards":{"type":"array","items":{"type":"object","properties":{"object":{"type":"string","description":"Reward object address."},"balance":{"description":"Pool balance, smallest-unit string (Balance<T> held on-chain).","type":"string"},"amount_mode":{"description":"fixed = amounts self-computable from the object; submission_computed = amounts resolve from the buyer's passport submission at payout time (not clamped on-chain).","type":"string","enum":["fixed","submission_computed"]},"expiration_ms":{"description":"Claim-window bound (guard expiration, ms-epoch string); null = no expiry read.","anyOf":[{"type":"string"},{"type":"null"}]}},"required":["object"],"additionalProperties":false}}},"required":["object","description","location"],"additionalProperties":false}},"demand_object":{"description":"F-RQ-06 (prescription ⑫): YOUR on-chain Demand object ID (or mark name). When supplied, the handler reads the demand LIVE (presenters_count) at match time and derives `next` from real state — a published demand never gets demand.publish advice again; without it, `next` stays the static publish template with a verify-or-supply precondition.","type":"string"},"presenter_history":{"type":"array","items":{"type":"object","properties":{"demand_id":{"description":"Demand object that received the presentation.","type":"string"},"presenter":{"description":"F-RQ-10: the presenter (service object address) this record is about — records carrying it become that service's counterparty trust evidence (the on-chain writer is the demand OWNER, so the signal cannot be self-authored by the merchant); omit for legacy global-only acceptance scoring.","type":"string"},"presenter_service":{"description":"tv8 F-28: the SERVICE object address the record is about (the value side of the on-chain DemandPresenter entry — the table key is the presenter ACCOUNT). Dual-domain matching accepts either this or `presenter`; chain-faithful readers fill BOTH.","type":"string"},"acceptance_score":{"anyOf":[{"type":"number"},{"type":"null"}],"description":"Demand owner's acceptance score (u8 on-chain, 0-100 scale). null = not yet rated."},"feedback_time":{"description":"Feedback timestamp (ms or s, informational only).","type":"number"}},"required":["acceptance_score"],"additionalProperties":false},"description":"P2-2: presenter acceptance history (demand-side acceptance_score backflow) for the SINGLE party being evaluated (e.g. the merchant behind the candidate service set, or the demand owner being matched). Collect via onchain_table_item_demand_presenter across that party's Demand presenter tables. When the candidate set spans multiple unrelated parties, evaluate per-party or omit — the acceptance rule scores neutral without history."},"injection":{"type":"object","properties":{"intent":{"description":"Free-text intent.","type":"string"},"preferences":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"requirements":{"description":"Hard red lines (block when violated).","type":"array","items":{"type":"object","properties":{"rule_id":{"type":"string"},"condition":{"type":"string","enum":["require","forbid"]},"note":{"type":"string"}},"required":["rule_id","condition"],"additionalProperties":false}},"overrides":{"description":"Enable/disable/reweight rules and data sources.","type":"object","properties":{"rules":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"object","properties":{"enabled":{"type":"boolean"},"weight":{"type":"number"}},"additionalProperties":false}},"data_sources":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"object","properties":{"enabled":{"type":"boolean"}},"additionalProperties":false}}},"additionalProperties":false}},"additionalProperties":false},"account":{"description":"Account address; its persona is auto-applied as the base injection (explicit injection overrides).","type":"string"}},"required":["action","demand_cap","services"],"additionalProperties":false},{"type":"object","properties":{"action":{"type":"string","const":"service_match"},"service_cap":{"type":"object","properties":{"id":{"type":"string","description":"Service/Demand address."},"kind":{"type":"string","enum":["service","demand"],"description":"Whether this is a service or demand."},"owner":{"type":"string"},"industry":{"type":"string","pattern":"^[a-z][a-z0-9_]*$","description":"Industry scenario."},"industry_confidence":{"type":"number","minimum":0,"maximum":1},"region":{"type":"object","properties":{"mode":{"type":"string","enum":["remote","physical"]},"country":{"type":"string"},"province":{"type":"string"},"city":{"type":"string"},"raw":{"type":"string","description":"Original location string (for traceability)."}},"required":["mode","raw"],"additionalProperties":false},"price_min":{"description":"Smallest-unit amount (string to avoid JSON bigint loss).","type":"string"},"price_max":{"description":"Smallest-unit amount (string to avoid JSON bigint loss).","type":"string"},"token_type":{"type":"string"},"ticket_size":{"type":"string","enum":["micro","small","medium","large"]},"trust_score":{"type":"number","minimum":0,"maximum":100},"reputation_like_ratio":{"type":"number","minimum":0,"maximum":1},"arbitration_independent":{"type":"boolean"},"merchant_history_count":{"type":"integer","minimum":0,"maximum":9007199254740991},"capabilities":{"type":"object","properties":{"has_arbitration":{"type":"boolean"},"has_refund_path":{"type":"boolean"},"has_milestone_nodes":{"type":"boolean"},"has_compensation_fund":{"type":"boolean"},"has_wip_verification":{"type":"boolean"},"has_messenger":{"type":"boolean"},"has_buy_guard":{"type":"boolean"},"has_dynamic_pricing":{"type":"boolean"},"is_published":{"type":"boolean"},"is_paused":{"type":"boolean"}},"required":["has_arbitration","has_refund_path","has_milestone_nodes","has_compensation_fund","has_wip_verification","has_messenger","has_buy_guard","has_dynamic_pricing","is_published","is_paused"],"additionalProperties":false},"tags":{"type":"array","items":{"type":"string"}},"keywords":{"type":"array","items":{"type":"string"}}},"required":["id","kind","industry","region","capabilities"],"additionalProperties":false},"demands":{"type":"array","items":{"type":"object","properties":{"object":{"type":"string","description":"Demand object address."},"description":{"type":"string"},"location":{"type":"string"},"rewards":{"type":"array","items":{"type":"string"}},"um":{"anyOf":[{"type":"string"},{"type":"null"}]},"owner":{"type":"string"}},"required":["object","description","location"],"additionalProperties":false}},"presenter_history":{"type":"array","items":{"type":"object","properties":{"demand_id":{"description":"Demand object that received the presentation.","type":"string"},"presenter":{"description":"F-RQ-10: the presenter (service object address) this record is about — records carrying it become that service's counterparty trust evidence (the on-chain writer is the demand OWNER, so the signal cannot be self-authored by the merchant); omit for legacy global-only acceptance scoring.","type":"string"},"presenter_service":{"description":"tv8 F-28: the SERVICE object address the record is about (the value side of the on-chain DemandPresenter entry — the table key is the presenter ACCOUNT). Dual-domain matching accepts either this or `presenter`; chain-faithful readers fill BOTH.","type":"string"},"acceptance_score":{"anyOf":[{"type":"number"},{"type":"null"}],"description":"Demand owner's acceptance score (u8 on-chain, 0-100 scale). null = not yet rated."},"feedback_time":{"description":"Feedback timestamp (ms or s, informational only).","type":"number"}},"required":["acceptance_score"],"additionalProperties":false},"description":"P2-2: presenter acceptance history (demand-side acceptance_score backflow) for the SINGLE party being evaluated (e.g. the merchant behind the candidate service set, or the demand owner being matched). Collect via onchain_table_item_demand_presenter across that party's Demand presenter tables. When the candidate set spans multiple unrelated parties, evaluate per-party or omit — the acceptance rule scores neutral without history."},"injection":{"type":"object","properties":{"intent":{"description":"Free-text intent.","type":"string"},"preferences":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"requirements":{"description":"Hard red lines (block when violated).","type":"array","items":{"type":"object","properties":{"rule_id":{"type":"string"},"condition":{"type":"string","enum":["require","forbid"]},"note":{"type":"string"}},"required":["rule_id","condition"],"additionalProperties":false}},"overrides":{"description":"Enable/disable/reweight rules and data sources.","type":"object","properties":{"rules":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"object","properties":{"enabled":{"type":"boolean"},"weight":{"type":"number"}},"additionalProperties":false}},"data_sources":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"object","properties":{"enabled":{"type":"boolean"}},"additionalProperties":false}}},"additionalProperties":false}},"additionalProperties":false},"account":{"description":"Account address; its persona is auto-applied as the base injection.","type":"string"}},"required":["action","service_cap","demands"],"additionalProperties":false},{"type":"object","properties":{"action":{"type":"string","const":"path_reasoning"},"current_node":{"type":"string"},"perspective":{"type":"string","enum":["merchant","customer","demander","prospect","supplier","collaborator","arbitrator"]},"machine_nodes":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"Node name."},"pairs":{"type":"array","items":{"type":"object","properties":{"prev_node":{"type":"string"},"threshold":{"type":"number"},"forwards":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"Forward (operation) name."},"permissionIndex":{"anyOf":[{"type":"number"},{"type":"null"}]},"namedOperator":{"anyOf":[{"type":"string"},{"type":"null"}]},"guard":{"anyOf":[{"type":"string"},{"type":"null"}]},"weight":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["name"],"additionalProperties":false}}},"required":["prev_node"],"additionalProperties":false}}},"required":["name"],"additionalProperties":false}},"node_annotations":{"type":"object","properties":{"completed":{"type":"array","items":{"type":"string"}},"refunded":{"type":"array","items":{"type":"string"}}},"additionalProperties":false},"appetite":{"type":"string","enum":["conservative","balanced","aggressive"]},"account":{"description":"Account address; its persona's risk_appetite is used as the default appetite.","type":"string"},"requirements":{"type":"array","items":{"type":"string"}},"order_amount":{"type":"string"},"max_depth":{"type":"integer","minimum":1,"maximum":9007199254740991}},"required":["action","current_node","perspective","machine_nodes"],"additionalProperties":false},{"type":"object","properties":{"action":{"type":"string","const":"evidence_review"},"kind":{"description":"Off-chain evidence kind entering the closure workflow (single-item mode; omit when `items` is given).","type":"string","enum":["signature_photo","voice_recording","delivery_proof","weather_data"]},"hash_committed":{"description":"Whether the evidence hash is committed on-chain (authenticity anchor; single-item mode).","type":"boolean"},"digital_check_passed":{"description":"OCR / machine check passed (e.g. signature recognized, waybill matched).","type":"boolean"},"contradiction":{"description":"A contradicting signal detected (e.g. waybill number mismatch).","type":"boolean"},"items":{"description":"P2-3 list mode: review a COLLECTION of evidence items together → structured usable/manual/rejected list plus `proof_candidates` (auto-passed items with their Proof refs) the dispute initiator may reference in the dispute description (human confirms the final selection — never auto-attached). When omitted, single-item mode requires `kind` + `hash_committed`.","minItems":1,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Caller-side identifier (file name, Proof object id, repository ref...)."},"kind":{"type":"string","enum":["signature_photo","voice_recording","delivery_proof","weather_data"]},"hash_committed":{"type":"boolean"},"digital_check_passed":{"type":"boolean"},"contradiction":{"type":"boolean"},"proof_ref":{"description":"On-chain Proof object reference (WTS proof) when already anchored.","type":"string"}},"required":["id","kind","hash_committed"],"additionalProperties":false}}},"required":["action"],"additionalProperties":false},{"type":"object","properties":{"action":{"type":"string","const":"discover_services"},"location":{"type":"string","description":"Demand-side location (city/region raw text, or 'remote')."},"region":{"description":"AI-enriched geographic slots for `location` (from public web data). Enrichment makes same-province neighboring cities detectable; without it only exact/contains/remote relations are deterministically reachable.","type":"object","properties":{"country":{"type":"string"},"province":{"description":"Province/state — enables neighboring-city (overlap) matching under 'near'.","type":"string"},"city":{"type":"string"}},"additionalProperties":false},"sensitivity":{"description":"Location gate hardness: strict=100% city match (on-site consumption); near=accept neighboring cities; logistics=region representation, soft signal. Omitted → inferred from description.","type":"string","enum":["strict","near","logistics"]},"description":{"description":"Demand description — used to infer sensitivity when omitted (hotel→strict, parcel→logistics).","type":"string"},"coin_type":{"description":"Exact coin instantiation, e.g. '0x2::wow::WOW'; omit = ALL Service<T> generics.","type":"string"},"name_contains":{"description":"Case-insensitive substring filter on service name.","type":"string"},"max_objects":{"description":"Enumeration cap before filtering (default 200).","type":"integer","minimum":1,"maximum":500},"context_network":{"description":"Network (defaults to the user's current network when omitted).","type":"string"},"no_cache":{"description":"Force fresh on-chain enumeration (bypass the configured local list cache).","type":"boolean"}},"required":["action","location"],"additionalProperties":false},{"type":"object","properties":{"action":{"type":"string","const":"discover_demands"},"location":{"description":"Client-side substring filter on demand.location (omit = all demands).","type":"string"},"match_policy":{"description":"R4 private policy (supply_to_demand direction, e.g. preset 'supplier_hunting'), resolved/applied entirely on-device. discover_demands applies gates+excludes only (no private scoring); weights/rerank are reported as not applicable in policy_effect. Omitted: resolved from the stored chain — account persona match config → match-policy.json (general file) → system persona → engine defaults; policy_effect.policy_source reports the winning layer.","anyOf":[{"type":"string"},{"type":"object","properties":{"policy_id":{"type":"string","minLength":1},"version":{"type":"integer","minimum":0,"maximum":9007199254740991},"direction":{"description":"Default demand_to_supply. A demand_to_supply policy drives match_discover; a supply_to_demand policy drives demand_present / discover_demands (and is rejected by match_discover).","type":"string","enum":["demand_to_supply","supply_to_demand"]},"unknown_policy":{"description":"What a gate with missing input does (K5-05 axiom 3). Default neutral_score (= pass, reported).","type":"string","enum":["pass","drop","neutral_score"]},"gates":{"type":"array","items":{"type":"object","properties":{"dim":{"type":"string","description":"Gate dimension. Enforced client-side: live, price, arb, compensation, machine, messenger, buy_guard, wip_verify, text, owner. Others are reported as ignored (not enforceable on-device yet)."},"op":{"description":"Comparison operator (eq/lte/gte/in/not_in/must_contain/must_not_contain) — validated per dim at apply time.","type":"string"},"value":{"anyOf":[{"type":"boolean"},{"type":"number"},{"type":"string"},{"type":"array","items":{"type":"string"}}]},"params":{"description":"Extra params; `from_budget: true` on a price gate uses the request budget as the threshold.","type":"object","propertyNames":{"type":"string"},"additionalProperties":{}}},"required":["dim"],"additionalProperties":false}},"excludes":{"type":"array","items":{"type":"object","properties":{"dim":{"type":"string","description":"Exclude dimension. Enforced client-side: blacklist (objects/owners lists). anti_cheat/structure dims are reported as ignored (no client-side facet)."},"objects":{"type":"array","items":{"type":"string"}},"owners":{"type":"array","items":{"type":"string"}},"flags":{"type":"array","items":{"type":"string"}},"source":{"type":"array","items":{"type":"string"}},"rule":{"type":"string"}},"required":["dim"],"additionalProperties":false}},"weights":{"description":"demand_match rule id → weight (region/industry/price/trust/capabilities/tags/acceptance). Unregistered ids are reported as ignored.","type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"number","minimum":0}},"rerank":{"type":"object","properties":{"diversity":{"description":"Greedy per-group cap over the score-ordered list. `permission` is not enforceable client-side yet (reported ignored); use `owner`.","type":"object","properties":{"by":{"type":"string","enum":["owner","permission"]},"max_per_group":{"type":"integer","minimum":1,"maximum":9007199254740991}},"required":["by","max_per_group"],"additionalProperties":false},"explore":{},"llm":{},"fairness":{}},"additionalProperties":false},"recall":{"description":"Server/recall directives — accepted for portability, not enforceable from the client (reported ignored)."},"verify":{"description":"Facet verification directives — accepted for portability, not enforceable client-side (reported ignored)."},"output":{"type":"object","properties":{"top_n":{"type":"integer","minimum":1,"maximum":500},"explain":{"type":"boolean"},"evidence_chain":{},"coverage_report":{}},"additionalProperties":false}},"required":["policy_id"],"additionalProperties":false}]},"max_objects":{"description":"Enumeration cap before filtering (default 200).","type":"integer","minimum":1,"maximum":500},"context_network":{"description":"Network (defaults to the user's current network when omitted).","type":"string"},"no_cache":{"description":"Force fresh on-chain enumeration (bypass the configured local list cache).","type":"boolean"},"account":{"description":"The supplier's account address; its persona's supply_to_demand match config is auto-resolved when no match_policy is passed.","type":"string"}},"required":["action"],"additionalProperties":false},{"type":"object","properties":{"action":{"type":"string","const":"demand_present"},"service_cap":{"type":"object","properties":{"id":{"type":"string","description":"Service/Demand address."},"kind":{"type":"string","enum":["service","demand"],"description":"Whether this is a service or demand."},"owner":{"type":"string"},"industry":{"type":"string","pattern":"^[a-z][a-z0-9_]*$","description":"Industry scenario."},"industry_confidence":{"type":"number","minimum":0,"maximum":1},"region":{"type":"object","properties":{"mode":{"type":"string","enum":["remote","physical"]},"country":{"type":"string"},"province":{"type":"string"},"city":{"type":"string"},"raw":{"type":"string","description":"Original location string (for traceability)."}},"required":["mode","raw"],"additionalProperties":false},"price_min":{"description":"Smallest-unit amount (string to avoid JSON bigint loss).","type":"string"},"price_max":{"description":"Smallest-unit amount (string to avoid JSON bigint loss).","type":"string"},"token_type":{"type":"string"},"ticket_size":{"type":"string","enum":["micro","small","medium","large"]},"trust_score":{"type":"number","minimum":0,"maximum":100},"reputation_like_ratio":{"type":"number","minimum":0,"maximum":1},"arbitration_independent":{"type":"boolean"},"merchant_history_count":{"type":"integer","minimum":0,"maximum":9007199254740991},"capabilities":{"type":"object","properties":{"has_arbitration":{"type":"boolean"},"has_refund_path":{"type":"boolean"},"has_milestone_nodes":{"type":"boolean"},"has_compensation_fund":{"type":"boolean"},"has_wip_verification":{"type":"boolean"},"has_messenger":{"type":"boolean"},"has_buy_guard":{"type":"boolean"},"has_dynamic_pricing":{"type":"boolean"},"is_published":{"type":"boolean"},"is_paused":{"type":"boolean"}},"required":["has_arbitration","has_refund_path","has_milestone_nodes","has_compensation_fund","has_wip_verification","has_messenger","has_buy_guard","has_dynamic_pricing","is_published","is_paused"],"additionalProperties":false},"tags":{"type":"array","items":{"type":"string"}},"keywords":{"type":"array","items":{"type":"string"}}},"required":["id","kind","industry","region","capabilities"],"additionalProperties":false},"location":{"description":"Client-side substring filter on demand.location (omit = all demands).","type":"string"},"match_policy":{"description":"R4 private ranking policy (supply_to_demand direction, e.g. preset 'supplier_hunting'), resolved/applied entirely on-device; the policy and its hash never leave this device. Omitted: resolved from the stored chain — account persona match config → match-policy.json (general file) → system persona → engine defaults; policy_effect.policy_source reports the winning layer.","anyOf":[{"type":"string"},{"type":"object","properties":{"policy_id":{"type":"string","minLength":1},"version":{"type":"integer","minimum":0,"maximum":9007199254740991},"direction":{"description":"Default demand_to_supply. A demand_to_supply policy drives match_discover; a supply_to_demand policy drives demand_present / discover_demands (and is rejected by match_discover).","type":"string","enum":["demand_to_supply","supply_to_demand"]},"unknown_policy":{"description":"What a gate with missing input does (K5-05 axiom 3). Default neutral_score (= pass, reported).","type":"string","enum":["pass","drop","neutral_score"]},"gates":{"type":"array","items":{"type":"object","properties":{"dim":{"type":"string","description":"Gate dimension. Enforced client-side: live, price, arb, compensation, machine, messenger, buy_guard, wip_verify, text, owner. Others are reported as ignored (not enforceable on-device yet)."},"op":{"description":"Comparison operator (eq/lte/gte/in/not_in/must_contain/must_not_contain) — validated per dim at apply time.","type":"string"},"value":{"anyOf":[{"type":"boolean"},{"type":"number"},{"type":"string"},{"type":"array","items":{"type":"string"}}]},"params":{"description":"Extra params; `from_budget: true` on a price gate uses the request budget as the threshold.","type":"object","propertyNames":{"type":"string"},"additionalProperties":{}}},"required":["dim"],"additionalProperties":false}},"excludes":{"type":"array","items":{"type":"object","properties":{"dim":{"type":"string","description":"Exclude dimension. Enforced client-side: blacklist (objects/owners lists). anti_cheat/structure dims are reported as ignored (no client-side facet)."},"objects":{"type":"array","items":{"type":"string"}},"owners":{"type":"array","items":{"type":"string"}},"flags":{"type":"array","items":{"type":"string"}},"source":{"type":"array","items":{"type":"string"}},"rule":{"type":"string"}},"required":["dim"],"additionalProperties":false}},"weights":{"description":"demand_match rule id → weight (region/industry/price/trust/capabilities/tags/acceptance). Unregistered ids are reported as ignored.","type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"number","minimum":0}},"rerank":{"type":"object","properties":{"diversity":{"description":"Greedy per-group cap over the score-ordered list. `permission` is not enforceable client-side yet (reported ignored); use `owner`.","type":"object","properties":{"by":{"type":"string","enum":["owner","permission"]},"max_per_group":{"type":"integer","minimum":1,"maximum":9007199254740991}},"required":["by","max_per_group"],"additionalProperties":false},"explore":{},"llm":{},"fairness":{}},"additionalProperties":false},"recall":{"description":"Server/recall directives — accepted for portability, not enforceable from the client (reported ignored)."},"verify":{"description":"Facet verification directives — accepted for portability, not enforceable client-side (reported ignored)."},"output":{"type":"object","properties":{"top_n":{"type":"integer","minimum":1,"maximum":500},"explain":{"type":"boolean"},"evidence_chain":{},"coverage_report":{}},"additionalProperties":false}},"required":["policy_id"],"additionalProperties":false}]},"max_objects":{"description":"Enumeration cap before filtering (default 200).","type":"integer","minimum":1,"maximum":500},"limit":{"description":"Top-N matched demands to return (default 5).","type":"integer","minimum":1,"maximum":50},"context_network":{"description":"Network (defaults to the user's current network when omitted).","type":"string"},"no_cache":{"description":"Force fresh on-chain enumeration (bypass the configured local list cache).","type":"boolean"},"injection":{"type":"object","properties":{"intent":{"description":"Free-text intent.","type":"string"},"preferences":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"requirements":{"description":"Hard red lines (block when violated).","type":"array","items":{"type":"object","properties":{"rule_id":{"type":"string"},"condition":{"type":"string","enum":["require","forbid"]},"note":{"type":"string"}},"required":["rule_id","condition"],"additionalProperties":false}},"overrides":{"description":"Enable/disable/reweight rules and data sources.","type":"object","properties":{"rules":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"object","properties":{"enabled":{"type":"boolean"},"weight":{"type":"number"}},"additionalProperties":false}},"data_sources":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"object","properties":{"enabled":{"type":"boolean"}},"additionalProperties":false}}},"additionalProperties":false}},"additionalProperties":false},"account":{"description":"Account address; its persona is auto-applied as the base injection.","type":"string"}},"required":["action","service_cap"],"additionalProperties":false},{"type":"object","properties":{"action":{"type":"string","const":"market_metrics"},"context_network":{"description":"Network (defaults to the user's current network when omitted).","type":"string"},"no_cache":{"description":"Force fresh on-chain enumeration.","type":"boolean"},"limit":{"description":"Max recent NewOrderEvent events to aggregate for the order-flow (GMV/top-services) window (default 100).","type":"integer","minimum":1,"maximum":500}},"required":["action"],"additionalProperties":false},{"type":"object","properties":{"action":{"type":"string","const":"market_operations"},"op":{"type":"string","enum":["journey_funnel","referral_attribution","customer_relationship","dynamic_pricing"],"description":"Which operational aggregation to run."},"due_diligence":{"type":"integer","minimum":0,"maximum":9007199254740991},"orders":{"type":"integer","minimum":0,"maximum":9007199254740991},"completed":{"type":"integer","minimum":0,"maximum":9007199254740991},"reviews":{"type":"integer","minimum":0,"maximum":9007199254740991},"referral_orders":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"referrer":{"type":"string"},"amount":{"type":"string"},"closed":{"type":"boolean"}},"required":["id","referrer","amount","closed"],"additionalProperties":false}},"customer_orders":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"customer":{"type":"string"},"time":{"type":"number"},"disputed":{"type":"boolean"}},"required":["id","customer","time","disputed"],"additionalProperties":false}},"market_signals":{"description":"Market signals for the dynamic_pricing op (non-mandatory merchant pricing suggestion).","type":"object","properties":{"supplyCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Number of similar Services."},"demandCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Number of related Demands."},"avgPrice":{"description":"Market average price (smallest-unit string).","type":"string"},"myPrice":{"description":"Current price (smallest-unit string).","type":"string"},"competitorPrices":{"description":"Competitor price list (smallest-unit strings).","type":"array","items":{"type":"string"}},"recentOrderCount":{"description":"Recent order count.","type":"integer","minimum":0,"maximum":9007199254740991},"repeatCustomerRate":{"description":"Repeat customer rate 0-1.","type":"number","minimum":0,"maximum":1}},"required":["supplyCount","demandCount"],"additionalProperties":false}},"required":["action","op"],"additionalProperties":false},{"type":"object","properties":{"action":{"type":"string","const":"anti_cheat"},"service":{"type":"object","properties":{"object":{"type":"string","description":"Service object address."},"arbitrations":{"type":"array","items":{"type":"string"},"description":"Bound Arbitration object addresses."},"compensation_fund":{"type":"string","description":"Compensation fund balance (smallest-unit string)."},"machine":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Bound Machine address (null = none)."},"bPublished":{"type":"boolean","description":"Whether published."}},"required":["object","arbitrations","compensation_fund","machine","bPublished"],"additionalProperties":false},"orders":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"buyer":{"type":"string"},"seller":{"type":"string"},"amount":{"type":"string"},"status":{"type":"string"},"allocation":{"description":"Allocation object (fund-closure evidence).","anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","buyer","seller","amount","status"],"additionalProperties":false},"description":"Order history evidence."},"reviews":{"type":"array","items":{"type":"object","properties":{"reviewer":{"type":"string"},"rating":{"type":"string","enum":["like","dislike"]},"orderRef":{"type":"string"},"verified":{"type":"boolean"},"timestamp":{"type":"number"}},"required":["reviewer","rating"],"additionalProperties":false},"description":"Review evidence."}},"required":["action","service","orders","reviews"],"additionalProperties":false},{"type":"object","properties":{"action":{"type":"string","const":"match_discover"},"description":{"type":"string","description":"Demand description — drives sensitivity inference + demand capability extraction."},"location":{"type":"string","description":"Demand-side location (city/region raw text, or 'remote')."},"region":{"description":"AI-enriched geographic slots for `location`.","type":"object","properties":{"country":{"type":"string"},"province":{"description":"Province/state — enables neighboring-city (overlap) matching under 'near'.","type":"string"},"city":{"type":"string"}},"additionalProperties":false},"sensitivity":{"description":"Location gate hardness. Omitted → inferred from description.","type":"string","enum":["strict","near","logistics"]},"budget":{"description":"Demand price ceiling (smallest-unit string) — price dimension gate.","type":"string"},"required_capabilities":{"description":"Workflow capabilities the demand REQUIRES (e.g. has_arbitration, has_compensation_fund, has_milestone_nodes, has_refund_path, has_wip_verification, has_messenger, has_buy_guard).","type":"array","items":{"type":"string"}},"category":{"description":"Category match rules key (e.g. 'life_service', 'retail') — applies hard-constraint filtering + re-anchors the six-dimension weights (15 §3). Omit = generic six-dimension scoring.","type":"string"},"coin_type":{"description":"Exact coin instantiation, e.g. '0x2::wow::WOW'; omit = ALL Service<T> generics.","type":"string"},"name_contains":{"description":"Case-insensitive substring filter on service name.","type":"string"},"max_objects":{"description":"Enumeration cap before filtering (default 200).","type":"integer","minimum":1,"maximum":500},"context_network":{"description":"Network (defaults to the user's current network when omitted).","type":"string"},"no_cache":{"description":"Force fresh on-chain enumeration (bypass the configured local list cache).","type":"boolean"},"presenter_history":{"type":"array","items":{"type":"object","properties":{"demand_id":{"description":"Demand object that received the presentation.","type":"string"},"presenter":{"description":"F-RQ-10: the presenter (service object address) this record is about — records carrying it become that service's counterparty trust evidence (the on-chain writer is the demand OWNER, so the signal cannot be self-authored by the merchant); omit for legacy global-only acceptance scoring.","type":"string"},"presenter_service":{"description":"tv8 F-28: the SERVICE object address the record is about (the value side of the on-chain DemandPresenter entry — the table key is the presenter ACCOUNT). Dual-domain matching accepts either this or `presenter`; chain-faithful readers fill BOTH.","type":"string"},"acceptance_score":{"anyOf":[{"type":"number"},{"type":"null"}],"description":"Demand owner's acceptance score (u8 on-chain, 0-100 scale). null = not yet rated."},"feedback_time":{"description":"Feedback timestamp (ms or s, informational only).","type":"number"}},"required":["acceptance_score"],"additionalProperties":false},"description":"P2-2: presenter acceptance history (demand-side acceptance_score backflow) for the SINGLE party being evaluated (e.g. the merchant behind the candidate service set, or the demand owner being matched). Collect via onchain_table_item_demand_presenter across that party's Demand presenter tables. When the candidate set spans multiple unrelated parties, evaluate per-party or omit — the acceptance rule scores neutral without history."},"injection":{"type":"object","properties":{"intent":{"description":"Free-text intent.","type":"string"},"preferences":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"requirements":{"description":"Hard red lines (block when violated).","type":"array","items":{"type":"object","properties":{"rule_id":{"type":"string"},"condition":{"type":"string","enum":["require","forbid"]},"note":{"type":"string"}},"required":["rule_id","condition"],"additionalProperties":false}},"overrides":{"description":"Enable/disable/reweight rules and data sources.","type":"object","properties":{"rules":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"object","properties":{"enabled":{"type":"boolean"},"weight":{"type":"number"}},"additionalProperties":false}},"data_sources":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"object","properties":{"enabled":{"type":"boolean"}},"additionalProperties":false}}},"additionalProperties":false}},"additionalProperties":false},"account":{"description":"Account address; its persona is auto-applied as the base injection.","type":"string"},"match_policy":{"description":"R4 private ranking policy (K5-05 §4): a preset id (default, retail, life_service, trust_first, cross_border, cheap_and_fast, enterprise) or an inline policy object. Applied entirely on-device over the recalled candidates — gates/excludes/weights/rerank with honest `policy_effect` reporting; NEVER sent to the data service. Omitted: resolved from the stored chain — account persona match config → match-policy.json (general file) → system persona → engine defaults; policy_effect.policy_source reports the winning layer.","anyOf":[{"type":"string"},{"type":"object","properties":{"policy_id":{"type":"string","minLength":1},"version":{"type":"integer","minimum":0,"maximum":9007199254740991},"direction":{"description":"Default demand_to_supply. A demand_to_supply policy drives match_discover; a supply_to_demand policy drives demand_present / discover_demands (and is rejected by match_discover).","type":"string","enum":["demand_to_supply","supply_to_demand"]},"unknown_policy":{"description":"What a gate with missing input does (K5-05 axiom 3). Default neutral_score (= pass, reported).","type":"string","enum":["pass","drop","neutral_score"]},"gates":{"type":"array","items":{"type":"object","properties":{"dim":{"type":"string","description":"Gate dimension. Enforced client-side: live, price, arb, compensation, machine, messenger, buy_guard, wip_verify, text, owner. Others are reported as ignored (not enforceable on-device yet)."},"op":{"description":"Comparison operator (eq/lte/gte/in/not_in/must_contain/must_not_contain) — validated per dim at apply time.","type":"string"},"value":{"anyOf":[{"type":"boolean"},{"type":"number"},{"type":"string"},{"type":"array","items":{"type":"string"}}]},"params":{"description":"Extra params; `from_budget: true` on a price gate uses the request budget as the threshold.","type":"object","propertyNames":{"type":"string"},"additionalProperties":{}}},"required":["dim"],"additionalProperties":false}},"excludes":{"type":"array","items":{"type":"object","properties":{"dim":{"type":"string","description":"Exclude dimension. Enforced client-side: blacklist (objects/owners lists). anti_cheat/structure dims are reported as ignored (no client-side facet)."},"objects":{"type":"array","items":{"type":"string"}},"owners":{"type":"array","items":{"type":"string"}},"flags":{"type":"array","items":{"type":"string"}},"source":{"type":"array","items":{"type":"string"}},"rule":{"type":"string"}},"required":["dim"],"additionalProperties":false}},"weights":{"description":"demand_match rule id → weight (region/industry/price/trust/capabilities/tags/acceptance). Unregistered ids are reported as ignored.","type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"number","minimum":0}},"rerank":{"type":"object","properties":{"diversity":{"description":"Greedy per-group cap over the score-ordered list. `permission` is not enforceable client-side yet (reported ignored); use `owner`.","type":"object","properties":{"by":{"type":"string","enum":["owner","permission"]},"max_per_group":{"type":"integer","minimum":1,"maximum":9007199254740991}},"required":["by","max_per_group"],"additionalProperties":false},"explore":{},"llm":{},"fairness":{}},"additionalProperties":false},"recall":{"description":"Server/recall directives — accepted for portability, not enforceable from the client (reported ignored)."},"verify":{"description":"Facet verification directives — accepted for portability, not enforceable client-side (reported ignored)."},"output":{"type":"object","properties":{"top_n":{"type":"integer","minimum":1,"maximum":500},"explain":{"type":"boolean"},"evidence_chain":{},"coverage_report":{}},"additionalProperties":false}},"required":["policy_id"],"additionalProperties":false}]}},"required":["action","description","location"],"additionalProperties":false},{"type":"object","properties":{"action":{"type":"string","const":"arbitration_score"},"arbitration":{"type":"object","properties":{"object":{"description":"Arbitration object address.","type":"string"},"fee":{"description":"Arbitration fee (smallest-unit string).","type":"string"},"balance":{"description":"Capital pool (smallest-unit string).","type":"string"},"voting_guard_count":{"description":"Number of voting guards (governance distribution proxy).","type":"integer","minimum":0,"maximum":9007199254740991},"bPaused":{"type":"boolean"},"location":{"type":"string"},"has_verified_identity":{"description":"A7: whether the arbitrator has a verified on-chain Personal identity (unknown when omitted → neutral).","type":"boolean"}},"additionalProperties":false},"history":{"description":"Historical Arb cases (pre-aggregated; the on-chain reverse index is a wow data layer deliverable).","type":"array","items":{"type":"object","properties":{"status":{"description":"Arb status (e.g. 'Arbitrated', 'Finished', 'Objectionable').","type":"string"},"time":{"description":"Dispute creation time (ms epoch).","type":"number"},"resolved_time":{"description":"Resolution time (ms epoch).","type":"number"},"indemnity_amount":{"description":"Compensation paid (smallest-unit string; '0'/absent = none).","type":"string"},"feedback_positive":{"type":"boolean"},"objected":{"type":"boolean"}},"additionalProperties":false}},"entity_votes":{"type":"object","properties":{"like_ratio":{"description":"0-1 community like ratio.","type":"number","minimum":0,"maximum":1},"favor":{"description":"Whether peers favorited this entity.","type":"boolean"}},"additionalProperties":false},"fee_median":{"description":"Market fee median (smallest-unit string) for the fee-reasonableness rule.","type":"string"},"injection":{"type":"object","properties":{"intent":{"description":"Free-text intent.","type":"string"},"preferences":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"requirements":{"description":"Hard red lines (block when violated).","type":"array","items":{"type":"object","properties":{"rule_id":{"type":"string"},"condition":{"type":"string","enum":["require","forbid"]},"note":{"type":"string"}},"required":["rule_id","condition"],"additionalProperties":false}},"overrides":{"description":"Enable/disable/reweight rules and data sources.","type":"object","properties":{"rules":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"object","properties":{"enabled":{"type":"boolean"},"weight":{"type":"number"}},"additionalProperties":false}},"data_sources":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"object","properties":{"enabled":{"type":"boolean"}},"additionalProperties":false}}},"additionalProperties":false}},"additionalProperties":false},"account":{"description":"Account address; its persona is auto-applied as the base injection.","type":"string"},"context_network":{"description":"Network (defaults to the user's current network when omitted). Used to auto-fetch real Arb history when `history` is omitted.","type":"string"}},"required":["action","arbitration"],"additionalProperties":false},{"type":"object","properties":{"action":{"type":"string","const":"account_events"},"account":{"description":"Account address to watch for (default account when omitted).","type":"string"},"categories":{"description":"Watcher ids to run (omit = all registered watchers).","type":"array","items":{"type":"string"}},"reviews":{"description":"Review rows (from a Service's ReviewRepository, via onchain_table_data) — enables the reputation_integrity watcher (verification, stats, manipulation detection).","type":"array","items":{"type":"object","properties":{"reviewer":{"type":"string","description":"Reviewer address."},"rating":{"type":"string","enum":["like","dislike"]},"tags":{"type":"array","items":{"type":"string"}},"comment":{"type":"string"},"orderRef":{"description":"Associated order id — the credential for no-order-no-review verification.","type":"string"},"timestamp":{"description":"Submission time (ms epoch).","type":"number"},"verified":{"description":"Whether the review carries a completed-order credential; recomputed when order_history is supplied.","type":"boolean"}},"required":["reviewer","rating"],"additionalProperties":false}},"order_history":{"description":"Order history used to re-derive review credentials (no-order-no-review).","type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Order object id."},"status":{"type":"string","description":"Order status (e.g. 'completed', 'success')."}},"required":["id","status"],"additionalProperties":false}},"context_network":{"description":"Network (defaults to the user's current network when omitted).","type":"string"}},"required":["action"],"additionalProperties":false}]}