@wowok/agent-mcp 2.7.2 → 2.7.3

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 (347) hide show
  1. package/dist/config/runtime.js +1 -1
  2. package/dist/customer/account-events.d.ts +32 -0
  3. package/dist/customer/account-events.js +1 -0
  4. package/dist/customer/customer-advice.d.ts +1 -0
  5. package/dist/customer/customer-advice.js +1 -1
  6. package/dist/customer/info-puzzle.js +1 -1
  7. package/dist/customer/order-strategy.d.ts +1 -1
  8. package/dist/customer/reminder-system.d.ts +2 -0
  9. package/dist/customer/reminder-system.js +1 -1
  10. package/dist/customer/risk-assessment.d.ts +1 -0
  11. package/dist/customer/risk-assessment.js +1 -1
  12. package/dist/customer/types.d.ts +2 -0
  13. package/dist/evaluation/builtins/arbitration-score.d.ts +41 -0
  14. package/dist/evaluation/builtins/arbitration-score.js +1 -0
  15. package/dist/evaluation/builtins/index.d.ts +1 -0
  16. package/dist/evaluation/builtins/index.js +1 -1
  17. package/dist/evaluation/category-match-rules.d.ts +30 -0
  18. package/dist/evaluation/category-match-rules.js +1 -0
  19. package/dist/evaluation/engine.js +1 -1
  20. package/dist/evaluation/extract.js +1 -1
  21. package/dist/evaluation/index.d.ts +1 -0
  22. package/dist/evaluation/index.js +1 -1
  23. package/dist/evaluation/location-match.d.ts +42 -0
  24. package/dist/evaluation/location-match.js +1 -0
  25. package/dist/evaluation/path-reasoning.d.ts +35 -0
  26. package/dist/evaluation/path-reasoning.js +1 -0
  27. package/dist/evaluation/region.d.ts +6 -0
  28. package/dist/evaluation/region.js +1 -1
  29. package/dist/evaluation/types.d.ts +17 -0
  30. package/dist/experience/realtime-feedback.js +1 -1
  31. package/dist/experience/user-profile.d.ts +1 -1
  32. package/dist/extensions/index.d.ts +6 -0
  33. package/dist/extensions/index.js +1 -1
  34. package/dist/extensions/industry-layers.d.ts +75 -0
  35. package/dist/extensions/industry-layers.js +1 -0
  36. package/dist/extensions/industry-pack.d.ts +105 -0
  37. package/dist/extensions/industry-pack.js +1 -0
  38. package/dist/extensions/metric-registry.js +1 -1
  39. package/dist/extensions/mode-evaluator.d.ts +1 -1
  40. package/dist/extensions/registry.d.ts +1 -0
  41. package/dist/extensions/registry.js +1 -1
  42. package/dist/graph/base.d.ts +8 -0
  43. package/dist/graph/base.js +1 -0
  44. package/dist/harness/index.d.ts +1 -0
  45. package/dist/harness/index.js +1 -1
  46. package/dist/harness/plan.d.ts +2 -0
  47. package/dist/harness/plan.js +1 -1
  48. package/dist/harness/recover.d.ts +1 -1
  49. package/dist/harness/types.d.ts +2 -3
  50. package/dist/index.js +1 -1
  51. package/dist/knowledge/allocation-confirm.js +1 -1
  52. package/dist/knowledge/anti-cheat.d.ts +37 -0
  53. package/dist/knowledge/anti-cheat.js +1 -0
  54. package/dist/knowledge/arb-confirm.d.ts +28 -0
  55. package/dist/knowledge/arb-confirm.js +1 -0
  56. package/dist/knowledge/arb-translation.d.ts +48 -0
  57. package/dist/knowledge/arb-translation.js +1 -0
  58. package/dist/knowledge/arbitration-context.js +1 -1
  59. package/dist/knowledge/bridge-confirm.d.ts +26 -0
  60. package/dist/knowledge/bridge-confirm.js +1 -0
  61. package/dist/knowledge/bridge-translation.d.ts +37 -0
  62. package/dist/knowledge/bridge-translation.js +1 -0
  63. package/dist/knowledge/contact-confirm.d.ts +27 -0
  64. package/dist/knowledge/contact-confirm.js +1 -0
  65. package/dist/knowledge/contact-translation.d.ts +39 -0
  66. package/dist/knowledge/contact-translation.js +1 -0
  67. package/dist/knowledge/demand-context.d.ts +17 -0
  68. package/dist/knowledge/demand-context.js +1 -0
  69. package/dist/knowledge/demand-ledger.d.ts +26 -0
  70. package/dist/knowledge/demand-ledger.js +1 -0
  71. package/dist/knowledge/demand-puzzle.d.ts +29 -0
  72. package/dist/knowledge/demand-puzzle.js +1 -0
  73. package/dist/knowledge/demand-templates.d.ts +12 -0
  74. package/dist/knowledge/demand-templates.js +1 -0
  75. package/dist/knowledge/demand-translation.js +1 -1
  76. package/dist/knowledge/deployment-scanner.js +1 -1
  77. package/dist/knowledge/evidence-review.d.ts +12 -0
  78. package/dist/knowledge/evidence-review.js +1 -0
  79. package/dist/knowledge/examples-scanner-cli.js +1 -1
  80. package/dist/knowledge/examples-scanner.js +1 -1
  81. package/dist/knowledge/flywheel-loop.d.ts +0 -1
  82. package/dist/knowledge/flywheel-loop.js +1 -1
  83. package/dist/knowledge/guard-design-patterns.js +1 -1
  84. package/dist/knowledge/guard-migration.d.ts +1 -1
  85. package/dist/knowledge/index.d.ts +71 -3
  86. package/dist/knowledge/index.js +1 -1
  87. package/dist/knowledge/industry-registry.js +1 -1
  88. package/dist/knowledge/machine-render.js +1 -1
  89. package/dist/knowledge/market-metrics.d.ts +12 -0
  90. package/dist/knowledge/market-metrics.js +1 -0
  91. package/dist/knowledge/market-operations.d.ts +46 -0
  92. package/dist/knowledge/market-operations.js +1 -0
  93. package/dist/knowledge/mcp-schema-audit-cli.js +1 -1
  94. package/dist/knowledge/mcp-schema-audit.d.ts +22 -22
  95. package/dist/knowledge/mcp-schema-audit.js +1 -1
  96. package/dist/knowledge/onchain-constants.js +1 -1
  97. package/dist/knowledge/payment-confirm.d.ts +26 -0
  98. package/dist/knowledge/payment-confirm.js +1 -0
  99. package/dist/knowledge/payment-translation.d.ts +37 -0
  100. package/dist/knowledge/payment-translation.js +1 -0
  101. package/dist/knowledge/permission-ledger.d.ts +11 -0
  102. package/dist/knowledge/permission-ledger.js +1 -1
  103. package/dist/knowledge/personal-confirm.d.ts +29 -0
  104. package/dist/knowledge/personal-confirm.js +1 -0
  105. package/dist/knowledge/personal-translation.d.ts +37 -0
  106. package/dist/knowledge/personal-translation.js +1 -0
  107. package/dist/knowledge/process-model.d.ts +1 -11
  108. package/dist/knowledge/process-model.js +1 -1
  109. package/dist/knowledge/proof-context.d.ts +17 -0
  110. package/dist/knowledge/proof-context.js +1 -0
  111. package/dist/knowledge/proof-ledger.d.ts +34 -0
  112. package/dist/knowledge/proof-ledger.js +1 -0
  113. package/dist/knowledge/proof-puzzle.d.ts +35 -0
  114. package/dist/knowledge/proof-puzzle.js +1 -0
  115. package/dist/knowledge/proof-templates.d.ts +22 -0
  116. package/dist/knowledge/proof-templates.js +1 -0
  117. package/dist/knowledge/registrar-confirm.d.ts +26 -0
  118. package/dist/knowledge/registrar-confirm.js +1 -0
  119. package/dist/knowledge/registrar-translation.d.ts +37 -0
  120. package/dist/knowledge/registrar-translation.js +1 -0
  121. package/dist/knowledge/repository-context.d.ts +12 -0
  122. package/dist/knowledge/repository-context.js +1 -0
  123. package/dist/knowledge/repository-ledger.d.ts +25 -0
  124. package/dist/knowledge/repository-ledger.js +1 -0
  125. package/dist/knowledge/repository-puzzle.d.ts +30 -0
  126. package/dist/knowledge/repository-puzzle.js +1 -0
  127. package/dist/knowledge/repository-templates.d.ts +14 -0
  128. package/dist/knowledge/repository-templates.js +1 -0
  129. package/dist/knowledge/resource-confirm.d.ts +25 -0
  130. package/dist/knowledge/resource-confirm.js +1 -0
  131. package/dist/knowledge/resource-translation.d.ts +37 -0
  132. package/dist/knowledge/resource-translation.js +1 -0
  133. package/dist/knowledge/reward-context.d.ts +2 -2
  134. package/dist/knowledge/safety-rules.d.ts +1 -0
  135. package/dist/knowledge/safety-rules.js +1 -1
  136. package/dist/knowledge/service-risk.d.ts +1 -1
  137. package/dist/knowledge/service-risk.js +1 -1
  138. package/dist/knowledge/template-registry.js +1 -1
  139. package/dist/knowledge/tools-reference.js +1 -1
  140. package/dist/knowledge/universal-template.d.ts +22 -0
  141. package/dist/knowledge/universal-template.js +1 -0
  142. package/dist/knowledge/util-confirm.d.ts +24 -0
  143. package/dist/knowledge/util-confirm.js +1 -0
  144. package/dist/knowledge/util-translation.d.ts +38 -0
  145. package/dist/knowledge/util-translation.js +1 -0
  146. package/dist/knowledge/workflow-guidance.d.ts +116 -0
  147. package/dist/knowledge/workflow-guidance.js +1 -0
  148. package/dist/participation/employee-kpi.d.ts +25 -0
  149. package/dist/participation/employee-kpi.js +1 -0
  150. package/dist/participation/employee-store.d.ts +16 -0
  151. package/dist/participation/employee-store.js +1 -0
  152. package/dist/participation/index.d.ts +2 -0
  153. package/dist/participation/index.js +1 -0
  154. package/dist/persona/defaults.js +1 -1
  155. package/dist/persona/index.d.ts +9 -2
  156. package/dist/persona/index.js +1 -1
  157. package/dist/persona/local-region.d.ts +20 -0
  158. package/dist/persona/local-region.js +1 -0
  159. package/dist/persona/model.js +1 -1
  160. package/dist/persona/overrides.d.ts +10 -0
  161. package/dist/persona/overrides.js +1 -0
  162. package/dist/persona/pack-personae.d.ts +11 -0
  163. package/dist/persona/pack-personae.js +1 -0
  164. package/dist/persona/strategy-intent.d.ts +20 -0
  165. package/dist/persona/strategy-intent.js +1 -0
  166. package/dist/persona/types.d.ts +3 -1
  167. package/dist/project/business-puzzle.d.ts +1 -1
  168. package/dist/project/business-puzzle.js +1 -1
  169. package/dist/project/deployment-doc.js +1 -1
  170. package/dist/project/edit-planner.js +1 -1
  171. package/dist/project/evaluation.d.ts +37 -1
  172. package/dist/project/evaluation.js +1 -1
  173. package/dist/project/graph.d.ts +3 -6
  174. package/dist/project/handlers.d.ts +33 -2
  175. package/dist/project/handlers.js +1 -1
  176. package/dist/project/index.d.ts +1 -0
  177. package/dist/project/index.js +1 -1
  178. package/dist/project/merchant-guide.d.ts +19 -0
  179. package/dist/project/merchant-guide.js +1 -1
  180. package/dist/project/mode-actions.js +1 -1
  181. package/dist/project/rollback-policy.js +1 -1
  182. package/dist/project/semantic-graph.d.ts +3 -5
  183. package/dist/project/workflow-design-assessment.d.ts +24 -0
  184. package/dist/project/workflow-design-assessment.js +1 -0
  185. package/dist/safety/confirm-gate.d.ts +1 -1
  186. package/dist/safety/confirm-gate.js +1 -1
  187. package/dist/schema/call/allocation.d.ts +186 -1385
  188. package/dist/schema/call/arbitration.d.ts +272 -1871
  189. package/dist/schema/call/base.d.ts +1831 -9076
  190. package/dist/schema/call/base.js +1 -1
  191. package/dist/schema/call/bridge.d.ts +911 -3171
  192. package/dist/schema/call/contact.d.ts +135 -931
  193. package/dist/schema/call/demand.d.ts +164 -1194
  194. package/dist/schema/call/guard.d.ts +298 -1140
  195. package/dist/schema/call/guard.js +1 -1
  196. package/dist/schema/call/machine.d.ts +459 -5403
  197. package/dist/schema/call/machine.js +1 -1
  198. package/dist/schema/call/order.d.ts +137 -844
  199. package/dist/schema/call/payment.d.ts +74 -561
  200. package/dist/schema/call/permission.d.ts +335 -2791
  201. package/dist/schema/call/personal.d.ts +227 -1814
  202. package/dist/schema/call/progress.d.ts +140 -843
  203. package/dist/schema/call/proof.d.ts +42 -258
  204. package/dist/schema/call/repository.d.ts +324 -2222
  205. package/dist/schema/call/reward.d.ts +153 -1183
  206. package/dist/schema/call/semantic.js +1 -1
  207. package/dist/schema/call/service.d.ts +376 -3431
  208. package/dist/schema/call/treasury.d.ts +252 -2158
  209. package/dist/schema/common/index.d.ts +222 -697
  210. package/dist/schema/common/index.js +1 -1
  211. package/dist/schema/config/index.d.ts +18 -161
  212. package/dist/schema/employee/index.d.ts +99 -0
  213. package/dist/schema/employee/index.js +1 -0
  214. package/dist/schema/evaluation/index.d.ts +1035 -3918
  215. package/dist/schema/evaluation/index.js +1 -1
  216. package/dist/schema/index.d.ts +3 -0
  217. package/dist/schema/index.js +1 -1
  218. package/dist/schema/industry-pack/index.d.ts +132 -0
  219. package/dist/schema/industry-pack/index.js +1 -0
  220. package/dist/schema/intent-radar/index.d.ts +92 -245
  221. package/dist/schema/intent-radar/index.js +1 -1
  222. package/dist/schema/local/index.d.ts +2045 -18080
  223. package/dist/schema/local/index.js +1 -1
  224. package/dist/schema/local/wip.d.ts +61 -651
  225. package/dist/schema/local/wip.js +1 -1
  226. package/dist/schema/messenger/index.d.ts +949 -5557
  227. package/dist/schema/messenger/index.js +1 -1
  228. package/dist/schema/operations.d.ts +2969 -26518
  229. package/dist/schema/operations.js +1 -1
  230. package/dist/schema/persona/index.d.ts +469 -1820
  231. package/dist/schema/persona/index.js +1 -1
  232. package/dist/schema/project/index.d.ts +1023 -8450
  233. package/dist/schema/project/index.js +1 -1
  234. package/dist/schema/query/index.d.ts +12042 -75678
  235. package/dist/schema/query/index.js +1 -1
  236. package/dist/schema/schema-query/index.d.ts +35 -98
  237. package/dist/schema/schema-query/index.js +1 -1
  238. package/dist/schema/schema-version.js +1 -1
  239. package/dist/schema/task-status.d.ts +26 -132
  240. package/dist/schema/trust/index.d.ts +194 -1290
  241. package/dist/schema/utils/guard-parser.js +1 -1
  242. package/dist/schema/utils/node-parser.js +1 -1
  243. package/dist/schema/utils/skills-recommendation.d.ts +1 -0
  244. package/dist/schema/utils/skills-recommendation.js +1 -1
  245. package/dist/schema/workspace/index.d.ts +69 -0
  246. package/dist/schema/workspace/index.js +1 -0
  247. package/dist/{schema-query → schema-query-impl}/index.js +1 -1
  248. package/dist/schemas/account_operation.output.json +3147 -1655
  249. package/dist/schemas/account_operation.schema.json +225 -218
  250. package/dist/schemas/bridge_operation.output.json +1168 -653
  251. package/dist/schemas/bridge_operation.schema.json +736 -504
  252. package/dist/schemas/config_operation.output.json +185 -179
  253. package/dist/schemas/config_operation.schema.json +21 -26
  254. package/dist/schemas/employee_operation.output.json +207 -0
  255. package/dist/schemas/employee_operation.schema.json +176 -0
  256. package/dist/schemas/evaluation_operation.output.json +2268 -601
  257. package/dist/schemas/evaluation_operation.schema.json +2919 -787
  258. package/dist/schemas/guard2file.output.json +58 -64
  259. package/dist/schemas/guard2file.schema.json +79 -81
  260. package/dist/schemas/index.json +29 -11
  261. package/dist/schemas/industry_pack_operation.output.json +594 -0
  262. package/dist/schemas/industry_pack_operation.schema.json +55 -0
  263. package/dist/schemas/intent_radar.output.json +275 -203
  264. package/dist/schemas/intent_radar.schema.json +124 -126
  265. package/dist/schemas/local_info_operation.output.json +1174 -660
  266. package/dist/schemas/local_info_operation.schema.json +119 -125
  267. package/dist/schemas/local_mark_operation.output.json +1239 -692
  268. package/dist/schemas/local_mark_operation.schema.json +91 -96
  269. package/dist/schemas/machineNode2file.output.json +63 -69
  270. package/dist/schemas/machineNode2file.schema.json +79 -81
  271. package/dist/schemas/messenger_operation.output.json +2722 -1531
  272. package/dist/schemas/messenger_operation.schema.json +1482 -1264
  273. package/dist/schemas/onchain_events.output.json +2590 -978
  274. package/dist/schemas/onchain_events.schema.json +117 -99
  275. package/dist/schemas/onchain_operations.output.json +3957 -2312
  276. package/dist/schemas/onchain_operations.schema.json +20799 -9285
  277. package/dist/schemas/onchain_operations_allocation.schema.json +171 -107
  278. package/dist/schemas/onchain_operations_arbitration.schema.json +233 -146
  279. package/dist/schemas/onchain_operations_contact.schema.json +129 -90
  280. package/dist/schemas/onchain_operations_demand.schema.json +170 -112
  281. package/dist/schemas/onchain_operations_gen_passport.schema.json +61 -646
  282. package/dist/schemas/onchain_operations_gen_proof.schema.json +40 -172
  283. package/dist/schemas/onchain_operations_guard.schema.json +3765 -294
  284. package/dist/schemas/onchain_operations_machine.schema.json +536 -163
  285. package/dist/schemas/onchain_operations_order.schema.json +126 -96
  286. package/dist/schemas/onchain_operations_payment.schema.json +82 -67
  287. package/dist/schemas/onchain_operations_permission.schema.json +331 -93
  288. package/dist/schemas/onchain_operations_personal.schema.json +636 -96
  289. package/dist/schemas/onchain_operations_progress.schema.json +125 -92
  290. package/dist/schemas/onchain_operations_proof.schema.json +76 -69
  291. package/dist/schemas/onchain_operations_repository.schema.json +636 -249
  292. package/dist/schemas/onchain_operations_reward.schema.json +218 -108
  293. package/dist/schemas/onchain_operations_service.schema.json +678 -220
  294. package/dist/schemas/onchain_operations_treasury.schema.json +401 -135
  295. package/dist/schemas/onchain_table_data.output.json +6018 -2433
  296. package/dist/schemas/onchain_table_data.schema.json +544 -430
  297. package/dist/schemas/persona_operation.output.json +1568 -268
  298. package/dist/schemas/persona_operation.schema.json +346 -205
  299. package/dist/schemas/project_operation.output.json +6922 -5132
  300. package/dist/schemas/project_operation.schema.json +1050 -1020
  301. package/dist/schemas/query_task_status.output.json +195 -99
  302. package/dist/schemas/query_task_status.schema.json +12 -18
  303. package/dist/schemas/query_toolkit.output.json +18862 -14561
  304. package/dist/schemas/query_toolkit.schema.json +614 -522
  305. package/dist/schemas/schema_query.output.json +127 -129
  306. package/dist/schemas/schema_query.schema.json +64 -69
  307. package/dist/schemas/trust_score.output.json +678 -587
  308. package/dist/schemas/trust_score.schema.json +289 -277
  309. package/dist/schemas/wip_file.output.json +116 -124
  310. package/dist/schemas/wip_file.schema.json +142 -143
  311. package/dist/schemas/workspace_operation.output.json +277 -0
  312. package/dist/schemas/workspace_operation.schema.json +45 -0
  313. package/dist/schemas/wowok_buildin_info.output.json +1682 -844
  314. package/dist/schemas/wowok_buildin_info.schema.json +576 -526
  315. package/dist/tools/handlers/bridge.d.ts +8 -1
  316. package/dist/tools/handlers/bridge.js +1 -1
  317. package/dist/tools/handlers/config.js +1 -1
  318. package/dist/tools/handlers/employee.d.ts +2 -0
  319. package/dist/tools/handlers/employee.js +1 -0
  320. package/dist/tools/handlers/evaluation.js +1 -1
  321. package/dist/tools/handlers/file-export.js +1 -1
  322. package/dist/tools/handlers/industry-pack.d.ts +2 -0
  323. package/dist/tools/handlers/industry-pack.js +1 -0
  324. package/dist/tools/handlers/onchain.js +1 -1
  325. package/dist/tools/handlers/persona.js +1 -1
  326. package/dist/tools/handlers/project.js +1 -1
  327. package/dist/tools/handlers/query.js +1 -1
  328. package/dist/tools/handlers/schema-query.js +1 -1
  329. package/dist/tools/handlers/trust.js +1 -1
  330. package/dist/tools/handlers/wip.js +1 -1
  331. package/dist/tools/handlers/workspace.d.ts +2 -0
  332. package/dist/tools/handlers/workspace.js +1 -0
  333. package/dist/tools/index.d.ts +2 -1
  334. package/dist/tools/index.js +1 -1
  335. package/dist/tools/rules-hook.d.ts +1 -1
  336. package/dist/tools/rules-hook.js +1 -1
  337. package/dist/tools/shared.d.ts +1 -1
  338. package/dist/tools/shared.js +1 -1
  339. package/dist/tools/types.d.ts +2 -1
  340. package/package.json +4 -5
  341. package/dist/knowledge/arbitration-trust.d.ts +0 -24
  342. package/dist/knowledge/arbitration-trust.js +0 -1
  343. package/dist/schema/call/bridge-handler.d.ts +0 -8
  344. package/dist/schema/call/bridge-handler.js +0 -1
  345. package/dist/schema/sync-layer4.d.ts +0 -21
  346. package/dist/schema/sync-layer4.js +0 -1
  347. /package/dist/{schema-query → schema-query-impl}/index.d.ts +0 -0
@@ -1,718 +1,809 @@
1
1
  {
2
2
  "$schema": "http://json-schema.org/draft-07/schema#",
3
- "$id": "https://wowok.net/schemas/trust_score.json",
3
+ "$id": "https://wowok.net/schemas/trust_score.output.json",
4
4
  "title": "Trust Score - Service Risk & Trust Assessment",
5
5
  "description": "Proactively query the trust score (0-100, 5 dimensions) and risk assessment (4 dimensions, 100-point) of a Service object. Parameters: service (required), order_amount (optional), depth (optional: browse/evaluate/preorder).",
6
- "$ref": "#/definitions/trust_score",
7
- "definitions": {
8
- "trust_score": {
6
+ "type": "object",
7
+ "properties": {
8
+ "result": {
9
9
  "type": "object",
10
10
  "properties": {
11
- "result": {
11
+ "service_id": {
12
+ "type": "string",
13
+ "description": "The Service object ID or local_mark that was evaluated."
14
+ },
15
+ "service_name": {
16
+ "type": "string",
17
+ "description": "Service display name (falls back to service_id if unnamed)."
18
+ },
19
+ "service_basics": {
12
20
  "type": "object",
13
21
  "properties": {
14
- "service_id": {
22
+ "bPublished": {
23
+ "type": "boolean",
24
+ "description": "Whether the Service is published (open for orders)."
25
+ },
26
+ "bPaused": {
27
+ "type": "boolean",
28
+ "description": "Whether the Service is temporarily paused."
29
+ },
30
+ "sales_count": {
31
+ "type": "integer",
32
+ "minimum": 0,
33
+ "maximum": 9007199254740991,
34
+ "description": "Number of active (non-suspended) sale entries."
35
+ },
36
+ "has_machine": {
37
+ "type": "boolean",
38
+ "description": "Whether a Machine workflow is attached."
39
+ },
40
+ "has_buy_guard": {
41
+ "type": "boolean",
42
+ "description": "Whether a buy-side Guard is configured."
43
+ },
44
+ "has_um_contact": {
45
+ "type": "boolean",
46
+ "description": "Whether a Messenger (um) contact is configured."
47
+ },
48
+ "arbitrations_count": {
49
+ "type": "integer",
50
+ "minimum": 0,
51
+ "maximum": 9007199254740991,
52
+ "description": "Number of arbitration entries attached to the Service."
53
+ }
54
+ },
55
+ "required": [
56
+ "bPublished",
57
+ "bPaused",
58
+ "sales_count",
59
+ "has_machine",
60
+ "has_buy_guard",
61
+ "has_um_contact",
62
+ "arbitrations_count"
63
+ ],
64
+ "additionalProperties": false,
65
+ "description": "Service snapshot — basic on-chain state."
66
+ },
67
+ "trust_score": {
68
+ "type": "object",
69
+ "properties": {
70
+ "score": {
71
+ "type": "number",
72
+ "minimum": 0,
73
+ "maximum": 100,
74
+ "description": "Overall trust score (0-100, higher = more trustworthy)."
75
+ },
76
+ "level": {
15
77
  "type": "string",
16
- "description": "The Service object ID or local_mark that was evaluated."
78
+ "enum": [
79
+ "high_risk",
80
+ "caution",
81
+ "moderate",
82
+ "trusted"
83
+ ],
84
+ "description": "Trust level label derived from the score."
17
85
  },
18
- "service_name": {
86
+ "summary": {
19
87
  "type": "string",
20
- "description": "Service display name (falls back to service_id if unnamed)."
88
+ "description": "One-line human-readable trust summary."
21
89
  },
22
- "service_basics": {
23
- "type": "object",
24
- "properties": {
25
- "bPublished": {
26
- "type": "boolean",
27
- "description": "Whether the Service is published (open for orders)."
28
- },
29
- "bPaused": {
30
- "type": "boolean",
31
- "description": "Whether the Service is temporarily paused."
32
- },
33
- "sales_count": {
34
- "type": "integer",
35
- "minimum": 0,
36
- "description": "Number of active (non-suspended) sale entries."
37
- },
38
- "has_machine": {
39
- "type": "boolean",
40
- "description": "Whether a Machine workflow is attached."
41
- },
42
- "has_buy_guard": {
43
- "type": "boolean",
44
- "description": "Whether a buy-side Guard is configured."
45
- },
46
- "has_um_contact": {
47
- "type": "boolean",
48
- "description": "Whether a Messenger (um) contact is configured."
90
+ "warnings": {
91
+ "type": "array",
92
+ "items": {
93
+ "type": "string"
94
+ },
95
+ "description": "Trust warnings (e.g. low arbitration dimension score)."
96
+ },
97
+ "breakdown": {
98
+ "type": "array",
99
+ "items": {
100
+ "type": "object",
101
+ "properties": {
102
+ "score": {
103
+ "type": "number",
104
+ "description": "Dimension score achieved."
105
+ },
106
+ "maxScore": {
107
+ "type": "number",
108
+ "description": "Dimension max possible score."
109
+ },
110
+ "description": {
111
+ "type": "string",
112
+ "description": "Dimension name / description."
113
+ },
114
+ "humanReadable": {
115
+ "type": "string",
116
+ "description": "Human-readable dimension explanation."
117
+ }
49
118
  },
50
- "arbitrations_count": {
51
- "type": "integer",
52
- "minimum": 0,
53
- "description": "Number of arbitration entries attached to the Service."
54
- }
119
+ "required": [
120
+ "score",
121
+ "maxScore",
122
+ "description",
123
+ "humanReadable"
124
+ ],
125
+ "additionalProperties": false
55
126
  },
56
- "required": [
57
- "bPublished",
58
- "bPaused",
59
- "sales_count",
60
- "has_machine",
61
- "has_buy_guard",
62
- "has_um_contact",
63
- "arbitrations_count"
127
+ "description": "5-dimension breakdown: arbitration / reviews / fulfillment / fund_safety / transparency."
128
+ }
129
+ },
130
+ "required": [
131
+ "score",
132
+ "level",
133
+ "summary",
134
+ "warnings",
135
+ "breakdown"
136
+ ],
137
+ "additionalProperties": false,
138
+ "description": "ServiceTrustScore — 0-100 score across 5 trust dimensions."
139
+ },
140
+ "order_amount": {
141
+ "type": "string",
142
+ "description": "Order amount used for fund-safety assessment, in smallest token unit (bigint as string)."
143
+ },
144
+ "depth": {
145
+ "type": "string",
146
+ "enum": [
147
+ "browse",
148
+ "evaluate",
149
+ "preorder"
150
+ ],
151
+ "description": "Actual InfoPuzzle collection depth used (defaults to 'evaluate')."
152
+ },
153
+ "risk_score": {
154
+ "description": "RiskScore — present only when depth >= 'evaluate'.",
155
+ "type": "object",
156
+ "properties": {
157
+ "total": {
158
+ "type": "number",
159
+ "minimum": 0,
160
+ "maximum": 100,
161
+ "description": "Overall risk score (0-100, higher = riskier)."
162
+ },
163
+ "level": {
164
+ "type": "string",
165
+ "enum": [
166
+ "low",
167
+ "medium_low",
168
+ "medium_high",
169
+ "high"
64
170
  ],
65
- "additionalProperties": false,
66
- "description": "Service snapshot — basic on-chain state."
171
+ "description": "Risk level label derived from the total score."
172
+ },
173
+ "red_flags": {
174
+ "type": "array",
175
+ "items": {
176
+ "type": "string"
177
+ },
178
+ "description": "Critical risk red flags detected."
179
+ },
180
+ "advice": {
181
+ "type": "array",
182
+ "items": {
183
+ "type": "string"
184
+ },
185
+ "description": "Risk mitigation advice."
186
+ },
187
+ "dimensions": {
188
+ "type": "array",
189
+ "items": {
190
+ "type": "object",
191
+ "properties": {
192
+ "name": {
193
+ "type": "string",
194
+ "enum": [
195
+ "workflow",
196
+ "fund",
197
+ "trust",
198
+ "behavior"
199
+ ],
200
+ "description": "Risk dimension name."
201
+ },
202
+ "score": {
203
+ "type": "number",
204
+ "description": "Dimension score achieved."
205
+ },
206
+ "max_score": {
207
+ "type": "number",
208
+ "description": "Dimension max possible score."
209
+ },
210
+ "checks": {
211
+ "type": "array",
212
+ "items": {
213
+ "type": "object",
214
+ "properties": {
215
+ "id": {
216
+ "type": "string",
217
+ "description": "Check identifier."
218
+ },
219
+ "dimension": {
220
+ "type": "string",
221
+ "enum": [
222
+ "workflow",
223
+ "fund",
224
+ "trust",
225
+ "behavior"
226
+ ],
227
+ "description": "Dimension this check belongs to."
228
+ },
229
+ "description": {
230
+ "type": "string",
231
+ "description": "Check description."
232
+ },
233
+ "weight": {
234
+ "type": "number",
235
+ "description": "Check weight within its dimension (percentage)."
236
+ },
237
+ "passed": {
238
+ "type": "boolean",
239
+ "description": "Whether the check passed."
240
+ },
241
+ "advice": {
242
+ "description": "Advice when the check failed.",
243
+ "type": "string"
244
+ }
245
+ },
246
+ "required": [
247
+ "id",
248
+ "dimension",
249
+ "description",
250
+ "weight",
251
+ "passed"
252
+ ],
253
+ "additionalProperties": false
254
+ },
255
+ "description": "Individual risk checks within this dimension."
256
+ }
257
+ },
258
+ "required": [
259
+ "name",
260
+ "score",
261
+ "max_score",
262
+ "checks"
263
+ ],
264
+ "additionalProperties": false
265
+ },
266
+ "description": "4-dimension breakdown: workflow / fund / trust / behavior."
267
+ }
268
+ },
269
+ "required": [
270
+ "total",
271
+ "level",
272
+ "red_flags",
273
+ "advice",
274
+ "dimensions"
275
+ ],
276
+ "additionalProperties": false
277
+ },
278
+ "info_puzzle": {
279
+ "description": "InfoPuzzle summary — present only when depth >= 'evaluate'.",
280
+ "type": "object",
281
+ "properties": {
282
+ "completeness": {
283
+ "type": "number",
284
+ "minimum": 0,
285
+ "maximum": 1,
286
+ "description": "InfoPuzzle completeness ratio (0-1)."
67
287
  },
68
- "trust_score": {
288
+ "gaps": {
289
+ "type": "array",
290
+ "items": {
291
+ "type": "string"
292
+ },
293
+ "description": "Missing key puzzle pieces."
294
+ },
295
+ "assembled_at": {
296
+ "type": "number",
297
+ "description": "Assembly timestamp (ms since epoch)."
298
+ }
299
+ },
300
+ "required": [
301
+ "completeness",
302
+ "gaps",
303
+ "assembled_at"
304
+ ],
305
+ "additionalProperties": false
306
+ },
307
+ "preorder_advice": {
308
+ "description": "PreorderAdvice (GLM6/94 §3) — present only when depth = 'preorder'. AI presents evidence and options; the USER decides whether to order.",
309
+ "type": "object",
310
+ "properties": {
311
+ "confidence": {
69
312
  "type": "object",
70
313
  "properties": {
71
314
  "score": {
72
315
  "type": "number",
73
316
  "minimum": 0,
74
317
  "maximum": 100,
75
- "description": "Overall trust score (0-100, higher = more trustworthy)."
318
+ "description": "Composite order confidence (0-100, higher = safer to order)."
76
319
  },
77
- "level": {
78
- "type": "string",
79
- "enum": [
80
- "high_risk",
81
- "caution",
82
- "moderate",
83
- "trusted"
84
- ],
85
- "description": "Trust level label derived from the score."
320
+ "base": {
321
+ "type": "number",
322
+ "description": "Base confidence = 100 - risk.total."
86
323
  },
87
- "summary": {
88
- "type": "string",
89
- "description": "One-line human-readable trust summary."
324
+ "user_adjustment": {
325
+ "type": "number",
326
+ "description": "User-controllable adjustment from user_metrics (±cap)."
90
327
  },
91
- "warnings": {
92
- "type": "array",
93
- "items": {
94
- "type": "string"
95
- },
96
- "description": "Trust warnings (e.g. low arbitration dimension score)."
328
+ "preference_nudge": {
329
+ "type": "number",
330
+ "description": "Preference-match nudge (±5, only when preferences were provided)."
97
331
  },
98
- "breakdown": {
99
- "type": "array",
100
- "items": {
101
- "type": "object",
102
- "properties": {
103
- "score": {
104
- "type": "number",
105
- "description": "Dimension score achieved."
106
- },
107
- "maxScore": {
108
- "type": "number",
109
- "description": "Dimension max possible score."
110
- },
111
- "description": {
112
- "type": "string",
113
- "description": "Dimension name / description."
114
- },
115
- "humanReadable": {
116
- "type": "string",
117
- "description": "Human-readable dimension explanation."
118
- }
119
- },
120
- "required": [
121
- "score",
122
- "maxScore",
123
- "description",
124
- "humanReadable"
125
- ],
126
- "additionalProperties": false
127
- },
128
- "description": "5-dimension breakdown: arbitration / reviews / fulfillment / fund_safety / transparency."
332
+ "explanation": {
333
+ "type": "string",
334
+ "description": "Transparent breakdown of the confidence components."
129
335
  }
130
336
  },
131
337
  "required": [
132
338
  "score",
133
- "level",
134
- "summary",
135
- "warnings",
136
- "breakdown"
339
+ "base",
340
+ "user_adjustment",
341
+ "preference_nudge",
342
+ "explanation"
137
343
  ],
138
344
  "additionalProperties": false,
139
- "description": "ServiceTrustScore — 0-100 score across 5 trust dimensions."
345
+ "description": "ConfidenceScore — user-controllable composite order confidence."
140
346
  },
141
- "order_amount": {
142
- "type": "string",
143
- "description": "Order amount used for fund-safety assessment, in smallest token unit (bigint as string)."
144
- },
145
- "depth": {
347
+ "industry": {
348
+ "description": "Industry used for the industry-specific risk checks (explicit input or inferred).",
146
349
  "type": "string",
147
350
  "enum": [
148
- "browse",
149
- "evaluate",
150
- "preorder"
151
- ],
152
- "description": "Actual InfoPuzzle collection depth used (defaults to 'evaluate')."
351
+ "freelance",
352
+ "rental",
353
+ "education",
354
+ "travel",
355
+ "subscription",
356
+ "retail"
357
+ ]
358
+ },
359
+ "strategies": {
360
+ "type": "array",
361
+ "items": {
362
+ "type": "object",
363
+ "properties": {
364
+ "scenario": {
365
+ "type": "string",
366
+ "enum": [
367
+ "info_asymmetry",
368
+ "fund_safety",
369
+ "refund_dispute",
370
+ "arbitration_fairness",
371
+ "pricing",
372
+ "delivery_sla",
373
+ "quality_verification",
374
+ "after_sales"
375
+ ],
376
+ "description": "Game scenario detected from the puzzle."
377
+ },
378
+ "merchant_tactic": {
379
+ "type": "string",
380
+ "description": "Merchant's potential tactic in this scenario."
381
+ },
382
+ "user_strategy": {
383
+ "type": "string",
384
+ "description": "Recommended user-side strategy (protection/mitigation)."
385
+ },
386
+ "nash_equilibrium": {
387
+ "type": "string",
388
+ "description": "Win-win equilibrium the strategy pushes toward."
389
+ },
390
+ "confidence": {
391
+ "type": "number",
392
+ "minimum": 0,
393
+ "maximum": 1,
394
+ "description": "Strategy confidence (0-1)."
395
+ },
396
+ "fallback": {
397
+ "description": "Alternative when the user rejects the main strategy.",
398
+ "type": "string"
399
+ },
400
+ "rationale": {
401
+ "type": "string",
402
+ "description": "Trigger-condition explanation from puzzle evidence."
403
+ }
404
+ },
405
+ "required": [
406
+ "scenario",
407
+ "merchant_tactic",
408
+ "user_strategy",
409
+ "nash_equilibrium",
410
+ "confidence",
411
+ "rationale"
412
+ ],
413
+ "additionalProperties": false
414
+ },
415
+ "description": "Top merchant-vs-user game strategies (user side, max 3)."
153
416
  },
154
- "risk_score": {
417
+ "preference_match": {
418
+ "description": "PreferenceMatchResult — present when preferences (input or profile) were available.",
155
419
  "type": "object",
156
420
  "properties": {
157
- "total": {
421
+ "score": {
158
422
  "type": "number",
159
423
  "minimum": 0,
160
424
  "maximum": 100,
161
- "description": "Overall risk score (0-100, higher = riskier)."
425
+ "description": "Preference match score (0-100)."
162
426
  },
163
- "level": {
164
- "type": "string",
165
- "enum": [
166
- "low",
167
- "medium_low",
168
- "medium_high",
169
- "high"
170
- ],
171
- "description": "Risk level label derived from the total score."
172
- },
173
- "red_flags": {
427
+ "matches": {
174
428
  "type": "array",
175
429
  "items": {
176
430
  "type": "string"
177
431
  },
178
- "description": "Critical risk red flags detected."
432
+ "description": "Aspects matching the user's preferences."
179
433
  },
180
- "advice": {
434
+ "mismatches": {
181
435
  "type": "array",
182
436
  "items": {
183
437
  "type": "string"
184
438
  },
185
- "description": "Risk mitigation advice."
186
- },
187
- "dimensions": {
188
- "type": "array",
189
- "items": {
190
- "type": "object",
191
- "properties": {
192
- "name": {
193
- "type": "string",
194
- "enum": [
195
- "workflow",
196
- "fund",
197
- "trust",
198
- "behavior"
199
- ],
200
- "description": "Risk dimension name."
201
- },
202
- "score": {
203
- "type": "number",
204
- "description": "Dimension score achieved."
205
- },
206
- "max_score": {
207
- "type": "number",
208
- "description": "Dimension max possible score."
209
- },
210
- "checks": {
211
- "type": "array",
212
- "items": {
213
- "type": "object",
214
- "properties": {
215
- "id": {
216
- "type": "string",
217
- "description": "Check identifier."
218
- },
219
- "dimension": {
220
- "type": "string",
221
- "enum": [
222
- "workflow",
223
- "fund",
224
- "trust",
225
- "behavior"
226
- ],
227
- "description": "Dimension this check belongs to."
228
- },
229
- "description": {
230
- "type": "string",
231
- "description": "Check description."
232
- },
233
- "weight": {
234
- "type": "number",
235
- "description": "Check weight within its dimension (percentage)."
236
- },
237
- "passed": {
238
- "type": "boolean",
239
- "description": "Whether the check passed."
240
- },
241
- "advice": {
242
- "type": "string",
243
- "description": "Advice when the check failed."
244
- }
245
- },
246
- "required": [
247
- "id",
248
- "dimension",
249
- "description",
250
- "weight",
251
- "passed"
252
- ],
253
- "additionalProperties": false
254
- },
255
- "description": "Individual risk checks within this dimension."
256
- }
257
- },
258
- "required": [
259
- "name",
260
- "score",
261
- "max_score",
262
- "checks"
263
- ],
264
- "additionalProperties": false
265
- },
266
- "description": "4-dimension breakdown: workflow / fund / trust / behavior."
267
- }
268
- },
269
- "required": [
270
- "total",
271
- "level",
272
- "red_flags",
273
- "advice",
274
- "dimensions"
275
- ],
276
- "additionalProperties": false,
277
- "description": "RiskScore — present only when depth >= 'evaluate'."
278
- },
279
- "info_puzzle": {
280
- "type": "object",
281
- "properties": {
282
- "completeness": {
283
- "type": "number",
284
- "minimum": 0,
285
- "maximum": 1,
286
- "description": "InfoPuzzle completeness ratio (0-1)."
439
+ "description": "Aspects mismatching the user's preferences."
287
440
  },
288
- "gaps": {
441
+ "warnings": {
289
442
  "type": "array",
290
443
  "items": {
291
444
  "type": "string"
292
445
  },
293
- "description": "Missing key puzzle pieces."
294
- },
295
- "assembled_at": {
296
- "type": "number",
297
- "description": "Assembly timestamp (ms since epoch)."
446
+ "description": "Match warnings (e.g. budget stretch)."
298
447
  }
299
448
  },
300
449
  "required": [
301
- "completeness",
302
- "gaps",
303
- "assembled_at"
450
+ "score",
451
+ "matches",
452
+ "mismatches",
453
+ "warnings"
304
454
  ],
305
- "additionalProperties": false,
306
- "description": "InfoPuzzle summary — present only when depth >= 'evaluate'."
455
+ "additionalProperties": false
456
+ },
457
+ "preference_issues": {
458
+ "description": "Validation issues found in the merged preferences (e.g. budget min > max).",
459
+ "type": "array",
460
+ "items": {
461
+ "type": "string"
462
+ }
307
463
  },
308
- "preorder_advice": {
464
+ "industry_risks": {
465
+ "description": "IndustryRiskResult — industry pain-point checks (needs met / risks triggered).",
309
466
  "type": "object",
310
467
  "properties": {
311
- "confidence": {
312
- "type": "object",
313
- "properties": {
314
- "score": {
315
- "type": "number",
316
- "minimum": 0,
317
- "maximum": 100,
318
- "description": "Composite order confidence (0-100, higher = safer to order)."
319
- },
320
- "base": {
321
- "type": "number",
322
- "description": "Base confidence = 100 - risk.total."
323
- },
324
- "user_adjustment": {
325
- "type": "number",
326
- "description": "User-controllable adjustment from user_metrics (±cap)."
327
- },
328
- "preference_nudge": {
329
- "type": "number",
330
- "description": "Preference-match nudge (±5, only when preferences were provided)."
331
- },
332
- "explanation": {
333
- "type": "string",
334
- "description": "Transparent breakdown of the confidence components."
335
- }
336
- },
337
- "required": [
338
- "score",
339
- "base",
340
- "user_adjustment",
341
- "preference_nudge",
342
- "explanation"
343
- ],
344
- "additionalProperties": false,
345
- "description": "ConfidenceScore — user-controllable composite order confidence."
468
+ "score_adjustment": {
469
+ "type": "number",
470
+ "description": "Industry risk adjustment applied to the base risk score (-10 to +10)."
346
471
  },
347
- "industry": {
472
+ "summary": {
348
473
  "type": "string",
349
- "enum": [
350
- "freelance",
351
- "rental",
352
- "education",
353
- "travel",
354
- "subscription",
355
- "retail"
356
- ],
357
- "description": "Industry used for the industry-specific risk checks (explicit input or inferred)."
474
+ "description": "Industry risk assessment summary."
358
475
  },
359
- "strategies": {
476
+ "checks": {
360
477
  "type": "array",
361
478
  "items": {
362
479
  "type": "object",
363
480
  "properties": {
364
- "scenario": {
365
- "type": "string",
366
- "enum": [
367
- "info_asymmetry",
368
- "fund_safety",
369
- "refund_dispute",
370
- "arbitration_fairness",
371
- "pricing",
372
- "delivery_sla",
373
- "quality_verification",
374
- "after_sales"
375
- ],
376
- "description": "Game scenario detected from the puzzle."
377
- },
378
- "merchant_tactic": {
481
+ "id": {
379
482
  "type": "string",
380
- "description": "Merchant's potential tactic in this scenario."
483
+ "description": "Check identifier."
381
484
  },
382
- "user_strategy": {
485
+ "dimension": {
383
486
  "type": "string",
384
- "description": "Recommended user-side strategy (protection/mitigation)."
487
+ "enum": [
488
+ "workflow",
489
+ "fund",
490
+ "trust",
491
+ "behavior"
492
+ ],
493
+ "description": "Dimension this check belongs to."
385
494
  },
386
- "nash_equilibrium": {
495
+ "description": {
387
496
  "type": "string",
388
- "description": "Win-win equilibrium the strategy pushes toward."
497
+ "description": "Check description."
389
498
  },
390
- "confidence": {
499
+ "weight": {
391
500
  "type": "number",
392
- "minimum": 0,
393
- "maximum": 1,
394
- "description": "Strategy confidence (0-1)."
501
+ "description": "Check weight within its dimension (percentage)."
395
502
  },
396
- "fallback": {
397
- "type": "string",
398
- "description": "Alternative when the user rejects the main strategy."
503
+ "passed": {
504
+ "type": "boolean",
505
+ "description": "Whether the check passed."
399
506
  },
400
- "rationale": {
401
- "type": "string",
402
- "description": "Trigger-condition explanation from puzzle evidence."
507
+ "advice": {
508
+ "description": "Advice when the check failed.",
509
+ "type": "string"
403
510
  }
404
511
  },
405
512
  "required": [
406
- "scenario",
407
- "merchant_tactic",
408
- "user_strategy",
409
- "nash_equilibrium",
410
- "confidence",
411
- "rationale"
513
+ "id",
514
+ "dimension",
515
+ "description",
516
+ "weight",
517
+ "passed"
412
518
  ],
413
519
  "additionalProperties": false
414
520
  },
415
- "description": "Top merchant-vs-user game strategies (user side, max 3)."
416
- },
417
- "preference_match": {
418
- "type": "object",
419
- "properties": {
420
- "score": {
421
- "type": "number",
422
- "minimum": 0,
423
- "maximum": 100,
424
- "description": "Preference match score (0-100)."
425
- },
426
- "matches": {
427
- "type": "array",
428
- "items": {
429
- "type": "string"
430
- },
431
- "description": "Aspects matching the user's preferences."
432
- },
433
- "mismatches": {
434
- "type": "array",
435
- "items": {
436
- "type": "string"
437
- },
438
- "description": "Aspects mismatching the user's preferences."
439
- },
440
- "warnings": {
441
- "type": "array",
442
- "items": {
443
- "type": "string"
444
- },
445
- "description": "Match warnings (e.g. budget stretch)."
446
- }
447
- },
448
- "required": [
449
- "score",
450
- "matches",
451
- "mismatches",
452
- "warnings"
453
- ],
454
- "additionalProperties": false,
455
- "description": "PreferenceMatchResult — present when preferences (input or profile) were available."
456
- },
457
- "preference_issues": {
458
- "type": "array",
459
- "items": {
460
- "type": "string"
461
- },
462
- "description": "Validation issues found in the merged preferences (e.g. budget min > max)."
463
- },
464
- "industry_risks": {
465
- "type": "object",
466
- "properties": {
467
- "score_adjustment": {
468
- "type": "number",
469
- "description": "Industry risk adjustment applied to the base risk score (-10 to +10)."
470
- },
471
- "summary": {
472
- "type": "string",
473
- "description": "Industry risk assessment summary."
474
- },
475
- "checks": {
476
- "type": "array",
477
- "items": {
478
- "$ref": "#/definitions/trust_score/properties/result/properties/risk_score/properties/dimensions/items/properties/checks/items"
479
- },
480
- "description": "Industry-specific risk checks."
481
- },
482
- "unmet_needs": {
483
- "type": "array",
484
- "items": {
485
- "type": "object",
486
- "properties": {
487
- "id": {
488
- "type": "string",
489
- "description": "Need identifier."
490
- },
491
- "tier": {
492
- "type": "string",
493
- "enum": [
494
- "common",
495
- "personalized",
496
- "advanced"
497
- ],
498
- "description": "Need tier."
499
- },
500
- "description": {
501
- "type": "string",
502
- "description": "Need description."
503
- },
504
- "advice": {
505
- "type": "string",
506
- "description": "Advice for fulfilling the need."
507
- }
508
- },
509
- "required": [
510
- "id",
511
- "tier",
512
- "description"
513
- ],
514
- "additionalProperties": false
515
- },
516
- "description": "Industry needs not satisfied by this Service."
517
- }
518
- },
519
- "required": [
520
- "score_adjustment",
521
- "summary",
522
- "checks",
523
- "unmet_needs"
524
- ],
525
- "additionalProperties": false,
526
- "description": "IndustryRiskResult — industry pain-point checks (needs met / risks triggered)."
521
+ "description": "Industry-specific risk checks."
527
522
  },
528
- "reminders": {
523
+ "unmet_needs": {
529
524
  "type": "array",
530
525
  "items": {
531
526
  "type": "object",
532
527
  "properties": {
533
528
  "id": {
534
529
  "type": "string",
535
- "description": "Reminder rule identifier."
536
- },
537
- "stage": {
538
- "type": "string",
539
- "enum": [
540
- "browse",
541
- "evaluate",
542
- "preorder",
543
- "in_progress",
544
- "complete",
545
- "after_sale"
546
- ],
547
- "description": "Workflow stage this reminder belongs to."
530
+ "description": "Need identifier."
548
531
  },
549
- "priority": {
532
+ "tier": {
550
533
  "type": "string",
551
534
  "enum": [
552
- "required",
553
- "recommended",
554
- "info",
555
- "reminder"
535
+ "common",
536
+ "personalized",
537
+ "advanced"
556
538
  ],
557
- "description": "Priority: required = blocking, recommended = strongly suggested."
539
+ "description": "Need tier."
558
540
  },
559
- "message": {
541
+ "description": {
560
542
  "type": "string",
561
- "description": "Human-readable reminder message."
543
+ "description": "Need description."
562
544
  },
563
- "action": {
564
- "type": "string",
565
- "description": "Suggested follow-up action, if any."
545
+ "advice": {
546
+ "description": "Advice for fulfilling the need.",
547
+ "type": "string"
566
548
  }
567
549
  },
568
550
  "required": [
569
551
  "id",
570
- "stage",
571
- "priority",
572
- "message"
552
+ "tier",
553
+ "description"
573
554
  ],
574
555
  "additionalProperties": false
575
556
  },
576
- "description": "Transaction-safety reminders at the preorder stage (sorted, capped)."
577
- },
578
- "blocking_reminders": {
579
- "type": "array",
580
- "items": {
581
- "$ref": "#/definitions/trust_score/properties/result/properties/preorder_advice/properties/reminders/items"
582
- },
583
- "description": "Blocking (priority=required) reminders — resolve these before ordering."
584
- },
585
- "summary": {
586
- "type": "string",
587
- "description": "AI-ready paragraph summarizing the whole preorder report."
557
+ "description": "Industry needs not satisfied by this Service."
588
558
  }
589
559
  },
590
560
  "required": [
591
- "confidence",
592
- "strategies",
593
- "reminders",
594
- "blocking_reminders",
595
- "summary"
561
+ "score_adjustment",
562
+ "summary",
563
+ "checks",
564
+ "unmet_needs"
596
565
  ],
597
- "additionalProperties": false,
598
- "description": "PreorderAdvice (GLM6/94 §3) — present only when depth = 'preorder'. AI presents evidence and options; the USER decides whether to order."
566
+ "additionalProperties": false
599
567
  },
600
- "comparison": {
601
- "type": "object",
602
- "properties": {
603
- "rows": {
604
- "type": "array",
605
- "items": {
606
- "type": "object",
607
- "properties": {
608
- "service_id": {
609
- "type": "string"
610
- },
611
- "service_name": {
612
- "type": "string"
613
- },
614
- "error": {
615
- "type": "string",
616
- "description": "Per-service evaluation failure (row excluded from best-per-metric)."
617
- },
618
- "industry": {
619
- "$ref": "#/definitions/trust_score/properties/result/properties/preorder_advice/properties/industry"
620
- },
621
- "confidence": {
622
- "type": "number",
623
- "description": "Order confidence 0-100 (higher = safer)."
624
- },
625
- "risk_total": {
626
- "type": "number",
627
- "description": "Risk score 0-100 (lower = safer)."
628
- },
629
- "risk_level": {
630
- "type": "string"
631
- },
632
- "trust_score": {
633
- "type": "number",
634
- "description": "Trust score 0-100 (higher = more trustworthy)."
635
- },
636
- "trust_level": {
637
- "type": "string"
638
- },
639
- "preference_match": {
640
- "type": "number",
641
- "description": "Preference match 0-100 (higher = better fit)."
642
- },
643
- "reputation_like_ratio": {
644
- "type": "number",
645
- "description": "likes/(likes+dislikes); 1 when no votes."
646
- },
647
- "reputation_votes": {
648
- "type": "number"
649
- },
650
- "red_flags_count": {
651
- "type": "number"
652
- },
653
- "blocking_reminders_count": {
654
- "type": "number"
655
- },
656
- "info_gaps_count": {
657
- "type": "number"
658
- }
659
- },
660
- "required": [
661
- "service_id",
662
- "service_name"
568
+ "reminders": {
569
+ "type": "array",
570
+ "items": {
571
+ "type": "object",
572
+ "properties": {
573
+ "id": {
574
+ "type": "string",
575
+ "description": "Reminder rule identifier."
576
+ },
577
+ "stage": {
578
+ "type": "string",
579
+ "enum": [
580
+ "browse",
581
+ "evaluate",
582
+ "preorder",
583
+ "in_progress",
584
+ "complete",
585
+ "after_sale"
663
586
  ],
664
- "additionalProperties": false
587
+ "description": "Workflow stage this reminder belongs to."
665
588
  },
666
- "description": "One row per evaluated service (primary first, then compare_with candidates)."
589
+ "priority": {
590
+ "type": "string",
591
+ "enum": [
592
+ "required",
593
+ "recommended",
594
+ "info",
595
+ "reminder"
596
+ ],
597
+ "description": "Priority: required = blocking, recommended = strongly suggested."
598
+ },
599
+ "message": {
600
+ "type": "string",
601
+ "description": "Human-readable reminder message."
602
+ },
603
+ "action": {
604
+ "description": "Suggested follow-up action, if any.",
605
+ "type": "string"
606
+ }
667
607
  },
668
- "best_per_metric": {
669
- "type": "object",
670
- "additionalProperties": {
671
- "type": "array",
672
- "items": {
673
- "type": "string"
674
- }
608
+ "required": [
609
+ "id",
610
+ "stage",
611
+ "priority",
612
+ "message"
613
+ ],
614
+ "additionalProperties": false
615
+ },
616
+ "description": "Transaction-safety reminders at the preorder stage (sorted, capped)."
617
+ },
618
+ "blocking_reminders": {
619
+ "type": "array",
620
+ "items": {
621
+ "type": "object",
622
+ "properties": {
623
+ "id": {
624
+ "type": "string",
625
+ "description": "Reminder rule identifier."
626
+ },
627
+ "stage": {
628
+ "type": "string",
629
+ "enum": [
630
+ "browse",
631
+ "evaluate",
632
+ "preorder",
633
+ "in_progress",
634
+ "complete",
635
+ "after_sale"
636
+ ],
637
+ "description": "Workflow stage this reminder belongs to."
675
638
  },
676
- "description": "metric name → service_ids with the best value (ties all listed). Per-metric ONLY."
639
+ "priority": {
640
+ "type": "string",
641
+ "enum": [
642
+ "required",
643
+ "recommended",
644
+ "info",
645
+ "reminder"
646
+ ],
647
+ "description": "Priority: required = blocking, recommended = strongly suggested."
648
+ },
649
+ "message": {
650
+ "type": "string",
651
+ "description": "Human-readable reminder message."
652
+ },
653
+ "action": {
654
+ "description": "Suggested follow-up action, if any.",
655
+ "type": "string"
656
+ }
677
657
  },
678
- "evaluated_metrics": {
679
- "type": "array",
680
- "items": {
658
+ "required": [
659
+ "id",
660
+ "stage",
661
+ "priority",
662
+ "message"
663
+ ],
664
+ "additionalProperties": false
665
+ },
666
+ "description": "Blocking (priority=required) reminders — resolve these before ordering."
667
+ },
668
+ "summary": {
669
+ "type": "string",
670
+ "description": "AI-ready paragraph summarizing the whole preorder report."
671
+ }
672
+ },
673
+ "required": [
674
+ "confidence",
675
+ "strategies",
676
+ "reminders",
677
+ "blocking_reminders",
678
+ "summary"
679
+ ],
680
+ "additionalProperties": false
681
+ },
682
+ "comparison": {
683
+ "description": "Deterministic multi-service comparison (GLM6/94 L6) — present only when depth='preorder' and compare_with is provided. Per-metric bests ONLY, no overall ranking — the buyer decides.",
684
+ "type": "object",
685
+ "properties": {
686
+ "rows": {
687
+ "type": "array",
688
+ "items": {
689
+ "type": "object",
690
+ "properties": {
691
+ "service_id": {
692
+ "type": "string"
693
+ },
694
+ "service_name": {
695
+ "type": "string"
696
+ },
697
+ "error": {
698
+ "description": "Per-service evaluation failure (row excluded from best-per-metric).",
699
+ "type": "string"
700
+ },
701
+ "industry": {
702
+ "type": "string",
703
+ "enum": [
704
+ "freelance",
705
+ "rental",
706
+ "education",
707
+ "travel",
708
+ "subscription",
709
+ "retail"
710
+ ]
711
+ },
712
+ "confidence": {
713
+ "description": "Order confidence 0-100 (higher = safer).",
714
+ "type": "number"
715
+ },
716
+ "risk_total": {
717
+ "description": "Risk score 0-100 (lower = safer).",
718
+ "type": "number"
719
+ },
720
+ "risk_level": {
721
+ "type": "string"
722
+ },
723
+ "trust_score": {
724
+ "description": "Trust score 0-100 (higher = more trustworthy).",
725
+ "type": "number"
726
+ },
727
+ "trust_level": {
681
728
  "type": "string"
682
729
  },
683
- "description": "Metrics actually compared (skipped when fewer than 2 rows have data)."
730
+ "preference_match": {
731
+ "description": "Preference match 0-100 (higher = better fit).",
732
+ "type": "number"
733
+ },
734
+ "reputation_like_ratio": {
735
+ "description": "likes/(likes+dislikes); 1 when no votes.",
736
+ "type": "number"
737
+ },
738
+ "reputation_votes": {
739
+ "type": "number"
740
+ },
741
+ "red_flags_count": {
742
+ "type": "number"
743
+ },
744
+ "blocking_reminders_count": {
745
+ "type": "number"
746
+ },
747
+ "info_gaps_count": {
748
+ "type": "number"
749
+ }
684
750
  },
685
- "note": {
686
- "type": "string",
687
- "description": "Neutrality note: no overall ranking; metric weights belong to the buyer."
751
+ "required": [
752
+ "service_id",
753
+ "service_name"
754
+ ],
755
+ "additionalProperties": false
756
+ },
757
+ "description": "One row per evaluated service (primary first, then compare_with candidates)."
758
+ },
759
+ "best_per_metric": {
760
+ "type": "object",
761
+ "propertyNames": {
762
+ "type": "string"
763
+ },
764
+ "additionalProperties": {
765
+ "type": "array",
766
+ "items": {
767
+ "type": "string"
688
768
  }
689
769
  },
690
- "required": [
691
- "rows",
692
- "best_per_metric",
693
- "evaluated_metrics",
694
- "note"
695
- ],
696
- "additionalProperties": false,
697
- "description": "Deterministic multi-service comparison (GLM6/94 L6) — present only when depth='preorder' and compare_with is provided. Per-metric bests ONLY, no overall ranking — the buyer decides."
770
+ "description": "metric name → service_ids with the best value (ties all listed). Per-metric ONLY."
771
+ },
772
+ "evaluated_metrics": {
773
+ "type": "array",
774
+ "items": {
775
+ "type": "string"
776
+ },
777
+ "description": "Metrics actually compared (skipped when fewer than 2 rows have data)."
778
+ },
779
+ "note": {
780
+ "type": "string",
781
+ "description": "Neutrality note: no overall ranking; metric weights belong to the buyer."
698
782
  }
699
783
  },
700
784
  "required": [
701
- "service_id",
702
- "service_name",
703
- "service_basics",
704
- "trust_score",
705
- "order_amount",
706
- "depth"
785
+ "rows",
786
+ "best_per_metric",
787
+ "evaluated_metrics",
788
+ "note"
707
789
  ],
708
- "additionalProperties": false,
709
- "description": "Trust score result. Contains: trust_score (ServiceTrustScore), risk_score (RiskScore, when depth >= evaluate), info_puzzle summary, preorder_advice (PreorderAdvice, when depth = preorder), comparison (PreorderComparison, when depth = preorder and compare_with given), and service_basics snapshot."
790
+ "additionalProperties": false
710
791
  }
711
792
  },
712
793
  "required": [
713
- "result"
794
+ "service_id",
795
+ "service_name",
796
+ "service_basics",
797
+ "trust_score",
798
+ "order_amount",
799
+ "depth"
714
800
  ],
715
- "additionalProperties": false
801
+ "additionalProperties": false,
802
+ "description": "Trust score result. Contains: trust_score (ServiceTrustScore), risk_score (RiskScore, when depth >= evaluate), info_puzzle summary, preorder_advice (PreorderAdvice, when depth = preorder), comparison (PreorderComparison, when depth = preorder and compare_with given), and service_basics snapshot."
716
803
  }
717
- }
804
+ },
805
+ "required": [
806
+ "result"
807
+ ],
808
+ "additionalProperties": false
718
809
  }