@hunter-harness/workflow-harness 0.2.42 → 0.2.44

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 (334) hide show
  1. package/harness/bundles/general/claude-code/.harness-build.json +1 -1
  2. package/harness/bundles/general/claude-code/contracts/build-profile-v3.schema.json +156 -1
  3. package/harness/bundles/general/claude-code/contracts/fixtures/managed-execution.json +341 -0
  4. package/harness/bundles/general/claude-code/contracts/process-identity.schema.json +132 -0
  5. package/harness/bundles/general/claude-code/contracts/run-session.schema.json +142 -0
  6. package/harness/bundles/general/claude-code/contracts/service-retirement-receipt.schema.json +85 -0
  7. package/harness/bundles/general/claude-code/contracts/service-session.schema.json +147 -0
  8. package/harness/bundles/general/claude-code/harness-archive/SKILL.md +1 -1
  9. package/harness/bundles/general/claude-code/harness-archive/reference.md +1 -0
  10. package/harness/bundles/general/claude-code/harness-archive/templates/render-summary.mjs +8 -0
  11. package/harness/bundles/general/claude-code/harness-archive/templates/summary-data-template.json +28 -0
  12. package/harness/bundles/general/claude-code/harness-codebase-map/SKILL.md +1 -1
  13. package/harness/bundles/general/claude-code/harness-knowledge-ingest/SKILL.md +1 -1
  14. package/harness/bundles/general/claude-code/harness-knowledge-query/SKILL.md +1 -1
  15. package/harness/bundles/general/claude-code/harness-plan/SKILL.md +1 -1
  16. package/harness/bundles/general/claude-code/harness-review/SKILL.md +1 -1
  17. package/harness/bundles/general/claude-code/harness-run/SKILL.md +1 -1
  18. package/harness/bundles/general/claude-code/harness-run/reference.md +6 -1
  19. package/harness/bundles/general/claude-code/harness-submit/SKILL.md +1 -1
  20. package/harness/bundles/general/claude-code/harness-submit/checklist.md +12 -0
  21. package/harness/bundles/general/claude-code/harness-sync/SKILL.md +1 -1
  22. package/harness/bundles/general/claude-code/harness-test/SKILL.md +8 -2
  23. package/harness/bundles/general/claude-code/protocols/execution-session-protocol.md +52 -0
  24. package/harness/bundles/general/claude-code/protocols/state-layout-protocol.md +24 -1
  25. package/harness/bundles/general/claude-code/protocols/verification-graph-protocol.md +6 -0
  26. package/harness/bundles/general/claude-code/scripts/harness_archive.py +271 -22
  27. package/harness/bundles/general/claude-code/scripts/harness_change.py +137 -2
  28. package/harness/bundles/general/claude-code/scripts/harness_efficiency.py +443 -0
  29. package/harness/bundles/general/claude-code/scripts/harness_environment.py +760 -46
  30. package/harness/bundles/general/claude-code/scripts/harness_execution_contracts.py +596 -0
  31. package/harness/bundles/general/claude-code/scripts/harness_fixback.py +742 -0
  32. package/harness/bundles/general/claude-code/scripts/harness_integration.py +289 -52
  33. package/harness/bundles/general/claude-code/scripts/harness_ledger.py +5 -0
  34. package/harness/bundles/general/claude-code/scripts/harness_orchestration.py +344 -0
  35. package/harness/bundles/general/claude-code/scripts/harness_process.py +1065 -0
  36. package/harness/bundles/general/claude-code/scripts/harness_profile.py +278 -4
  37. package/harness/bundles/general/claude-code/scripts/harness_runtime.py +1576 -3
  38. package/harness/bundles/general/claude-code/scripts/harness_service.py +1528 -177
  39. package/harness/bundles/general/claude-code/scripts/harness_test_runner.py +224 -146
  40. package/harness/bundles/general/claude-code/scripts/harness_verification.py +487 -8
  41. package/harness/bundles/general/codebuddy/.harness-build.json +1 -1
  42. package/harness/bundles/general/codebuddy/contracts/build-profile-v3.schema.json +156 -1
  43. package/harness/bundles/general/codebuddy/contracts/fixtures/managed-execution.json +341 -0
  44. package/harness/bundles/general/codebuddy/contracts/process-identity.schema.json +132 -0
  45. package/harness/bundles/general/codebuddy/contracts/run-session.schema.json +142 -0
  46. package/harness/bundles/general/codebuddy/contracts/service-retirement-receipt.schema.json +85 -0
  47. package/harness/bundles/general/codebuddy/contracts/service-session.schema.json +147 -0
  48. package/harness/bundles/general/codebuddy/harness-archive/SKILL.md +1 -1
  49. package/harness/bundles/general/codebuddy/harness-archive/reference.md +1 -0
  50. package/harness/bundles/general/codebuddy/harness-archive/templates/render-summary.mjs +8 -0
  51. package/harness/bundles/general/codebuddy/harness-archive/templates/summary-data-template.json +28 -0
  52. package/harness/bundles/general/codebuddy/harness-codebase-map/SKILL.md +1 -1
  53. package/harness/bundles/general/codebuddy/harness-knowledge-ingest/SKILL.md +1 -1
  54. package/harness/bundles/general/codebuddy/harness-knowledge-query/SKILL.md +1 -1
  55. package/harness/bundles/general/codebuddy/harness-plan/SKILL.md +1 -1
  56. package/harness/bundles/general/codebuddy/harness-review/SKILL.md +1 -1
  57. package/harness/bundles/general/codebuddy/harness-run/SKILL.md +1 -1
  58. package/harness/bundles/general/codebuddy/harness-run/reference.md +6 -1
  59. package/harness/bundles/general/codebuddy/harness-submit/SKILL.md +1 -1
  60. package/harness/bundles/general/codebuddy/harness-submit/checklist.md +12 -0
  61. package/harness/bundles/general/codebuddy/harness-sync/SKILL.md +1 -1
  62. package/harness/bundles/general/codebuddy/harness-test/SKILL.md +8 -2
  63. package/harness/bundles/general/codebuddy/protocols/execution-session-protocol.md +52 -0
  64. package/harness/bundles/general/codebuddy/protocols/state-layout-protocol.md +24 -1
  65. package/harness/bundles/general/codebuddy/protocols/verification-graph-protocol.md +6 -0
  66. package/harness/bundles/general/codebuddy/scripts/harness_archive.py +271 -22
  67. package/harness/bundles/general/codebuddy/scripts/harness_change.py +137 -2
  68. package/harness/bundles/general/codebuddy/scripts/harness_efficiency.py +443 -0
  69. package/harness/bundles/general/codebuddy/scripts/harness_environment.py +760 -46
  70. package/harness/bundles/general/codebuddy/scripts/harness_execution_contracts.py +596 -0
  71. package/harness/bundles/general/codebuddy/scripts/harness_fixback.py +742 -0
  72. package/harness/bundles/general/codebuddy/scripts/harness_integration.py +289 -52
  73. package/harness/bundles/general/codebuddy/scripts/harness_ledger.py +5 -0
  74. package/harness/bundles/general/codebuddy/scripts/harness_orchestration.py +344 -0
  75. package/harness/bundles/general/codebuddy/scripts/harness_process.py +1065 -0
  76. package/harness/bundles/general/codebuddy/scripts/harness_profile.py +278 -4
  77. package/harness/bundles/general/codebuddy/scripts/harness_runtime.py +1576 -3
  78. package/harness/bundles/general/codebuddy/scripts/harness_service.py +1528 -177
  79. package/harness/bundles/general/codebuddy/scripts/harness_test_runner.py +224 -146
  80. package/harness/bundles/general/codebuddy/scripts/harness_verification.py +487 -8
  81. package/harness/bundles/general/codex/.harness-build.json +1 -1
  82. package/harness/bundles/general/codex/contracts/build-profile-v3.schema.json +156 -1
  83. package/harness/bundles/general/codex/contracts/fixtures/managed-execution.json +341 -0
  84. package/harness/bundles/general/codex/contracts/process-identity.schema.json +132 -0
  85. package/harness/bundles/general/codex/contracts/run-session.schema.json +142 -0
  86. package/harness/bundles/general/codex/contracts/service-retirement-receipt.schema.json +85 -0
  87. package/harness/bundles/general/codex/contracts/service-session.schema.json +147 -0
  88. package/harness/bundles/general/codex/harness-archive/SKILL.md +1 -1
  89. package/harness/bundles/general/codex/harness-archive/reference.md +1 -0
  90. package/harness/bundles/general/codex/harness-archive/templates/render-summary.mjs +8 -0
  91. package/harness/bundles/general/codex/harness-archive/templates/summary-data-template.json +28 -0
  92. package/harness/bundles/general/codex/harness-codebase-map/SKILL.md +1 -1
  93. package/harness/bundles/general/codex/harness-knowledge-ingest/SKILL.md +1 -1
  94. package/harness/bundles/general/codex/harness-knowledge-query/SKILL.md +1 -1
  95. package/harness/bundles/general/codex/harness-plan/SKILL.md +1 -1
  96. package/harness/bundles/general/codex/harness-review/SKILL.md +1 -1
  97. package/harness/bundles/general/codex/harness-run/SKILL.md +1 -1
  98. package/harness/bundles/general/codex/harness-run/reference.md +6 -1
  99. package/harness/bundles/general/codex/harness-submit/SKILL.md +1 -1
  100. package/harness/bundles/general/codex/harness-submit/checklist.md +12 -0
  101. package/harness/bundles/general/codex/harness-sync/SKILL.md +1 -1
  102. package/harness/bundles/general/codex/harness-test/SKILL.md +8 -2
  103. package/harness/bundles/general/codex/protocols/execution-session-protocol.md +52 -0
  104. package/harness/bundles/general/codex/protocols/state-layout-protocol.md +24 -1
  105. package/harness/bundles/general/codex/protocols/verification-graph-protocol.md +6 -0
  106. package/harness/bundles/general/codex/scripts/harness_archive.py +271 -22
  107. package/harness/bundles/general/codex/scripts/harness_change.py +137 -2
  108. package/harness/bundles/general/codex/scripts/harness_efficiency.py +443 -0
  109. package/harness/bundles/general/codex/scripts/harness_environment.py +760 -46
  110. package/harness/bundles/general/codex/scripts/harness_execution_contracts.py +596 -0
  111. package/harness/bundles/general/codex/scripts/harness_fixback.py +742 -0
  112. package/harness/bundles/general/codex/scripts/harness_integration.py +289 -52
  113. package/harness/bundles/general/codex/scripts/harness_ledger.py +5 -0
  114. package/harness/bundles/general/codex/scripts/harness_orchestration.py +344 -0
  115. package/harness/bundles/general/codex/scripts/harness_process.py +1065 -0
  116. package/harness/bundles/general/codex/scripts/harness_profile.py +278 -4
  117. package/harness/bundles/general/codex/scripts/harness_runtime.py +1576 -3
  118. package/harness/bundles/general/codex/scripts/harness_service.py +1528 -177
  119. package/harness/bundles/general/codex/scripts/harness_test_runner.py +224 -146
  120. package/harness/bundles/general/codex/scripts/harness_verification.py +487 -8
  121. package/harness/bundles/general/cursor/.harness-build.json +1 -1
  122. package/harness/bundles/general/cursor/contracts/build-profile-v3.schema.json +156 -1
  123. package/harness/bundles/general/cursor/contracts/fixtures/managed-execution.json +341 -0
  124. package/harness/bundles/general/cursor/contracts/process-identity.schema.json +132 -0
  125. package/harness/bundles/general/cursor/contracts/run-session.schema.json +142 -0
  126. package/harness/bundles/general/cursor/contracts/service-retirement-receipt.schema.json +85 -0
  127. package/harness/bundles/general/cursor/contracts/service-session.schema.json +147 -0
  128. package/harness/bundles/general/cursor/harness-archive/SKILL.md +1 -1
  129. package/harness/bundles/general/cursor/harness-archive/reference.md +1 -0
  130. package/harness/bundles/general/cursor/harness-archive/templates/render-summary.mjs +8 -0
  131. package/harness/bundles/general/cursor/harness-archive/templates/summary-data-template.json +28 -0
  132. package/harness/bundles/general/cursor/harness-codebase-map/SKILL.md +1 -1
  133. package/harness/bundles/general/cursor/harness-knowledge-ingest/SKILL.md +1 -1
  134. package/harness/bundles/general/cursor/harness-knowledge-query/SKILL.md +1 -1
  135. package/harness/bundles/general/cursor/harness-plan/SKILL.md +1 -1
  136. package/harness/bundles/general/cursor/harness-review/SKILL.md +1 -1
  137. package/harness/bundles/general/cursor/harness-run/SKILL.md +1 -1
  138. package/harness/bundles/general/cursor/harness-run/reference.md +6 -1
  139. package/harness/bundles/general/cursor/harness-submit/SKILL.md +1 -1
  140. package/harness/bundles/general/cursor/harness-submit/checklist.md +12 -0
  141. package/harness/bundles/general/cursor/harness-sync/SKILL.md +1 -1
  142. package/harness/bundles/general/cursor/harness-test/SKILL.md +8 -2
  143. package/harness/bundles/general/cursor/protocols/execution-session-protocol.md +52 -0
  144. package/harness/bundles/general/cursor/protocols/state-layout-protocol.md +24 -1
  145. package/harness/bundles/general/cursor/protocols/verification-graph-protocol.md +6 -0
  146. package/harness/bundles/general/cursor/scripts/harness_archive.py +271 -22
  147. package/harness/bundles/general/cursor/scripts/harness_change.py +137 -2
  148. package/harness/bundles/general/cursor/scripts/harness_efficiency.py +443 -0
  149. package/harness/bundles/general/cursor/scripts/harness_environment.py +760 -46
  150. package/harness/bundles/general/cursor/scripts/harness_execution_contracts.py +596 -0
  151. package/harness/bundles/general/cursor/scripts/harness_fixback.py +742 -0
  152. package/harness/bundles/general/cursor/scripts/harness_integration.py +289 -52
  153. package/harness/bundles/general/cursor/scripts/harness_ledger.py +5 -0
  154. package/harness/bundles/general/cursor/scripts/harness_orchestration.py +344 -0
  155. package/harness/bundles/general/cursor/scripts/harness_process.py +1065 -0
  156. package/harness/bundles/general/cursor/scripts/harness_profile.py +278 -4
  157. package/harness/bundles/general/cursor/scripts/harness_runtime.py +1576 -3
  158. package/harness/bundles/general/cursor/scripts/harness_service.py +1528 -177
  159. package/harness/bundles/general/cursor/scripts/harness_test_runner.py +224 -146
  160. package/harness/bundles/general/cursor/scripts/harness_verification.py +487 -8
  161. package/harness/bundles/java/claude-code/.harness-build.json +1 -1
  162. package/harness/bundles/java/claude-code/contracts/build-profile-v3.schema.json +156 -1
  163. package/harness/bundles/java/claude-code/contracts/fixtures/managed-execution.json +341 -0
  164. package/harness/bundles/java/claude-code/contracts/process-identity.schema.json +132 -0
  165. package/harness/bundles/java/claude-code/contracts/run-session.schema.json +142 -0
  166. package/harness/bundles/java/claude-code/contracts/service-retirement-receipt.schema.json +85 -0
  167. package/harness/bundles/java/claude-code/contracts/service-session.schema.json +147 -0
  168. package/harness/bundles/java/claude-code/harness-apidoc/SKILL.md +1 -1
  169. package/harness/bundles/java/claude-code/harness-archive/SKILL.md +1 -1
  170. package/harness/bundles/java/claude-code/harness-archive/reference.md +1 -0
  171. package/harness/bundles/java/claude-code/harness-archive/templates/render-summary.mjs +8 -0
  172. package/harness/bundles/java/claude-code/harness-archive/templates/summary-data-template.json +28 -0
  173. package/harness/bundles/java/claude-code/harness-codebase-map/SKILL.md +1 -1
  174. package/harness/bundles/java/claude-code/harness-knowledge-ingest/SKILL.md +1 -1
  175. package/harness/bundles/java/claude-code/harness-knowledge-query/SKILL.md +1 -1
  176. package/harness/bundles/java/claude-code/harness-package/SKILL.md +1 -1
  177. package/harness/bundles/java/claude-code/harness-plan/SKILL.md +1 -1
  178. package/harness/bundles/java/claude-code/harness-review/SKILL.md +1 -1
  179. package/harness/bundles/java/claude-code/harness-run/SKILL.md +1 -1
  180. package/harness/bundles/java/claude-code/harness-submit/SKILL.md +1 -1
  181. package/harness/bundles/java/claude-code/harness-submit/checklist.md +12 -0
  182. package/harness/bundles/java/claude-code/harness-sync/SKILL.md +1 -1
  183. package/harness/bundles/java/claude-code/harness-test/SKILL.md +8 -2
  184. package/harness/bundles/java/claude-code/protocols/execution-session-protocol.md +52 -0
  185. package/harness/bundles/java/claude-code/protocols/state-layout-protocol.md +24 -1
  186. package/harness/bundles/java/claude-code/protocols/verification-graph-protocol.md +6 -0
  187. package/harness/bundles/java/claude-code/scripts/harness_archive.py +271 -22
  188. package/harness/bundles/java/claude-code/scripts/harness_change.py +137 -2
  189. package/harness/bundles/java/claude-code/scripts/harness_efficiency.py +443 -0
  190. package/harness/bundles/java/claude-code/scripts/harness_environment.py +760 -46
  191. package/harness/bundles/java/claude-code/scripts/harness_execution_contracts.py +596 -0
  192. package/harness/bundles/java/claude-code/scripts/harness_fixback.py +742 -0
  193. package/harness/bundles/java/claude-code/scripts/harness_integration.py +289 -52
  194. package/harness/bundles/java/claude-code/scripts/harness_ledger.py +5 -0
  195. package/harness/bundles/java/claude-code/scripts/harness_orchestration.py +344 -0
  196. package/harness/bundles/java/claude-code/scripts/harness_process.py +1065 -0
  197. package/harness/bundles/java/claude-code/scripts/harness_profile.py +278 -4
  198. package/harness/bundles/java/claude-code/scripts/harness_runtime.py +1576 -3
  199. package/harness/bundles/java/claude-code/scripts/harness_service.py +1528 -177
  200. package/harness/bundles/java/claude-code/scripts/harness_test_runner.py +224 -146
  201. package/harness/bundles/java/claude-code/scripts/harness_verification.py +487 -8
  202. package/harness/bundles/java/codebuddy/.harness-build.json +1 -1
  203. package/harness/bundles/java/codebuddy/contracts/build-profile-v3.schema.json +156 -1
  204. package/harness/bundles/java/codebuddy/contracts/fixtures/managed-execution.json +341 -0
  205. package/harness/bundles/java/codebuddy/contracts/process-identity.schema.json +132 -0
  206. package/harness/bundles/java/codebuddy/contracts/run-session.schema.json +142 -0
  207. package/harness/bundles/java/codebuddy/contracts/service-retirement-receipt.schema.json +85 -0
  208. package/harness/bundles/java/codebuddy/contracts/service-session.schema.json +147 -0
  209. package/harness/bundles/java/codebuddy/harness-apidoc/SKILL.md +1 -1
  210. package/harness/bundles/java/codebuddy/harness-archive/SKILL.md +1 -1
  211. package/harness/bundles/java/codebuddy/harness-archive/reference.md +1 -0
  212. package/harness/bundles/java/codebuddy/harness-archive/templates/render-summary.mjs +8 -0
  213. package/harness/bundles/java/codebuddy/harness-archive/templates/summary-data-template.json +28 -0
  214. package/harness/bundles/java/codebuddy/harness-codebase-map/SKILL.md +1 -1
  215. package/harness/bundles/java/codebuddy/harness-knowledge-ingest/SKILL.md +1 -1
  216. package/harness/bundles/java/codebuddy/harness-knowledge-query/SKILL.md +1 -1
  217. package/harness/bundles/java/codebuddy/harness-package/SKILL.md +1 -1
  218. package/harness/bundles/java/codebuddy/harness-plan/SKILL.md +1 -1
  219. package/harness/bundles/java/codebuddy/harness-review/SKILL.md +1 -1
  220. package/harness/bundles/java/codebuddy/harness-run/SKILL.md +1 -1
  221. package/harness/bundles/java/codebuddy/harness-submit/SKILL.md +1 -1
  222. package/harness/bundles/java/codebuddy/harness-submit/checklist.md +12 -0
  223. package/harness/bundles/java/codebuddy/harness-sync/SKILL.md +1 -1
  224. package/harness/bundles/java/codebuddy/harness-test/SKILL.md +8 -2
  225. package/harness/bundles/java/codebuddy/protocols/execution-session-protocol.md +52 -0
  226. package/harness/bundles/java/codebuddy/protocols/state-layout-protocol.md +24 -1
  227. package/harness/bundles/java/codebuddy/protocols/verification-graph-protocol.md +6 -0
  228. package/harness/bundles/java/codebuddy/scripts/harness_archive.py +271 -22
  229. package/harness/bundles/java/codebuddy/scripts/harness_change.py +137 -2
  230. package/harness/bundles/java/codebuddy/scripts/harness_efficiency.py +443 -0
  231. package/harness/bundles/java/codebuddy/scripts/harness_environment.py +760 -46
  232. package/harness/bundles/java/codebuddy/scripts/harness_execution_contracts.py +596 -0
  233. package/harness/bundles/java/codebuddy/scripts/harness_fixback.py +742 -0
  234. package/harness/bundles/java/codebuddy/scripts/harness_integration.py +289 -52
  235. package/harness/bundles/java/codebuddy/scripts/harness_ledger.py +5 -0
  236. package/harness/bundles/java/codebuddy/scripts/harness_orchestration.py +344 -0
  237. package/harness/bundles/java/codebuddy/scripts/harness_process.py +1065 -0
  238. package/harness/bundles/java/codebuddy/scripts/harness_profile.py +278 -4
  239. package/harness/bundles/java/codebuddy/scripts/harness_runtime.py +1576 -3
  240. package/harness/bundles/java/codebuddy/scripts/harness_service.py +1528 -177
  241. package/harness/bundles/java/codebuddy/scripts/harness_test_runner.py +224 -146
  242. package/harness/bundles/java/codebuddy/scripts/harness_verification.py +487 -8
  243. package/harness/bundles/java/codex/.harness-build.json +1 -1
  244. package/harness/bundles/java/codex/contracts/build-profile-v3.schema.json +156 -1
  245. package/harness/bundles/java/codex/contracts/fixtures/managed-execution.json +341 -0
  246. package/harness/bundles/java/codex/contracts/process-identity.schema.json +132 -0
  247. package/harness/bundles/java/codex/contracts/run-session.schema.json +142 -0
  248. package/harness/bundles/java/codex/contracts/service-retirement-receipt.schema.json +85 -0
  249. package/harness/bundles/java/codex/contracts/service-session.schema.json +147 -0
  250. package/harness/bundles/java/codex/harness-apidoc/SKILL.md +1 -1
  251. package/harness/bundles/java/codex/harness-archive/SKILL.md +1 -1
  252. package/harness/bundles/java/codex/harness-archive/reference.md +1 -0
  253. package/harness/bundles/java/codex/harness-archive/templates/render-summary.mjs +8 -0
  254. package/harness/bundles/java/codex/harness-archive/templates/summary-data-template.json +28 -0
  255. package/harness/bundles/java/codex/harness-codebase-map/SKILL.md +1 -1
  256. package/harness/bundles/java/codex/harness-knowledge-ingest/SKILL.md +1 -1
  257. package/harness/bundles/java/codex/harness-knowledge-query/SKILL.md +1 -1
  258. package/harness/bundles/java/codex/harness-package/SKILL.md +1 -1
  259. package/harness/bundles/java/codex/harness-plan/SKILL.md +1 -1
  260. package/harness/bundles/java/codex/harness-review/SKILL.md +1 -1
  261. package/harness/bundles/java/codex/harness-run/SKILL.md +1 -1
  262. package/harness/bundles/java/codex/harness-submit/SKILL.md +1 -1
  263. package/harness/bundles/java/codex/harness-submit/checklist.md +12 -0
  264. package/harness/bundles/java/codex/harness-sync/SKILL.md +1 -1
  265. package/harness/bundles/java/codex/harness-test/SKILL.md +8 -2
  266. package/harness/bundles/java/codex/protocols/execution-session-protocol.md +52 -0
  267. package/harness/bundles/java/codex/protocols/state-layout-protocol.md +24 -1
  268. package/harness/bundles/java/codex/protocols/verification-graph-protocol.md +6 -0
  269. package/harness/bundles/java/codex/scripts/harness_archive.py +271 -22
  270. package/harness/bundles/java/codex/scripts/harness_change.py +137 -2
  271. package/harness/bundles/java/codex/scripts/harness_efficiency.py +443 -0
  272. package/harness/bundles/java/codex/scripts/harness_environment.py +760 -46
  273. package/harness/bundles/java/codex/scripts/harness_execution_contracts.py +596 -0
  274. package/harness/bundles/java/codex/scripts/harness_fixback.py +742 -0
  275. package/harness/bundles/java/codex/scripts/harness_integration.py +289 -52
  276. package/harness/bundles/java/codex/scripts/harness_ledger.py +5 -0
  277. package/harness/bundles/java/codex/scripts/harness_orchestration.py +344 -0
  278. package/harness/bundles/java/codex/scripts/harness_process.py +1065 -0
  279. package/harness/bundles/java/codex/scripts/harness_profile.py +278 -4
  280. package/harness/bundles/java/codex/scripts/harness_runtime.py +1576 -3
  281. package/harness/bundles/java/codex/scripts/harness_service.py +1528 -177
  282. package/harness/bundles/java/codex/scripts/harness_test_runner.py +224 -146
  283. package/harness/bundles/java/codex/scripts/harness_verification.py +487 -8
  284. package/harness/bundles/java/cursor/.harness-build.json +1 -1
  285. package/harness/bundles/java/cursor/contracts/build-profile-v3.schema.json +156 -1
  286. package/harness/bundles/java/cursor/contracts/fixtures/managed-execution.json +341 -0
  287. package/harness/bundles/java/cursor/contracts/process-identity.schema.json +132 -0
  288. package/harness/bundles/java/cursor/contracts/run-session.schema.json +142 -0
  289. package/harness/bundles/java/cursor/contracts/service-retirement-receipt.schema.json +85 -0
  290. package/harness/bundles/java/cursor/contracts/service-session.schema.json +147 -0
  291. package/harness/bundles/java/cursor/harness-apidoc/SKILL.md +1 -1
  292. package/harness/bundles/java/cursor/harness-archive/SKILL.md +1 -1
  293. package/harness/bundles/java/cursor/harness-archive/reference.md +1 -0
  294. package/harness/bundles/java/cursor/harness-archive/templates/render-summary.mjs +8 -0
  295. package/harness/bundles/java/cursor/harness-archive/templates/summary-data-template.json +28 -0
  296. package/harness/bundles/java/cursor/harness-codebase-map/SKILL.md +1 -1
  297. package/harness/bundles/java/cursor/harness-knowledge-ingest/SKILL.md +1 -1
  298. package/harness/bundles/java/cursor/harness-knowledge-query/SKILL.md +1 -1
  299. package/harness/bundles/java/cursor/harness-package/SKILL.md +1 -1
  300. package/harness/bundles/java/cursor/harness-plan/SKILL.md +1 -1
  301. package/harness/bundles/java/cursor/harness-review/SKILL.md +1 -1
  302. package/harness/bundles/java/cursor/harness-run/SKILL.md +1 -1
  303. package/harness/bundles/java/cursor/harness-submit/SKILL.md +1 -1
  304. package/harness/bundles/java/cursor/harness-submit/checklist.md +12 -0
  305. package/harness/bundles/java/cursor/harness-sync/SKILL.md +1 -1
  306. package/harness/bundles/java/cursor/harness-test/SKILL.md +8 -2
  307. package/harness/bundles/java/cursor/protocols/execution-session-protocol.md +52 -0
  308. package/harness/bundles/java/cursor/protocols/state-layout-protocol.md +24 -1
  309. package/harness/bundles/java/cursor/protocols/verification-graph-protocol.md +6 -0
  310. package/harness/bundles/java/cursor/scripts/harness_archive.py +271 -22
  311. package/harness/bundles/java/cursor/scripts/harness_change.py +137 -2
  312. package/harness/bundles/java/cursor/scripts/harness_efficiency.py +443 -0
  313. package/harness/bundles/java/cursor/scripts/harness_environment.py +760 -46
  314. package/harness/bundles/java/cursor/scripts/harness_execution_contracts.py +596 -0
  315. package/harness/bundles/java/cursor/scripts/harness_fixback.py +742 -0
  316. package/harness/bundles/java/cursor/scripts/harness_integration.py +289 -52
  317. package/harness/bundles/java/cursor/scripts/harness_ledger.py +5 -0
  318. package/harness/bundles/java/cursor/scripts/harness_orchestration.py +344 -0
  319. package/harness/bundles/java/cursor/scripts/harness_process.py +1065 -0
  320. package/harness/bundles/java/cursor/scripts/harness_profile.py +278 -4
  321. package/harness/bundles/java/cursor/scripts/harness_runtime.py +1576 -3
  322. package/harness/bundles/java/cursor/scripts/harness_service.py +1528 -177
  323. package/harness/bundles/java/cursor/scripts/harness_test_runner.py +224 -146
  324. package/harness/bundles/java/cursor/scripts/harness_verification.py +487 -8
  325. package/harness/manifests/general/claude-code.json +76 -31
  326. package/harness/manifests/general/codebuddy.json +76 -31
  327. package/harness/manifests/general/codex.json +76 -31
  328. package/harness/manifests/general/cursor.json +76 -31
  329. package/harness/manifests/java/claude-code.json +77 -32
  330. package/harness/manifests/java/codebuddy.json +77 -32
  331. package/harness/manifests/java/codex.json +77 -32
  332. package/harness/manifests/java/cursor.json +77 -32
  333. package/hunter-workflow-family.json +6 -4
  334. package/package.json +1 -1
@@ -2,5 +2,5 @@
2
2
  "schemaVersion": 1,
3
3
  "overlay": "none",
4
4
  "agent": "claude-code",
5
- "coreHash": "433205be6e827dd9"
5
+ "coreHash": "367eb27020f2b966"
6
6
  }
@@ -108,6 +108,10 @@
108
108
  "requiredCapabilities"
109
109
  ],
110
110
  "properties": {
111
+ "id": {
112
+ "type": "string",
113
+ "pattern": "^[A-Za-z][A-Za-z0-9_-]*$"
114
+ },
111
115
  "commandKey": {
112
116
  "type": "string",
113
117
  "pattern": "^[A-Za-z][A-Za-z0-9_-]*$"
@@ -124,7 +128,36 @@
124
128
  "enum": [
125
129
  "incremental",
126
130
  "module-am",
127
- "module"
131
+ "module",
132
+ "full"
133
+ ]
134
+ },
135
+ "argvTemplate": {
136
+ "type": "array",
137
+ "items": {
138
+ "type": "string"
139
+ },
140
+ "minItems": 1
141
+ },
142
+ "inputs": {
143
+ "type": "array",
144
+ "items": {
145
+ "type": "string",
146
+ "minLength": 1
147
+ }
148
+ },
149
+ "coverage": {
150
+ "type": [
151
+ "string",
152
+ "null"
153
+ ]
154
+ },
155
+ "coverageLevel": {
156
+ "enum": [
157
+ "incremental",
158
+ "module",
159
+ "module-am",
160
+ "full"
128
161
  ]
129
162
  },
130
163
  "candidate": {
@@ -137,11 +170,133 @@
137
170
  "minLength": 1
138
171
  },
139
172
  "uniqueItems": true
173
+ },
174
+ "resourceLocks": {
175
+ "type": "array",
176
+ "items": {
177
+ "type": "string",
178
+ "minLength": 1
179
+ },
180
+ "uniqueItems": true
181
+ },
182
+ "estimatedDurationSeconds": {
183
+ "type": "number",
184
+ "minimum": 0
185
+ },
186
+ "requiresFrozenIdentity": {
187
+ "type": "boolean"
188
+ },
189
+ "reusePolicy": {
190
+ "enum": [
191
+ "never",
192
+ "identity-exact",
193
+ "ledger-exact"
194
+ ]
140
195
  }
141
196
  }
142
197
  }
143
198
  }
144
199
  }
200
+ },
201
+ "serviceStart": {
202
+ "type": "object",
203
+ "additionalProperties": false,
204
+ "required": [
205
+ "healthUrl",
206
+ "startTimeoutSec",
207
+ "inputFiles",
208
+ "source",
209
+ "profile",
210
+ "overlayPath"
211
+ ],
212
+ "properties": {
213
+ "argvTemplate": {
214
+ "type": "array",
215
+ "items": {
216
+ "type": "string"
217
+ }
218
+ },
219
+ "command": {
220
+ "type": "string",
221
+ "minLength": 1
222
+ },
223
+ "healthUrl": {
224
+ "type": "string"
225
+ },
226
+ "healthFile": {
227
+ "type": "string"
228
+ },
229
+ "startTimeoutSec": {
230
+ "type": "number",
231
+ "exclusiveMinimum": 0
232
+ },
233
+ "inputFiles": {
234
+ "type": "array",
235
+ "items": {
236
+ "type": "string",
237
+ "minLength": 1
238
+ }
239
+ },
240
+ "source": {
241
+ "enum": [
242
+ "detected",
243
+ "user"
244
+ ]
245
+ },
246
+ "profile": {
247
+ "type": "string"
248
+ },
249
+ "overlayPath": {
250
+ "type": "string"
251
+ },
252
+ "legacyWarning": {
253
+ "type": "object",
254
+ "additionalProperties": false,
255
+ "required": [
256
+ "reasonCode",
257
+ "platform",
258
+ "message"
259
+ ],
260
+ "properties": {
261
+ "reasonCode": {
262
+ "const": "PROFILE_MIGRATION_UNSAFE"
263
+ },
264
+ "platform": {
265
+ "enum": [
266
+ "windows",
267
+ "posix"
268
+ ]
269
+ },
270
+ "message": {
271
+ "type": "string",
272
+ "minLength": 1
273
+ }
274
+ }
275
+ }
276
+ },
277
+ "oneOf": [
278
+ {
279
+ "required": [
280
+ "argvTemplate"
281
+ ],
282
+ "not": {
283
+ "required": [
284
+ "command"
285
+ ]
286
+ }
287
+ },
288
+ {
289
+ "required": [
290
+ "command",
291
+ "legacyWarning"
292
+ ],
293
+ "not": {
294
+ "required": [
295
+ "argvTemplate"
296
+ ]
297
+ }
298
+ }
299
+ ]
145
300
  }
146
301
  }
147
302
  }
@@ -0,0 +1,341 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "corpusHash": "sha256:31fe3f111d35e37b7c0f067d2757d2e1b7bf7969fcee81f66276e87b321680d5",
4
+ "fixtures": [
5
+ {
6
+ "id": "process-valid-complete",
7
+ "contract": "process-identity",
8
+ "valid": true,
9
+ "payload": {
10
+ "schemaVersion": 1,
11
+ "pid": 4200,
12
+ "alive": true,
13
+ "createdAt": "2026-07-31T12:00:00Z",
14
+ "executable": "C:\\Python\\python.exe",
15
+ "argvHash": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
16
+ "workingDirectory": "C:\\工作区\\managed run",
17
+ "parentIdentity": {
18
+ "pid": 4100,
19
+ "createdAt": "2026-07-31T11:59:59Z",
20
+ "executable": "C:\\PowerShell\\pwsh.exe"
21
+ },
22
+ "ownerTokenHash": "sha256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
23
+ "treeIdentity": {
24
+ "platform": "WINDOWS",
25
+ "proofKind": "NAMED_JOB",
26
+ "memberPids": [4200, 4210],
27
+ "complete": true
28
+ },
29
+ "fieldProvenance": {
30
+ "pid": "OBSERVED",
31
+ "createdAt": "OBSERVED",
32
+ "executable": "OBSERVED",
33
+ "argvHash": "ATTESTED",
34
+ "workingDirectory": "ATTESTED",
35
+ "parentIdentity": "OBSERVED",
36
+ "ownerTokenHash": "ATTESTED",
37
+ "treeIdentity": "OBSERVED"
38
+ },
39
+ "capabilities": {
40
+ "canObserveCreateTime": true,
41
+ "canObserveExecutable": true,
42
+ "canObserveArgv": false,
43
+ "canObserveWorkingDirectory": false,
44
+ "canObserveParent": true,
45
+ "canEnumerateTree": true,
46
+ "canVerifyOwnership": true
47
+ }
48
+ }
49
+ },
50
+ {
51
+ "id": "process-invalid-self-attested-pid",
52
+ "contract": "process-identity",
53
+ "valid": false,
54
+ "payload": {
55
+ "schemaVersion": 1,
56
+ "pid": 4200,
57
+ "alive": true,
58
+ "createdAt": null,
59
+ "executable": null,
60
+ "argvHash": null,
61
+ "workingDirectory": null,
62
+ "parentIdentity": null,
63
+ "ownerTokenHash": null,
64
+ "treeIdentity": null,
65
+ "fieldProvenance": {
66
+ "pid": "ATTESTED",
67
+ "createdAt": "UNAVAILABLE",
68
+ "executable": "UNAVAILABLE",
69
+ "argvHash": "UNAVAILABLE",
70
+ "workingDirectory": "UNAVAILABLE",
71
+ "parentIdentity": "UNAVAILABLE",
72
+ "ownerTokenHash": "UNAVAILABLE",
73
+ "treeIdentity": "UNAVAILABLE"
74
+ },
75
+ "capabilities": {
76
+ "canObserveCreateTime": false,
77
+ "canObserveExecutable": false,
78
+ "canObserveArgv": false,
79
+ "canObserveWorkingDirectory": false,
80
+ "canObserveParent": false,
81
+ "canEnumerateTree": false,
82
+ "canVerifyOwnership": false
83
+ }
84
+ }
85
+ },
86
+ {
87
+ "id": "run-valid-ok",
88
+ "contract": "run-session",
89
+ "valid": true,
90
+ "payload": {
91
+ "schemaVersion": 1,
92
+ "sessionId": "run-valid-ok",
93
+ "status": "OK",
94
+ "reasonCode": "CHILD_EXIT_ZERO",
95
+ "exitCode": 0,
96
+ "processIdentity": null,
97
+ "heartbeat": null,
98
+ "logs": {
99
+ "stdout": {
100
+ "cursor": 12,
101
+ "rawDigest": "sha256:cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc",
102
+ "decodeStatus": "OK"
103
+ },
104
+ "stderr": {
105
+ "cursor": 0,
106
+ "rawDigest": "sha256:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd",
107
+ "decodeStatus": "OK"
108
+ }
109
+ },
110
+ "cleanup": {
111
+ "complete": true,
112
+ "reasonCode": null
113
+ },
114
+ "resultDigest": "sha256:eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
115
+ }
116
+ },
117
+ {
118
+ "id": "run-invalid-terminal-exit",
119
+ "contract": "run-session",
120
+ "valid": false,
121
+ "payload": {
122
+ "schemaVersion": 1,
123
+ "sessionId": "run-invalid-terminal-exit",
124
+ "status": "FAIL",
125
+ "reasonCode": "CHILD_EXIT_NONZERO",
126
+ "exitCode": null,
127
+ "processIdentity": null,
128
+ "heartbeat": null,
129
+ "logs": {
130
+ "stdout": {
131
+ "cursor": 0,
132
+ "rawDigest": "sha256:cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc",
133
+ "decodeStatus": "OK"
134
+ },
135
+ "stderr": {
136
+ "cursor": 4,
137
+ "rawDigest": "sha256:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd",
138
+ "decodeStatus": "OK"
139
+ }
140
+ },
141
+ "cleanup": {
142
+ "complete": true,
143
+ "reasonCode": null
144
+ },
145
+ "resultDigest": "sha256:eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
146
+ }
147
+ },
148
+ {
149
+ "id": "run-valid-incomplete",
150
+ "contract": "run-session",
151
+ "valid": true,
152
+ "payload": {
153
+ "schemaVersion": 1,
154
+ "sessionId": "run-valid-incomplete",
155
+ "status": "INCOMPLETE",
156
+ "reasonCode": "HEARTBEAT_LOST",
157
+ "exitCode": null,
158
+ "processIdentity": null,
159
+ "heartbeat": {
160
+ "kind": "WORKER",
161
+ "writerIdentity": "sha256:ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
162
+ "lastSeenAt": "2026-07-31T12:00:30Z",
163
+ "ttlSeconds": 30,
164
+ "staleReason": "HEARTBEAT_LOST"
165
+ },
166
+ "logs": {
167
+ "stdout": {
168
+ "cursor": 2,
169
+ "rawDigest": "sha256:cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc",
170
+ "decodeStatus": "LOG_DECODE_DEGRADED"
171
+ },
172
+ "stderr": {
173
+ "cursor": 0,
174
+ "rawDigest": "sha256:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd",
175
+ "decodeStatus": "OK"
176
+ }
177
+ },
178
+ "cleanup": {
179
+ "complete": false,
180
+ "reasonCode": "IDENTITY_UNVERIFIABLE"
181
+ },
182
+ "resultDigest": "sha256:eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
183
+ }
184
+ },
185
+ {
186
+ "id": "run-invalid-incomplete-exit",
187
+ "contract": "run-session",
188
+ "valid": false,
189
+ "payload": {
190
+ "schemaVersion": 1,
191
+ "sessionId": "run-invalid-incomplete-exit",
192
+ "status": "INCOMPLETE",
193
+ "reasonCode": "HEARTBEAT_LOST",
194
+ "exitCode": 9,
195
+ "processIdentity": null,
196
+ "heartbeat": null,
197
+ "logs": {
198
+ "stdout": {
199
+ "cursor": 0,
200
+ "rawDigest": "sha256:cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc",
201
+ "decodeStatus": "OK"
202
+ },
203
+ "stderr": {
204
+ "cursor": 0,
205
+ "rawDigest": "sha256:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd",
206
+ "decodeStatus": "OK"
207
+ }
208
+ },
209
+ "cleanup": {
210
+ "complete": false,
211
+ "reasonCode": "IDENTITY_UNVERIFIABLE"
212
+ },
213
+ "resultDigest": "sha256:eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
214
+ }
215
+ },
216
+ {
217
+ "id": "service-valid-ready",
218
+ "contract": "service-session",
219
+ "valid": true,
220
+ "payload": {
221
+ "schemaVersion": 1,
222
+ "serviceId": "preview",
223
+ "sessionId": "service-preview-generation-2",
224
+ "status": "READY",
225
+ "reasonCode": "SERVICE_READY",
226
+ "serviceGeneration": 2,
227
+ "stateRevision": 3,
228
+ "operationId": "ensure-02",
229
+ "fingerprint": "sha256:1111111111111111111111111111111111111111111111111111111111111111",
230
+ "processIdentity": null,
231
+ "heartbeat": {
232
+ "kind": "SUPERVISOR",
233
+ "writerIdentity": "sha256:2222222222222222222222222222222222222222222222222222222222222222",
234
+ "generation": 2,
235
+ "lastSeenAt": "2026-07-31T12:01:00Z",
236
+ "ttlSeconds": 30,
237
+ "staleReason": null
238
+ },
239
+ "leaseIdentity": {
240
+ "leaseId": "lease-preview-2",
241
+ "changeId": "change-preview",
242
+ "runId": "run-preview",
243
+ "expiresAt": "2026-07-31T13:00:00Z",
244
+ "generation": 2
245
+ },
246
+ "transitionHistory": [
247
+ {
248
+ "from": null,
249
+ "to": "STARTING",
250
+ "reasonCode": "SERVICE_START_REQUESTED",
251
+ "revision": 1
252
+ },
253
+ {
254
+ "from": "STARTING",
255
+ "to": "READY",
256
+ "reasonCode": "SERVICE_READY",
257
+ "revision": 3
258
+ }
259
+ ],
260
+ "cleanupComplete": false,
261
+ "supersedesSessionId": null
262
+ }
263
+ },
264
+ {
265
+ "id": "service-invalid-revision",
266
+ "contract": "service-session",
267
+ "valid": false,
268
+ "payload": {
269
+ "schemaVersion": 1,
270
+ "serviceId": "preview",
271
+ "sessionId": "service-preview-generation-2",
272
+ "status": "READY",
273
+ "reasonCode": "SERVICE_READY",
274
+ "serviceGeneration": 2,
275
+ "stateRevision": 0,
276
+ "operationId": "ensure-02",
277
+ "fingerprint": "sha256:1111111111111111111111111111111111111111111111111111111111111111",
278
+ "processIdentity": null,
279
+ "heartbeat": null,
280
+ "leaseIdentity": null,
281
+ "transitionHistory": [],
282
+ "cleanupComplete": false,
283
+ "supersedesSessionId": null
284
+ }
285
+ },
286
+ {
287
+ "id": "retirement-valid-retained",
288
+ "contract": "service-retirement-receipt",
289
+ "valid": true,
290
+ "payload": {
291
+ "schemaVersion": 1,
292
+ "receiptId": "retirement-preview-1",
293
+ "operationId": "retire-operation-1",
294
+ "serviceId": "preview",
295
+ "oldSessionId": "service-preview-generation-1",
296
+ "oldGeneration": 1,
297
+ "state": "FINALIZED",
298
+ "retirementStateCommit": {
299
+ "status": "COMMITTED",
300
+ "reasonCode": "SERVICE_RETIRED"
301
+ },
302
+ "leaseCleanup": {
303
+ "status": "RETAINED",
304
+ "reasonCode": "LISTENER_IDENTITY_UNVERIFIABLE",
305
+ "leaseId": "lease-preview-1"
306
+ },
307
+ "cleanupComplete": false,
308
+ "awaitingSuperseder": true,
309
+ "supersededBySessionId": null,
310
+ "receiptDigest": "sha256:3333333333333333333333333333333333333333333333333333333333333333"
311
+ }
312
+ },
313
+ {
314
+ "id": "retirement-invalid-cleanup-claim",
315
+ "contract": "service-retirement-receipt",
316
+ "valid": false,
317
+ "payload": {
318
+ "schemaVersion": 1,
319
+ "receiptId": "retirement-preview-1",
320
+ "operationId": "retire-operation-1",
321
+ "serviceId": "preview",
322
+ "oldSessionId": "service-preview-generation-1",
323
+ "oldGeneration": 1,
324
+ "state": "FINALIZED",
325
+ "retirementStateCommit": {
326
+ "status": "COMMITTED",
327
+ "reasonCode": "SERVICE_RETIRED"
328
+ },
329
+ "leaseCleanup": {
330
+ "status": "RETAINED",
331
+ "reasonCode": "LISTENER_IDENTITY_UNVERIFIABLE",
332
+ "leaseId": "lease-preview-1"
333
+ },
334
+ "cleanupComplete": true,
335
+ "awaitingSuperseder": true,
336
+ "supersededBySessionId": null,
337
+ "receiptDigest": "sha256:3333333333333333333333333333333333333333333333333333333333333333"
338
+ }
339
+ }
340
+ ]
341
+ }
@@ -0,0 +1,132 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://hunter-harness.dev/contracts/process-identity.schema.json",
4
+ "title": "Hunter Harness process identity",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": [
8
+ "schemaVersion",
9
+ "pid",
10
+ "alive",
11
+ "createdAt",
12
+ "executable",
13
+ "argvHash",
14
+ "workingDirectory",
15
+ "parentIdentity",
16
+ "ownerTokenHash",
17
+ "treeIdentity",
18
+ "fieldProvenance",
19
+ "capabilities"
20
+ ],
21
+ "properties": {
22
+ "schemaVersion": { "const": 1 },
23
+ "pid": { "type": "integer", "minimum": 1 },
24
+ "alive": { "type": "boolean" },
25
+ "createdAt": { "type": ["string", "null"], "minLength": 1 },
26
+ "executable": { "type": ["string", "null"], "minLength": 1 },
27
+ "argvHash": { "$ref": "#/$defs/nullableDigest" },
28
+ "workingDirectory": { "type": ["string", "null"], "minLength": 1 },
29
+ "parentIdentity": {
30
+ "oneOf": [
31
+ { "type": "null" },
32
+ {
33
+ "type": "object",
34
+ "additionalProperties": false,
35
+ "required": ["pid", "createdAt", "executable"],
36
+ "properties": {
37
+ "pid": { "type": "integer", "minimum": 1 },
38
+ "createdAt": { "type": ["string", "null"], "minLength": 1 },
39
+ "executable": { "type": ["string", "null"], "minLength": 1 }
40
+ }
41
+ }
42
+ ]
43
+ },
44
+ "ownerTokenHash": { "$ref": "#/$defs/nullableDigest" },
45
+ "commandHash": { "$ref": "#/$defs/digest" },
46
+ "parentChain": { "type": "array" },
47
+ "startedAt": { "type": "string", "minLength": 1 },
48
+ "treeIdentity": {
49
+ "oneOf": [
50
+ { "type": "null" },
51
+ {
52
+ "type": "object",
53
+ "additionalProperties": false,
54
+ "required": ["platform", "proofKind", "memberPids", "complete"],
55
+ "properties": {
56
+ "platform": { "enum": ["WINDOWS", "LINUX", "POSIX"] },
57
+ "proofKind": { "type": "string", "minLength": 1 },
58
+ "memberPids": {
59
+ "type": "array",
60
+ "items": { "type": "integer", "minimum": 1 },
61
+ "uniqueItems": true
62
+ },
63
+ "complete": { "type": "boolean" },
64
+ "groupId": { "type": "integer", "minimum": 1 },
65
+ "sessionId": { "type": "integer", "minimum": 1 }
66
+ }
67
+ }
68
+ ]
69
+ },
70
+ "fieldProvenance": {
71
+ "type": "object",
72
+ "additionalProperties": false,
73
+ "required": [
74
+ "pid",
75
+ "createdAt",
76
+ "executable",
77
+ "argvHash",
78
+ "workingDirectory",
79
+ "parentIdentity",
80
+ "ownerTokenHash",
81
+ "treeIdentity"
82
+ ],
83
+ "properties": {
84
+ "pid": { "const": "OBSERVED" },
85
+ "createdAt": { "$ref": "#/$defs/provenance" },
86
+ "executable": { "$ref": "#/$defs/provenance" },
87
+ "argvHash": { "$ref": "#/$defs/provenance" },
88
+ "workingDirectory": { "$ref": "#/$defs/provenance" },
89
+ "parentIdentity": { "$ref": "#/$defs/provenance" },
90
+ "ownerTokenHash": { "$ref": "#/$defs/provenance" },
91
+ "treeIdentity": { "$ref": "#/$defs/provenance" }
92
+ }
93
+ },
94
+ "capabilities": {
95
+ "type": "object",
96
+ "additionalProperties": false,
97
+ "required": [
98
+ "canObserveCreateTime",
99
+ "canObserveExecutable",
100
+ "canObserveArgv",
101
+ "canObserveWorkingDirectory",
102
+ "canObserveParent",
103
+ "canEnumerateTree",
104
+ "canVerifyOwnership"
105
+ ],
106
+ "properties": {
107
+ "canObserveCreateTime": { "type": "boolean" },
108
+ "canObserveExecutable": { "type": "boolean" },
109
+ "canObserveArgv": { "type": "boolean" },
110
+ "canObserveWorkingDirectory": { "type": "boolean" },
111
+ "canObserveParent": { "type": "boolean" },
112
+ "canEnumerateTree": { "type": "boolean" },
113
+ "canVerifyOwnership": { "type": "boolean" }
114
+ }
115
+ }
116
+ },
117
+ "$defs": {
118
+ "digest": {
119
+ "type": "string",
120
+ "pattern": "^sha256:[0-9a-f]{64}$"
121
+ },
122
+ "nullableDigest": {
123
+ "oneOf": [
124
+ { "$ref": "#/$defs/digest" },
125
+ { "type": "null" }
126
+ ]
127
+ },
128
+ "provenance": {
129
+ "enum": ["OBSERVED", "ATTESTED", "UNAVAILABLE"]
130
+ }
131
+ }
132
+ }