@claudexor/schema 1.0.1 → 2.1.1

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 (278) hide show
  1. package/dist/agent-capabilities.d.ts +102 -30
  2. package/dist/agent-capabilities.d.ts.map +1 -1
  3. package/dist/agent-capabilities.js +49 -18
  4. package/dist/agent-capabilities.js.map +1 -1
  5. package/dist/apply-eligibility.d.ts.map +1 -1
  6. package/dist/apply-eligibility.js +22 -6
  7. package/dist/apply-eligibility.js.map +1 -1
  8. package/dist/attachment.d.ts +117 -52
  9. package/dist/attachment.d.ts.map +1 -1
  10. package/dist/attachment.js +60 -45
  11. package/dist/attachment.js.map +1 -1
  12. package/dist/auth.d.ts +1444 -0
  13. package/dist/auth.d.ts.map +1 -0
  14. package/dist/auth.js +371 -0
  15. package/dist/auth.js.map +1 -0
  16. package/dist/budget.d.ts +147 -18
  17. package/dist/budget.d.ts.map +1 -1
  18. package/dist/budget.js +80 -22
  19. package/dist/budget.js.map +1 -1
  20. package/dist/config.d.ts +829 -135
  21. package/dist/config.d.ts.map +1 -1
  22. package/dist/config.js +195 -41
  23. package/dist/config.js.map +1 -1
  24. package/dist/context.d.ts +6 -6
  25. package/dist/context.d.ts.map +1 -1
  26. package/dist/context.js +31 -7
  27. package/dist/context.js.map +1 -1
  28. package/dist/control-gc.d.ts +185 -0
  29. package/dist/control-gc.d.ts.map +1 -0
  30. package/dist/control-gc.js +81 -0
  31. package/dist/control-gc.js.map +1 -0
  32. package/dist/control-operation-responses.d.ts +1298 -0
  33. package/dist/control-operation-responses.d.ts.map +1 -0
  34. package/dist/control-operation-responses.js +35 -0
  35. package/dist/control-operation-responses.js.map +1 -0
  36. package/dist/control-run-detail.d.ts +556 -247
  37. package/dist/control-run-detail.d.ts.map +1 -1
  38. package/dist/control-run-detail.js +72 -17
  39. package/dist/control-run-detail.js.map +1 -1
  40. package/dist/control-run-retry.d.ts +88 -0
  41. package/dist/control-run-retry.d.ts.map +1 -0
  42. package/dist/control-run-retry.js +40 -0
  43. package/dist/control-run-retry.js.map +1 -0
  44. package/dist/control-run-scope.d.ts +25 -0
  45. package/dist/control-run-scope.d.ts.map +1 -0
  46. package/dist/control-run-scope.js +22 -0
  47. package/dist/control-run-scope.js.map +1 -0
  48. package/dist/control-secret.d.ts +90 -0
  49. package/dist/control-secret.d.ts.map +1 -0
  50. package/dist/control-secret.js +35 -0
  51. package/dist/control-secret.js.map +1 -0
  52. package/dist/control-spec.d.ts +592 -0
  53. package/dist/control-spec.d.ts.map +1 -0
  54. package/dist/control-spec.js +85 -0
  55. package/dist/control-spec.js.map +1 -0
  56. package/dist/control-thread-apply.d.ts +175 -0
  57. package/dist/control-thread-apply.d.ts.map +1 -0
  58. package/dist/control-thread-apply.js +31 -0
  59. package/dist/control-thread-apply.js.map +1 -0
  60. package/dist/control-trust.d.ts +74 -10
  61. package/dist/control-trust.d.ts.map +1 -1
  62. package/dist/control-trust.js +31 -11
  63. package/dist/control-trust.js.map +1 -1
  64. package/dist/control.d.ts +1688 -1334
  65. package/dist/control.d.ts.map +1 -1
  66. package/dist/control.js +592 -333
  67. package/dist/control.js.map +1 -1
  68. package/dist/credential-profile.d.ts +454 -0
  69. package/dist/credential-profile.d.ts.map +1 -0
  70. package/dist/credential-profile.js +140 -0
  71. package/dist/credential-profile.js.map +1 -0
  72. package/dist/decision.d.ts +10 -10
  73. package/dist/decision.d.ts.map +1 -1
  74. package/dist/decision.js +62 -15
  75. package/dist/decision.js.map +1 -1
  76. package/dist/delivery.d.ts +99 -0
  77. package/dist/delivery.d.ts.map +1 -0
  78. package/dist/delivery.js +19 -0
  79. package/dist/delivery.js.map +1 -0
  80. package/dist/events.d.ts +41 -4
  81. package/dist/events.d.ts.map +1 -1
  82. package/dist/events.js +47 -4
  83. package/dist/events.js.map +1 -1
  84. package/dist/gate.d.ts +5 -5
  85. package/dist/gate.d.ts.map +1 -1
  86. package/dist/gate.js +25 -5
  87. package/dist/gate.js.map +1 -1
  88. package/dist/harness.d.ts +775 -237
  89. package/dist/harness.d.ts.map +1 -1
  90. package/dist/harness.js +314 -111
  91. package/dist/harness.js.map +1 -1
  92. package/dist/index.d.ts +19 -0
  93. package/dist/index.d.ts.map +1 -1
  94. package/dist/index.js +19 -0
  95. package/dist/index.js.map +1 -1
  96. package/dist/operation.d.ts +185 -0
  97. package/dist/operation.d.ts.map +1 -0
  98. package/dist/operation.js +50 -0
  99. package/dist/operation.js.map +1 -0
  100. package/dist/orchestrate.d.ts +150 -22
  101. package/dist/orchestrate.d.ts.map +1 -1
  102. package/dist/orchestrate.js +117 -7
  103. package/dist/orchestrate.js.map +1 -1
  104. package/dist/primitives.d.ts.map +1 -1
  105. package/dist/primitives.js +4 -1
  106. package/dist/primitives.js.map +1 -1
  107. package/dist/problem.d.ts +29 -0
  108. package/dist/problem.d.ts.map +1 -0
  109. package/dist/problem.js +17 -0
  110. package/dist/problem.js.map +1 -0
  111. package/dist/project.d.ts +97 -0
  112. package/dist/project.d.ts.map +1 -0
  113. package/dist/project.js +27 -0
  114. package/dist/project.js.map +1 -0
  115. package/dist/quota.d.ts +269 -0
  116. package/dist/quota.d.ts.map +1 -0
  117. package/dist/quota.js +58 -0
  118. package/dist/quota.js.map +1 -0
  119. package/dist/raw.d.ts +195 -0
  120. package/dist/raw.d.ts.map +1 -0
  121. package/dist/raw.js +58 -0
  122. package/dist/raw.js.map +1 -0
  123. package/dist/readiness.d.ts +596 -0
  124. package/dist/readiness.d.ts.map +1 -0
  125. package/dist/readiness.js +87 -0
  126. package/dist/readiness.js.map +1 -0
  127. package/dist/recovery.d.ts +515 -0
  128. package/dist/recovery.d.ts.map +1 -0
  129. package/dist/recovery.js +93 -0
  130. package/dist/recovery.js.map +1 -0
  131. package/dist/request-requirements.d.ts +36 -0
  132. package/dist/request-requirements.d.ts.map +1 -0
  133. package/dist/request-requirements.js +29 -0
  134. package/dist/request-requirements.js.map +1 -0
  135. package/dist/review.d.ts +26 -26
  136. package/dist/review.d.ts.map +1 -1
  137. package/dist/review.js +50 -10
  138. package/dist/review.js.map +1 -1
  139. package/dist/route.d.ts +13 -13
  140. package/dist/route.d.ts.map +1 -1
  141. package/dist/route.js +19 -4
  142. package/dist/route.js.map +1 -1
  143. package/dist/setup.d.ts +9811 -0
  144. package/dist/setup.d.ts.map +1 -0
  145. package/dist/setup.js +475 -0
  146. package/dist/setup.js.map +1 -0
  147. package/dist/spec.d.ts +178 -61
  148. package/dist/spec.d.ts.map +1 -1
  149. package/dist/spec.js +69 -16
  150. package/dist/spec.js.map +1 -1
  151. package/dist/surface-run-controls.d.ts.map +1 -1
  152. package/dist/surface-run-controls.js +25 -21
  153. package/dist/surface-run-controls.js.map +1 -1
  154. package/dist/task.d.ts +1657 -60
  155. package/dist/task.d.ts.map +1 -1
  156. package/dist/task.js +144 -18
  157. package/dist/task.js.map +1 -1
  158. package/dist/telemetry.d.ts +487 -72
  159. package/dist/telemetry.d.ts.map +1 -1
  160. package/dist/telemetry.js +194 -16
  161. package/dist/telemetry.js.map +1 -1
  162. package/dist/thread.d.ts +89 -51
  163. package/dist/thread.d.ts.map +1 -1
  164. package/dist/thread.js +56 -11
  165. package/dist/thread.js.map +1 -1
  166. package/dist/tool-ref.d.ts +45 -0
  167. package/dist/tool-ref.d.ts.map +1 -0
  168. package/dist/tool-ref.js +45 -0
  169. package/dist/tool-ref.js.map +1 -0
  170. package/dist/workproduct.d.ts +3 -3
  171. package/dist/workproduct.d.ts.map +1 -1
  172. package/dist/workproduct.js.map +1 -1
  173. package/dist/workspace.d.ts +3 -3
  174. package/dist/workspace.d.ts.map +1 -1
  175. package/dist/workspace.js +12 -3
  176. package/dist/workspace.js.map +1 -1
  177. package/generated/AgentCapabilityCatalog.schema.json +53 -11
  178. package/generated/BudgetLease.schema.json +55 -6
  179. package/generated/BudgetObservation.schema.json +44 -7
  180. package/generated/ConformanceReport.schema.json +49 -0
  181. package/generated/ControlApplyCheckResponse.schema.json +34 -0
  182. package/generated/ControlArtifactListResponse.schema.json +57 -0
  183. package/generated/ControlAuthReadinessRefreshRequest.schema.json +38 -0
  184. package/generated/ControlAuthReadinessRefreshResponse.schema.json +85 -0
  185. package/generated/ControlCredentialProfileCreateRequest.schema.json +32 -0
  186. package/generated/ControlCredentialProfileCreateResponse.schema.json +142 -0
  187. package/generated/ControlCredentialProfileDeleteResponse.schema.json +107 -0
  188. package/generated/ControlCredentialProfilesResponse.schema.json +155 -0
  189. package/generated/ControlDeliveryResponse.schema.json +136 -0
  190. package/generated/ControlGcReceipt.schema.json +170 -0
  191. package/generated/ControlGcRequest.schema.json +18 -0
  192. package/generated/ControlHandshakeRequest.schema.json +26 -0
  193. package/generated/ControlHandshakeResponse.schema.json +30 -0
  194. package/generated/ControlHarnessListResponse.schema.json +198 -14
  195. package/generated/ControlHarnessModelsResponse.schema.json +19 -0
  196. package/generated/ControlHarnessSettingsPatch.schema.json +9 -12
  197. package/generated/ControlJournalEvent.schema.json +42 -0
  198. package/generated/ControlJournalExportReceipt.schema.json +49 -0
  199. package/generated/ControlJournalInspection.schema.json +149 -0
  200. package/generated/ControlJournalQuarantineReceipt.schema.json +55 -0
  201. package/generated/ControlJournalQuarantineRequest.schema.json +24 -0
  202. package/generated/ControlJournalValidation.schema.json +181 -0
  203. package/generated/ControlOperationCatalog.schema.json +128 -0
  204. package/generated/ControlOperationDescriptor.schema.json +110 -0
  205. package/generated/ControlProblem.schema.json +59 -0
  206. package/generated/ControlProject.schema.json +42 -0
  207. package/generated/ControlProjectListResponse.schema.json +54 -0
  208. package/generated/ControlProjectRegisterRequest.schema.json +19 -0
  209. package/generated/ControlProjectRelinkRequest.schema.json +19 -0
  210. package/generated/ControlQueuedRunInfo.schema.json +4 -2
  211. package/generated/ControlQuotaResponse.schema.json +177 -0
  212. package/generated/ControlResource.schema.json +59 -0
  213. package/generated/ControlRunAgainDraft.schema.json +539 -0
  214. package/generated/ControlRunDetail.schema.json +373 -34
  215. package/generated/ControlRunListResponse.schema.json +968 -0
  216. package/generated/ControlRunRetryResponse.schema.json +54 -0
  217. package/generated/ControlRunStartRequest.schema.json +123 -55
  218. package/generated/ControlRunStartResponse.schema.json +78 -0
  219. package/generated/ControlRunSummary.schema.json +312 -21
  220. package/generated/ControlSecretListResponse.schema.json +8 -14
  221. package/generated/ControlSecretMutationResponse.schema.json +32 -0
  222. package/generated/ControlSecretSetRequest.schema.json +27 -0
  223. package/generated/ControlSettingsSnapshot.schema.json +128 -44
  224. package/generated/ControlSettingsUpdateRequest.schema.json +119 -40
  225. package/generated/ControlSetupJob.schema.json +770 -64
  226. package/generated/ControlSetupJobCreateRequest.schema.json +16 -13
  227. package/generated/ControlSetupJobEvent.schema.json +869 -5
  228. package/generated/ControlSetupJobListFilter.schema.json +35 -0
  229. package/generated/ControlSetupJobListResponse.schema.json +770 -64
  230. package/generated/ControlSetupJobSnapshot.schema.json +878 -0
  231. package/generated/ControlSpecAnswersRequest.schema.json +74 -0
  232. package/generated/ControlSpecQuestionsRequest.schema.json +128 -2
  233. package/generated/ControlSpecSession.schema.json +249 -0
  234. package/generated/ControlSpecSessionListResponse.schema.json +261 -0
  235. package/generated/ControlThread.schema.json +36 -6
  236. package/generated/ControlThreadApplyResponse.schema.json +139 -0
  237. package/generated/ControlThreadCreateRequest.schema.json +6 -2
  238. package/generated/ControlThreadDetail.schema.json +64 -12
  239. package/generated/ControlThreadListResponse.schema.json +36 -6
  240. package/generated/ControlThreadTurnRequest.schema.json +413 -0
  241. package/generated/ControlThreadTurnResponse.schema.json +73 -0
  242. package/generated/ControlThreadUpdateRequest.schema.json +12 -1
  243. package/generated/ControlTrustListResponse.schema.json +6 -0
  244. package/generated/ControlTrustState.schema.json +6 -0
  245. package/generated/ControlTrustUpdateRequest.schema.json +65 -3
  246. package/generated/ControlUploadCreateRequest.schema.json +37 -0
  247. package/generated/ControlUploadFinalizeRequest.schema.json +17 -0
  248. package/generated/ControlUploadStatus.schema.json +40 -0
  249. package/generated/CredentialProfile.schema.json +78 -0
  250. package/generated/CredentialProfileStatus.schema.json +61 -0
  251. package/generated/DecisionRecord.schema.json +6 -3
  252. package/generated/GlobalConfig.schema.json +238 -55
  253. package/generated/HarnessEvent.schema.json +259 -11
  254. package/generated/HarnessManifest.schema.json +96 -14
  255. package/generated/HarnessModel.schema.json +19 -0
  256. package/generated/HarnessStatusDto.schema.json +198 -14
  257. package/generated/OrchestrateContract.schema.json +32 -6
  258. package/generated/OrchestratePlan.schema.json +20 -0
  259. package/generated/OrchestratePlanProgress.schema.json +61 -0
  260. package/generated/PaidBudget.schema.json +42 -0
  261. package/generated/Project.schema.json +45 -0
  262. package/generated/ProjectConfig.schema.json +45 -18
  263. package/generated/RawContextPacket.schema.json +184 -0
  264. package/generated/RawGitPatchEnvelope.schema.json +70 -0
  265. package/generated/RunEvent.schema.json +3 -0
  266. package/generated/RunTelemetry.schema.json +280 -0
  267. package/generated/SecretMetadata.schema.json +4 -7
  268. package/generated/Session.schema.json +14 -0
  269. package/generated/SpecPack.schema.json +118 -7
  270. package/generated/TaskContract.schema.json +224 -30
  271. package/generated/TestCommandInvocation.schema.json +45 -0
  272. package/generated/Thread.schema.json +74 -6
  273. package/generated/ThreadHeadPing.schema.json +40 -0
  274. package/generated/ThreadTurn.schema.json +24 -11
  275. package/generated/TrustConfig.schema.json +77 -0
  276. package/package.json +3 -2
  277. package/generated/ControlSetupJobConfirmRequest.schema.json +0 -18
  278. package/generated/ControlSpecFreezeRequest.schema.json +0 -83
@@ -12,14 +12,76 @@
12
12
  "allowFullAccess": {
13
13
  "type": "boolean",
14
14
  "description": "Grant (true) or revoke (false) unsandboxed full access for the repo."
15
+ },
16
+ "accessDefault": {
17
+ "type": "string",
18
+ "enum": [
19
+ "readonly",
20
+ "workspace_write"
21
+ ],
22
+ "description": "Default access profile for runs in the repo."
23
+ },
24
+ "grantTestCommand": {
25
+ "type": "object",
26
+ "properties": {
27
+ "program": {
28
+ "type": "string",
29
+ "minLength": 1,
30
+ "pattern": "\\S",
31
+ "description": "Executable invoked directly without an implicit shell."
32
+ },
33
+ "args": {
34
+ "type": "array",
35
+ "items": {
36
+ "type": "string"
37
+ },
38
+ "default": [],
39
+ "description": "Exact argv passed to the executable."
40
+ },
41
+ "cwd": {
42
+ "type": "string",
43
+ "description": "Optional project-relative working directory for the command."
44
+ },
45
+ "envAllowlist": {
46
+ "type": "array",
47
+ "items": {
48
+ "type": "string",
49
+ "minLength": 1,
50
+ "pattern": "\\S",
51
+ "description": "User-supplied string that must contain visible content, not just whitespace."
52
+ },
53
+ "default": [],
54
+ "description": "Non-secret parent environment names explicitly forwarded to the command."
55
+ }
56
+ },
57
+ "required": [
58
+ "program"
59
+ ],
60
+ "additionalProperties": false,
61
+ "description": "Typed command to grant against the current project config and executable/script bytes."
62
+ },
63
+ "grantAccessProfile": {
64
+ "type": "string",
65
+ "enum": [
66
+ "readonly",
67
+ "workspace_write",
68
+ "full",
69
+ "external_sandbox_full",
70
+ "inherit_native"
71
+ ],
72
+ "description": "Effective access profile covered by grantTestCommand; defaults to the trust default."
73
+ },
74
+ "revokeTestCommandDigest": {
75
+ "type": "string",
76
+ "minLength": 1,
77
+ "description": "Revoke grants for this canonical command digest."
15
78
  }
16
79
  },
17
80
  "required": [
18
- "repoRoot",
19
- "allowFullAccess"
81
+ "repoRoot"
20
82
  ],
21
83
  "additionalProperties": false,
22
- "description": "Narrow trust update — the only trust field the control API exposes: grant or revoke unsandboxed full access for one repo in the user-level trust file."
84
+ "description": "User-level trust update: grant/revoke full access and/or set the readonly/workspace-write default."
23
85
  }
24
86
  },
25
87
  "$schema": "http://json-schema.org/draft-07/schema#"
@@ -0,0 +1,37 @@
1
+ {
2
+ "$ref": "#/definitions/ControlUploadCreateRequest",
3
+ "definitions": {
4
+ "ControlUploadCreateRequest": {
5
+ "type": "object",
6
+ "properties": {
7
+ "kind": {
8
+ "type": "string",
9
+ "enum": [
10
+ "image",
11
+ "file"
12
+ ],
13
+ "description": "Kind of attached resource: image input or generic file bytes."
14
+ },
15
+ "mime": {
16
+ "type": "string",
17
+ "minLength": 1
18
+ },
19
+ "name": {
20
+ "type": "string",
21
+ "default": ""
22
+ },
23
+ "sizeBytes": {
24
+ "type": "integer",
25
+ "minimum": 0
26
+ }
27
+ },
28
+ "required": [
29
+ "kind",
30
+ "mime",
31
+ "sizeBytes"
32
+ ],
33
+ "additionalProperties": false
34
+ }
35
+ },
36
+ "$schema": "http://json-schema.org/draft-07/schema#"
37
+ }
@@ -0,0 +1,17 @@
1
+ {
2
+ "$ref": "#/definitions/ControlUploadFinalizeRequest",
3
+ "definitions": {
4
+ "ControlUploadFinalizeRequest": {
5
+ "type": "object",
6
+ "properties": {
7
+ "expectedSha256": {
8
+ "type": "string",
9
+ "minLength": 1,
10
+ "description": "Content hash in algo:hex form, e.g. \"sha256:abcd...\"."
11
+ }
12
+ },
13
+ "additionalProperties": false
14
+ }
15
+ },
16
+ "$schema": "http://json-schema.org/draft-07/schema#"
17
+ }
@@ -0,0 +1,40 @@
1
+ {
2
+ "$ref": "#/definitions/ControlUploadStatus",
3
+ "definitions": {
4
+ "ControlUploadStatus": {
5
+ "type": "object",
6
+ "properties": {
7
+ "uploadId": {
8
+ "type": "string",
9
+ "minLength": 1,
10
+ "description": "Non-empty identifier string."
11
+ },
12
+ "state": {
13
+ "type": "string",
14
+ "enum": [
15
+ "open",
16
+ "uploading",
17
+ "uploaded",
18
+ "cancelled"
19
+ ]
20
+ },
21
+ "receivedBytes": {
22
+ "type": "integer",
23
+ "minimum": 0
24
+ },
25
+ "expectedBytes": {
26
+ "type": "integer",
27
+ "minimum": 0
28
+ }
29
+ },
30
+ "required": [
31
+ "uploadId",
32
+ "state",
33
+ "receivedBytes",
34
+ "expectedBytes"
35
+ ],
36
+ "additionalProperties": false
37
+ }
38
+ },
39
+ "$schema": "http://json-schema.org/draft-07/schema#"
40
+ }
@@ -0,0 +1,78 @@
1
+ {
2
+ "$ref": "#/definitions/CredentialProfile",
3
+ "definitions": {
4
+ "CredentialProfile": {
5
+ "type": "object",
6
+ "properties": {
7
+ "profile_id": {
8
+ "type": "string",
9
+ "minLength": 1,
10
+ "description": "Stable user-chosen profile identifier (unique per harness)."
11
+ },
12
+ "harness_id": {
13
+ "type": "string",
14
+ "minLength": 1,
15
+ "description": "Harness family this profile belongs to."
16
+ },
17
+ "display_name": {
18
+ "type": "string",
19
+ "minLength": 1,
20
+ "description": "Human label shown wherever the profile appears."
21
+ },
22
+ "credential_kind": {
23
+ "type": "string",
24
+ "enum": [
25
+ "config_dir_login",
26
+ "oauth_token",
27
+ "api_key"
28
+ ],
29
+ "description": "Credential transport a profile isolates: a scoped vendor config-dir login, a stored OAuth token, or a stored API key."
30
+ },
31
+ "isolation_locator": {
32
+ "type": [
33
+ "string",
34
+ "null"
35
+ ],
36
+ "default": null,
37
+ "description": "Canonical absolute config-dir path for config_dir_login profiles; null for secret-ref kinds."
38
+ },
39
+ "secret_ref": {
40
+ "type": [
41
+ "string",
42
+ "null"
43
+ ],
44
+ "default": null,
45
+ "description": "Namespaced secret-store name (e.g. claude_oauth:work) for oauth_token/api_key profiles; null for config_dir_login."
46
+ },
47
+ "enabled": {
48
+ "type": "boolean",
49
+ "default": true,
50
+ "description": "Disabled profiles are never routable."
51
+ },
52
+ "created_at": {
53
+ "anyOf": [
54
+ {
55
+ "type": "string",
56
+ "minLength": 1,
57
+ "description": "ISO-8601 timestamp string."
58
+ },
59
+ {
60
+ "type": "null"
61
+ }
62
+ ],
63
+ "description": "When the profile was registered; null for hand-written config entries.",
64
+ "default": null
65
+ }
66
+ },
67
+ "required": [
68
+ "profile_id",
69
+ "harness_id",
70
+ "display_name",
71
+ "credential_kind"
72
+ ],
73
+ "additionalProperties": false,
74
+ "description": "Durable non-secret registry entry for one credential identity of one harness; secret material lives in the vendor dir or the secret store, never here."
75
+ }
76
+ },
77
+ "$schema": "http://json-schema.org/draft-07/schema#"
78
+ }
@@ -0,0 +1,61 @@
1
+ {
2
+ "$ref": "#/definitions/CredentialProfileStatus",
3
+ "definitions": {
4
+ "CredentialProfileStatus": {
5
+ "type": "object",
6
+ "properties": {
7
+ "profile_id": {
8
+ "type": "string",
9
+ "minLength": 1,
10
+ "description": "Non-empty identifier string."
11
+ },
12
+ "harness_id": {
13
+ "$ref": "#/definitions/CredentialProfileStatus/properties/profile_id"
14
+ },
15
+ "availability": {
16
+ "type": "string",
17
+ "enum": [
18
+ "available",
19
+ "unavailable",
20
+ "unknown"
21
+ ]
22
+ },
23
+ "verification": {
24
+ "type": "string",
25
+ "enum": [
26
+ "passed",
27
+ "failed",
28
+ "not_run"
29
+ ]
30
+ },
31
+ "detail": {
32
+ "type": "string",
33
+ "description": "Redacted human-readable probe evidence."
34
+ },
35
+ "last_verified_at": {
36
+ "anyOf": [
37
+ {
38
+ "type": "string",
39
+ "minLength": 1,
40
+ "description": "ISO-8601 timestamp string."
41
+ },
42
+ {
43
+ "type": "null"
44
+ }
45
+ ],
46
+ "description": "When a probe last verified this profile; null = never verified.",
47
+ "default": null
48
+ }
49
+ },
50
+ "required": [
51
+ "profile_id",
52
+ "harness_id",
53
+ "availability",
54
+ "verification"
55
+ ],
56
+ "additionalProperties": false,
57
+ "description": "Doctor-owned readiness projection for one credential profile; never durable config."
58
+ }
59
+ },
60
+ "$schema": "http://json-schema.org/draft-07/schema#"
61
+ }
@@ -25,13 +25,16 @@
25
25
  "ungated",
26
26
  "review_not_run",
27
27
  "blocked",
28
- "not_converged",
29
- "stuck_no_progress",
30
28
  "failed",
29
+ "interrupted_unknown",
30
+ "cost_unverifiable",
31
+ "exhausted_overshoot",
31
32
  "exhausted",
33
+ "not_converged",
34
+ "stuck_no_progress",
32
35
  "cancelled"
33
36
  ],
34
- "description": "Terminal status of a run: success, no_op (nothing to change), ungated (no gates configured), review_not_run, blocked (accepted blocking findings), not_converged, stuck_no_progress, failed, exhausted (attempt/budget caps), or cancelled."
37
+ "description": "Terminal status of a run, including truthful blocked, interrupted-unknown, cost-unverifiable, overshoot, exhaustion, non-convergence, failure, and cancellation outcomes."
35
38
  },
36
39
  "outcome": {
37
40
  "type": "string",