@wowok/agent-mcp 2.7.6 → 2.7.8
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.
- package/dist/customer/index.d.ts +3 -4
- package/dist/customer/index.js +1 -1
- package/dist/customer/info-puzzle.js +1 -1
- package/dist/customer/order-monitor.d.ts +0 -9
- package/dist/customer/order-monitor.js +1 -1
- package/dist/customer/order-strategy.d.ts +0 -19
- package/dist/customer/order-strategy.js +1 -1
- package/dist/customer/reminder-system.d.ts +0 -5
- package/dist/customer/reminder-system.js +1 -1
- package/dist/evaluation/game-strategy.js +1 -1
- package/dist/evaluation/injection.d.ts +6 -0
- package/dist/evaluation/injection.js +1 -0
- package/dist/evaluation/node-game.js +1 -1
- package/dist/examples/machine-multisig-threshold.json +1 -0
- package/dist/harness/recover.js +1 -1
- package/dist/harness/types.d.ts +1 -1
- package/dist/harness/verify.js +1 -1
- package/dist/intent/enrich.js +1 -1
- package/dist/intent/matcher.js +1 -1
- package/dist/intent/types.d.ts +1 -1
- package/dist/intent/types.js +1 -1
- package/dist/knowledge/arbitration-ledger.js +1 -1
- package/dist/knowledge/contract-invariants.d.ts +53 -0
- package/dist/knowledge/contract-invariants.js +1 -0
- package/dist/knowledge/deployment-scanner.js +1 -1
- package/dist/knowledge/dynamic-pricing.d.ts +0 -2
- package/dist/knowledge/dynamic-pricing.js +1 -1
- package/dist/knowledge/event-semantics.d.ts +20 -0
- package/dist/knowledge/event-semantics.js +1 -0
- package/dist/knowledge/examples-scanner-cli.js +1 -1
- package/dist/knowledge/examples-scanner.js +1 -1
- package/dist/knowledge/glossary.js +1 -1
- package/dist/knowledge/guard-submission-prompt.js +1 -1
- package/dist/knowledge/immutability.d.ts +11 -0
- package/dist/knowledge/immutability.js +1 -0
- package/dist/knowledge/index.d.ts +12 -6
- package/dist/knowledge/index.js +1 -1
- package/dist/knowledge/industry-registry.js +1 -1
- package/dist/knowledge/intent-metrics.d.ts +1 -1
- package/dist/knowledge/jsonrpc-enum.d.ts +37 -0
- package/dist/knowledge/jsonrpc-enum.js +1 -0
- package/dist/knowledge/machine-confirm.js +1 -1
- package/dist/knowledge/machine-risk.js +1 -1
- package/dist/knowledge/machine-topology.d.ts +11 -0
- package/dist/knowledge/machine-topology.js +1 -1
- package/dist/knowledge/machine-translation.js +1 -1
- package/dist/knowledge/market-metrics.d.ts +11 -0
- package/dist/knowledge/market-metrics.js +1 -1
- package/dist/knowledge/mcp-schema-audit-cli.js +1 -1
- package/dist/knowledge/mcp-schema-audit.d.ts +1 -0
- package/dist/knowledge/mcp-schema-audit.js +1 -1
- package/dist/knowledge/messenger-guard-guidance.d.ts +17 -0
- package/dist/knowledge/messenger-guard-guidance.js +1 -0
- package/dist/knowledge/operation-dictionary.d.ts +18 -0
- package/dist/knowledge/operation-dictionary.js +1 -0
- package/dist/knowledge/service-ledger.js +1 -1
- package/dist/knowledge/service-risk.js +1 -1
- package/dist/knowledge/service-translation.js +1 -1
- package/dist/knowledge/supply-chain.d.ts +24 -0
- package/dist/knowledge/supply-chain.js +1 -0
- package/dist/knowledge/template-registry.js +1 -1
- package/dist/knowledge/tools-reference.js +1 -1
- package/dist/knowledge/trust-metrics.d.ts +27 -2
- package/dist/knowledge/trust-metrics.js +1 -1
- package/dist/knowledge/workflow-guidance.d.ts +22 -1
- package/dist/knowledge/workflow-guidance.js +1 -1
- package/dist/monitor/EventStore.d.ts +78 -0
- package/dist/monitor/EventStore.js +1 -0
- package/dist/participation/radar-core.d.ts +0 -1
- package/dist/participation/radar-core.js +1 -1
- package/dist/persona/address-format.d.ts +6 -0
- package/dist/persona/address-format.js +1 -0
- package/dist/persona/analyzer.js +1 -1
- package/dist/persona/index.d.ts +3 -0
- package/dist/persona/index.js +1 -1
- package/dist/persona/types.d.ts +1 -1
- package/dist/persona/types.js +1 -1
- package/dist/project/business-puzzle.js +1 -1
- package/dist/project/edit-planner.js +1 -1
- package/dist/project/evaluation-fix.spec.d.ts +1 -0
- package/dist/project/evaluation-fix.spec.js +1 -0
- package/dist/project/evaluation.js +1 -1
- package/dist/project/graph-builder.js +1 -1
- package/dist/project/handlers.d.ts +2 -18
- package/dist/project/handlers.js +1 -1
- package/dist/project/index.js +1 -1
- package/dist/project/machine-nodes.d.ts +23 -0
- package/dist/project/machine-nodes.js +1 -1
- package/dist/project/machine-panorama.d.ts +41 -0
- package/dist/project/machine-panorama.js +1 -0
- package/dist/project/object-panorama.d.ts +179 -0
- package/dist/project/object-panorama.js +1 -0
- package/dist/project/object-type.d.ts +1 -0
- package/dist/project/object-type.js +1 -0
- package/dist/project/participation-radar.js +1 -1
- package/dist/project/semantic-assembler.js +1 -1
- package/dist/project/service-panorama.d.ts +180 -0
- package/dist/project/service-panorama.js +1 -0
- package/dist/project/stage-gate.d.ts +0 -1
- package/dist/project/stage-gate.js +1 -1
- package/dist/project/task-tracker.d.ts +4 -0
- package/dist/project/task-tracker.js +1 -1
- package/dist/role/derivation.d.ts +19 -2
- package/dist/role/derivation.js +1 -1
- package/dist/role/index.d.ts +2 -2
- package/dist/role/index.js +1 -1
- package/dist/role/model.js +1 -1
- package/dist/role/resolution.d.ts +16 -0
- package/dist/role/resolution.js +1 -1
- package/dist/role/types.d.ts +1 -1
- package/dist/role/types.js +1 -1
- package/dist/safety/confirm-gate.js +1 -1
- package/dist/schema/call/allocation.d.ts +10 -0
- package/dist/schema/call/arbitration.d.ts +14 -3
- package/dist/schema/call/arbitration.js +1 -1
- package/dist/schema/call/base.d.ts +16 -0
- package/dist/schema/call/base.js +1 -1
- package/dist/schema/call/bridge.d.ts +7 -0
- package/dist/schema/call/contact.d.ts +11 -0
- package/dist/schema/call/demand.d.ts +11 -0
- package/dist/schema/call/guard.d.ts +3 -0
- package/dist/schema/call/handler.js +1 -1
- package/dist/schema/call/machine.d.ts +12 -0
- package/dist/schema/call/machine.js +1 -1
- package/dist/schema/call/order.d.ts +11 -0
- package/dist/schema/call/payment.d.ts +4 -3
- package/dist/schema/call/payment.js +1 -1
- package/dist/schema/call/permission.d.ts +11 -0
- package/dist/schema/call/personal.d.ts +38 -0
- package/dist/schema/call/personal.js +1 -1
- package/dist/schema/call/progress.d.ts +11 -0
- package/dist/schema/call/proof.d.ts +2 -0
- package/dist/schema/call/repository.d.ts +15 -4
- package/dist/schema/call/reward.d.ts +17 -12
- package/dist/schema/call/reward.js +1 -1
- package/dist/schema/call/semantic.d.ts +3 -2
- package/dist/schema/call/semantic.js +1 -1
- package/dist/schema/call/service.d.ts +17 -0
- package/dist/schema/call/service.js +1 -1
- package/dist/schema/call/treasury.d.ts +17 -0
- package/dist/schema/common/index.d.ts +21 -0
- package/dist/schema/common/index.js +1 -1
- package/dist/schema/evaluation/index.d.ts +146 -0
- package/dist/schema/evaluation/index.js +1 -1
- package/dist/schema/index.d.ts +1 -0
- package/dist/schema/index.js +1 -1
- package/dist/schema/intent-radar/index.d.ts +30 -3
- package/dist/schema/intent-radar/index.js +1 -1
- package/dist/schema/local/index.d.ts +9 -0
- package/dist/schema/local/index.js +1 -1
- package/dist/schema/messenger/index.d.ts +54 -0
- package/dist/schema/messenger/index.js +1 -1
- package/dist/schema/operations.d.ts +932 -9
- package/dist/schema/operations.js +1 -1
- package/dist/schema/permission/index.d.ts +17 -0
- package/dist/schema/permission/index.js +1 -1
- package/dist/schema/project/index.d.ts +6 -0
- package/dist/schema/project/index.js +1 -1
- package/dist/schema/query/index.d.ts +663 -56
- package/dist/schema/query/index.js +1 -1
- package/dist/schema/schema-version.js +1 -1
- package/dist/schema/trust/index.d.ts +17 -0
- package/dist/schema/trust/index.js +1 -1
- package/dist/schema/watch/index.d.ts +204 -0
- package/dist/schema/watch/index.js +1 -0
- package/dist/schema/workflow/index.d.ts +301 -0
- package/dist/schema/workflow/index.js +1 -1
- package/dist/schema-query-impl/index.js +1 -1
- package/dist/schemas/account_operation.output.json +5 -2
- package/dist/schemas/bridge_operation.output.json +5 -2
- package/dist/schemas/bridge_operation.schema.json +25 -9
- package/dist/schemas/evaluation_operation.output.json +276 -1
- package/dist/schemas/evaluation_operation.schema.json +307 -0
- package/dist/schemas/guard2file.schema.json +6 -2
- package/dist/schemas/index.json +13 -1
- package/dist/schemas/intent_radar.output.json +20 -2
- package/dist/schemas/intent_radar.schema.json +10 -1
- package/dist/schemas/local_info_operation.output.json +5 -2
- package/dist/schemas/local_mark_operation.output.json +5 -2
- package/dist/schemas/machineNode2file.schema.json +6 -2
- package/dist/schemas/messenger_operation.output.json +105 -2
- package/dist/schemas/messenger_operation.schema.json +98 -0
- package/dist/schemas/monitor_events.output.json +1360 -0
- package/dist/schemas/monitor_events.schema.json +62 -0
- package/dist/schemas/onchain_events.output.json +237 -14
- package/dist/schemas/onchain_events.schema.json +20 -0
- package/dist/schemas/onchain_operations.output.json +10 -5
- package/dist/schemas/onchain_operations.schema.json +768 -409
- package/dist/schemas/onchain_operations_allocation.schema.json +23 -7
- package/dist/schemas/onchain_operations_arbitration.schema.json +34 -9
- package/dist/schemas/onchain_operations_contact.schema.json +29 -5
- package/dist/schemas/onchain_operations_demand.schema.json +29 -5
- package/dist/schemas/onchain_operations_gen_passport.schema.json +6 -2
- package/dist/schemas/onchain_operations_gen_proof.schema.json +6 -2
- package/dist/schemas/onchain_operations_guard.schema.json +6 -2
- package/dist/schemas/onchain_operations_machine.schema.json +34 -10
- package/dist/schemas/onchain_operations_order.schema.json +29 -5
- package/dist/schemas/onchain_operations_payment.schema.json +13 -10
- package/dist/schemas/onchain_operations_permission.schema.json +29 -5
- package/dist/schemas/onchain_operations_personal.schema.json +44 -2
- package/dist/schemas/onchain_operations_progress.schema.json +29 -5
- package/dist/schemas/onchain_operations_proof.schema.json +6 -2
- package/dist/schemas/onchain_operations_repository.schema.json +310 -305
- package/dist/schemas/onchain_operations_reward.schema.json +46 -10
- package/dist/schemas/onchain_operations_service.schema.json +49 -13
- package/dist/schemas/onchain_operations_treasury.schema.json +46 -10
- package/dist/schemas/onchain_table_data.output.json +3750 -208
- package/dist/schemas/onchain_table_data.schema.json +311 -0
- package/dist/schemas/permission_operation.output.json +32 -0
- package/dist/schemas/project_operation.schema.json +14 -8
- package/dist/schemas/query_toolkit.output.json +425 -320
- package/dist/schemas/query_toolkit.schema.json +139 -1
- package/dist/schemas/trust_score.output.json +38 -0
- package/dist/schemas/trust_score.schema.json +32 -0
- package/dist/schemas/watch_operation.output.json +827 -0
- package/dist/schemas/watch_operation.schema.json +145 -0
- package/dist/schemas/workflow_operation.output.json +263 -5
- package/dist/schemas/workflow_operation.schema.json +597 -2
- package/dist/tools/handlers/config.js +1 -1
- package/dist/tools/handlers/evaluation.js +1 -1
- package/dist/tools/handlers/intent-radar.js +1 -1
- package/dist/tools/handlers/messenger.js +1 -1
- package/dist/tools/handlers/monitor.d.ts +2 -0
- package/dist/tools/handlers/monitor.js +1 -0
- package/dist/tools/handlers/onchain.js +1 -1
- package/dist/tools/handlers/permission.js +1 -1
- package/dist/tools/handlers/project.js +1 -1
- package/dist/tools/handlers/query.js +1 -1
- package/dist/tools/handlers/trust.d.ts +14 -0
- package/dist/tools/handlers/trust.js +1 -1
- package/dist/tools/handlers/watch.d.ts +2 -0
- package/dist/tools/handlers/watch.js +1 -0
- package/dist/tools/handlers/workflow.js +1 -1
- package/dist/tools/index.d.ts +2 -0
- package/dist/tools/index.js +1 -1
- package/dist/tools/shared.js +1 -1
- package/package.json +2 -2
- package/dist/customer/post-purchase.d.ts +0 -44
- package/dist/customer/post-purchase.js +0 -1
- package/dist/project/migration.d.ts +0 -22
- package/dist/project/migration.js +0 -1
- package/dist/project/rollback-policy.d.ts +0 -45
- package/dist/project/rollback-policy.js +0 -1
|
@@ -0,0 +1,1360 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"$id": "https://wowok.net/schemas/monitor_events.output.json",
|
|
4
|
+
"title": "Monitor Events - Persistent Store & Read State",
|
|
5
|
+
"description": "Result of the monitor_events tool",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"properties": {
|
|
8
|
+
"result": {
|
|
9
|
+
"type": "object",
|
|
10
|
+
"properties": {
|
|
11
|
+
"action": {
|
|
12
|
+
"type": "string",
|
|
13
|
+
"description": "Echo of the requested action"
|
|
14
|
+
},
|
|
15
|
+
"events": {
|
|
16
|
+
"description": "Page of events (action='query')",
|
|
17
|
+
"type": "array",
|
|
18
|
+
"items": {
|
|
19
|
+
"type": "object",
|
|
20
|
+
"properties": {
|
|
21
|
+
"id": {
|
|
22
|
+
"type": "string",
|
|
23
|
+
"description": "Event id ('<eventSeq>:<txDigest>')"
|
|
24
|
+
},
|
|
25
|
+
"module": {
|
|
26
|
+
"type": "string",
|
|
27
|
+
"description": "Monitor module the event belongs to"
|
|
28
|
+
},
|
|
29
|
+
"type": {
|
|
30
|
+
"type": "string",
|
|
31
|
+
"description": "Short event type (e.g. 'NewOrderEvent')"
|
|
32
|
+
},
|
|
33
|
+
"time": {
|
|
34
|
+
"type": "number",
|
|
35
|
+
"description": "Event timestamp in milliseconds"
|
|
36
|
+
},
|
|
37
|
+
"seen": {
|
|
38
|
+
"type": "boolean",
|
|
39
|
+
"description": "Read flag — true when the event has been marked read"
|
|
40
|
+
},
|
|
41
|
+
"event": {
|
|
42
|
+
"anyOf": [
|
|
43
|
+
{
|
|
44
|
+
"type": "object",
|
|
45
|
+
"propertyNames": {
|
|
46
|
+
"type": "string"
|
|
47
|
+
},
|
|
48
|
+
"additionalProperties": {}
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
"type": "null"
|
|
52
|
+
}
|
|
53
|
+
],
|
|
54
|
+
"description": "Full normalized event payload"
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
"required": [
|
|
58
|
+
"id",
|
|
59
|
+
"module",
|
|
60
|
+
"type",
|
|
61
|
+
"time",
|
|
62
|
+
"seen",
|
|
63
|
+
"event"
|
|
64
|
+
],
|
|
65
|
+
"additionalProperties": false,
|
|
66
|
+
"description": "One stored monitor event with its read flag"
|
|
67
|
+
}
|
|
68
|
+
},
|
|
69
|
+
"total": {
|
|
70
|
+
"description": "Total events in the queried pool (action='query')",
|
|
71
|
+
"type": "number"
|
|
72
|
+
},
|
|
73
|
+
"module_counts": {
|
|
74
|
+
"description": "Stored event count per module (action='query')",
|
|
75
|
+
"type": "object",
|
|
76
|
+
"propertyNames": {
|
|
77
|
+
"type": "string"
|
|
78
|
+
},
|
|
79
|
+
"additionalProperties": {
|
|
80
|
+
"type": "number"
|
|
81
|
+
}
|
|
82
|
+
},
|
|
83
|
+
"unread_by_module": {
|
|
84
|
+
"description": "Unread count per module (action='query')",
|
|
85
|
+
"type": "object",
|
|
86
|
+
"propertyNames": {
|
|
87
|
+
"type": "string"
|
|
88
|
+
},
|
|
89
|
+
"additionalProperties": {
|
|
90
|
+
"type": "number"
|
|
91
|
+
}
|
|
92
|
+
},
|
|
93
|
+
"total_unread": {
|
|
94
|
+
"type": "number",
|
|
95
|
+
"description": "Total unread events after the operation"
|
|
96
|
+
},
|
|
97
|
+
"marked": {
|
|
98
|
+
"description": "How many events flipped to read (mark actions)",
|
|
99
|
+
"type": "number"
|
|
100
|
+
}
|
|
101
|
+
},
|
|
102
|
+
"required": [
|
|
103
|
+
"action",
|
|
104
|
+
"total_unread"
|
|
105
|
+
],
|
|
106
|
+
"additionalProperties": false
|
|
107
|
+
},
|
|
108
|
+
"semantic": {
|
|
109
|
+
"description": "Business semantic summary",
|
|
110
|
+
"type": "object",
|
|
111
|
+
"properties": {
|
|
112
|
+
"intent": {
|
|
113
|
+
"type": "string",
|
|
114
|
+
"description": "Inferred user intent / operation goal. Constraint: snake_case string. Relation: derived from operation_type + data signals. Example: 'publish_service'"
|
|
115
|
+
},
|
|
116
|
+
"status": {
|
|
117
|
+
"type": "string",
|
|
118
|
+
"enum": [
|
|
119
|
+
"success",
|
|
120
|
+
"partial",
|
|
121
|
+
"failed",
|
|
122
|
+
"pending_input"
|
|
123
|
+
],
|
|
124
|
+
"description": "Business-level status (not raw tx status). 'pending_input' = needs Guard submission. Example: 'success'"
|
|
125
|
+
},
|
|
126
|
+
"summary": {
|
|
127
|
+
"type": "string",
|
|
128
|
+
"description": "One-sentence human-readable summary of what happened. AI should read this first. Example: 'Successfully published Service my-shop with Machine bound'"
|
|
129
|
+
},
|
|
130
|
+
"created": {
|
|
131
|
+
"description": "Objects newly created in this operation, tagged with roles",
|
|
132
|
+
"type": "array",
|
|
133
|
+
"items": {
|
|
134
|
+
"type": "object",
|
|
135
|
+
"properties": {
|
|
136
|
+
"id": {
|
|
137
|
+
"type": "string",
|
|
138
|
+
"description": "Object ID (64-hex with 0x prefix). Identifies the on-chain object. Example: '0xa1d4...'"
|
|
139
|
+
},
|
|
140
|
+
"name": {
|
|
141
|
+
"description": "Local mark name if assigned, else null. Relation: resolved via local_mark_operation. Example: 'my-shop' or null",
|
|
142
|
+
"anyOf": [
|
|
143
|
+
{
|
|
144
|
+
"type": "string"
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
"type": "null"
|
|
148
|
+
}
|
|
149
|
+
]
|
|
150
|
+
},
|
|
151
|
+
"role": {
|
|
152
|
+
"type": "string",
|
|
153
|
+
"enum": [
|
|
154
|
+
"Permission",
|
|
155
|
+
"Guard",
|
|
156
|
+
"Machine",
|
|
157
|
+
"Progress",
|
|
158
|
+
"Service",
|
|
159
|
+
"Order",
|
|
160
|
+
"Allocation",
|
|
161
|
+
"Arbitration",
|
|
162
|
+
"ArbCase",
|
|
163
|
+
"Messenger",
|
|
164
|
+
"Contact",
|
|
165
|
+
"Demand",
|
|
166
|
+
"Reward",
|
|
167
|
+
"Personal",
|
|
168
|
+
"Repository",
|
|
169
|
+
"Treasury",
|
|
170
|
+
"Discount",
|
|
171
|
+
"Payment",
|
|
172
|
+
"Passport",
|
|
173
|
+
"Proof",
|
|
174
|
+
"Other"
|
|
175
|
+
],
|
|
176
|
+
"description": "Business role of the object in the dependency graph. Constraint: enum of 21 values. Relation: derived from objectType last segment; drives Plan/Verify Loop positioning. Example: 'Service'"
|
|
177
|
+
},
|
|
178
|
+
"relation": {
|
|
179
|
+
"description": "Relationship to another object in the dependency graph",
|
|
180
|
+
"type": "object",
|
|
181
|
+
"properties": {
|
|
182
|
+
"parent": {
|
|
183
|
+
"description": "Parent object ID, if this object belongs to another (e.g. Machine belongs to Service). Example: '0x123...' or null",
|
|
184
|
+
"anyOf": [
|
|
185
|
+
{
|
|
186
|
+
"type": "string"
|
|
187
|
+
},
|
|
188
|
+
{
|
|
189
|
+
"type": "null"
|
|
190
|
+
}
|
|
191
|
+
]
|
|
192
|
+
},
|
|
193
|
+
"relation_type": {
|
|
194
|
+
"description": "How this object relates to its parent. Example: 'machine_of'",
|
|
195
|
+
"type": "string",
|
|
196
|
+
"enum": [
|
|
197
|
+
"machine_of",
|
|
198
|
+
"guard_of",
|
|
199
|
+
"allocator_of",
|
|
200
|
+
"permission_of",
|
|
201
|
+
"progress_of",
|
|
202
|
+
"allocation_of",
|
|
203
|
+
"arb_of",
|
|
204
|
+
"other"
|
|
205
|
+
]
|
|
206
|
+
}
|
|
207
|
+
},
|
|
208
|
+
"additionalProperties": false
|
|
209
|
+
},
|
|
210
|
+
"immutable": {
|
|
211
|
+
"description": "Whether the object has entered an immutable state (e.g. Service published). Constraint: true after publish. Example: true",
|
|
212
|
+
"type": "boolean"
|
|
213
|
+
}
|
|
214
|
+
},
|
|
215
|
+
"required": [
|
|
216
|
+
"id",
|
|
217
|
+
"role"
|
|
218
|
+
],
|
|
219
|
+
"additionalProperties": false,
|
|
220
|
+
"description": "An object tagged with its business role and relationship within the object dependency graph"
|
|
221
|
+
}
|
|
222
|
+
},
|
|
223
|
+
"modified": {
|
|
224
|
+
"description": "Objects mutated in this operation, tagged with roles",
|
|
225
|
+
"type": "array",
|
|
226
|
+
"items": {
|
|
227
|
+
"type": "object",
|
|
228
|
+
"properties": {
|
|
229
|
+
"id": {
|
|
230
|
+
"type": "string",
|
|
231
|
+
"description": "Object ID (64-hex with 0x prefix). Identifies the on-chain object. Example: '0xa1d4...'"
|
|
232
|
+
},
|
|
233
|
+
"name": {
|
|
234
|
+
"description": "Local mark name if assigned, else null. Relation: resolved via local_mark_operation. Example: 'my-shop' or null",
|
|
235
|
+
"anyOf": [
|
|
236
|
+
{
|
|
237
|
+
"type": "string"
|
|
238
|
+
},
|
|
239
|
+
{
|
|
240
|
+
"type": "null"
|
|
241
|
+
}
|
|
242
|
+
]
|
|
243
|
+
},
|
|
244
|
+
"role": {
|
|
245
|
+
"type": "string",
|
|
246
|
+
"enum": [
|
|
247
|
+
"Permission",
|
|
248
|
+
"Guard",
|
|
249
|
+
"Machine",
|
|
250
|
+
"Progress",
|
|
251
|
+
"Service",
|
|
252
|
+
"Order",
|
|
253
|
+
"Allocation",
|
|
254
|
+
"Arbitration",
|
|
255
|
+
"ArbCase",
|
|
256
|
+
"Messenger",
|
|
257
|
+
"Contact",
|
|
258
|
+
"Demand",
|
|
259
|
+
"Reward",
|
|
260
|
+
"Personal",
|
|
261
|
+
"Repository",
|
|
262
|
+
"Treasury",
|
|
263
|
+
"Discount",
|
|
264
|
+
"Payment",
|
|
265
|
+
"Passport",
|
|
266
|
+
"Proof",
|
|
267
|
+
"Other"
|
|
268
|
+
],
|
|
269
|
+
"description": "Business role of the object in the dependency graph. Constraint: enum of 21 values. Relation: derived from objectType last segment; drives Plan/Verify Loop positioning. Example: 'Service'"
|
|
270
|
+
},
|
|
271
|
+
"relation": {
|
|
272
|
+
"description": "Relationship to another object in the dependency graph",
|
|
273
|
+
"type": "object",
|
|
274
|
+
"properties": {
|
|
275
|
+
"parent": {
|
|
276
|
+
"description": "Parent object ID, if this object belongs to another (e.g. Machine belongs to Service). Example: '0x123...' or null",
|
|
277
|
+
"anyOf": [
|
|
278
|
+
{
|
|
279
|
+
"type": "string"
|
|
280
|
+
},
|
|
281
|
+
{
|
|
282
|
+
"type": "null"
|
|
283
|
+
}
|
|
284
|
+
]
|
|
285
|
+
},
|
|
286
|
+
"relation_type": {
|
|
287
|
+
"description": "How this object relates to its parent. Example: 'machine_of'",
|
|
288
|
+
"type": "string",
|
|
289
|
+
"enum": [
|
|
290
|
+
"machine_of",
|
|
291
|
+
"guard_of",
|
|
292
|
+
"allocator_of",
|
|
293
|
+
"permission_of",
|
|
294
|
+
"progress_of",
|
|
295
|
+
"allocation_of",
|
|
296
|
+
"arb_of",
|
|
297
|
+
"other"
|
|
298
|
+
]
|
|
299
|
+
}
|
|
300
|
+
},
|
|
301
|
+
"additionalProperties": false
|
|
302
|
+
},
|
|
303
|
+
"immutable": {
|
|
304
|
+
"description": "Whether the object has entered an immutable state (e.g. Service published). Constraint: true after publish. Example: true",
|
|
305
|
+
"type": "boolean"
|
|
306
|
+
}
|
|
307
|
+
},
|
|
308
|
+
"required": [
|
|
309
|
+
"id",
|
|
310
|
+
"role"
|
|
311
|
+
],
|
|
312
|
+
"additionalProperties": false,
|
|
313
|
+
"description": "An object tagged with its business role and relationship within the object dependency graph"
|
|
314
|
+
}
|
|
315
|
+
},
|
|
316
|
+
"released": {
|
|
317
|
+
"description": "Fund movements in this operation, tagged with roles",
|
|
318
|
+
"type": "array",
|
|
319
|
+
"items": {
|
|
320
|
+
"type": "object",
|
|
321
|
+
"properties": {
|
|
322
|
+
"amount": {
|
|
323
|
+
"type": "string",
|
|
324
|
+
"description": "Amount change as stringified integer (smallest unit). Negative=spend, positive=receive. Example: '-10000000000'"
|
|
325
|
+
},
|
|
326
|
+
"coinType": {
|
|
327
|
+
"type": "string",
|
|
328
|
+
"description": "Coin type tag (format: {address}::{module}::{struct}). Example: '0x2::wow::WOW'"
|
|
329
|
+
},
|
|
330
|
+
"role": {
|
|
331
|
+
"type": "string",
|
|
332
|
+
"enum": [
|
|
333
|
+
"payment",
|
|
334
|
+
"refund",
|
|
335
|
+
"change",
|
|
336
|
+
"compensation",
|
|
337
|
+
"reward",
|
|
338
|
+
"gas",
|
|
339
|
+
"deposit",
|
|
340
|
+
"release",
|
|
341
|
+
"other"
|
|
342
|
+
],
|
|
343
|
+
"description": "Business role of this fund movement. Constraint: enum of 9 values. Relation: derived from operation context. Example: 'payment'"
|
|
344
|
+
},
|
|
345
|
+
"from": {
|
|
346
|
+
"description": "Sender address if known. Example: '0xabc...' or null",
|
|
347
|
+
"anyOf": [
|
|
348
|
+
{
|
|
349
|
+
"type": "string"
|
|
350
|
+
},
|
|
351
|
+
{
|
|
352
|
+
"type": "null"
|
|
353
|
+
}
|
|
354
|
+
]
|
|
355
|
+
},
|
|
356
|
+
"to": {
|
|
357
|
+
"description": "Recipient address if known. Example: '0xdef...' or null",
|
|
358
|
+
"anyOf": [
|
|
359
|
+
{
|
|
360
|
+
"type": "string"
|
|
361
|
+
},
|
|
362
|
+
{
|
|
363
|
+
"type": "null"
|
|
364
|
+
}
|
|
365
|
+
]
|
|
366
|
+
}
|
|
367
|
+
},
|
|
368
|
+
"required": [
|
|
369
|
+
"amount",
|
|
370
|
+
"coinType",
|
|
371
|
+
"role"
|
|
372
|
+
],
|
|
373
|
+
"additionalProperties": false,
|
|
374
|
+
"description": "A fund movement tagged with its business role"
|
|
375
|
+
}
|
|
376
|
+
},
|
|
377
|
+
"events": {
|
|
378
|
+
"description": "On-chain events annotated with business semantics (S-8)",
|
|
379
|
+
"type": "array",
|
|
380
|
+
"items": {
|
|
381
|
+
"type": "object",
|
|
382
|
+
"properties": {
|
|
383
|
+
"event_type": {
|
|
384
|
+
"type": "string",
|
|
385
|
+
"description": "Raw on-chain event type tag. Example: '0x2::service::ServicePublishedEvent'"
|
|
386
|
+
},
|
|
387
|
+
"business_meaning": {
|
|
388
|
+
"type": "string",
|
|
389
|
+
"description": "Human-readable business meaning. Example: 'Service has been published and is now immutable'"
|
|
390
|
+
},
|
|
391
|
+
"category": {
|
|
392
|
+
"type": "string",
|
|
393
|
+
"enum": [
|
|
394
|
+
"lifecycle",
|
|
395
|
+
"state_change",
|
|
396
|
+
"fund_flow",
|
|
397
|
+
"market_opportunity",
|
|
398
|
+
"reputation",
|
|
399
|
+
"permission",
|
|
400
|
+
"guard",
|
|
401
|
+
"other"
|
|
402
|
+
],
|
|
403
|
+
"description": "Business category. Constraint: enum of 8 values. 'market_opportunity' = supply/demand discovery signal (ServiceEvent/DemandChangedEvent/DemandPresentEvent, K3 13 §6.7); 'reputation' = trust-affecting signal (DemandFeedbackEvent). Example: 'fund_flow'"
|
|
404
|
+
},
|
|
405
|
+
"related_object": {
|
|
406
|
+
"description": "Object ID the event relates to, if extractable. Example: '0x123...'",
|
|
407
|
+
"type": "string"
|
|
408
|
+
},
|
|
409
|
+
"side_effect": {
|
|
410
|
+
"description": "Side effect description for AI. Example: 'Customers can now place orders against this Service'",
|
|
411
|
+
"type": "string"
|
|
412
|
+
}
|
|
413
|
+
},
|
|
414
|
+
"required": [
|
|
415
|
+
"event_type",
|
|
416
|
+
"business_meaning",
|
|
417
|
+
"category"
|
|
418
|
+
],
|
|
419
|
+
"additionalProperties": false,
|
|
420
|
+
"description": "An on-chain event annotated with business semantics"
|
|
421
|
+
}
|
|
422
|
+
},
|
|
423
|
+
"next_actions": {
|
|
424
|
+
"description": "Recommended next actions to drive the workflow forward",
|
|
425
|
+
"type": "array",
|
|
426
|
+
"items": {
|
|
427
|
+
"type": "object",
|
|
428
|
+
"properties": {
|
|
429
|
+
"action": {
|
|
430
|
+
"type": "string",
|
|
431
|
+
"description": "Recommended next action. Example: 'add sales products'"
|
|
432
|
+
},
|
|
433
|
+
"reason": {
|
|
434
|
+
"type": "string",
|
|
435
|
+
"description": "Why this action is recommended. Example: 'Service has no products; customers cannot order'"
|
|
436
|
+
},
|
|
437
|
+
"tool": {
|
|
438
|
+
"description": "MCP tool to use, if applicable. Example: 'onchain_operations'",
|
|
439
|
+
"type": "string"
|
|
440
|
+
},
|
|
441
|
+
"prerequisite": {
|
|
442
|
+
"description": "Condition that must hold before this action. Example: 'Service must be created first'",
|
|
443
|
+
"type": "string"
|
|
444
|
+
},
|
|
445
|
+
"priority": {
|
|
446
|
+
"type": "string",
|
|
447
|
+
"enum": [
|
|
448
|
+
"required",
|
|
449
|
+
"recommended",
|
|
450
|
+
"optional"
|
|
451
|
+
],
|
|
452
|
+
"description": "Priority. Constraint: enum. Example: 'required'"
|
|
453
|
+
}
|
|
454
|
+
},
|
|
455
|
+
"required": [
|
|
456
|
+
"action",
|
|
457
|
+
"reason",
|
|
458
|
+
"priority"
|
|
459
|
+
],
|
|
460
|
+
"additionalProperties": false,
|
|
461
|
+
"description": "A recommended next action with priority and rationale"
|
|
462
|
+
}
|
|
463
|
+
},
|
|
464
|
+
"warnings": {
|
|
465
|
+
"description": "Business-level warnings. Example: 'order_allocators not configured; order funds cannot be distributed'",
|
|
466
|
+
"type": "array",
|
|
467
|
+
"items": {
|
|
468
|
+
"type": "string"
|
|
469
|
+
}
|
|
470
|
+
},
|
|
471
|
+
"experience": {
|
|
472
|
+
"description": "Experience layer feedback from past operations (Phase 2 Topic 2)",
|
|
473
|
+
"type": "object",
|
|
474
|
+
"properties": {
|
|
475
|
+
"advice": {
|
|
476
|
+
"description": "Advice from past experience. Example: 'Last time you forgot to set buy_guard; add it before publishing'",
|
|
477
|
+
"type": "string"
|
|
478
|
+
},
|
|
479
|
+
"avoid": {
|
|
480
|
+
"description": "Pitfalls to avoid based on history. Example: ['Guard rejection on delivery_proof']",
|
|
481
|
+
"type": "array",
|
|
482
|
+
"items": {
|
|
483
|
+
"type": "string"
|
|
484
|
+
}
|
|
485
|
+
},
|
|
486
|
+
"relevance": {
|
|
487
|
+
"description": "Relevance score 0-1 of the matched experience. Example: 0.85",
|
|
488
|
+
"type": "number",
|
|
489
|
+
"minimum": 0,
|
|
490
|
+
"maximum": 1
|
|
491
|
+
},
|
|
492
|
+
"matched_scenario": {
|
|
493
|
+
"description": "Matched historical scenario. Example: 'publish_service_freelance'",
|
|
494
|
+
"type": "string"
|
|
495
|
+
}
|
|
496
|
+
},
|
|
497
|
+
"additionalProperties": false
|
|
498
|
+
},
|
|
499
|
+
"service_status": {
|
|
500
|
+
"description": "Phase 2 runtime service status (populated when semantic_rich is enabled). Lets AI see active services in each response.",
|
|
501
|
+
"type": "object",
|
|
502
|
+
"properties": {
|
|
503
|
+
"active": {
|
|
504
|
+
"type": "array",
|
|
505
|
+
"items": {
|
|
506
|
+
"type": "string"
|
|
507
|
+
},
|
|
508
|
+
"description": "Phase 2 services currently active (enabled). Example: ['confirm_gate','project_service','experience_layer']"
|
|
509
|
+
},
|
|
510
|
+
"inactive": {
|
|
511
|
+
"description": "Phase 2 services currently inactive (can be toggled via config_operation). Example: ['harness','graph_persist']",
|
|
512
|
+
"type": "array",
|
|
513
|
+
"items": {
|
|
514
|
+
"type": "string"
|
|
515
|
+
}
|
|
516
|
+
}
|
|
517
|
+
},
|
|
518
|
+
"required": [
|
|
519
|
+
"active"
|
|
520
|
+
],
|
|
521
|
+
"additionalProperties": false
|
|
522
|
+
},
|
|
523
|
+
"customer_advice": {
|
|
524
|
+
"description": "Buyer-side advice (Phase 3 C-3.3). Populated when customer_intelligence service is enabled AND operation is order/query on a Service. Contains risk_score, recommendations, reminders, and preference_match.",
|
|
525
|
+
"type": "object",
|
|
526
|
+
"properties": {
|
|
527
|
+
"risk_score": {
|
|
528
|
+
"description": "Composite risk score 0-100 (higher = safer). Relation: from risk-assessment.ts 4-dimension scoring. Example: 75",
|
|
529
|
+
"type": "number",
|
|
530
|
+
"minimum": 0,
|
|
531
|
+
"maximum": 100
|
|
532
|
+
},
|
|
533
|
+
"risk_level": {
|
|
534
|
+
"description": "Risk level bucket. 'high' = strongly discourage purchase. Example: 'medium_high'",
|
|
535
|
+
"type": "string",
|
|
536
|
+
"enum": [
|
|
537
|
+
"low",
|
|
538
|
+
"medium_low",
|
|
539
|
+
"medium_high",
|
|
540
|
+
"high"
|
|
541
|
+
]
|
|
542
|
+
},
|
|
543
|
+
"recommendations": {
|
|
544
|
+
"type": "array",
|
|
545
|
+
"items": {
|
|
546
|
+
"type": "string"
|
|
547
|
+
},
|
|
548
|
+
"description": "Actionable recommendations for the buyer. Example: ['Require merchant to configure arbitration','Negotiate refund terms via Messenger']"
|
|
549
|
+
},
|
|
550
|
+
"reminders": {
|
|
551
|
+
"type": "array",
|
|
552
|
+
"items": {
|
|
553
|
+
"type": "object",
|
|
554
|
+
"properties": {
|
|
555
|
+
"id": {
|
|
556
|
+
"type": "string",
|
|
557
|
+
"description": "Reminder rule id. Example: 'high_risk_score'"
|
|
558
|
+
},
|
|
559
|
+
"stage": {
|
|
560
|
+
"type": "string",
|
|
561
|
+
"enum": [
|
|
562
|
+
"browse",
|
|
563
|
+
"evaluate",
|
|
564
|
+
"preorder",
|
|
565
|
+
"in_progress",
|
|
566
|
+
"complete",
|
|
567
|
+
"after_sale"
|
|
568
|
+
],
|
|
569
|
+
"description": "Order lifecycle stage when this reminder fires. Example: 'evaluate'"
|
|
570
|
+
},
|
|
571
|
+
"priority": {
|
|
572
|
+
"type": "string",
|
|
573
|
+
"enum": [
|
|
574
|
+
"required",
|
|
575
|
+
"recommended",
|
|
576
|
+
"info",
|
|
577
|
+
"reminder"
|
|
578
|
+
],
|
|
579
|
+
"description": "Priority. 'required' = blocks purchase; 'recommended' = strong caution. Example: 'required'"
|
|
580
|
+
},
|
|
581
|
+
"message": {
|
|
582
|
+
"type": "string",
|
|
583
|
+
"description": "Human-readable reminder message. Example: 'Composite risk score 25/100, strongly discourage purchase'"
|
|
584
|
+
},
|
|
585
|
+
"action": {
|
|
586
|
+
"description": "Suggested next action. Example: 'require merchant to bind Arbitration before ordering'",
|
|
587
|
+
"type": "string"
|
|
588
|
+
}
|
|
589
|
+
},
|
|
590
|
+
"required": [
|
|
591
|
+
"id",
|
|
592
|
+
"stage",
|
|
593
|
+
"priority",
|
|
594
|
+
"message"
|
|
595
|
+
],
|
|
596
|
+
"additionalProperties": false,
|
|
597
|
+
"description": "A buyer-side reminder triggered at a specific order lifecycle stage (Phase 3 C-3)."
|
|
598
|
+
},
|
|
599
|
+
"description": "Stage-specific reminders (deduped, sorted by priority, capped to 3 high-risk). Example: [{priority:'required', message:'Ambiguous Guard must be human-reviewed'}]"
|
|
600
|
+
},
|
|
601
|
+
"preference_match": {
|
|
602
|
+
"description": "Service-to-preference match (populated when user preferences exist). Example: {score:75, matches:[...], mismatches:[...]}",
|
|
603
|
+
"type": "object",
|
|
604
|
+
"properties": {
|
|
605
|
+
"score": {
|
|
606
|
+
"type": "number",
|
|
607
|
+
"minimum": 0,
|
|
608
|
+
"maximum": 100,
|
|
609
|
+
"description": "Match score 0-100 (higher = better fit). Example: 75"
|
|
610
|
+
},
|
|
611
|
+
"matches": {
|
|
612
|
+
"type": "array",
|
|
613
|
+
"items": {
|
|
614
|
+
"type": "string"
|
|
615
|
+
},
|
|
616
|
+
"description": "Aspects that match user preferences. Example: ['Price 10% below average','Has arbitration']"
|
|
617
|
+
},
|
|
618
|
+
"mismatches": {
|
|
619
|
+
"type": "array",
|
|
620
|
+
"items": {
|
|
621
|
+
"type": "string"
|
|
622
|
+
},
|
|
623
|
+
"description": "Aspects that mismatch user preferences. Example: ['Delivery cycle exceeds expectation']"
|
|
624
|
+
}
|
|
625
|
+
},
|
|
626
|
+
"required": [
|
|
627
|
+
"score",
|
|
628
|
+
"matches",
|
|
629
|
+
"mismatches"
|
|
630
|
+
],
|
|
631
|
+
"additionalProperties": false
|
|
632
|
+
}
|
|
633
|
+
},
|
|
634
|
+
"required": [
|
|
635
|
+
"recommendations",
|
|
636
|
+
"reminders"
|
|
637
|
+
],
|
|
638
|
+
"additionalProperties": false
|
|
639
|
+
},
|
|
640
|
+
"evolution_context": {
|
|
641
|
+
"description": "Phase 4 industry evolution context (populated when industry_evolution service is enabled). Provides AI with industry health signals and evolution advice.",
|
|
642
|
+
"type": "object",
|
|
643
|
+
"properties": {
|
|
644
|
+
"industry_signal": {
|
|
645
|
+
"description": "Industry evolution signal summary. Example: 'Industry health 82/100 (healthy); 25 cumulative industry signals'",
|
|
646
|
+
"type": "string"
|
|
647
|
+
},
|
|
648
|
+
"evolution_advice": {
|
|
649
|
+
"description": "Evolution advice for the current operation. Example: 'Recommend mandatory arbitration + compensation fund + delivery Guard'",
|
|
650
|
+
"type": "string"
|
|
651
|
+
},
|
|
652
|
+
"confidence": {
|
|
653
|
+
"type": "number",
|
|
654
|
+
"minimum": 0,
|
|
655
|
+
"maximum": 1,
|
|
656
|
+
"description": "Confidence of the evolution context 0-1. <0.5 means no data yet. Example: 0.75"
|
|
657
|
+
},
|
|
658
|
+
"health_score": {
|
|
659
|
+
"description": "Industry health score 0-100 if available. Example: 82",
|
|
660
|
+
"type": "number",
|
|
661
|
+
"minimum": 0,
|
|
662
|
+
"maximum": 100
|
|
663
|
+
},
|
|
664
|
+
"pending_suggestions": {
|
|
665
|
+
"description": "Count of pending industry update suggestions (filtered by role if role is set). Example: 3",
|
|
666
|
+
"type": "integer",
|
|
667
|
+
"minimum": 0,
|
|
668
|
+
"maximum": 9007199254740991
|
|
669
|
+
},
|
|
670
|
+
"intent": {
|
|
671
|
+
"description": "Phase 4 P4-6.C: Current business intent driving the scoring model. Absent = 'default'. Example: 'growth'",
|
|
672
|
+
"type": "string",
|
|
673
|
+
"enum": [
|
|
674
|
+
"default",
|
|
675
|
+
"growth",
|
|
676
|
+
"retention",
|
|
677
|
+
"compliance",
|
|
678
|
+
"efficiency",
|
|
679
|
+
"trust_building",
|
|
680
|
+
"custom"
|
|
681
|
+
]
|
|
682
|
+
},
|
|
683
|
+
"role_advice": {
|
|
684
|
+
"description": "Phase 4 P4-6.C: Role-targeted advice strings (merchant/customer/demander/prospect/supplier/collaborator/arbitrator). Example: ['Strengthen loyalty flywheel','Optimize first-order conversion']",
|
|
685
|
+
"type": "array",
|
|
686
|
+
"items": {
|
|
687
|
+
"type": "string"
|
|
688
|
+
}
|
|
689
|
+
},
|
|
690
|
+
"role": {
|
|
691
|
+
"description": "Phase 4 P4-6.C: Role used for advice routing. Example: 'merchant'",
|
|
692
|
+
"type": "string",
|
|
693
|
+
"enum": [
|
|
694
|
+
"merchant",
|
|
695
|
+
"customer",
|
|
696
|
+
"demander",
|
|
697
|
+
"prospect",
|
|
698
|
+
"supplier",
|
|
699
|
+
"collaborator",
|
|
700
|
+
"arbitrator"
|
|
701
|
+
]
|
|
702
|
+
}
|
|
703
|
+
},
|
|
704
|
+
"required": [
|
|
705
|
+
"confidence"
|
|
706
|
+
],
|
|
707
|
+
"additionalProperties": false
|
|
708
|
+
},
|
|
709
|
+
"guard_advice": {
|
|
710
|
+
"description": "Phase 5 Guard capability advice (populated when user intent involves Guard). Provides puzzle status, scene matching, suggested patterns, available queries, risk warnings, and confirmation text. AI uses this to guide Guard design dialogue (R1-R10).",
|
|
711
|
+
"type": "object",
|
|
712
|
+
"properties": {
|
|
713
|
+
"current_round": {
|
|
714
|
+
"description": "Current R1-R10 dialogue round. R1=intent, R2=table, R3=tree, R4=rely, R5=binding, R6=review, R7=CREATE, R8=test, R9=bind, R10=verify. Example: 'R3'",
|
|
715
|
+
"type": "string",
|
|
716
|
+
"enum": [
|
|
717
|
+
"R1",
|
|
718
|
+
"R2",
|
|
719
|
+
"R3",
|
|
720
|
+
"R4",
|
|
721
|
+
"R5",
|
|
722
|
+
"R6",
|
|
723
|
+
"R7",
|
|
724
|
+
"R8",
|
|
725
|
+
"R9",
|
|
726
|
+
"R10"
|
|
727
|
+
]
|
|
728
|
+
},
|
|
729
|
+
"puzzle_status": {
|
|
730
|
+
"description": "Information puzzle completeness (6 dimensions). Missing dimensions need user input before CREATE.",
|
|
731
|
+
"type": "object",
|
|
732
|
+
"properties": {
|
|
733
|
+
"intent": {
|
|
734
|
+
"type": "boolean",
|
|
735
|
+
"description": "Intent dimension complete (action + rule + failure conditions)"
|
|
736
|
+
},
|
|
737
|
+
"binding": {
|
|
738
|
+
"type": "boolean",
|
|
739
|
+
"description": "Binding dimension complete (host object + field + circular ref)"
|
|
740
|
+
},
|
|
741
|
+
"data": {
|
|
742
|
+
"type": "boolean",
|
|
743
|
+
"description": "Data dimension complete (table entries + witnesses)"
|
|
744
|
+
},
|
|
745
|
+
"query": {
|
|
746
|
+
"type": "boolean",
|
|
747
|
+
"description": "Query dimension complete (query instructions if needed)"
|
|
748
|
+
},
|
|
749
|
+
"logic": {
|
|
750
|
+
"type": "boolean",
|
|
751
|
+
"description": "Logic dimension complete (root node returns Bool)"
|
|
752
|
+
},
|
|
753
|
+
"constraints": {
|
|
754
|
+
"type": "boolean",
|
|
755
|
+
"description": "Constraints dimension complete (10 Pitfalls checked)"
|
|
756
|
+
}
|
|
757
|
+
},
|
|
758
|
+
"required": [
|
|
759
|
+
"intent",
|
|
760
|
+
"binding",
|
|
761
|
+
"data",
|
|
762
|
+
"query",
|
|
763
|
+
"logic",
|
|
764
|
+
"constraints"
|
|
765
|
+
],
|
|
766
|
+
"additionalProperties": false
|
|
767
|
+
},
|
|
768
|
+
"matched_scene": {
|
|
769
|
+
"description": "Matched Guard scene id from the 8 binding scenarios ledger. Example: 'machine_forward_guard'",
|
|
770
|
+
"type": "string"
|
|
771
|
+
},
|
|
772
|
+
"scene_description": {
|
|
773
|
+
"description": "Human-readable scene description. Example: 'Workflow node forward validation (Forward.guard)'",
|
|
774
|
+
"type": "string"
|
|
775
|
+
},
|
|
776
|
+
"scene_constraints": {
|
|
777
|
+
"description": "Special constraints for the matched scene. Example: ['Forward.guard cannot be modified after Machine is published']",
|
|
778
|
+
"type": "array",
|
|
779
|
+
"items": {
|
|
780
|
+
"type": "string"
|
|
781
|
+
}
|
|
782
|
+
},
|
|
783
|
+
"suggested_patterns": {
|
|
784
|
+
"description": "Suggested Guard patterns based on user intent. Example: ['time lock','progress status check']",
|
|
785
|
+
"type": "array",
|
|
786
|
+
"items": {
|
|
787
|
+
"type": "string"
|
|
788
|
+
}
|
|
789
|
+
},
|
|
790
|
+
"available_queries": {
|
|
791
|
+
"description": "Available query instructions for the current context (subset of 375 GUARDQUERY entries)",
|
|
792
|
+
"type": "array",
|
|
793
|
+
"items": {
|
|
794
|
+
"type": "object",
|
|
795
|
+
"properties": {
|
|
796
|
+
"id": {
|
|
797
|
+
"type": "integer",
|
|
798
|
+
"minimum": -9007199254740991,
|
|
799
|
+
"maximum": 9007199254740991,
|
|
800
|
+
"description": "Query instruction ID. Example: 1253"
|
|
801
|
+
},
|
|
802
|
+
"name": {
|
|
803
|
+
"type": "string",
|
|
804
|
+
"description": "Query instruction name. Example: 'progress.current'"
|
|
805
|
+
},
|
|
806
|
+
"objectType": {
|
|
807
|
+
"type": "string",
|
|
808
|
+
"description": "Target object type. Example: 'Progress'"
|
|
809
|
+
},
|
|
810
|
+
"returnType": {
|
|
811
|
+
"type": "string",
|
|
812
|
+
"description": "Return value type. Example: 'String'"
|
|
813
|
+
},
|
|
814
|
+
"description": {
|
|
815
|
+
"description": "Query description",
|
|
816
|
+
"type": "string"
|
|
817
|
+
}
|
|
818
|
+
},
|
|
819
|
+
"required": [
|
|
820
|
+
"id",
|
|
821
|
+
"name",
|
|
822
|
+
"objectType",
|
|
823
|
+
"returnType"
|
|
824
|
+
],
|
|
825
|
+
"additionalProperties": false,
|
|
826
|
+
"description": "A Guard query instruction available for the current context (subset of GUARDQUERY 375 entries)."
|
|
827
|
+
}
|
|
828
|
+
},
|
|
829
|
+
"risk_warnings": {
|
|
830
|
+
"description": "Risk warnings for the current Guard design. Example: ['Guard cannot be modified after creation','Time lock test uses 1000ms']",
|
|
831
|
+
"type": "array",
|
|
832
|
+
"items": {
|
|
833
|
+
"type": "string"
|
|
834
|
+
}
|
|
835
|
+
},
|
|
836
|
+
"pending_questions": {
|
|
837
|
+
"description": "Questions for the user to complete the puzzle. Example: ['Which Host Object will the Guard bind to?']",
|
|
838
|
+
"type": "array",
|
|
839
|
+
"items": {
|
|
840
|
+
"type": "string"
|
|
841
|
+
}
|
|
842
|
+
},
|
|
843
|
+
"confirmation_text": {
|
|
844
|
+
"description": "Structured semantic confirmation text for user review (generated when puzzle is complete). User must explicitly confirm before CREATE.",
|
|
845
|
+
"type": "string"
|
|
846
|
+
},
|
|
847
|
+
"test_result": {
|
|
848
|
+
"description": "gen_passport static test result. Must pass before CREATE.",
|
|
849
|
+
"type": "object",
|
|
850
|
+
"properties": {
|
|
851
|
+
"status": {
|
|
852
|
+
"type": "string",
|
|
853
|
+
"enum": [
|
|
854
|
+
"pass",
|
|
855
|
+
"fail",
|
|
856
|
+
"not_tested"
|
|
857
|
+
]
|
|
858
|
+
},
|
|
859
|
+
"failure_node": {
|
|
860
|
+
"description": "Node that caused failure (if fail)",
|
|
861
|
+
"type": "string"
|
|
862
|
+
},
|
|
863
|
+
"passport_id": {
|
|
864
|
+
"description": "Generated Passport ID (if pass)",
|
|
865
|
+
"type": "string"
|
|
866
|
+
}
|
|
867
|
+
},
|
|
868
|
+
"required": [
|
|
869
|
+
"status"
|
|
870
|
+
],
|
|
871
|
+
"additionalProperties": false
|
|
872
|
+
},
|
|
873
|
+
"risk_assessment": {
|
|
874
|
+
"description": "Business-layer risk assessment (game theory, data source trust, logic gaps). Populated during Guard design to warn about business risks beyond syntax.",
|
|
875
|
+
"type": "object",
|
|
876
|
+
"properties": {
|
|
877
|
+
"overall_risk": {
|
|
878
|
+
"type": "string",
|
|
879
|
+
"enum": [
|
|
880
|
+
"critical",
|
|
881
|
+
"high",
|
|
882
|
+
"medium",
|
|
883
|
+
"low",
|
|
884
|
+
"info"
|
|
885
|
+
],
|
|
886
|
+
"description": "Overall risk level (highest from all risks)"
|
|
887
|
+
},
|
|
888
|
+
"risk_count": {
|
|
889
|
+
"type": "integer",
|
|
890
|
+
"minimum": -9007199254740991,
|
|
891
|
+
"maximum": 9007199254740991,
|
|
892
|
+
"description": "Total number of detected risks"
|
|
893
|
+
},
|
|
894
|
+
"critical_count": {
|
|
895
|
+
"type": "integer",
|
|
896
|
+
"minimum": -9007199254740991,
|
|
897
|
+
"maximum": 9007199254740991,
|
|
898
|
+
"description": "Number of critical risks"
|
|
899
|
+
},
|
|
900
|
+
"high_count": {
|
|
901
|
+
"type": "integer",
|
|
902
|
+
"minimum": -9007199254740991,
|
|
903
|
+
"maximum": 9007199254740991,
|
|
904
|
+
"description": "Number of high risks"
|
|
905
|
+
},
|
|
906
|
+
"needs_human_review": {
|
|
907
|
+
"type": "boolean",
|
|
908
|
+
"description": "Whether human review is required (critical or 2+ high risks)"
|
|
909
|
+
},
|
|
910
|
+
"top_risks": {
|
|
911
|
+
"type": "array",
|
|
912
|
+
"items": {
|
|
913
|
+
"type": "string"
|
|
914
|
+
},
|
|
915
|
+
"description": "Top risk titles (critical and high, max 3)"
|
|
916
|
+
},
|
|
917
|
+
"stakeholder_advice": {
|
|
918
|
+
"description": "Per-stakeholder advice. Key=stakeholder (customer/provider/arbitrator/claimant), value=advice list",
|
|
919
|
+
"type": "object",
|
|
920
|
+
"propertyNames": {
|
|
921
|
+
"type": "string"
|
|
922
|
+
},
|
|
923
|
+
"additionalProperties": {
|
|
924
|
+
"type": "array",
|
|
925
|
+
"items": {
|
|
926
|
+
"type": "string"
|
|
927
|
+
}
|
|
928
|
+
}
|
|
929
|
+
}
|
|
930
|
+
},
|
|
931
|
+
"required": [
|
|
932
|
+
"overall_risk",
|
|
933
|
+
"risk_count",
|
|
934
|
+
"critical_count",
|
|
935
|
+
"high_count",
|
|
936
|
+
"needs_human_review",
|
|
937
|
+
"top_risks"
|
|
938
|
+
],
|
|
939
|
+
"additionalProperties": false
|
|
940
|
+
}
|
|
941
|
+
},
|
|
942
|
+
"additionalProperties": false
|
|
943
|
+
},
|
|
944
|
+
"workflow_guidance": {
|
|
945
|
+
"description": "K3 permission-aware workflow guidance: current node + ALL reachable next nodes with their operator/permission/guard + K3 recommendation. Populated when a Progress (or Order with Progress) is queried and after progress operate. AI must read this BEFORE proposing the next workflow operation.",
|
|
946
|
+
"type": "object",
|
|
947
|
+
"properties": {
|
|
948
|
+
"current_node": {
|
|
949
|
+
"type": "string",
|
|
950
|
+
"description": "Current node of the Progress. Example: 'serving'"
|
|
951
|
+
},
|
|
952
|
+
"caller": {
|
|
953
|
+
"description": "The account (name/address) this guidance is framed for (env.account). Example: 'london_guide'",
|
|
954
|
+
"type": "string"
|
|
955
|
+
},
|
|
956
|
+
"options": {
|
|
957
|
+
"type": "array",
|
|
958
|
+
"items": {
|
|
959
|
+
"type": "object",
|
|
960
|
+
"properties": {
|
|
961
|
+
"next_node": {
|
|
962
|
+
"type": "string",
|
|
963
|
+
"description": "Target node this forward advances INTO. Example: 'serving'"
|
|
964
|
+
},
|
|
965
|
+
"forward": {
|
|
966
|
+
"type": "string",
|
|
967
|
+
"description": "Forward (operation) name. Example: 'StartService'"
|
|
968
|
+
},
|
|
969
|
+
"weight": {
|
|
970
|
+
"type": "number",
|
|
971
|
+
"description": "Forward weight contributed toward the pair threshold. Example: 1"
|
|
972
|
+
},
|
|
973
|
+
"operator": {
|
|
974
|
+
"type": "object",
|
|
975
|
+
"properties": {
|
|
976
|
+
"kind": {
|
|
977
|
+
"type": "string",
|
|
978
|
+
"enum": [
|
|
979
|
+
"order_holder",
|
|
980
|
+
"permission_index",
|
|
981
|
+
"named_operator"
|
|
982
|
+
],
|
|
983
|
+
"description": "Who can execute this forward (K3 feasibility). 'order_holder' = the Order owner (customer; forward namedOperator=''), 'permission_index' = a permission role, 'named_operator' = a specific Progress namespace operator."
|
|
984
|
+
},
|
|
985
|
+
"permission_index": {
|
|
986
|
+
"description": "Permission index when kind='permission_index'. Example: 1000",
|
|
987
|
+
"type": "integer",
|
|
988
|
+
"minimum": -9007199254740991,
|
|
989
|
+
"maximum": 9007199254740991
|
|
990
|
+
},
|
|
991
|
+
"role_name": {
|
|
992
|
+
"description": "Resolved role display name. Example: 'merchant (permission 1000)' / 'order holder (customer)'",
|
|
993
|
+
"type": "string"
|
|
994
|
+
},
|
|
995
|
+
"account_name": {
|
|
996
|
+
"description": "Resolved local account/mark name when the operator maps to a concrete account. Example: 'london_guide'",
|
|
997
|
+
"type": "string"
|
|
998
|
+
},
|
|
999
|
+
"named_operator": {
|
|
1000
|
+
"description": "NamedOperator namespace when kind='named_operator'. Example: 'delivery_team'",
|
|
1001
|
+
"type": "string"
|
|
1002
|
+
}
|
|
1003
|
+
},
|
|
1004
|
+
"required": [
|
|
1005
|
+
"kind"
|
|
1006
|
+
],
|
|
1007
|
+
"additionalProperties": false,
|
|
1008
|
+
"description": "Who can execute this forward (which account + which permission)."
|
|
1009
|
+
},
|
|
1010
|
+
"guard": {
|
|
1011
|
+
"description": "Guard bound to the forward — acceptance condition verified BEFORE the transition. Example: 'guard_payout'",
|
|
1012
|
+
"type": "string"
|
|
1013
|
+
},
|
|
1014
|
+
"business_meaning": {
|
|
1015
|
+
"type": "string",
|
|
1016
|
+
"description": "Business meaning of advancing to this node. Example: 'Guide starts the day service'"
|
|
1017
|
+
},
|
|
1018
|
+
"gains": {
|
|
1019
|
+
"description": "Gains for the caller if this option is chosen (K3 Game G1 收益分离). Example: ['Settlement triggered — funds released to provider']",
|
|
1020
|
+
"type": "array",
|
|
1021
|
+
"items": {
|
|
1022
|
+
"type": "string"
|
|
1023
|
+
}
|
|
1024
|
+
},
|
|
1025
|
+
"risks": {
|
|
1026
|
+
"description": "Risks for the caller if this option is chosen (K3 Game G1 风险分离). Example: ['Refund leverage lost after confirmation']",
|
|
1027
|
+
"type": "array",
|
|
1028
|
+
"items": {
|
|
1029
|
+
"type": "string"
|
|
1030
|
+
}
|
|
1031
|
+
},
|
|
1032
|
+
"consistency": {
|
|
1033
|
+
"description": "Consistency 0-100 between this option's business semantics and the caller's interests (K3 Game optimality). Higher = more aligned.",
|
|
1034
|
+
"type": "number",
|
|
1035
|
+
"minimum": 0,
|
|
1036
|
+
"maximum": 100
|
|
1037
|
+
},
|
|
1038
|
+
"recommended": {
|
|
1039
|
+
"description": "Whether this is the recommended option (highest consistency).",
|
|
1040
|
+
"type": "boolean"
|
|
1041
|
+
}
|
|
1042
|
+
},
|
|
1043
|
+
"required": [
|
|
1044
|
+
"next_node",
|
|
1045
|
+
"forward",
|
|
1046
|
+
"weight",
|
|
1047
|
+
"operator",
|
|
1048
|
+
"business_meaning"
|
|
1049
|
+
],
|
|
1050
|
+
"additionalProperties": false,
|
|
1051
|
+
"description": "A reachable next-node option with its operator/permission, guard, business meaning, and K3-style gains/risks/consistency."
|
|
1052
|
+
},
|
|
1053
|
+
"description": "ALL reachable next-node directions (every operator/permission/guard disclosed)."
|
|
1054
|
+
},
|
|
1055
|
+
"recommendation": {
|
|
1056
|
+
"description": "Recommended option with rationale (K3 Game 意图/博弈/利益).",
|
|
1057
|
+
"type": "object",
|
|
1058
|
+
"properties": {
|
|
1059
|
+
"best": {
|
|
1060
|
+
"description": "Recommended action in '<forward> → <next_node>' form. Example: 'StartService → serving'",
|
|
1061
|
+
"type": "string"
|
|
1062
|
+
},
|
|
1063
|
+
"rationale": {
|
|
1064
|
+
"description": "Why this option is recommended (framed at the caller's value: gains/risks). Example: 'For the guide, advancing to serving triggers the delivery flow'",
|
|
1065
|
+
"type": "string"
|
|
1066
|
+
},
|
|
1067
|
+
"caveat": {
|
|
1068
|
+
"description": "Disclosed trade-off / opportunity cost of NOT taking another path (K3 Game G3 机会成本). Example: 'Choosing cancelled forfeits this order's settlement'",
|
|
1069
|
+
"type": "string"
|
|
1070
|
+
}
|
|
1071
|
+
},
|
|
1072
|
+
"additionalProperties": false
|
|
1073
|
+
},
|
|
1074
|
+
"note": {
|
|
1075
|
+
"description": "Additional note (e.g. wait for the other party, entry/terminal hint).",
|
|
1076
|
+
"type": "string"
|
|
1077
|
+
}
|
|
1078
|
+
},
|
|
1079
|
+
"required": [
|
|
1080
|
+
"current_node",
|
|
1081
|
+
"options"
|
|
1082
|
+
],
|
|
1083
|
+
"additionalProperties": false
|
|
1084
|
+
},
|
|
1085
|
+
"workflow_receipt": {
|
|
1086
|
+
"description": "K3 operate receipt: which account did what, whether the node migrated, and threshold/weight cooperation status when it did not. AI must relay this to the user after every progress operation.",
|
|
1087
|
+
"type": "object",
|
|
1088
|
+
"properties": {
|
|
1089
|
+
"account": {
|
|
1090
|
+
"type": "string",
|
|
1091
|
+
"description": "The account that executed the operation (env.account). Example: 'london_guide'"
|
|
1092
|
+
},
|
|
1093
|
+
"action": {
|
|
1094
|
+
"type": "string",
|
|
1095
|
+
"description": "What was done. Example: 'london_guide executed StartService (paid → serving)'"
|
|
1096
|
+
},
|
|
1097
|
+
"forward": {
|
|
1098
|
+
"type": "string",
|
|
1099
|
+
"description": "Forward name executed. Example: 'StartService'"
|
|
1100
|
+
},
|
|
1101
|
+
"target_node": {
|
|
1102
|
+
"type": "string",
|
|
1103
|
+
"description": "Target node of the executed forward. Example: 'serving'"
|
|
1104
|
+
},
|
|
1105
|
+
"op": {
|
|
1106
|
+
"description": "Operation type executed.",
|
|
1107
|
+
"type": "string",
|
|
1108
|
+
"enum": [
|
|
1109
|
+
"next",
|
|
1110
|
+
"hold",
|
|
1111
|
+
"unhold",
|
|
1112
|
+
"adminUnhold"
|
|
1113
|
+
]
|
|
1114
|
+
},
|
|
1115
|
+
"migrated": {
|
|
1116
|
+
"type": "boolean",
|
|
1117
|
+
"description": "Whether the Progress migrated to the target node (true) or stayed (false — weights still accumulating toward threshold)."
|
|
1118
|
+
},
|
|
1119
|
+
"current_node": {
|
|
1120
|
+
"type": "string",
|
|
1121
|
+
"description": "Progress.current after the operation."
|
|
1122
|
+
},
|
|
1123
|
+
"threshold": {
|
|
1124
|
+
"description": "Pair threshold when NOT migrated (threshold > 0).",
|
|
1125
|
+
"type": "number"
|
|
1126
|
+
},
|
|
1127
|
+
"accumulated_weight": {
|
|
1128
|
+
"description": "Accumulated forward weight in the current session when NOT migrated.",
|
|
1129
|
+
"type": "number"
|
|
1130
|
+
},
|
|
1131
|
+
"remaining": {
|
|
1132
|
+
"description": "threshold - accumulated_weight when NOT migrated.",
|
|
1133
|
+
"type": "number"
|
|
1134
|
+
},
|
|
1135
|
+
"waiting_on": {
|
|
1136
|
+
"description": "Pending forwards + their operators when NOT migrated (K3 Game G4 — who must cooperate next).",
|
|
1137
|
+
"type": "array",
|
|
1138
|
+
"items": {
|
|
1139
|
+
"type": "object",
|
|
1140
|
+
"properties": {
|
|
1141
|
+
"forward": {
|
|
1142
|
+
"type": "string",
|
|
1143
|
+
"description": "Forward still required to reach the threshold. Example: 'GuideConfirm'"
|
|
1144
|
+
},
|
|
1145
|
+
"operator": {
|
|
1146
|
+
"type": "object",
|
|
1147
|
+
"properties": {
|
|
1148
|
+
"kind": {
|
|
1149
|
+
"type": "string",
|
|
1150
|
+
"enum": [
|
|
1151
|
+
"order_holder",
|
|
1152
|
+
"permission_index",
|
|
1153
|
+
"named_operator"
|
|
1154
|
+
],
|
|
1155
|
+
"description": "Who can execute this forward (K3 feasibility). 'order_holder' = the Order owner (customer; forward namedOperator=''), 'permission_index' = a permission role, 'named_operator' = a specific Progress namespace operator."
|
|
1156
|
+
},
|
|
1157
|
+
"permission_index": {
|
|
1158
|
+
"description": "Permission index when kind='permission_index'. Example: 1000",
|
|
1159
|
+
"type": "integer",
|
|
1160
|
+
"minimum": -9007199254740991,
|
|
1161
|
+
"maximum": 9007199254740991
|
|
1162
|
+
},
|
|
1163
|
+
"role_name": {
|
|
1164
|
+
"description": "Resolved role display name. Example: 'merchant (permission 1000)' / 'order holder (customer)'",
|
|
1165
|
+
"type": "string"
|
|
1166
|
+
},
|
|
1167
|
+
"account_name": {
|
|
1168
|
+
"description": "Resolved local account/mark name when the operator maps to a concrete account. Example: 'london_guide'",
|
|
1169
|
+
"type": "string"
|
|
1170
|
+
},
|
|
1171
|
+
"named_operator": {
|
|
1172
|
+
"description": "NamedOperator namespace when kind='named_operator'. Example: 'delivery_team'",
|
|
1173
|
+
"type": "string"
|
|
1174
|
+
}
|
|
1175
|
+
},
|
|
1176
|
+
"required": [
|
|
1177
|
+
"kind"
|
|
1178
|
+
],
|
|
1179
|
+
"additionalProperties": false,
|
|
1180
|
+
"description": "Who must execute this forward next."
|
|
1181
|
+
}
|
|
1182
|
+
},
|
|
1183
|
+
"required": [
|
|
1184
|
+
"forward",
|
|
1185
|
+
"operator"
|
|
1186
|
+
],
|
|
1187
|
+
"additionalProperties": false,
|
|
1188
|
+
"description": "A forward still pending — who must act next (threshold cooperation, K3 Game G4 阈值配合)."
|
|
1189
|
+
}
|
|
1190
|
+
},
|
|
1191
|
+
"next_guidance": {
|
|
1192
|
+
"description": "Next-node guidance from the resulting current node.",
|
|
1193
|
+
"type": "object",
|
|
1194
|
+
"properties": {
|
|
1195
|
+
"current_node": {
|
|
1196
|
+
"type": "string",
|
|
1197
|
+
"description": "Current node of the Progress. Example: 'serving'"
|
|
1198
|
+
},
|
|
1199
|
+
"caller": {
|
|
1200
|
+
"description": "The account (name/address) this guidance is framed for (env.account). Example: 'london_guide'",
|
|
1201
|
+
"type": "string"
|
|
1202
|
+
},
|
|
1203
|
+
"options": {
|
|
1204
|
+
"type": "array",
|
|
1205
|
+
"items": {
|
|
1206
|
+
"type": "object",
|
|
1207
|
+
"properties": {
|
|
1208
|
+
"next_node": {
|
|
1209
|
+
"type": "string",
|
|
1210
|
+
"description": "Target node this forward advances INTO. Example: 'serving'"
|
|
1211
|
+
},
|
|
1212
|
+
"forward": {
|
|
1213
|
+
"type": "string",
|
|
1214
|
+
"description": "Forward (operation) name. Example: 'StartService'"
|
|
1215
|
+
},
|
|
1216
|
+
"weight": {
|
|
1217
|
+
"type": "number",
|
|
1218
|
+
"description": "Forward weight contributed toward the pair threshold. Example: 1"
|
|
1219
|
+
},
|
|
1220
|
+
"operator": {
|
|
1221
|
+
"type": "object",
|
|
1222
|
+
"properties": {
|
|
1223
|
+
"kind": {
|
|
1224
|
+
"type": "string",
|
|
1225
|
+
"enum": [
|
|
1226
|
+
"order_holder",
|
|
1227
|
+
"permission_index",
|
|
1228
|
+
"named_operator"
|
|
1229
|
+
],
|
|
1230
|
+
"description": "Who can execute this forward (K3 feasibility). 'order_holder' = the Order owner (customer; forward namedOperator=''), 'permission_index' = a permission role, 'named_operator' = a specific Progress namespace operator."
|
|
1231
|
+
},
|
|
1232
|
+
"permission_index": {
|
|
1233
|
+
"description": "Permission index when kind='permission_index'. Example: 1000",
|
|
1234
|
+
"type": "integer",
|
|
1235
|
+
"minimum": -9007199254740991,
|
|
1236
|
+
"maximum": 9007199254740991
|
|
1237
|
+
},
|
|
1238
|
+
"role_name": {
|
|
1239
|
+
"description": "Resolved role display name. Example: 'merchant (permission 1000)' / 'order holder (customer)'",
|
|
1240
|
+
"type": "string"
|
|
1241
|
+
},
|
|
1242
|
+
"account_name": {
|
|
1243
|
+
"description": "Resolved local account/mark name when the operator maps to a concrete account. Example: 'london_guide'",
|
|
1244
|
+
"type": "string"
|
|
1245
|
+
},
|
|
1246
|
+
"named_operator": {
|
|
1247
|
+
"description": "NamedOperator namespace when kind='named_operator'. Example: 'delivery_team'",
|
|
1248
|
+
"type": "string"
|
|
1249
|
+
}
|
|
1250
|
+
},
|
|
1251
|
+
"required": [
|
|
1252
|
+
"kind"
|
|
1253
|
+
],
|
|
1254
|
+
"additionalProperties": false,
|
|
1255
|
+
"description": "Who can execute this forward (which account + which permission)."
|
|
1256
|
+
},
|
|
1257
|
+
"guard": {
|
|
1258
|
+
"description": "Guard bound to the forward — acceptance condition verified BEFORE the transition. Example: 'guard_payout'",
|
|
1259
|
+
"type": "string"
|
|
1260
|
+
},
|
|
1261
|
+
"business_meaning": {
|
|
1262
|
+
"type": "string",
|
|
1263
|
+
"description": "Business meaning of advancing to this node. Example: 'Guide starts the day service'"
|
|
1264
|
+
},
|
|
1265
|
+
"gains": {
|
|
1266
|
+
"description": "Gains for the caller if this option is chosen (K3 Game G1 收益分离). Example: ['Settlement triggered — funds released to provider']",
|
|
1267
|
+
"type": "array",
|
|
1268
|
+
"items": {
|
|
1269
|
+
"type": "string"
|
|
1270
|
+
}
|
|
1271
|
+
},
|
|
1272
|
+
"risks": {
|
|
1273
|
+
"description": "Risks for the caller if this option is chosen (K3 Game G1 风险分离). Example: ['Refund leverage lost after confirmation']",
|
|
1274
|
+
"type": "array",
|
|
1275
|
+
"items": {
|
|
1276
|
+
"type": "string"
|
|
1277
|
+
}
|
|
1278
|
+
},
|
|
1279
|
+
"consistency": {
|
|
1280
|
+
"description": "Consistency 0-100 between this option's business semantics and the caller's interests (K3 Game optimality). Higher = more aligned.",
|
|
1281
|
+
"type": "number",
|
|
1282
|
+
"minimum": 0,
|
|
1283
|
+
"maximum": 100
|
|
1284
|
+
},
|
|
1285
|
+
"recommended": {
|
|
1286
|
+
"description": "Whether this is the recommended option (highest consistency).",
|
|
1287
|
+
"type": "boolean"
|
|
1288
|
+
}
|
|
1289
|
+
},
|
|
1290
|
+
"required": [
|
|
1291
|
+
"next_node",
|
|
1292
|
+
"forward",
|
|
1293
|
+
"weight",
|
|
1294
|
+
"operator",
|
|
1295
|
+
"business_meaning"
|
|
1296
|
+
],
|
|
1297
|
+
"additionalProperties": false,
|
|
1298
|
+
"description": "A reachable next-node option with its operator/permission, guard, business meaning, and K3-style gains/risks/consistency."
|
|
1299
|
+
},
|
|
1300
|
+
"description": "ALL reachable next-node directions (every operator/permission/guard disclosed)."
|
|
1301
|
+
},
|
|
1302
|
+
"recommendation": {
|
|
1303
|
+
"description": "Recommended option with rationale (K3 Game 意图/博弈/利益).",
|
|
1304
|
+
"type": "object",
|
|
1305
|
+
"properties": {
|
|
1306
|
+
"best": {
|
|
1307
|
+
"description": "Recommended action in '<forward> → <next_node>' form. Example: 'StartService → serving'",
|
|
1308
|
+
"type": "string"
|
|
1309
|
+
},
|
|
1310
|
+
"rationale": {
|
|
1311
|
+
"description": "Why this option is recommended (framed at the caller's value: gains/risks). Example: 'For the guide, advancing to serving triggers the delivery flow'",
|
|
1312
|
+
"type": "string"
|
|
1313
|
+
},
|
|
1314
|
+
"caveat": {
|
|
1315
|
+
"description": "Disclosed trade-off / opportunity cost of NOT taking another path (K3 Game G3 机会成本). Example: 'Choosing cancelled forfeits this order's settlement'",
|
|
1316
|
+
"type": "string"
|
|
1317
|
+
}
|
|
1318
|
+
},
|
|
1319
|
+
"additionalProperties": false
|
|
1320
|
+
},
|
|
1321
|
+
"note": {
|
|
1322
|
+
"description": "Additional note (e.g. wait for the other party, entry/terminal hint).",
|
|
1323
|
+
"type": "string"
|
|
1324
|
+
}
|
|
1325
|
+
},
|
|
1326
|
+
"required": [
|
|
1327
|
+
"current_node",
|
|
1328
|
+
"options"
|
|
1329
|
+
],
|
|
1330
|
+
"additionalProperties": false
|
|
1331
|
+
},
|
|
1332
|
+
"note": {
|
|
1333
|
+
"description": "Additional note.",
|
|
1334
|
+
"type": "string"
|
|
1335
|
+
}
|
|
1336
|
+
},
|
|
1337
|
+
"required": [
|
|
1338
|
+
"account",
|
|
1339
|
+
"action",
|
|
1340
|
+
"forward",
|
|
1341
|
+
"target_node",
|
|
1342
|
+
"migrated",
|
|
1343
|
+
"current_node"
|
|
1344
|
+
],
|
|
1345
|
+
"additionalProperties": false
|
|
1346
|
+
}
|
|
1347
|
+
},
|
|
1348
|
+
"required": [
|
|
1349
|
+
"intent",
|
|
1350
|
+
"status",
|
|
1351
|
+
"summary"
|
|
1352
|
+
],
|
|
1353
|
+
"additionalProperties": false
|
|
1354
|
+
}
|
|
1355
|
+
},
|
|
1356
|
+
"required": [
|
|
1357
|
+
"result"
|
|
1358
|
+
],
|
|
1359
|
+
"additionalProperties": false
|
|
1360
|
+
}
|