@wowok/agent-mcp 2.7.1 → 2.7.2
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/config/index.js +1 -1
- package/dist/config/runtime.js +1 -238
- package/dist/customer/customer-advice.js +1 -130
- package/dist/customer/index.js +1 -11
- package/dist/customer/industry-risks.js +1 -438
- package/dist/customer/info-puzzle.js +1 -681
- package/dist/customer/order-monitor.js +1 -328
- package/dist/customer/order-strategy.js +1 -373
- package/dist/customer/post-purchase.js +1 -351
- package/dist/customer/preorder-compare.js +1 -34
- package/dist/customer/reminder-system.js +1 -316
- package/dist/customer/risk-assessment.js +1 -397
- package/dist/customer/types.js +1 -13
- package/dist/customer/user-preferences.js +1 -460
- package/dist/evaluation/arbitration-game.d.ts +9 -2
- package/dist/evaluation/arbitration-game.js +1 -48
- package/dist/evaluation/builtins/demand-match.js +1 -153
- package/dist/evaluation/builtins/index.js +1 -10
- package/dist/evaluation/builtins/service-risk.js +1 -55
- package/dist/evaluation/capability.js +1 -13
- package/dist/evaluation/composer.js +1 -40
- package/dist/evaluation/engine.js +1 -175
- package/dist/evaluation/extract.js +1 -115
- package/dist/evaluation/game-strategy.d.ts +27 -0
- package/dist/evaluation/game-strategy.js +1 -0
- package/dist/evaluation/gap.js +1 -100
- package/dist/evaluation/index.d.ts +1 -0
- package/dist/evaluation/index.js +1 -11
- package/dist/evaluation/node-game.d.ts +31 -3
- package/dist/evaluation/node-game.js +1 -57
- package/dist/evaluation/region.js +1 -36
- package/dist/evaluation/types.d.ts +1 -0
- package/dist/evaluation/types.js +1 -1
- package/dist/evaluation/user-injection.js +1 -27
- package/dist/experience/experience-reuse.js +1 -103
- package/dist/experience/index.js +1 -5
- package/dist/experience/intent-distill.js +1 -83
- package/dist/experience/realtime-feedback.js +1 -94
- package/dist/experience/types.js +1 -1
- package/dist/experience/user-profile.js +1 -171
- package/dist/extensions/business-modules.js +1 -287
- package/dist/extensions/capability-manifest.js +1 -781
- package/dist/extensions/constraint-registry.js +1 -198
- package/dist/extensions/index.js +1 -6
- package/dist/extensions/metric-registry.js +1 -257
- package/dist/extensions/mode-evaluator.js +1 -170
- package/dist/extensions/modes.js +1 -499
- package/dist/extensions/registry.js +1 -717
- package/dist/extensions/types.js +1 -1
- package/dist/harness/auto-escalation.js +1 -68
- package/dist/harness/checkpoint.js +1 -129
- package/dist/harness/index.js +1 -78
- package/dist/harness/plan.js +1 -315
- package/dist/harness/recover.js +1 -139
- package/dist/harness/types.js +1 -1
- package/dist/harness/verify.js +1 -237
- package/dist/index.js +1 -273
- package/dist/intent/enrich.js +1 -67
- package/dist/intent/index.js +1 -60
- package/dist/intent/matcher.js +1 -81
- package/dist/intent/store.js +1 -55
- package/dist/intent/types.js +1 -10
- package/dist/knowledge/acquisition-flywheel.js +1 -192
- package/dist/knowledge/allocation-confirm.js +1 -534
- package/dist/knowledge/allocation-context.js +1 -249
- package/dist/knowledge/allocation-ledger.js +1 -463
- package/dist/knowledge/allocation-puzzle.js +1 -298
- package/dist/knowledge/allocation-risk.js +1 -568
- package/dist/knowledge/allocation-templates.js +1 -970
- package/dist/knowledge/allocation-translation.js +1 -585
- package/dist/knowledge/arb-risk.js +1 -210
- package/dist/knowledge/arbitration-confirm.js +1 -559
- package/dist/knowledge/arbitration-context.js +1 -505
- package/dist/knowledge/arbitration-ledger.js +1 -521
- package/dist/knowledge/arbitration-puzzle.js +1 -304
- package/dist/knowledge/arbitration-risk.js +1 -423
- package/dist/knowledge/arbitration-templates.js +1 -276
- package/dist/knowledge/arbitration-translation.js +1 -487
- package/dist/knowledge/arbitration-trust.js +1 -117
- package/dist/knowledge/audit-rules.js +1 -141
- package/dist/knowledge/bridge-risk.js +1 -263
- package/dist/knowledge/contact-risk.js +1 -200
- package/dist/knowledge/contact-templates.js +1 -60
- package/dist/knowledge/demand-confirm.js +1 -206
- package/dist/knowledge/demand-matching.js +1 -132
- package/dist/knowledge/demand-risk.js +1 -240
- package/dist/knowledge/demand-translation.js +1 -354
- package/dist/knowledge/deployment-scanner.js +1 -823
- package/dist/knowledge/dynamic-pricing.js +1 -87
- package/dist/knowledge/examples-scanner-cli.js +1 -26
- package/dist/knowledge/examples-scanner.js +1 -843
- package/dist/knowledge/flywheel-loop.js +1 -404
- package/dist/knowledge/fund-layer.js +1 -973
- package/dist/knowledge/glossary.js +1 -211
- package/dist/knowledge/guard-confirm.js +1 -406
- package/dist/knowledge/guard-context.js +1 -287
- package/dist/knowledge/guard-design-patterns.js +1 -360
- package/dist/knowledge/guard-ledger.js +1 -260
- package/dist/knowledge/guard-lint.js +1 -670
- package/dist/knowledge/guard-migration.js +1 -228
- package/dist/knowledge/guard-puzzle.js +1 -805
- package/dist/knowledge/guard-render.js +1 -700
- package/dist/knowledge/guard-risk.js +1 -1879
- package/dist/knowledge/guard-submission-prompt.js +1 -171
- package/dist/knowledge/guard-templates.js +1 -1105
- package/dist/knowledge/guard-translation.js +1 -1119
- package/dist/knowledge/index.js +1 -436
- package/dist/knowledge/industry-evolution.js +1 -323
- package/dist/knowledge/industry-generalizer.js +1 -381
- package/dist/knowledge/industry-registry.js +1 -174
- package/dist/knowledge/intent-metrics.d.ts +4 -3
- package/dist/knowledge/intent-metrics.js +1 -566
- package/dist/knowledge/machine-confirm.js +1 -559
- package/dist/knowledge/machine-context.js +1 -833
- package/dist/knowledge/machine-ledger.js +1 -338
- package/dist/knowledge/machine-puzzle.js +1 -494
- package/dist/knowledge/machine-render.js +1 -565
- package/dist/knowledge/machine-risk.js +1 -669
- package/dist/knowledge/machine-templates.js +1 -1597
- package/dist/knowledge/machine-topology.js +1 -234
- package/dist/knowledge/machine-translation.js +1 -513
- package/dist/knowledge/mcp-schema-audit-cli.js +1 -45
- package/dist/knowledge/mcp-schema-audit.js +1 -777
- package/dist/knowledge/onchain-constants.js +1 -35
- package/dist/knowledge/order-confirm.js +1 -573
- package/dist/knowledge/order-context.js +1 -390
- package/dist/knowledge/order-ledger.js +1 -341
- package/dist/knowledge/order-puzzle.js +1 -255
- package/dist/knowledge/order-risk.js +1 -653
- package/dist/knowledge/order-templates.js +1 -368
- package/dist/knowledge/order-translation.js +1 -550
- package/dist/knowledge/overrides-loader.js +1 -65
- package/dist/knowledge/passport-confirm.js +1 -531
- package/dist/knowledge/passport-context.js +1 -306
- package/dist/knowledge/passport-ledger.js +1 -282
- package/dist/knowledge/passport-puzzle.js +1 -333
- package/dist/knowledge/passport-risk.js +1 -450
- package/dist/knowledge/passport-templates.js +1 -568
- package/dist/knowledge/passport-translation.js +1 -516
- package/dist/knowledge/payment-risk.js +1 -249
- package/dist/knowledge/permission-confirm.js +1 -426
- package/dist/knowledge/permission-context.js +1 -224
- package/dist/knowledge/permission-ledger.js +1 -403
- package/dist/knowledge/permission-puzzle.js +1 -173
- package/dist/knowledge/permission-risk.js +1 -411
- package/dist/knowledge/permission-templates.js +1 -234
- package/dist/knowledge/permission-translation.js +1 -350
- package/dist/knowledge/personal-risk.js +1 -212
- package/dist/knowledge/process-model.js +1 -160
- package/dist/knowledge/progress-confirm.js +1 -456
- package/dist/knowledge/progress-context.js +1 -452
- package/dist/knowledge/progress-ledger.js +1 -330
- package/dist/knowledge/progress-puzzle.js +1 -219
- package/dist/knowledge/progress-risk.js +1 -461
- package/dist/knowledge/progress-templates.js +1 -228
- package/dist/knowledge/progress-translation.js +1 -405
- package/dist/knowledge/proof-confirm.js +1 -187
- package/dist/knowledge/proof-risk.js +1 -207
- package/dist/knowledge/proof-translation.js +1 -283
- package/dist/knowledge/registrar-risk.js +1 -217
- package/dist/knowledge/repository-confirm.js +1 -286
- package/dist/knowledge/repository-risk.js +1 -373
- package/dist/knowledge/repository-translation.js +1 -445
- package/dist/knowledge/reputation-rules.js +1 -99
- package/dist/knowledge/resource-risk.js +1 -157
- package/dist/knowledge/reward-confirm.js +1 -526
- package/dist/knowledge/reward-context.js +1 -504
- package/dist/knowledge/reward-ledger.js +1 -502
- package/dist/knowledge/reward-puzzle.js +1 -300
- package/dist/knowledge/reward-risk.js +1 -627
- package/dist/knowledge/reward-templates.js +1 -197
- package/dist/knowledge/reward-translation.js +1 -501
- package/dist/knowledge/safety-rules.js +1 -404
- package/dist/knowledge/scenario-modes.js +1 -321
- package/dist/knowledge/service-confirm.js +1 -807
- package/dist/knowledge/service-context.js +1 -403
- package/dist/knowledge/service-ledger.js +1 -609
- package/dist/knowledge/service-puzzle.js +1 -236
- package/dist/knowledge/service-risk.js +1 -651
- package/dist/knowledge/service-templates.js +1 -456
- package/dist/knowledge/service-translation.js +1 -622
- package/dist/knowledge/template-registry.js +1 -353
- package/dist/knowledge/tool-constraints.js +1 -195
- package/dist/knowledge/tools-reference.js +1 -178
- package/dist/knowledge/treasury-confirm.js +1 -512
- package/dist/knowledge/treasury-context.js +1 -363
- package/dist/knowledge/treasury-ledger.js +1 -300
- package/dist/knowledge/treasury-puzzle.js +1 -216
- package/dist/knowledge/treasury-risk.js +1 -440
- package/dist/knowledge/treasury-templates.js +1 -358
- package/dist/knowledge/treasury-translation.js +1 -498
- package/dist/knowledge/trust-metrics.js +1 -198
- package/dist/knowledge/util-risk.js +1 -135
- package/dist/loop-engineering/aggregate.js +1 -132
- package/dist/loop-engineering/context-collect.js +1 -83
- package/dist/loop-engineering/diagnose.js +1 -273
- package/dist/loop-engineering/improve.js +1 -405
- package/dist/loop-engineering/index.js +1 -4
- package/dist/loop-engineering/pipeline.js +1 -56
- package/dist/mode-market/index.js +1 -3
- package/dist/mode-market/registry.js +1 -124
- package/dist/mode-market/review.js +1 -214
- package/dist/mode-market/submission.js +1 -85
- package/dist/participation/collaborator-interest.d.ts +23 -0
- package/dist/participation/collaborator-interest.js +1 -0
- package/dist/participation/customer-interest.d.ts +25 -0
- package/dist/participation/customer-interest.js +1 -0
- package/dist/participation/merchant-interest.js +1 -100
- package/dist/participation/radar-core.d.ts +13 -3
- package/dist/participation/radar-core.js +1 -269
- package/dist/participation/supplier-interest.d.ts +25 -0
- package/dist/participation/supplier-interest.js +1 -0
- package/dist/persona/analyzer.js +1 -66
- package/dist/persona/bridge.js +1 -86
- package/dist/persona/defaults.js +1 -195
- package/dist/persona/experience-bridge.js +1 -23
- package/dist/persona/index.js +1 -71
- package/dist/persona/model.js +1 -111
- package/dist/persona/store.js +1 -62
- package/dist/persona/types.d.ts +3 -1
- package/dist/persona/types.js +1 -5
- package/dist/project/business-puzzle.js +1 -383
- package/dist/project/context-assembly.js +1 -254
- package/dist/project/deployment-bridge.js +1 -120
- package/dist/project/deployment-doc.js +1 -1126
- package/dist/project/edit-planner.js +1 -1342
- package/dist/project/evaluation.js +1 -2011
- package/dist/project/game-theory.js +1 -177
- package/dist/project/graph-builder.js +1 -656
- package/dist/project/graph.js +1 -340
- package/dist/project/handlers.js +1 -1784
- package/dist/project/index.d.ts +1 -0
- package/dist/project/index.js +1 -301
- package/dist/project/intent-analyzer.js +1 -149
- package/dist/project/machine-nodes.js +1 -36
- package/dist/project/merchant-guide.js +1 -264
- package/dist/project/migration.js +1 -125
- package/dist/project/mode-actions.js +1 -309
- package/dist/project/namespace.js +1 -206
- package/dist/project/participation-radar.js +1 -428
- package/dist/project/pipeline-actions.js +1 -109
- package/dist/project/project-store.js +1 -422
- package/dist/project/query.js +1 -153
- package/dist/project/reverse-mapping.d.ts +34 -0
- package/dist/project/reverse-mapping.js +1 -0
- package/dist/project/risk-aggregator.js +1 -295
- package/dist/project/rollback-policy.js +1 -290
- package/dist/project/semantic-assembler.js +1 -345
- package/dist/project/semantic-graph.js +1 -292
- package/dist/project/stage-gate.js +1 -369
- package/dist/project/substep-trace.js +1 -332
- package/dist/project/task-tracker.js +1 -78
- package/dist/role/derivation.d.ts +18 -0
- package/dist/role/derivation.js +1 -0
- package/dist/role/index.d.ts +5 -0
- package/dist/role/index.js +1 -0
- package/dist/role/model.d.ts +8 -0
- package/dist/role/model.js +1 -0
- package/dist/role/resolution.d.ts +11 -0
- package/dist/role/resolution.js +1 -0
- package/dist/role/types.d.ts +11 -0
- package/dist/role/types.js +1 -0
- package/dist/rules.js +1 -52
- package/dist/safety/confirm-gate.js +1 -88
- package/dist/safety/index.js +1 -3
- package/dist/safety/preview.js +1 -52
- package/dist/schema/call/allocation.js +1 -34
- package/dist/schema/call/arbitration.js +1 -113
- package/dist/schema/call/base.d.ts +15 -15
- package/dist/schema/call/base.js +1 -370
- package/dist/schema/call/bridge-handler.js +1 -265
- package/dist/schema/call/bridge.d.ts +7 -7
- package/dist/schema/call/bridge.js +1 -458
- package/dist/schema/call/contact.js +1 -37
- package/dist/schema/call/demand.js +1 -47
- package/dist/schema/call/guard.js +1 -161
- package/dist/schema/call/handler.js +1 -322
- package/dist/schema/call/index.js +1 -20
- package/dist/schema/call/machine.js +1 -193
- package/dist/schema/call/order.js +1 -35
- package/dist/schema/call/payment.js +1 -37
- package/dist/schema/call/permission-handler.js +1 -54
- package/dist/schema/call/permission.js +1 -105
- package/dist/schema/call/personal.js +1 -78
- package/dist/schema/call/progress.js +1 -47
- package/dist/schema/call/proof.js +1 -33
- package/dist/schema/call/repository.js +1 -77
- package/dist/schema/call/reward.js +1 -30
- package/dist/schema/call/semantic.js +1 -1679
- package/dist/schema/call/service.js +1 -184
- package/dist/schema/call/treasury.js +1 -71
- package/dist/schema/common/index.js +1 -407
- package/dist/schema/config/index.js +1 -68
- package/dist/schema/evaluation/index.d.ts +213 -16
- package/dist/schema/evaluation/index.js +1 -356
- package/dist/schema/index.js +1 -17
- package/dist/schema/intent-radar/index.d.ts +13 -13
- package/dist/schema/intent-radar/index.js +1 -89
- package/dist/schema/local/index.d.ts +21 -21
- package/dist/schema/local/index.js +1 -927
- package/dist/schema/local/wip.js +1 -187
- package/dist/schema/messenger/index.d.ts +7 -7
- package/dist/schema/messenger/index.js +1 -475
- package/dist/schema/operations.d.ts +7 -7
- package/dist/schema/operations.js +1 -520
- package/dist/schema/persona/index.d.ts +54 -54
- package/dist/schema/persona/index.js +1 -148
- package/dist/schema/project/index.d.ts +94 -48
- package/dist/schema/project/index.js +1 -2057
- package/dist/schema/query/index.d.ts +423 -7
- package/dist/schema/query/index.js +1 -1646
- package/dist/schema/schema-query/index.js +1 -104
- package/dist/schema/schema-version.js +1 -76
- package/dist/schema/sync-layer4.js +1 -286
- package/dist/schema/task-status.js +1 -36
- package/dist/schema/trust/index.js +1 -314
- package/dist/schema/utils/guard-parser.js +1 -419
- package/dist/schema/utils/guard-query-utils.js +1 -46
- package/dist/schema/utils/node-parser.js +1 -369
- package/dist/schema/utils/object-type-utils.js +1 -35
- package/dist/schema/utils/permission-index-utils.js +1 -7
- package/dist/schema/utils/permission-machine-check.js +1 -121
- package/dist/schema/utils/skills-recommendation.js +1 -77
- package/dist/schema-query/index.js +1 -810
- package/dist/schemas/account_operation.output.json +5 -2
- package/dist/schemas/bridge_operation.output.json +5 -2
- package/dist/schemas/evaluation_operation.output.json +112 -7
- package/dist/schemas/evaluation_operation.schema.json +93 -6
- package/dist/schemas/index.json +1 -1
- package/dist/schemas/intent_radar.output.json +4 -1
- package/dist/schemas/intent_radar.schema.json +4 -1
- package/dist/schemas/local_info_operation.output.json +5 -2
- package/dist/schemas/local_mark_operation.output.json +5 -2
- package/dist/schemas/messenger_operation.output.json +5 -2
- package/dist/schemas/onchain_events.output.json +5 -2
- package/dist/schemas/onchain_operations.output.json +5 -2
- package/dist/schemas/onchain_operations.schema.json +4 -4
- package/dist/schemas/onchain_operations_allocation.schema.json +1 -1
- package/dist/schemas/onchain_operations_machine.schema.json +2 -2
- package/dist/schemas/onchain_operations_service.schema.json +1 -1
- package/dist/schemas/onchain_table_data.output.json +6 -3
- package/dist/schemas/persona_operation.output.json +4 -1
- package/dist/schemas/persona_operation.schema.json +4 -1
- package/dist/schemas/project_operation.output.json +28 -8
- package/dist/schemas/query_toolkit.output.json +8 -5
- package/dist/schemas/wowok_buildin_info.output.json +132 -0
- package/dist/schemas/wowok_buildin_info.schema.json +14 -0
- package/dist/telemetry/index.js +1 -112
- package/dist/telemetry/redact.js +1 -23
- package/dist/telemetry/storage.js +1 -80
- package/dist/tools/handlers/bridge.js +1 -1
- package/dist/tools/handlers/config.js +1 -74
- package/dist/tools/handlers/evaluation.js +1 -123
- package/dist/tools/handlers/file-export.js +1 -90
- package/dist/tools/handlers/intent-radar.js +1 -76
- package/dist/tools/handlers/local.js +1 -53
- package/dist/tools/handlers/messenger.js +1 -188
- package/dist/tools/handlers/onchain.js +1 -1180
- package/dist/tools/handlers/persona.js +1 -89
- package/dist/tools/handlers/project.js +1 -211
- package/dist/tools/handlers/query.js +1 -434
- package/dist/tools/handlers/schema-query.js +1 -176
- package/dist/tools/handlers/task-status.js +1 -26
- package/dist/tools/handlers/trust.js +1 -380
- package/dist/tools/handlers/wip.js +1 -90
- package/dist/tools/index.js +1 -1382
- package/dist/tools/retry.js +1 -85
- package/dist/tools/rules-hook.js +1 -23
- package/dist/tools/shared.js +1 -130
- package/dist/tools/types.js +1 -1
- package/dist/tools/upgrade-check.d.ts +19 -0
- package/dist/tools/upgrade-check.js +1 -0
- package/dist/tools/wip-deploy-assist.js +1 -306
- package/dist/tools/wrap.js +1 -500
- package/package.json +4 -2
|
@@ -1857,13 +1857,16 @@
|
|
|
1857
1857
|
"items": {
|
|
1858
1858
|
"type": "string"
|
|
1859
1859
|
},
|
|
1860
|
-
"description": "Phase 4 P4-6.C: Role-targeted advice strings (
|
|
1860
|
+
"description": "Phase 4 P4-6.C: Role-targeted advice strings (merchant/customer/prospect/supplier/collaborator/arbitrator). Example: ['Strengthen loyalty flywheel','Optimize first-order conversion']"
|
|
1861
1861
|
},
|
|
1862
1862
|
"role": {
|
|
1863
1863
|
"type": "string",
|
|
1864
1864
|
"enum": [
|
|
1865
|
-
"user",
|
|
1866
1865
|
"merchant",
|
|
1866
|
+
"customer",
|
|
1867
|
+
"prospect",
|
|
1868
|
+
"supplier",
|
|
1869
|
+
"collaborator",
|
|
1867
1870
|
"arbitrator"
|
|
1868
1871
|
],
|
|
1869
1872
|
"description": "Phase 4 P4-6.C: Role used for advice routing. Example: 'merchant'"
|
|
@@ -552,13 +552,16 @@
|
|
|
552
552
|
"items": {
|
|
553
553
|
"type": "string"
|
|
554
554
|
},
|
|
555
|
-
"description": "Phase 4 P4-6.C: Role-targeted advice strings (
|
|
555
|
+
"description": "Phase 4 P4-6.C: Role-targeted advice strings (merchant/customer/prospect/supplier/collaborator/arbitrator). Example: ['Strengthen loyalty flywheel','Optimize first-order conversion']"
|
|
556
556
|
},
|
|
557
557
|
"role": {
|
|
558
558
|
"type": "string",
|
|
559
559
|
"enum": [
|
|
560
|
-
"user",
|
|
561
560
|
"merchant",
|
|
561
|
+
"customer",
|
|
562
|
+
"prospect",
|
|
563
|
+
"supplier",
|
|
564
|
+
"collaborator",
|
|
562
565
|
"arbitrator"
|
|
563
566
|
],
|
|
564
567
|
"description": "Phase 4 P4-6.C: Role used for advice routing. Example: 'merchant'"
|
|
@@ -32,10 +32,9 @@
|
|
|
32
32
|
"perspective": {
|
|
33
33
|
"type": "string",
|
|
34
34
|
"enum": [
|
|
35
|
-
"
|
|
36
|
-
"
|
|
37
|
-
"
|
|
38
|
-
"both"
|
|
35
|
+
"customer",
|
|
36
|
+
"merchant",
|
|
37
|
+
"arbitrator"
|
|
39
38
|
]
|
|
40
39
|
},
|
|
41
40
|
"actions": {
|
|
@@ -53,6 +52,16 @@
|
|
|
53
52
|
"maximum": 100,
|
|
54
53
|
"description": "Favorability 0-100 for the perspective."
|
|
55
54
|
},
|
|
55
|
+
"gain_score": {
|
|
56
|
+
"type": "integer",
|
|
57
|
+
"minimum": 0,
|
|
58
|
+
"description": "Gain points (收益)."
|
|
59
|
+
},
|
|
60
|
+
"risk_score": {
|
|
61
|
+
"type": "integer",
|
|
62
|
+
"minimum": 0,
|
|
63
|
+
"description": "Risk points (风险, appetite-adjusted)."
|
|
64
|
+
},
|
|
56
65
|
"is_optimal": {
|
|
57
66
|
"type": "boolean",
|
|
58
67
|
"description": "True when this is the top recommended move."
|
|
@@ -74,6 +83,8 @@
|
|
|
74
83
|
"required": [
|
|
75
84
|
"action",
|
|
76
85
|
"favorability",
|
|
86
|
+
"gain_score",
|
|
87
|
+
"risk_score",
|
|
77
88
|
"is_optimal",
|
|
78
89
|
"payoff_note",
|
|
79
90
|
"risk"
|
|
@@ -107,9 +118,12 @@
|
|
|
107
118
|
"perspective": {
|
|
108
119
|
"type": "string",
|
|
109
120
|
"enum": [
|
|
121
|
+
"merchant",
|
|
110
122
|
"customer",
|
|
111
|
-
"
|
|
112
|
-
"
|
|
123
|
+
"prospect",
|
|
124
|
+
"supplier",
|
|
125
|
+
"collaborator",
|
|
126
|
+
"arbitrator"
|
|
113
127
|
]
|
|
114
128
|
},
|
|
115
129
|
"actions": {
|
|
@@ -143,7 +157,17 @@
|
|
|
143
157
|
"type": "integer",
|
|
144
158
|
"minimum": 0,
|
|
145
159
|
"maximum": 100,
|
|
146
|
-
"description": "
|
|
160
|
+
"description": "Net favorability 0-100 for the perspective (gain − risk)."
|
|
161
|
+
},
|
|
162
|
+
"gain_score": {
|
|
163
|
+
"type": "integer",
|
|
164
|
+
"minimum": 0,
|
|
165
|
+
"description": "Gain points (收益)."
|
|
166
|
+
},
|
|
167
|
+
"risk_score": {
|
|
168
|
+
"type": "integer",
|
|
169
|
+
"minimum": 0,
|
|
170
|
+
"description": "Risk points (风险, appetite-adjusted)."
|
|
147
171
|
},
|
|
148
172
|
"is_optimal": {
|
|
149
173
|
"type": "boolean",
|
|
@@ -168,6 +192,8 @@
|
|
|
168
192
|
"to_node",
|
|
169
193
|
"execution_path",
|
|
170
194
|
"favorability",
|
|
195
|
+
"gain_score",
|
|
196
|
+
"risk_score",
|
|
171
197
|
"is_optimal",
|
|
172
198
|
"payoff_note",
|
|
173
199
|
"risk"
|
|
@@ -175,6 +201,85 @@
|
|
|
175
201
|
"additionalProperties": false
|
|
176
202
|
}
|
|
177
203
|
},
|
|
204
|
+
"cooperation": {
|
|
205
|
+
"type": "object",
|
|
206
|
+
"properties": {
|
|
207
|
+
"threshold": {
|
|
208
|
+
"type": "integer",
|
|
209
|
+
"minimum": 1,
|
|
210
|
+
"description": "Pair threshold (accumulated forward weights to advance)."
|
|
211
|
+
},
|
|
212
|
+
"my_weight": {
|
|
213
|
+
"type": "integer",
|
|
214
|
+
"minimum": 0,
|
|
215
|
+
"description": "Weight THIS role can contribute."
|
|
216
|
+
},
|
|
217
|
+
"needed_from_others": {
|
|
218
|
+
"type": "integer",
|
|
219
|
+
"minimum": 0,
|
|
220
|
+
"description": "Weight still needed from other roles (0 = can advance alone)."
|
|
221
|
+
},
|
|
222
|
+
"collaborators": {
|
|
223
|
+
"type": "array",
|
|
224
|
+
"items": {
|
|
225
|
+
"type": "string"
|
|
226
|
+
},
|
|
227
|
+
"description": "Roles that must cooperate to reach the threshold."
|
|
228
|
+
},
|
|
229
|
+
"allocation": {
|
|
230
|
+
"type": "object",
|
|
231
|
+
"properties": {
|
|
232
|
+
"recipient_slots": {
|
|
233
|
+
"type": "integer",
|
|
234
|
+
"minimum": 0,
|
|
235
|
+
"description": "Total recipient slots across allocators."
|
|
236
|
+
},
|
|
237
|
+
"guard_gated_slots": {
|
|
238
|
+
"type": "integer",
|
|
239
|
+
"minimum": 0,
|
|
240
|
+
"description": "Slots resolved at settlement by a Guard."
|
|
241
|
+
},
|
|
242
|
+
"direct_to_me_slots": {
|
|
243
|
+
"type": "integer",
|
|
244
|
+
"minimum": 0,
|
|
245
|
+
"description": "Slots paying directly to this role."
|
|
246
|
+
},
|
|
247
|
+
"to_payer_slots": {
|
|
248
|
+
"type": "integer",
|
|
249
|
+
"minimum": 0,
|
|
250
|
+
"description": "Slots routing back to the payer (refund-oriented)."
|
|
251
|
+
}
|
|
252
|
+
},
|
|
253
|
+
"required": [
|
|
254
|
+
"recipient_slots",
|
|
255
|
+
"guard_gated_slots",
|
|
256
|
+
"direct_to_me_slots",
|
|
257
|
+
"to_payer_slots"
|
|
258
|
+
],
|
|
259
|
+
"additionalProperties": false,
|
|
260
|
+
"description": "Allocation waterfall — how funds split once the node advances (利益分配)."
|
|
261
|
+
},
|
|
262
|
+
"allocation_note": {
|
|
263
|
+
"type": "string",
|
|
264
|
+
"description": "Human-readable利益分配说明."
|
|
265
|
+
}
|
|
266
|
+
},
|
|
267
|
+
"required": [
|
|
268
|
+
"threshold",
|
|
269
|
+
"my_weight",
|
|
270
|
+
"needed_from_others",
|
|
271
|
+
"collaborators"
|
|
272
|
+
],
|
|
273
|
+
"additionalProperties": false
|
|
274
|
+
},
|
|
275
|
+
"value_at_stake": {
|
|
276
|
+
"type": "string",
|
|
277
|
+
"description": "Escrowed order amount (smallest-unit string) — the monetary value at stake."
|
|
278
|
+
},
|
|
279
|
+
"risk_exposure": {
|
|
280
|
+
"type": "string",
|
|
281
|
+
"description": "Compensation_fund (smallest-unit string) — the monetary risk exposure backing indemnity."
|
|
282
|
+
},
|
|
178
283
|
"summary": {
|
|
179
284
|
"type": "string"
|
|
180
285
|
}
|
|
@@ -29,11 +29,30 @@
|
|
|
29
29
|
"perspective": {
|
|
30
30
|
"type": "string",
|
|
31
31
|
"enum": [
|
|
32
|
-
"
|
|
33
|
-
"
|
|
34
|
-
"
|
|
35
|
-
"both"
|
|
32
|
+
"customer",
|
|
33
|
+
"merchant",
|
|
34
|
+
"arbitrator"
|
|
36
35
|
]
|
|
36
|
+
},
|
|
37
|
+
"appetite": {
|
|
38
|
+
"type": "string",
|
|
39
|
+
"enum": [
|
|
40
|
+
"conservative",
|
|
41
|
+
"balanced",
|
|
42
|
+
"aggressive"
|
|
43
|
+
],
|
|
44
|
+
"description": "Risk appetite — adjusts risk sensitivity (conservative amplifies risk)."
|
|
45
|
+
},
|
|
46
|
+
"account": {
|
|
47
|
+
"type": "string",
|
|
48
|
+
"description": "Account address; its persona's risk_appetite is used as the default appetite."
|
|
49
|
+
},
|
|
50
|
+
"requirements": {
|
|
51
|
+
"type": "array",
|
|
52
|
+
"items": {
|
|
53
|
+
"type": "string"
|
|
54
|
+
},
|
|
55
|
+
"description": "Persona red lines that re-anchor the role's prefer/avoid (人设驱动力)."
|
|
37
56
|
}
|
|
38
57
|
},
|
|
39
58
|
"required": [
|
|
@@ -56,11 +75,75 @@
|
|
|
56
75
|
"perspective": {
|
|
57
76
|
"type": "string",
|
|
58
77
|
"enum": [
|
|
78
|
+
"merchant",
|
|
59
79
|
"customer",
|
|
60
|
-
"
|
|
61
|
-
"
|
|
80
|
+
"prospect",
|
|
81
|
+
"supplier",
|
|
82
|
+
"collaborator",
|
|
83
|
+
"arbitrator"
|
|
62
84
|
]
|
|
63
85
|
},
|
|
86
|
+
"appetite": {
|
|
87
|
+
"$ref": "#/definitions/evaluation_operation/anyOf/0/properties/appetite",
|
|
88
|
+
"description": "Risk appetite — adjusts risk sensitivity (conservative amplifies risk)."
|
|
89
|
+
},
|
|
90
|
+
"account": {
|
|
91
|
+
"type": "string",
|
|
92
|
+
"description": "Account address; its persona's risk_appetite is used as the default appetite."
|
|
93
|
+
},
|
|
94
|
+
"threshold": {
|
|
95
|
+
"type": "integer",
|
|
96
|
+
"minimum": 1,
|
|
97
|
+
"description": "Pair threshold — when > 1, multi-role cooperation is needed to advance."
|
|
98
|
+
},
|
|
99
|
+
"allocation": {
|
|
100
|
+
"type": "object",
|
|
101
|
+
"properties": {
|
|
102
|
+
"recipient_slots": {
|
|
103
|
+
"type": "integer",
|
|
104
|
+
"minimum": 0,
|
|
105
|
+
"description": "Total recipient slots across allocators."
|
|
106
|
+
},
|
|
107
|
+
"guard_gated_slots": {
|
|
108
|
+
"type": "integer",
|
|
109
|
+
"minimum": 0,
|
|
110
|
+
"description": "Slots resolved at settlement by a Guard."
|
|
111
|
+
},
|
|
112
|
+
"direct_to_me_slots": {
|
|
113
|
+
"type": "integer",
|
|
114
|
+
"minimum": 0,
|
|
115
|
+
"description": "Slots paying directly to this role."
|
|
116
|
+
},
|
|
117
|
+
"to_payer_slots": {
|
|
118
|
+
"type": "integer",
|
|
119
|
+
"minimum": 0,
|
|
120
|
+
"description": "Slots routing back to the payer (refund-oriented)."
|
|
121
|
+
}
|
|
122
|
+
},
|
|
123
|
+
"required": [
|
|
124
|
+
"recipient_slots",
|
|
125
|
+
"guard_gated_slots",
|
|
126
|
+
"direct_to_me_slots",
|
|
127
|
+
"to_payer_slots"
|
|
128
|
+
],
|
|
129
|
+
"additionalProperties": false,
|
|
130
|
+
"description": "Allocation waterfall — how funds split after the node advances (利益分配)."
|
|
131
|
+
},
|
|
132
|
+
"requirements": {
|
|
133
|
+
"type": "array",
|
|
134
|
+
"items": {
|
|
135
|
+
"type": "string"
|
|
136
|
+
},
|
|
137
|
+
"description": "Persona red lines that re-anchor the role's prefer/avoid (人设驱动力)."
|
|
138
|
+
},
|
|
139
|
+
"order_amount": {
|
|
140
|
+
"type": "string",
|
|
141
|
+
"description": "Escrowed order amount (smallest-unit string) — the monetary stake at this node (数值化)."
|
|
142
|
+
},
|
|
143
|
+
"compensation_fund": {
|
|
144
|
+
"type": "string",
|
|
145
|
+
"description": "Merchant compensation_fund (smallest-unit string) — the monetary risk exposure backing indemnity."
|
|
146
|
+
},
|
|
64
147
|
"operable": {
|
|
65
148
|
"type": "array",
|
|
66
149
|
"items": {
|
|
@@ -91,6 +174,10 @@
|
|
|
91
174
|
"consequence": {
|
|
92
175
|
"type": "string",
|
|
93
176
|
"description": "Consequence hint (completion/refund path)."
|
|
177
|
+
},
|
|
178
|
+
"weight": {
|
|
179
|
+
"type": "number",
|
|
180
|
+
"description": "Forward weight (accumulates toward the pair's threshold)."
|
|
94
181
|
}
|
|
95
182
|
},
|
|
96
183
|
"required": [
|
package/dist/schemas/index.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
3
|
"title": "WoWok MCP Schema Index",
|
|
4
4
|
"description": "Index of all available JSON schemas for WoWok MCP tools",
|
|
5
|
-
"generatedAt": "2026-08-
|
|
5
|
+
"generatedAt": "2026-08-17T00:07:17.025Z",
|
|
6
6
|
"tools": [
|
|
7
7
|
{
|
|
8
8
|
"name": "onchain_operations",
|
|
@@ -558,13 +558,16 @@
|
|
|
558
558
|
"items": {
|
|
559
559
|
"type": "string"
|
|
560
560
|
},
|
|
561
|
-
"description": "Phase 4 P4-6.C: Role-targeted advice strings (
|
|
561
|
+
"description": "Phase 4 P4-6.C: Role-targeted advice strings (merchant/customer/prospect/supplier/collaborator/arbitrator). Example: ['Strengthen loyalty flywheel','Optimize first-order conversion']"
|
|
562
562
|
},
|
|
563
563
|
"role": {
|
|
564
564
|
"type": "string",
|
|
565
565
|
"enum": [
|
|
566
|
-
"user",
|
|
567
566
|
"merchant",
|
|
567
|
+
"customer",
|
|
568
|
+
"prospect",
|
|
569
|
+
"supplier",
|
|
570
|
+
"collaborator",
|
|
568
571
|
"arbitrator"
|
|
569
572
|
],
|
|
570
573
|
"description": "Phase 4 P4-6.C: Role used for advice routing. Example: 'merchant'"
|
|
@@ -602,13 +602,16 @@
|
|
|
602
602
|
"items": {
|
|
603
603
|
"type": "string"
|
|
604
604
|
},
|
|
605
|
-
"description": "Phase 4 P4-6.C: Role-targeted advice strings (
|
|
605
|
+
"description": "Phase 4 P4-6.C: Role-targeted advice strings (merchant/customer/prospect/supplier/collaborator/arbitrator). Example: ['Strengthen loyalty flywheel','Optimize first-order conversion']"
|
|
606
606
|
},
|
|
607
607
|
"role": {
|
|
608
608
|
"type": "string",
|
|
609
609
|
"enum": [
|
|
610
|
-
"user",
|
|
611
610
|
"merchant",
|
|
611
|
+
"customer",
|
|
612
|
+
"prospect",
|
|
613
|
+
"supplier",
|
|
614
|
+
"collaborator",
|
|
612
615
|
"arbitrator"
|
|
613
616
|
],
|
|
614
617
|
"description": "Phase 4 P4-6.C: Role used for advice routing. Example: 'merchant'"
|
|
@@ -1595,13 +1595,16 @@
|
|
|
1595
1595
|
"items": {
|
|
1596
1596
|
"type": "string"
|
|
1597
1597
|
},
|
|
1598
|
-
"description": "Phase 4 P4-6.C: Role-targeted advice strings (
|
|
1598
|
+
"description": "Phase 4 P4-6.C: Role-targeted advice strings (merchant/customer/prospect/supplier/collaborator/arbitrator). Example: ['Strengthen loyalty flywheel','Optimize first-order conversion']"
|
|
1599
1599
|
},
|
|
1600
1600
|
"role": {
|
|
1601
1601
|
"type": "string",
|
|
1602
1602
|
"enum": [
|
|
1603
|
-
"user",
|
|
1604
1603
|
"merchant",
|
|
1604
|
+
"customer",
|
|
1605
|
+
"prospect",
|
|
1606
|
+
"supplier",
|
|
1607
|
+
"collaborator",
|
|
1605
1608
|
"arbitrator"
|
|
1606
1609
|
],
|
|
1607
1610
|
"description": "Phase 4 P4-6.C: Role used for advice routing. Example: 'merchant'"
|
|
@@ -972,13 +972,16 @@
|
|
|
972
972
|
"items": {
|
|
973
973
|
"type": "string"
|
|
974
974
|
},
|
|
975
|
-
"description": "Phase 4 P4-6.C: Role-targeted advice strings (
|
|
975
|
+
"description": "Phase 4 P4-6.C: Role-targeted advice strings (merchant/customer/prospect/supplier/collaborator/arbitrator). Example: ['Strengthen loyalty flywheel','Optimize first-order conversion']"
|
|
976
976
|
},
|
|
977
977
|
"role": {
|
|
978
978
|
"type": "string",
|
|
979
979
|
"enum": [
|
|
980
|
-
"user",
|
|
981
980
|
"merchant",
|
|
981
|
+
"customer",
|
|
982
|
+
"prospect",
|
|
983
|
+
"supplier",
|
|
984
|
+
"collaborator",
|
|
982
985
|
"arbitrator"
|
|
983
986
|
],
|
|
984
987
|
"description": "Phase 4 P4-6.C: Role used for advice routing. Example: 'merchant'"
|
|
@@ -2368,13 +2368,16 @@
|
|
|
2368
2368
|
"items": {
|
|
2369
2369
|
"type": "string"
|
|
2370
2370
|
},
|
|
2371
|
-
"description": "Phase 4 P4-6.C: Role-targeted advice strings (
|
|
2371
|
+
"description": "Phase 4 P4-6.C: Role-targeted advice strings (merchant/customer/prospect/supplier/collaborator/arbitrator). Example: ['Strengthen loyalty flywheel','Optimize first-order conversion']"
|
|
2372
2372
|
},
|
|
2373
2373
|
"role": {
|
|
2374
2374
|
"type": "string",
|
|
2375
2375
|
"enum": [
|
|
2376
|
-
"user",
|
|
2377
2376
|
"merchant",
|
|
2377
|
+
"customer",
|
|
2378
|
+
"prospect",
|
|
2379
|
+
"supplier",
|
|
2380
|
+
"collaborator",
|
|
2378
2381
|
"arbitrator"
|
|
2379
2382
|
],
|
|
2380
2383
|
"description": "Phase 4 P4-6.C: Role used for advice routing. Example: 'merchant'"
|
|
@@ -2422,7 +2422,7 @@
|
|
|
2422
2422
|
"number",
|
|
2423
2423
|
"string"
|
|
2424
2424
|
],
|
|
2425
|
-
"description": "Allocation value. SEMANTICS DEPEND ON `mode`:\n• mode='Amount': absolute amount in smallest unit (e.g., '750000000' for 0.75 WOW, '250000000' for 0.25 WOW). Allocated first; sum of Amount items cached as `fix`.\n• mode='Rate': basis-points rate, 10000 = 100% (e.g., '7500' for 75%, '2500' for 25%). When no Surplus in same Allocator, sum MUST == 10000; when Surplus present, sum MUST <= 10000.\n• mode='Surplus': IGNORED (contract forces to 0). Set to '0' for clarity. Receives remaining balance after Amount + Rate allocations."
|
|
2425
|
+
"description": "Allocation value. SEMANTICS DEPEND ON `mode`:\n• mode='Amount': absolute amount in smallest unit (e.g., '750000000' for 0.75 WOW, '250000000' for 0.25 WOW). Allocated first; sum of Amount items cached as `fix`.\n• mode='Rate': basis-points rate, 10000 = 100% (e.g., '7500' for 75%, '2500' for 25%). When no Surplus in same Allocator, sum MUST == 10000; when Surplus present, sum MUST <= 10000.\n• mode='Surplus': IGNORED (contract forces to 0). Set to '0' for clarity. Receives remaining balance after Amount + Rate allocations.\n⚠️ T1 LOSSY POINT (B-2): the value is PRE-CONFIGURED and STATIC. A continuous/conditional amount (e.g. 'pay exactly the assessed loss amount') CANNOT be expressed — there is no runtime formula field. Model variable payouts as (a) a fixed-tier Allocator list guarded by distinct Guards, or (b) an Amount with a `max` cap — both are finite configurations, not free-form formulas."
|
|
2426
2426
|
},
|
|
2427
2427
|
"mode": {
|
|
2428
2428
|
"anyOf": [
|
|
@@ -2951,7 +2951,7 @@
|
|
|
2951
2951
|
"properties": {
|
|
2952
2952
|
"name": {
|
|
2953
2953
|
"type": "string",
|
|
2954
|
-
"description": "Node name"
|
|
2954
|
+
"description": "Node name. ⚠️ T1 LOSSY POINT (B-1): do NOT name a node 'refund'/'refunded'/'disputed'/'cancelled' to model fund return or dispute — funds MUST move through the Allocation waterfall (order_allocators), NOT through Machine terminal nodes (R-M1-11). A node named 'refund' is a semantic lie: reaching it does not move funds by itself. Model refund as a refund-to-Order Allocator slot (a { Signer } or Order-owner recipient), and model dispute as the bound Arbitration, not a Machine node."
|
|
2955
2955
|
},
|
|
2956
2956
|
"pairs": {
|
|
2957
2957
|
"type": "array",
|
|
@@ -3059,7 +3059,7 @@
|
|
|
3059
3059
|
"type": "null"
|
|
3060
3060
|
}
|
|
3061
3061
|
],
|
|
3062
|
-
"description": "Guard reference for this forward. Accepts TWO formats:\n• STRING (preferred): \"my_guard_name\" — the Guard's name or address as a plain string.\n• OBJECT (only when retained_submission is needed): {guard: \"my_guard_name\", retained_submission: [1,2,3]}.\nFOLLOW THE SCHEMA FIELD STRUCTURE: A Guard reference is fundamentally a STRING (the Guard object's name or address). Provide a string when you only need to reference a Guard — do NOT wrap a bare string in an object structure. The OBJECT form {guard: \"...\", retained_submission: [...]} exists ONLY to carry additional `retained_submission` data alongside the string reference; inside the object, the `guard` field is STILL a string. In short: string-in for a string reference, object-in only when you need to pass extra data.\nCOGNITIVE PRINCIPLE: Guard validation ALWAYS occurs BEFORE the forward operation. A Guard that queries state of the SAME Progress object this forward operates on (e.g. progress.current) will see the PRE-transition value (source node), NOT the target node. If the Guard checks progress.current == target_node, it will ALWAYS FAIL. Querying a DIFFERENT Progress object (cross-machine) is safe and reasonable — that progress is not modified by this forward. For target-node verification after transition, bind the Guard to the Allocator instead (allocation.alloc runs AFTER the state transition completes)."
|
|
3062
|
+
"description": "Guard reference for this forward. Accepts TWO formats:\n• STRING (preferred): \"my_guard_name\" — the Guard's name or address as a plain string.\n• OBJECT (only when retained_submission is needed): {guard: \"my_guard_name\", retained_submission: [1,2,3]}.\nFOLLOW THE SCHEMA FIELD STRUCTURE: A Guard reference is fundamentally a STRING (the Guard object's name or address). Provide a string when you only need to reference a Guard — do NOT wrap a bare string in an object structure. The OBJECT form {guard: \"...\", retained_submission: [...]} exists ONLY to carry additional `retained_submission` data alongside the string reference; inside the object, the `guard` field is STILL a string. In short: string-in for a string reference, object-in only when you need to pass extra data.\nCOGNITIVE PRINCIPLE: Guard validation ALWAYS occurs BEFORE the forward operation. A Guard that queries state of the SAME Progress object this forward operates on (e.g. progress.current) will see the PRE-transition value (source node), NOT the target node. If the Guard checks progress.current == target_node, it will ALWAYS FAIL. Querying a DIFFERENT Progress object (cross-machine) is safe and reasonable — that progress is not modified by this forward. For target-node verification after transition, bind the Guard to the Allocator instead (allocation.alloc runs AFTER the state transition completes).\n⚠️ T1 LOSSY POINT (B-3): WoWok has NO on-chain cron. A business phrase like 'after N days, auto-X' is NOT an automatic trigger — it decomposes into (1) a time_guard that checks elapsed time, and (2) an OFF-CHAIN keeper that must submit the forward when the guard passes. Configuring a time_guard WITHOUT a keeper means nothing ever fires."
|
|
3063
3063
|
}
|
|
3064
3064
|
},
|
|
3065
3065
|
"required": [
|
|
@@ -6724,7 +6724,7 @@
|
|
|
6724
6724
|
"number",
|
|
6725
6725
|
"string"
|
|
6726
6726
|
],
|
|
6727
|
-
"description": "Allocation value. SEMANTICS DEPEND ON `mode`:\n• mode='Amount': absolute amount in smallest unit (e.g., '750000000' for 0.75 WOW, '250000000' for 0.25 WOW). Allocated first; sum of Amount items cached as `fix`.\n• mode='Rate': basis-points rate, 10000 = 100% (e.g., '7500' for 75%, '2500' for 25%). When no Surplus in same Allocator, sum MUST == 10000; when Surplus present, sum MUST <= 10000.\n• mode='Surplus': IGNORED (contract forces to 0). Set to '0' for clarity. Receives remaining balance after Amount + Rate allocations."
|
|
6727
|
+
"description": "Allocation value. SEMANTICS DEPEND ON `mode`:\n• mode='Amount': absolute amount in smallest unit (e.g., '750000000' for 0.75 WOW, '250000000' for 0.25 WOW). Allocated first; sum of Amount items cached as `fix`.\n• mode='Rate': basis-points rate, 10000 = 100% (e.g., '7500' for 75%, '2500' for 25%). When no Surplus in same Allocator, sum MUST == 10000; when Surplus present, sum MUST <= 10000.\n• mode='Surplus': IGNORED (contract forces to 0). Set to '0' for clarity. Receives remaining balance after Amount + Rate allocations.\n⚠️ T1 LOSSY POINT (B-2): the value is PRE-CONFIGURED and STATIC. A continuous/conditional amount (e.g. 'pay exactly the assessed loss amount') CANNOT be expressed — there is no runtime formula field. Model variable payouts as (a) a fixed-tier Allocator list guarded by distinct Guards, or (b) an Amount with a `max` cap — both are finite configurations, not free-form formulas."
|
|
6728
6728
|
},
|
|
6729
6729
|
"mode": {
|
|
6730
6730
|
"anyOf": [
|
|
@@ -156,7 +156,7 @@
|
|
|
156
156
|
"number",
|
|
157
157
|
"string"
|
|
158
158
|
],
|
|
159
|
-
"description": "Allocation value. SEMANTICS DEPEND ON `mode`:\n• mode='Amount': absolute amount in smallest unit (e.g., '750000000' for 0.75 WOW, '250000000' for 0.25 WOW). Allocated first; sum of Amount items cached as `fix`.\n• mode='Rate': basis-points rate, 10000 = 100% (e.g., '7500' for 75%, '2500' for 25%). When no Surplus in same Allocator, sum MUST == 10000; when Surplus present, sum MUST <= 10000.\n• mode='Surplus': IGNORED (contract forces to 0). Set to '0' for clarity. Receives remaining balance after Amount + Rate allocations."
|
|
159
|
+
"description": "Allocation value. SEMANTICS DEPEND ON `mode`:\n• mode='Amount': absolute amount in smallest unit (e.g., '750000000' for 0.75 WOW, '250000000' for 0.25 WOW). Allocated first; sum of Amount items cached as `fix`.\n• mode='Rate': basis-points rate, 10000 = 100% (e.g., '7500' for 75%, '2500' for 25%). When no Surplus in same Allocator, sum MUST == 10000; when Surplus present, sum MUST <= 10000.\n• mode='Surplus': IGNORED (contract forces to 0). Set to '0' for clarity. Receives remaining balance after Amount + Rate allocations.\n⚠️ T1 LOSSY POINT (B-2): the value is PRE-CONFIGURED and STATIC. A continuous/conditional amount (e.g. 'pay exactly the assessed loss amount') CANNOT be expressed — there is no runtime formula field. Model variable payouts as (a) a fixed-tier Allocator list guarded by distinct Guards, or (b) an Amount with a `max` cap — both are finite configurations, not free-form formulas."
|
|
160
160
|
},
|
|
161
161
|
"mode": {
|
|
162
162
|
"anyOf": [
|
|
@@ -279,7 +279,7 @@
|
|
|
279
279
|
"properties": {
|
|
280
280
|
"name": {
|
|
281
281
|
"type": "string",
|
|
282
|
-
"description": "Node name"
|
|
282
|
+
"description": "Node name. ⚠️ T1 LOSSY POINT (B-1): do NOT name a node 'refund'/'refunded'/'disputed'/'cancelled' to model fund return or dispute — funds MUST move through the Allocation waterfall (order_allocators), NOT through Machine terminal nodes (R-M1-11). A node named 'refund' is a semantic lie: reaching it does not move funds by itself. Model refund as a refund-to-Order Allocator slot (a { Signer } or Order-owner recipient), and model dispute as the bound Arbitration, not a Machine node."
|
|
283
283
|
},
|
|
284
284
|
"pairs": {
|
|
285
285
|
"type": "array",
|
|
@@ -387,7 +387,7 @@
|
|
|
387
387
|
"type": "null"
|
|
388
388
|
}
|
|
389
389
|
],
|
|
390
|
-
"description": "Guard reference for this forward. Accepts TWO formats:\n• STRING (preferred): \"my_guard_name\" — the Guard's name or address as a plain string.\n• OBJECT (only when retained_submission is needed): {guard: \"my_guard_name\", retained_submission: [1,2,3]}.\nFOLLOW THE SCHEMA FIELD STRUCTURE: A Guard reference is fundamentally a STRING (the Guard object's name or address). Provide a string when you only need to reference a Guard — do NOT wrap a bare string in an object structure. The OBJECT form {guard: \"...\", retained_submission: [...]} exists ONLY to carry additional `retained_submission` data alongside the string reference; inside the object, the `guard` field is STILL a string. In short: string-in for a string reference, object-in only when you need to pass extra data.\nCOGNITIVE PRINCIPLE: Guard validation ALWAYS occurs BEFORE the forward operation. A Guard that queries state of the SAME Progress object this forward operates on (e.g. progress.current) will see the PRE-transition value (source node), NOT the target node. If the Guard checks progress.current == target_node, it will ALWAYS FAIL. Querying a DIFFERENT Progress object (cross-machine) is safe and reasonable — that progress is not modified by this forward. For target-node verification after transition, bind the Guard to the Allocator instead (allocation.alloc runs AFTER the state transition completes)."
|
|
390
|
+
"description": "Guard reference for this forward. Accepts TWO formats:\n• STRING (preferred): \"my_guard_name\" — the Guard's name or address as a plain string.\n• OBJECT (only when retained_submission is needed): {guard: \"my_guard_name\", retained_submission: [1,2,3]}.\nFOLLOW THE SCHEMA FIELD STRUCTURE: A Guard reference is fundamentally a STRING (the Guard object's name or address). Provide a string when you only need to reference a Guard — do NOT wrap a bare string in an object structure. The OBJECT form {guard: \"...\", retained_submission: [...]} exists ONLY to carry additional `retained_submission` data alongside the string reference; inside the object, the `guard` field is STILL a string. In short: string-in for a string reference, object-in only when you need to pass extra data.\nCOGNITIVE PRINCIPLE: Guard validation ALWAYS occurs BEFORE the forward operation. A Guard that queries state of the SAME Progress object this forward operates on (e.g. progress.current) will see the PRE-transition value (source node), NOT the target node. If the Guard checks progress.current == target_node, it will ALWAYS FAIL. Querying a DIFFERENT Progress object (cross-machine) is safe and reasonable — that progress is not modified by this forward. For target-node verification after transition, bind the Guard to the Allocator instead (allocation.alloc runs AFTER the state transition completes).\n⚠️ T1 LOSSY POINT (B-3): WoWok has NO on-chain cron. A business phrase like 'after N days, auto-X' is NOT an automatic trigger — it decomposes into (1) a time_guard that checks elapsed time, and (2) an OFF-CHAIN keeper that must submit the forward when the guard passes. Configuring a time_guard WITHOUT a keeper means nothing ever fires."
|
|
391
391
|
}
|
|
392
392
|
},
|
|
393
393
|
"required": [
|
|
@@ -659,7 +659,7 @@
|
|
|
659
659
|
"number",
|
|
660
660
|
"string"
|
|
661
661
|
],
|
|
662
|
-
"description": "Allocation value. SEMANTICS DEPEND ON `mode`:\n• mode='Amount': absolute amount in smallest unit (e.g., '750000000' for 0.75 WOW, '250000000' for 0.25 WOW). Allocated first; sum of Amount items cached as `fix`.\n• mode='Rate': basis-points rate, 10000 = 100% (e.g., '7500' for 75%, '2500' for 25%). When no Surplus in same Allocator, sum MUST == 10000; when Surplus present, sum MUST <= 10000.\n• mode='Surplus': IGNORED (contract forces to 0). Set to '0' for clarity. Receives remaining balance after Amount + Rate allocations."
|
|
662
|
+
"description": "Allocation value. SEMANTICS DEPEND ON `mode`:\n• mode='Amount': absolute amount in smallest unit (e.g., '750000000' for 0.75 WOW, '250000000' for 0.25 WOW). Allocated first; sum of Amount items cached as `fix`.\n• mode='Rate': basis-points rate, 10000 = 100% (e.g., '7500' for 75%, '2500' for 25%). When no Surplus in same Allocator, sum MUST == 10000; when Surplus present, sum MUST <= 10000.\n• mode='Surplus': IGNORED (contract forces to 0). Set to '0' for clarity. Receives remaining balance after Amount + Rate allocations.\n⚠️ T1 LOSSY POINT (B-2): the value is PRE-CONFIGURED and STATIC. A continuous/conditional amount (e.g. 'pay exactly the assessed loss amount') CANNOT be expressed — there is no runtime formula field. Model variable payouts as (a) a fixed-tier Allocator list guarded by distinct Guards, or (b) an Amount with a `max` cap — both are finite configurations, not free-form formulas."
|
|
663
663
|
},
|
|
664
664
|
"mode": {
|
|
665
665
|
"anyOf": [
|
|
@@ -1681,7 +1681,7 @@
|
|
|
1681
1681
|
"type": "null"
|
|
1682
1682
|
}
|
|
1683
1683
|
],
|
|
1684
|
-
"description": "Guard reference for this forward. Accepts TWO formats:\n• STRING (preferred): \"my_guard_name\" — the Guard's name or address as a plain string.\n• OBJECT (only when retained_submission is needed): {guard: \"my_guard_name\", retained_submission: [1,2,3]}.\nFOLLOW THE SCHEMA FIELD STRUCTURE: A Guard reference is fundamentally a STRING (the Guard object's name or address). Provide a string when you only need to reference a Guard — do NOT wrap a bare string in an object structure. The OBJECT form {guard: \"...\", retained_submission: [...]} exists ONLY to carry additional `retained_submission` data alongside the string reference; inside the object, the `guard` field is STILL a string. In short: string-in for a string reference, object-in only when you need to pass extra data.\nCOGNITIVE PRINCIPLE: Guard validation ALWAYS occurs BEFORE the forward operation. A Guard that queries state of the SAME Progress object this forward operates on (e.g. progress.current) will see the PRE-transition value (source node), NOT the target node. If the Guard checks progress.current == target_node, it will ALWAYS FAIL. Querying a DIFFERENT Progress object (cross-machine) is safe and reasonable — that progress is not modified by this forward. For target-node verification after transition, bind the Guard to the Allocator instead (allocation.alloc runs AFTER the state transition completes)."
|
|
1684
|
+
"description": "Guard reference for this forward. Accepts TWO formats:\n• STRING (preferred): \"my_guard_name\" — the Guard's name or address as a plain string.\n• OBJECT (only when retained_submission is needed): {guard: \"my_guard_name\", retained_submission: [1,2,3]}.\nFOLLOW THE SCHEMA FIELD STRUCTURE: A Guard reference is fundamentally a STRING (the Guard object's name or address). Provide a string when you only need to reference a Guard — do NOT wrap a bare string in an object structure. The OBJECT form {guard: \"...\", retained_submission: [...]} exists ONLY to carry additional `retained_submission` data alongside the string reference; inside the object, the `guard` field is STILL a string. In short: string-in for a string reference, object-in only when you need to pass extra data.\nCOGNITIVE PRINCIPLE: Guard validation ALWAYS occurs BEFORE the forward operation. A Guard that queries state of the SAME Progress object this forward operates on (e.g. progress.current) will see the PRE-transition value (source node), NOT the target node. If the Guard checks progress.current == target_node, it will ALWAYS FAIL. Querying a DIFFERENT Progress object (cross-machine) is safe and reasonable — that progress is not modified by this forward. For target-node verification after transition, bind the Guard to the Allocator instead (allocation.alloc runs AFTER the state transition completes).\n⚠️ T1 LOSSY POINT (B-3): WoWok has NO on-chain cron. A business phrase like 'after N days, auto-X' is NOT an automatic trigger — it decomposes into (1) a time_guard that checks elapsed time, and (2) an OFF-CHAIN keeper that must submit the forward when the guard passes. Configuring a time_guard WITHOUT a keeper means nothing ever fires."
|
|
1685
1685
|
}
|
|
1686
1686
|
},
|
|
1687
1687
|
"required": [
|
|
@@ -2550,13 +2550,16 @@
|
|
|
2550
2550
|
"items": {
|
|
2551
2551
|
"type": "string"
|
|
2552
2552
|
},
|
|
2553
|
-
"description": "Phase 4 P4-6.C: Role-targeted advice strings (
|
|
2553
|
+
"description": "Phase 4 P4-6.C: Role-targeted advice strings (merchant/customer/prospect/supplier/collaborator/arbitrator). Example: ['Strengthen loyalty flywheel','Optimize first-order conversion']"
|
|
2554
2554
|
},
|
|
2555
2555
|
"role": {
|
|
2556
2556
|
"type": "string",
|
|
2557
2557
|
"enum": [
|
|
2558
|
-
"user",
|
|
2559
2558
|
"merchant",
|
|
2559
|
+
"customer",
|
|
2560
|
+
"prospect",
|
|
2561
|
+
"supplier",
|
|
2562
|
+
"collaborator",
|
|
2560
2563
|
"arbitrator"
|
|
2561
2564
|
],
|
|
2562
2565
|
"description": "Phase 4 P4-6.C: Role used for advice routing. Example: 'merchant'"
|