@wowok/agent-mcp 3.1.5 → 3.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (156) hide show
  1. package/dist/evaluation/arbitration-game.js +1 -1
  2. package/dist/evaluation/builtins/graph-service.js +1 -1
  3. package/dist/graph/onchain/analyze.js +1 -1
  4. package/dist/graph/onchain/analyze.spec.js +1 -1
  5. package/dist/graph/onchain/extract.js +1 -1
  6. package/dist/graph/onchain/facts.d.ts +1 -0
  7. package/dist/graph/onchain/facts.js +1 -1
  8. package/dist/graph/onchain/fixtures.js +1 -1
  9. package/dist/graph/onchain/onchain.spec.js +1 -1
  10. package/dist/graph/onchain/strategy.js +1 -1
  11. package/dist/graph/onchain/strategy.spec.js +1 -1
  12. package/dist/harness/recover.js +1 -1
  13. package/dist/knowledge/alloc-audit-policy.spec.js +1 -1
  14. package/dist/knowledge/allocation-risk.js +1 -1
  15. package/dist/knowledge/arbitration-ledger.js +1 -1
  16. package/dist/knowledge/audit-rules.d.ts +1 -0
  17. package/dist/knowledge/audit-rules.js +1 -1
  18. package/dist/knowledge/baselines/rules/alloc_audit.json +20 -0
  19. package/dist/knowledge/baselines/rules/allocation.json +1 -19
  20. package/dist/knowledge/baselines/rules/arb.json +1 -1
  21. package/dist/knowledge/baselines/rules/guard.json +8 -8
  22. package/dist/knowledge/fund-layer.js +1 -1
  23. package/dist/knowledge/guard-design-patterns.d.ts +2 -1
  24. package/dist/knowledge/guard-design-patterns.js +1 -1
  25. package/dist/knowledge/guard-design-patterns.spec.d.ts +1 -0
  26. package/dist/knowledge/guard-design-patterns.spec.js +1 -0
  27. package/dist/knowledge/guard-lint.d.ts +1 -1
  28. package/dist/knowledge/guard-lint.js +1 -1
  29. package/dist/knowledge/guard-puzzle.js +1 -1
  30. package/dist/knowledge/guard-render.js +1 -1
  31. package/dist/knowledge/guard-risk.js +1 -1
  32. package/dist/knowledge/guard-translation.js +1 -1
  33. package/dist/knowledge/index.js +1 -1
  34. package/dist/knowledge/industry-registry.js +1 -1
  35. package/dist/knowledge/jsonrpc-enum.js +1 -1
  36. package/dist/knowledge/permission-ledger.js +1 -1
  37. package/dist/knowledge/recipient-constraint.js +1 -1
  38. package/dist/knowledge/safety-rules.extract-amount.spec.d.ts +1 -0
  39. package/dist/knowledge/safety-rules.extract-amount.spec.js +1 -0
  40. package/dist/knowledge/safety-rules.js +1 -1
  41. package/dist/knowledge/service-ledger.js +1 -1
  42. package/dist/knowledge/template-registry.js +1 -1
  43. package/dist/knowledge/template-scanner.js +1 -1
  44. package/dist/knowledge/tool-constraints.js +1 -1
  45. package/dist/knowledge/tools-reference.js +1 -1
  46. package/dist/knowledge/workflow-guidance.js +1 -1
  47. package/dist/monitor/MonitorLoop.js +1 -1
  48. package/dist/playbooks/service-build/business-puzzle.js +1 -1
  49. package/dist/playbooks/service-build/pipeline-actions.d.ts +1 -1
  50. package/dist/playbooks/service-build/pipeline-actions.js +1 -1
  51. package/dist/playbooks/service-build/risk-aggregator.js +1 -1
  52. package/dist/role/derivation.d.ts +1 -1
  53. package/dist/role/derivation.js +1 -1
  54. package/dist/safety/confirm-gate.js +1 -1
  55. package/dist/schema/call/allocation.d.ts +7 -0
  56. package/dist/schema/call/allocation.js +1 -1
  57. package/dist/schema/call/arbitration.d.ts +4 -0
  58. package/dist/schema/call/arbitration.js +1 -1
  59. package/dist/schema/call/base.d.ts +52 -0
  60. package/dist/schema/call/base.js +1 -1
  61. package/dist/schema/call/bridge.d.ts +27 -0
  62. package/dist/schema/call/contact.d.ts +4 -0
  63. package/dist/schema/call/demand.d.ts +4 -0
  64. package/dist/schema/call/error-codes.d.ts +1 -1
  65. package/dist/schema/call/error-codes.js +1 -1
  66. package/dist/schema/call/guard.d.ts +12 -0
  67. package/dist/schema/call/handler.js +1 -1
  68. package/dist/schema/call/machine.d.ts +8 -0
  69. package/dist/schema/call/order.d.ts +4 -0
  70. package/dist/schema/call/order.js +1 -1
  71. package/dist/schema/call/payment.d.ts +4 -0
  72. package/dist/schema/call/permission.d.ts +4 -0
  73. package/dist/schema/call/personal.d.ts +4 -0
  74. package/dist/schema/call/progress.d.ts +4 -0
  75. package/dist/schema/call/proof.d.ts +8 -0
  76. package/dist/schema/call/repository.d.ts +4 -0
  77. package/dist/schema/call/repository.js +1 -1
  78. package/dist/schema/call/reward.d.ts +4 -0
  79. package/dist/schema/call/semantic-customer-advice.spec.js +1 -1
  80. package/dist/schema/call/semantic.d.ts +11 -0
  81. package/dist/schema/call/semantic.js +1 -1
  82. package/dist/schema/call/service.d.ts +14 -0
  83. package/dist/schema/call/service.js +1 -1
  84. package/dist/schema/call/treasury.d.ts +4 -0
  85. package/dist/schema/common/index.js +1 -1
  86. package/dist/schema/keeper/index.d.ts +5 -0
  87. package/dist/schema/local/index.d.ts +36 -0
  88. package/dist/schema/local/index.js +1 -1
  89. package/dist/schema/local/wip.d.ts +73 -0
  90. package/dist/schema/local/wip.js +1 -1
  91. package/dist/schema/messenger/index.d.ts +5 -0
  92. package/dist/schema/messenger/index.js +1 -1
  93. package/dist/schema/operations.d.ts +101 -0
  94. package/dist/schema/operations.js +1 -1
  95. package/dist/schema/query/bi.js +1 -1
  96. package/dist/schema/query/index.d.ts +19 -3
  97. package/dist/schema/query/index.js +1 -1
  98. package/dist/schema/schema-version.js +1 -1
  99. package/dist/schema/workflow/index.d.ts +2 -0
  100. package/dist/schema/workflow/index.js +1 -1
  101. package/dist/schema-query-impl/index.js +1 -1
  102. package/dist/schemas/account_operation.output.json +26 -1
  103. package/dist/schemas/bridge_operation.output.json +26 -1
  104. package/dist/schemas/bridge_operation.schema.json +40 -0
  105. package/dist/schemas/guard2file.schema.json +8 -0
  106. package/dist/schemas/index.json +1 -1
  107. package/dist/schemas/keeper_operation.output.json +24 -1
  108. package/dist/schemas/local_history_operation.output.json +26 -1
  109. package/dist/schemas/local_info_operation.output.json +26 -1
  110. package/dist/schemas/local_mark_operation.output.json +26 -1
  111. package/dist/schemas/machineNode2file.schema.json +8 -0
  112. package/dist/schemas/messenger_operation.output.json +24 -1
  113. package/dist/schemas/messenger_operation.schema.json +2 -2
  114. package/dist/schemas/monitor_events.output.json +24 -1
  115. package/dist/schemas/monitor_subscription.output.json +24 -1
  116. package/dist/schemas/onchain_events.output.json +24 -1
  117. package/dist/schemas/onchain_operations.output.json +74 -3
  118. package/dist/schemas/onchain_operations.schema.json +3286 -821
  119. package/dist/schemas/onchain_operations_allocation.schema.json +12 -0
  120. package/dist/schemas/onchain_operations_arbitration.schema.json +18 -10
  121. package/dist/schemas/onchain_operations_contact.schema.json +8 -0
  122. package/dist/schemas/onchain_operations_demand.schema.json +8 -0
  123. package/dist/schemas/onchain_operations_gen_passport.schema.json +8 -0
  124. package/dist/schemas/onchain_operations_gen_proof.schema.json +8 -0
  125. package/dist/schemas/onchain_operations_guard.schema.json +2896 -596
  126. package/dist/schemas/onchain_operations_machine.schema.json +8 -0
  127. package/dist/schemas/onchain_operations_order.schema.json +10 -2
  128. package/dist/schemas/onchain_operations_payment.schema.json +8 -0
  129. package/dist/schemas/onchain_operations_permission.schema.json +8 -0
  130. package/dist/schemas/onchain_operations_personal.schema.json +8 -0
  131. package/dist/schemas/onchain_operations_progress.schema.json +8 -0
  132. package/dist/schemas/onchain_operations_proof.schema.json +8 -0
  133. package/dist/schemas/onchain_operations_repository.schema.json +14 -6
  134. package/dist/schemas/onchain_operations_reward.schema.json +8 -0
  135. package/dist/schemas/onchain_operations_service.schema.json +43 -10
  136. package/dist/schemas/onchain_operations_treasury.schema.json +8 -0
  137. package/dist/schemas/onchain_table_data.output.json +35 -12
  138. package/dist/schemas/query_toolkit.output.json +1179 -10
  139. package/dist/schemas/query_toolkit.schema.json +11 -11
  140. package/dist/schemas/wip_file.output.json +221 -0
  141. package/dist/schemas/wip_file.schema.json +125 -0
  142. package/dist/schemas/workflow_operation.schema.json +8 -0
  143. package/dist/tools/handlers/config.js +1 -1
  144. package/dist/tools/handlers/dispatch-expectations.js +1 -1
  145. package/dist/tools/handlers/dispatch-expectations.spec.d.ts +1 -0
  146. package/dist/tools/handlers/dispatch-expectations.spec.js +1 -0
  147. package/dist/tools/handlers/onchain.js +1 -1
  148. package/dist/tools/handlers/wip-upload.d.ts +22 -0
  149. package/dist/tools/handlers/wip-upload.js +1 -0
  150. package/dist/tools/handlers/wip.js +1 -1
  151. package/dist/tools/handlers/workflow.js +1 -1
  152. package/dist/tools/index.js +1 -1
  153. package/dist/tools/move-fn-index.gen.js +1 -1
  154. package/dist/tools/registry/files.js +1 -1
  155. package/dist/tools/wip-deploy-assist.js +1 -1
  156. package/package.json +2 -2
@@ -54,6 +54,7 @@
54
54
  "guard_rejected",
55
55
  "state_conflict",
56
56
  "insufficient_balance",
57
+ "transaction_expired",
57
58
  "stock_exhausted",
58
59
  "sale_suspended",
59
60
  "discount_invalid",
@@ -68,6 +69,7 @@
68
69
  "signature_error",
69
70
  "config_error",
70
71
  "wip_verification_failed",
72
+ "wip_storage_unavailable",
71
73
  "unknown"
72
74
  ]
73
75
  },
@@ -829,7 +831,7 @@
829
831
  "type": "string"
830
832
  },
831
833
  "test_result": {
832
- "description": "gen_passport static test result. Must pass before CREATE.",
834
+ "description": "gen_passport static test result. status is read from the created Passport's on-chain result field; tx success alone never means the Guard passed.",
833
835
  "type": "object",
834
836
  "properties": {
835
837
  "status": {
@@ -847,6 +849,29 @@
847
849
  "passport_id": {
848
850
  "description": "Generated Passport ID (if pass)",
849
851
  "type": "string"
852
+ },
853
+ "guard_results": {
854
+ "description": "Per-Guard evaluation result read from the Passport (docs#40: the pass/fail status comes from Passport.result, not transaction success)",
855
+ "type": "array",
856
+ "items": {
857
+ "type": "object",
858
+ "properties": {
859
+ "guard": {
860
+ "type": "string"
861
+ },
862
+ "result": {
863
+ "type": "boolean"
864
+ },
865
+ "impack": {
866
+ "type": "boolean"
867
+ }
868
+ },
869
+ "required": [
870
+ "guard",
871
+ "result"
872
+ ],
873
+ "additionalProperties": false
874
+ }
850
875
  }
851
876
  },
852
877
  "required": [
@@ -131,6 +131,7 @@
131
131
  "guard_rejected",
132
132
  "state_conflict",
133
133
  "insufficient_balance",
134
+ "transaction_expired",
134
135
  "stock_exhausted",
135
136
  "sale_suspended",
136
137
  "discount_invalid",
@@ -145,6 +146,7 @@
145
146
  "signature_error",
146
147
  "config_error",
147
148
  "wip_verification_failed",
149
+ "wip_storage_unavailable",
148
150
  "unknown"
149
151
  ]
150
152
  },
@@ -906,7 +908,7 @@
906
908
  "type": "string"
907
909
  },
908
910
  "test_result": {
909
- "description": "gen_passport static test result. Must pass before CREATE.",
911
+ "description": "gen_passport static test result. status is read from the created Passport's on-chain result field; tx success alone never means the Guard passed.",
910
912
  "type": "object",
911
913
  "properties": {
912
914
  "status": {
@@ -924,6 +926,29 @@
924
926
  "passport_id": {
925
927
  "description": "Generated Passport ID (if pass)",
926
928
  "type": "string"
929
+ },
930
+ "guard_results": {
931
+ "description": "Per-Guard evaluation result read from the Passport (docs#40: the pass/fail status comes from Passport.result, not transaction success)",
932
+ "type": "array",
933
+ "items": {
934
+ "type": "object",
935
+ "properties": {
936
+ "guard": {
937
+ "type": "string"
938
+ },
939
+ "result": {
940
+ "type": "boolean"
941
+ },
942
+ "impack": {
943
+ "type": "boolean"
944
+ }
945
+ },
946
+ "required": [
947
+ "guard",
948
+ "result"
949
+ ],
950
+ "additionalProperties": false
951
+ }
927
952
  }
928
953
  },
929
954
  "required": [
@@ -86,6 +86,14 @@
86
86
  "description": "Phase 1 dry_run: when true, SIMULATE the transaction without signing or submitting. Returns effects + events showing what WOULD happen — no on-chain state is modified, no gas is charged. Use this to verify that an operation will succeed before committing. The returned digest will be 'dry_run:<timestamp>' and objectChanges will be empty (simulation only).",
87
87
  "type": "boolean"
88
88
  },
89
+ "response_level": {
90
+ "description": "Write-success response size. 'compact' (default) trims the structured result to key fields (digest + created object references); 'full' includes the complete raw result. Default: compact.",
91
+ "type": "string",
92
+ "enum": [
93
+ "compact",
94
+ "full"
95
+ ]
96
+ },
89
97
  "confirm_mode": {
90
98
  "description": "Confirmation frequency for this call. 'full': confirm every matched gate rule. 'streamlined' (client default): skip fail-open 'standard' level prompts — fail-closed levels (irreversible/publish/amount) ALWAYS still confirm. 'quiet': same hard floor as streamlined, for clients that batch/suppress repeat low-risk prompts in their own UI. This field NEVER downgrades fail-closed levels.",
91
99
  "type": "string",
@@ -3345,7 +3345,7 @@
3345
3345
  "type": "string"
3346
3346
  },
3347
3347
  "test_result": {
3348
- "description": "gen_passport static test result. Must pass before CREATE.",
3348
+ "description": "gen_passport static test result. status is read from the created Passport's on-chain result field; tx success alone never means the Guard passed.",
3349
3349
  "type": "object",
3350
3350
  "properties": {
3351
3351
  "status": {
@@ -3363,6 +3363,29 @@
3363
3363
  "passport_id": {
3364
3364
  "description": "Generated Passport ID (if pass)",
3365
3365
  "type": "string"
3366
+ },
3367
+ "guard_results": {
3368
+ "description": "Per-Guard evaluation result read from the Passport (docs#40: the pass/fail status comes from Passport.result, not transaction success)",
3369
+ "type": "array",
3370
+ "items": {
3371
+ "type": "object",
3372
+ "properties": {
3373
+ "guard": {
3374
+ "type": "string"
3375
+ },
3376
+ "result": {
3377
+ "type": "boolean"
3378
+ },
3379
+ "impack": {
3380
+ "type": "boolean"
3381
+ }
3382
+ },
3383
+ "required": [
3384
+ "guard",
3385
+ "result"
3386
+ ],
3387
+ "additionalProperties": false
3388
+ }
3366
3389
  }
3367
3390
  },
3368
3391
  "required": [
@@ -1401,7 +1401,7 @@
1401
1401
  "properties": {
1402
1402
  "guard": {
1403
1403
  "type": "string",
1404
- "description": "Guard address or name"
1404
+ "description": "Guard address or name. ⚠️ MAINNET-ONLY: Messenger guards must be Guard objects on MAINNET — a testnet Guard is rejected at add time ('Guard not found on mainnet'). Create the Guard on mainnet before adding it here."
1405
1405
  },
1406
1406
  "passportValiditySeconds": {
1407
1407
  "type": "number",
@@ -1417,7 +1417,7 @@
1417
1417
  "additionalProperties": false,
1418
1418
  "description": "Guard parameter"
1419
1419
  },
1420
- "description": "Guards to add to guard list"
1420
+ "description": "Guards to add to guard list. ⚠️ MAINNET-ONLY: only mainnet Guard objects are supported — testnet Guards are rejected."
1421
1421
  }
1422
1422
  },
1423
1423
  "required": [
@@ -920,7 +920,7 @@
920
920
  "type": "string"
921
921
  },
922
922
  "test_result": {
923
- "description": "gen_passport static test result. Must pass before CREATE.",
923
+ "description": "gen_passport static test result. status is read from the created Passport's on-chain result field; tx success alone never means the Guard passed.",
924
924
  "type": "object",
925
925
  "properties": {
926
926
  "status": {
@@ -938,6 +938,29 @@
938
938
  "passport_id": {
939
939
  "description": "Generated Passport ID (if pass)",
940
940
  "type": "string"
941
+ },
942
+ "guard_results": {
943
+ "description": "Per-Guard evaluation result read from the Passport (docs#40: the pass/fail status comes from Passport.result, not transaction success)",
944
+ "type": "array",
945
+ "items": {
946
+ "type": "object",
947
+ "properties": {
948
+ "guard": {
949
+ "type": "string"
950
+ },
951
+ "result": {
952
+ "type": "boolean"
953
+ },
954
+ "impack": {
955
+ "type": "boolean"
956
+ }
957
+ },
958
+ "required": [
959
+ "guard",
960
+ "result"
961
+ ],
962
+ "additionalProperties": false
963
+ }
941
964
  }
942
965
  },
943
966
  "required": [
@@ -947,7 +947,7 @@
947
947
  "type": "string"
948
948
  },
949
949
  "test_result": {
950
- "description": "gen_passport static test result. Must pass before CREATE.",
950
+ "description": "gen_passport static test result. status is read from the created Passport's on-chain result field; tx success alone never means the Guard passed.",
951
951
  "type": "object",
952
952
  "properties": {
953
953
  "status": {
@@ -965,6 +965,29 @@
965
965
  "passport_id": {
966
966
  "description": "Generated Passport ID (if pass)",
967
967
  "type": "string"
968
+ },
969
+ "guard_results": {
970
+ "description": "Per-Guard evaluation result read from the Passport (docs#40: the pass/fail status comes from Passport.result, not transaction success)",
971
+ "type": "array",
972
+ "items": {
973
+ "type": "object",
974
+ "properties": {
975
+ "guard": {
976
+ "type": "string"
977
+ },
978
+ "result": {
979
+ "type": "boolean"
980
+ },
981
+ "impack": {
982
+ "type": "boolean"
983
+ }
984
+ },
985
+ "required": [
986
+ "guard",
987
+ "result"
988
+ ],
989
+ "additionalProperties": false
990
+ }
968
991
  }
969
992
  },
970
993
  "required": [
@@ -2601,7 +2601,7 @@
2601
2601
  "type": "string"
2602
2602
  },
2603
2603
  "test_result": {
2604
- "description": "gen_passport static test result. Must pass before CREATE.",
2604
+ "description": "gen_passport static test result. status is read from the created Passport's on-chain result field; tx success alone never means the Guard passed.",
2605
2605
  "type": "object",
2606
2606
  "properties": {
2607
2607
  "status": {
@@ -2619,6 +2619,29 @@
2619
2619
  "passport_id": {
2620
2620
  "description": "Generated Passport ID (if pass)",
2621
2621
  "type": "string"
2622
+ },
2623
+ "guard_results": {
2624
+ "description": "Per-Guard evaluation result read from the Passport (docs#40: the pass/fail status comes from Passport.result, not transaction success)",
2625
+ "type": "array",
2626
+ "items": {
2627
+ "type": "object",
2628
+ "properties": {
2629
+ "guard": {
2630
+ "type": "string"
2631
+ },
2632
+ "result": {
2633
+ "type": "boolean"
2634
+ },
2635
+ "impack": {
2636
+ "type": "boolean"
2637
+ }
2638
+ },
2639
+ "required": [
2640
+ "guard",
2641
+ "result"
2642
+ ],
2643
+ "additionalProperties": false
2644
+ }
2622
2645
  }
2623
2646
  },
2624
2647
  "required": [
@@ -3071,7 +3071,7 @@
3071
3071
  "type": "string"
3072
3072
  },
3073
3073
  "test_result": {
3074
- "description": "gen_passport static test result. Must pass before CREATE.",
3074
+ "description": "gen_passport static test result. status is read from the created Passport's on-chain result field; tx success alone never means the Guard passed.",
3075
3075
  "type": "object",
3076
3076
  "properties": {
3077
3077
  "status": {
@@ -3089,6 +3089,29 @@
3089
3089
  "passport_id": {
3090
3090
  "description": "Generated Passport ID (if pass)",
3091
3091
  "type": "string"
3092
+ },
3093
+ "guard_results": {
3094
+ "description": "Per-Guard evaluation result read from the Passport (docs#40: the pass/fail status comes from Passport.result, not transaction success)",
3095
+ "type": "array",
3096
+ "items": {
3097
+ "type": "object",
3098
+ "properties": {
3099
+ "guard": {
3100
+ "type": "string"
3101
+ },
3102
+ "result": {
3103
+ "type": "boolean"
3104
+ },
3105
+ "impack": {
3106
+ "type": "boolean"
3107
+ }
3108
+ },
3109
+ "required": [
3110
+ "guard",
3111
+ "result"
3112
+ ],
3113
+ "additionalProperties": false
3114
+ }
3092
3115
  }
3093
3116
  },
3094
3117
  "required": [
@@ -5033,7 +5056,7 @@
5033
5056
  "type": "string"
5034
5057
  },
5035
5058
  "test_result": {
5036
- "description": "gen_passport static test result. Must pass before CREATE.",
5059
+ "description": "gen_passport static test result. status is read from the created Passport's on-chain result field; tx success alone never means the Guard passed.",
5037
5060
  "type": "object",
5038
5061
  "properties": {
5039
5062
  "status": {
@@ -5051,6 +5074,29 @@
5051
5074
  "passport_id": {
5052
5075
  "description": "Generated Passport ID (if pass)",
5053
5076
  "type": "string"
5077
+ },
5078
+ "guard_results": {
5079
+ "description": "Per-Guard evaluation result read from the Passport (docs#40: the pass/fail status comes from Passport.result, not transaction success)",
5080
+ "type": "array",
5081
+ "items": {
5082
+ "type": "object",
5083
+ "properties": {
5084
+ "guard": {
5085
+ "type": "string"
5086
+ },
5087
+ "result": {
5088
+ "type": "boolean"
5089
+ },
5090
+ "impack": {
5091
+ "type": "boolean"
5092
+ }
5093
+ },
5094
+ "required": [
5095
+ "guard",
5096
+ "result"
5097
+ ],
5098
+ "additionalProperties": false
5099
+ }
5054
5100
  }
5055
5101
  },
5056
5102
  "required": [
@@ -5622,6 +5668,7 @@
5622
5668
  "guard_rejected",
5623
5669
  "state_conflict",
5624
5670
  "insufficient_balance",
5671
+ "transaction_expired",
5625
5672
  "stock_exhausted",
5626
5673
  "sale_suspended",
5627
5674
  "discount_invalid",
@@ -5636,6 +5683,7 @@
5636
5683
  "signature_error",
5637
5684
  "config_error",
5638
5685
  "wip_verification_failed",
5686
+ "wip_storage_unavailable",
5639
5687
  "unknown"
5640
5688
  ]
5641
5689
  },
@@ -6403,7 +6451,7 @@
6403
6451
  "type": "string"
6404
6452
  },
6405
6453
  "test_result": {
6406
- "description": "gen_passport static test result. Must pass before CREATE.",
6454
+ "description": "gen_passport static test result. status is read from the created Passport's on-chain result field; tx success alone never means the Guard passed.",
6407
6455
  "type": "object",
6408
6456
  "properties": {
6409
6457
  "status": {
@@ -6421,6 +6469,29 @@
6421
6469
  "passport_id": {
6422
6470
  "description": "Generated Passport ID (if pass)",
6423
6471
  "type": "string"
6472
+ },
6473
+ "guard_results": {
6474
+ "description": "Per-Guard evaluation result read from the Passport (docs#40: the pass/fail status comes from Passport.result, not transaction success)",
6475
+ "type": "array",
6476
+ "items": {
6477
+ "type": "object",
6478
+ "properties": {
6479
+ "guard": {
6480
+ "type": "string"
6481
+ },
6482
+ "result": {
6483
+ "type": "boolean"
6484
+ },
6485
+ "impack": {
6486
+ "type": "boolean"
6487
+ }
6488
+ },
6489
+ "required": [
6490
+ "guard",
6491
+ "result"
6492
+ ],
6493
+ "additionalProperties": false
6494
+ }
6424
6495
  }
6425
6496
  },
6426
6497
  "required": [