@raishin/vanguard-frontier-agentic 3.1.1 → 3.3.0

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 (147) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/.claude-plugin/plugin.json +7 -1
  3. package/.cursor-plugin/plugin.json +7 -1
  4. package/.github/plugin/marketplace.json +1 -1
  5. package/README.md +11 -11
  6. package/agents/cross-functional/revenue-critical-journey-integrity-agent/AGENT.md +112 -0
  7. package/agents/cross-functional/revenue-critical-journey-integrity-agent/harnesses/claude-code.agent.md +111 -0
  8. package/agents/cross-functional/revenue-critical-journey-integrity-agent/harnesses/codex.toml +37 -0
  9. package/agents/cross-functional/revenue-critical-journey-integrity-agent/harnesses/copilot.agent.md +120 -0
  10. package/agents/cross-functional/revenue-critical-journey-integrity-agent/harnesses/cursor.agent.md +112 -0
  11. package/agents/cross-functional/revenue-critical-journey-integrity-agent/harnesses/gemini.agent.md +112 -0
  12. package/agents/cross-functional/revenue-critical-journey-integrity-agent/harnesses/kiro-cli.agent.json +5 -0
  13. package/agents/cross-functional/revenue-critical-journey-integrity-agent/harnesses/kiro-ide.agent.md +111 -0
  14. package/agents/cross-functional/revenue-critical-journey-integrity-agent/metadata.json +42 -0
  15. package/agents/php/composer-supply-chain-agent/AGENT.md +114 -0
  16. package/agents/php/composer-supply-chain-agent/harnesses/claude-code.agent.md +113 -0
  17. package/agents/php/composer-supply-chain-agent/harnesses/codex.toml +119 -0
  18. package/agents/php/composer-supply-chain-agent/harnesses/copilot.agent.md +122 -0
  19. package/agents/php/composer-supply-chain-agent/harnesses/cursor.agent.md +114 -0
  20. package/agents/php/composer-supply-chain-agent/harnesses/gemini.agent.md +114 -0
  21. package/agents/php/composer-supply-chain-agent/harnesses/kiro-cli.agent.json +5 -0
  22. package/agents/php/composer-supply-chain-agent/harnesses/kiro-ide.agent.md +113 -0
  23. package/agents/php/composer-supply-chain-agent/metadata.json +31 -0
  24. package/agents/php/php-application-security-agent/AGENT.md +113 -0
  25. package/agents/php/php-application-security-agent/harnesses/claude-code.agent.md +112 -0
  26. package/agents/php/php-application-security-agent/harnesses/codex.toml +118 -0
  27. package/agents/php/php-application-security-agent/harnesses/copilot.agent.md +121 -0
  28. package/agents/php/php-application-security-agent/harnesses/cursor.agent.md +113 -0
  29. package/agents/php/php-application-security-agent/harnesses/gemini.agent.md +113 -0
  30. package/agents/php/php-application-security-agent/harnesses/kiro-cli.agent.json +5 -0
  31. package/agents/php/php-application-security-agent/harnesses/kiro-ide.agent.md +112 -0
  32. package/agents/php/php-application-security-agent/metadata.json +31 -0
  33. package/agents/php/php-maestro-agent/AGENT.md +81 -0
  34. package/agents/php/php-maestro-agent/harnesses/claude-code.agent.md +80 -0
  35. package/agents/php/php-maestro-agent/harnesses/codex.toml +86 -0
  36. package/agents/php/php-maestro-agent/harnesses/copilot.agent.md +89 -0
  37. package/agents/php/php-maestro-agent/harnesses/cursor.agent.md +81 -0
  38. package/agents/php/php-maestro-agent/harnesses/gemini.agent.md +81 -0
  39. package/agents/php/php-maestro-agent/harnesses/kiro-cli.agent.json +5 -0
  40. package/agents/php/php-maestro-agent/harnesses/kiro-ide.agent.md +80 -0
  41. package/agents/php/php-maestro-agent/metadata.json +31 -0
  42. package/agents/php/php-runtime-upgrade-readiness-agent/AGENT.md +117 -0
  43. package/agents/php/php-runtime-upgrade-readiness-agent/harnesses/claude-code.agent.md +116 -0
  44. package/agents/php/php-runtime-upgrade-readiness-agent/harnesses/codex.toml +122 -0
  45. package/agents/php/php-runtime-upgrade-readiness-agent/harnesses/copilot.agent.md +125 -0
  46. package/agents/php/php-runtime-upgrade-readiness-agent/harnesses/cursor.agent.md +117 -0
  47. package/agents/php/php-runtime-upgrade-readiness-agent/harnesses/gemini.agent.md +117 -0
  48. package/agents/php/php-runtime-upgrade-readiness-agent/harnesses/kiro-cli.agent.json +5 -0
  49. package/agents/php/php-runtime-upgrade-readiness-agent/harnesses/kiro-ide.agent.md +116 -0
  50. package/agents/php/php-runtime-upgrade-readiness-agent/metadata.json +30 -0
  51. package/agents/php/wordpress-security-agent/AGENT.md +107 -0
  52. package/agents/php/wordpress-security-agent/harnesses/claude-code.agent.md +106 -0
  53. package/agents/php/wordpress-security-agent/harnesses/codex.toml +112 -0
  54. package/agents/php/wordpress-security-agent/harnesses/copilot.agent.md +115 -0
  55. package/agents/php/wordpress-security-agent/harnesses/cursor.agent.md +107 -0
  56. package/agents/php/wordpress-security-agent/harnesses/gemini.agent.md +107 -0
  57. package/agents/php/wordpress-security-agent/harnesses/kiro-cli.agent.json +5 -0
  58. package/agents/php/wordpress-security-agent/harnesses/kiro-ide.agent.md +106 -0
  59. package/agents/php/wordpress-security-agent/metadata.json +31 -0
  60. package/catalog/agents.json +175 -0
  61. package/catalog/asset-integrity.json +503 -48
  62. package/catalog/install-roles.json +26 -4
  63. package/catalog/model-assignments.json +19811 -0
  64. package/catalog/model-policy.json +371 -0
  65. package/catalog/model-registry.json +134 -0
  66. package/catalog/skill-manifest.json +220 -18
  67. package/catalog/skills.json +163 -0
  68. package/package.json +7 -2
  69. package/plugins/vanguard-frontier-agentic/.codex-plugin/plugin.json +1 -1
  70. package/powers/README.md +3 -2
  71. package/powers/vanguard-generic/POWER.md +1 -1
  72. package/powers/vanguard-php/POWER.md +40 -0
  73. package/schemas/agent.schema.json +2 -1
  74. package/schemas/model-policy.schema.json +60 -0
  75. package/schemas/model-registry.schema.json +127 -0
  76. package/schemas/skill.schema.json +2 -1
  77. package/scripts/generate-docs-data.mjs +1 -1
  78. package/scripts/model-policy.mjs +1353 -0
  79. package/skills/cross-functional/revenue-critical-journey-integrity-review/SKILL.md +108 -0
  80. package/skills/cross-functional/revenue-critical-journey-integrity-review/metadata.json +29 -0
  81. package/skills/cross-functional/revenue-critical-journey-integrity-review/references/idempotency-and-safe-retries.md +155 -0
  82. package/skills/cross-functional/revenue-critical-journey-integrity-review/references/official-sources.md +71 -0
  83. package/skills/cross-functional/revenue-critical-journey-integrity-review/references/pci-saq-scope-boundaries.md +118 -0
  84. package/skills/cross-functional/revenue-critical-journey-integrity-review/references/server-side-revalidation-trust-boundary.md +134 -0
  85. package/skills/cross-functional/revenue-critical-journey-integrity-review/references/webhook-delivery-dedup-ordering.md +146 -0
  86. package/skills/cross-functional/revenue-critical-journey-integrity-review/references/workflow-and-output.md +100 -0
  87. package/skills/gcp/gcp-firebase-developer/SKILL.md +1 -1
  88. package/skills/gcp/gcp-gke-platform-operator/SKILL.md +1 -1
  89. package/skills/php/composer-audit-supply-chain-review/SKILL.md +108 -0
  90. package/skills/php/composer-audit-supply-chain-review/metadata.json +20 -0
  91. package/skills/php/composer-audit-supply-chain-review/references/abandoned-and-advisory-governance.md +30 -0
  92. package/skills/php/composer-audit-supply-chain-review/references/composer-audit-policy.md +35 -0
  93. package/skills/php/composer-audit-supply-chain-review/references/lockfile-integrity.md +27 -0
  94. package/skills/php/php-maestro/SKILL.md +51 -0
  95. package/skills/php/php-maestro/metadata.json +20 -0
  96. package/skills/php/php-maestro/references/hard-gates-and-escalation.md +67 -0
  97. package/skills/php/php-maestro/references/routing-and-dispatch.md +91 -0
  98. package/skills/php/php-runtime-eol-opcache-fpm-review/SKILL.md +109 -0
  99. package/skills/php/php-runtime-eol-opcache-fpm-review/metadata.json +19 -0
  100. package/skills/php/php-runtime-eol-opcache-fpm-review/references/opcache-production-config.md +91 -0
  101. package/skills/php/php-runtime-eol-opcache-fpm-review/references/php-fpm-pool-tuning.md +87 -0
  102. package/skills/php/php-runtime-eol-opcache-fpm-review/references/php-version-lifecycle.md +102 -0
  103. package/skills/php/php-session-upload-deserialization-review/SKILL.md +111 -0
  104. package/skills/php/php-session-upload-deserialization-review/metadata.json +20 -0
  105. package/skills/php/php-session-upload-deserialization-review/references/file-upload-security.md +119 -0
  106. package/skills/php/php-session-upload-deserialization-review/references/session-security.md +126 -0
  107. package/skills/php/php-session-upload-deserialization-review/references/unserialize-object-injection.md +121 -0
  108. package/skills/php/wordpress-rest-block-security-review/SKILL.md +106 -0
  109. package/skills/php/wordpress-rest-block-security-review/metadata.json +20 -0
  110. package/skills/php/wordpress-rest-block-security-review/references/dynamic-block-output-escaping.md +42 -0
  111. package/skills/php/wordpress-rest-block-security-review/references/input-sanitize-output-escape.md +52 -0
  112. package/skills/php/wordpress-rest-block-security-review/references/rest-api-permission-callback.md +48 -0
  113. package/skills/salesforce/salesforce-agentforce-stdm-observer-skill/SKILL.md +1 -1
  114. package/skills/salesforce/salesforce-apex-log-analyzer-skill/SKILL.md +1 -1
  115. package/skills/salesforce/salesforce-apex-test-runner-skill/SKILL.md +1 -1
  116. package/skills/salesforce/salesforce-soql-explorer-skill/SKILL.md +1 -1
  117. package/tests/fixtures/php-maestro-routing/expected/001-happy-application-security.json +6 -0
  118. package/tests/fixtures/php-maestro-routing/expected/002-happy-composer-supply-chain.json +6 -0
  119. package/tests/fixtures/php-maestro-routing/expected/003-happy-runtime-upgrade-readiness.json +6 -0
  120. package/tests/fixtures/php-maestro-routing/expected/004-happy-wordpress-security.json +6 -0
  121. package/tests/fixtures/php-maestro-routing/expected/005-happy-unserialize-session.json +6 -0
  122. package/tests/fixtures/php-maestro-routing/expected/006-happy-fpm-opcache.json +6 -0
  123. package/tests/fixtures/php-maestro-routing/expected/007-happy-composer-audit.json +6 -0
  124. package/tests/fixtures/php-maestro-routing/expected/008-happy-wp-permission-callback.json +6 -0
  125. package/tests/fixtures/php-maestro-routing/expected/adv-ambiguous.json +4 -0
  126. package/tests/fixtures/php-maestro-routing/expected/adv-instruction-injection.json +6 -0
  127. package/tests/fixtures/php-maestro-routing/expected/adv-liveguard-db-migration-prod.json +4 -0
  128. package/tests/fixtures/php-maestro-routing/expected/adv-liveguard-deploy-prod.json +4 -0
  129. package/tests/fixtures/php-maestro-routing/expected/adv-persona-replacement.json +6 -0
  130. package/tests/fixtures/php-maestro-routing/expected/adv-secrets-bait.json +7 -0
  131. package/tests/fixtures/php-maestro-routing/inputs/001-happy-application-security.json +7 -0
  132. package/tests/fixtures/php-maestro-routing/inputs/002-happy-composer-supply-chain.json +7 -0
  133. package/tests/fixtures/php-maestro-routing/inputs/003-happy-runtime-upgrade-readiness.json +7 -0
  134. package/tests/fixtures/php-maestro-routing/inputs/004-happy-wordpress-security.json +7 -0
  135. package/tests/fixtures/php-maestro-routing/inputs/005-happy-unserialize-session.json +7 -0
  136. package/tests/fixtures/php-maestro-routing/inputs/006-happy-fpm-opcache.json +7 -0
  137. package/tests/fixtures/php-maestro-routing/inputs/007-happy-composer-audit.json +7 -0
  138. package/tests/fixtures/php-maestro-routing/inputs/008-happy-wp-permission-callback.json +7 -0
  139. package/tests/fixtures/php-maestro-routing/inputs/adv-ambiguous.json +7 -0
  140. package/tests/fixtures/php-maestro-routing/inputs/adv-instruction-injection.json +7 -0
  141. package/tests/fixtures/php-maestro-routing/inputs/adv-liveguard-db-migration-prod.json +7 -0
  142. package/tests/fixtures/php-maestro-routing/inputs/adv-liveguard-deploy-prod.json +7 -0
  143. package/tests/fixtures/php-maestro-routing/inputs/adv-persona-replacement.json +7 -0
  144. package/tests/fixtures/php-maestro-routing/inputs/adv-secrets-bait.json +7 -0
  145. package/tests/fixtures/php-maestro-routing/taxonomy.json +69 -0
  146. package/tests/validate-catalog.py +1 -0
  147. package/tests/validate-skill-coherence.py +364 -0
@@ -0,0 +1,371 @@
1
+ {
2
+ "manifest_version": 1,
3
+ "description": "Per-harness model and reasoning-effort policy for agent harness variants. Managed by scripts/model-policy.mjs (vfa-tui Model Policy view or CLI). 'auto' omits the field so the harness runtime default applies. Precedence: agent > role > provider > all.",
4
+ "defaults": {
5
+ "model": "auto",
6
+ "reasoning_effort": "auto"
7
+ },
8
+ "rules": [
9
+ {
10
+ "scope": "all",
11
+ "harness": "codex",
12
+ "model": "gpt-5.4",
13
+ "reasoning_effort": "high"
14
+ },
15
+ {
16
+ "scope": "provider:dotnet",
17
+ "harness": "codex",
18
+ "model": "gpt-5.5"
19
+ },
20
+ {
21
+ "scope": "provider:generic",
22
+ "harness": "codex",
23
+ "model": "gpt-5.5"
24
+ },
25
+ {
26
+ "scope": "provider:hr",
27
+ "harness": "codex",
28
+ "model": "gpt-5.5"
29
+ },
30
+ {
31
+ "scope": "provider:legal",
32
+ "harness": "codex",
33
+ "model": "gpt-5.5"
34
+ },
35
+ {
36
+ "scope": "provider:netsuite",
37
+ "harness": "codex",
38
+ "model": "gpt-5.5"
39
+ },
40
+ {
41
+ "scope": "provider:salesforce",
42
+ "harness": "codex",
43
+ "model": "gpt-5.5"
44
+ },
45
+ {
46
+ "scope": "agent:nextjs-specialist-agent",
47
+ "harness": "codex",
48
+ "model": "gpt-5.5"
49
+ },
50
+ {
51
+ "scope": "agent:oci-cloud-guard-responder-agent",
52
+ "harness": "codex",
53
+ "reasoning_effort": "medium"
54
+ },
55
+ {
56
+ "scope": "agent:oci-compute-instance-agent-operator-agent",
57
+ "harness": "codex",
58
+ "reasoning_effort": "medium"
59
+ },
60
+ {
61
+ "scope": "agent:oci-compute-platform-operator-agent",
62
+ "harness": "codex",
63
+ "reasoning_effort": "medium"
64
+ },
65
+ {
66
+ "scope": "agent:oci-cost-finops-analyst-agent",
67
+ "harness": "codex",
68
+ "reasoning_effort": "medium"
69
+ },
70
+ {
71
+ "scope": "agent:oci-dbtools-sql-analyst-agent",
72
+ "harness": "codex",
73
+ "reasoning_effort": "medium"
74
+ },
75
+ {
76
+ "scope": "agent:oci-devops-container-platform-engineer-agent",
77
+ "harness": "codex",
78
+ "reasoning_effort": "medium"
79
+ },
80
+ {
81
+ "scope": "agent:oci-fusion-apps-environment-operator-agent",
82
+ "harness": "codex",
83
+ "reasoning_effort": "medium"
84
+ },
85
+ {
86
+ "scope": "agent:oci-goldengate-replication-operator-agent",
87
+ "harness": "codex",
88
+ "reasoning_effort": "medium"
89
+ },
90
+ {
91
+ "scope": "agent:oci-iot-digital-twin-engineer-agent",
92
+ "harness": "codex",
93
+ "reasoning_effort": "medium"
94
+ },
95
+ {
96
+ "scope": "agent:oci-limits-capacity-planner-agent",
97
+ "harness": "codex",
98
+ "reasoning_effort": "medium"
99
+ },
100
+ {
101
+ "scope": "agent:oci-load-balancer-traffic-engineer-agent",
102
+ "harness": "codex",
103
+ "reasoning_effort": "medium"
104
+ },
105
+ {
106
+ "scope": "agent:oci-mysql-heatwave-ai-specialist-agent",
107
+ "harness": "codex",
108
+ "reasoning_effort": "medium"
109
+ },
110
+ {
111
+ "scope": "agent:oci-observability-incident-responder-agent",
112
+ "harness": "codex",
113
+ "reasoning_effort": "medium"
114
+ },
115
+ {
116
+ "scope": "agent:oci-recovery-service-operator-agent",
117
+ "harness": "codex",
118
+ "reasoning_effort": "medium"
119
+ },
120
+ {
121
+ "scope": "agent:oci-registry-artifact-governor-agent",
122
+ "harness": "codex",
123
+ "reasoning_effort": "medium"
124
+ },
125
+ {
126
+ "scope": "agent:oci-resource-search-inventory-analyst-agent",
127
+ "harness": "codex",
128
+ "reasoning_effort": "medium"
129
+ },
130
+ {
131
+ "scope": "agent:oci-storage-backup-steward-agent",
132
+ "harness": "codex",
133
+ "reasoning_effort": "medium"
134
+ },
135
+ {
136
+ "scope": "agent:oci-support-incident-coordinator-agent",
137
+ "harness": "codex",
138
+ "reasoning_effort": "medium"
139
+ },
140
+ {
141
+ "scope": "agent:svelte-sveltekit-specialist-agent",
142
+ "harness": "codex",
143
+ "model": "gpt-5.5"
144
+ },
145
+ {
146
+ "scope": "provider:aws",
147
+ "harness": "cursor",
148
+ "model": "inherit"
149
+ },
150
+ {
151
+ "scope": "provider:databricks",
152
+ "harness": "cursor",
153
+ "model": "inherit"
154
+ },
155
+ {
156
+ "scope": "provider:frontend",
157
+ "harness": "cursor",
158
+ "model": "inherit"
159
+ },
160
+ {
161
+ "scope": "provider:microsoft",
162
+ "harness": "cursor",
163
+ "model": "inherit"
164
+ },
165
+ {
166
+ "scope": "provider:oci",
167
+ "harness": "cursor",
168
+ "model": "inherit"
169
+ },
170
+ {
171
+ "scope": "provider:snowflake",
172
+ "harness": "cursor",
173
+ "model": "inherit"
174
+ },
175
+ {
176
+ "scope": "provider:terraform",
177
+ "harness": "cursor",
178
+ "model": "inherit"
179
+ },
180
+ {
181
+ "scope": "agent:aws-live-deployment-guarded-operator-agent",
182
+ "harness": "cursor",
183
+ "model": "auto"
184
+ },
185
+ {
186
+ "scope": "agent:aws-live-ecs-rollout-guard-agent",
187
+ "harness": "cursor",
188
+ "model": "auto"
189
+ },
190
+ {
191
+ "scope": "agent:aws-live-iac-change-guard-agent",
192
+ "harness": "cursor",
193
+ "model": "auto"
194
+ },
195
+ {
196
+ "scope": "agent:aws-live-pipeline-approval-operator-agent",
197
+ "harness": "cursor",
198
+ "model": "auto"
199
+ },
200
+ {
201
+ "scope": "agent:aws-live-serverless-release-guard-agent",
202
+ "harness": "cursor",
203
+ "model": "auto"
204
+ },
205
+ {
206
+ "scope": "agent:aws-private-ca-issuer-review-agent",
207
+ "harness": "cursor",
208
+ "model": "auto"
209
+ },
210
+ {
211
+ "scope": "agent:aws-waf-cost-optimization-review-agent",
212
+ "harness": "cursor",
213
+ "model": "auto"
214
+ },
215
+ {
216
+ "scope": "agent:aws-waf-reliability-review-agent",
217
+ "harness": "cursor",
218
+ "model": "auto"
219
+ },
220
+ {
221
+ "scope": "agent:aws-waf-security-review-agent",
222
+ "harness": "cursor",
223
+ "model": "auto"
224
+ },
225
+ {
226
+ "scope": "agent:azure-ai-foundry-ops-governor-agent",
227
+ "harness": "cursor",
228
+ "model": "inherit"
229
+ },
230
+ {
231
+ "scope": "agent:azure-aks-platform-operator-agent",
232
+ "harness": "cursor",
233
+ "model": "inherit"
234
+ },
235
+ {
236
+ "scope": "agent:azure-app-service-production-readiness-agent",
237
+ "harness": "cursor",
238
+ "model": "inherit"
239
+ },
240
+ {
241
+ "scope": "agent:azure-cosmosdb-application-developer-agent",
242
+ "harness": "cursor",
243
+ "model": "inherit"
244
+ },
245
+ {
246
+ "scope": "agent:azure-cosmosdb-performance-investigator-agent",
247
+ "harness": "cursor",
248
+ "model": "inherit"
249
+ },
250
+ {
251
+ "scope": "agent:azure-cosmosdb-platform-operator-agent",
252
+ "harness": "cursor",
253
+ "model": "inherit"
254
+ },
255
+ {
256
+ "scope": "agent:azure-cost-estimation-review-agent",
257
+ "harness": "cursor",
258
+ "model": "inherit"
259
+ },
260
+ {
261
+ "scope": "agent:azure-cost-optimization-governor-agent",
262
+ "harness": "cursor",
263
+ "model": "inherit"
264
+ },
265
+ {
266
+ "scope": "agent:azure-entra-id-specialist-agent",
267
+ "harness": "cursor",
268
+ "model": "inherit"
269
+ },
270
+ {
271
+ "scope": "agent:azure-governance-policy-guardrails-agent",
272
+ "harness": "cursor",
273
+ "model": "inherit"
274
+ },
275
+ {
276
+ "scope": "agent:d365-live-record-field-update-guard-agent",
277
+ "harness": "cursor",
278
+ "model": "auto"
279
+ },
280
+ {
281
+ "scope": "agent:d365-live-security-role-guard-agent",
282
+ "harness": "cursor",
283
+ "model": "auto"
284
+ },
285
+ {
286
+ "scope": "agent:databricks-live-unity-catalog-grant-guard-at-azure-agent",
287
+ "harness": "cursor",
288
+ "model": "auto"
289
+ },
290
+ {
291
+ "scope": "agent:kubernetes-live-rbac-mutation-guard-agent",
292
+ "harness": "cursor",
293
+ "model": "inherit"
294
+ },
295
+ {
296
+ "scope": "agent:kubernetes-rbac-review-agent",
297
+ "harness": "cursor",
298
+ "model": "inherit"
299
+ },
300
+ {
301
+ "scope": "agent:m365-live-identity-posture-guard-agent",
302
+ "harness": "cursor",
303
+ "model": "auto"
304
+ },
305
+ {
306
+ "scope": "agent:m365-live-sensitivity-label-apply-guard-agent",
307
+ "harness": "cursor",
308
+ "model": "auto"
309
+ },
310
+ {
311
+ "scope": "agent:nvidia-maestro-agent",
312
+ "harness": "cursor",
313
+ "model": "inherit"
314
+ },
315
+ {
316
+ "scope": "agent:oci-certificates-issuer-review-agent",
317
+ "harness": "cursor",
318
+ "model": "auto"
319
+ },
320
+ {
321
+ "scope": "agent:oci-live-autonomous-db-lifecycle-guard-agent",
322
+ "harness": "cursor",
323
+ "model": "auto"
324
+ },
325
+ {
326
+ "scope": "agent:oci-live-cost-budget-runaway-guard-agent",
327
+ "harness": "cursor",
328
+ "model": "auto"
329
+ },
330
+ {
331
+ "scope": "agent:oci-live-iam-policy-compartment-guard-agent",
332
+ "harness": "cursor",
333
+ "model": "auto"
334
+ },
335
+ {
336
+ "scope": "agent:oci-live-oke-rollout-guard-agent",
337
+ "harness": "cursor",
338
+ "model": "auto"
339
+ },
340
+ {
341
+ "scope": "agent:oci-live-resource-manager-stack-guard-agent",
342
+ "harness": "cursor",
343
+ "model": "auto"
344
+ },
345
+ {
346
+ "scope": "agent:oci-live-vault-key-destruction-guard-agent",
347
+ "harness": "cursor",
348
+ "model": "auto"
349
+ },
350
+ {
351
+ "scope": "agent:oci-waf-cost-optimization-review-agent",
352
+ "harness": "cursor",
353
+ "model": "auto"
354
+ },
355
+ {
356
+ "scope": "agent:oci-waf-reliability-review-agent",
357
+ "harness": "cursor",
358
+ "model": "auto"
359
+ },
360
+ {
361
+ "scope": "agent:oci-waf-security-review-agent",
362
+ "harness": "cursor",
363
+ "model": "auto"
364
+ },
365
+ {
366
+ "scope": "agent:snowflake-live-rbac-grant-guard-at-azure-agent",
367
+ "harness": "cursor",
368
+ "model": "auto"
369
+ }
370
+ ]
371
+ }
@@ -0,0 +1,134 @@
1
+ {
2
+ "manifest_version": 1,
3
+ "description": "Verified model-name and reasoning-effort capability matrix per harness. scripts/model-policy.mjs fails closed on model names and reasoning efforts not covered here, so a policy can never project a value that would 404 (OpenAI: HTTP 404 invalid_request_error/model_not_found; OpenRouter: HTTP 404) or be silently dropped at request time. Namespaces are evaluated in order; first 'match' wins. Human-readable matrix: docs/model-policy-matrix.md. Refresh workflow: .claude/skills/model-registry-refresh/SKILL.md.",
4
+ "last_refreshed": "2026-07-10",
5
+ "harnesses": {
6
+ "codex": {
7
+ "reasoning_key": "model_reasoning_effort",
8
+ "reasoning_efforts": ["none", "minimal", "low", "medium", "high", "xhigh"],
9
+ "reasoning_note": "Codex validates effort at runtime against each model's advertised supportedReasoningEfforts (model/list); the registry narrows per model family below. o-series models predate none/minimal/xhigh.",
10
+ "namespaces": [
11
+ {
12
+ "id": "openai",
13
+ "description": "OpenAI first-party text/coding models served by Codex's default provider. Image, audio, and video model slugs are deliberately excluded — they are not valid agent models.",
14
+ "match": "^(gpt-|o[0-9])[a-z0-9.-]*$",
15
+ "membership": "closed",
16
+ "model_provider": null,
17
+ "sources": [
18
+ "Context7 /openai/codex references/latest-model.md (current model map)",
19
+ "https://developers.openai.com/codex",
20
+ "https://developers.openai.com/api/docs/models (GPT-5.6 family, verified 2026-07-10)"
21
+ ],
22
+ "models": [
23
+ { "id": "gpt-5.6", "reasoning_efforts": ["none", "low", "medium", "high", "xhigh"], "last_verified": "2026-07-10", "source": "https://developers.openai.com/api/docs/models", "note": "alias routing to gpt-5.6-sol; family drops minimal; API-advertised max excluded pending Codex CLI ReasoningEffort enum support (fail closed)" },
24
+ { "id": "gpt-5.6-sol", "reasoning_efforts": ["none", "low", "medium", "high", "xhigh"], "last_verified": "2026-07-10", "source": "https://developers.openai.com/api/docs/models", "note": "max excluded pending Codex CLI enum support" },
25
+ { "id": "gpt-5.6-terra", "reasoning_efforts": ["none", "low", "medium", "high", "xhigh"], "last_verified": "2026-07-10", "source": "https://developers.openai.com/api/docs/models", "note": "max excluded pending Codex CLI enum support" },
26
+ { "id": "gpt-5.6-luna", "reasoning_efforts": ["none", "low", "medium", "high", "xhigh"], "last_verified": "2026-07-10", "source": "https://developers.openai.com/api/docs/models", "note": "max excluded pending Codex CLI enum support" },
27
+ { "id": "gpt-5.5", "reasoning_efforts": ["none", "minimal", "low", "medium", "high", "xhigh"], "last_verified": "2026-07-09" },
28
+ { "id": "gpt-5.5-pro", "reasoning_efforts": ["none", "minimal", "low", "medium", "high", "xhigh"], "last_verified": "2026-07-09" },
29
+ { "id": "gpt-5.4", "reasoning_efforts": ["none", "minimal", "low", "medium", "high", "xhigh"], "last_verified": "2026-07-09" },
30
+ { "id": "gpt-5.4-mini", "reasoning_efforts": ["none", "minimal", "low", "medium", "high", "xhigh"], "last_verified": "2026-07-09" },
31
+ { "id": "gpt-5.4-nano", "reasoning_efforts": ["none", "minimal", "low", "medium", "high", "xhigh"], "last_verified": "2026-07-09" },
32
+ { "id": "gpt-5.3-codex", "reasoning_efforts": ["none", "minimal", "low", "medium", "high", "xhigh"], "last_verified": "2026-07-09" },
33
+ { "id": "gpt-5.1-codex-mini", "reasoning_efforts": ["none", "minimal", "low", "medium", "high", "xhigh"], "last_verified": "2026-07-09" },
34
+ { "id": "gpt-4.1-mini", "reasoning_efforts": [], "last_verified": "2026-07-09", "note": "non-reasoning text model" },
35
+ { "id": "gpt-4.1-nano", "reasoning_efforts": [], "last_verified": "2026-07-09", "note": "non-reasoning text model" },
36
+ { "id": "o1", "reasoning_efforts": ["low", "medium", "high"], "last_verified": "2026-07-09" },
37
+ { "id": "o3", "reasoning_efforts": ["low", "medium", "high"], "last_verified": "2026-07-09" },
38
+ { "id": "o4-mini", "reasoning_efforts": ["low", "medium", "high"], "last_verified": "2026-07-09" },
39
+ { "id": "gpt-5-2025-08-07", "reasoning_efforts": ["minimal", "low", "medium", "high"], "status": "retiring", "retirement_date": "2026-12-11", "successor": "gpt-5.5", "last_verified": "2026-07-10", "source": "https://developers.openai.com/api/docs/deprecations", "note": "legacy dated snapshot; shutdown announced 2026-06-11, replacement gpt-5.5" },
40
+ { "id": "gpt-5-mini-2025-08-07", "reasoning_efforts": ["minimal", "low", "medium", "high"], "status": "retiring", "retirement_date": "2026-12-11", "successor": "gpt-5.4-mini", "last_verified": "2026-07-10", "source": "https://developers.openai.com/api/docs/deprecations", "note": "legacy dated snapshot; shutdown announced 2026-06-11, replacement gpt-5.4-mini" },
41
+ { "id": "gpt-5-nano-2025-08-07", "reasoning_efforts": ["minimal", "low", "medium", "high"], "status": "retiring", "retirement_date": "2026-12-11", "successor": "gpt-5.4-nano", "last_verified": "2026-07-10", "source": "https://developers.openai.com/api/docs/deprecations", "note": "legacy dated snapshot; shutdown announced 2026-06-11, replacement gpt-5.4-nano" }
42
+ ]
43
+ },
44
+ {
45
+ "id": "ollama",
46
+ "description": "Local models served by Ollama, routed via a [model_providers.ollama] table (base_url http://localhost:11434/v1, wire_api responses) in the operator's codex config. Policy values must pin an explicit name:tag — floating :latest via a bare name is rejected by shape.",
47
+ "match": "^[a-z0-9][a-z0-9._-]*:[a-z0-9][a-z0-9._-]*$",
48
+ "membership": "open",
49
+ "model_provider": "ollama",
50
+ "requires_provider_table": true,
51
+ "reasoning_efforts": [],
52
+ "reasoning_note": "Codex reasoning-effort passthrough to Ollama is not documented (Ollama-native reasoning uses the think parameter, which codex.toml cannot express); pinning reasoning_effort onto an Ollama-routed model fails check.",
53
+ "sources": [
54
+ "https://docs.ollama.com/api/openai-compatibility",
55
+ "Context7 /openai/codex model-provider-info (Ollama base_url/wire_api)"
56
+ ],
57
+ "examples": ["llama3.3:70b", "qwen3:32b", "gpt-oss:120b", "deepseek-r1:14b"]
58
+ },
59
+ {
60
+ "id": "openrouter",
61
+ "description": "OpenRouter-served models, routed via a [model_providers.openrouter] table (base_url https://openrouter.ai/api/v1, env_key OPENROUTER_API_KEY, wire_api responses) in the operator's codex config. Slug form author/model with optional :free/:extended/:nitro/:thinking variant. The floating ~author/family-latest alias form is deliberately rejected — policy pins exact models.",
62
+ "match": "^[a-z0-9][a-z0-9.-]*/[a-z0-9][a-z0-9._-]*(:(free|extended|nitro|thinking))?$",
63
+ "membership": "open",
64
+ "model_provider": "openrouter",
65
+ "requires_provider_table": true,
66
+ "reasoning_efforts": [],
67
+ "reasoning_note": "OpenRouter accepts reasoning_effort per model on its own API, but Codex CLI passthrough to custom providers is not documented; pinning reasoning_effort onto an OpenRouter-routed model fails check.",
68
+ "sources": [
69
+ "https://openrouter.ai/docs/api/api-reference/models/get-a-model-by-its-slug",
70
+ "https://openrouter.ai/docs/guides/best-practices/reasoning-tokens"
71
+ ],
72
+ "examples": ["anthropic/claude-sonnet-4.5", "openai/gpt-4o", "google/gemini-2.5-pro"]
73
+ }
74
+ ]
75
+ },
76
+ "claude-code": {
77
+ "reasoning_key": "effort",
78
+ "reasoning_efforts": ["low", "medium", "high", "xhigh", "max"],
79
+ "reasoning_note": "Subagent frontmatter effort field; available levels depend on the model and Claude Code falls back gracefully to the highest supported level, so no per-model gating is required.",
80
+ "namespaces": [
81
+ {
82
+ "id": "alias",
83
+ "description": "Version-floating aliases resolved by Claude Code to maintained defaults; always valid.",
84
+ "match": "^(sonnet|opus|haiku|fable|inherit)$",
85
+ "membership": "open",
86
+ "sources": ["https://code.claude.com/docs/en/sub-agents"]
87
+ },
88
+ {
89
+ "id": "anthropic",
90
+ "description": "Pinned Anthropic model IDs (same values as the --model flag).",
91
+ "match": "^claude-[a-z0-9.-]+$",
92
+ "membership": "closed",
93
+ "sources": ["https://code.claude.com/docs/en/sub-agents", "https://code.claude.com/docs/en/model-config"],
94
+ "models": [
95
+ { "id": "claude-opus-4-8", "last_verified": "2026-07-09" },
96
+ { "id": "claude-opus-4-7", "last_verified": "2026-07-09" },
97
+ { "id": "claude-sonnet-5", "last_verified": "2026-07-09" },
98
+ { "id": "claude-sonnet-4-6", "last_verified": "2026-07-09" },
99
+ { "id": "claude-haiku-4-5", "last_verified": "2026-07-09" },
100
+ { "id": "claude-haiku-4-5-20251001", "last_verified": "2026-07-09", "note": "dated snapshot ID" },
101
+ { "id": "claude-fable-5", "last_verified": "2026-07-09" }
102
+ ]
103
+ }
104
+ ]
105
+ },
106
+ "cursor": {
107
+ "reasoning_key": null,
108
+ "reasoning_efforts": [],
109
+ "reasoning_note": "Cursor exposes per-model parameters through its SDK model discovery (Cursor.models.list()), not through agent frontmatter; no effort field is projected. Invalid model names raise ConfigurationError in Cursor.",
110
+ "namespaces": [
111
+ {
112
+ "id": "alias",
113
+ "description": "auto (Cursor picks) and inherit (parent agent's model); always valid.",
114
+ "match": "^(auto|inherit)$",
115
+ "membership": "open",
116
+ "sources": ["https://cursor.com/docs/subagents"]
117
+ },
118
+ {
119
+ "id": "named",
120
+ "description": "Named models documented for Cursor subagent frontmatter. Cursor's picker evolves quickly and availability is plan/admin-dependent — verify with Cursor.models.list() and extend via the refresh workflow.",
121
+ "match": "^[a-z0-9][a-z0-9.-]*$",
122
+ "membership": "closed",
123
+ "sources": ["https://cursor.com/docs/subagents", "https://cursor.com/docs/cli/reference/configuration"],
124
+ "models": [
125
+ { "id": "gpt-5.5", "last_verified": "2026-07-09" },
126
+ { "id": "gpt-5", "last_verified": "2026-07-09" },
127
+ { "id": "composer-2", "last_verified": "2026-07-09" },
128
+ { "id": "composer-2.5", "last_verified": "2026-07-09" }
129
+ ]
130
+ }
131
+ ]
132
+ }
133
+ }
134
+ }