@interf/compiler 0.22.2 → 0.33.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (575) hide show
  1. package/README.md +175 -234
  2. package/dist/bin-mcp.d.ts +2 -0
  3. package/dist/bin-mcp.js +63 -0
  4. package/dist/bin-runtime.d.ts +2 -0
  5. package/dist/bin-runtime.js +111 -0
  6. package/dist/cli/commands/agents.js +4 -4
  7. package/dist/cli/commands/auth.d.ts +20 -0
  8. package/dist/cli/commands/auth.js +161 -0
  9. package/dist/cli/commands/benchmark.d.ts +10 -0
  10. package/dist/cli/commands/benchmark.js +88 -0
  11. package/dist/cli/commands/build-plan.js +95 -103
  12. package/dist/cli/commands/build.d.ts +1 -1
  13. package/dist/cli/commands/build.js +16 -15
  14. package/dist/cli/commands/doctor.js +3 -3
  15. package/dist/cli/commands/graphs.d.ts +2 -0
  16. package/dist/cli/commands/graphs.js +199 -0
  17. package/dist/cli/commands/login.js +4 -6
  18. package/dist/cli/commands/logout.js +1 -1
  19. package/dist/cli/commands/mcp.d.ts +3 -2
  20. package/dist/cli/commands/mcp.js +721 -204
  21. package/dist/cli/commands/project.d.ts +2 -0
  22. package/dist/cli/commands/project.js +202 -0
  23. package/dist/cli/commands/reset.d.ts +1 -1
  24. package/dist/cli/commands/reset.js +10 -10
  25. package/dist/cli/commands/runs.js +52 -26
  26. package/dist/cli/commands/runtime.d.ts +24 -0
  27. package/dist/cli/commands/runtime.js +373 -0
  28. package/dist/cli/commands/status.d.ts +1 -0
  29. package/dist/cli/commands/status.js +33 -22
  30. package/dist/cli/commands/traces.d.ts +2 -0
  31. package/dist/cli/commands/traces.js +125 -0
  32. package/dist/cli/commands/wizard.js +155 -150
  33. package/dist/cli/index.d.ts +7 -4
  34. package/dist/cli/index.js +13 -7
  35. package/dist/index.d.ts +2 -2
  36. package/dist/index.js +2 -2
  37. package/dist/packages/build-plans/authoring/brief.d.ts +517 -0
  38. package/dist/packages/build-plans/authoring/brief.js +89 -0
  39. package/dist/packages/build-plans/authoring/build-plan-authoring.d.ts +10 -10
  40. package/dist/packages/build-plans/authoring/build-plan-authoring.js +66 -26
  41. package/dist/packages/build-plans/authoring/build-plan-edit-session.d.ts +1 -1
  42. package/dist/packages/build-plans/authoring/build-plan-edit-session.js +8 -2
  43. package/dist/packages/build-plans/authoring/build-plan-improvement.d.ts +9 -6
  44. package/dist/packages/build-plans/authoring/build-plan-improvement.js +39 -42
  45. package/dist/packages/build-plans/authoring/lib/build-plan-edit-utils.js +7 -7
  46. package/dist/packages/build-plans/build-plan-resolution.d.ts +1 -1
  47. package/dist/packages/build-plans/build-plan-resolution.js +3 -3
  48. package/dist/packages/build-plans/index.d.ts +1 -1
  49. package/dist/packages/build-plans/index.js +1 -1
  50. package/dist/packages/build-plans/package/build-plan-definitions.d.ts +14 -12
  51. package/dist/packages/build-plans/package/build-plan-definitions.js +40 -39
  52. package/dist/packages/build-plans/package/build-plan-helpers.d.ts +3 -2
  53. package/dist/packages/build-plans/package/build-plan-helpers.js +27 -13
  54. package/dist/packages/build-plans/package/build-plan-review-paths.d.ts +5 -5
  55. package/dist/packages/build-plans/package/build-plan-review-paths.js +15 -15
  56. package/dist/packages/build-plans/package/build-plan-stage-runner.d.ts +4 -4
  57. package/dist/packages/build-plans/package/build-plan-stage-runner.js +22 -11
  58. package/dist/packages/build-plans/package/builtin-build-plan.d.ts +5 -6
  59. package/dist/packages/build-plans/package/builtin-build-plan.js +7 -8
  60. package/dist/packages/build-plans/package/context-interface.d.ts +11 -9
  61. package/dist/packages/build-plans/package/context-interface.js +14 -33
  62. package/dist/packages/build-plans/package/interf-build-plan-package.d.ts +6 -17
  63. package/dist/packages/build-plans/package/interf-build-plan-package.js +56 -52
  64. package/dist/packages/build-plans/package/local-build-plans.d.ts +12 -10
  65. package/dist/packages/build-plans/package/local-build-plans.js +56 -31
  66. package/dist/packages/build-plans/package/user-build-plans.js +1 -1
  67. package/dist/packages/contracts/index.d.ts +4 -2
  68. package/dist/packages/contracts/index.js +2 -1
  69. package/dist/packages/contracts/lib/project-paths.d.ts +137 -0
  70. package/dist/packages/contracts/lib/project-paths.js +211 -0
  71. package/dist/packages/contracts/lib/project-schema.d.ts +160 -0
  72. package/dist/packages/contracts/lib/project-schema.js +113 -0
  73. package/dist/packages/contracts/lib/schema.d.ts +739 -80
  74. package/dist/packages/contracts/lib/schema.js +410 -75
  75. package/dist/packages/contracts/utils/parse.js +67 -0
  76. package/dist/packages/projects/index.d.ts +6 -0
  77. package/dist/packages/{project → projects}/index.js +0 -3
  78. package/dist/packages/{project → projects}/interf-detect.d.ts +12 -12
  79. package/dist/packages/{project → projects}/interf-detect.js +56 -50
  80. package/dist/packages/projects/interf.d.ts +2 -0
  81. package/dist/packages/projects/interf.js +1 -0
  82. package/dist/packages/projects/lib/schema.d.ts +79 -0
  83. package/dist/packages/projects/lib/schema.js +89 -0
  84. package/dist/packages/projects/source-config.d.ts +58 -0
  85. package/dist/packages/projects/source-config.js +352 -0
  86. package/dist/packages/projects/source-folders.d.ts +11 -0
  87. package/dist/packages/{project → projects}/source-folders.js +26 -26
  88. package/dist/packages/{engine → runtime}/action-planner.d.ts +1 -1
  89. package/dist/packages/{engine → runtime}/action-planner.js +20 -22
  90. package/dist/packages/runtime/action-values.d.ts +1 -0
  91. package/dist/packages/runtime/action-values.js +1 -0
  92. package/dist/packages/runtime/actions/errors.d.ts +2 -0
  93. package/dist/packages/runtime/actions/errors.js +12 -0
  94. package/dist/packages/runtime/actions/fields.d.ts +82 -0
  95. package/dist/packages/runtime/actions/form-builders.d.ts +14 -0
  96. package/dist/packages/runtime/actions/form-builders.js +619 -0
  97. package/dist/packages/runtime/actions/form-validators.d.ts +8 -0
  98. package/dist/packages/runtime/actions/form-validators.js +128 -0
  99. package/dist/packages/runtime/actions/helpers.d.ts +11 -0
  100. package/dist/packages/runtime/actions/helpers.js +80 -0
  101. package/dist/packages/runtime/actions/index.d.ts +8 -0
  102. package/dist/packages/runtime/actions/index.js +11 -0
  103. package/dist/packages/runtime/actions/registry.d.ts +64 -0
  104. package/dist/packages/runtime/actions/registry.js +62 -0
  105. package/dist/packages/runtime/actions/requests.d.ts +45 -0
  106. package/dist/packages/runtime/actions/requests.js +158 -0
  107. package/dist/packages/runtime/actions/schemas.d.ts +154 -0
  108. package/dist/packages/runtime/actions/schemas.js +36 -0
  109. package/dist/packages/runtime/agent-handoff.d.ts +11 -0
  110. package/dist/packages/runtime/agent-handoff.js +101 -0
  111. package/dist/packages/{engine → runtime}/agents/index.d.ts +1 -2
  112. package/dist/packages/{engine → runtime}/agents/index.js +1 -2
  113. package/dist/packages/runtime/agents/lib/args.d.ts +14 -0
  114. package/dist/packages/runtime/agents/lib/args.js +24 -0
  115. package/dist/packages/{engine → runtime}/agents/lib/constants.d.ts +4 -1
  116. package/dist/packages/runtime/agents/lib/constants.js +13 -0
  117. package/dist/packages/runtime/agents/lib/context-graph-bootstrap.d.ts +3 -0
  118. package/dist/packages/{engine/agents/lib/verifiable-context-bootstrap.js → runtime/agents/lib/context-graph-bootstrap.js} +5 -6
  119. package/dist/packages/{engine → runtime}/agents/lib/detection.d.ts +5 -0
  120. package/dist/packages/{engine → runtime}/agents/lib/detection.js +16 -7
  121. package/dist/packages/{engine → runtime}/agents/lib/execution-profile.js +8 -14
  122. package/dist/packages/{engine → runtime}/agents/lib/execution.js +14 -4
  123. package/dist/packages/{engine → runtime}/agents/lib/preflight.js +15 -13
  124. package/dist/packages/{engine → runtime}/agents/lib/render.js +4 -4
  125. package/dist/packages/runtime/agents/lib/shell-fs.d.ts +18 -0
  126. package/dist/packages/runtime/agents/lib/shell-fs.js +190 -0
  127. package/dist/packages/runtime/agents/lib/shell-paths.d.ts +16 -0
  128. package/dist/packages/runtime/agents/lib/shell-paths.js +63 -0
  129. package/dist/packages/runtime/agents/lib/shell-projection.d.ts +25 -0
  130. package/dist/packages/runtime/agents/lib/shell-projection.js +314 -0
  131. package/dist/packages/runtime/agents/lib/shell-templates.d.ts +30 -0
  132. package/dist/packages/runtime/agents/lib/shell-templates.js +452 -0
  133. package/dist/packages/runtime/agents/lib/shell-workspace.d.ts +17 -0
  134. package/dist/packages/runtime/agents/lib/shell-workspace.js +70 -0
  135. package/dist/packages/runtime/agents/lib/shells.d.ts +63 -0
  136. package/dist/packages/runtime/agents/lib/shells.js +383 -0
  137. package/dist/packages/{engine → runtime}/agents/lib/user-config.d.ts +8 -2
  138. package/dist/packages/{engine → runtime}/agents/lib/user-config.js +8 -2
  139. package/dist/packages/runtime/agents/providers/claude-code.d.ts +13 -0
  140. package/dist/packages/runtime/agents/providers/claude-code.js +45 -0
  141. package/dist/packages/runtime/agents/providers/codex.d.ts +17 -0
  142. package/dist/packages/runtime/agents/providers/codex.js +64 -0
  143. package/dist/packages/runtime/agents/providers/cursor.d.ts +9 -0
  144. package/dist/packages/runtime/agents/providers/cursor.js +24 -0
  145. package/dist/packages/runtime/agents/providers/index.d.ts +9 -0
  146. package/dist/packages/runtime/agents/providers/index.js +31 -0
  147. package/dist/packages/runtime/agents/providers/types.d.ts +50 -0
  148. package/dist/packages/{engine → runtime}/agents/registry.d.ts +13 -2
  149. package/dist/packages/{engine → runtime}/agents/registry.js +48 -10
  150. package/dist/packages/{engine → runtime}/agents/role-executors.d.ts +1 -1
  151. package/dist/packages/{engine → runtime}/agents/role-executors.js +7 -6
  152. package/dist/packages/{engine → runtime}/agents/role-router.js +7 -5
  153. package/dist/packages/runtime/auth/account-context.d.ts +52 -0
  154. package/dist/packages/runtime/auth/account-context.js +68 -0
  155. package/dist/packages/runtime/auth/auth-flow.d.ts +73 -0
  156. package/dist/packages/runtime/auth/auth-flow.js +189 -0
  157. package/dist/packages/runtime/auth/jwt-validator.d.ts +58 -0
  158. package/dist/packages/runtime/auth/jwt-validator.js +86 -0
  159. package/dist/packages/runtime/auth/keychain.d.ts +35 -0
  160. package/dist/packages/runtime/auth/keychain.js +85 -0
  161. package/dist/packages/runtime/auth/session-store.d.ts +38 -0
  162. package/dist/packages/runtime/auth/session-store.js +88 -0
  163. package/dist/packages/runtime/auth/workos-client.d.ts +58 -0
  164. package/dist/packages/runtime/auth/workos-client.js +87 -0
  165. package/dist/packages/runtime/benchmark-question-draft.d.ts +20 -0
  166. package/dist/packages/runtime/benchmark-question-draft.js +124 -0
  167. package/dist/packages/runtime/build/artifact-counts.d.ts +1 -0
  168. package/dist/packages/{engine → runtime}/build/artifact-counts.js +5 -9
  169. package/dist/packages/{engine → runtime}/build/artifact-status.d.ts +5 -5
  170. package/dist/packages/{engine → runtime}/build/artifact-status.js +25 -23
  171. package/dist/packages/runtime/build/atomic-fs.d.ts +3 -0
  172. package/dist/packages/runtime/build/atomic-fs.js +95 -0
  173. package/dist/packages/runtime/build/billing-events.d.ts +78 -0
  174. package/dist/packages/{engine → runtime}/build/billing-events.js +17 -19
  175. package/dist/packages/runtime/build/build-evidence.d.ts +15 -0
  176. package/dist/packages/runtime/build/build-evidence.js +173 -0
  177. package/dist/packages/{engine → runtime}/build/build-pipeline.d.ts +12 -8
  178. package/dist/packages/runtime/build/build-pipeline.js +304 -0
  179. package/dist/packages/{engine → runtime}/build/build-plan-primitives.d.ts +1 -1
  180. package/dist/packages/{engine → runtime}/build/build-plan-primitives.js +0 -1
  181. package/dist/packages/runtime/build/build-plan-runs.d.ts +14 -0
  182. package/dist/packages/runtime/build/build-plan-runs.js +31 -0
  183. package/dist/packages/runtime/build/build-stage-plan.d.ts +16 -0
  184. package/dist/packages/{engine → runtime}/build/build-stage-plan.js +28 -29
  185. package/dist/packages/{engine → runtime}/build/build-stage-runner.d.ts +2 -1
  186. package/dist/packages/runtime/build/build-stage-runner.js +165 -0
  187. package/dist/packages/{engine → runtime}/build/build-target.d.ts +4 -4
  188. package/dist/packages/runtime/build/build-target.js +16 -0
  189. package/dist/packages/{engine → runtime}/build/check-evaluator.d.ts +14 -16
  190. package/dist/packages/runtime/build/check-evaluator.js +575 -0
  191. package/dist/packages/runtime/build/context-graph-paths.d.ts +51 -0
  192. package/dist/packages/runtime/build/context-graph-paths.js +133 -0
  193. package/dist/packages/runtime/build/context-graph-schema.d.ts +19 -0
  194. package/dist/packages/runtime/build/context-graph-schema.js +39 -0
  195. package/dist/packages/{engine → runtime}/build/discovery.d.ts +2 -2
  196. package/dist/packages/{engine → runtime}/build/discovery.js +4 -4
  197. package/dist/packages/{engine → runtime}/build/index.d.ts +5 -3
  198. package/dist/packages/{engine → runtime}/build/index.js +5 -3
  199. package/dist/packages/{engine → runtime}/build/lib/schema.d.ts +221 -88
  200. package/dist/packages/{engine → runtime}/build/lib/schema.js +61 -41
  201. package/dist/packages/runtime/build/reset.d.ts +2 -0
  202. package/dist/packages/runtime/build/reset.js +62 -0
  203. package/dist/packages/{engine → runtime}/build/runtime-contracts.js +5 -5
  204. package/dist/packages/runtime/build/runtime-inventory.d.ts +7 -0
  205. package/dist/packages/{engine → runtime}/build/runtime-inventory.js +3 -3
  206. package/dist/packages/{engine → runtime}/build/runtime-paths.js +6 -6
  207. package/dist/packages/{engine → runtime}/build/runtime-prompt.js +7 -6
  208. package/dist/packages/{engine → runtime}/build/runtime-reconcile.d.ts +1 -1
  209. package/dist/packages/{engine → runtime}/build/runtime-reconcile.js +25 -21
  210. package/dist/packages/runtime/build/runtime-runs.d.ts +10 -0
  211. package/dist/packages/runtime/build/runtime-runs.js +265 -0
  212. package/dist/packages/{engine → runtime}/build/runtime-types.d.ts +6 -6
  213. package/dist/packages/runtime/build/runtime-types.js +1 -0
  214. package/dist/packages/runtime/build/runtime.d.ts +6 -0
  215. package/dist/packages/runtime/build/runtime.js +5 -0
  216. package/dist/packages/runtime/build/source-files.d.ts +58 -0
  217. package/dist/packages/runtime/build/source-files.js +184 -0
  218. package/dist/packages/runtime/build/source-inventory.d.ts +27 -0
  219. package/dist/packages/runtime/build/source-inventory.js +273 -0
  220. package/dist/packages/runtime/build/source-manifest.d.ts +52 -0
  221. package/dist/packages/runtime/build/source-manifest.js +192 -0
  222. package/dist/packages/runtime/build/stage-evidence.d.ts +22 -0
  223. package/dist/packages/runtime/build/stage-evidence.js +317 -0
  224. package/dist/packages/runtime/build/stage-reuse.d.ts +11 -0
  225. package/dist/packages/runtime/build/stage-reuse.js +142 -0
  226. package/dist/packages/runtime/build/state-artifacts.d.ts +9 -0
  227. package/dist/packages/runtime/build/state-artifacts.js +14 -0
  228. package/dist/packages/runtime/build/state-health.d.ts +4 -0
  229. package/dist/packages/{engine → runtime}/build/state-health.js +21 -26
  230. package/dist/packages/runtime/build/state-io.d.ts +12 -0
  231. package/dist/packages/runtime/build/state-io.js +119 -0
  232. package/dist/packages/{engine → runtime}/build/state-paths.d.ts +3 -1
  233. package/dist/packages/runtime/build/state-paths.js +22 -0
  234. package/dist/packages/runtime/build/state-view.d.ts +5 -0
  235. package/dist/packages/{engine → runtime}/build/state-view.js +60 -33
  236. package/dist/packages/runtime/build/state.d.ts +7 -0
  237. package/dist/packages/runtime/build/state.js +12 -0
  238. package/dist/packages/runtime/build/traces.d.ts +30 -0
  239. package/dist/packages/runtime/build/traces.js +133 -0
  240. package/dist/packages/{engine/build/validate-verifiable-context.d.ts → runtime/build/validate-context-graph.d.ts} +6 -6
  241. package/dist/packages/{engine/build/validate-verifiable-context.js → runtime/build/validate-context-graph.js} +48 -35
  242. package/dist/packages/{engine → runtime}/build/validate.d.ts +5 -5
  243. package/dist/packages/{engine → runtime}/build/validate.js +26 -26
  244. package/dist/packages/{engine → runtime}/client.d.ts +15 -15
  245. package/dist/packages/{engine → runtime}/client.js +41 -24
  246. package/dist/packages/{engine → runtime}/connection-config.d.ts +3 -2
  247. package/dist/packages/{engine → runtime}/connection-config.js +9 -8
  248. package/dist/packages/runtime/context-checks.d.ts +10 -0
  249. package/dist/packages/runtime/context-checks.js +114 -0
  250. package/dist/packages/runtime/context-graph-scaffold.d.ts +9 -0
  251. package/dist/packages/runtime/context-graph-scaffold.js +134 -0
  252. package/dist/packages/runtime/entitlement-guard.d.ts +43 -0
  253. package/dist/packages/runtime/entitlement-guard.js +70 -0
  254. package/dist/packages/{engine → runtime}/execution/index.d.ts +2 -2
  255. package/dist/packages/{engine → runtime}/execution/index.js +1 -1
  256. package/dist/packages/{engine → runtime}/execution/lib/schema.d.ts +270 -192
  257. package/dist/packages/{engine → runtime}/execution/lib/schema.js +35 -32
  258. package/dist/packages/runtime/index.d.ts +29 -0
  259. package/dist/packages/runtime/index.js +21 -0
  260. package/dist/packages/runtime/instance-paths.d.ts +30 -0
  261. package/dist/packages/runtime/instance-paths.js +29 -0
  262. package/dist/packages/{engine → runtime}/native-run-handlers.d.ts +4 -4
  263. package/dist/packages/{engine → runtime}/native-run-handlers.js +184 -152
  264. package/dist/packages/runtime/plan-artifact-contract.d.ts +17 -0
  265. package/dist/packages/runtime/plan-artifact-contract.js +42 -0
  266. package/dist/packages/runtime/project-entries.d.ts +11 -0
  267. package/dist/packages/runtime/project-entries.js +49 -0
  268. package/dist/packages/runtime/project-source-state.d.ts +26 -0
  269. package/dist/packages/runtime/project-source-state.js +53 -0
  270. package/dist/packages/runtime/project-store.d.ts +85 -0
  271. package/dist/packages/runtime/project-store.js +168 -0
  272. package/dist/packages/runtime/requested-artifacts.d.ts +7 -0
  273. package/dist/packages/{engine → runtime}/requested-artifacts.js +23 -1
  274. package/dist/packages/{engine → runtime}/run-observability.d.ts +2 -1
  275. package/dist/packages/{engine → runtime}/run-observability.js +166 -84
  276. package/dist/packages/runtime/runtime-action-proposals.d.ts +7 -0
  277. package/dist/packages/runtime/runtime-action-proposals.js +542 -0
  278. package/dist/packages/runtime/runtime-build-plans.d.ts +5 -0
  279. package/dist/packages/runtime/runtime-build-plans.js +131 -0
  280. package/dist/packages/runtime/runtime-build-runs.d.ts +47 -0
  281. package/dist/packages/runtime/runtime-build-runs.js +562 -0
  282. package/dist/packages/runtime/runtime-caches.d.ts +91 -0
  283. package/dist/packages/{engine → runtime}/runtime-caches.js +77 -49
  284. package/dist/packages/{engine → runtime}/runtime-event-applier.d.ts +3 -1
  285. package/dist/packages/{engine → runtime}/runtime-event-applier.js +53 -17
  286. package/dist/packages/runtime/runtime-executor.d.ts +22 -0
  287. package/dist/packages/runtime/runtime-executor.js +131 -0
  288. package/dist/packages/runtime/runtime-jobs.d.ts +13 -0
  289. package/dist/packages/runtime/runtime-jobs.js +463 -0
  290. package/dist/packages/runtime/runtime-observability.d.ts +11 -0
  291. package/dist/packages/runtime/runtime-observability.js +39 -0
  292. package/dist/packages/{engine → runtime}/runtime-persistence.d.ts +9 -18
  293. package/dist/packages/{engine → runtime}/runtime-persistence.js +25 -25
  294. package/dist/packages/runtime/runtime-project-mutations.d.ts +7 -0
  295. package/dist/packages/runtime/runtime-project-mutations.js +64 -0
  296. package/dist/packages/runtime/runtime-project-reads.d.ts +15 -0
  297. package/dist/packages/runtime/runtime-project-reads.js +381 -0
  298. package/dist/packages/runtime/runtime-proposal-helpers.d.ts +22 -0
  299. package/dist/packages/runtime/runtime-proposal-helpers.js +223 -0
  300. package/dist/packages/{engine → runtime}/runtime-resource-builders.d.ts +21 -16
  301. package/dist/packages/{engine → runtime}/runtime-resource-builders.js +48 -38
  302. package/dist/packages/runtime/runtime-verify-runs.d.ts +84 -0
  303. package/dist/packages/runtime/runtime-verify-runs.js +295 -0
  304. package/dist/packages/runtime/runtime.d.ts +1165 -0
  305. package/dist/packages/runtime/runtime.js +417 -0
  306. package/dist/packages/runtime/schemas/actions.d.ts +1182 -0
  307. package/dist/packages/runtime/schemas/actions.js +117 -0
  308. package/dist/packages/runtime/schemas/agents.d.ts +76 -0
  309. package/dist/packages/runtime/schemas/agents.js +41 -0
  310. package/dist/packages/runtime/schemas/build-plans.d.ts +959 -0
  311. package/dist/packages/runtime/schemas/build-plans.js +107 -0
  312. package/dist/packages/runtime/schemas/files.d.ts +567 -0
  313. package/dist/packages/runtime/schemas/files.js +51 -0
  314. package/dist/packages/runtime/schemas/index.d.ts +8 -0
  315. package/dist/packages/runtime/schemas/index.js +12 -0
  316. package/dist/packages/runtime/schemas/instance.d.ts +141 -0
  317. package/dist/packages/runtime/schemas/instance.js +143 -0
  318. package/dist/packages/runtime/schemas/jobs.d.ts +339 -0
  319. package/dist/packages/runtime/schemas/jobs.js +103 -0
  320. package/dist/packages/runtime/schemas/projects.d.ts +339 -0
  321. package/dist/packages/runtime/schemas/projects.js +136 -0
  322. package/dist/packages/runtime/schemas/runs.d.ts +2676 -0
  323. package/dist/packages/runtime/schemas/runs.js +98 -0
  324. package/dist/packages/runtime/service/index.d.ts +3 -0
  325. package/dist/packages/runtime/service/index.js +3 -0
  326. package/dist/packages/runtime/service/openapi.d.ts +7 -0
  327. package/dist/packages/runtime/service/openapi.js +117 -0
  328. package/dist/packages/runtime/service/operations.d.ts +1490 -0
  329. package/dist/packages/runtime/service/operations.js +245 -0
  330. package/dist/packages/runtime/service/routes.d.ts +106 -0
  331. package/dist/packages/runtime/service/routes.js +120 -0
  332. package/dist/packages/runtime/service/server-api-files.d.ts +10 -0
  333. package/dist/packages/runtime/service/server-api-files.js +85 -0
  334. package/dist/packages/runtime/service/server-app-boot.d.ts +4 -0
  335. package/dist/packages/runtime/service/server-app-boot.js +46 -0
  336. package/dist/packages/runtime/service/server-guards.d.ts +63 -0
  337. package/dist/packages/runtime/service/server-guards.js +181 -0
  338. package/dist/packages/runtime/service/server-helpers.d.ts +27 -0
  339. package/dist/packages/runtime/service/server-helpers.js +89 -0
  340. package/dist/packages/runtime/service/server-instance-helpers.d.ts +30 -0
  341. package/dist/packages/runtime/service/server-instance-helpers.js +114 -0
  342. package/dist/packages/runtime/service/server-routes-action-proposals.d.ts +3 -0
  343. package/dist/packages/runtime/service/server-routes-action-proposals.js +43 -0
  344. package/dist/packages/runtime/service/server-routes-agents.d.ts +4 -0
  345. package/dist/packages/runtime/service/server-routes-agents.js +198 -0
  346. package/dist/packages/runtime/service/server-routes-auth.d.ts +33 -0
  347. package/dist/packages/runtime/service/server-routes-auth.js +138 -0
  348. package/dist/packages/runtime/service/server-routes-build-plans.d.ts +3 -0
  349. package/dist/packages/runtime/service/server-routes-build-plans.js +83 -0
  350. package/dist/packages/runtime/service/server-routes-discovery.d.ts +4 -0
  351. package/dist/packages/runtime/service/server-routes-discovery.js +196 -0
  352. package/dist/packages/runtime/service/server-routes-events.d.ts +5 -0
  353. package/dist/packages/runtime/service/server-routes-events.js +99 -0
  354. package/dist/packages/runtime/service/server-routes-project-context.d.ts +9 -0
  355. package/dist/packages/runtime/service/server-routes-project-context.js +192 -0
  356. package/dist/packages/runtime/service/server-routes-project-jobs.d.ts +9 -0
  357. package/dist/packages/runtime/service/server-routes-project-jobs.js +130 -0
  358. package/dist/packages/runtime/service/server-routes-project-runs.d.ts +14 -0
  359. package/dist/packages/runtime/service/server-routes-project-runs.js +85 -0
  360. package/dist/packages/runtime/service/server-routes-projects.d.ts +4 -0
  361. package/dist/packages/runtime/service/server-routes-projects.js +92 -0
  362. package/dist/packages/runtime/service/server-routes-runs.d.ts +3 -0
  363. package/dist/packages/runtime/service/server-routes-runs.js +112 -0
  364. package/dist/packages/runtime/service/server.d.ts +37 -0
  365. package/dist/packages/runtime/service/server.js +300 -0
  366. package/dist/packages/{engine → runtime/service}/service-registry.d.ts +5 -5
  367. package/dist/packages/{engine → runtime/service}/service-registry.js +7 -7
  368. package/dist/packages/runtime/verify/benchmark-run.d.ts +81 -0
  369. package/dist/packages/runtime/verify/benchmark-run.js +303 -0
  370. package/dist/packages/{engine → runtime}/verify/index.d.ts +2 -2
  371. package/dist/packages/{engine → runtime}/verify/index.js +1 -1
  372. package/dist/packages/{engine → runtime}/verify/lib/schema.d.ts +83 -16
  373. package/dist/packages/{engine → runtime}/verify/lib/schema.js +26 -18
  374. package/dist/packages/{engine → runtime}/verify/verify-execution.js +11 -11
  375. package/dist/packages/{engine → runtime}/verify/verify-paths.d.ts +4 -4
  376. package/dist/packages/runtime/verify/verify-paths.js +61 -0
  377. package/dist/packages/{engine → runtime}/verify/verify-sandbox.d.ts +1 -1
  378. package/dist/packages/runtime/verify/verify-sandbox.js +88 -0
  379. package/dist/packages/{engine → runtime}/verify/verify-specs.d.ts +2 -0
  380. package/dist/packages/{engine → runtime}/verify/verify-specs.js +5 -3
  381. package/dist/packages/runtime/verify/verify-targets.d.ts +5 -0
  382. package/dist/packages/{engine → runtime}/verify/verify-targets.js +12 -12
  383. package/dist/packages/runtime/verify/verify-types.js +1 -0
  384. package/dist/packages/{engine → runtime}/verify/verify.d.ts +1 -1
  385. package/dist/packages/{engine → runtime}/verify/verify.js +1 -1
  386. package/dist/packages/runtime/wire-schemas.d.ts +18 -0
  387. package/dist/packages/runtime/wire-schemas.js +27 -0
  388. package/package.json +39 -31
  389. package/public-repo/CONTRIBUTING.md +7 -16
  390. package/public-repo/README.md +175 -234
  391. package/public-repo/SECURITY.md +3 -4
  392. package/public-repo/build-plans/interf-default/README.md +19 -14
  393. package/public-repo/build-plans/interf-default/build/stages/shape/SKILL.md +18 -11
  394. package/public-repo/build-plans/interf-default/build/stages/structure/SKILL.md +12 -5
  395. package/public-repo/build-plans/interf-default/build/stages/summarize/SKILL.md +16 -4
  396. package/public-repo/build-plans/interf-default/build-plan.json +34 -28
  397. package/public-repo/build-plans/interf-default/build-plan.schema.json +54 -32
  398. package/public-repo/build-plans/interf-default/improve/SKILL.md +3 -3
  399. package/public-repo/build-plans/interf-default/use/query/SKILL.md +17 -11
  400. package/public-repo/openapi/local-service.openapi.json +6803 -0
  401. package/public-repo/skills/interf/SKILL.md +460 -179
  402. package/dist/cli/commands/prep.d.ts +0 -2
  403. package/dist/cli/commands/prep.js +0 -240
  404. package/dist/cli/commands/test.d.ts +0 -10
  405. package/dist/cli/commands/test.js +0 -85
  406. package/dist/cli/commands/web.d.ts +0 -2
  407. package/dist/cli/commands/web.js +0 -286
  408. package/dist/interf-ui/404.html +0 -1
  409. package/dist/interf-ui/__next.__PAGE__.txt +0 -10
  410. package/dist/interf-ui/__next._full.txt +0 -20
  411. package/dist/interf-ui/__next._head.txt +0 -5
  412. package/dist/interf-ui/__next._index.txt +0 -5
  413. package/dist/interf-ui/__next._tree.txt +0 -5
  414. package/dist/interf-ui/_next/static/--reS3xBzM5zc6QxNjZd6/_buildManifest.js +0 -11
  415. package/dist/interf-ui/_next/static/--reS3xBzM5zc6QxNjZd6/_clientMiddlewareManifest.js +0 -1
  416. package/dist/interf-ui/_next/static/--reS3xBzM5zc6QxNjZd6/_ssgManifest.js +0 -1
  417. package/dist/interf-ui/_next/static/chunks/0.tjb6f4golw..css +0 -3
  418. package/dist/interf-ui/_next/static/chunks/03~yq9q893hmn.js +0 -1
  419. package/dist/interf-ui/_next/static/chunks/085-n_jv2ng_q.css +0 -1
  420. package/dist/interf-ui/_next/static/chunks/0dn41fa_zvgsl.js +0 -1
  421. package/dist/interf-ui/_next/static/chunks/0g-ea0zj5d-0k.js +0 -1
  422. package/dist/interf-ui/_next/static/chunks/0gwqglc4iz583.js +0 -1
  423. package/dist/interf-ui/_next/static/chunks/0haldgm65ve6l.js +0 -1
  424. package/dist/interf-ui/_next/static/chunks/0nv3am99vjzn4.js +0 -1
  425. package/dist/interf-ui/_next/static/chunks/0s77gt_o4jwtx.js +0 -1
  426. package/dist/interf-ui/_next/static/chunks/0y5z3t-z1c8ks.js.map +0 -5
  427. package/dist/interf-ui/_next/static/chunks/0~a36ujuzpaz..js +0 -116
  428. package/dist/interf-ui/_next/static/chunks/10jeodxe4nkgj.js +0 -31
  429. package/dist/interf-ui/_next/static/chunks/119h2rouych2t.js +0 -1
  430. package/dist/interf-ui/_next/static/chunks/13c8b~m8knjsf.js +0 -1
  431. package/dist/interf-ui/_next/static/chunks/14dznb2qpt-ho.js +0 -91
  432. package/dist/interf-ui/_next/static/chunks/15z_en80lrq-3.js +0 -5
  433. package/dist/interf-ui/_next/static/chunks/turbopack-0p.pvcjrtq-jh.js +0 -1
  434. package/dist/interf-ui/_next/static/chunks/turbopack-0usj_75.8frlw.js +0 -1
  435. package/dist/interf-ui/_next/static/chunks/turbopack-worker-0sjn--fhq~1cg.js +0 -1
  436. package/dist/interf-ui/_next/static/media/GeistMono_Variable.p.17jn9btb_52pq.woff2 +0 -0
  437. package/dist/interf-ui/_next/static/media/Geist_Variable-s.p.0-te~ja_gpvcf.woff2 +0 -0
  438. package/dist/interf-ui/_next/static/media/worker.102zas1s52_pf.js +0 -109
  439. package/dist/interf-ui/_not-found/__next._full.txt +0 -15
  440. package/dist/interf-ui/_not-found/__next._head.txt +0 -5
  441. package/dist/interf-ui/_not-found/__next._index.txt +0 -5
  442. package/dist/interf-ui/_not-found/__next._not-found.__PAGE__.txt +0 -5
  443. package/dist/interf-ui/_not-found/__next._not-found.txt +0 -5
  444. package/dist/interf-ui/_not-found/__next._tree.txt +0 -2
  445. package/dist/interf-ui/_not-found.html +0 -1
  446. package/dist/interf-ui/_not-found.txt +0 -15
  447. package/dist/interf-ui/index.html +0 -1
  448. package/dist/interf-ui/index.txt +0 -20
  449. package/dist/packages/contracts/lib/preparation-paths.d.ts +0 -117
  450. package/dist/packages/contracts/lib/preparation-paths.js +0 -177
  451. package/dist/packages/engine/action-definitions.d.ts +0 -407
  452. package/dist/packages/engine/action-definitions.js +0 -1158
  453. package/dist/packages/engine/action-values.d.ts +0 -1
  454. package/dist/packages/engine/action-values.js +0 -1
  455. package/dist/packages/engine/agents/lib/args.d.ts +0 -4
  456. package/dist/packages/engine/agents/lib/args.js +0 -52
  457. package/dist/packages/engine/agents/lib/chart-guidance.d.ts +0 -1
  458. package/dist/packages/engine/agents/lib/chart-guidance.js +0 -8
  459. package/dist/packages/engine/agents/lib/constants.js +0 -28
  460. package/dist/packages/engine/agents/lib/schema.d.ts +0 -8
  461. package/dist/packages/engine/agents/lib/schema.js +0 -7
  462. package/dist/packages/engine/agents/lib/shells.d.ts +0 -74
  463. package/dist/packages/engine/agents/lib/shells.js +0 -1052
  464. package/dist/packages/engine/agents/lib/verifiable-context-bootstrap.d.ts +0 -3
  465. package/dist/packages/engine/build/artifact-counts.d.ts +0 -1
  466. package/dist/packages/engine/build/billing-events.d.ts +0 -89
  467. package/dist/packages/engine/build/build-pipeline.js +0 -175
  468. package/dist/packages/engine/build/build-plan-runs.d.ts +0 -14
  469. package/dist/packages/engine/build/build-plan-runs.js +0 -31
  470. package/dist/packages/engine/build/build-stage-plan.d.ts +0 -16
  471. package/dist/packages/engine/build/build-stage-runner.js +0 -94
  472. package/dist/packages/engine/build/build-target.js +0 -16
  473. package/dist/packages/engine/build/check-evaluator.js +0 -298
  474. package/dist/packages/engine/build/reset.d.ts +0 -2
  475. package/dist/packages/engine/build/reset.js +0 -74
  476. package/dist/packages/engine/build/runtime-inventory.d.ts +0 -7
  477. package/dist/packages/engine/build/runtime-runs.d.ts +0 -10
  478. package/dist/packages/engine/build/runtime-runs.js +0 -224
  479. package/dist/packages/engine/build/runtime.d.ts +0 -5
  480. package/dist/packages/engine/build/runtime.js +0 -4
  481. package/dist/packages/engine/build/source-files.d.ts +0 -46
  482. package/dist/packages/engine/build/source-files.js +0 -149
  483. package/dist/packages/engine/build/state-artifacts.d.ts +0 -9
  484. package/dist/packages/engine/build/state-artifacts.js +0 -14
  485. package/dist/packages/engine/build/state-health.d.ts +0 -4
  486. package/dist/packages/engine/build/state-io.d.ts +0 -11
  487. package/dist/packages/engine/build/state-io.js +0 -82
  488. package/dist/packages/engine/build/state-paths.js +0 -16
  489. package/dist/packages/engine/build/state-view.d.ts +0 -5
  490. package/dist/packages/engine/build/state.d.ts +0 -7
  491. package/dist/packages/engine/build/state.js +0 -12
  492. package/dist/packages/engine/build/validate-helpers.d.ts +0 -12
  493. package/dist/packages/engine/build/validate-helpers.js +0 -41
  494. package/dist/packages/engine/build/verifiable-context-paths.d.ts +0 -47
  495. package/dist/packages/engine/build/verifiable-context-paths.js +0 -121
  496. package/dist/packages/engine/build/verifiable-context-schema.d.ts +0 -21
  497. package/dist/packages/engine/build/verifiable-context-schema.js +0 -126
  498. package/dist/packages/engine/cloud-seams.d.ts +0 -115
  499. package/dist/packages/engine/cloud-seams.js +0 -84
  500. package/dist/packages/engine/index.d.ts +0 -22
  501. package/dist/packages/engine/index.js +0 -15
  502. package/dist/packages/engine/instance-paths.d.ts +0 -106
  503. package/dist/packages/engine/instance-paths.js +0 -171
  504. package/dist/packages/engine/lib/schema.d.ts +0 -6304
  505. package/dist/packages/engine/lib/schema.js +0 -730
  506. package/dist/packages/engine/preparation-store.d.ts +0 -105
  507. package/dist/packages/engine/preparation-store.js +0 -213
  508. package/dist/packages/engine/readiness-check-draft.d.ts +0 -20
  509. package/dist/packages/engine/readiness-check-draft.js +0 -111
  510. package/dist/packages/engine/requested-artifacts.d.ts +0 -5
  511. package/dist/packages/engine/routes.d.ts +0 -85
  512. package/dist/packages/engine/routes.js +0 -99
  513. package/dist/packages/engine/runtime-caches.d.ts +0 -76
  514. package/dist/packages/engine/runtime-proposal-helpers.d.ts +0 -35
  515. package/dist/packages/engine/runtime-proposal-helpers.js +0 -247
  516. package/dist/packages/engine/runtime.d.ts +0 -371
  517. package/dist/packages/engine/runtime.js +0 -2463
  518. package/dist/packages/engine/server.d.ts +0 -58
  519. package/dist/packages/engine/server.js +0 -1399
  520. package/dist/packages/engine/verify/readiness-check-run.d.ts +0 -82
  521. package/dist/packages/engine/verify/readiness-check-run.js +0 -265
  522. package/dist/packages/engine/verify/verify-paths.js +0 -61
  523. package/dist/packages/engine/verify/verify-sandbox.js +0 -88
  524. package/dist/packages/engine/verify/verify-targets.d.ts +0 -5
  525. package/dist/packages/engine/wire-schemas.d.ts +0 -547
  526. package/dist/packages/engine/wire-schemas.js +0 -59
  527. package/dist/packages/project/index.d.ts +0 -9
  528. package/dist/packages/project/interf-bootstrap.d.ts +0 -1
  529. package/dist/packages/project/interf-bootstrap.js +0 -1
  530. package/dist/packages/project/interf-scaffold.d.ts +0 -3
  531. package/dist/packages/project/interf-scaffold.js +0 -136
  532. package/dist/packages/project/interf.d.ts +0 -4
  533. package/dist/packages/project/interf.js +0 -3
  534. package/dist/packages/project/lib/schema.d.ts +0 -328
  535. package/dist/packages/project/lib/schema.js +0 -136
  536. package/dist/packages/project/preparation-entries.d.ts +0 -11
  537. package/dist/packages/project/preparation-entries.js +0 -49
  538. package/dist/packages/project/source-config.d.ts +0 -46
  539. package/dist/packages/project/source-config.js +0 -394
  540. package/dist/packages/project/source-folders.d.ts +0 -11
  541. package/public-repo/plugins/README.md +0 -9
  542. package/public-repo/plugins/interf/.claude-plugin/plugin.json +0 -21
  543. package/public-repo/plugins/interf/.mcp.json +0 -12
  544. package/public-repo/plugins/interf/README.md +0 -32
  545. package/public-repo/plugins/interf/skills/interf/SKILL.md +0 -376
  546. /package/dist/packages/{engine/agents/lib/types.js → runtime/actions/fields.js} +0 -0
  547. /package/dist/packages/{engine → runtime}/agents/lib/agents.d.ts +0 -0
  548. /package/dist/packages/{engine → runtime}/agents/lib/agents.js +0 -0
  549. /package/dist/packages/{engine → runtime}/agents/lib/execution-profile.d.ts +0 -0
  550. /package/dist/packages/{engine → runtime}/agents/lib/execution.d.ts +0 -0
  551. /package/dist/packages/{engine → runtime}/agents/lib/executors.d.ts +0 -0
  552. /package/dist/packages/{engine → runtime}/agents/lib/executors.js +0 -0
  553. /package/dist/packages/{engine → runtime}/agents/lib/logs.d.ts +0 -0
  554. /package/dist/packages/{engine → runtime}/agents/lib/logs.js +0 -0
  555. /package/dist/packages/{engine → runtime}/agents/lib/preflight.d.ts +0 -0
  556. /package/dist/packages/{engine → runtime}/agents/lib/render.d.ts +0 -0
  557. /package/dist/packages/{engine → runtime}/agents/lib/status.d.ts +0 -0
  558. /package/dist/packages/{engine → runtime}/agents/lib/status.js +0 -0
  559. /package/dist/packages/{engine → runtime}/agents/lib/types.d.ts +0 -0
  560. /package/dist/packages/{engine/build/runtime-types.js → runtime/agents/lib/types.js} +0 -0
  561. /package/dist/packages/{engine/verify/verify-types.js → runtime/agents/providers/types.js} +0 -0
  562. /package/dist/packages/{engine → runtime}/agents/role-router.d.ts +0 -0
  563. /package/dist/packages/{engine → runtime}/build/build-execution.d.ts +0 -0
  564. /package/dist/packages/{engine → runtime}/build/build-execution.js +0 -0
  565. /package/dist/packages/{engine → runtime}/build/runtime-contracts.d.ts +0 -0
  566. /package/dist/packages/{engine → runtime}/build/runtime-paths.d.ts +0 -0
  567. /package/dist/packages/{engine → runtime}/build/runtime-prompt.d.ts +0 -0
  568. /package/dist/packages/{engine → runtime}/execution/adapters.d.ts +0 -0
  569. /package/dist/packages/{engine → runtime}/execution/adapters.js +0 -0
  570. /package/dist/packages/{engine → runtime}/execution/events.d.ts +0 -0
  571. /package/dist/packages/{engine → runtime}/execution/events.js +0 -0
  572. /package/dist/packages/{engine → runtime}/verify/verify-execution.d.ts +0 -0
  573. /package/dist/packages/{engine → runtime}/verify/verify-profile-presets.d.ts +0 -0
  574. /package/dist/packages/{engine → runtime}/verify/verify-profile-presets.js +0 -0
  575. /package/dist/packages/{engine → runtime}/verify/verify-types.d.ts +0 -0
@@ -1,30 +1,22 @@
1
1
  import { z } from "zod";
2
2
  import { BUILD_PLAN_ARTIFACT_KINDS, } from "../build-plan-primitives.js";
3
- import { ArtifactIdSchema, ArtifactSchema, CheckSchema, RuntimeContractTypeSchema, RuntimeExecutorInfoSchema, RuntimeStageSchema, RuntimeTargetTypeSchema, SourceBuildMaxAttemptsSchema, SourceBuildMaxLoopsSchema, InterfIdPattern, BuildPlanIdSchema, } from "../../../contracts/lib/schema.js";
3
+ import { ArtifactIdSchema, ArtifactSchema, CheckSchema, RuntimeContractTypeSchema, RuntimeExecutorInfoSchema, RuntimeStageSchema, RuntimeTargetTypeSchema, StageEvidenceCountSchema, StageEvidenceEdgeSchema, StageEvidenceItemSchema, SourceBuildMaxAttemptsSchema, SourceBuildMaxLoopsSchema, InterfIdPattern, BuildPlanIdSchema, isInterfRelativePath, } from "../../../contracts/lib/schema.js";
4
4
  // `ArtifactSchema` is used internally below in `BuildPlanContextRawSchema`'s
5
5
  // `artifacts[]` field. The other Artifact* schemas/types are NOT
6
- // re-exported through this module — callers import them directly
7
- // from `contracts/lib/schema.js`. The 0.17 PR cross-check pruned
8
- // re-exports that had zero consumers.
9
- export { GateStatusSchema, ReadinessGateSchema, ReadinessSchema, ReadinessStatusSchema, VerifyTargetResultSchema, RuntimeContractTypeSchema, RuntimeExecutorInfoSchema, RuntimeStageSchema, RuntimeTargetTypeSchema, SourceFilesSchema, SourceFileSchema, SourceKindSchema, SourceSchema, SourceSnapshotSchema, StageInputSchema, StageInputsSchema, SourceBuildMaxAttemptsSchema, SourceBuildMaxLoopsSchema, TestCaseExpectSchema, TestTargetTypeSchema, InterfIdPattern, BuildPlanIdSchema, } from "../../../contracts/lib/schema.js";
6
+ // re-exported through this module — callers import them directly from
7
+ // `contracts/lib/schema.js`. Re-exports with zero consumers were pruned
8
+ // to keep this barrel narrow.
9
+ export { GateStatusSchema, ReadinessGateSchema, ReadinessSchema, ReadinessStatusSchema, VerifyTargetResultSchema, RuntimeContractTypeSchema, RuntimeExecutorInfoSchema, RuntimeStageSchema, RuntimeTargetTypeSchema, SourceFilesSchema, SourceFileSchema, SourceKindSchema, SourceManifestAuditSchema, SourceManifestEvidenceSchema, SourceManifestFileKindSchema, SourceManifestFileSchema, SourceManifestScannerSchema, SourceManifestSchema, SourceInspectableUnitSchema, SourceSchema, SourceStateSchema, StageInputSchema, StageInputsSchema, StageEvidenceCountSchema, StageEvidenceEdgeSchema, StageEvidenceItemSchema, SourceBuildMaxAttemptsSchema, SourceBuildMaxLoopsSchema, TestCaseExpectSchema, TestTargetTypeSchema, InterfIdPattern, BuildPlanIdSchema, } from "../../../contracts/lib/schema.js";
10
10
  const JsonRecordSchema = z.record(z.string(), z.unknown());
11
- const COMPILED_RELATIVE_PATH_SEGMENT = /^(?!\.{1,2}$)[^/\\]+$/;
12
- function isVerifiableContextRelativePath(value) {
13
- if (value.length === 0)
14
- return false;
15
- if (value.startsWith("/") || value.startsWith("\\"))
16
- return false;
17
- return value
18
- .split(/[\\/]+/)
19
- .every((segment) => COMPILED_RELATIVE_PATH_SEGMENT.test(segment));
20
- }
21
11
  export const BuildPlanArtifactIdSchema = z.string().regex(InterfIdPattern);
22
12
  export const BuildPlanArtifactKindSchema = z.enum(BUILD_PLAN_ARTIFACT_KINDS);
23
- export const BuildPlanArtifactRoleSchema = z.enum(["input", "working", "output", "runtime"]);
13
+ export const BuildPlanArtifactRoleSchema = z.literal("output");
24
14
  export const BuildStageStatusSchema = z.enum(["idle", "running", "succeeded", "failed"]);
25
- export const VerifiableContextStageStateSchema = z.object({
15
+ export const StageFingerprintSchema = z.string().regex(/^[a-f0-9]{64}$/);
16
+ export const ContextGraphStageStateSchema = z.object({
26
17
  contract_type: RuntimeContractTypeSchema.optional(),
27
18
  status: BuildStageStatusSchema.optional(),
19
+ fingerprint: StageFingerprintSchema.optional(),
28
20
  started_at: z.string().nullable().optional(),
29
21
  finished_at: z.string().nullable().optional(),
30
22
  counts: z.record(z.string(), z.number()).optional(),
@@ -33,10 +25,10 @@ export const VerifiableContextStageStateSchema = z.object({
33
25
  summary: z.string().nullable().optional(),
34
26
  run_id: z.string().nullable().optional(),
35
27
  });
36
- export const VerifiableContextStateSchema = z.object({
28
+ export const ContextGraphStateSchema = z.object({
37
29
  version: z.number().int().min(1),
38
30
  pending: z.array(z.string()),
39
- stages: z.record(z.string().regex(InterfIdPattern), VerifiableContextStageStateSchema).optional(),
31
+ stages: z.record(z.string().regex(InterfIdPattern), ContextGraphStageStateSchema).optional(),
40
32
  last_add: z.string().nullable().optional(),
41
33
  last_build: z.string().nullable().optional(),
42
34
  warning_count: z.number().optional(),
@@ -44,7 +36,7 @@ export const VerifiableContextStateSchema = z.object({
44
36
  }).strict();
45
37
  export const ViewSectionSchema = z.object({
46
38
  id: z.string(),
47
- type: z.enum(["status", "cards", "graph", "documents", "table"]),
39
+ type: z.enum(["status", "cards", "flow", "documents", "table"]),
48
40
  title: z.string(),
49
41
  path: z.string().optional(),
50
42
  paths: z.array(z.string()).optional(),
@@ -56,8 +48,8 @@ export const ViewCardSchema = z.object({
56
48
  denominator_metric: z.string().optional(),
57
49
  format: z.enum(["number", "fraction", "timestamp"]),
58
50
  });
59
- export const VerifiableContextHealthSchema = z.object({
60
- kind: z.literal("verifiable-context-health"),
51
+ export const ContextGraphHealthSchema = z.object({
52
+ kind: z.literal("context-graph-health"),
61
53
  version: z.number().int().min(1),
62
54
  generated_at: z.string(),
63
55
  target_name: z.string(),
@@ -70,15 +62,15 @@ export const VerifiableContextHealthSchema = z.object({
70
62
  metrics: z.record(z.string(), z.number()),
71
63
  checks: z.record(z.string(), z.boolean()),
72
64
  });
73
- export const VerifiableContextViewSpecSchema = z.object({
74
- kind: z.literal("verifiable-context-view-spec"),
65
+ export const ContextGraphViewSpecSchema = z.object({
66
+ kind: z.literal("context-graph-view-spec"),
75
67
  version: z.number().int().min(1),
76
68
  generated_at: z.string(),
77
69
  target_name: z.string(),
78
70
  health_source: z.string(),
79
71
  state_source: z.string(),
80
72
  default_note: z.string().nullable(),
81
- graph_scope: z.array(z.string()),
73
+ document_scope: z.array(z.string()),
82
74
  cards: z.array(ViewCardSchema),
83
75
  sections: z.array(ViewSectionSchema),
84
76
  });
@@ -86,29 +78,37 @@ export const BuildPlanPurposeSchema = z.object({
86
78
  label: z.string().min(1),
87
79
  task_hint: z.string().min(1),
88
80
  }).strict();
89
- export const BuildPlanArtifactProjectionSchema = z.object({
81
+ /**
82
+ * Runtime projection of a single Build Plan artifact — the resolved
83
+ * shape stored in `.interf/build-plan/build-plan.json`. Distinct from
84
+ * the user-facing `Artifact` declaration in
85
+ * `contracts/lib/schema.ts` (which carries `shape`, `checks`, and
86
+ * `built_by_stages` at declaration time) and from `ArtifactRef` in
87
+ * `execution/lib/schema.ts` (the run-time event reference). One artifact
88
+ * passes through three lifecycle shapes: declared, projected, referenced.
89
+ */
90
+ export const BuildPlanArtifactSchema = z.object({
90
91
  id: BuildPlanArtifactIdSchema,
91
92
  role: BuildPlanArtifactRoleSchema,
92
- path: z.string().min(1).refine(isVerifiableContextRelativePath, {
93
- message: "Artifact paths must stay inside the verifiable context root",
93
+ path: z.string().min(1).refine(isInterfRelativePath, {
94
+ message: "Artifact paths must stay inside the context graph root",
94
95
  }),
95
96
  kind: BuildPlanArtifactKindSchema,
96
97
  required: z.boolean(),
97
98
  owned_by: z.array(z.string().regex(InterfIdPattern)),
98
99
  description: z.string().min(1),
99
100
  });
100
- export const BuildPlanArtifactSchema = BuildPlanArtifactProjectionSchema;
101
101
  // Persisted schema for the Build Plan-defined artifact interface that one
102
- // verifiable context must implement on disk.
102
+ // context graph must implement on disk.
103
103
  export const BuildPlanContextRawSchema = z.object({
104
104
  kind: z.literal("build-plan-schema"),
105
105
  version: z.literal(1),
106
- target_type: z.literal("verifiable-context"),
106
+ target_type: z.literal("context-graph"),
107
107
  label: z.string().min(1),
108
108
  artifacts: z.array(ArtifactSchema).min(1),
109
109
  }).strict();
110
110
  export const BuildPlanContextSchemaSchema = BuildPlanContextRawSchema;
111
- export const BuildPlanEngineApiSchema = z.object({
111
+ export const BuildPlanRuntimeApiSchema = z.object({
112
112
  kind: z.literal("build"),
113
113
  version: z.literal(1),
114
114
  });
@@ -178,7 +178,7 @@ export const RuntimeStageContractSchema = z.object({
178
178
  }).optional(),
179
179
  }),
180
180
  });
181
- export const RuntimeRunSchema = z.object({
181
+ export const ExecutionStageLedgerSchema = z.object({
182
182
  kind: z.literal("interf-run"),
183
183
  version: z.literal(1),
184
184
  run_id: z.string(),
@@ -202,11 +202,31 @@ export const RuntimeRunSchema = z.object({
202
202
  event_stream_path: z.string(),
203
203
  status_path: z.string().optional(),
204
204
  }).optional(),
205
+ evidence_path: z.string().min(1).optional(),
206
+ evidence: z.lazy(() => StageEvidenceReconciliationSchema).optional(),
205
207
  summary: z.string(),
206
208
  exit_code: z.number().nullable(),
207
209
  error: z.string().nullable(),
208
210
  });
209
- export const RuntimeInventoryEntrySchema = z.object({
211
+ export const RejectedStageEvidenceSchema = z.object({
212
+ kind: z.enum(["count", "item", "edge", "file"]),
213
+ id: z.string().min(1),
214
+ reason: z.string().min(1),
215
+ }).strict();
216
+ export const StageEvidenceReconciliationSchema = z.object({
217
+ kind: z.literal("interf-stage-evidence-reconciliation"),
218
+ version: z.literal(1),
219
+ generated_at: z.string().min(1),
220
+ evidence_path: z.string().min(1).nullable(),
221
+ accepted: z.object({
222
+ counts: z.array(StageEvidenceCountSchema).default([]),
223
+ items: z.array(StageEvidenceItemSchema).default([]),
224
+ edges: z.array(StageEvidenceEdgeSchema).default([]),
225
+ }).strict(),
226
+ rejected: z.array(RejectedStageEvidenceSchema).default([]),
227
+ warnings: z.array(z.string().min(1)).default([]),
228
+ }).strict();
229
+ export const ExecutionInventoryEntrySchema = z.object({
210
230
  input_artifact: ArtifactIdSchema.optional(),
211
231
  input_path: z.string().min(1).optional(),
212
232
  output_artifact: ArtifactIdSchema,
@@ -214,11 +234,11 @@ export const RuntimeInventoryEntrySchema = z.object({
214
234
  state: z.string().min(1).optional(),
215
235
  metadata: JsonRecordSchema.optional(),
216
236
  }).strict();
217
- export const RuntimeInventorySchema = z.object({
218
- kind: z.literal("verifiable-context-runtime-ledger").optional(),
237
+ export const ExecutionInventorySchema = z.object({
238
+ kind: z.literal("context-graph-runtime-ledger").optional(),
219
239
  version: z.number().int().min(1).optional(),
220
240
  stage: RuntimeStageSchema.optional(),
221
- entries: z.array(RuntimeInventoryEntrySchema),
241
+ entries: z.array(ExecutionInventoryEntrySchema),
222
242
  total: z.number().int().nonnegative(),
223
243
  });
224
244
  export const BuildPlanImprovementLoopSummarySchema = z.object({
@@ -244,13 +264,13 @@ export const BuildPlanImprovementContextSchema = z.object({
244
264
  max_attempts: SourceBuildMaxAttemptsSchema,
245
265
  review_paths: z.object({
246
266
  build_plan_root: z.string(),
247
- verifiable_context_runtime: z.string().nullable(),
248
- readiness_runs: z.string().nullable(),
267
+ context_graph_runtime: z.string().nullable(),
268
+ benchmark_runs: z.string().nullable(),
249
269
  execution_shells: z.string().nullable(),
250
270
  test_runs: z.string().nullable(),
251
271
  test_sandboxes: z.string().nullable(),
252
272
  }),
253
- readiness_checks: z.object({
273
+ benchmark_questions: z.object({
254
274
  count: z.number().int().min(0),
255
275
  questions: z.array(z.object({
256
276
  id: z.string(),
@@ -265,7 +285,7 @@ export const PreservedShellTypeSchema = z.enum([
265
285
  "build-plan-authoring",
266
286
  "build-plan-improvement",
267
287
  ]);
268
- export const PreservedShellSnapshotSchema = z.object({
288
+ export const PreservedShellStateSchema = z.object({
269
289
  kind: z.literal("interf-preserved-shell"),
270
290
  version: z.literal(1),
271
291
  shell_type: PreservedShellTypeSchema,
@@ -0,0 +1,2 @@
1
+ export declare function clearBuildRuntimeDerivedArtifacts(contextGraphPath: string): void;
2
+ export declare function resetBuildGeneratedState(contextGraphPath: string, scope?: "build" | "all"): void;
@@ -0,0 +1,62 @@
1
+ import { existsSync, readdirSync, rmSync } from "node:fs";
2
+ import { join } from "node:path";
3
+ import { initializeBuildRuntimeState } from "./state.js";
4
+ import { stageExecutionShellsRoot, testRootForContextGraph, testTargetsRootForContextGraph, buildPlanImprovementLoopsRoot, contextGraphQueryAcceptanceRoot, contextGraphRuntimeRoot, contextGraphRuntimeLogsRoot, } from "./context-graph-paths.js";
5
+ function removeIfExists(path) {
6
+ if (existsSync(path)) {
7
+ rmSync(path, { recursive: true, force: true });
8
+ }
9
+ }
10
+ const BUILD_RUNTIME_RESET_ENTRIES = [
11
+ "state.json",
12
+ "health.json",
13
+ "view-spec.json",
14
+ "inventory.json",
15
+ "run.json",
16
+ "source-manifest.json",
17
+ "source-manifest.audit.json",
18
+ "source-files.json",
19
+ "source-state.json",
20
+ "stage-contract.json",
21
+ "stages",
22
+ ];
23
+ const PRESERVED_CONTEXT_GRAPH_ROOTS = new Set([
24
+ ".agents",
25
+ ".claude",
26
+ ".codex",
27
+ ".cursor",
28
+ ".gitignore",
29
+ ".interf",
30
+ ".interfignore",
31
+ "AGENTS.md",
32
+ "CLAUDE.md",
33
+ ]);
34
+ export function clearBuildRuntimeDerivedArtifacts(contextGraphPath) {
35
+ const runtimeRoot = contextGraphRuntimeRoot(contextGraphPath);
36
+ for (const entry of BUILD_RUNTIME_RESET_ENTRIES) {
37
+ removeIfExists(join(runtimeRoot, entry));
38
+ }
39
+ removeIfExists(contextGraphQueryAcceptanceRoot(contextGraphPath));
40
+ }
41
+ function resetBuildGeneratedOutputs(contextGraphPath) {
42
+ for (const entry of readdirSync(contextGraphPath)) {
43
+ if (PRESERVED_CONTEXT_GRAPH_ROOTS.has(entry))
44
+ continue;
45
+ removeIfExists(join(contextGraphPath, entry));
46
+ }
47
+ }
48
+ export function resetBuildGeneratedState(contextGraphPath, scope = "build") {
49
+ resetBuildGeneratedOutputs(contextGraphPath);
50
+ // Stage reuse fingerprints live in state.json, so this is the load-bearing
51
+ // build reset path that forces a post-reset build to re-run every stage.
52
+ clearBuildRuntimeDerivedArtifacts(contextGraphPath);
53
+ initializeBuildRuntimeState(contextGraphPath);
54
+ if (scope === "all") {
55
+ removeIfExists(stageExecutionShellsRoot(contextGraphPath));
56
+ removeIfExists(buildPlanImprovementLoopsRoot(contextGraphPath));
57
+ removeIfExists(contextGraphRuntimeLogsRoot(contextGraphPath));
58
+ removeIfExists(join(contextGraphRuntimeRoot(contextGraphPath), "run-history.jsonl"));
59
+ removeIfExists(testRootForContextGraph(contextGraphPath));
60
+ removeIfExists(testTargetsRootForContextGraph(contextGraphPath));
61
+ }
62
+ }
@@ -1,4 +1,4 @@
1
- import { BUILD_PLAN_SCHEMA_FILE } from "./verifiable-context-schema.js";
1
+ import { BUILD_PLAN_SCHEMA_FILE } from "./context-graph-schema.js";
2
2
  export function buildRuntimeStageContract(options) {
3
3
  const localSkillDocs = options.localSkillDocs ?? [];
4
4
  const buildPlanNotes = options.buildPlanNotes ?? [];
@@ -23,9 +23,9 @@ export function buildRuntimeStageContract(options) {
23
23
  execution_mode: "deterministic",
24
24
  status_prefixes: ["STATUS:", "DONE:", "BLOCKED:", "ERROR:"],
25
25
  notes: [
26
- `This is the "${options.stageLabel}" stage for the verifiable context "${options.verifiableContextName}".`,
26
+ `This is the "${options.stageLabel}" stage for the context graph "${options.contextGraphName}".`,
27
27
  "The Build Plan is the authoritative plan layer for this run.",
28
- `Use \`build-plan/${BUILD_PLAN_SCHEMA_FILE}\` as the deterministic context-interface reference for this verifiable context.`,
28
+ `Use \`build-plan/${BUILD_PLAN_SCHEMA_FILE}\` as the deterministic requested Artifact contract for this context graph.`,
29
29
  "Honor the declared read and write artifacts instead of inventing a parallel process.",
30
30
  "Only create or update files that fall under the declared write targets for this stage.",
31
31
  "Before emitting DONE, satisfy every check listed under `artifacts.write_contracts[]` for the write Artifacts this stage owns.",
@@ -36,8 +36,8 @@ export function buildRuntimeStageContract(options) {
36
36
  ? [
37
37
  "Read any local instruction docs listed in the contract before you write artifacts or declare the stage complete.",
38
38
  options.instructions.effective_mode === "override"
39
- ? "Local stage docs replace the default Build Plan guidance for this run, but they still do not bypass required writes, declared proof artifacts, or deterministic runtime reconciliation."
40
- : "Local stage docs can refine the stage behavior, but they do not bypass required writes, declared proof artifacts, or deterministic runtime reconciliation.",
39
+ ? "Local stage docs replace the default Build Plan guidance for this run, but they still do not bypass required writes, declared evidence artifacts, or deterministic runtime reconciliation."
40
+ : "Local stage docs can refine the stage behavior, but they do not bypass required writes, declared evidence artifacts, or deterministic runtime reconciliation.",
41
41
  ]
42
42
  : []),
43
43
  ],
@@ -0,0 +1,7 @@
1
+ import { type ExecutionInventory, type ExecutionInventoryEntry } from "./lib/schema.js";
2
+ export declare function emptyExecutionInventory(): ExecutionInventory;
3
+ export declare function buildInventoryFromEntries(entries: ExecutionInventoryEntry[], stage?: string): ExecutionInventory;
4
+ export declare function buildInventoryEntryCount(inventory: ExecutionInventory | null): number;
5
+ export declare function buildInventoryTotal(inventory: ExecutionInventory | null): number;
6
+ export declare function buildInventoryFrontmatterScannedCount(inventory: ExecutionInventory | null): number;
7
+ export declare function buildInventoryAbstractCoverageCount(inventory: ExecutionInventory | null): number;
@@ -1,6 +1,6 @@
1
- export function emptyRuntimeInventory() {
1
+ export function emptyExecutionInventory() {
2
2
  return {
3
- kind: "verifiable-context-runtime-ledger",
3
+ kind: "context-graph-runtime-ledger",
4
4
  version: 1,
5
5
  entries: [],
6
6
  total: 0,
@@ -8,7 +8,7 @@ export function emptyRuntimeInventory() {
8
8
  }
9
9
  export function buildInventoryFromEntries(entries, stage) {
10
10
  return {
11
- kind: "verifiable-context-runtime-ledger",
11
+ kind: "context-graph-runtime-ledger",
12
12
  version: 1,
13
13
  ...(stage ? { stage } : {}),
14
14
  entries,
@@ -1,19 +1,19 @@
1
1
  import { join } from "node:path";
2
- import { verifiableContextRuntimeArchivedStageContractPath, verifiableContextRuntimeLogsRoot, verifiableContextRuntimeRunHistoryPath, verifiableContextRuntimeRunPath, verifiableContextRuntimeStageContractPath, } from "./verifiable-context-paths.js";
2
+ import { contextGraphRuntimeArchivedStageContractPath, contextGraphRuntimeLogsRoot, contextGraphExecutionStageLedgerHistoryPath, contextGraphExecutionStageLedgerPath, contextGraphRuntimeStageContractPath, } from "./context-graph-paths.js";
3
3
  export function runPath(dirPath) {
4
- return verifiableContextRuntimeRunPath(dirPath);
4
+ return contextGraphExecutionStageLedgerPath(dirPath);
5
5
  }
6
6
  export function runHistoryPath(dirPath) {
7
- return verifiableContextRuntimeRunHistoryPath(dirPath);
7
+ return contextGraphExecutionStageLedgerHistoryPath(dirPath);
8
8
  }
9
9
  export function stageContractPath(dirPath) {
10
- return verifiableContextRuntimeStageContractPath(dirPath);
10
+ return contextGraphRuntimeStageContractPath(dirPath);
11
11
  }
12
12
  export function archivedStageContractPath(dirPath, runId) {
13
- return verifiableContextRuntimeArchivedStageContractPath(dirPath, runId);
13
+ return contextGraphRuntimeArchivedStageContractPath(dirPath, runId);
14
14
  }
15
15
  export function logsDirPath(dirPath) {
16
- return verifiableContextRuntimeLogsRoot(dirPath);
16
+ return contextGraphRuntimeLogsRoot(dirPath);
17
17
  }
18
18
  export function promptLogPath(dirPath, runId) {
19
19
  return join(logsDirPath(dirPath), `${runId}.prompt.txt`);
@@ -8,7 +8,7 @@ export function buildStagePrompt(instructions, contractPath, statusLines) {
8
8
  ]
9
9
  : instructions.effective_mode === "extend"
10
10
  ? [
11
- "Use the current Build Plan docs as the default plan for this run.",
11
+ "Use the current Build Plan docs as the default instructions for this run.",
12
12
  "Then apply any additional local stage instruction docs referenced by the contract as stage-specific extensions.",
13
13
  ]
14
14
  : [
@@ -23,16 +23,17 @@ export function buildStagePrompt(instructions, contractPath, statusLines) {
23
23
  `Read \`${contractPath}\` first. It is the authoritative contract for this stage.`,
24
24
  "If `runtime/paths.json` exists in this shell, read it next. It maps Build Plan Artifact ids onto the shell-local `inputs/` and `outputs/` mounts for this stage.",
25
25
  "For file Artifact mounts, `runtime/paths.json` also gives the exact file path inside the `inputs/` or `outputs/` mount root.",
26
+ "Before DONE, run `node runtime/check-stage.mjs` from the shell root and fix outputs until it prints `VALID:`.",
26
27
  "Honor the contract's counts, artifact paths, and policies instead of inventing another Build Plan.",
27
28
  "The contract's `artifacts.write_contracts[]` lists the checks Interf will run against the Artifacts this stage writes. Treat those checks as required output constraints.",
28
- "Read only the files named by the contract's `artifacts.reads` list plus any paths they explicitly direct you to open.",
29
+ "Read only the files named by the contract's `artifacts.reads` list, `runtime/source-manifest.json`, `runtime/stage-inputs.json`, and any paths those files explicitly assign to this stage. `runtime/source-state.json` is compatibility-only and is not stage authority.",
29
30
  "Prefer direct file-reading and search tools over shell commands when you inspect inputs, docs, or generated outputs.",
30
31
  "Do not use shell helpers like `cat`, `sed`, `ls`, or `find` for routine file inspection if a native read/search tool can do the same job.",
31
32
  "If the contract lists `instructions.local_docs`, open every one of those files before you write artifacts or declare the stage complete.",
32
- "If `AGENTS.md` is listed in the contract, use it only for verifiable-context routing that is directly relevant to this stage.",
33
- "`.interf/runtime/run.json`, `.interf/runtime/state.json`, `.interf/runtime/health.json`, and `.interf/runtime/view-spec.json` are runtime artifacts written by Interf. You may read them, but do not create, edit, or replace them unless the contract explicitly marks a different proof artifact as stage-owned.",
33
+ "If `AGENTS.md` is listed in the contract, use it only for context-graph routing that is directly relevant to this stage.",
34
+ "`.interf/runtime/run.json`, `.interf/runtime/state.json`, `.interf/runtime/health.json`, and `.interf/runtime/view-spec.json` are runtime artifacts written by Interf. You may read them, but do not create, edit, or replace them unless the contract explicitly marks a different evidence artifact as stage-owned.",
34
35
  "If a contract-listed output file does not exist yet, create it in one whole-file write. Do not attempt patch-style edits against a missing runtime path.",
35
- "Stay inside the current verifiable context. Do not try to open repo docs, repo source files, or other paths outside this context unless the stage contract explicitly requires them.",
36
+ "Stay inside the current context graph. Do not try to open repo docs, repo source files, or other paths outside this context unless the stage contract explicitly requires them.",
36
37
  instructions.effective_mode === "override"
37
38
  ? "Do not depend on any repo-root or globally installed skill cache for this run. Local stage instruction docs are the primary Build Plan layer for this run."
38
39
  : "Do not depend on any repo-root or globally installed skill cache for this run. Use the current Build Plan stage docs and the contract as the default behavior.",
@@ -43,7 +44,7 @@ export function buildStagePrompt(instructions, contractPath, statusLines) {
43
44
  "Before any long-running source inspection or shell-based helper step, emit a STATUS: line that names the current subtask.",
44
45
  "If work stays in progress, do not remain silent for more than about one minute. Emit another STATUS: line when you switch files, page groups, targets, or extraction passes.",
45
46
  "If you respond conversationally instead of executing the stage, the run will be treated as failed.",
46
- "As soon as the required proof artifacts are complete, stop. Do not keep browsing or auditing after the contract is satisfied.",
47
+ "As soon as the required evidence artifacts are complete, stop. Do not keep browsing or auditing after the contract is satisfied.",
47
48
  ...statusLines,
48
49
  ].join("\n");
49
50
  }
@@ -1,2 +1,2 @@
1
1
  import { type BuildPlanStageDefinition } from "../../build-plans/package/build-plan-definitions.js";
2
- export declare function reconcileBuildStageRun(dirPath: string, stage: Pick<BuildPlanStageDefinition, "id" | "contractType" | "reads" | "writes">): boolean;
2
+ export declare function reconcileBuildStageRun(dirPath: string, stage: BuildPlanStageDefinition): boolean;
@@ -1,16 +1,18 @@
1
- import { existsSync, readFileSync, statSync, writeFileSync, } from "node:fs";
1
+ import { existsSync, readFileSync, statSync, } from "node:fs";
2
2
  import { extname, join, relative } from "node:path";
3
3
  import { listFilesRecursive } from "../../contracts/utils/filesystem.js";
4
- import { verifiableContextArtifactAbsolutePath, findBuildPlanContextArtifact, readBuildPlanContextFile, } from "./verifiable-context-schema.js";
4
+ import { contextGraphArtifactAbsolutePath, findBuildPlanContextArtifact, readBuildPlanContextFile, } from "./context-graph-schema.js";
5
5
  import { parseJsonFrontmatter } from "../../contracts/utils/parse.js";
6
- import { loadRuntimeRun } from "./runtime.js";
7
- import { initVerifiableContextState, loadState, refreshVerifiableContextArtifacts, saveState, } from "./state.js";
6
+ import { loadExecutionStageLedger } from "./runtime.js";
7
+ import { initContextGraphState, loadState, refreshContextGraphArtifacts, saveState, } from "./state.js";
8
8
  import { buildInventoryFromEntries } from "./runtime-inventory.js";
9
9
  import { STANDARD_EVIDENCE_FRONTMATTER_KEYS, } from "../../contracts/lib/schema.js";
10
- import { verifiableContextRuntimeRoot, buildPlanPackagePathForVerifiableContext } from "./verifiable-context-paths.js";
10
+ import { contextGraphRuntimeRoot, buildPlanPackagePathForContextGraph } from "./context-graph-paths.js";
11
11
  import { extractSynthAbstract, isOutputMarkdownFile } from "./validate.js";
12
+ import { writeJsonAtomic } from "./atomic-fs.js";
13
+ import { computeStageFingerprint } from "./stage-reuse.js";
12
14
  function readActiveRunStartedAtMs(dirPath) {
13
- const run = loadRuntimeRun(dirPath);
15
+ const run = loadExecutionStageLedger(dirPath);
14
16
  if (!run)
15
17
  return null;
16
18
  const startedAtMs = Date.parse(run.started_at);
@@ -39,7 +41,7 @@ function anyPathUpdatedSince(absolutePath, sinceMs) {
39
41
  return false;
40
42
  }
41
43
  function artifactCount(dirPath, artifactPath, kind) {
42
- const absolutePath = verifiableContextArtifactAbsolutePath(dirPath, { path: artifactPath });
44
+ const absolutePath = contextGraphArtifactAbsolutePath(dirPath, { path: artifactPath });
43
45
  if (!existsSync(absolutePath))
44
46
  return 0;
45
47
  if (kind === "file")
@@ -53,8 +55,8 @@ function summaryAbstract(content) {
53
55
  return extractSynthAbstract(parsed.frontmatter, parsed.body);
54
56
  }
55
57
  function listZoneArtifacts(dirPath, artifact) {
56
- const absolutePath = verifiableContextArtifactAbsolutePath(dirPath, artifact);
57
- if (!existsSync(absolutePath) || artifact.kind === "runtime")
58
+ const absolutePath = contextGraphArtifactAbsolutePath(dirPath, artifact);
59
+ if (!existsSync(absolutePath))
58
60
  return [];
59
61
  if (artifact.kind === "file") {
60
62
  try {
@@ -95,15 +97,15 @@ function buildInventoryMetadata(options) {
95
97
  return metadata;
96
98
  }
97
99
  function buildStageInventoryEntries(dirPath, stage) {
98
- const schema = readBuildPlanContextFile(buildPlanPackagePathForVerifiableContext(dirPath));
100
+ const schema = readBuildPlanContextFile(buildPlanPackagePathForContextGraph(dirPath));
99
101
  if (!schema)
100
102
  return [];
101
103
  const readableInputArtifacts = stage.reads
102
104
  .map((artifactId) => findBuildPlanContextArtifact(schema, artifactId))
103
- .filter((artifact) => artifact !== null && artifact.kind !== "runtime");
105
+ .filter((artifact) => artifact !== null);
104
106
  const outputArtifacts = stage.writes
105
107
  .map((artifactId) => findBuildPlanContextArtifact(schema, artifactId))
106
- .filter((artifact) => artifact !== null && artifact.kind !== "runtime");
108
+ .filter((artifact) => artifact !== null);
107
109
  if (outputArtifacts.length === 0)
108
110
  return [];
109
111
  const entries = [];
@@ -148,16 +150,16 @@ function buildStageInventoryEntries(dirPath, stage) {
148
150
  return entries.sort((left, right) => `${left.output_artifact}:${left.output_path}`.localeCompare(`${right.output_artifact}:${right.output_path}`));
149
151
  }
150
152
  function writeStageInventory(dirPath, stageId, entries) {
151
- writeFileSync(join(verifiableContextRuntimeRoot(dirPath), "inventory.json"), JSON.stringify(buildInventoryFromEntries(entries, stageId), null, 2) + "\n");
153
+ writeJsonAtomic(join(contextGraphRuntimeRoot(dirPath), "inventory.json"), buildInventoryFromEntries(entries, stageId));
152
154
  }
153
155
  function activeRunCounts(dirPath) {
154
- return { ...(loadRuntimeRun(dirPath)?.counts ?? {}) };
156
+ return { ...(loadExecutionStageLedger(dirPath)?.counts ?? {}) };
155
157
  }
156
158
  export function reconcileBuildStageRun(dirPath, stage) {
157
159
  const startedAtMs = readActiveRunStartedAtMs(dirPath);
158
160
  if (startedAtMs === null)
159
161
  return false;
160
- const schema = readBuildPlanContextFile(buildPlanPackagePathForVerifiableContext(dirPath));
162
+ const schema = readBuildPlanContextFile(buildPlanPackagePathForContextGraph(dirPath));
161
163
  if (!schema)
162
164
  return false;
163
165
  const writeArtifacts = stage.writes
@@ -165,31 +167,33 @@ export function reconcileBuildStageRun(dirPath, stage) {
165
167
  .filter((artifact) => artifact !== null);
166
168
  if (writeArtifacts.length === 0)
167
169
  return false;
168
- if (!writeArtifacts.some((artifact) => anyPathUpdatedSince(verifiableContextArtifactAbsolutePath(dirPath, artifact), startedAtMs))) {
170
+ if (!writeArtifacts.some((artifact) => anyPathUpdatedSince(contextGraphArtifactAbsolutePath(dirPath, artifact), startedAtMs))) {
169
171
  return false;
170
172
  }
171
173
  writeStageInventory(dirPath, stage.id, buildStageInventoryEntries(dirPath, stage));
172
174
  const currentState = {
173
- ...initVerifiableContextState(),
175
+ ...initContextGraphState(),
174
176
  ...(loadState(dirPath) ?? {}),
175
177
  stages: {
176
178
  ...(loadState(dirPath)?.stages ?? {}),
177
179
  },
178
180
  };
179
181
  const now = new Date().toISOString();
182
+ const fingerprint = computeStageFingerprint(dirPath, stage);
180
183
  currentState.stages[stage.id] = {
181
184
  contract_type: stage.contractType,
182
185
  status: "succeeded",
183
- started_at: loadRuntimeRun(dirPath)?.started_at ?? now,
186
+ ...(fingerprint ? { fingerprint } : {}),
187
+ started_at: loadExecutionStageLedger(dirPath)?.started_at ?? now,
184
188
  finished_at: now,
185
189
  counts: activeRunCounts(dirPath),
186
190
  artifact_counts: Object.fromEntries(writeArtifacts.map((artifact) => [artifact.id, artifactCount(dirPath, artifact.path, artifact.kind)])),
187
191
  artifacts: writeArtifacts.map((artifact) => artifact.kind === "file" ? artifact.path : `${artifact.path}/`),
188
- summary: loadRuntimeRun(dirPath)?.summary ?? null,
189
- run_id: loadRuntimeRun(dirPath)?.run_id ?? null,
192
+ summary: loadExecutionStageLedger(dirPath)?.summary ?? null,
193
+ run_id: loadExecutionStageLedger(dirPath)?.run_id ?? null,
190
194
  };
191
195
  currentState.last_build = now;
192
196
  saveState(dirPath, currentState);
193
- refreshVerifiableContextArtifacts(dirPath, { ensureViewSpec: true });
197
+ refreshContextGraphArtifacts(dirPath, { ensureViewSpec: true });
194
198
  return true;
195
199
  }
@@ -0,0 +1,10 @@
1
+ import { type ExecutionStageLedger, type RuntimeStageContract } from "./lib/schema.js";
2
+ import { type ExecutionStageLedgerPatch, type RuntimeStageExecutionOptions } from "./runtime-types.js";
3
+ export declare function loadExecutionStageLedger(dirPath: string): ExecutionStageLedger | null;
4
+ export declare function saveExecutionStageLedger(dirPath: string, run: ExecutionStageLedger): void;
5
+ export declare function writeStageContract(dirPath: string, contract: RuntimeStageContract): string;
6
+ export declare function runExecutorStage(options: RuntimeStageExecutionOptions): Promise<number>;
7
+ export declare function beginExecutionStageLedger(dirPath: string, run: ExecutionStageLedger): ExecutionStageLedger;
8
+ export declare function updateExecutionStageLedger(dirPath: string, patch: ExecutionStageLedgerPatch): ExecutionStageLedger | null;
9
+ export declare function markExecutionStageLedgerFailedAfterValidation(dirPath: string, summary: string): ExecutionStageLedger | null;
10
+ export declare function markExecutionStageLedgerSucceededAfterValidation(dirPath: string, summary: string): ExecutionStageLedger | null;