devcontour-harness 0.0.0-stage → 0.1.0-alpha.6

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 (390) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +183 -2
  3. package/docs/architecture.md +473 -0
  4. package/docs/compatibility-versions.md +56 -0
  5. package/docs/compatibility.md +192 -0
  6. package/docs/connectors.md +323 -0
  7. package/docs/contracts.md +603 -0
  8. package/docs/integrations/hindsight.md +148 -0
  9. package/docs/quickstart.md +182 -0
  10. package/docs/release-notes/0.1.0-alpha.6.md +238 -0
  11. package/docs/review-probes.md +120 -0
  12. package/docs/review-protocol.md +251 -0
  13. package/docs/toolchains.md +167 -0
  14. package/docs/turbo-starter.md +269 -0
  15. package/docs/upgrade.md +202 -0
  16. package/examples/README.md +27 -0
  17. package/examples/external-connector/README.md +19 -0
  18. package/examples/external-connector/connector.mjs +55 -0
  19. package/examples/files-only/README.md +28 -0
  20. package/examples/files-only/context/norms/rules.md +4 -0
  21. package/examples/files-only/graph.json +23 -0
  22. package/examples/files-only/policy.json +30 -0
  23. package/examples/one-vendor/README.md +19 -0
  24. package/examples/one-vendor/policy.json +27 -0
  25. package/examples/single-task/README.md +18 -0
  26. package/examples/single-task/graph.json +27 -0
  27. package/examples/single-task/policy-same-vendor.json +55 -0
  28. package/examples/single-task/policy.json +52 -0
  29. package/examples/single-task/src/.gitkeep +0 -0
  30. package/examples/single-task/test/run.js +19 -0
  31. package/examples/toolchains/README.md +32 -0
  32. package/examples/toolchains/go/bad/label/label.go +9 -0
  33. package/examples/toolchains/go/good/label/label.go +9 -0
  34. package/examples/toolchains/go/policy.json +79 -0
  35. package/examples/toolchains/go/repo/REQUIREMENTS.md +9 -0
  36. package/examples/toolchains/go/repo/_gitignore +1 -0
  37. package/examples/toolchains/go/repo/go.mod +5 -0
  38. package/examples/toolchains/go/repo/go.sum +2 -0
  39. package/examples/toolchains/go/repo/label/label.go +9 -0
  40. package/examples/toolchains/go/repo/label/label_test.go +27 -0
  41. package/examples/toolchains/go/repo/label/version.go +9 -0
  42. package/examples/toolchains/go/task.json +25 -0
  43. package/examples/toolchains/mixed-go/bad/backend/label/label.go +9 -0
  44. package/examples/toolchains/mixed-go/bad/frontend/src/label.js +4 -0
  45. package/examples/toolchains/mixed-go/good/backend/label/label.go +9 -0
  46. package/examples/toolchains/mixed-go/good/frontend/src/label.js +4 -0
  47. package/examples/toolchains/mixed-go/policy.json +126 -0
  48. package/examples/toolchains/mixed-go/repo/REQUIREMENTS.md +9 -0
  49. package/examples/toolchains/mixed-go/repo/_gitignore +6 -0
  50. package/examples/toolchains/mixed-go/repo/backend/go.mod +3 -0
  51. package/examples/toolchains/mixed-go/repo/backend/label/label.go +9 -0
  52. package/examples/toolchains/mixed-go/repo/backend/label/label_test.go +30 -0
  53. package/examples/toolchains/mixed-go/repo/contract/check.mjs +17 -0
  54. package/examples/toolchains/mixed-go/repo/contract/label.json +9 -0
  55. package/examples/toolchains/mixed-go/repo/frontend/package.json +15 -0
  56. package/examples/toolchains/mixed-go/repo/frontend/pnpm-lock.yaml +22 -0
  57. package/examples/toolchains/mixed-go/repo/frontend/src/label.js +4 -0
  58. package/examples/toolchains/mixed-go/repo/frontend/test/label.test.js +11 -0
  59. package/examples/toolchains/mixed-go/task.json +25 -0
  60. package/examples/toolchains/mixed-python/bad/backend/src/fx_backend/__init__.py +6 -0
  61. package/examples/toolchains/mixed-python/bad/frontend/src/label.js +4 -0
  62. package/examples/toolchains/mixed-python/good/backend/src/fx_backend/__init__.py +6 -0
  63. package/examples/toolchains/mixed-python/good/frontend/src/label.js +4 -0
  64. package/examples/toolchains/mixed-python/policy.json +121 -0
  65. package/examples/toolchains/mixed-python/repo/REQUIREMENTS.md +9 -0
  66. package/examples/toolchains/mixed-python/repo/_gitignore +6 -0
  67. package/examples/toolchains/mixed-python/repo/backend/.python-version +1 -0
  68. package/examples/toolchains/mixed-python/repo/backend/pyproject.toml +19 -0
  69. package/examples/toolchains/mixed-python/repo/backend/src/fx_backend/__init__.py +6 -0
  70. package/examples/toolchains/mixed-python/repo/backend/tests/test_label.py +11 -0
  71. package/examples/toolchains/mixed-python/repo/backend/uv.lock +108 -0
  72. package/examples/toolchains/mixed-python/repo/contract/check.mjs +17 -0
  73. package/examples/toolchains/mixed-python/repo/contract/label.json +9 -0
  74. package/examples/toolchains/mixed-python/repo/frontend/package.json +15 -0
  75. package/examples/toolchains/mixed-python/repo/frontend/pnpm-lock.yaml +22 -0
  76. package/examples/toolchains/mixed-python/repo/frontend/src/label.js +4 -0
  77. package/examples/toolchains/mixed-python/repo/frontend/test/label.test.js +11 -0
  78. package/examples/toolchains/mixed-python/task.json +25 -0
  79. package/examples/toolchains/npm/bad/src/label.js +4 -0
  80. package/examples/toolchains/npm/good/src/label.js +4 -0
  81. package/examples/toolchains/npm/policy.json +82 -0
  82. package/examples/toolchains/npm/repo/REQUIREMENTS.md +9 -0
  83. package/examples/toolchains/npm/repo/_gitignore +4 -0
  84. package/examples/toolchains/npm/repo/package-lock.json +22 -0
  85. package/examples/toolchains/npm/repo/package.json +13 -0
  86. package/examples/toolchains/npm/repo/src/label.js +4 -0
  87. package/examples/toolchains/npm/repo/test/label.test.js +13 -0
  88. package/examples/toolchains/npm/task.json +25 -0
  89. package/examples/toolchains/pnpm/bad/packages/label/src/label.js +4 -0
  90. package/examples/toolchains/pnpm/good/packages/label/src/label.js +4 -0
  91. package/examples/toolchains/pnpm/policy.json +85 -0
  92. package/examples/toolchains/pnpm/repo/REQUIREMENTS.md +9 -0
  93. package/examples/toolchains/pnpm/repo/_gitignore +4 -0
  94. package/examples/toolchains/pnpm/repo/package.json +10 -0
  95. package/examples/toolchains/pnpm/repo/packages/checker/check.mjs +5 -0
  96. package/examples/toolchains/pnpm/repo/packages/checker/package.json +9 -0
  97. package/examples/toolchains/pnpm/repo/packages/label/package.json +14 -0
  98. package/examples/toolchains/pnpm/repo/packages/label/src/label.js +4 -0
  99. package/examples/toolchains/pnpm/repo/packages/label/test/label.test.js +13 -0
  100. package/examples/toolchains/pnpm/repo/pnpm-lock.yaml +29 -0
  101. package/examples/toolchains/pnpm/repo/pnpm-workspace.yaml +2 -0
  102. package/examples/toolchains/pnpm/task.json +25 -0
  103. package/examples/toolchains/python/bad/src/fx_label/__init__.py +6 -0
  104. package/examples/toolchains/python/good/src/fx_label/__init__.py +6 -0
  105. package/examples/toolchains/python/policy.json +80 -0
  106. package/examples/toolchains/python/repo/.python-version +1 -0
  107. package/examples/toolchains/python/repo/REQUIREMENTS.md +9 -0
  108. package/examples/toolchains/python/repo/_gitignore +5 -0
  109. package/examples/toolchains/python/repo/pyproject.toml +19 -0
  110. package/examples/toolchains/python/repo/src/fx_label/__init__.py +6 -0
  111. package/examples/toolchains/python/repo/tests/test_label.py +13 -0
  112. package/examples/toolchains/python/repo/uv.lock +108 -0
  113. package/examples/toolchains/python/task.json +25 -0
  114. package/examples/toolchains/turbo/bad/packages/label/src/label.js +4 -0
  115. package/examples/toolchains/turbo/good/packages/label/src/label.js +4 -0
  116. package/examples/toolchains/turbo/policy.json +110 -0
  117. package/examples/toolchains/turbo/repo/REQUIREMENTS.md +9 -0
  118. package/examples/toolchains/turbo/repo/_gitignore +4 -0
  119. package/examples/toolchains/turbo/repo/package.json +13 -0
  120. package/examples/toolchains/turbo/repo/packages/checker/check.mjs +5 -0
  121. package/examples/toolchains/turbo/repo/packages/checker/package.json +9 -0
  122. package/examples/toolchains/turbo/repo/packages/label/package.json +14 -0
  123. package/examples/toolchains/turbo/repo/packages/label/src/label.js +4 -0
  124. package/examples/toolchains/turbo/repo/packages/label/test/label.test.js +13 -0
  125. package/examples/toolchains/turbo/repo/pnpm-lock.yaml +94 -0
  126. package/examples/toolchains/turbo/repo/pnpm-workspace.yaml +2 -0
  127. package/examples/toolchains/turbo/repo/turbo.json +7 -0
  128. package/examples/toolchains/turbo/task.json +25 -0
  129. package/examples/turbo-starter/README.md +16 -0
  130. package/examples/turbo-starter/changes/issued-at-consumer-only.patch +12 -0
  131. package/examples/turbo-starter/changes/issued-at.patch +130 -0
  132. package/examples/turbo-starter/cleanup.mjs +58 -0
  133. package/examples/turbo-starter/graph.json +32 -0
  134. package/examples/turbo-starter/harness/acceptance/db-isolation.test.mjs +97 -0
  135. package/examples/turbo-starter/harness/acceptance/env-probe.test.mjs +75 -0
  136. package/examples/turbo-starter/harness/acceptance/generation.test.mjs +54 -0
  137. package/examples/turbo-starter/harness/acceptance/issued-at.test.mjs +43 -0
  138. package/examples/turbo-starter/harness/acceptance/lifecycle-probe.test.mjs +47 -0
  139. package/examples/turbo-starter/harness/compose-bridge.mjs +593 -0
  140. package/examples/turbo-starter/harness/compose.acceptance.yml +23 -0
  141. package/examples/turbo-starter/harness/env/backend.env.template +7 -0
  142. package/examples/turbo-starter/harness/env/compose.env.template +6 -0
  143. package/examples/turbo-starter/policy.json +109 -0
  144. package/examples/turbo-starter/policy.lifecycle.json +114 -0
  145. package/examples/turbo-starter/setup.mjs +352 -0
  146. package/examples/two-vendors/policy.json +30 -0
  147. package/lib/agents/cli-adapter.d.ts +48 -0
  148. package/lib/agents/cli-adapter.js +386 -0
  149. package/lib/agents/inspect.d.ts +6 -0
  150. package/lib/agents/inspect.js +46 -0
  151. package/lib/agents/probe-server.d.ts +2 -0
  152. package/lib/agents/probe-server.js +13 -0
  153. package/lib/agents/review-probe.d.ts +295 -0
  154. package/lib/agents/review-probe.js +872 -0
  155. package/lib/agents/runtime-events.d.ts +11 -0
  156. package/lib/agents/runtime-events.js +21 -0
  157. package/lib/agents/schemas.d.ts +217 -0
  158. package/lib/agents/schemas.js +124 -0
  159. package/lib/agents/usage.d.ts +8 -0
  160. package/lib/agents/usage.js +83 -0
  161. package/lib/cli.d.ts +2 -0
  162. package/lib/cli.js +491 -0
  163. package/lib/connectors/files.d.ts +108 -0
  164. package/lib/connectors/files.js +133 -0
  165. package/lib/contracts/checks.d.ts +307 -0
  166. package/lib/contracts/checks.js +181 -0
  167. package/lib/contracts/cli.d.ts +3895 -0
  168. package/lib/contracts/cli.js +664 -0
  169. package/lib/contracts/context.d.ts +135 -0
  170. package/lib/contracts/context.js +129 -0
  171. package/lib/contracts/digest.d.ts +9 -0
  172. package/lib/contracts/digest.js +22 -0
  173. package/lib/contracts/errors.d.ts +81 -0
  174. package/lib/contracts/errors.js +70 -0
  175. package/lib/contracts/events.d.ts +827 -0
  176. package/lib/contracts/events.js +258 -0
  177. package/lib/contracts/execution.d.ts +3216 -0
  178. package/lib/contracts/execution.js +872 -0
  179. package/lib/contracts/failure.d.ts +67 -0
  180. package/lib/contracts/failure.js +127 -0
  181. package/lib/contracts/index.d.ts +18 -0
  182. package/lib/contracts/index.js +18 -0
  183. package/lib/contracts/policy.d.ts +1080 -0
  184. package/lib/contracts/policy.js +544 -0
  185. package/lib/contracts/ports.d.ts +417 -0
  186. package/lib/contracts/ports.js +1 -0
  187. package/lib/contracts/primitives.d.ts +63 -0
  188. package/lib/contracts/primitives.js +73 -0
  189. package/lib/contracts/profiles.d.ts +336 -0
  190. package/lib/contracts/profiles.js +109 -0
  191. package/lib/contracts/published.d.ts +3237 -0
  192. package/lib/contracts/published.js +34 -0
  193. package/lib/contracts/result.d.ts +1280 -0
  194. package/lib/contracts/result.js +311 -0
  195. package/lib/contracts/review.d.ts +441 -0
  196. package/lib/contracts/review.js +477 -0
  197. package/lib/contracts/toolchain.d.ts +96 -0
  198. package/lib/contracts/toolchain.js +89 -0
  199. package/lib/contracts/version.d.ts +17 -0
  200. package/lib/contracts/version.js +17 -0
  201. package/lib/contracts/work.d.ts +173 -0
  202. package/lib/contracts/work.js +178 -0
  203. package/lib/control/base-move.d.ts +44 -0
  204. package/lib/control/base-move.js +90 -0
  205. package/lib/control/doctor.d.ts +50 -0
  206. package/lib/control/doctor.js +113 -0
  207. package/lib/control/harness.d.ts +1125 -0
  208. package/lib/control/harness.js +741 -0
  209. package/lib/control/provenance.d.ts +17 -0
  210. package/lib/control/provenance.js +25 -0
  211. package/lib/control/recovery.d.ts +237 -0
  212. package/lib/control/recovery.js +236 -0
  213. package/lib/control/review.d.ts +62 -0
  214. package/lib/control/review.js +178 -0
  215. package/lib/control/workflow.d.ts +247 -0
  216. package/lib/control/workflow.js +259 -0
  217. package/lib/engine/budget.d.ts +345 -0
  218. package/lib/engine/budget.js +278 -0
  219. package/lib/engine/classify.d.ts +8 -0
  220. package/lib/engine/classify.js +32 -0
  221. package/lib/engine/engine.d.ts +1527 -0
  222. package/lib/engine/engine.js +2259 -0
  223. package/lib/engine/failure.d.ts +1 -0
  224. package/lib/engine/failure.js +3 -0
  225. package/lib/engine/joint-runner.d.ts +257 -0
  226. package/lib/engine/joint-runner.js +254 -0
  227. package/lib/engine/measured.d.ts +15 -0
  228. package/lib/engine/measured.js +82 -0
  229. package/lib/engine/prompt.d.ts +66 -0
  230. package/lib/engine/prompt.js +131 -0
  231. package/lib/engine/property-recovery.d.ts +50 -0
  232. package/lib/engine/property-recovery.js +171 -0
  233. package/lib/engine/repair.d.ts +33 -0
  234. package/lib/engine/repair.js +82 -0
  235. package/lib/engine/result.d.ts +9 -0
  236. package/lib/engine/result.js +218 -0
  237. package/lib/engine/reuse.d.ts +80 -0
  238. package/lib/engine/reuse.js +102 -0
  239. package/lib/engine/runner.d.ts +360 -0
  240. package/lib/engine/runner.js +1836 -0
  241. package/lib/engine/standalone.d.ts +6 -0
  242. package/lib/engine/standalone.js +48 -0
  243. package/lib/engine/usage.d.ts +87 -0
  244. package/lib/engine/usage.js +165 -0
  245. package/lib/environment/isolation.d.ts +110 -0
  246. package/lib/environment/isolation.js +238 -0
  247. package/lib/environment/lifecycle.d.ts +40 -0
  248. package/lib/environment/lifecycle.js +197 -0
  249. package/lib/environment/live-calls.d.ts +14 -0
  250. package/lib/environment/live-calls.js +73 -0
  251. package/lib/environment/os-tools.d.ts +16 -0
  252. package/lib/environment/os-tools.js +35 -0
  253. package/lib/environment/process.d.ts +32 -0
  254. package/lib/environment/process.js +369 -0
  255. package/lib/environment/redaction.d.ts +22 -0
  256. package/lib/environment/redaction.js +102 -0
  257. package/lib/environment/resources.d.ts +31 -0
  258. package/lib/environment/resources.js +120 -0
  259. package/lib/index.d.ts +65 -0
  260. package/lib/index.js +67 -0
  261. package/lib/integrations/connector/commands.d.ts +358 -0
  262. package/lib/integrations/connector/commands.js +428 -0
  263. package/lib/integrations/connector/config.d.ts +215 -0
  264. package/lib/integrations/connector/config.js +214 -0
  265. package/lib/integrations/connector/delivery.d.ts +107 -0
  266. package/lib/integrations/connector/delivery.js +591 -0
  267. package/lib/integrations/connector/fake.d.ts +291 -0
  268. package/lib/integrations/connector/fake.js +786 -0
  269. package/lib/integrations/connector/history.d.ts +124 -0
  270. package/lib/integrations/connector/history.js +497 -0
  271. package/lib/integrations/connector/index.d.ts +16 -0
  272. package/lib/integrations/connector/index.js +16 -0
  273. package/lib/integrations/connector/redact.d.ts +19 -0
  274. package/lib/integrations/connector/redact.js +91 -0
  275. package/lib/integrations/connector/registry.d.ts +15 -0
  276. package/lib/integrations/connector/registry.js +43 -0
  277. package/lib/integrations/connector/snapshot.d.ts +131 -0
  278. package/lib/integrations/connector/snapshot.js +422 -0
  279. package/lib/integrations/connector/source.d.ts +37 -0
  280. package/lib/integrations/connector/source.js +73 -0
  281. package/lib/integrations/connector/steps.d.ts +71 -0
  282. package/lib/integrations/connector/steps.js +188 -0
  283. package/lib/integrations/connector/store.d.ts +140 -0
  284. package/lib/integrations/connector/store.js +277 -0
  285. package/lib/integrations/connector/summary.d.ts +38 -0
  286. package/lib/integrations/connector/summary.js +59 -0
  287. package/lib/integrations/connector/testing-worker.d.ts +1 -0
  288. package/lib/integrations/connector/testing-worker.js +81 -0
  289. package/lib/integrations/connector/testing.d.ts +205 -0
  290. package/lib/integrations/connector/testing.js +1615 -0
  291. package/lib/integrations/connector/transport.d.ts +240 -0
  292. package/lib/integrations/connector/transport.js +28 -0
  293. package/lib/integrations/memory/context.d.ts +120 -0
  294. package/lib/integrations/memory/context.js +239 -0
  295. package/lib/integrations/memory/index.d.ts +8 -0
  296. package/lib/integrations/memory/index.js +8 -0
  297. package/lib/integrations/memory/provider.d.ts +79 -0
  298. package/lib/integrations/memory/provider.js +22 -0
  299. package/lib/integrations/memory/sink.d.ts +56 -0
  300. package/lib/integrations/memory/sink.js +116 -0
  301. package/lib/integrations/memory/testing.d.ts +44 -0
  302. package/lib/integrations/memory/testing.js +61 -0
  303. package/lib/integrations/relay-v1/index.d.ts +122 -0
  304. package/lib/integrations/relay-v1/index.js +860 -0
  305. package/lib/integrations/relay-v2/index.d.ts +145 -0
  306. package/lib/integrations/relay-v2/index.js +752 -0
  307. package/lib/integrations/relay-v2/process.d.ts +32 -0
  308. package/lib/integrations/relay-v2/process.js +112 -0
  309. package/lib/integrations/relay-v2/protocol.d.ts +172 -0
  310. package/lib/integrations/relay-v2/protocol.js +142 -0
  311. package/lib/package.d.ts +2 -0
  312. package/lib/package.js +3 -0
  313. package/lib/profiles/resolve.d.ts +190 -0
  314. package/lib/profiles/resolve.js +273 -0
  315. package/lib/storage/document.d.ts +1234 -0
  316. package/lib/storage/document.js +80 -0
  317. package/lib/storage/sqlite.d.ts +35 -0
  318. package/lib/storage/sqlite.js +260 -0
  319. package/lib/testing/index.d.ts +5 -0
  320. package/lib/testing/index.js +5 -0
  321. package/lib/testing/store-contract.d.ts +8 -0
  322. package/lib/testing/store-contract.js +167 -0
  323. package/lib/toolchains/index.d.ts +9 -0
  324. package/lib/toolchains/index.js +9 -0
  325. package/lib/toolchains/inspect.d.ts +105 -0
  326. package/lib/toolchains/inspect.js +831 -0
  327. package/lib/toolchains/manifests.d.ts +67 -0
  328. package/lib/toolchains/manifests.js +238 -0
  329. package/lib/toolchains/probe.d.ts +28 -0
  330. package/lib/toolchains/probe.js +54 -0
  331. package/lib/toolchains/recipes.d.ts +33 -0
  332. package/lib/toolchains/recipes.js +51 -0
  333. package/lib/validate.d.ts +36 -0
  334. package/lib/validate.js +175 -0
  335. package/lib/verification/acceptance.d.ts +284 -0
  336. package/lib/verification/acceptance.js +670 -0
  337. package/lib/verification/checks.d.ts +72 -0
  338. package/lib/verification/checks.js +190 -0
  339. package/lib/verification/confirm.d.ts +125 -0
  340. package/lib/verification/confirm.js +411 -0
  341. package/lib/verification/corpus.d.ts +1303 -0
  342. package/lib/verification/corpus.js +744 -0
  343. package/lib/verification/dependencies.d.ts +66 -0
  344. package/lib/verification/dependencies.js +144 -0
  345. package/lib/verification/gates.d.ts +160 -0
  346. package/lib/verification/gates.js +600 -0
  347. package/lib/verification/joint.d.ts +63 -0
  348. package/lib/verification/joint.js +121 -0
  349. package/lib/verification/proof.d.ts +54 -0
  350. package/lib/verification/proof.js +96 -0
  351. package/lib/verification/property.d.ts +86 -0
  352. package/lib/verification/property.js +214 -0
  353. package/lib/verification/requirements.d.ts +25 -0
  354. package/lib/verification/requirements.js +69 -0
  355. package/lib/verification/self-check.d.ts +29 -0
  356. package/lib/verification/self-check.js +99 -0
  357. package/lib/verification/spike.d.ts +79 -0
  358. package/lib/verification/spike.js +124 -0
  359. package/package.json +100 -4
  360. package/profiles/expo-mobile.json +15 -0
  361. package/profiles/go-api.json +15 -0
  362. package/profiles/go-gotestsum.json +21 -0
  363. package/profiles/mobile-maestro.json +29 -0
  364. package/profiles/nest-api.json +26 -0
  365. package/profiles/next-product.json +72 -0
  366. package/profiles/node-checks.json +77 -0
  367. package/profiles/npm-ci.json +22 -0
  368. package/profiles/pnpm-frozen.json +24 -0
  369. package/profiles/python-api.json +32 -0
  370. package/profiles/python-uv.json +26 -0
  371. package/profiles/react-native.json +50 -0
  372. package/profiles/react-vite-admin.json +71 -0
  373. package/schemas/context-snapshot.schema.json +231 -0
  374. package/schemas/contract-document.schema.json +385 -0
  375. package/schemas/execution-document.schema.json +3695 -0
  376. package/schemas/execution-policy.schema.json +2196 -0
  377. package/schemas/joint-verification.schema.json +617 -0
  378. package/schemas/result-envelope.schema.json +1652 -0
  379. package/schemas/review-record.schema.json +177 -0
  380. package/schemas/run-event.schema.json +2458 -0
  381. package/schemas/run-result.schema.json +1570 -0
  382. package/schemas/stack-profile.schema.json +535 -0
  383. package/schemas/work-graph.schema.json +381 -0
  384. package/schemas/work-order.schema.json +256 -0
  385. package/skills/harness/SKILL.md +64 -0
  386. package/templates/AGENTS.md +13 -0
  387. package/templates/controller-mode/AGENTS.controller.md +58 -0
  388. package/templates/controller-mode/README.md +44 -0
  389. package/templates/graph.json +22 -0
  390. package/templates/policy.json +28 -0
@@ -0,0 +1,3237 @@
1
+ import type { z } from 'zod';
2
+ /**
3
+ * Схемы, публикуемые как JSON Schema (`schemas/<имя>.schema.json`).
4
+ *
5
+ * JSON Schema выражает всё, что относится к одному значению: типы,
6
+ * обязательность, закрытость объектов, пределы, регулярные выражения путей
7
+ * и refs, варианты исходов. Связи *между* значениями — граф без циклов и
8
+ * неизвестных зависимостей, согласованность политики, связь поручений с
9
+ * политикой, совпадение содержимого контекста с digests — проверяют
10
+ * `graphIssues`, `policyIssues`, `crossIssues`, `contextIssues` и CLI
11
+ * `harness validate`; JSON Schema их не заменяет.
12
+ */
13
+ export declare const publishedSchemas: {
14
+ readonly 'work-order': z.ZodObject<{
15
+ apiVersion: z.ZodLiteral<"devcontour-harness/v1alpha1">;
16
+ id: z.ZodString;
17
+ source: z.ZodObject<{
18
+ connector: z.ZodString;
19
+ ref: z.ZodString;
20
+ revision: z.ZodString;
21
+ }, z.core.$strict>;
22
+ title: z.ZodString;
23
+ goal: z.ZodString;
24
+ acceptance: z.ZodArray<z.ZodString>;
25
+ role: z.ZodString;
26
+ repositoryId: z.ZodString;
27
+ relatedRepositories: z.ZodDefault<z.ZodArray<z.ZodString>>;
28
+ writeScope: z.ZodArray<z.ZodUnion<readonly [z.ZodLiteral<".">, z.ZodString]>>;
29
+ dependsOn: z.ZodDefault<z.ZodArray<z.ZodString>>;
30
+ gates: z.ZodOptional<z.ZodArray<z.ZodString>>;
31
+ consumers: z.ZodOptional<z.ZodArray<z.ZodObject<{
32
+ repositoryId: z.ZodString;
33
+ gates: z.ZodArray<z.ZodString>;
34
+ }, z.core.$strict>>>;
35
+ properties: z.ZodOptional<z.ZodArray<z.ZodString>>;
36
+ resources: z.ZodOptional<z.ZodArray<z.ZodString>>;
37
+ requirements: z.ZodDefault<z.ZodArray<z.ZodObject<{
38
+ id: z.ZodString;
39
+ source: z.ZodString;
40
+ digest: z.ZodString;
41
+ text: z.ZodString;
42
+ gate: z.ZodString;
43
+ scenario: z.ZodString;
44
+ testId: z.ZodOptional<z.ZodString>;
45
+ }, z.core.$strict>>>;
46
+ contracts: z.ZodDefault<z.ZodArray<z.ZodObject<{
47
+ id: z.ZodString;
48
+ digest: z.ZodString;
49
+ }, z.core.$strict>>>;
50
+ context: z.ZodDefault<z.ZodArray<z.ZodString>>;
51
+ }, z.core.$strict>;
52
+ readonly 'work-graph': z.ZodObject<{
53
+ apiVersion: z.ZodLiteral<"devcontour-harness/v1alpha1">;
54
+ id: z.ZodString;
55
+ source: z.ZodObject<{
56
+ connector: z.ZodString;
57
+ ref: z.ZodString;
58
+ revision: z.ZodString;
59
+ }, z.core.$strict>;
60
+ orders: z.ZodArray<z.ZodObject<{
61
+ apiVersion: z.ZodLiteral<"devcontour-harness/v1alpha1">;
62
+ id: z.ZodString;
63
+ source: z.ZodObject<{
64
+ connector: z.ZodString;
65
+ ref: z.ZodString;
66
+ revision: z.ZodString;
67
+ }, z.core.$strict>;
68
+ title: z.ZodString;
69
+ goal: z.ZodString;
70
+ acceptance: z.ZodArray<z.ZodString>;
71
+ role: z.ZodString;
72
+ repositoryId: z.ZodString;
73
+ relatedRepositories: z.ZodDefault<z.ZodArray<z.ZodString>>;
74
+ writeScope: z.ZodArray<z.ZodUnion<readonly [z.ZodLiteral<".">, z.ZodString]>>;
75
+ dependsOn: z.ZodDefault<z.ZodArray<z.ZodString>>;
76
+ gates: z.ZodOptional<z.ZodArray<z.ZodString>>;
77
+ consumers: z.ZodOptional<z.ZodArray<z.ZodObject<{
78
+ repositoryId: z.ZodString;
79
+ gates: z.ZodArray<z.ZodString>;
80
+ }, z.core.$strict>>>;
81
+ properties: z.ZodOptional<z.ZodArray<z.ZodString>>;
82
+ resources: z.ZodOptional<z.ZodArray<z.ZodString>>;
83
+ requirements: z.ZodDefault<z.ZodArray<z.ZodObject<{
84
+ id: z.ZodString;
85
+ source: z.ZodString;
86
+ digest: z.ZodString;
87
+ text: z.ZodString;
88
+ gate: z.ZodString;
89
+ scenario: z.ZodString;
90
+ testId: z.ZodOptional<z.ZodString>;
91
+ }, z.core.$strict>>>;
92
+ contracts: z.ZodDefault<z.ZodArray<z.ZodObject<{
93
+ id: z.ZodString;
94
+ digest: z.ZodString;
95
+ }, z.core.$strict>>>;
96
+ context: z.ZodDefault<z.ZodArray<z.ZodString>>;
97
+ }, z.core.$strict>>;
98
+ prerequisites: z.ZodDefault<z.ZodArray<z.ZodObject<{
99
+ id: z.ZodString;
100
+ repositoryId: z.ZodString;
101
+ resultSha: z.ZodString;
102
+ receipt: z.ZodDiscriminatedUnion<[z.ZodObject<{
103
+ kind: z.ZodLiteral<"engine">;
104
+ runId: z.ZodString;
105
+ }, z.core.$strict>, z.ZodObject<{
106
+ kind: z.ZodLiteral<"trusted">;
107
+ issuer: z.ZodString;
108
+ digest: z.ZodString;
109
+ }, z.core.$strict>], "kind">;
110
+ }, z.core.$strict>>>;
111
+ }, z.core.$strict>;
112
+ readonly 'execution-policy': z.ZodObject<{
113
+ policyVersion: z.ZodLiteral<1>;
114
+ repositories: z.ZodArray<z.ZodObject<{
115
+ id: z.ZodString;
116
+ roles: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
117
+ writer: z.ZodObject<{
118
+ runtime: z.ZodEnum<{
119
+ codex: "codex";
120
+ claude: "claude";
121
+ fixture: "fixture";
122
+ }>;
123
+ model: z.ZodOptional<z.ZodString>;
124
+ effort: z.ZodOptional<z.ZodEnum<{
125
+ low: "low";
126
+ medium: "medium";
127
+ high: "high";
128
+ xhigh: "xhigh";
129
+ }>>;
130
+ toolProfile: z.ZodOptional<z.ZodString>;
131
+ }, z.core.$strict>;
132
+ writePaths: z.ZodOptional<z.ZodArray<z.ZodString>>;
133
+ review: z.ZodOptional<z.ZodObject<{
134
+ reviewer: z.ZodObject<{
135
+ runtime: z.ZodEnum<{
136
+ codex: "codex";
137
+ claude: "claude";
138
+ fixture: "fixture";
139
+ }>;
140
+ model: z.ZodOptional<z.ZodString>;
141
+ effort: z.ZodOptional<z.ZodEnum<{
142
+ low: "low";
143
+ medium: "medium";
144
+ high: "high";
145
+ xhigh: "xhigh";
146
+ }>>;
147
+ toolProfile: z.ZodOptional<z.ZodString>;
148
+ }, z.core.$strict>;
149
+ alternates: z.ZodOptional<z.ZodArray<z.ZodObject<{
150
+ runtime: z.ZodEnum<{
151
+ codex: "codex";
152
+ claude: "claude";
153
+ fixture: "fixture";
154
+ }>;
155
+ model: z.ZodOptional<z.ZodString>;
156
+ effort: z.ZodOptional<z.ZodEnum<{
157
+ low: "low";
158
+ medium: "medium";
159
+ high: "high";
160
+ xhigh: "xhigh";
161
+ }>>;
162
+ toolProfile: z.ZodOptional<z.ZodString>;
163
+ }, z.core.$strict>>>;
164
+ vendor: z.ZodDefault<z.ZodEnum<{
165
+ "different-vendor": "different-vendor";
166
+ "same-vendor-allowed": "same-vendor-allowed";
167
+ }>>;
168
+ }, z.core.$strict>>;
169
+ requiresContract: z.ZodDefault<z.ZodBoolean>;
170
+ }, z.core.$strict>>>;
171
+ review: z.ZodOptional<z.ZodObject<{
172
+ reviewer: z.ZodObject<{
173
+ runtime: z.ZodEnum<{
174
+ codex: "codex";
175
+ claude: "claude";
176
+ fixture: "fixture";
177
+ }>;
178
+ model: z.ZodOptional<z.ZodString>;
179
+ effort: z.ZodOptional<z.ZodEnum<{
180
+ low: "low";
181
+ medium: "medium";
182
+ high: "high";
183
+ xhigh: "xhigh";
184
+ }>>;
185
+ toolProfile: z.ZodOptional<z.ZodString>;
186
+ }, z.core.$strict>;
187
+ alternates: z.ZodOptional<z.ZodArray<z.ZodObject<{
188
+ runtime: z.ZodEnum<{
189
+ codex: "codex";
190
+ claude: "claude";
191
+ fixture: "fixture";
192
+ }>;
193
+ model: z.ZodOptional<z.ZodString>;
194
+ effort: z.ZodOptional<z.ZodEnum<{
195
+ low: "low";
196
+ medium: "medium";
197
+ high: "high";
198
+ xhigh: "xhigh";
199
+ }>>;
200
+ toolProfile: z.ZodOptional<z.ZodString>;
201
+ }, z.core.$strict>>>;
202
+ vendor: z.ZodDefault<z.ZodEnum<{
203
+ "different-vendor": "different-vendor";
204
+ "same-vendor-allowed": "same-vendor-allowed";
205
+ }>>;
206
+ }, z.core.$strict>>;
207
+ path: z.ZodString;
208
+ kind: z.ZodDefault<z.ZodEnum<{
209
+ product: "product";
210
+ library: "library";
211
+ }>>;
212
+ targetRef: z.ZodString;
213
+ dependsOn: z.ZodDefault<z.ZodArray<z.ZodString>>;
214
+ gates: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
215
+ kind: z.ZodLiteral<"test">;
216
+ report: z.ZodObject<{
217
+ type: z.ZodLiteral<"junit">;
218
+ path: z.ZodString;
219
+ }, z.core.$strict>;
220
+ id: z.ZodString;
221
+ command: z.ZodArray<z.ZodString>;
222
+ timeoutMs: z.ZodDefault<z.ZodNumber>;
223
+ property: z.ZodOptional<z.ZodObject<{
224
+ path: z.ZodOptional<z.ZodString>;
225
+ }, z.core.$strict>>;
226
+ dependsOn: z.ZodOptional<z.ZodArray<z.ZodString>>;
227
+ cwd: z.ZodOptional<z.ZodString>;
228
+ resources: z.ZodOptional<z.ZodArray<z.ZodString>>;
229
+ }, z.core.$strict>, z.ZodObject<{
230
+ kind: z.ZodLiteral<"check">;
231
+ report: z.ZodOptional<z.ZodObject<{
232
+ type: z.ZodLiteral<"junit">;
233
+ path: z.ZodString;
234
+ }, z.core.$strict>>;
235
+ id: z.ZodString;
236
+ command: z.ZodArray<z.ZodString>;
237
+ timeoutMs: z.ZodDefault<z.ZodNumber>;
238
+ property: z.ZodOptional<z.ZodObject<{
239
+ path: z.ZodOptional<z.ZodString>;
240
+ }, z.core.$strict>>;
241
+ dependsOn: z.ZodOptional<z.ZodArray<z.ZodString>>;
242
+ cwd: z.ZodOptional<z.ZodString>;
243
+ resources: z.ZodOptional<z.ZodArray<z.ZodString>>;
244
+ }, z.core.$strict>], "kind">>;
245
+ gateGroups: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString>>>;
246
+ protectedPaths: z.ZodDefault<z.ZodArray<z.ZodString>>;
247
+ generatedPaths: z.ZodDefault<z.ZodArray<z.ZodString>>;
248
+ environment: z.ZodOptional<z.ZodObject<{
249
+ inherit: z.ZodDefault<z.ZodArray<z.ZodString>>;
250
+ values: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
251
+ secrets: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
252
+ }, z.core.$strict>>;
253
+ lifecycle: z.ZodOptional<z.ZodObject<{
254
+ setup: z.ZodDefault<z.ZodArray<z.ZodObject<{
255
+ id: z.ZodString;
256
+ command: z.ZodArray<z.ZodString>;
257
+ timeoutMs: z.ZodDefault<z.ZodNumber>;
258
+ }, z.core.$strict>>>;
259
+ ready: z.ZodDefault<z.ZodArray<z.ZodObject<{
260
+ id: z.ZodString;
261
+ command: z.ZodArray<z.ZodString>;
262
+ timeoutMs: z.ZodDefault<z.ZodNumber>;
263
+ }, z.core.$strict>>>;
264
+ teardown: z.ZodArray<z.ZodObject<{
265
+ id: z.ZodString;
266
+ command: z.ZodArray<z.ZodString>;
267
+ timeoutMs: z.ZodDefault<z.ZodNumber>;
268
+ }, z.core.$strict>>;
269
+ }, z.core.$strict>>;
270
+ prepare: z.ZodDefault<z.ZodArray<z.ZodObject<{
271
+ id: z.ZodString;
272
+ command: z.ZodArray<z.ZodString>;
273
+ timeoutMs: z.ZodDefault<z.ZodNumber>;
274
+ }, z.core.$strict>>>;
275
+ dependencyBuild: z.ZodDefault<z.ZodArray<z.ZodObject<{
276
+ id: z.ZodString;
277
+ command: z.ZodArray<z.ZodString>;
278
+ timeoutMs: z.ZodDefault<z.ZodNumber>;
279
+ }, z.core.$strict>>>;
280
+ dependencyArtifacts: z.ZodDefault<z.ZodArray<z.ZodString>>;
281
+ preflight: z.ZodDefault<z.ZodArray<z.ZodObject<{
282
+ id: z.ZodString;
283
+ command: z.ZodArray<z.ZodString>;
284
+ timeoutMs: z.ZodDefault<z.ZodNumber>;
285
+ }, z.core.$strict>>>;
286
+ toolchain: z.ZodOptional<z.ZodObject<{
287
+ tools: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
288
+ packageManagers: z.ZodDefault<z.ZodRecord<z.ZodUnion<readonly [z.ZodLiteral<".">, z.ZodString]>, z.ZodEnum<{
289
+ npm: "npm";
290
+ pnpm: "pnpm";
291
+ }>>>;
292
+ }, z.core.$strict>>;
293
+ }, z.core.$strict>>;
294
+ roles: z.ZodRecord<z.ZodString, z.ZodObject<{
295
+ writer: z.ZodObject<{
296
+ runtime: z.ZodEnum<{
297
+ codex: "codex";
298
+ claude: "claude";
299
+ fixture: "fixture";
300
+ }>;
301
+ model: z.ZodOptional<z.ZodString>;
302
+ effort: z.ZodOptional<z.ZodEnum<{
303
+ low: "low";
304
+ medium: "medium";
305
+ high: "high";
306
+ xhigh: "xhigh";
307
+ }>>;
308
+ toolProfile: z.ZodOptional<z.ZodString>;
309
+ }, z.core.$strict>;
310
+ writePaths: z.ZodOptional<z.ZodArray<z.ZodString>>;
311
+ review: z.ZodOptional<z.ZodObject<{
312
+ reviewer: z.ZodObject<{
313
+ runtime: z.ZodEnum<{
314
+ codex: "codex";
315
+ claude: "claude";
316
+ fixture: "fixture";
317
+ }>;
318
+ model: z.ZodOptional<z.ZodString>;
319
+ effort: z.ZodOptional<z.ZodEnum<{
320
+ low: "low";
321
+ medium: "medium";
322
+ high: "high";
323
+ xhigh: "xhigh";
324
+ }>>;
325
+ toolProfile: z.ZodOptional<z.ZodString>;
326
+ }, z.core.$strict>;
327
+ alternates: z.ZodOptional<z.ZodArray<z.ZodObject<{
328
+ runtime: z.ZodEnum<{
329
+ codex: "codex";
330
+ claude: "claude";
331
+ fixture: "fixture";
332
+ }>;
333
+ model: z.ZodOptional<z.ZodString>;
334
+ effort: z.ZodOptional<z.ZodEnum<{
335
+ low: "low";
336
+ medium: "medium";
337
+ high: "high";
338
+ xhigh: "xhigh";
339
+ }>>;
340
+ toolProfile: z.ZodOptional<z.ZodString>;
341
+ }, z.core.$strict>>>;
342
+ vendor: z.ZodDefault<z.ZodEnum<{
343
+ "different-vendor": "different-vendor";
344
+ "same-vendor-allowed": "same-vendor-allowed";
345
+ }>>;
346
+ }, z.core.$strict>>;
347
+ requiresContract: z.ZodDefault<z.ZodBoolean>;
348
+ }, z.core.$strict>>;
349
+ review: z.ZodObject<{
350
+ code: z.ZodObject<{
351
+ reviewer: z.ZodObject<{
352
+ runtime: z.ZodEnum<{
353
+ codex: "codex";
354
+ claude: "claude";
355
+ fixture: "fixture";
356
+ }>;
357
+ model: z.ZodOptional<z.ZodString>;
358
+ effort: z.ZodOptional<z.ZodEnum<{
359
+ low: "low";
360
+ medium: "medium";
361
+ high: "high";
362
+ xhigh: "xhigh";
363
+ }>>;
364
+ toolProfile: z.ZodOptional<z.ZodString>;
365
+ }, z.core.$strict>;
366
+ alternates: z.ZodOptional<z.ZodArray<z.ZodObject<{
367
+ runtime: z.ZodEnum<{
368
+ codex: "codex";
369
+ claude: "claude";
370
+ fixture: "fixture";
371
+ }>;
372
+ model: z.ZodOptional<z.ZodString>;
373
+ effort: z.ZodOptional<z.ZodEnum<{
374
+ low: "low";
375
+ medium: "medium";
376
+ high: "high";
377
+ xhigh: "xhigh";
378
+ }>>;
379
+ toolProfile: z.ZodOptional<z.ZodString>;
380
+ }, z.core.$strict>>>;
381
+ vendor: z.ZodDefault<z.ZodEnum<{
382
+ "different-vendor": "different-vendor";
383
+ "same-vendor-allowed": "same-vendor-allowed";
384
+ }>>;
385
+ }, z.core.$strict>;
386
+ plan: z.ZodObject<{
387
+ reviewer: z.ZodObject<{
388
+ runtime: z.ZodEnum<{
389
+ codex: "codex";
390
+ claude: "claude";
391
+ fixture: "fixture";
392
+ }>;
393
+ model: z.ZodOptional<z.ZodString>;
394
+ effort: z.ZodOptional<z.ZodEnum<{
395
+ low: "low";
396
+ medium: "medium";
397
+ high: "high";
398
+ xhigh: "xhigh";
399
+ }>>;
400
+ toolProfile: z.ZodOptional<z.ZodString>;
401
+ }, z.core.$strict>;
402
+ alternates: z.ZodOptional<z.ZodArray<z.ZodObject<{
403
+ runtime: z.ZodEnum<{
404
+ codex: "codex";
405
+ claude: "claude";
406
+ fixture: "fixture";
407
+ }>;
408
+ model: z.ZodOptional<z.ZodString>;
409
+ effort: z.ZodOptional<z.ZodEnum<{
410
+ low: "low";
411
+ medium: "medium";
412
+ high: "high";
413
+ xhigh: "xhigh";
414
+ }>>;
415
+ toolProfile: z.ZodOptional<z.ZodString>;
416
+ }, z.core.$strict>>>;
417
+ vendor: z.ZodDefault<z.ZodEnum<{
418
+ "different-vendor": "different-vendor";
419
+ "same-vendor-allowed": "same-vendor-allowed";
420
+ }>>;
421
+ }, z.core.$strict>;
422
+ contract: z.ZodObject<{
423
+ reviewer: z.ZodObject<{
424
+ runtime: z.ZodEnum<{
425
+ codex: "codex";
426
+ claude: "claude";
427
+ fixture: "fixture";
428
+ }>;
429
+ model: z.ZodOptional<z.ZodString>;
430
+ effort: z.ZodOptional<z.ZodEnum<{
431
+ low: "low";
432
+ medium: "medium";
433
+ high: "high";
434
+ xhigh: "xhigh";
435
+ }>>;
436
+ toolProfile: z.ZodOptional<z.ZodString>;
437
+ }, z.core.$strict>;
438
+ alternates: z.ZodOptional<z.ZodArray<z.ZodObject<{
439
+ runtime: z.ZodEnum<{
440
+ codex: "codex";
441
+ claude: "claude";
442
+ fixture: "fixture";
443
+ }>;
444
+ model: z.ZodOptional<z.ZodString>;
445
+ effort: z.ZodOptional<z.ZodEnum<{
446
+ low: "low";
447
+ medium: "medium";
448
+ high: "high";
449
+ xhigh: "xhigh";
450
+ }>>;
451
+ toolProfile: z.ZodOptional<z.ZodString>;
452
+ }, z.core.$strict>>>;
453
+ vendor: z.ZodDefault<z.ZodEnum<{
454
+ "different-vendor": "different-vendor";
455
+ "same-vendor-allowed": "same-vendor-allowed";
456
+ }>>;
457
+ }, z.core.$strict>;
458
+ }, z.core.$strict>;
459
+ mode: z.ZodDefault<z.ZodEnum<{
460
+ fixture: "fixture";
461
+ live: "live";
462
+ }>>;
463
+ workspaceGates: z.ZodDefault<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
464
+ kind: z.ZodLiteral<"test">;
465
+ report: z.ZodObject<{
466
+ type: z.ZodLiteral<"junit">;
467
+ path: z.ZodString;
468
+ }, z.core.$strict>;
469
+ repositoryId: z.ZodString;
470
+ artifacts: z.ZodDefault<z.ZodArray<z.ZodString>>;
471
+ id: z.ZodString;
472
+ command: z.ZodArray<z.ZodString>;
473
+ timeoutMs: z.ZodDefault<z.ZodNumber>;
474
+ property: z.ZodOptional<z.ZodObject<{
475
+ path: z.ZodOptional<z.ZodString>;
476
+ }, z.core.$strict>>;
477
+ dependsOn: z.ZodOptional<z.ZodArray<z.ZodString>>;
478
+ cwd: z.ZodOptional<z.ZodString>;
479
+ resources: z.ZodOptional<z.ZodArray<z.ZodString>>;
480
+ }, z.core.$strict>, z.ZodObject<{
481
+ kind: z.ZodLiteral<"check">;
482
+ report: z.ZodOptional<z.ZodObject<{
483
+ type: z.ZodLiteral<"junit">;
484
+ path: z.ZodString;
485
+ }, z.core.$strict>>;
486
+ repositoryId: z.ZodString;
487
+ artifacts: z.ZodDefault<z.ZodArray<z.ZodString>>;
488
+ id: z.ZodString;
489
+ command: z.ZodArray<z.ZodString>;
490
+ timeoutMs: z.ZodDefault<z.ZodNumber>;
491
+ property: z.ZodOptional<z.ZodObject<{
492
+ path: z.ZodOptional<z.ZodString>;
493
+ }, z.core.$strict>>;
494
+ dependsOn: z.ZodOptional<z.ZodArray<z.ZodString>>;
495
+ cwd: z.ZodOptional<z.ZodString>;
496
+ resources: z.ZodOptional<z.ZodArray<z.ZodString>>;
497
+ }, z.core.$strict>], "kind">>>;
498
+ workspaceLifecycle: z.ZodOptional<z.ZodObject<{
499
+ setup: z.ZodDefault<z.ZodArray<z.ZodObject<{
500
+ id: z.ZodString;
501
+ command: z.ZodArray<z.ZodString>;
502
+ timeoutMs: z.ZodDefault<z.ZodNumber>;
503
+ }, z.core.$strict>>>;
504
+ ready: z.ZodDefault<z.ZodArray<z.ZodObject<{
505
+ id: z.ZodString;
506
+ command: z.ZodArray<z.ZodString>;
507
+ timeoutMs: z.ZodDefault<z.ZodNumber>;
508
+ }, z.core.$strict>>>;
509
+ teardown: z.ZodArray<z.ZodObject<{
510
+ id: z.ZodString;
511
+ command: z.ZodArray<z.ZodString>;
512
+ timeoutMs: z.ZodDefault<z.ZodNumber>;
513
+ }, z.core.$strict>>;
514
+ }, z.core.$strict>>;
515
+ verificationMode: z.ZodDefault<z.ZodEnum<{
516
+ all: "all";
517
+ affected: "affected";
518
+ }>>;
519
+ approvalMode: z.ZodDefault<z.ZodEnum<{
520
+ agent: "agent";
521
+ operator: "operator";
522
+ }>>;
523
+ isolation: z.ZodDefault<z.ZodObject<{
524
+ mode: z.ZodDefault<z.ZodEnum<{
525
+ os: "os";
526
+ none: "none";
527
+ }>>;
528
+ domains: z.ZodDefault<z.ZodArray<z.ZodString>>;
529
+ }, z.core.$strict>>;
530
+ toolProfiles: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
531
+ runtime: z.ZodEnum<{
532
+ codex: "codex";
533
+ claude: "claude";
534
+ }>;
535
+ environment: z.ZodOptional<z.ZodObject<{
536
+ inherit: z.ZodDefault<z.ZodArray<z.ZodString>>;
537
+ values: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
538
+ secrets: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
539
+ }, z.core.$strict>>;
540
+ mcp: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
541
+ transport: z.ZodEnum<{
542
+ stdio: "stdio";
543
+ http: "http";
544
+ }>;
545
+ command: z.ZodOptional<z.ZodString>;
546
+ args: z.ZodDefault<z.ZodArray<z.ZodString>>;
547
+ env: z.ZodDefault<z.ZodArray<z.ZodString>>;
548
+ url: z.ZodOptional<z.ZodURL>;
549
+ bearerTokenEnv: z.ZodOptional<z.ZodString>;
550
+ tools: z.ZodArray<z.ZodString>;
551
+ }, z.core.$strict>>>;
552
+ claudeTools: z.ZodOptional<z.ZodArray<z.ZodEnum<{
553
+ Read: "Read";
554
+ Glob: "Glob";
555
+ Grep: "Grep";
556
+ Edit: "Edit";
557
+ Write: "Write";
558
+ Bash: "Bash";
559
+ }>>>;
560
+ claudeAllowedTools: z.ZodDefault<z.ZodArray<z.ZodString>>;
561
+ codexShell: z.ZodDefault<z.ZodBoolean>;
562
+ codexNetwork: z.ZodDefault<z.ZodBoolean>;
563
+ }, z.core.$strict>>>;
564
+ environment: z.ZodOptional<z.ZodObject<{
565
+ inherit: z.ZodDefault<z.ZodArray<z.ZodString>>;
566
+ values: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
567
+ secrets: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
568
+ }, z.core.$strict>>;
569
+ lifecycle: z.ZodOptional<z.ZodObject<{
570
+ setup: z.ZodDefault<z.ZodArray<z.ZodObject<{
571
+ id: z.ZodString;
572
+ command: z.ZodArray<z.ZodString>;
573
+ timeoutMs: z.ZodDefault<z.ZodNumber>;
574
+ }, z.core.$strict>>>;
575
+ ready: z.ZodDefault<z.ZodArray<z.ZodObject<{
576
+ id: z.ZodString;
577
+ command: z.ZodArray<z.ZodString>;
578
+ timeoutMs: z.ZodDefault<z.ZodNumber>;
579
+ }, z.core.$strict>>>;
580
+ teardown: z.ZodArray<z.ZodObject<{
581
+ id: z.ZodString;
582
+ command: z.ZodArray<z.ZodString>;
583
+ timeoutMs: z.ZodDefault<z.ZodNumber>;
584
+ }, z.core.$strict>>;
585
+ }, z.core.$strict>>;
586
+ resources: z.ZodDefault<z.ZodArray<z.ZodObject<{
587
+ id: z.ZodString;
588
+ kind: z.ZodEnum<{
589
+ device: "device";
590
+ port: "port";
591
+ account: "account";
592
+ service: "service";
593
+ }>;
594
+ value: z.ZodString;
595
+ }, z.core.$strict>>>;
596
+ concurrency: z.ZodDefault<z.ZodNumber>;
597
+ leaseMs: z.ZodDefault<z.ZodNumber>;
598
+ runTimeoutMs: z.ZodDefault<z.ZodNumber>;
599
+ reviewProbes: z.ZodDefault<z.ZodObject<{
600
+ commandTimeoutMs: z.ZodDefault<z.ZodNumber>;
601
+ budgetMs: z.ZodDefault<z.ZodNumber>;
602
+ reserveMs: z.ZodDefault<z.ZodNumber>;
603
+ }, z.core.$strict>>;
604
+ reviewProtocolRetries: z.ZodOptional<z.ZodNumber>;
605
+ maxAttempts: z.ZodDefault<z.ZodNumber>;
606
+ repairBudget: z.ZodDefault<z.ZodNumber>;
607
+ reuseImplementation: z.ZodDefault<z.ZodBoolean>;
608
+ budgets: z.ZodOptional<z.ZodObject<{
609
+ work: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
610
+ usd: z.ZodNumber;
611
+ timeMs: z.ZodOptional<z.ZodNumber>;
612
+ }, z.core.$strict>, z.ZodObject<{
613
+ usd: z.ZodOptional<z.ZodNumber>;
614
+ timeMs: z.ZodNumber;
615
+ }, z.core.$strict>]>>;
616
+ group: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
617
+ usd: z.ZodNumber;
618
+ timeMs: z.ZodOptional<z.ZodNumber>;
619
+ }, z.core.$strict>, z.ZodObject<{
620
+ usd: z.ZodOptional<z.ZodNumber>;
621
+ timeMs: z.ZodNumber;
622
+ }, z.core.$strict>]>>;
623
+ total: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
624
+ usd: z.ZodNumber;
625
+ timeMs: z.ZodOptional<z.ZodNumber>;
626
+ }, z.core.$strict>, z.ZodObject<{
627
+ usd: z.ZodOptional<z.ZodNumber>;
628
+ timeMs: z.ZodNumber;
629
+ }, z.core.$strict>]>>;
630
+ onUnknown: z.ZodDefault<z.ZodEnum<{
631
+ stop: "stop";
632
+ continue: "continue";
633
+ }>>;
634
+ }, z.core.$strict>>;
635
+ prices: z.ZodDefault<z.ZodArray<z.ZodObject<{
636
+ runtime: z.ZodEnum<{
637
+ codex: "codex";
638
+ claude: "claude";
639
+ }>;
640
+ model: z.ZodString;
641
+ effectiveAt: z.ZodISODateTime;
642
+ input: z.ZodNumber;
643
+ output: z.ZodNumber;
644
+ cacheRead: z.ZodNumber;
645
+ cacheWrite: z.ZodNumber;
646
+ }, z.core.$strict>>>;
647
+ }, z.core.$strict>;
648
+ readonly 'context-snapshot': z.ZodObject<{
649
+ apiVersion: z.ZodLiteral<"devcontour-harness/v1alpha1">;
650
+ sources: z.ZodArray<z.ZodObject<{
651
+ id: z.ZodString;
652
+ kind: z.ZodString;
653
+ version: z.ZodString;
654
+ repositoryId: z.ZodOptional<z.ZodString>;
655
+ revision: z.ZodOptional<z.ZodString>;
656
+ required: z.ZodBoolean;
657
+ files: z.ZodArray<z.ZodObject<{
658
+ path: z.ZodString;
659
+ digest: z.ZodString;
660
+ bytes: z.ZodNumber;
661
+ content: z.ZodDiscriminatedUnion<[z.ZodObject<{
662
+ encoding: z.ZodLiteral<"utf8">;
663
+ data: z.ZodString;
664
+ }, z.core.$strict>, z.ZodObject<{
665
+ encoding: z.ZodLiteral<"base64">;
666
+ data: z.ZodString;
667
+ }, z.core.$strict>], "encoding">;
668
+ }, z.core.$strict>>;
669
+ references: z.ZodDefault<z.ZodArray<z.ZodObject<{
670
+ path: z.ZodString;
671
+ digest: z.ZodString;
672
+ bytes: z.ZodNumber;
673
+ content: z.ZodDiscriminatedUnion<[z.ZodObject<{
674
+ encoding: z.ZodLiteral<"utf8">;
675
+ data: z.ZodString;
676
+ }, z.core.$strict>, z.ZodObject<{
677
+ encoding: z.ZodLiteral<"base64">;
678
+ data: z.ZodString;
679
+ }, z.core.$strict>], "encoding">;
680
+ }, z.core.$strict>>>;
681
+ digest: z.ZodString;
682
+ hostDigest: z.ZodOptional<z.ZodString>;
683
+ }, z.core.$strict>>;
684
+ missing: z.ZodDefault<z.ZodArray<z.ZodObject<{
685
+ id: z.ZodString;
686
+ reason: z.ZodString;
687
+ }, z.core.$strict>>>;
688
+ }, z.core.$strict>;
689
+ readonly 'contract-document': z.ZodObject<{
690
+ apiVersion: z.ZodLiteral<"devcontour-harness/v1alpha1">;
691
+ id: z.ZodString;
692
+ repositoryId: z.ZodOptional<z.ZodString>;
693
+ title: z.ZodString;
694
+ content: z.ZodString;
695
+ artifacts: z.ZodOptional<z.ZodArray<z.ZodObject<{
696
+ path: z.ZodString;
697
+ blob: z.ZodString;
698
+ }, z.core.$strict>>>;
699
+ checks: z.ZodOptional<z.ZodObject<{
700
+ version: z.ZodLiteral<1>;
701
+ gate: z.ZodString;
702
+ obligations: z.ZodArray<z.ZodObject<{
703
+ property: z.ZodString;
704
+ requirements: z.ZodArray<z.ZodString>;
705
+ promise: z.ZodEnum<{
706
+ functional: "functional";
707
+ accuracy: "accuracy";
708
+ optimality: "optimality";
709
+ completeness: "completeness";
710
+ performance: "performance";
711
+ invariant: "invariant";
712
+ other: "other";
713
+ }>;
714
+ explanation: z.ZodOptional<z.ZodString>;
715
+ domain: z.ZodObject<{
716
+ inputs: z.ZodString;
717
+ bounds: z.ZodString;
718
+ units: z.ZodOptional<z.ZodString>;
719
+ invalid: z.ZodString;
720
+ }, z.core.$strict>;
721
+ answer: z.ZodObject<{
722
+ rules: z.ZodString;
723
+ ties: z.ZodOptional<z.ZodString>;
724
+ rounding: z.ZodOptional<z.ZodString>;
725
+ tolerance: z.ZodOptional<z.ZodString>;
726
+ refusals: z.ZodOptional<z.ZodString>;
727
+ }, z.core.$strict>;
728
+ method: z.ZodObject<{
729
+ kind: z.ZodEnum<{
730
+ scenario: "scenario";
731
+ invariant: "invariant";
732
+ other: "other";
733
+ oracle: "oracle";
734
+ certificate: "certificate";
735
+ analytic: "analytic";
736
+ }>;
737
+ description: z.ZodString;
738
+ applicability: z.ZodString;
739
+ artifacts: z.ZodDefault<z.ZodArray<z.ZodString>>;
740
+ }, z.core.$strict>;
741
+ coverage: z.ZodObject<{
742
+ families: z.ZodArray<z.ZodObject<{
743
+ id: z.ZodString;
744
+ kind: z.ZodEnum<{
745
+ typical: "typical";
746
+ boundary: "boundary";
747
+ adversarial: "adversarial";
748
+ }>;
749
+ description: z.ZodString;
750
+ minCases: z.ZodNumber;
751
+ }, z.core.$strict>>;
752
+ minCases: z.ZodNumber;
753
+ corpus: z.ZodDefault<z.ZodBoolean>;
754
+ }, z.core.$strict>;
755
+ resources: z.ZodObject<{
756
+ subject: z.ZodString;
757
+ oracle: z.ZodString;
758
+ benchmark: z.ZodOptional<z.ZodObject<{
759
+ method: z.ZodString;
760
+ environment: z.ZodString;
761
+ }, z.core.$strict>>;
762
+ }, z.core.$strict>;
763
+ hard: z.ZodDefault<z.ZodBoolean>;
764
+ feasibility: z.ZodOptional<z.ZodObject<{
765
+ spike: z.ZodString;
766
+ digest: z.ZodString;
767
+ }, z.core.$strict>>;
768
+ }, z.core.$strict>>;
769
+ corpus: z.ZodOptional<z.ZodObject<{
770
+ format: z.ZodString;
771
+ extensible: z.ZodBoolean;
772
+ maxCases: z.ZodDefault<z.ZodNumber>;
773
+ }, z.core.$strict>>;
774
+ }, z.core.$strict>>;
775
+ }, z.core.$strict>;
776
+ readonly 'run-result': z.ZodDiscriminatedUnion<[z.ZodObject<{
777
+ outcome: z.ZodLiteral<"accepted">;
778
+ shas: z.ZodObject<{
779
+ base: z.ZodString;
780
+ candidate: z.ZodString;
781
+ integration: z.ZodString;
782
+ result: z.ZodString;
783
+ }, z.core.$strict>;
784
+ apiVersion: z.ZodLiteral<"devcontour-harness/v1alpha1">;
785
+ workOrderId: z.ZodString;
786
+ graphId: z.ZodString;
787
+ source: z.ZodObject<{
788
+ connector: z.ZodString;
789
+ ref: z.ZodString;
790
+ revision: z.ZodString;
791
+ }, z.core.$strict>;
792
+ runId: z.ZodString;
793
+ attempt: z.ZodNumber;
794
+ repositoryId: z.ZodString;
795
+ targetRef: z.ZodString;
796
+ inputs: z.ZodObject<{
797
+ harnessVersion: z.ZodString;
798
+ consumerVersion: z.ZodOptional<z.ZodString>;
799
+ stateVersion: z.ZodLiteral<1>;
800
+ workOrderDigest: z.ZodString;
801
+ graphDigest: z.ZodString;
802
+ policyDigest: z.ZodString;
803
+ contextDigest: z.ZodOptional<z.ZodString>;
804
+ checks: z.ZodOptional<z.ZodString>;
805
+ corpus: z.ZodOptional<z.ZodObject<{
806
+ suite: z.ZodString;
807
+ number: z.ZodNumber;
808
+ digest: z.ZodString;
809
+ }, z.core.$strict>>;
810
+ requiredGates: z.ZodOptional<z.ZodArray<z.ZodString>>;
811
+ writer: z.ZodOptional<z.ZodObject<{
812
+ runtime: z.ZodEnum<{
813
+ codex: "codex";
814
+ claude: "claude";
815
+ fixture: "fixture";
816
+ }>;
817
+ model: z.ZodOptional<z.ZodString>;
818
+ }, z.core.$strict>>;
819
+ }, z.core.$strict>;
820
+ checked: z.ZodObject<{
821
+ dependencies: z.ZodArray<z.ZodObject<{
822
+ repositoryId: z.ZodString;
823
+ sha: z.ZodString;
824
+ tree: z.ZodString;
825
+ artifacts: z.ZodArray<z.ZodObject<{
826
+ path: z.ZodString;
827
+ digest: z.ZodString;
828
+ }, z.core.$strict>>;
829
+ }, z.core.$strict>>;
830
+ freshness: z.ZodArray<z.ZodObject<{
831
+ repositoryId: z.ZodString;
832
+ snapshot: z.ZodString;
833
+ head: z.ZodString;
834
+ fresh: z.ZodBoolean;
835
+ }, z.core.$strict>>;
836
+ consumers: z.ZodArray<z.ZodObject<{
837
+ repositoryId: z.ZodString;
838
+ gates: z.ZodArray<z.ZodString>;
839
+ sha: z.ZodString;
840
+ tree: z.ZodString;
841
+ dependencies: z.ZodArray<z.ZodObject<{
842
+ repositoryId: z.ZodString;
843
+ sha: z.ZodString;
844
+ tree: z.ZodString;
845
+ artifacts: z.ZodArray<z.ZodObject<{
846
+ path: z.ZodString;
847
+ digest: z.ZodString;
848
+ }, z.core.$strict>>;
849
+ }, z.core.$strict>>;
850
+ freshness: z.ZodArray<z.ZodObject<{
851
+ repositoryId: z.ZodString;
852
+ snapshot: z.ZodString;
853
+ head: z.ZodString;
854
+ fresh: z.ZodBoolean;
855
+ }, z.core.$strict>>;
856
+ }, z.core.$strict>>;
857
+ }, z.core.$strict>;
858
+ evidence: z.ZodArray<z.ZodObject<{
859
+ id: z.ZodString;
860
+ kind: z.ZodEnum<{
861
+ check: "check";
862
+ test: "test";
863
+ property: "property";
864
+ review: "review";
865
+ consumer: "consumer";
866
+ }>;
867
+ phase: z.ZodEnum<{
868
+ candidate: "candidate";
869
+ integration: "integration";
870
+ }>;
871
+ gate: z.ZodString;
872
+ sha: z.ZodString;
873
+ passed: z.ZodBoolean;
874
+ digest: z.ZodString;
875
+ summary: z.ZodString;
876
+ consumer: z.ZodOptional<z.ZodString>;
877
+ checks: z.ZodOptional<z.ZodString>;
878
+ tests: z.ZodOptional<z.ZodArray<z.ZodObject<{
879
+ id: z.ZodString;
880
+ status: z.ZodEnum<{
881
+ passed: "passed";
882
+ failed: "failed";
883
+ skipped: "skipped";
884
+ }>;
885
+ opaque: z.ZodOptional<z.ZodLiteral<true>>;
886
+ }, z.core.$strict>>>;
887
+ testsTruncated: z.ZodOptional<z.ZodBoolean>;
888
+ property: z.ZodOptional<z.ZodObject<{
889
+ level: z.ZodOptional<z.ZodEnum<{
890
+ manifest: "manifest";
891
+ legacy: "legacy";
892
+ }>>;
893
+ manifest: z.ZodOptional<z.ZodObject<{
894
+ digest: z.ZodString;
895
+ properties: z.ZodArray<z.ZodString>;
896
+ corpus: z.ZodOptional<z.ZodObject<{
897
+ digest: z.ZodString;
898
+ cases: z.ZodNumber;
899
+ }, z.core.$strict>>;
900
+ }, z.core.$strict>>;
901
+ }, z.core.$strict>>;
902
+ reviewer: z.ZodOptional<z.ZodObject<{
903
+ runtime: z.ZodEnum<{
904
+ codex: "codex";
905
+ claude: "claude";
906
+ fixture: "fixture";
907
+ }>;
908
+ model: z.ZodOptional<z.ZodString>;
909
+ sameVendor: z.ZodBoolean;
910
+ }, z.core.$strict>>;
911
+ review: z.ZodOptional<z.ZodObject<{
912
+ round: z.ZodNumber;
913
+ call: z.ZodNumber;
914
+ protocol: z.ZodEnum<{
915
+ valid: "valid";
916
+ invalid: "invalid";
917
+ unsafe: "unsafe";
918
+ }>;
919
+ issues: z.ZodOptional<z.ZodArray<z.ZodObject<{
920
+ path: z.ZodString;
921
+ reason: z.ZodString;
922
+ message: z.ZodString;
923
+ }, z.core.$strict>>>;
924
+ transitions: z.ZodOptional<z.ZodArray<z.ZodObject<{
925
+ id: z.ZodString;
926
+ from: z.ZodEnum<{
927
+ open: "open";
928
+ closed: "closed";
929
+ withdrawn: "withdrawn";
930
+ }>;
931
+ to: z.ZodEnum<{
932
+ open: "open";
933
+ closed: "closed";
934
+ withdrawn: "withdrawn";
935
+ }>;
936
+ }, z.core.$strict>>>;
937
+ }, z.core.$strict>>;
938
+ }, z.core.$strict>>;
939
+ findings: z.ZodDefault<z.ZodArray<z.ZodObject<{
940
+ severity: z.ZodString;
941
+ message: z.ZodString;
942
+ path: z.ZodOptional<z.ZodNullable<z.ZodString>>;
943
+ line: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
944
+ rule: z.ZodOptional<z.ZodString>;
945
+ id: z.ZodOptional<z.ZodString>;
946
+ status: z.ZodOptional<z.ZodEnum<{
947
+ open: "open";
948
+ closed: "closed";
949
+ withdrawn: "withdrawn";
950
+ }>>;
951
+ }, z.core.$strict>>>;
952
+ limitations: z.ZodDefault<z.ZodArray<z.ZodString>>;
953
+ finishedAt: z.ZodISODateTime;
954
+ }, z.core.$strict>, z.ZodObject<{
955
+ outcome: z.ZodEnum<{
956
+ rejected: "rejected";
957
+ blocked: "blocked";
958
+ cancelled: "cancelled";
959
+ stopped: "stopped";
960
+ }>;
961
+ shas: z.ZodObject<{
962
+ base: z.ZodOptional<z.ZodString>;
963
+ candidate: z.ZodOptional<z.ZodString>;
964
+ integration: z.ZodOptional<z.ZodString>;
965
+ }, z.core.$strict>;
966
+ stopReason: z.ZodObject<{
967
+ code: z.ZodEnum<{
968
+ INVALID_INPUT: "INVALID_INPUT";
969
+ UNSUPPORTED_COMMAND: "UNSUPPORTED_COMMAND";
970
+ UNSUPPORTED_VERSION: "UNSUPPORTED_VERSION";
971
+ GRAPH_CYCLE: "GRAPH_CYCLE";
972
+ GRAPH_UNKNOWN_DEPENDENCY: "GRAPH_UNKNOWN_DEPENDENCY";
973
+ GRAPH_DUPLICATE_ID: "GRAPH_DUPLICATE_ID";
974
+ GATE_UNKNOWN: "GATE_UNKNOWN";
975
+ GATE_GROUP_CYCLE: "GATE_GROUP_CYCLE";
976
+ REVIEWER_SAME_VENDOR: "REVIEWER_SAME_VENDOR";
977
+ REVIEWER_MISSING: "REVIEWER_MISSING";
978
+ APPROVAL_STALE: "APPROVAL_STALE";
979
+ APPROVAL_REQUIRED: "APPROVAL_REQUIRED";
980
+ LEASE_STALE: "LEASE_STALE";
981
+ CONTROLLER_BUSY: "CONTROLLER_BUSY";
982
+ PAUSED: "PAUSED";
983
+ NOT_READY: "NOT_READY";
984
+ SCOPE_VIOLATION: "SCOPE_VIOLATION";
985
+ GATE_FAILED: "GATE_FAILED";
986
+ REVIEW_REJECTED: "REVIEW_REJECTED";
987
+ BUDGET_EXHAUSTED: "BUDGET_EXHAUSTED";
988
+ BUDGET_UNKNOWN: "BUDGET_UNKNOWN";
989
+ ATTEMPTS_EXHAUSTED: "ATTEMPTS_EXHAUSTED";
990
+ REVISION_CONFLICT: "REVISION_CONFLICT";
991
+ CANCELLED: "CANCELLED";
992
+ NOT_FOUND: "NOT_FOUND";
993
+ STATE_VERSION_UNSUPPORTED: "STATE_VERSION_UNSUPPORTED";
994
+ RUNTIME_UNAVAILABLE: "RUNTIME_UNAVAILABLE";
995
+ REVIEW_PROTOCOL_INVALID: "REVIEW_PROTOCOL_INVALID";
996
+ SANDBOX_UNAVAILABLE: "SANDBOX_UNAVAILABLE";
997
+ GIT_FAILED: "GIT_FAILED";
998
+ STORAGE_FAILED: "STORAGE_FAILED";
999
+ DELIVERY_FAILED: "DELIVERY_FAILED";
1000
+ INTERNAL: "INTERNAL";
1001
+ }>;
1002
+ message: z.ZodString;
1003
+ }, z.core.$strict>;
1004
+ apiVersion: z.ZodLiteral<"devcontour-harness/v1alpha1">;
1005
+ workOrderId: z.ZodString;
1006
+ graphId: z.ZodString;
1007
+ source: z.ZodObject<{
1008
+ connector: z.ZodString;
1009
+ ref: z.ZodString;
1010
+ revision: z.ZodString;
1011
+ }, z.core.$strict>;
1012
+ runId: z.ZodString;
1013
+ attempt: z.ZodNumber;
1014
+ repositoryId: z.ZodString;
1015
+ targetRef: z.ZodString;
1016
+ inputs: z.ZodObject<{
1017
+ harnessVersion: z.ZodString;
1018
+ consumerVersion: z.ZodOptional<z.ZodString>;
1019
+ stateVersion: z.ZodLiteral<1>;
1020
+ workOrderDigest: z.ZodString;
1021
+ graphDigest: z.ZodString;
1022
+ policyDigest: z.ZodString;
1023
+ contextDigest: z.ZodOptional<z.ZodString>;
1024
+ checks: z.ZodOptional<z.ZodString>;
1025
+ corpus: z.ZodOptional<z.ZodObject<{
1026
+ suite: z.ZodString;
1027
+ number: z.ZodNumber;
1028
+ digest: z.ZodString;
1029
+ }, z.core.$strict>>;
1030
+ requiredGates: z.ZodOptional<z.ZodArray<z.ZodString>>;
1031
+ writer: z.ZodOptional<z.ZodObject<{
1032
+ runtime: z.ZodEnum<{
1033
+ codex: "codex";
1034
+ claude: "claude";
1035
+ fixture: "fixture";
1036
+ }>;
1037
+ model: z.ZodOptional<z.ZodString>;
1038
+ }, z.core.$strict>>;
1039
+ }, z.core.$strict>;
1040
+ checked: z.ZodObject<{
1041
+ dependencies: z.ZodArray<z.ZodObject<{
1042
+ repositoryId: z.ZodString;
1043
+ sha: z.ZodString;
1044
+ tree: z.ZodString;
1045
+ artifacts: z.ZodArray<z.ZodObject<{
1046
+ path: z.ZodString;
1047
+ digest: z.ZodString;
1048
+ }, z.core.$strict>>;
1049
+ }, z.core.$strict>>;
1050
+ freshness: z.ZodArray<z.ZodObject<{
1051
+ repositoryId: z.ZodString;
1052
+ snapshot: z.ZodString;
1053
+ head: z.ZodString;
1054
+ fresh: z.ZodBoolean;
1055
+ }, z.core.$strict>>;
1056
+ consumers: z.ZodArray<z.ZodObject<{
1057
+ repositoryId: z.ZodString;
1058
+ gates: z.ZodArray<z.ZodString>;
1059
+ sha: z.ZodString;
1060
+ tree: z.ZodString;
1061
+ dependencies: z.ZodArray<z.ZodObject<{
1062
+ repositoryId: z.ZodString;
1063
+ sha: z.ZodString;
1064
+ tree: z.ZodString;
1065
+ artifacts: z.ZodArray<z.ZodObject<{
1066
+ path: z.ZodString;
1067
+ digest: z.ZodString;
1068
+ }, z.core.$strict>>;
1069
+ }, z.core.$strict>>;
1070
+ freshness: z.ZodArray<z.ZodObject<{
1071
+ repositoryId: z.ZodString;
1072
+ snapshot: z.ZodString;
1073
+ head: z.ZodString;
1074
+ fresh: z.ZodBoolean;
1075
+ }, z.core.$strict>>;
1076
+ }, z.core.$strict>>;
1077
+ }, z.core.$strict>;
1078
+ evidence: z.ZodArray<z.ZodObject<{
1079
+ id: z.ZodString;
1080
+ kind: z.ZodEnum<{
1081
+ check: "check";
1082
+ test: "test";
1083
+ property: "property";
1084
+ review: "review";
1085
+ consumer: "consumer";
1086
+ }>;
1087
+ phase: z.ZodEnum<{
1088
+ candidate: "candidate";
1089
+ integration: "integration";
1090
+ }>;
1091
+ gate: z.ZodString;
1092
+ sha: z.ZodString;
1093
+ passed: z.ZodBoolean;
1094
+ digest: z.ZodString;
1095
+ summary: z.ZodString;
1096
+ consumer: z.ZodOptional<z.ZodString>;
1097
+ checks: z.ZodOptional<z.ZodString>;
1098
+ tests: z.ZodOptional<z.ZodArray<z.ZodObject<{
1099
+ id: z.ZodString;
1100
+ status: z.ZodEnum<{
1101
+ passed: "passed";
1102
+ failed: "failed";
1103
+ skipped: "skipped";
1104
+ }>;
1105
+ opaque: z.ZodOptional<z.ZodLiteral<true>>;
1106
+ }, z.core.$strict>>>;
1107
+ testsTruncated: z.ZodOptional<z.ZodBoolean>;
1108
+ property: z.ZodOptional<z.ZodObject<{
1109
+ level: z.ZodOptional<z.ZodEnum<{
1110
+ manifest: "manifest";
1111
+ legacy: "legacy";
1112
+ }>>;
1113
+ manifest: z.ZodOptional<z.ZodObject<{
1114
+ digest: z.ZodString;
1115
+ properties: z.ZodArray<z.ZodString>;
1116
+ corpus: z.ZodOptional<z.ZodObject<{
1117
+ digest: z.ZodString;
1118
+ cases: z.ZodNumber;
1119
+ }, z.core.$strict>>;
1120
+ }, z.core.$strict>>;
1121
+ }, z.core.$strict>>;
1122
+ reviewer: z.ZodOptional<z.ZodObject<{
1123
+ runtime: z.ZodEnum<{
1124
+ codex: "codex";
1125
+ claude: "claude";
1126
+ fixture: "fixture";
1127
+ }>;
1128
+ model: z.ZodOptional<z.ZodString>;
1129
+ sameVendor: z.ZodBoolean;
1130
+ }, z.core.$strict>>;
1131
+ review: z.ZodOptional<z.ZodObject<{
1132
+ round: z.ZodNumber;
1133
+ call: z.ZodNumber;
1134
+ protocol: z.ZodEnum<{
1135
+ valid: "valid";
1136
+ invalid: "invalid";
1137
+ unsafe: "unsafe";
1138
+ }>;
1139
+ issues: z.ZodOptional<z.ZodArray<z.ZodObject<{
1140
+ path: z.ZodString;
1141
+ reason: z.ZodString;
1142
+ message: z.ZodString;
1143
+ }, z.core.$strict>>>;
1144
+ transitions: z.ZodOptional<z.ZodArray<z.ZodObject<{
1145
+ id: z.ZodString;
1146
+ from: z.ZodEnum<{
1147
+ open: "open";
1148
+ closed: "closed";
1149
+ withdrawn: "withdrawn";
1150
+ }>;
1151
+ to: z.ZodEnum<{
1152
+ open: "open";
1153
+ closed: "closed";
1154
+ withdrawn: "withdrawn";
1155
+ }>;
1156
+ }, z.core.$strict>>>;
1157
+ }, z.core.$strict>>;
1158
+ }, z.core.$strict>>;
1159
+ findings: z.ZodDefault<z.ZodArray<z.ZodObject<{
1160
+ severity: z.ZodString;
1161
+ message: z.ZodString;
1162
+ path: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1163
+ line: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
1164
+ rule: z.ZodOptional<z.ZodString>;
1165
+ id: z.ZodOptional<z.ZodString>;
1166
+ status: z.ZodOptional<z.ZodEnum<{
1167
+ open: "open";
1168
+ closed: "closed";
1169
+ withdrawn: "withdrawn";
1170
+ }>>;
1171
+ }, z.core.$strict>>>;
1172
+ limitations: z.ZodDefault<z.ZodArray<z.ZodString>>;
1173
+ finishedAt: z.ZodISODateTime;
1174
+ }, z.core.$strict>], "outcome">;
1175
+ readonly 'result-envelope': z.ZodObject<{
1176
+ apiVersion: z.ZodLiteral<"devcontour-harness/v1alpha1">;
1177
+ result: z.ZodDiscriminatedUnion<[z.ZodObject<{
1178
+ outcome: z.ZodLiteral<"accepted">;
1179
+ shas: z.ZodObject<{
1180
+ base: z.ZodString;
1181
+ candidate: z.ZodString;
1182
+ integration: z.ZodString;
1183
+ result: z.ZodString;
1184
+ }, z.core.$strict>;
1185
+ apiVersion: z.ZodLiteral<"devcontour-harness/v1alpha1">;
1186
+ workOrderId: z.ZodString;
1187
+ graphId: z.ZodString;
1188
+ source: z.ZodObject<{
1189
+ connector: z.ZodString;
1190
+ ref: z.ZodString;
1191
+ revision: z.ZodString;
1192
+ }, z.core.$strict>;
1193
+ runId: z.ZodString;
1194
+ attempt: z.ZodNumber;
1195
+ repositoryId: z.ZodString;
1196
+ targetRef: z.ZodString;
1197
+ inputs: z.ZodObject<{
1198
+ harnessVersion: z.ZodString;
1199
+ consumerVersion: z.ZodOptional<z.ZodString>;
1200
+ stateVersion: z.ZodLiteral<1>;
1201
+ workOrderDigest: z.ZodString;
1202
+ graphDigest: z.ZodString;
1203
+ policyDigest: z.ZodString;
1204
+ contextDigest: z.ZodOptional<z.ZodString>;
1205
+ checks: z.ZodOptional<z.ZodString>;
1206
+ corpus: z.ZodOptional<z.ZodObject<{
1207
+ suite: z.ZodString;
1208
+ number: z.ZodNumber;
1209
+ digest: z.ZodString;
1210
+ }, z.core.$strict>>;
1211
+ requiredGates: z.ZodOptional<z.ZodArray<z.ZodString>>;
1212
+ writer: z.ZodOptional<z.ZodObject<{
1213
+ runtime: z.ZodEnum<{
1214
+ codex: "codex";
1215
+ claude: "claude";
1216
+ fixture: "fixture";
1217
+ }>;
1218
+ model: z.ZodOptional<z.ZodString>;
1219
+ }, z.core.$strict>>;
1220
+ }, z.core.$strict>;
1221
+ checked: z.ZodObject<{
1222
+ dependencies: z.ZodArray<z.ZodObject<{
1223
+ repositoryId: z.ZodString;
1224
+ sha: z.ZodString;
1225
+ tree: z.ZodString;
1226
+ artifacts: z.ZodArray<z.ZodObject<{
1227
+ path: z.ZodString;
1228
+ digest: z.ZodString;
1229
+ }, z.core.$strict>>;
1230
+ }, z.core.$strict>>;
1231
+ freshness: z.ZodArray<z.ZodObject<{
1232
+ repositoryId: z.ZodString;
1233
+ snapshot: z.ZodString;
1234
+ head: z.ZodString;
1235
+ fresh: z.ZodBoolean;
1236
+ }, z.core.$strict>>;
1237
+ consumers: z.ZodArray<z.ZodObject<{
1238
+ repositoryId: z.ZodString;
1239
+ gates: z.ZodArray<z.ZodString>;
1240
+ sha: z.ZodString;
1241
+ tree: z.ZodString;
1242
+ dependencies: z.ZodArray<z.ZodObject<{
1243
+ repositoryId: z.ZodString;
1244
+ sha: z.ZodString;
1245
+ tree: z.ZodString;
1246
+ artifacts: z.ZodArray<z.ZodObject<{
1247
+ path: z.ZodString;
1248
+ digest: z.ZodString;
1249
+ }, z.core.$strict>>;
1250
+ }, z.core.$strict>>;
1251
+ freshness: z.ZodArray<z.ZodObject<{
1252
+ repositoryId: z.ZodString;
1253
+ snapshot: z.ZodString;
1254
+ head: z.ZodString;
1255
+ fresh: z.ZodBoolean;
1256
+ }, z.core.$strict>>;
1257
+ }, z.core.$strict>>;
1258
+ }, z.core.$strict>;
1259
+ evidence: z.ZodArray<z.ZodObject<{
1260
+ id: z.ZodString;
1261
+ kind: z.ZodEnum<{
1262
+ check: "check";
1263
+ test: "test";
1264
+ property: "property";
1265
+ review: "review";
1266
+ consumer: "consumer";
1267
+ }>;
1268
+ phase: z.ZodEnum<{
1269
+ candidate: "candidate";
1270
+ integration: "integration";
1271
+ }>;
1272
+ gate: z.ZodString;
1273
+ sha: z.ZodString;
1274
+ passed: z.ZodBoolean;
1275
+ digest: z.ZodString;
1276
+ summary: z.ZodString;
1277
+ consumer: z.ZodOptional<z.ZodString>;
1278
+ checks: z.ZodOptional<z.ZodString>;
1279
+ tests: z.ZodOptional<z.ZodArray<z.ZodObject<{
1280
+ id: z.ZodString;
1281
+ status: z.ZodEnum<{
1282
+ passed: "passed";
1283
+ failed: "failed";
1284
+ skipped: "skipped";
1285
+ }>;
1286
+ opaque: z.ZodOptional<z.ZodLiteral<true>>;
1287
+ }, z.core.$strict>>>;
1288
+ testsTruncated: z.ZodOptional<z.ZodBoolean>;
1289
+ property: z.ZodOptional<z.ZodObject<{
1290
+ level: z.ZodOptional<z.ZodEnum<{
1291
+ manifest: "manifest";
1292
+ legacy: "legacy";
1293
+ }>>;
1294
+ manifest: z.ZodOptional<z.ZodObject<{
1295
+ digest: z.ZodString;
1296
+ properties: z.ZodArray<z.ZodString>;
1297
+ corpus: z.ZodOptional<z.ZodObject<{
1298
+ digest: z.ZodString;
1299
+ cases: z.ZodNumber;
1300
+ }, z.core.$strict>>;
1301
+ }, z.core.$strict>>;
1302
+ }, z.core.$strict>>;
1303
+ reviewer: z.ZodOptional<z.ZodObject<{
1304
+ runtime: z.ZodEnum<{
1305
+ codex: "codex";
1306
+ claude: "claude";
1307
+ fixture: "fixture";
1308
+ }>;
1309
+ model: z.ZodOptional<z.ZodString>;
1310
+ sameVendor: z.ZodBoolean;
1311
+ }, z.core.$strict>>;
1312
+ review: z.ZodOptional<z.ZodObject<{
1313
+ round: z.ZodNumber;
1314
+ call: z.ZodNumber;
1315
+ protocol: z.ZodEnum<{
1316
+ valid: "valid";
1317
+ invalid: "invalid";
1318
+ unsafe: "unsafe";
1319
+ }>;
1320
+ issues: z.ZodOptional<z.ZodArray<z.ZodObject<{
1321
+ path: z.ZodString;
1322
+ reason: z.ZodString;
1323
+ message: z.ZodString;
1324
+ }, z.core.$strict>>>;
1325
+ transitions: z.ZodOptional<z.ZodArray<z.ZodObject<{
1326
+ id: z.ZodString;
1327
+ from: z.ZodEnum<{
1328
+ open: "open";
1329
+ closed: "closed";
1330
+ withdrawn: "withdrawn";
1331
+ }>;
1332
+ to: z.ZodEnum<{
1333
+ open: "open";
1334
+ closed: "closed";
1335
+ withdrawn: "withdrawn";
1336
+ }>;
1337
+ }, z.core.$strict>>>;
1338
+ }, z.core.$strict>>;
1339
+ }, z.core.$strict>>;
1340
+ findings: z.ZodDefault<z.ZodArray<z.ZodObject<{
1341
+ severity: z.ZodString;
1342
+ message: z.ZodString;
1343
+ path: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1344
+ line: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
1345
+ rule: z.ZodOptional<z.ZodString>;
1346
+ id: z.ZodOptional<z.ZodString>;
1347
+ status: z.ZodOptional<z.ZodEnum<{
1348
+ open: "open";
1349
+ closed: "closed";
1350
+ withdrawn: "withdrawn";
1351
+ }>>;
1352
+ }, z.core.$strict>>>;
1353
+ limitations: z.ZodDefault<z.ZodArray<z.ZodString>>;
1354
+ finishedAt: z.ZodISODateTime;
1355
+ }, z.core.$strict>, z.ZodObject<{
1356
+ outcome: z.ZodEnum<{
1357
+ rejected: "rejected";
1358
+ blocked: "blocked";
1359
+ cancelled: "cancelled";
1360
+ stopped: "stopped";
1361
+ }>;
1362
+ shas: z.ZodObject<{
1363
+ base: z.ZodOptional<z.ZodString>;
1364
+ candidate: z.ZodOptional<z.ZodString>;
1365
+ integration: z.ZodOptional<z.ZodString>;
1366
+ }, z.core.$strict>;
1367
+ stopReason: z.ZodObject<{
1368
+ code: z.ZodEnum<{
1369
+ INVALID_INPUT: "INVALID_INPUT";
1370
+ UNSUPPORTED_COMMAND: "UNSUPPORTED_COMMAND";
1371
+ UNSUPPORTED_VERSION: "UNSUPPORTED_VERSION";
1372
+ GRAPH_CYCLE: "GRAPH_CYCLE";
1373
+ GRAPH_UNKNOWN_DEPENDENCY: "GRAPH_UNKNOWN_DEPENDENCY";
1374
+ GRAPH_DUPLICATE_ID: "GRAPH_DUPLICATE_ID";
1375
+ GATE_UNKNOWN: "GATE_UNKNOWN";
1376
+ GATE_GROUP_CYCLE: "GATE_GROUP_CYCLE";
1377
+ REVIEWER_SAME_VENDOR: "REVIEWER_SAME_VENDOR";
1378
+ REVIEWER_MISSING: "REVIEWER_MISSING";
1379
+ APPROVAL_STALE: "APPROVAL_STALE";
1380
+ APPROVAL_REQUIRED: "APPROVAL_REQUIRED";
1381
+ LEASE_STALE: "LEASE_STALE";
1382
+ CONTROLLER_BUSY: "CONTROLLER_BUSY";
1383
+ PAUSED: "PAUSED";
1384
+ NOT_READY: "NOT_READY";
1385
+ SCOPE_VIOLATION: "SCOPE_VIOLATION";
1386
+ GATE_FAILED: "GATE_FAILED";
1387
+ REVIEW_REJECTED: "REVIEW_REJECTED";
1388
+ BUDGET_EXHAUSTED: "BUDGET_EXHAUSTED";
1389
+ BUDGET_UNKNOWN: "BUDGET_UNKNOWN";
1390
+ ATTEMPTS_EXHAUSTED: "ATTEMPTS_EXHAUSTED";
1391
+ REVISION_CONFLICT: "REVISION_CONFLICT";
1392
+ CANCELLED: "CANCELLED";
1393
+ NOT_FOUND: "NOT_FOUND";
1394
+ STATE_VERSION_UNSUPPORTED: "STATE_VERSION_UNSUPPORTED";
1395
+ RUNTIME_UNAVAILABLE: "RUNTIME_UNAVAILABLE";
1396
+ REVIEW_PROTOCOL_INVALID: "REVIEW_PROTOCOL_INVALID";
1397
+ SANDBOX_UNAVAILABLE: "SANDBOX_UNAVAILABLE";
1398
+ GIT_FAILED: "GIT_FAILED";
1399
+ STORAGE_FAILED: "STORAGE_FAILED";
1400
+ DELIVERY_FAILED: "DELIVERY_FAILED";
1401
+ INTERNAL: "INTERNAL";
1402
+ }>;
1403
+ message: z.ZodString;
1404
+ }, z.core.$strict>;
1405
+ apiVersion: z.ZodLiteral<"devcontour-harness/v1alpha1">;
1406
+ workOrderId: z.ZodString;
1407
+ graphId: z.ZodString;
1408
+ source: z.ZodObject<{
1409
+ connector: z.ZodString;
1410
+ ref: z.ZodString;
1411
+ revision: z.ZodString;
1412
+ }, z.core.$strict>;
1413
+ runId: z.ZodString;
1414
+ attempt: z.ZodNumber;
1415
+ repositoryId: z.ZodString;
1416
+ targetRef: z.ZodString;
1417
+ inputs: z.ZodObject<{
1418
+ harnessVersion: z.ZodString;
1419
+ consumerVersion: z.ZodOptional<z.ZodString>;
1420
+ stateVersion: z.ZodLiteral<1>;
1421
+ workOrderDigest: z.ZodString;
1422
+ graphDigest: z.ZodString;
1423
+ policyDigest: z.ZodString;
1424
+ contextDigest: z.ZodOptional<z.ZodString>;
1425
+ checks: z.ZodOptional<z.ZodString>;
1426
+ corpus: z.ZodOptional<z.ZodObject<{
1427
+ suite: z.ZodString;
1428
+ number: z.ZodNumber;
1429
+ digest: z.ZodString;
1430
+ }, z.core.$strict>>;
1431
+ requiredGates: z.ZodOptional<z.ZodArray<z.ZodString>>;
1432
+ writer: z.ZodOptional<z.ZodObject<{
1433
+ runtime: z.ZodEnum<{
1434
+ codex: "codex";
1435
+ claude: "claude";
1436
+ fixture: "fixture";
1437
+ }>;
1438
+ model: z.ZodOptional<z.ZodString>;
1439
+ }, z.core.$strict>>;
1440
+ }, z.core.$strict>;
1441
+ checked: z.ZodObject<{
1442
+ dependencies: z.ZodArray<z.ZodObject<{
1443
+ repositoryId: z.ZodString;
1444
+ sha: z.ZodString;
1445
+ tree: z.ZodString;
1446
+ artifacts: z.ZodArray<z.ZodObject<{
1447
+ path: z.ZodString;
1448
+ digest: z.ZodString;
1449
+ }, z.core.$strict>>;
1450
+ }, z.core.$strict>>;
1451
+ freshness: z.ZodArray<z.ZodObject<{
1452
+ repositoryId: z.ZodString;
1453
+ snapshot: z.ZodString;
1454
+ head: z.ZodString;
1455
+ fresh: z.ZodBoolean;
1456
+ }, z.core.$strict>>;
1457
+ consumers: z.ZodArray<z.ZodObject<{
1458
+ repositoryId: z.ZodString;
1459
+ gates: z.ZodArray<z.ZodString>;
1460
+ sha: z.ZodString;
1461
+ tree: z.ZodString;
1462
+ dependencies: z.ZodArray<z.ZodObject<{
1463
+ repositoryId: z.ZodString;
1464
+ sha: z.ZodString;
1465
+ tree: z.ZodString;
1466
+ artifacts: z.ZodArray<z.ZodObject<{
1467
+ path: z.ZodString;
1468
+ digest: z.ZodString;
1469
+ }, z.core.$strict>>;
1470
+ }, z.core.$strict>>;
1471
+ freshness: z.ZodArray<z.ZodObject<{
1472
+ repositoryId: z.ZodString;
1473
+ snapshot: z.ZodString;
1474
+ head: z.ZodString;
1475
+ fresh: z.ZodBoolean;
1476
+ }, z.core.$strict>>;
1477
+ }, z.core.$strict>>;
1478
+ }, z.core.$strict>;
1479
+ evidence: z.ZodArray<z.ZodObject<{
1480
+ id: z.ZodString;
1481
+ kind: z.ZodEnum<{
1482
+ check: "check";
1483
+ test: "test";
1484
+ property: "property";
1485
+ review: "review";
1486
+ consumer: "consumer";
1487
+ }>;
1488
+ phase: z.ZodEnum<{
1489
+ candidate: "candidate";
1490
+ integration: "integration";
1491
+ }>;
1492
+ gate: z.ZodString;
1493
+ sha: z.ZodString;
1494
+ passed: z.ZodBoolean;
1495
+ digest: z.ZodString;
1496
+ summary: z.ZodString;
1497
+ consumer: z.ZodOptional<z.ZodString>;
1498
+ checks: z.ZodOptional<z.ZodString>;
1499
+ tests: z.ZodOptional<z.ZodArray<z.ZodObject<{
1500
+ id: z.ZodString;
1501
+ status: z.ZodEnum<{
1502
+ passed: "passed";
1503
+ failed: "failed";
1504
+ skipped: "skipped";
1505
+ }>;
1506
+ opaque: z.ZodOptional<z.ZodLiteral<true>>;
1507
+ }, z.core.$strict>>>;
1508
+ testsTruncated: z.ZodOptional<z.ZodBoolean>;
1509
+ property: z.ZodOptional<z.ZodObject<{
1510
+ level: z.ZodOptional<z.ZodEnum<{
1511
+ manifest: "manifest";
1512
+ legacy: "legacy";
1513
+ }>>;
1514
+ manifest: z.ZodOptional<z.ZodObject<{
1515
+ digest: z.ZodString;
1516
+ properties: z.ZodArray<z.ZodString>;
1517
+ corpus: z.ZodOptional<z.ZodObject<{
1518
+ digest: z.ZodString;
1519
+ cases: z.ZodNumber;
1520
+ }, z.core.$strict>>;
1521
+ }, z.core.$strict>>;
1522
+ }, z.core.$strict>>;
1523
+ reviewer: z.ZodOptional<z.ZodObject<{
1524
+ runtime: z.ZodEnum<{
1525
+ codex: "codex";
1526
+ claude: "claude";
1527
+ fixture: "fixture";
1528
+ }>;
1529
+ model: z.ZodOptional<z.ZodString>;
1530
+ sameVendor: z.ZodBoolean;
1531
+ }, z.core.$strict>>;
1532
+ review: z.ZodOptional<z.ZodObject<{
1533
+ round: z.ZodNumber;
1534
+ call: z.ZodNumber;
1535
+ protocol: z.ZodEnum<{
1536
+ valid: "valid";
1537
+ invalid: "invalid";
1538
+ unsafe: "unsafe";
1539
+ }>;
1540
+ issues: z.ZodOptional<z.ZodArray<z.ZodObject<{
1541
+ path: z.ZodString;
1542
+ reason: z.ZodString;
1543
+ message: z.ZodString;
1544
+ }, z.core.$strict>>>;
1545
+ transitions: z.ZodOptional<z.ZodArray<z.ZodObject<{
1546
+ id: z.ZodString;
1547
+ from: z.ZodEnum<{
1548
+ open: "open";
1549
+ closed: "closed";
1550
+ withdrawn: "withdrawn";
1551
+ }>;
1552
+ to: z.ZodEnum<{
1553
+ open: "open";
1554
+ closed: "closed";
1555
+ withdrawn: "withdrawn";
1556
+ }>;
1557
+ }, z.core.$strict>>>;
1558
+ }, z.core.$strict>>;
1559
+ }, z.core.$strict>>;
1560
+ findings: z.ZodDefault<z.ZodArray<z.ZodObject<{
1561
+ severity: z.ZodString;
1562
+ message: z.ZodString;
1563
+ path: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1564
+ line: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
1565
+ rule: z.ZodOptional<z.ZodString>;
1566
+ id: z.ZodOptional<z.ZodString>;
1567
+ status: z.ZodOptional<z.ZodEnum<{
1568
+ open: "open";
1569
+ closed: "closed";
1570
+ withdrawn: "withdrawn";
1571
+ }>>;
1572
+ }, z.core.$strict>>>;
1573
+ limitations: z.ZodDefault<z.ZodArray<z.ZodString>>;
1574
+ finishedAt: z.ZodISODateTime;
1575
+ }, z.core.$strict>], "outcome">;
1576
+ delivery: z.ZodArray<z.ZodObject<{
1577
+ sink: z.ZodString;
1578
+ key: z.ZodString;
1579
+ revision: z.ZodString;
1580
+ status: z.ZodEnum<{
1581
+ failed: "failed";
1582
+ pending: "pending";
1583
+ delivered: "delivered";
1584
+ conflict: "conflict";
1585
+ uncertain: "uncertain";
1586
+ }>;
1587
+ attempts: z.ZodNumber;
1588
+ lastError: z.ZodOptional<z.ZodString>;
1589
+ operation: z.ZodOptional<z.ZodString>;
1590
+ currentRevision: z.ZodOptional<z.ZodString>;
1591
+ receipt: z.ZodOptional<z.ZodString>;
1592
+ updatedAt: z.ZodISODateTime;
1593
+ }, z.core.$strict>>;
1594
+ }, z.core.$strict>;
1595
+ readonly 'run-event': z.ZodDiscriminatedUnion<[z.ZodObject<{
1596
+ apiVersion: z.ZodLiteral<"devcontour-harness/v1alpha1">;
1597
+ seq: z.ZodNumber;
1598
+ at: z.ZodISODateTime;
1599
+ graphId: z.ZodOptional<z.ZodString>;
1600
+ workId: z.ZodOptional<z.ZodString>;
1601
+ runId: z.ZodOptional<z.ZodString>;
1602
+ attempt: z.ZodOptional<z.ZodNumber>;
1603
+ type: z.ZodLiteral<"graph.registered" | "graph.reviewed" | "graph.approved" | "work.ready" | "work.held" | "attempt.claimed" | "attempt.phase" | "attempt.gate" | "attempt.review" | "attempt.failed" | "attempt.expired" | "attempt.cancelled" | "attempt.recovered" | "work.accepted" | "work.blocked" | "control.paused" | "control.resumed" | "controller.acquired" | "controller.released" | "budget.blocked" | "corpus.adopted" | "work.recovery" | "joint.started" | "joint.finished" | "policy.applied" | "policy.reconfigure" | "delivery.pending" | "delivery.delivered" | "delivery.failed" | "delivery.conflict" | "delivery.uncertain">;
1604
+ payload: z.ZodObject<{
1605
+ digest: z.ZodString;
1606
+ orders: z.ZodNumber;
1607
+ source: z.ZodObject<{
1608
+ connector: z.ZodString;
1609
+ ref: z.ZodString;
1610
+ revision: z.ZodString;
1611
+ }, z.core.$strict>;
1612
+ }, z.core.$strict> | z.ZodObject<{
1613
+ kind: z.ZodEnum<{
1614
+ plan: "plan";
1615
+ contract: "contract";
1616
+ }>;
1617
+ subject: z.ZodString;
1618
+ digest: z.ZodString;
1619
+ round: z.ZodNumber;
1620
+ approved: z.ZodBoolean;
1621
+ open: z.ZodNumber;
1622
+ }, z.core.$strict> | z.ZodObject<{
1623
+ digest: z.ZodString;
1624
+ actor: z.ZodEnum<{
1625
+ agent: "agent";
1626
+ operator: "operator";
1627
+ }>;
1628
+ }, z.core.$strict> | z.ZodObject<{
1629
+ orderDigest: z.ZodString;
1630
+ }, z.core.$strict> | z.ZodObject<{
1631
+ operation: z.ZodString;
1632
+ reason: z.ZodString;
1633
+ released: z.ZodBoolean;
1634
+ }, z.core.$strict> | z.ZodObject<{
1635
+ owner: z.ZodString;
1636
+ runtime: z.ZodEnum<{
1637
+ codex: "codex";
1638
+ claude: "claude";
1639
+ fixture: "fixture";
1640
+ }>;
1641
+ reviewer: z.ZodEnum<{
1642
+ codex: "codex";
1643
+ claude: "claude";
1644
+ fixture: "fixture";
1645
+ }>;
1646
+ policyDigest: z.ZodString;
1647
+ engineVersion: z.ZodString;
1648
+ }, z.core.$strict> | z.ZodObject<{
1649
+ phase: z.ZodEnum<{
1650
+ ready: "ready";
1651
+ failed: "failed";
1652
+ cancelled: "cancelled";
1653
+ draft: "draft";
1654
+ running: "running";
1655
+ verifying: "verifying";
1656
+ reviewing: "reviewing";
1657
+ integrating: "integrating";
1658
+ done: "done";
1659
+ }>;
1660
+ sha: z.ZodOptional<z.ZodString>;
1661
+ }, z.core.$strict> | z.ZodObject<{
1662
+ phase: z.ZodEnum<{
1663
+ candidate: "candidate";
1664
+ integration: "integration";
1665
+ }>;
1666
+ gate: z.ZodString;
1667
+ sha: z.ZodString;
1668
+ passed: z.ZodBoolean;
1669
+ evidenceId: z.ZodString;
1670
+ consumer: z.ZodOptional<z.ZodString>;
1671
+ }, z.core.$strict> | z.ZodObject<{
1672
+ phase: z.ZodEnum<{
1673
+ candidate: "candidate";
1674
+ integration: "integration";
1675
+ }>;
1676
+ sha: z.ZodString;
1677
+ passed: z.ZodBoolean;
1678
+ evidenceId: z.ZodString;
1679
+ reviewer: z.ZodEnum<{
1680
+ codex: "codex";
1681
+ claude: "claude";
1682
+ fixture: "fixture";
1683
+ }>;
1684
+ sameVendor: z.ZodBoolean;
1685
+ blocking: z.ZodNumber;
1686
+ }, z.core.$strict> | z.ZodObject<{
1687
+ failureKind: z.ZodEnum<{
1688
+ gate: "gate";
1689
+ unknown: "unknown";
1690
+ review: "review";
1691
+ environment: "environment";
1692
+ cancelled: "cancelled";
1693
+ timeout: "timeout";
1694
+ "provider-auth": "provider-auth";
1695
+ "stale-base": "stale-base";
1696
+ "empty-result": "empty-result";
1697
+ "scope-violation": "scope-violation";
1698
+ "review-protocol": "review-protocol";
1699
+ merge: "merge";
1700
+ budget: "budget";
1701
+ }>;
1702
+ message: z.ZodString;
1703
+ blocked: z.ZodBoolean;
1704
+ }, z.core.$strict> | z.ZodObject<{
1705
+ leaseUntil: z.ZodNumber;
1706
+ }, z.core.$strict> | z.ZodObject<{
1707
+ reason: z.ZodString;
1708
+ }, z.core.$strict> | z.ZodObject<{
1709
+ integrationSha: z.ZodString;
1710
+ accepted: z.ZodBoolean;
1711
+ reason: z.ZodOptional<z.ZodString>;
1712
+ }, z.core.$strict> | z.ZodObject<{
1713
+ resultSha: z.ZodString;
1714
+ integrationSha: z.ZodString;
1715
+ }, z.core.$strict> | z.ZodObject<{
1716
+ code: z.ZodString;
1717
+ message: z.ZodString;
1718
+ }, z.core.$strict> | z.ZodObject<{
1719
+ reason: z.ZodEnum<{
1720
+ runtime: "runtime";
1721
+ operator: "operator";
1722
+ shutdown: "shutdown";
1723
+ "base-check": "base-check";
1724
+ reconfigure: "reconfigure";
1725
+ }>;
1726
+ failures: z.ZodOptional<z.ZodArray<z.ZodEnum<{
1727
+ gate: "gate";
1728
+ unknown: "unknown";
1729
+ review: "review";
1730
+ environment: "environment";
1731
+ cancelled: "cancelled";
1732
+ timeout: "timeout";
1733
+ "provider-auth": "provider-auth";
1734
+ "stale-base": "stale-base";
1735
+ "empty-result": "empty-result";
1736
+ "scope-violation": "scope-violation";
1737
+ "review-protocol": "review-protocol";
1738
+ merge: "merge";
1739
+ budget: "budget";
1740
+ }>>>;
1741
+ }, z.core.$strict> | z.ZodObject<{
1742
+ reason: z.ZodEnum<{
1743
+ runtime: "runtime";
1744
+ operator: "operator";
1745
+ shutdown: "shutdown";
1746
+ "base-check": "base-check";
1747
+ reconfigure: "reconfigure";
1748
+ }>;
1749
+ }, z.core.$strict> | z.ZodObject<{
1750
+ owner: z.ZodString;
1751
+ }, z.core.$strict> | z.ZodObject<{
1752
+ owner: z.ZodString;
1753
+ }, z.core.$strict> | z.ZodObject<{
1754
+ scope: z.ZodEnum<{
1755
+ work: "work";
1756
+ group: "group";
1757
+ total: "total";
1758
+ }>;
1759
+ scopeId: z.ZodOptional<z.ZodString>;
1760
+ state: z.ZodEnum<{
1761
+ exceeded: "exceeded";
1762
+ undetermined: "undetermined";
1763
+ }>;
1764
+ reason: z.ZodString;
1765
+ }, z.core.$strict> | z.ZodObject<{
1766
+ suite: z.ZodString;
1767
+ pending: z.ZodString;
1768
+ version: z.ZodNumber;
1769
+ digest: z.ZodString;
1770
+ status: z.ZodEnum<{
1771
+ completed: "completed";
1772
+ waiting: "waiting";
1773
+ }>;
1774
+ accepted: z.ZodArray<z.ZodString>;
1775
+ }, z.core.$strict> | z.ZodObject<{
1776
+ recoveryId: z.ZodString;
1777
+ property: z.ZodString;
1778
+ status: z.ZodEnum<{
1779
+ closed: "closed";
1780
+ stopped: "stopped";
1781
+ "awaiting-lead": "awaiting-lead";
1782
+ analyzing: "analyzing";
1783
+ applying: "applying";
1784
+ retry: "retry";
1785
+ retrying: "retrying";
1786
+ "awaiting-user": "awaiting-user";
1787
+ }>;
1788
+ reason: z.ZodOptional<z.ZodString>;
1789
+ }, z.core.$strict> | z.ZodObject<{
1790
+ verificationId: z.ZodString;
1791
+ workIds: z.ZodArray<z.ZodString>;
1792
+ policyDigest: z.ZodString;
1793
+ }, z.core.$strict> | z.ZodObject<{
1794
+ verificationId: z.ZodString;
1795
+ status: z.ZodEnum<{
1796
+ passed: "passed";
1797
+ failed: "failed";
1798
+ }>;
1799
+ manifestDigest: z.ZodOptional<z.ZodString>;
1800
+ error: z.ZodOptional<z.ZodString>;
1801
+ }, z.core.$strict> | z.ZodObject<{
1802
+ digest: z.ZodString;
1803
+ generation: z.ZodNumber;
1804
+ by: z.ZodString;
1805
+ operation: z.ZodOptional<z.ZodString>;
1806
+ }, z.core.$strict> | z.ZodObject<{
1807
+ operation: z.ZodString;
1808
+ digest: z.ZodString;
1809
+ status: z.ZodEnum<{
1810
+ failed: "failed";
1811
+ requested: "requested";
1812
+ cleared: "cleared";
1813
+ }>;
1814
+ error: z.ZodOptional<z.ZodString>;
1815
+ }, z.core.$strict> | z.ZodObject<{
1816
+ sink: z.ZodString;
1817
+ key: z.ZodString;
1818
+ revision: z.ZodString;
1819
+ attempts: z.ZodNumber;
1820
+ }, z.core.$strict> | z.ZodObject<{
1821
+ receipt: z.ZodOptional<z.ZodString>;
1822
+ sink: z.ZodString;
1823
+ key: z.ZodString;
1824
+ revision: z.ZodString;
1825
+ attempts: z.ZodNumber;
1826
+ }, z.core.$strict> | z.ZodObject<{
1827
+ error: z.ZodString;
1828
+ sink: z.ZodString;
1829
+ key: z.ZodString;
1830
+ revision: z.ZodString;
1831
+ attempts: z.ZodNumber;
1832
+ }, z.core.$strict> | z.ZodObject<{
1833
+ currentRevision: z.ZodString;
1834
+ sink: z.ZodString;
1835
+ key: z.ZodString;
1836
+ revision: z.ZodString;
1837
+ attempts: z.ZodNumber;
1838
+ }, z.core.$strict> | z.ZodObject<{
1839
+ operation: z.ZodString;
1840
+ reason: z.ZodString;
1841
+ sink: z.ZodString;
1842
+ key: z.ZodString;
1843
+ revision: z.ZodString;
1844
+ attempts: z.ZodNumber;
1845
+ }, z.core.$strict>;
1846
+ }, z.core.$strict>, ...z.ZodObject<{
1847
+ apiVersion: z.ZodLiteral<"devcontour-harness/v1alpha1">;
1848
+ seq: z.ZodNumber;
1849
+ at: z.ZodISODateTime;
1850
+ graphId: z.ZodOptional<z.ZodString>;
1851
+ workId: z.ZodOptional<z.ZodString>;
1852
+ runId: z.ZodOptional<z.ZodString>;
1853
+ attempt: z.ZodOptional<z.ZodNumber>;
1854
+ type: z.ZodLiteral<"graph.registered" | "graph.reviewed" | "graph.approved" | "work.ready" | "work.held" | "attempt.claimed" | "attempt.phase" | "attempt.gate" | "attempt.review" | "attempt.failed" | "attempt.expired" | "attempt.cancelled" | "attempt.recovered" | "work.accepted" | "work.blocked" | "control.paused" | "control.resumed" | "controller.acquired" | "controller.released" | "budget.blocked" | "corpus.adopted" | "work.recovery" | "joint.started" | "joint.finished" | "policy.applied" | "policy.reconfigure" | "delivery.pending" | "delivery.delivered" | "delivery.failed" | "delivery.conflict" | "delivery.uncertain">;
1855
+ payload: z.ZodObject<{
1856
+ digest: z.ZodString;
1857
+ orders: z.ZodNumber;
1858
+ source: z.ZodObject<{
1859
+ connector: z.ZodString;
1860
+ ref: z.ZodString;
1861
+ revision: z.ZodString;
1862
+ }, z.core.$strict>;
1863
+ }, z.core.$strict> | z.ZodObject<{
1864
+ kind: z.ZodEnum<{
1865
+ plan: "plan";
1866
+ contract: "contract";
1867
+ }>;
1868
+ subject: z.ZodString;
1869
+ digest: z.ZodString;
1870
+ round: z.ZodNumber;
1871
+ approved: z.ZodBoolean;
1872
+ open: z.ZodNumber;
1873
+ }, z.core.$strict> | z.ZodObject<{
1874
+ digest: z.ZodString;
1875
+ actor: z.ZodEnum<{
1876
+ agent: "agent";
1877
+ operator: "operator";
1878
+ }>;
1879
+ }, z.core.$strict> | z.ZodObject<{
1880
+ orderDigest: z.ZodString;
1881
+ }, z.core.$strict> | z.ZodObject<{
1882
+ operation: z.ZodString;
1883
+ reason: z.ZodString;
1884
+ released: z.ZodBoolean;
1885
+ }, z.core.$strict> | z.ZodObject<{
1886
+ owner: z.ZodString;
1887
+ runtime: z.ZodEnum<{
1888
+ codex: "codex";
1889
+ claude: "claude";
1890
+ fixture: "fixture";
1891
+ }>;
1892
+ reviewer: z.ZodEnum<{
1893
+ codex: "codex";
1894
+ claude: "claude";
1895
+ fixture: "fixture";
1896
+ }>;
1897
+ policyDigest: z.ZodString;
1898
+ engineVersion: z.ZodString;
1899
+ }, z.core.$strict> | z.ZodObject<{
1900
+ phase: z.ZodEnum<{
1901
+ ready: "ready";
1902
+ failed: "failed";
1903
+ cancelled: "cancelled";
1904
+ draft: "draft";
1905
+ running: "running";
1906
+ verifying: "verifying";
1907
+ reviewing: "reviewing";
1908
+ integrating: "integrating";
1909
+ done: "done";
1910
+ }>;
1911
+ sha: z.ZodOptional<z.ZodString>;
1912
+ }, z.core.$strict> | z.ZodObject<{
1913
+ phase: z.ZodEnum<{
1914
+ candidate: "candidate";
1915
+ integration: "integration";
1916
+ }>;
1917
+ gate: z.ZodString;
1918
+ sha: z.ZodString;
1919
+ passed: z.ZodBoolean;
1920
+ evidenceId: z.ZodString;
1921
+ consumer: z.ZodOptional<z.ZodString>;
1922
+ }, z.core.$strict> | z.ZodObject<{
1923
+ phase: z.ZodEnum<{
1924
+ candidate: "candidate";
1925
+ integration: "integration";
1926
+ }>;
1927
+ sha: z.ZodString;
1928
+ passed: z.ZodBoolean;
1929
+ evidenceId: z.ZodString;
1930
+ reviewer: z.ZodEnum<{
1931
+ codex: "codex";
1932
+ claude: "claude";
1933
+ fixture: "fixture";
1934
+ }>;
1935
+ sameVendor: z.ZodBoolean;
1936
+ blocking: z.ZodNumber;
1937
+ }, z.core.$strict> | z.ZodObject<{
1938
+ failureKind: z.ZodEnum<{
1939
+ gate: "gate";
1940
+ unknown: "unknown";
1941
+ review: "review";
1942
+ environment: "environment";
1943
+ cancelled: "cancelled";
1944
+ timeout: "timeout";
1945
+ "provider-auth": "provider-auth";
1946
+ "stale-base": "stale-base";
1947
+ "empty-result": "empty-result";
1948
+ "scope-violation": "scope-violation";
1949
+ "review-protocol": "review-protocol";
1950
+ merge: "merge";
1951
+ budget: "budget";
1952
+ }>;
1953
+ message: z.ZodString;
1954
+ blocked: z.ZodBoolean;
1955
+ }, z.core.$strict> | z.ZodObject<{
1956
+ leaseUntil: z.ZodNumber;
1957
+ }, z.core.$strict> | z.ZodObject<{
1958
+ reason: z.ZodString;
1959
+ }, z.core.$strict> | z.ZodObject<{
1960
+ integrationSha: z.ZodString;
1961
+ accepted: z.ZodBoolean;
1962
+ reason: z.ZodOptional<z.ZodString>;
1963
+ }, z.core.$strict> | z.ZodObject<{
1964
+ resultSha: z.ZodString;
1965
+ integrationSha: z.ZodString;
1966
+ }, z.core.$strict> | z.ZodObject<{
1967
+ code: z.ZodString;
1968
+ message: z.ZodString;
1969
+ }, z.core.$strict> | z.ZodObject<{
1970
+ reason: z.ZodEnum<{
1971
+ runtime: "runtime";
1972
+ operator: "operator";
1973
+ shutdown: "shutdown";
1974
+ "base-check": "base-check";
1975
+ reconfigure: "reconfigure";
1976
+ }>;
1977
+ failures: z.ZodOptional<z.ZodArray<z.ZodEnum<{
1978
+ gate: "gate";
1979
+ unknown: "unknown";
1980
+ review: "review";
1981
+ environment: "environment";
1982
+ cancelled: "cancelled";
1983
+ timeout: "timeout";
1984
+ "provider-auth": "provider-auth";
1985
+ "stale-base": "stale-base";
1986
+ "empty-result": "empty-result";
1987
+ "scope-violation": "scope-violation";
1988
+ "review-protocol": "review-protocol";
1989
+ merge: "merge";
1990
+ budget: "budget";
1991
+ }>>>;
1992
+ }, z.core.$strict> | z.ZodObject<{
1993
+ reason: z.ZodEnum<{
1994
+ runtime: "runtime";
1995
+ operator: "operator";
1996
+ shutdown: "shutdown";
1997
+ "base-check": "base-check";
1998
+ reconfigure: "reconfigure";
1999
+ }>;
2000
+ }, z.core.$strict> | z.ZodObject<{
2001
+ owner: z.ZodString;
2002
+ }, z.core.$strict> | z.ZodObject<{
2003
+ owner: z.ZodString;
2004
+ }, z.core.$strict> | z.ZodObject<{
2005
+ scope: z.ZodEnum<{
2006
+ work: "work";
2007
+ group: "group";
2008
+ total: "total";
2009
+ }>;
2010
+ scopeId: z.ZodOptional<z.ZodString>;
2011
+ state: z.ZodEnum<{
2012
+ exceeded: "exceeded";
2013
+ undetermined: "undetermined";
2014
+ }>;
2015
+ reason: z.ZodString;
2016
+ }, z.core.$strict> | z.ZodObject<{
2017
+ suite: z.ZodString;
2018
+ pending: z.ZodString;
2019
+ version: z.ZodNumber;
2020
+ digest: z.ZodString;
2021
+ status: z.ZodEnum<{
2022
+ completed: "completed";
2023
+ waiting: "waiting";
2024
+ }>;
2025
+ accepted: z.ZodArray<z.ZodString>;
2026
+ }, z.core.$strict> | z.ZodObject<{
2027
+ recoveryId: z.ZodString;
2028
+ property: z.ZodString;
2029
+ status: z.ZodEnum<{
2030
+ closed: "closed";
2031
+ stopped: "stopped";
2032
+ "awaiting-lead": "awaiting-lead";
2033
+ analyzing: "analyzing";
2034
+ applying: "applying";
2035
+ retry: "retry";
2036
+ retrying: "retrying";
2037
+ "awaiting-user": "awaiting-user";
2038
+ }>;
2039
+ reason: z.ZodOptional<z.ZodString>;
2040
+ }, z.core.$strict> | z.ZodObject<{
2041
+ verificationId: z.ZodString;
2042
+ workIds: z.ZodArray<z.ZodString>;
2043
+ policyDigest: z.ZodString;
2044
+ }, z.core.$strict> | z.ZodObject<{
2045
+ verificationId: z.ZodString;
2046
+ status: z.ZodEnum<{
2047
+ passed: "passed";
2048
+ failed: "failed";
2049
+ }>;
2050
+ manifestDigest: z.ZodOptional<z.ZodString>;
2051
+ error: z.ZodOptional<z.ZodString>;
2052
+ }, z.core.$strict> | z.ZodObject<{
2053
+ digest: z.ZodString;
2054
+ generation: z.ZodNumber;
2055
+ by: z.ZodString;
2056
+ operation: z.ZodOptional<z.ZodString>;
2057
+ }, z.core.$strict> | z.ZodObject<{
2058
+ operation: z.ZodString;
2059
+ digest: z.ZodString;
2060
+ status: z.ZodEnum<{
2061
+ failed: "failed";
2062
+ requested: "requested";
2063
+ cleared: "cleared";
2064
+ }>;
2065
+ error: z.ZodOptional<z.ZodString>;
2066
+ }, z.core.$strict> | z.ZodObject<{
2067
+ sink: z.ZodString;
2068
+ key: z.ZodString;
2069
+ revision: z.ZodString;
2070
+ attempts: z.ZodNumber;
2071
+ }, z.core.$strict> | z.ZodObject<{
2072
+ receipt: z.ZodOptional<z.ZodString>;
2073
+ sink: z.ZodString;
2074
+ key: z.ZodString;
2075
+ revision: z.ZodString;
2076
+ attempts: z.ZodNumber;
2077
+ }, z.core.$strict> | z.ZodObject<{
2078
+ error: z.ZodString;
2079
+ sink: z.ZodString;
2080
+ key: z.ZodString;
2081
+ revision: z.ZodString;
2082
+ attempts: z.ZodNumber;
2083
+ }, z.core.$strict> | z.ZodObject<{
2084
+ currentRevision: z.ZodString;
2085
+ sink: z.ZodString;
2086
+ key: z.ZodString;
2087
+ revision: z.ZodString;
2088
+ attempts: z.ZodNumber;
2089
+ }, z.core.$strict> | z.ZodObject<{
2090
+ operation: z.ZodString;
2091
+ reason: z.ZodString;
2092
+ sink: z.ZodString;
2093
+ key: z.ZodString;
2094
+ revision: z.ZodString;
2095
+ attempts: z.ZodNumber;
2096
+ }, z.core.$strict>;
2097
+ }, z.core.$strict>[]], "type">;
2098
+ readonly 'review-record': z.ZodObject<{
2099
+ id: z.ZodString;
2100
+ kind: z.ZodEnum<{
2101
+ plan: "plan";
2102
+ contract: "contract";
2103
+ }>;
2104
+ subject: z.ZodString;
2105
+ digest: z.ZodString;
2106
+ round: z.ZodNumber;
2107
+ at: z.ZodISODateTime;
2108
+ approved: z.ZodBoolean;
2109
+ summary: z.ZodString;
2110
+ authorRuntime: z.ZodEnum<{
2111
+ codex: "codex";
2112
+ claude: "claude";
2113
+ fixture: "fixture";
2114
+ external: "external";
2115
+ }>;
2116
+ reviewerRuntime: z.ZodEnum<{
2117
+ codex: "codex";
2118
+ claude: "claude";
2119
+ fixture: "fixture";
2120
+ }>;
2121
+ reviewerModel: z.ZodOptional<z.ZodString>;
2122
+ sameVendor: z.ZodBoolean;
2123
+ reviewerBinding: z.ZodOptional<z.ZodString>;
2124
+ contextDigest: z.ZodOptional<z.ZodString>;
2125
+ findings: z.ZodArray<z.ZodObject<{
2126
+ id: z.ZodString;
2127
+ severity: z.ZodEnum<{
2128
+ blocking: "blocking";
2129
+ note: "note";
2130
+ }>;
2131
+ message: z.ZodString;
2132
+ rule: z.ZodOptional<z.ZodString>;
2133
+ path: z.ZodOptional<z.ZodNullable<z.ZodString>>;
2134
+ line: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
2135
+ status: z.ZodEnum<{
2136
+ open: "open";
2137
+ closed: "closed";
2138
+ withdrawn: "withdrawn";
2139
+ }>;
2140
+ openedIn: z.ZodNumber;
2141
+ changedIn: z.ZodNumber;
2142
+ basis: z.ZodOptional<z.ZodString>;
2143
+ }, z.core.$strict>>;
2144
+ artifact: z.ZodString;
2145
+ }, z.core.$strict>;
2146
+ readonly 'joint-verification': z.ZodDiscriminatedUnion<[z.ZodObject<{
2147
+ status: z.ZodLiteral<"active">;
2148
+ manifest: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
2149
+ sha: z.ZodString;
2150
+ tree: z.ZodString;
2151
+ }, z.core.$strict>>>;
2152
+ manifestDigest: z.ZodOptional<z.ZodString>;
2153
+ apiVersion: z.ZodLiteral<"devcontour-harness/v1alpha1">;
2154
+ id: z.ZodString;
2155
+ startedAt: z.ZodISODateTime;
2156
+ policyDigest: z.ZodString;
2157
+ specDigest: z.ZodString;
2158
+ workIds: z.ZodArray<z.ZodString>;
2159
+ impact: z.ZodOptional<z.ZodObject<{
2160
+ changed: z.ZodArray<z.ZodString>;
2161
+ affected: z.ZodArray<z.ZodString>;
2162
+ gateIds: z.ZodArray<z.ZodString>;
2163
+ mode: z.ZodEnum<{
2164
+ all: "all";
2165
+ affected: "affected";
2166
+ }>;
2167
+ reason: z.ZodString;
2168
+ baseline: z.ZodOptional<z.ZodString>;
2169
+ }, z.core.$strict>>;
2170
+ evidence: z.ZodArray<z.ZodObject<{
2171
+ gate: z.ZodString;
2172
+ passed: z.ZodBoolean;
2173
+ command: z.ZodArray<z.ZodString>;
2174
+ exitCode: z.ZodNumber;
2175
+ log: z.ZodString;
2176
+ digest: z.ZodString;
2177
+ summary: z.ZodString;
2178
+ artifacts: z.ZodArray<z.ZodObject<{
2179
+ path: z.ZodString;
2180
+ digest: z.ZodString;
2181
+ }, z.core.$strict>>;
2182
+ durationMs: z.ZodOptional<z.ZodNumber>;
2183
+ }, z.core.$strict>>;
2184
+ }, z.core.$strict>, z.ZodObject<{
2185
+ status: z.ZodLiteral<"failed">;
2186
+ finishedAt: z.ZodISODateTime;
2187
+ manifest: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
2188
+ sha: z.ZodString;
2189
+ tree: z.ZodString;
2190
+ }, z.core.$strict>>>;
2191
+ manifestDigest: z.ZodOptional<z.ZodString>;
2192
+ error: z.ZodString;
2193
+ apiVersion: z.ZodLiteral<"devcontour-harness/v1alpha1">;
2194
+ id: z.ZodString;
2195
+ startedAt: z.ZodISODateTime;
2196
+ policyDigest: z.ZodString;
2197
+ specDigest: z.ZodString;
2198
+ workIds: z.ZodArray<z.ZodString>;
2199
+ impact: z.ZodOptional<z.ZodObject<{
2200
+ changed: z.ZodArray<z.ZodString>;
2201
+ affected: z.ZodArray<z.ZodString>;
2202
+ gateIds: z.ZodArray<z.ZodString>;
2203
+ mode: z.ZodEnum<{
2204
+ all: "all";
2205
+ affected: "affected";
2206
+ }>;
2207
+ reason: z.ZodString;
2208
+ baseline: z.ZodOptional<z.ZodString>;
2209
+ }, z.core.$strict>>;
2210
+ evidence: z.ZodArray<z.ZodObject<{
2211
+ gate: z.ZodString;
2212
+ passed: z.ZodBoolean;
2213
+ command: z.ZodArray<z.ZodString>;
2214
+ exitCode: z.ZodNumber;
2215
+ log: z.ZodString;
2216
+ digest: z.ZodString;
2217
+ summary: z.ZodString;
2218
+ artifacts: z.ZodArray<z.ZodObject<{
2219
+ path: z.ZodString;
2220
+ digest: z.ZodString;
2221
+ }, z.core.$strict>>;
2222
+ durationMs: z.ZodOptional<z.ZodNumber>;
2223
+ }, z.core.$strict>>;
2224
+ }, z.core.$strict>, z.ZodObject<{
2225
+ status: z.ZodLiteral<"passed">;
2226
+ finishedAt: z.ZodISODateTime;
2227
+ manifest: z.ZodRecord<z.ZodString, z.ZodObject<{
2228
+ sha: z.ZodString;
2229
+ tree: z.ZodString;
2230
+ }, z.core.$strict>>;
2231
+ manifestDigest: z.ZodString;
2232
+ apiVersion: z.ZodLiteral<"devcontour-harness/v1alpha1">;
2233
+ id: z.ZodString;
2234
+ startedAt: z.ZodISODateTime;
2235
+ policyDigest: z.ZodString;
2236
+ specDigest: z.ZodString;
2237
+ workIds: z.ZodArray<z.ZodString>;
2238
+ impact: z.ZodOptional<z.ZodObject<{
2239
+ changed: z.ZodArray<z.ZodString>;
2240
+ affected: z.ZodArray<z.ZodString>;
2241
+ gateIds: z.ZodArray<z.ZodString>;
2242
+ mode: z.ZodEnum<{
2243
+ all: "all";
2244
+ affected: "affected";
2245
+ }>;
2246
+ reason: z.ZodString;
2247
+ baseline: z.ZodOptional<z.ZodString>;
2248
+ }, z.core.$strict>>;
2249
+ evidence: z.ZodArray<z.ZodObject<{
2250
+ gate: z.ZodString;
2251
+ passed: z.ZodBoolean;
2252
+ command: z.ZodArray<z.ZodString>;
2253
+ exitCode: z.ZodNumber;
2254
+ log: z.ZodString;
2255
+ digest: z.ZodString;
2256
+ summary: z.ZodString;
2257
+ artifacts: z.ZodArray<z.ZodObject<{
2258
+ path: z.ZodString;
2259
+ digest: z.ZodString;
2260
+ }, z.core.$strict>>;
2261
+ durationMs: z.ZodOptional<z.ZodNumber>;
2262
+ }, z.core.$strict>>;
2263
+ }, z.core.$strict>], "status">;
2264
+ readonly 'execution-document': z.ZodObject<{
2265
+ stateVersion: z.ZodLiteral<1>;
2266
+ graphs: z.ZodArray<z.ZodObject<{
2267
+ id: z.ZodString;
2268
+ digest: z.ZodString;
2269
+ graph: z.ZodObject<{
2270
+ apiVersion: z.ZodLiteral<"devcontour-harness/v1alpha1">;
2271
+ id: z.ZodString;
2272
+ source: z.ZodObject<{
2273
+ connector: z.ZodString;
2274
+ ref: z.ZodString;
2275
+ revision: z.ZodString;
2276
+ }, z.core.$strict>;
2277
+ orders: z.ZodArray<z.ZodObject<{
2278
+ apiVersion: z.ZodLiteral<"devcontour-harness/v1alpha1">;
2279
+ id: z.ZodString;
2280
+ source: z.ZodObject<{
2281
+ connector: z.ZodString;
2282
+ ref: z.ZodString;
2283
+ revision: z.ZodString;
2284
+ }, z.core.$strict>;
2285
+ title: z.ZodString;
2286
+ goal: z.ZodString;
2287
+ acceptance: z.ZodArray<z.ZodString>;
2288
+ role: z.ZodString;
2289
+ repositoryId: z.ZodString;
2290
+ relatedRepositories: z.ZodDefault<z.ZodArray<z.ZodString>>;
2291
+ writeScope: z.ZodArray<z.ZodUnion<readonly [z.ZodLiteral<".">, z.ZodString]>>;
2292
+ dependsOn: z.ZodDefault<z.ZodArray<z.ZodString>>;
2293
+ gates: z.ZodOptional<z.ZodArray<z.ZodString>>;
2294
+ consumers: z.ZodOptional<z.ZodArray<z.ZodObject<{
2295
+ repositoryId: z.ZodString;
2296
+ gates: z.ZodArray<z.ZodString>;
2297
+ }, z.core.$strict>>>;
2298
+ properties: z.ZodOptional<z.ZodArray<z.ZodString>>;
2299
+ resources: z.ZodOptional<z.ZodArray<z.ZodString>>;
2300
+ requirements: z.ZodDefault<z.ZodArray<z.ZodObject<{
2301
+ id: z.ZodString;
2302
+ source: z.ZodString;
2303
+ digest: z.ZodString;
2304
+ text: z.ZodString;
2305
+ gate: z.ZodString;
2306
+ scenario: z.ZodString;
2307
+ testId: z.ZodOptional<z.ZodString>;
2308
+ }, z.core.$strict>>>;
2309
+ contracts: z.ZodDefault<z.ZodArray<z.ZodObject<{
2310
+ id: z.ZodString;
2311
+ digest: z.ZodString;
2312
+ }, z.core.$strict>>>;
2313
+ context: z.ZodDefault<z.ZodArray<z.ZodString>>;
2314
+ }, z.core.$strict>>;
2315
+ prerequisites: z.ZodDefault<z.ZodArray<z.ZodObject<{
2316
+ id: z.ZodString;
2317
+ repositoryId: z.ZodString;
2318
+ resultSha: z.ZodString;
2319
+ receipt: z.ZodDiscriminatedUnion<[z.ZodObject<{
2320
+ kind: z.ZodLiteral<"engine">;
2321
+ runId: z.ZodString;
2322
+ }, z.core.$strict>, z.ZodObject<{
2323
+ kind: z.ZodLiteral<"trusted">;
2324
+ issuer: z.ZodString;
2325
+ digest: z.ZodString;
2326
+ }, z.core.$strict>], "kind">;
2327
+ }, z.core.$strict>>>;
2328
+ }, z.core.$strict>;
2329
+ policyDigest: z.ZodString;
2330
+ approval: z.ZodOptional<z.ZodObject<{
2331
+ actor: z.ZodEnum<{
2332
+ agent: "agent";
2333
+ operator: "operator";
2334
+ }>;
2335
+ authorRuntime: z.ZodOptional<z.ZodEnum<{
2336
+ codex: "codex";
2337
+ claude: "claude";
2338
+ fixture: "fixture";
2339
+ }>>;
2340
+ reviewerRuntime: z.ZodOptional<z.ZodEnum<{
2341
+ codex: "codex";
2342
+ claude: "claude";
2343
+ fixture: "fixture";
2344
+ }>>;
2345
+ artifact: z.ZodOptional<z.ZodString>;
2346
+ digest: z.ZodOptional<z.ZodString>;
2347
+ context: z.ZodOptional<z.ZodObject<{
2348
+ digest: z.ZodNullable<z.ZodString>;
2349
+ }, z.core.$strict>>;
2350
+ at: z.ZodISODateTime;
2351
+ }, z.core.$strict>>;
2352
+ registeredAt: z.ZodISODateTime;
2353
+ }, z.core.$strict>>;
2354
+ works: z.ZodArray<z.ZodObject<{
2355
+ id: z.ZodString;
2356
+ graphId: z.ZodString;
2357
+ order: z.ZodObject<{
2358
+ apiVersion: z.ZodLiteral<"devcontour-harness/v1alpha1">;
2359
+ id: z.ZodString;
2360
+ source: z.ZodObject<{
2361
+ connector: z.ZodString;
2362
+ ref: z.ZodString;
2363
+ revision: z.ZodString;
2364
+ }, z.core.$strict>;
2365
+ title: z.ZodString;
2366
+ goal: z.ZodString;
2367
+ acceptance: z.ZodArray<z.ZodString>;
2368
+ role: z.ZodString;
2369
+ repositoryId: z.ZodString;
2370
+ relatedRepositories: z.ZodDefault<z.ZodArray<z.ZodString>>;
2371
+ writeScope: z.ZodArray<z.ZodUnion<readonly [z.ZodLiteral<".">, z.ZodString]>>;
2372
+ dependsOn: z.ZodDefault<z.ZodArray<z.ZodString>>;
2373
+ gates: z.ZodOptional<z.ZodArray<z.ZodString>>;
2374
+ consumers: z.ZodOptional<z.ZodArray<z.ZodObject<{
2375
+ repositoryId: z.ZodString;
2376
+ gates: z.ZodArray<z.ZodString>;
2377
+ }, z.core.$strict>>>;
2378
+ properties: z.ZodOptional<z.ZodArray<z.ZodString>>;
2379
+ resources: z.ZodOptional<z.ZodArray<z.ZodString>>;
2380
+ requirements: z.ZodDefault<z.ZodArray<z.ZodObject<{
2381
+ id: z.ZodString;
2382
+ source: z.ZodString;
2383
+ digest: z.ZodString;
2384
+ text: z.ZodString;
2385
+ gate: z.ZodString;
2386
+ scenario: z.ZodString;
2387
+ testId: z.ZodOptional<z.ZodString>;
2388
+ }, z.core.$strict>>>;
2389
+ contracts: z.ZodDefault<z.ZodArray<z.ZodObject<{
2390
+ id: z.ZodString;
2391
+ digest: z.ZodString;
2392
+ }, z.core.$strict>>>;
2393
+ context: z.ZodDefault<z.ZodArray<z.ZodString>>;
2394
+ }, z.core.$strict>;
2395
+ status: z.ZodEnum<{
2396
+ ready: "ready";
2397
+ failed: "failed";
2398
+ cancelled: "cancelled";
2399
+ draft: "draft";
2400
+ running: "running";
2401
+ verifying: "verifying";
2402
+ reviewing: "reviewing";
2403
+ integrating: "integrating";
2404
+ done: "done";
2405
+ }>;
2406
+ attempt: z.ZodNumber;
2407
+ activeRunId: z.ZodOptional<z.ZodString>;
2408
+ resultSha: z.ZodOptional<z.ZodString>;
2409
+ failure: z.ZodOptional<z.ZodString>;
2410
+ failureKind: z.ZodOptional<z.ZodEnum<{
2411
+ gate: "gate";
2412
+ unknown: "unknown";
2413
+ review: "review";
2414
+ environment: "environment";
2415
+ cancelled: "cancelled";
2416
+ timeout: "timeout";
2417
+ "provider-auth": "provider-auth";
2418
+ "stale-base": "stale-base";
2419
+ "empty-result": "empty-result";
2420
+ "scope-violation": "scope-violation";
2421
+ "review-protocol": "review-protocol";
2422
+ merge: "merge";
2423
+ budget: "budget";
2424
+ }>>;
2425
+ failureFingerprint: z.ZodOptional<z.ZodString>;
2426
+ approvedAt: z.ZodOptional<z.ZodISODateTime>;
2427
+ approvedDigest: z.ZodOptional<z.ZodString>;
2428
+ approvedScope: z.ZodOptional<z.ZodString>;
2429
+ approval: z.ZodOptional<z.ZodObject<{
2430
+ actor: z.ZodEnum<{
2431
+ agent: "agent";
2432
+ operator: "operator";
2433
+ }>;
2434
+ authorRuntime: z.ZodOptional<z.ZodEnum<{
2435
+ codex: "codex";
2436
+ claude: "claude";
2437
+ fixture: "fixture";
2438
+ }>>;
2439
+ reviewerRuntime: z.ZodOptional<z.ZodEnum<{
2440
+ codex: "codex";
2441
+ claude: "claude";
2442
+ fixture: "fixture";
2443
+ }>>;
2444
+ artifact: z.ZodOptional<z.ZodString>;
2445
+ digest: z.ZodOptional<z.ZodString>;
2446
+ context: z.ZodOptional<z.ZodObject<{
2447
+ digest: z.ZodNullable<z.ZodString>;
2448
+ }, z.core.$strict>>;
2449
+ }, z.core.$strict>>;
2450
+ hold: z.ZodOptional<z.ZodObject<{
2451
+ operation: z.ZodString;
2452
+ reason: z.ZodString;
2453
+ }, z.core.$strict>>;
2454
+ budgetBlock: z.ZodOptional<z.ZodObject<{
2455
+ reason: z.ZodString;
2456
+ at: z.ZodISODateTime;
2457
+ }, z.core.$strict>>;
2458
+ checkVersion: z.ZodOptional<z.ZodObject<{
2459
+ suite: z.ZodString;
2460
+ number: z.ZodNumber;
2461
+ digest: z.ZodString;
2462
+ }, z.core.$strict>>;
2463
+ recovery: z.ZodOptional<z.ZodObject<{
2464
+ id: z.ZodString;
2465
+ property: z.ZodString;
2466
+ basis: z.ZodString;
2467
+ runs: z.ZodArray<z.ZodString>;
2468
+ openedAt: z.ZodISODateTime;
2469
+ status: z.ZodEnum<{
2470
+ closed: "closed";
2471
+ stopped: "stopped";
2472
+ "awaiting-lead": "awaiting-lead";
2473
+ analyzing: "analyzing";
2474
+ applying: "applying";
2475
+ retry: "retry";
2476
+ retrying: "retrying";
2477
+ "awaiting-user": "awaiting-user";
2478
+ }>;
2479
+ calls: z.ZodNumber;
2480
+ decision: z.ZodOptional<z.ZodObject<{
2481
+ action: z.ZodEnum<{
2482
+ environment: "environment";
2483
+ "add-cases": "add-cases";
2484
+ "new-approach": "new-approach";
2485
+ "strengthen-checker": "strengthen-checker";
2486
+ "split-task": "split-task";
2487
+ "clarify-obligation": "clarify-obligation";
2488
+ }>;
2489
+ reason: z.ZodString;
2490
+ evidence: z.ZodArray<z.ZodString>;
2491
+ hypothesis: z.ZodOptional<z.ZodString>;
2492
+ plan: z.ZodOptional<z.ZodString>;
2493
+ cases: z.ZodOptional<z.ZodArray<z.ZodObject<{
2494
+ input: z.ZodString;
2495
+ expected: z.ZodOptional<z.ZodNullable<z.ZodString>>;
2496
+ }, z.core.$strict>>>;
2497
+ proposal: z.ZodOptional<z.ZodString>;
2498
+ conflict: z.ZodOptional<z.ZodString>;
2499
+ source: z.ZodObject<{
2500
+ kind: z.ZodEnum<{
2501
+ operator: "operator";
2502
+ lead: "lead";
2503
+ }>;
2504
+ runtime: z.ZodOptional<z.ZodString>;
2505
+ model: z.ZodOptional<z.ZodString>;
2506
+ }, z.core.$strict>;
2507
+ decidedAt: z.ZodISODateTime;
2508
+ }, z.core.$strict>>;
2509
+ retryRun: z.ZodOptional<z.ZodString>;
2510
+ reason: z.ZodOptional<z.ZodString>;
2511
+ history: z.ZodArray<z.ZodObject<{
2512
+ at: z.ZodISODateTime;
2513
+ event: z.ZodString;
2514
+ detail: z.ZodOptional<z.ZodString>;
2515
+ }, z.core.$strict>>;
2516
+ version: z.ZodNumber;
2517
+ }, z.core.$strict>>;
2518
+ recoveryHistory: z.ZodOptional<z.ZodArray<z.ZodObject<{
2519
+ id: z.ZodString;
2520
+ property: z.ZodString;
2521
+ basis: z.ZodString;
2522
+ runs: z.ZodArray<z.ZodString>;
2523
+ openedAt: z.ZodISODateTime;
2524
+ status: z.ZodEnum<{
2525
+ closed: "closed";
2526
+ stopped: "stopped";
2527
+ "awaiting-lead": "awaiting-lead";
2528
+ analyzing: "analyzing";
2529
+ applying: "applying";
2530
+ retry: "retry";
2531
+ retrying: "retrying";
2532
+ "awaiting-user": "awaiting-user";
2533
+ }>;
2534
+ calls: z.ZodNumber;
2535
+ decision: z.ZodOptional<z.ZodObject<{
2536
+ action: z.ZodEnum<{
2537
+ environment: "environment";
2538
+ "add-cases": "add-cases";
2539
+ "new-approach": "new-approach";
2540
+ "strengthen-checker": "strengthen-checker";
2541
+ "split-task": "split-task";
2542
+ "clarify-obligation": "clarify-obligation";
2543
+ }>;
2544
+ reason: z.ZodString;
2545
+ evidence: z.ZodArray<z.ZodString>;
2546
+ hypothesis: z.ZodOptional<z.ZodString>;
2547
+ plan: z.ZodOptional<z.ZodString>;
2548
+ cases: z.ZodOptional<z.ZodArray<z.ZodObject<{
2549
+ input: z.ZodString;
2550
+ expected: z.ZodOptional<z.ZodNullable<z.ZodString>>;
2551
+ }, z.core.$strict>>>;
2552
+ proposal: z.ZodOptional<z.ZodString>;
2553
+ conflict: z.ZodOptional<z.ZodString>;
2554
+ source: z.ZodObject<{
2555
+ kind: z.ZodEnum<{
2556
+ operator: "operator";
2557
+ lead: "lead";
2558
+ }>;
2559
+ runtime: z.ZodOptional<z.ZodString>;
2560
+ model: z.ZodOptional<z.ZodString>;
2561
+ }, z.core.$strict>;
2562
+ decidedAt: z.ZodISODateTime;
2563
+ }, z.core.$strict>>;
2564
+ retryRun: z.ZodOptional<z.ZodString>;
2565
+ reason: z.ZodOptional<z.ZodString>;
2566
+ history: z.ZodArray<z.ZodObject<{
2567
+ at: z.ZodISODateTime;
2568
+ event: z.ZodString;
2569
+ detail: z.ZodOptional<z.ZodString>;
2570
+ }, z.core.$strict>>;
2571
+ version: z.ZodNumber;
2572
+ }, z.core.$strict>>>;
2573
+ }, z.core.$strict>>;
2574
+ attempts: z.ZodArray<z.ZodObject<{
2575
+ id: z.ZodString;
2576
+ workId: z.ZodString;
2577
+ repositoryId: z.ZodString;
2578
+ attempt: z.ZodNumber;
2579
+ token: z.ZodString;
2580
+ owner: z.ZodString;
2581
+ runtime: z.ZodEnum<{
2582
+ codex: "codex";
2583
+ claude: "claude";
2584
+ fixture: "fixture";
2585
+ }>;
2586
+ reviewer: z.ZodEnum<{
2587
+ codex: "codex";
2588
+ claude: "claude";
2589
+ fixture: "fixture";
2590
+ }>;
2591
+ model: z.ZodOptional<z.ZodString>;
2592
+ reviewerModel: z.ZodOptional<z.ZodString>;
2593
+ effort: z.ZodOptional<z.ZodString>;
2594
+ reviewerEffort: z.ZodOptional<z.ZodString>;
2595
+ policyDigest: z.ZodString;
2596
+ status: z.ZodEnum<{
2597
+ failed: "failed";
2598
+ cancelled: "cancelled";
2599
+ active: "active";
2600
+ expired: "expired";
2601
+ succeeded: "succeeded";
2602
+ }>;
2603
+ phase: z.ZodEnum<{
2604
+ ready: "ready";
2605
+ failed: "failed";
2606
+ cancelled: "cancelled";
2607
+ draft: "draft";
2608
+ running: "running";
2609
+ verifying: "verifying";
2610
+ reviewing: "reviewing";
2611
+ integrating: "integrating";
2612
+ done: "done";
2613
+ }>;
2614
+ startedAt: z.ZodISODateTime;
2615
+ finishedAt: z.ZodOptional<z.ZodISODateTime>;
2616
+ leaseUntil: z.ZodNumber;
2617
+ worktree: z.ZodOptional<z.ZodString>;
2618
+ baseSha: z.ZodOptional<z.ZodString>;
2619
+ candidateSha: z.ZodOptional<z.ZodString>;
2620
+ integrationSha: z.ZodOptional<z.ZodString>;
2621
+ error: z.ZodOptional<z.ZodString>;
2622
+ blocked: z.ZodOptional<z.ZodBoolean>;
2623
+ failureKind: z.ZodOptional<z.ZodEnum<{
2624
+ gate: "gate";
2625
+ unknown: "unknown";
2626
+ review: "review";
2627
+ environment: "environment";
2628
+ cancelled: "cancelled";
2629
+ timeout: "timeout";
2630
+ "provider-auth": "provider-auth";
2631
+ "stale-base": "stale-base";
2632
+ "empty-result": "empty-result";
2633
+ "scope-violation": "scope-violation";
2634
+ "review-protocol": "review-protocol";
2635
+ merge: "merge";
2636
+ budget: "budget";
2637
+ }>>;
2638
+ failureFingerprint: z.ZodOptional<z.ZodString>;
2639
+ requiredGates: z.ZodOptional<z.ZodArray<z.ZodString>>;
2640
+ consumers: z.ZodOptional<z.ZodArray<z.ZodObject<{
2641
+ repositoryId: z.ZodString;
2642
+ gates: z.ZodArray<z.ZodString>;
2643
+ checked: z.ZodOptional<z.ZodObject<{
2644
+ sha: z.ZodString;
2645
+ tree: z.ZodString;
2646
+ dependencies: z.ZodArray<z.ZodObject<{
2647
+ repositoryId: z.ZodString;
2648
+ sha: z.ZodString;
2649
+ tree: z.ZodString;
2650
+ artifacts: z.ZodArray<z.ZodObject<{
2651
+ path: z.ZodString;
2652
+ digest: z.ZodString;
2653
+ }, z.core.$strict>>;
2654
+ }, z.core.$strict>>;
2655
+ freshness: z.ZodOptional<z.ZodArray<z.ZodObject<{
2656
+ repositoryId: z.ZodString;
2657
+ snapshot: z.ZodString;
2658
+ head: z.ZodString;
2659
+ fresh: z.ZodBoolean;
2660
+ }, z.core.$strict>>>;
2661
+ observedAt: z.ZodOptional<z.ZodISODateTime>;
2662
+ }, z.core.$strict>>;
2663
+ }, z.core.$strict>>>;
2664
+ checks: z.ZodOptional<z.ZodObject<{
2665
+ effective: z.ZodString;
2666
+ corpus: z.ZodOptional<z.ZodObject<{
2667
+ suite: z.ZodString;
2668
+ number: z.ZodNumber;
2669
+ digest: z.ZodString;
2670
+ }, z.core.$strict>>;
2671
+ }, z.core.$strict>>;
2672
+ context: z.ZodOptional<z.ZodArray<z.ZodObject<{
2673
+ id: z.ZodString;
2674
+ version: z.ZodString;
2675
+ repositoryId: z.ZodString;
2676
+ revision: z.ZodString;
2677
+ digest: z.ZodString;
2678
+ }, z.core.$strict>>>;
2679
+ contextSnapshot: z.ZodOptional<z.ZodString>;
2680
+ resources: z.ZodOptional<z.ZodArray<z.ZodObject<{
2681
+ id: z.ZodString;
2682
+ kind: z.ZodEnum<{
2683
+ device: "device";
2684
+ port: "port";
2685
+ account: "account";
2686
+ service: "service";
2687
+ }>;
2688
+ value: z.ZodString;
2689
+ }, z.core.$strict>>>;
2690
+ dependencies: z.ZodOptional<z.ZodArray<z.ZodObject<{
2691
+ repositoryId: z.ZodString;
2692
+ sha: z.ZodString;
2693
+ tree: z.ZodString;
2694
+ path: z.ZodString;
2695
+ artifacts: z.ZodArray<z.ZodObject<{
2696
+ path: z.ZodString;
2697
+ digest: z.ZodString;
2698
+ }, z.core.$strict>>;
2699
+ }, z.core.$strict>>>;
2700
+ dependencyFreshness: z.ZodOptional<z.ZodArray<z.ZodObject<{
2701
+ repositoryId: z.ZodString;
2702
+ snapshot: z.ZodString;
2703
+ head: z.ZodString;
2704
+ fresh: z.ZodBoolean;
2705
+ }, z.core.$strict>>>;
2706
+ properties: z.ZodOptional<z.ZodArray<z.ZodString>>;
2707
+ unboundProperties: z.ZodOptional<z.ZodArray<z.ZodString>>;
2708
+ episodeBasis: z.ZodOptional<z.ZodString>;
2709
+ implementationBasis: z.ZodOptional<z.ZodString>;
2710
+ reusedFrom: z.ZodOptional<z.ZodObject<{
2711
+ runId: z.ZodString;
2712
+ candidateSha: z.ZodString;
2713
+ }, z.core.$strict>>;
2714
+ partial: z.ZodOptional<z.ZodObject<{
2715
+ patch: z.ZodString;
2716
+ digest: z.ZodString;
2717
+ files: z.ZodArray<z.ZodString>;
2718
+ spec: z.ZodString;
2719
+ contracts: z.ZodRecord<z.ZodString, z.ZodString>;
2720
+ }, z.core.$strict>>;
2721
+ continuedFrom: z.ZodOptional<z.ZodObject<{
2722
+ runId: z.ZodString;
2723
+ kind: z.ZodEnum<{
2724
+ candidate: "candidate";
2725
+ unfinished: "unfinished";
2726
+ }>;
2727
+ reason: z.ZodOptional<z.ZodEnum<{
2728
+ gate: "gate";
2729
+ unknown: "unknown";
2730
+ review: "review";
2731
+ environment: "environment";
2732
+ cancelled: "cancelled";
2733
+ timeout: "timeout";
2734
+ "provider-auth": "provider-auth";
2735
+ "stale-base": "stale-base";
2736
+ "empty-result": "empty-result";
2737
+ "scope-violation": "scope-violation";
2738
+ "review-protocol": "review-protocol";
2739
+ merge: "merge";
2740
+ budget: "budget";
2741
+ }>>;
2742
+ respecified: z.ZodOptional<z.ZodBoolean>;
2743
+ applied: z.ZodBoolean;
2744
+ files: z.ZodArray<z.ZodString>;
2745
+ }, z.core.$strict>>;
2746
+ callsRecorded: z.ZodOptional<z.ZodLiteral<true>>;
2747
+ dispatch: z.ZodOptional<z.ZodObject<{
2748
+ policy: z.ZodLiteral<"fifo-ready-v1">;
2749
+ at: z.ZodISODateTime;
2750
+ eligible: z.ZodArray<z.ZodObject<{
2751
+ taskId: z.ZodString;
2752
+ repositoryId: z.ZodOptional<z.ZodString>;
2753
+ attempt: z.ZodNumber;
2754
+ }, z.core.$strict>>;
2755
+ activeCount: z.ZodNumber;
2756
+ concurrency: z.ZodNumber;
2757
+ inputDigest: z.ZodString;
2758
+ }, z.core.$strict>>;
2759
+ wait: z.ZodOptional<z.ZodObject<{
2760
+ approvedAt: z.ZodOptional<z.ZodISODateTime>;
2761
+ readyAt: z.ZodOptional<z.ZodISODateTime>;
2762
+ }, z.core.$strict>>;
2763
+ timings: z.ZodOptional<z.ZodArray<z.ZodObject<{
2764
+ id: z.ZodString;
2765
+ stage: z.ZodString;
2766
+ startedAt: z.ZodISODateTime;
2767
+ finishedAt: z.ZodOptional<z.ZodISODateTime>;
2768
+ outcome: z.ZodOptional<z.ZodEnum<{
2769
+ passed: "passed";
2770
+ failed: "failed";
2771
+ }>>;
2772
+ }, z.core.$strict>>>;
2773
+ pinned: z.ZodOptional<z.ZodObject<{
2774
+ graphId: z.ZodString;
2775
+ graphDigest: z.ZodString;
2776
+ orderDigest: z.ZodString;
2777
+ targetRef: z.ZodString;
2778
+ source: z.ZodObject<{
2779
+ connector: z.ZodString;
2780
+ ref: z.ZodString;
2781
+ revision: z.ZodString;
2782
+ }, z.core.$strict>;
2783
+ }, z.core.$strict>>;
2784
+ engineVersion: z.ZodOptional<z.ZodString>;
2785
+ consumerVersion: z.ZodOptional<z.ZodString>;
2786
+ evidence: z.ZodArray<z.ZodObject<{
2787
+ id: z.ZodString;
2788
+ runId: z.ZodString;
2789
+ kind: z.ZodEnum<{
2790
+ test: "test";
2791
+ review: "review";
2792
+ }>;
2793
+ phase: z.ZodEnum<{
2794
+ candidate: "candidate";
2795
+ integration: "integration";
2796
+ }>;
2797
+ sha: z.ZodString;
2798
+ gate: z.ZodString;
2799
+ passed: z.ZodBoolean;
2800
+ createdAt: z.ZodISODateTime;
2801
+ command: z.ZodArray<z.ZodString>;
2802
+ exitCode: z.ZodNumber;
2803
+ log: z.ZodString;
2804
+ digest: z.ZodString;
2805
+ summary: z.ZodString;
2806
+ consumer: z.ZodOptional<z.ZodString>;
2807
+ inspection: z.ZodOptional<z.ZodObject<{
2808
+ mode: z.ZodEnum<{
2809
+ commands: "commands";
2810
+ "diff-only": "diff-only";
2811
+ }>;
2812
+ source: z.ZodEnum<{
2813
+ "codex-events": "codex-events";
2814
+ unavailable: "unavailable";
2815
+ }>;
2816
+ commands: z.ZodArray<z.ZodObject<{
2817
+ command: z.ZodString;
2818
+ exitCode: z.ZodNumber;
2819
+ output: z.ZodString;
2820
+ }, z.core.$strict>>;
2821
+ reason: z.ZodNullable<z.ZodString>;
2822
+ }, z.core.$strict>>;
2823
+ findings: z.ZodOptional<z.ZodArray<z.ZodObject<{
2824
+ severity: z.ZodString;
2825
+ message: z.ZodString;
2826
+ path: z.ZodOptional<z.ZodNullable<z.ZodString>>;
2827
+ line: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
2828
+ id: z.ZodOptional<z.ZodString>;
2829
+ status: z.ZodOptional<z.ZodEnum<{
2830
+ open: "open";
2831
+ closed: "closed";
2832
+ withdrawn: "withdrawn";
2833
+ }>>;
2834
+ }, z.core.$strict>>>;
2835
+ reviewRound: z.ZodOptional<z.ZodObject<{
2836
+ version: z.ZodLiteral<1>;
2837
+ scope: z.ZodString;
2838
+ round: z.ZodNumber;
2839
+ call: z.ZodNumber;
2840
+ calls: z.ZodNumber;
2841
+ protocol: z.ZodEnum<{
2842
+ valid: "valid";
2843
+ invalid: "invalid";
2844
+ unsafe: "unsafe";
2845
+ }>;
2846
+ expected: z.ZodArray<z.ZodString>;
2847
+ issues: z.ZodOptional<z.ZodArray<z.ZodObject<{
2848
+ path: z.ZodString;
2849
+ reason: z.ZodEnum<{
2850
+ unknown: "unknown";
2851
+ missing: "missing";
2852
+ schema: "schema";
2853
+ duplicate: "duplicate";
2854
+ "not-open": "not-open";
2855
+ "approved-with-blocking": "approved-with-blocking";
2856
+ }>;
2857
+ message: z.ZodString;
2858
+ }, z.core.$strict>>>;
2859
+ transitions: z.ZodOptional<z.ZodArray<z.ZodObject<{
2860
+ id: z.ZodString;
2861
+ from: z.ZodEnum<{
2862
+ open: "open";
2863
+ closed: "closed";
2864
+ withdrawn: "withdrawn";
2865
+ }>;
2866
+ to: z.ZodEnum<{
2867
+ open: "open";
2868
+ closed: "closed";
2869
+ withdrawn: "withdrawn";
2870
+ }>;
2871
+ basis: z.ZodString;
2872
+ }, z.core.$strict>>>;
2873
+ spec: z.ZodOptional<z.ZodString>;
2874
+ mode: z.ZodOptional<z.ZodEnum<{
2875
+ legacy: "legacy";
2876
+ strict: "strict";
2877
+ }>>;
2878
+ }, z.core.$strict>>;
2879
+ tests: z.ZodOptional<z.ZodArray<z.ZodObject<{
2880
+ id: z.ZodString;
2881
+ status: z.ZodEnum<{
2882
+ passed: "passed";
2883
+ failed: "failed";
2884
+ skipped: "skipped";
2885
+ }>;
2886
+ opaque: z.ZodOptional<z.ZodLiteral<true>>;
2887
+ }, z.core.$strict>>>;
2888
+ testsTruncated: z.ZodOptional<z.ZodBoolean>;
2889
+ property: z.ZodOptional<z.ZodObject<{
2890
+ seed: z.ZodNumber;
2891
+ reproduce: z.ZodString;
2892
+ report: z.ZodOptional<z.ZodObject<{
2893
+ version: z.ZodLiteral<1>;
2894
+ seed: z.ZodOptional<z.ZodNumber>;
2895
+ properties: z.ZodArray<z.ZodObject<{
2896
+ testId: z.ZodString;
2897
+ status: z.ZodEnum<{
2898
+ passed: "passed";
2899
+ failed: "failed";
2900
+ running: "running";
2901
+ }>;
2902
+ cases: z.ZodNumber;
2903
+ families: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
2904
+ error: z.ZodOptional<z.ZodString>;
2905
+ current: z.ZodOptional<z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>>;
2906
+ counterexample: z.ZodOptional<z.ZodObject<{
2907
+ original: z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>;
2908
+ reduced: z.ZodOptional<z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>>;
2909
+ expected: z.ZodOptional<z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>>;
2910
+ actual: z.ZodOptional<z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>>;
2911
+ reductionTimedOut: z.ZodOptional<z.ZodBoolean>;
2912
+ case: z.ZodOptional<z.ZodString>;
2913
+ }, z.core.$strip>>;
2914
+ }, z.core.$strip>>;
2915
+ corpus: z.ZodOptional<z.ZodObject<{
2916
+ digest: z.ZodString;
2917
+ executed: z.ZodNumber;
2918
+ passed: z.ZodNumber;
2919
+ witness: z.ZodString;
2920
+ failed: z.ZodArray<z.ZodObject<{
2921
+ id: z.ZodString;
2922
+ property: z.ZodString;
2923
+ expected: z.ZodOptional<z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>>;
2924
+ actual: z.ZodOptional<z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>>;
2925
+ }, z.core.$strip>>;
2926
+ }, z.core.$strip>>;
2927
+ }, z.core.$strip>>;
2928
+ problem: z.ZodOptional<z.ZodString>;
2929
+ contracts: z.ZodRecord<z.ZodString, z.ZodString>;
2930
+ artifacts: z.ZodArray<z.ZodObject<{
2931
+ path: z.ZodString;
2932
+ blob: z.ZodString;
2933
+ }, z.core.$strict>>;
2934
+ level: z.ZodOptional<z.ZodEnum<{
2935
+ manifest: "manifest";
2936
+ legacy: "legacy";
2937
+ }>>;
2938
+ manifest: z.ZodOptional<z.ZodObject<{
2939
+ digest: z.ZodString;
2940
+ properties: z.ZodArray<z.ZodString>;
2941
+ corpus: z.ZodOptional<z.ZodObject<{
2942
+ digest: z.ZodString;
2943
+ cases: z.ZodNumber;
2944
+ }, z.core.$strict>>;
2945
+ }, z.core.$strict>>;
2946
+ coverage: z.ZodOptional<z.ZodArray<z.ZodString>>;
2947
+ }, z.core.$strict>>;
2948
+ checks: z.ZodOptional<z.ZodString>;
2949
+ }, z.core.$strict>>;
2950
+ }, z.core.$strict>>;
2951
+ verifications: z.ZodDefault<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
2952
+ status: z.ZodLiteral<"active">;
2953
+ manifest: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
2954
+ sha: z.ZodString;
2955
+ tree: z.ZodString;
2956
+ }, z.core.$strict>>>;
2957
+ manifestDigest: z.ZodOptional<z.ZodString>;
2958
+ apiVersion: z.ZodLiteral<"devcontour-harness/v1alpha1">;
2959
+ id: z.ZodString;
2960
+ startedAt: z.ZodISODateTime;
2961
+ policyDigest: z.ZodString;
2962
+ specDigest: z.ZodString;
2963
+ workIds: z.ZodArray<z.ZodString>;
2964
+ impact: z.ZodOptional<z.ZodObject<{
2965
+ changed: z.ZodArray<z.ZodString>;
2966
+ affected: z.ZodArray<z.ZodString>;
2967
+ gateIds: z.ZodArray<z.ZodString>;
2968
+ mode: z.ZodEnum<{
2969
+ all: "all";
2970
+ affected: "affected";
2971
+ }>;
2972
+ reason: z.ZodString;
2973
+ baseline: z.ZodOptional<z.ZodString>;
2974
+ }, z.core.$strict>>;
2975
+ evidence: z.ZodArray<z.ZodObject<{
2976
+ gate: z.ZodString;
2977
+ passed: z.ZodBoolean;
2978
+ command: z.ZodArray<z.ZodString>;
2979
+ exitCode: z.ZodNumber;
2980
+ log: z.ZodString;
2981
+ digest: z.ZodString;
2982
+ summary: z.ZodString;
2983
+ artifacts: z.ZodArray<z.ZodObject<{
2984
+ path: z.ZodString;
2985
+ digest: z.ZodString;
2986
+ }, z.core.$strict>>;
2987
+ durationMs: z.ZodOptional<z.ZodNumber>;
2988
+ }, z.core.$strict>>;
2989
+ token: z.ZodString;
2990
+ leaseUntil: z.ZodNumber;
2991
+ engineVersion: z.ZodOptional<z.ZodString>;
2992
+ }, z.core.$strict>, z.ZodObject<{
2993
+ status: z.ZodLiteral<"failed">;
2994
+ finishedAt: z.ZodISODateTime;
2995
+ manifest: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
2996
+ sha: z.ZodString;
2997
+ tree: z.ZodString;
2998
+ }, z.core.$strict>>>;
2999
+ manifestDigest: z.ZodOptional<z.ZodString>;
3000
+ error: z.ZodString;
3001
+ apiVersion: z.ZodLiteral<"devcontour-harness/v1alpha1">;
3002
+ id: z.ZodString;
3003
+ startedAt: z.ZodISODateTime;
3004
+ policyDigest: z.ZodString;
3005
+ specDigest: z.ZodString;
3006
+ workIds: z.ZodArray<z.ZodString>;
3007
+ impact: z.ZodOptional<z.ZodObject<{
3008
+ changed: z.ZodArray<z.ZodString>;
3009
+ affected: z.ZodArray<z.ZodString>;
3010
+ gateIds: z.ZodArray<z.ZodString>;
3011
+ mode: z.ZodEnum<{
3012
+ all: "all";
3013
+ affected: "affected";
3014
+ }>;
3015
+ reason: z.ZodString;
3016
+ baseline: z.ZodOptional<z.ZodString>;
3017
+ }, z.core.$strict>>;
3018
+ evidence: z.ZodArray<z.ZodObject<{
3019
+ gate: z.ZodString;
3020
+ passed: z.ZodBoolean;
3021
+ command: z.ZodArray<z.ZodString>;
3022
+ exitCode: z.ZodNumber;
3023
+ log: z.ZodString;
3024
+ digest: z.ZodString;
3025
+ summary: z.ZodString;
3026
+ artifacts: z.ZodArray<z.ZodObject<{
3027
+ path: z.ZodString;
3028
+ digest: z.ZodString;
3029
+ }, z.core.$strict>>;
3030
+ durationMs: z.ZodOptional<z.ZodNumber>;
3031
+ }, z.core.$strict>>;
3032
+ token: z.ZodString;
3033
+ leaseUntil: z.ZodNumber;
3034
+ engineVersion: z.ZodOptional<z.ZodString>;
3035
+ }, z.core.$strict>, z.ZodObject<{
3036
+ status: z.ZodLiteral<"passed">;
3037
+ finishedAt: z.ZodISODateTime;
3038
+ manifest: z.ZodRecord<z.ZodString, z.ZodObject<{
3039
+ sha: z.ZodString;
3040
+ tree: z.ZodString;
3041
+ }, z.core.$strict>>;
3042
+ manifestDigest: z.ZodString;
3043
+ apiVersion: z.ZodLiteral<"devcontour-harness/v1alpha1">;
3044
+ id: z.ZodString;
3045
+ startedAt: z.ZodISODateTime;
3046
+ policyDigest: z.ZodString;
3047
+ specDigest: z.ZodString;
3048
+ workIds: z.ZodArray<z.ZodString>;
3049
+ impact: z.ZodOptional<z.ZodObject<{
3050
+ changed: z.ZodArray<z.ZodString>;
3051
+ affected: z.ZodArray<z.ZodString>;
3052
+ gateIds: z.ZodArray<z.ZodString>;
3053
+ mode: z.ZodEnum<{
3054
+ all: "all";
3055
+ affected: "affected";
3056
+ }>;
3057
+ reason: z.ZodString;
3058
+ baseline: z.ZodOptional<z.ZodString>;
3059
+ }, z.core.$strict>>;
3060
+ evidence: z.ZodArray<z.ZodObject<{
3061
+ gate: z.ZodString;
3062
+ passed: z.ZodBoolean;
3063
+ command: z.ZodArray<z.ZodString>;
3064
+ exitCode: z.ZodNumber;
3065
+ log: z.ZodString;
3066
+ digest: z.ZodString;
3067
+ summary: z.ZodString;
3068
+ artifacts: z.ZodArray<z.ZodObject<{
3069
+ path: z.ZodString;
3070
+ digest: z.ZodString;
3071
+ }, z.core.$strict>>;
3072
+ durationMs: z.ZodOptional<z.ZodNumber>;
3073
+ }, z.core.$strict>>;
3074
+ token: z.ZodString;
3075
+ leaseUntil: z.ZodNumber;
3076
+ engineVersion: z.ZodOptional<z.ZodString>;
3077
+ }, z.core.$strict>], "status">>>;
3078
+ control: z.ZodObject<{
3079
+ paused: z.ZodBoolean;
3080
+ pauseReason: z.ZodOptional<z.ZodEnum<{
3081
+ runtime: "runtime";
3082
+ operator: "operator";
3083
+ shutdown: "shutdown";
3084
+ "base-check": "base-check";
3085
+ reconfigure: "reconfigure";
3086
+ }>>;
3087
+ pausedAt: z.ZodOptional<z.ZodISODateTime>;
3088
+ pauseOperation: z.ZodOptional<z.ZodString>;
3089
+ pauseFailures: z.ZodOptional<z.ZodArray<z.ZodEnum<{
3090
+ gate: "gate";
3091
+ unknown: "unknown";
3092
+ review: "review";
3093
+ environment: "environment";
3094
+ cancelled: "cancelled";
3095
+ timeout: "timeout";
3096
+ "provider-auth": "provider-auth";
3097
+ "stale-base": "stale-base";
3098
+ "empty-result": "empty-result";
3099
+ "scope-violation": "scope-violation";
3100
+ "review-protocol": "review-protocol";
3101
+ merge: "merge";
3102
+ budget: "budget";
3103
+ }>>>;
3104
+ waits: z.ZodOptional<z.ZodArray<z.ZodObject<{
3105
+ kind: z.ZodEnum<{
3106
+ "base-check": "base-check";
3107
+ "context-lock": "context-lock";
3108
+ }>;
3109
+ detail: z.ZodString;
3110
+ at: z.ZodISODateTime;
3111
+ operation: z.ZodOptional<z.ZodString>;
3112
+ }, z.core.$strict>>>;
3113
+ appliedPolicy: z.ZodOptional<z.ZodObject<{
3114
+ digest: z.ZodString;
3115
+ generation: z.ZodOptional<z.ZodNumber>;
3116
+ at: z.ZodISODateTime;
3117
+ by: z.ZodString;
3118
+ }, z.core.$strict>>;
3119
+ reconfigure: z.ZodOptional<z.ZodObject<{
3120
+ operation: z.ZodString;
3121
+ digest: z.ZodString;
3122
+ requestedAt: z.ZodISODateTime;
3123
+ appliedAt: z.ZodOptional<z.ZodISODateTime>;
3124
+ appliedBy: z.ZodOptional<z.ZodString>;
3125
+ error: z.ZodOptional<z.ZodString>;
3126
+ }, z.core.$strict>>;
3127
+ }, z.core.$strict>;
3128
+ controller: z.ZodOptional<z.ZodObject<{
3129
+ owner: z.ZodString;
3130
+ leaseUntil: z.ZodNumber;
3131
+ engineVersion: z.ZodOptional<z.ZodString>;
3132
+ }, z.core.$strict>>;
3133
+ sequence: z.ZodNumber;
3134
+ }, z.core.$strict>;
3135
+ readonly 'stack-profile': z.ZodObject<{
3136
+ id: z.ZodString;
3137
+ version: z.ZodString;
3138
+ extends: z.ZodDefault<z.ZodArray<z.ZodString>>;
3139
+ capabilities: z.ZodDefault<z.ZodArray<z.ZodString>>;
3140
+ gates: z.ZodDefault<z.ZodArray<z.ZodObject<{
3141
+ id: z.ZodString;
3142
+ kind: z.ZodEnum<{
3143
+ check: "check";
3144
+ test: "test";
3145
+ }>;
3146
+ command: z.ZodArray<z.ZodString>;
3147
+ timeoutMs: z.ZodDefault<z.ZodNumber>;
3148
+ report: z.ZodOptional<z.ZodObject<{
3149
+ type: z.ZodLiteral<"junit">;
3150
+ path: z.ZodString;
3151
+ }, z.core.$strict>>;
3152
+ property: z.ZodOptional<z.ZodObject<{
3153
+ path: z.ZodOptional<z.ZodString>;
3154
+ }, z.core.$strict>>;
3155
+ dependsOn: z.ZodOptional<z.ZodArray<z.ZodString>>;
3156
+ cwd: z.ZodOptional<z.ZodString>;
3157
+ resources: z.ZodOptional<z.ZodArray<z.ZodString>>;
3158
+ }, z.core.$strict>>>;
3159
+ prepare: z.ZodDefault<z.ZodArray<z.ZodObject<{
3160
+ id: z.ZodString;
3161
+ command: z.ZodArray<z.ZodString>;
3162
+ timeoutMs: z.ZodDefault<z.ZodNumber>;
3163
+ }, z.core.$strict>>>;
3164
+ environment: z.ZodOptional<z.ZodObject<{
3165
+ inherit: z.ZodDefault<z.ZodArray<z.ZodString>>;
3166
+ values: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
3167
+ secrets: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
3168
+ }, z.core.$strict>>;
3169
+ lifecycle: z.ZodOptional<z.ZodObject<{
3170
+ setup: z.ZodDefault<z.ZodArray<z.ZodObject<{
3171
+ id: z.ZodString;
3172
+ command: z.ZodArray<z.ZodString>;
3173
+ timeoutMs: z.ZodDefault<z.ZodNumber>;
3174
+ }, z.core.$strict>>>;
3175
+ ready: z.ZodDefault<z.ZodArray<z.ZodObject<{
3176
+ id: z.ZodString;
3177
+ command: z.ZodArray<z.ZodString>;
3178
+ timeoutMs: z.ZodDefault<z.ZodNumber>;
3179
+ }, z.core.$strict>>>;
3180
+ teardown: z.ZodArray<z.ZodObject<{
3181
+ id: z.ZodString;
3182
+ command: z.ZodArray<z.ZodString>;
3183
+ timeoutMs: z.ZodDefault<z.ZodNumber>;
3184
+ }, z.core.$strict>>;
3185
+ }, z.core.$strict>>;
3186
+ toolchain: z.ZodOptional<z.ZodObject<{
3187
+ tools: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
3188
+ packageManagers: z.ZodDefault<z.ZodRecord<z.ZodUnion<readonly [z.ZodLiteral<".">, z.ZodString]>, z.ZodEnum<{
3189
+ npm: "npm";
3190
+ pnpm: "pnpm";
3191
+ }>>>;
3192
+ }, z.core.$strict>>;
3193
+ protectedPaths: z.ZodDefault<z.ZodArray<z.ZodString>>;
3194
+ generatedPaths: z.ZodDefault<z.ZodArray<z.ZodString>>;
3195
+ concurrency: z.ZodOptional<z.ZodNumber>;
3196
+ runTimeoutMs: z.ZodOptional<z.ZodNumber>;
3197
+ roles: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
3198
+ runtime: z.ZodEnum<{
3199
+ codex: "codex";
3200
+ claude: "claude";
3201
+ }>;
3202
+ model: z.ZodOptional<z.ZodString>;
3203
+ effort: z.ZodOptional<z.ZodEnum<{
3204
+ low: "low";
3205
+ medium: "medium";
3206
+ high: "high";
3207
+ xhigh: "xhigh";
3208
+ }>>;
3209
+ toolProfile: z.ZodOptional<z.ZodString>;
3210
+ writePaths: z.ZodOptional<z.ZodArray<z.ZodString>>;
3211
+ reviewer: z.ZodOptional<z.ZodObject<{
3212
+ runtime: z.ZodEnum<{
3213
+ codex: "codex";
3214
+ claude: "claude";
3215
+ }>;
3216
+ model: z.ZodOptional<z.ZodString>;
3217
+ effort: z.ZodOptional<z.ZodEnum<{
3218
+ low: "low";
3219
+ medium: "medium";
3220
+ high: "high";
3221
+ xhigh: "xhigh";
3222
+ }>>;
3223
+ toolProfile: z.ZodOptional<z.ZodString>;
3224
+ }, z.core.$strict>>;
3225
+ title: z.ZodOptional<z.ZodString>;
3226
+ requiresContract: z.ZodOptional<z.ZodBoolean>;
3227
+ }, z.core.$strict>>>;
3228
+ contextPacks: z.ZodDefault<z.ZodArray<z.ZodObject<{
3229
+ id: z.ZodString;
3230
+ version: z.ZodString;
3231
+ repositoryId: z.ZodOptional<z.ZodString>;
3232
+ roles: z.ZodDefault<z.ZodArray<z.ZodString>>;
3233
+ files: z.ZodArray<z.ZodString>;
3234
+ references: z.ZodDefault<z.ZodArray<z.ZodString>>;
3235
+ }, z.core.$strict>>>;
3236
+ }, z.core.$strict>;
3237
+ };