@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
@@ -2,30 +2,30 @@ import { cpSync, existsSync, mkdirSync, mkdtempSync, rmSync } from "node:fs";
2
2
  import { tmpdir } from "node:os";
3
3
  import { dirname, join } from "node:path";
4
4
  import chalk from "chalk";
5
- import { buildVerifiableContext, } from "./build/build-plan-runs.js";
6
- import { readInterfConfig } from "../project/interf.js";
7
- import { resolveLocalExecutor, } from "./agents/lib/executors.js";
5
+ import { buildContextGraph, } from "./build/build-plan-runs.js";
6
+ import { readInterfConfig } from "../projects/interf.js";
7
+ import { buildRuntimeExecutorInfo, resolveLocalExecutor, } from "./agents/lib/executors.js";
8
8
  import { formatAgentExecutionProfile } from "./agents/lib/execution-profile.js";
9
9
  import { loadAgentsRegistry } from "./agents/registry.js";
10
10
  import { buildRoleExecutorBundle } from "./agents/role-executors.js";
11
11
  import { clearBuildRuntimeDerivedArtifacts, } from "./build/reset.js";
12
12
  import { formatActiveBuildPlanStageLabel, resolveRequiredBuildPlanFromConfig, } from "../build-plans/package/build-plan-definitions.js";
13
13
  import { createRunEventId, createRunEventTimestamp, } from "./execution/events.js";
14
- import { loadVerifiableContextPreparationConfig, resolvePreparationBuildMaxAttempts, resolvePreparationBuildMaxLoops, } from "../project/source-config.js";
14
+ import { loadContextGraphProjectConfig, resolveBuildMaxAttempts, resolveBuildMaxLoops, buildTestSpecFromSourceFolderConfig, } from "../projects/source-config.js";
15
15
  import { runBuildPlanImprovementLoop } from "../build-plans/authoring/build-plan-improvement.js";
16
- import { stageExecutionShellsRoot, buildPlanPackagePathForVerifiableContext, } from "./build/verifiable-context-paths.js";
17
- import { listBuildPlanContextArtifacts, readBuildPlanContextFile } from "./build/verifiable-context-schema.js";
16
+ import { stageExecutionShellsRoot, buildPlanPackagePathForContextGraph, } from "./build/context-graph-paths.js";
17
+ import { listBuildPlanContextArtifacts, readBuildPlanContextFile } from "./build/context-graph-schema.js";
18
18
  import { initializeBuildRuntimeState } from "./build/state.js";
19
- import { readinessPassRate, runReadinessChecksForExecutor, runSavedVerifiableContextCheck, } from "./verify/readiness-check-run.js";
19
+ import { benchmarkPassRate, runBenchmarkForExecutor, runSavedContextGraphBenchmark, } from "./verify/benchmark-run.js";
20
20
  import { runBuildPlanAuthoringDraft, } from "../build-plans/authoring/build-plan-authoring.js";
21
- import { draftReadinessChecks, } from "./readiness-check-draft.js";
21
+ import { draftBenchmarkQuestions, } from "./benchmark-question-draft.js";
22
22
  import { planActionProposalWithExecutor, } from "./action-planner.js";
23
- import { ActionProposalPlanSchema, } from "./lib/schema.js";
24
- function printBuildFailure(verifiableContextPath, failedStage) {
25
- resolveRequiredBuildPlanFromConfig(readInterfConfig(verifiableContextPath), `.interf/interf.json for ${verifiableContextPath}`);
23
+ import { ActionProposalPlanSchema, } from "./schemas/index.js";
24
+ function printBuildFailure(contextGraphPath, failedStage) {
25
+ resolveRequiredBuildPlanFromConfig(readInterfConfig(contextGraphPath), `.interf/interf.json for ${contextGraphPath}`);
26
26
  let failedStageLabel = failedStage ? `Stage "${failedStage}"` : "Build";
27
27
  try {
28
- failedStageLabel = formatActiveBuildPlanStageLabel(verifiableContextPath, failedStage ?? "build");
28
+ failedStageLabel = formatActiveBuildPlanStageLabel(contextGraphPath, failedStage ?? "build");
29
29
  }
30
30
  catch {
31
31
  // Keep the original failure visible even when the failure is outside a declared Build Plan stage.
@@ -35,9 +35,9 @@ function printBuildFailure(verifiableContextPath, failedStage) {
35
35
  function testScore(outcome) {
36
36
  return (outcome.result.passedCases * 1000) + outcome.result.passedChecks;
37
37
  }
38
- async function buildVerifiableContextWithReporter(executor, verifiableContextPath, options = {}) {
38
+ async function buildContextGraphWithReporter(executor, contextGraphPath, options = {}) {
39
39
  console.log();
40
- console.log(chalk.bold(` ${options.heading ?? "Building Verifiable Context..."}`));
40
+ console.log(chalk.bold(` ${options.heading ?? "Building Context Graph..."}`));
41
41
  const profileLabel = formatAgentExecutionProfile(executor.executionProfile);
42
42
  if (profileLabel) {
43
43
  console.log(chalk.dim(` Execution profile: ${profileLabel}`));
@@ -47,27 +47,28 @@ async function buildVerifiableContextWithReporter(executor, verifiableContextPat
47
47
  line: (message) => console.log(chalk.dim(` ${message}`)),
48
48
  blankLine: () => console.log(),
49
49
  };
50
- const result = await buildVerifiableContext({
50
+ const result = await buildContextGraph({
51
51
  executor,
52
52
  resolveStageExecutor: options.resolveStageExecutor,
53
- verifiableContextPath,
53
+ contextGraphPath,
54
54
  reporter,
55
55
  preserveStageShells: options.preserveStageShells,
56
56
  runId: options.runId,
57
57
  events: options.events,
58
+ maxStageValidationAttempts: options.maxStageValidationAttempts,
58
59
  });
59
60
  if (!result.ok)
60
61
  return result;
61
62
  console.log();
62
- console.log(chalk.green(` ${options.successMessage ?? "Verifiable context ready."}`));
63
+ console.log(chalk.green(` ${options.successMessage ?? "Context Graph ready."}`));
63
64
  return result;
64
65
  }
65
- function printSavedReadinessOutcome(prefix, outcome) {
66
+ function printSavedBenchmarkOutcome(prefix, outcome) {
66
67
  const color = outcome.result.ok ? chalk.green : chalk.red;
67
68
  const status = outcome.result.ok ? chalk.green("PASS") : chalk.red("FAIL");
68
69
  console.log(chalk.bold(` ${prefix}`));
69
70
  console.log();
70
- console.log(color(` ${status} ${outcome.result.passedCases}/${outcome.result.totalCases} readiness checks`));
71
+ console.log(color(` ${status} ${outcome.result.passedCases}/${outcome.result.totalCases} benchmark checks`));
71
72
  console.log();
72
73
  for (const [index, caseResult] of outcome.result.caseResults.entries()) {
73
74
  const caseStatus = caseResult.ok ? chalk.green("PASS") : chalk.red("FAIL");
@@ -85,10 +86,9 @@ function printSavedReadinessOutcome(prefix, outcome) {
85
86
  }
86
87
  console.log(chalk.dim(` Saved run: ${outcome.displayRunPath ?? outcome.runPath}`));
87
88
  }
88
- function bestVariationRestorePaths(verifiableContextPath) {
89
- const schema = readBuildPlanContextFile(buildPlanPackagePathForVerifiableContext(verifiableContextPath));
89
+ function bestVariationRestorePaths(contextGraphPath) {
90
+ const schema = readBuildPlanContextFile(buildPlanPackagePathForContextGraph(contextGraphPath));
90
91
  const artifactPaths = (schema ? listBuildPlanContextArtifacts(schema) : [])
91
- .filter((artifact) => artifact.kind !== "runtime")
92
92
  .map((artifact) => artifact.path);
93
93
  return [
94
94
  "AGENTS.md",
@@ -114,45 +114,48 @@ function copyRelativePathIfPresent(sourceRoot, targetRoot, relativePath) {
114
114
  errorOnExist: false,
115
115
  });
116
116
  }
117
- function snapshotBestBuildState(verifiableContextPath) {
118
- const snapshotRoot = mkdtempSync(join(tmpdir(), "interf-build-attempt-"));
119
- const snapshotPath = join(snapshotRoot, "verifiable-context");
120
- for (const relativePath of bestVariationRestorePaths(verifiableContextPath)) {
121
- copyRelativePathIfPresent(verifiableContextPath, snapshotPath, relativePath);
117
+ function captureBestBuildState(contextGraphPath) {
118
+ const backupRoot = mkdtempSync(join(tmpdir(), "interf-build-attempt-"));
119
+ const backupPath = join(backupRoot, "context-graph");
120
+ for (const relativePath of bestVariationRestorePaths(contextGraphPath)) {
121
+ copyRelativePathIfPresent(contextGraphPath, backupPath, relativePath);
122
122
  }
123
- return snapshotPath;
123
+ return backupPath;
124
124
  }
125
- function restoreBestBuildState(snapshotPath, verifiableContextPath) {
126
- for (const relativePath of bestVariationRestorePaths(verifiableContextPath)) {
127
- rmSync(join(verifiableContextPath, relativePath), { recursive: true, force: true });
128
- copyRelativePathIfPresent(snapshotPath, verifiableContextPath, relativePath);
125
+ function restoreBestBuildState(backupPath, contextGraphPath) {
126
+ for (const relativePath of bestVariationRestorePaths(contextGraphPath)) {
127
+ rmSync(join(contextGraphPath, relativePath), { recursive: true, force: true });
128
+ copyRelativePathIfPresent(backupPath, contextGraphPath, relativePath);
129
129
  }
130
- clearBuildRuntimeDerivedArtifacts(verifiableContextPath);
131
- initializeBuildRuntimeState(verifiableContextPath);
130
+ // Restoring a changed Build Plan must invalidate stage fingerprints; the next
131
+ // build has to validate the restored graph against the restored Plan from zero.
132
+ clearBuildRuntimeDerivedArtifacts(contextGraphPath);
133
+ initializeBuildRuntimeState(contextGraphPath);
132
134
  }
133
135
  async function runBuildPlanVariation(options) {
134
136
  let bestOutcome = null;
135
- let bestSnapshotPath = null;
137
+ let bestGraphBackupPath = null;
136
138
  let bestAttempt = 0;
137
139
  let attemptsRun = 0;
138
140
  try {
139
141
  for (let attempt = 1; attempt <= options.maxAttempts; attempt += 1) {
140
142
  attemptsRun = attempt;
141
- const result = await buildVerifiableContextWithReporter(options.executor, options.verifiableContextPath, {
143
+ const result = await buildContextGraphWithReporter(options.executor, options.contextGraphPath, {
142
144
  heading: options.maxAttempts > 1
143
- ? `Building Verifiable Context (${options.variationLabel}, attempt ${attempt}/${options.maxAttempts})...`
144
- : `Building Verifiable Context (${options.variationLabel})...`,
145
+ ? `Building Context Graph (${options.variationLabel}, attempt ${attempt}/${options.maxAttempts})...`
146
+ : `Building Context Graph (${options.variationLabel})...`,
145
147
  successMessage: options.maxAttempts > 1
146
- ? `Verifiable context ready for ${options.variationLabel}, attempt ${attempt}.`
147
- : `Verifiable context ready for ${options.variationLabel}.`,
148
+ ? `Context Graph ready for ${options.variationLabel}, attempt ${attempt}.`
149
+ : `Context Graph ready for ${options.variationLabel}.`,
148
150
  preserveStageShells: options.preserveStageShells,
149
151
  runId: options.runId,
150
152
  events: options.events,
151
153
  resolveStageExecutor: options.resolveStageExecutor,
154
+ maxStageValidationAttempts: options.maxAttempts,
152
155
  });
153
156
  if (!result.ok) {
154
- printBuildFailure(options.verifiableContextPath, result.failedStage);
155
- printStageShellReviewHint(options.verifiableContextPath, options.preserveStageShells, "failure");
157
+ printBuildFailure(options.contextGraphPath, result.failedStage);
158
+ printStageShellReviewHint(options.contextGraphPath, options.preserveStageShells, "failure");
156
159
  if (attempt < options.maxAttempts) {
157
160
  console.log(chalk.yellow(` ${options.variationLabel} attempt ${attempt}/${options.maxAttempts} failed. Retrying with a fresh build.`));
158
161
  continue;
@@ -162,16 +165,16 @@ async function runBuildPlanVariation(options) {
162
165
  attemptsRun,
163
166
  failedStage: result.failedStage,
164
167
  bestOutcome,
165
- bestSnapshotPath,
168
+ bestGraphBackupPath,
166
169
  bestAttempt,
167
170
  fatalError: null,
168
171
  };
169
172
  }
170
- const outcome = await runSavedVerifiableContextCheck({
173
+ const outcome = await runSavedContextGraphBenchmark({
171
174
  sourcePath: options.sourcePath,
172
- preparationConfig: options.verifiableContextConfig,
175
+ projectConfig: options.contextGraphConfig,
173
176
  executor: options.testExecutor,
174
- verifiableContextPath: options.verifiableContextPath,
177
+ contextGraphPath: options.contextGraphPath,
175
178
  preserveSandboxes: options.preserveStageShells === "always" ? "always" : "on-failure",
176
179
  });
177
180
  if (!outcome) {
@@ -180,31 +183,31 @@ async function runBuildPlanVariation(options) {
180
183
  attemptsRun,
181
184
  failedStage: null,
182
185
  bestOutcome,
183
- bestSnapshotPath,
186
+ bestGraphBackupPath,
184
187
  bestAttempt,
185
- fatalError: "Could not run saved readiness checks against verifiable context after build.",
188
+ fatalError: "Could not run saved benchmark checks against Context Graph after build.",
186
189
  };
187
190
  }
188
191
  console.log();
189
- printSavedReadinessOutcome(`${options.variationLabel} · attempt ${attempt}/${options.maxAttempts}`, outcome);
192
+ printSavedBenchmarkOutcome(`${options.variationLabel} · attempt ${attempt}/${options.maxAttempts}`, outcome);
190
193
  if (!bestOutcome || testScore(outcome) > testScore(bestOutcome)) {
191
- if (bestSnapshotPath) {
192
- rmSync(bestSnapshotPath, { recursive: true, force: true });
194
+ if (bestGraphBackupPath) {
195
+ rmSync(bestGraphBackupPath, { recursive: true, force: true });
193
196
  }
194
197
  bestOutcome = outcome;
195
- bestSnapshotPath = snapshotBestBuildState(options.verifiableContextPath);
198
+ bestGraphBackupPath = captureBestBuildState(options.contextGraphPath);
196
199
  bestAttempt = attempt;
197
200
  }
198
201
  if (outcome.result.ok) {
199
202
  console.log();
200
- console.log(chalk.green(` Verifiable context passed on ${options.variationLabel}, attempt ${attempt}/${options.maxAttempts}.`));
201
- printStageShellReviewHint(options.verifiableContextPath, options.preserveStageShells, "success");
203
+ console.log(chalk.green(` Context Graph passed on ${options.variationLabel}, attempt ${attempt}/${options.maxAttempts}.`));
204
+ printStageShellReviewHint(options.contextGraphPath, options.preserveStageShells, "success");
202
205
  return {
203
206
  passed: true,
204
207
  attemptsRun,
205
208
  failedStage: null,
206
209
  bestOutcome,
207
- bestSnapshotPath,
210
+ bestGraphBackupPath,
208
211
  bestAttempt,
209
212
  fatalError: null,
210
213
  };
@@ -219,7 +222,7 @@ async function runBuildPlanVariation(options) {
219
222
  attemptsRun,
220
223
  failedStage: null,
221
224
  bestOutcome,
222
- bestSnapshotPath,
225
+ bestGraphBackupPath,
223
226
  bestAttempt,
224
227
  fatalError: null,
225
228
  };
@@ -230,7 +233,7 @@ async function runBuildPlanVariation(options) {
230
233
  attemptsRun,
231
234
  failedStage: null,
232
235
  bestOutcome,
233
- bestSnapshotPath,
236
+ bestGraphBackupPath,
234
237
  bestAttempt,
235
238
  fatalError: error instanceof Error ? error.message : String(error),
236
239
  };
@@ -240,11 +243,11 @@ function summarizeBuildPlanVariation(options) {
240
243
  const passedChecks = options.result.bestOutcome?.result.passedCases ?? 0;
241
244
  const totalChecks = options.result.bestOutcome?.result.totalCases ?? options.defaultTotalChecks;
242
245
  const summary = options.result.passed
243
- ? `Passed ${passedChecks}/${totalChecks} readiness checks.`
246
+ ? `Passed ${passedChecks}/${totalChecks} benchmark checks.`
244
247
  : options.result.bestOutcome
245
- ? `Best result: ${passedChecks}/${totalChecks} readiness checks passed.`
248
+ ? `Best result: ${passedChecks}/${totalChecks} benchmark checks passed.`
246
249
  : options.result.failedStage
247
- ? `Build failed at stage ${options.result.failedStage} before any saved readiness result.`
250
+ ? `Build failed at stage ${options.result.failedStage} before any saved benchmark result.`
248
251
  : "Build Plan variation did not produce a passing result.";
249
252
  return {
250
253
  variation: options.variation,
@@ -261,8 +264,8 @@ function summarizeBuildPlanVariation(options) {
261
264
  summary,
262
265
  };
263
266
  }
264
- function printStageShellReviewHint(verifiableContextPath, preserveStageShells, result) {
265
- const reviewRoot = stageExecutionShellsRoot(verifiableContextPath);
267
+ function printStageShellReviewHint(contextGraphPath, preserveStageShells, result) {
268
+ const reviewRoot = stageExecutionShellsRoot(contextGraphPath);
266
269
  if (preserveStageShells === "always") {
267
270
  console.log(chalk.dim(` Stage shells are saved under: ${reviewRoot}`));
268
271
  return;
@@ -272,18 +275,18 @@ function printStageShellReviewHint(verifiableContextPath, preserveStageShells, r
272
275
  }
273
276
  }
274
277
  function printPostBuildNextStep(options) {
275
- console.log(chalk.dim(` Verifiable context: ${options.verifiableContextPath}`));
278
+ console.log(chalk.dim(` Context Graph: ${options.contextGraphPath}`));
276
279
  if (options.checks === 0) {
277
- console.log(chalk.dim(" Next: run `interf` to add readiness checks, then `interf test`."));
280
+ console.log(chalk.dim(" Next: run `interf` to add benchmark questions, then `interf benchmark`."));
278
281
  return;
279
282
  }
280
283
  if (options.testedDuringBuild) {
281
- console.log(chalk.dim(" Next: inspect the verifiable context agents will use, or run `interf test` if you also want readiness evidence for source files and verifiable context."));
284
+ console.log(chalk.dim(" Next: inspect the Context Graph agents will use, or run `interf benchmark` if you also want a Source Manifest baseline versus Context Graph benchmark."));
282
285
  return;
283
286
  }
284
- console.log(chalk.dim(" Next: run `interf test` to collect readiness evidence for source files and verifiable context."));
287
+ console.log(chalk.dim(" Next: run `interf benchmark` to benchmark the Source Manifest baseline and/or the Context Graph."));
285
288
  }
286
- function formatVariationReadinessSummary(summary) {
289
+ function formatVariationBenchmarkSummary(summary) {
287
290
  return `${summary.passed_questions}/${summary.total_questions}`;
288
291
  }
289
292
  function printBuildPlanVariationSummary(summaries) {
@@ -292,101 +295,107 @@ function printBuildPlanVariationSummary(summaries) {
292
295
  console.log();
293
296
  console.log(chalk.bold(" Build Plan variation summary"));
294
297
  console.log();
295
- console.log(" | Variation | Kind | Readiness checks | Result |");
298
+ console.log(" | Variation | Kind | Benchmark checks | Result |");
296
299
  console.log(" | --- | --- | --- | --- |");
297
300
  for (const summary of summaries) {
298
- console.log(` | ${summary.variation} | ${summary.kind} | \`${formatVariationReadinessSummary(summary)}\` | ${summary.passed ? "pass" : "fail"} |`);
301
+ console.log(` | ${summary.variation} | ${summary.kind} | \`${formatVariationBenchmarkSummary(summary)}\` | ${summary.passed ? "pass" : "fail"} |`);
299
302
  }
300
303
  }
301
- function printSelectedBuildPlanOwnership(verifiableContextPath, bestVariation) {
304
+ function printSelectedBuildPlanOwnership(contextGraphPath, bestVariation) {
302
305
  if (bestVariation <= 1)
303
306
  return;
304
307
  console.log();
305
- console.log(chalk.dim(` Best Build Plan variation now lives in: ${buildPlanPackagePathForVerifiableContext(verifiableContextPath)}`));
306
- console.log(chalk.dim(" The project-level Build Plan selection was not changed automatically."));
307
- console.log(chalk.dim(" Rebuilding this existing verifiable context reuses that local Build Plan draft."));
308
+ console.log(chalk.dim(` Best Build Plan variation now lives in: ${buildPlanPackagePathForContextGraph(contextGraphPath)}`));
309
+ console.log(chalk.dim(" The Project-level Build Plan selection was not changed automatically."));
310
+ console.log(chalk.dim(" Building this existing Context Graph again reuses that local Build Plan draft."));
308
311
  }
309
312
  export async function runConfiguredBuild(options) {
310
313
  const preserveStageShells = options.preserveStageShells ?? "on-failure";
311
- const configuredMaxAttempts = resolvePreparationBuildMaxAttempts(options.verifiableContextConfig ?? { max_attempts: undefined }, options.maxAttemptsOverride);
312
- const maxLoops = resolvePreparationBuildMaxLoops(options.verifiableContextConfig ?? { max_loops: undefined }, options.maxLoopsOverride);
314
+ const configuredMaxAttempts = resolveBuildMaxAttempts(options.maxAttemptsOverride);
315
+ const maxLoops = resolveBuildMaxLoops(options.maxLoopsOverride);
313
316
  const maxAttempts = configuredMaxAttempts ?? (maxLoops != null ? 1 : null);
314
317
  const loopEnabled = maxAttempts != null;
315
- const checks = options.verifiableContextConfig?.checks ?? [];
316
- if (loopEnabled && checks.length === 0) {
317
- console.log(chalk.yellow(" Retry and self-improving modes need saved readiness checks. Building once without those loops."));
318
+ const projectName = options.contextGraphConfig?.name ?? readInterfConfig(options.contextGraphPath)?.name ?? "project";
319
+ const benchmarkSpec = buildTestSpecFromSourceFolderConfig({
320
+ projectDataDir: options.sourcePath,
321
+ targetName: projectName,
322
+ targetType: "context-graph",
323
+ });
324
+ const benchmarkCheckCount = benchmarkSpec?.cases.length ?? 0;
325
+ if (loopEnabled && benchmarkCheckCount === 0) {
326
+ console.log(chalk.yellow(" Retry and self-improving modes need saved benchmark checks. Building once without those loops."));
318
327
  }
319
328
  else if (loopEnabled) {
320
329
  if (maxAttempts > 1) {
321
330
  console.log(chalk.dim(` Retry mode: up to ${maxAttempts} build attempts.`));
322
- console.log(chalk.dim(" Interf will rerun the same Build Plan variation, check the verifiable context agents can use, and stop early if it passes."));
331
+ console.log(chalk.dim(" Interf will rerun the same Build Plan variation, check the Context Graph agents can use, and stop early if it passes."));
323
332
  }
324
333
  else {
325
334
  console.log(chalk.dim(" Build mode: 1 attempt per Build Plan variation."));
326
335
  }
327
336
  if (maxLoops != null) {
328
337
  console.log(chalk.dim(` Build Plan improvement: up to ${maxLoops} Build Plan edits after retries fail.`));
329
- console.log(chalk.dim(" Interf will review failed runs, edit the Build Plan, and test new Build Plan variations."));
338
+ console.log(chalk.dim(" Interf will review failed runs, edit the Build Plan, and benchmark new Build Plan variations."));
330
339
  }
331
340
  }
332
- if (!loopEnabled || checks.length === 0) {
333
- const result = await buildVerifiableContextWithReporter(options.executor, options.verifiableContextPath, {
341
+ if (!loopEnabled || benchmarkCheckCount === 0) {
342
+ const result = await buildContextGraphWithReporter(options.executor, options.contextGraphPath, {
334
343
  preserveStageShells,
335
344
  runId: options.runId,
336
345
  events: options.events,
337
346
  resolveStageExecutor: options.resolveStageExecutor,
347
+ maxStageValidationAttempts: configuredMaxAttempts ?? undefined,
338
348
  });
339
349
  if (!result.ok) {
340
350
  process.exitCode = 1;
341
- printBuildFailure(options.verifiableContextPath, result.failedStage);
342
- printStageShellReviewHint(options.verifiableContextPath, preserveStageShells, "failure");
351
+ printBuildFailure(options.contextGraphPath, result.failedStage);
352
+ printStageShellReviewHint(options.contextGraphPath, preserveStageShells, "failure");
343
353
  return false;
344
354
  }
345
- printStageShellReviewHint(options.verifiableContextPath, preserveStageShells, "success");
355
+ printStageShellReviewHint(options.contextGraphPath, preserveStageShells, "success");
346
356
  printPostBuildNextStep({
347
- verifiableContextPath: options.verifiableContextPath,
348
- checks: checks.length,
357
+ contextGraphPath: options.contextGraphPath,
358
+ checks: benchmarkCheckCount,
349
359
  testedDuringBuild: false,
350
360
  });
351
361
  return true;
352
362
  }
353
363
  let bestOutcome = null;
354
- let bestSnapshotPath = null;
364
+ let bestGraphBackupPath = null;
355
365
  let bestAttempt = 0;
356
366
  let bestVariation = 0;
357
367
  const previousVariations = [];
358
368
  const improvementRunId = `${Date.now().toString(36)}-${Math.random().toString(36).slice(2, 8)}`;
359
369
  try {
360
- const verifiableContextConfig = options.verifiableContextConfig
361
- ?? loadVerifiableContextPreparationConfig(options.verifiableContextPath)
370
+ const contextGraphConfig = options.contextGraphConfig
371
+ ?? loadContextGraphProjectConfig(options.contextGraphPath)
362
372
  ?? {
363
- name: readInterfConfig(options.verifiableContextPath)?.name ?? "preparation",
373
+ name: readInterfConfig(options.contextGraphPath)?.name ?? "project",
364
374
  path: "./source-folder",
365
- checks: [],
366
375
  };
367
376
  const adoptVariationBest = (variation, result) => {
368
- if (result.bestOutcome && result.bestSnapshotPath && (!bestOutcome || testScore(result.bestOutcome) > testScore(bestOutcome))) {
369
- if (bestSnapshotPath) {
370
- rmSync(bestSnapshotPath, { recursive: true, force: true });
377
+ if (result.bestOutcome && result.bestGraphBackupPath && (!bestOutcome || testScore(result.bestOutcome) > testScore(bestOutcome))) {
378
+ if (bestGraphBackupPath) {
379
+ rmSync(bestGraphBackupPath, { recursive: true, force: true });
371
380
  }
372
381
  bestOutcome = result.bestOutcome;
373
- bestSnapshotPath = result.bestSnapshotPath;
382
+ bestGraphBackupPath = result.bestGraphBackupPath;
374
383
  bestAttempt = result.bestAttempt;
375
384
  bestVariation = variation;
376
- result.bestSnapshotPath = null;
385
+ result.bestGraphBackupPath = null;
377
386
  }
378
- if (result.bestSnapshotPath) {
379
- rmSync(result.bestSnapshotPath, { recursive: true, force: true });
380
- result.bestSnapshotPath = null;
387
+ if (result.bestGraphBackupPath) {
388
+ rmSync(result.bestGraphBackupPath, { recursive: true, force: true });
389
+ result.bestGraphBackupPath = null;
381
390
  }
382
391
  };
383
392
  const baseline = await runBuildPlanVariation({
384
393
  executor: options.executor,
385
394
  testExecutor: options.testExecutor,
386
395
  resolveStageExecutor: options.resolveStageExecutor,
387
- verifiableContextPath: options.verifiableContextPath,
396
+ contextGraphPath: options.contextGraphPath,
388
397
  sourcePath: options.sourcePath,
389
- verifiableContextConfig,
398
+ contextGraphConfig,
390
399
  executionProfile: options.executionProfile,
391
400
  preserveStageShells,
392
401
  maxAttempts,
@@ -404,13 +413,13 @@ export async function runConfiguredBuild(options) {
404
413
  variation: 1,
405
414
  kind: "baseline",
406
415
  result: baseline,
407
- defaultTotalChecks: checks.length,
416
+ defaultTotalChecks: benchmarkCheckCount,
408
417
  }));
409
418
  if (baseline.passed) {
410
419
  printBuildPlanVariationSummary(previousVariations);
411
420
  printPostBuildNextStep({
412
- verifiableContextPath: options.verifiableContextPath,
413
- checks: checks.length,
421
+ contextGraphPath: options.contextGraphPath,
422
+ checks: benchmarkCheckCount,
414
423
  testedDuringBuild: true,
415
424
  });
416
425
  return true;
@@ -421,9 +430,12 @@ export async function runConfiguredBuild(options) {
421
430
  console.log(chalk.dim(` Self-improving loop ${loopIndex}/${maxLoops}: reviewing failed runs and editing the Build Plan.`));
422
431
  const improvement = await runBuildPlanImprovementLoop({
423
432
  executor: options.executor,
424
- verifiableContextPath: options.verifiableContextPath,
425
- buildPlanId: resolveRequiredBuildPlanFromConfig(readInterfConfig(options.verifiableContextPath), `.interf/interf.json for ${options.verifiableContextPath}`),
426
- verifiableContextConfig,
433
+ contextGraphPath: options.contextGraphPath,
434
+ buildPlanId: resolveRequiredBuildPlanFromConfig(readInterfConfig(options.contextGraphPath), `.interf/interf.json for ${options.contextGraphPath}`),
435
+ benchmarkChecks: benchmarkSpec?.cases.map((testCase) => ({
436
+ id: testCase.id,
437
+ question: testCase.question,
438
+ })) ?? [],
427
439
  runId: improvementRunId,
428
440
  loopIndex,
429
441
  maxLoops,
@@ -444,9 +456,9 @@ export async function runConfiguredBuild(options) {
444
456
  executor: options.executor,
445
457
  testExecutor: options.testExecutor,
446
458
  resolveStageExecutor: options.resolveStageExecutor,
447
- verifiableContextPath: options.verifiableContextPath,
459
+ contextGraphPath: options.contextGraphPath,
448
460
  sourcePath: options.sourcePath,
449
- verifiableContextConfig,
461
+ contextGraphConfig,
450
462
  executionProfile: options.executionProfile,
451
463
  preserveStageShells,
452
464
  maxAttempts,
@@ -464,44 +476,44 @@ export async function runConfiguredBuild(options) {
464
476
  variation: loopIndex + 1,
465
477
  kind: "edited",
466
478
  result: variation,
467
- defaultTotalChecks: checks.length,
479
+ defaultTotalChecks: benchmarkCheckCount,
468
480
  }));
469
481
  if (variation.passed) {
470
482
  printBuildPlanVariationSummary(previousVariations);
471
- printSelectedBuildPlanOwnership(options.verifiableContextPath, bestVariation);
483
+ printSelectedBuildPlanOwnership(options.contextGraphPath, bestVariation);
472
484
  printPostBuildNextStep({
473
- verifiableContextPath: options.verifiableContextPath,
474
- checks: checks.length,
485
+ contextGraphPath: options.contextGraphPath,
486
+ checks: benchmarkCheckCount,
475
487
  testedDuringBuild: true,
476
488
  });
477
489
  return true;
478
490
  }
479
491
  }
480
492
  }
481
- if (bestSnapshotPath && bestVariation > 0) {
482
- restoreBestBuildState(bestSnapshotPath, options.verifiableContextPath);
493
+ if (bestGraphBackupPath && bestVariation > 0) {
494
+ restoreBestBuildState(bestGraphBackupPath, options.contextGraphPath);
483
495
  console.log();
484
- console.log(chalk.dim(` Restored the best-performing verifiable context from variation ${bestVariation}, attempt ${bestAttempt}.`));
496
+ console.log(chalk.dim(` Restored the best-performing Context Graph from variation ${bestVariation}, attempt ${bestAttempt}.`));
485
497
  }
486
498
  process.exitCode = 1;
487
499
  console.log();
488
500
  printBuildPlanVariationSummary(previousVariations);
489
- printSelectedBuildPlanOwnership(options.verifiableContextPath, bestVariation);
501
+ printSelectedBuildPlanOwnership(options.contextGraphPath, bestVariation);
490
502
  if (maxLoops != null) {
491
- console.log(chalk.red(` Verifiable context did not pass after ${maxAttempts} attempt${maxAttempts === 1 ? "" : "s"} per variation and ${maxLoops} Build Plan improvement loop${maxLoops === 1 ? "" : "s"}.`));
503
+ console.log(chalk.red(` Context Graph did not pass after ${maxAttempts} attempt${maxAttempts === 1 ? "" : "s"} per variation and ${maxLoops} Build Plan improvement loop${maxLoops === 1 ? "" : "s"}.`));
492
504
  }
493
505
  else {
494
- console.log(chalk.red(` Verifiable context did not pass within ${maxAttempts} attempt${maxAttempts === 1 ? "" : "s"}.`));
506
+ console.log(chalk.red(` Context Graph did not pass within ${maxAttempts} attempt${maxAttempts === 1 ? "" : "s"}.`));
495
507
  }
496
508
  if (bestOutcome) {
497
- console.log(chalk.dim(` Best attempt readiness-check pass rate: ${readinessPassRate(bestOutcome)}%.`));
509
+ console.log(chalk.dim(` Best attempt benchmark pass rate: ${benchmarkPassRate(bestOutcome)}%.`));
498
510
  }
499
- printStageShellReviewHint(options.verifiableContextPath, preserveStageShells, "failure");
511
+ printStageShellReviewHint(options.contextGraphPath, preserveStageShells, "failure");
500
512
  return false;
501
513
  }
502
514
  finally {
503
- if (bestSnapshotPath) {
504
- rmSync(bestSnapshotPath, { recursive: true, force: true });
515
+ if (bestGraphBackupPath) {
516
+ rmSync(bestGraphBackupPath, { recursive: true, force: true });
505
517
  }
506
518
  }
507
519
  }
@@ -523,7 +535,7 @@ export function createNativeLocalServiceRunHandlers(options = {}) {
523
535
  if (!resolved.executor) {
524
536
  return ActionProposalPlanSchema.parse({
525
537
  action_type: "clarification",
526
- preparation: request.preparation,
538
+ project: request.project,
527
539
  assistant_message: resolved.error ?? "No local agent detected for action planning.",
528
540
  });
529
541
  }
@@ -568,9 +580,9 @@ export function createNativeLocalServiceRunHandlers(options = {}) {
568
580
  }
569
581
  return stageExecutor;
570
582
  },
571
- verifiableContextPath: context.verifiableContextPath,
583
+ contextGraphPath: context.contextGraphPath,
572
584
  sourcePath: context.sourcePath,
573
- verifiableContextConfig: context.preparationConfig,
585
+ contextGraphConfig: context.projectConfig,
574
586
  maxAttemptsOverride: request.max_attempts ?? null,
575
587
  maxLoopsOverride: request.max_loops ?? null,
576
588
  preserveStageShells: request.preserve_stage_shells,
@@ -590,45 +602,64 @@ export function createNativeLocalServiceRunHandlers(options = {}) {
590
602
  });
591
603
  // Verify runs always use the `verifier` role. We resolve here
592
604
  // for symmetry with Build runs — verify-run events are not
593
- // streamed in 0.15, so the resolution shows up only in the
594
- // executor field on the saved test run record.
595
- const { executor } = bundle.resolveExecutorForRole("verifier");
596
- const result = await runReadinessChecksForExecutor({
605
+ // streamed, so the resolution shows up only in the executor
606
+ // field on the saved benchmark run record.
607
+ const executor = request.agent_name
608
+ ? (() => {
609
+ const agent = registry.agents.find((entry) => entry.name === request.agent_name && entry.available !== false);
610
+ if (!agent) {
611
+ throw new Error(`Benchmark agent "${request.agent_name}" is not connected.`);
612
+ }
613
+ const requestedExecutor = bundle.executors.get(agent.name);
614
+ if (!requestedExecutor) {
615
+ throw new Error(`Benchmark agent "${agent.name}" is not available for automated runs.`);
616
+ }
617
+ return requestedExecutor;
618
+ })()
619
+ : bundle.resolveExecutorForRole("verifier").executor;
620
+ const executorInfo = buildRuntimeExecutorInfo(executor);
621
+ const result = await runBenchmarkForExecutor({
597
622
  sourcePath: context.sourcePath,
598
- preparationConfig: context.preparationConfig,
599
- verifiableContextPath: context.verifiableContextPath,
623
+ projectConfig: context.projectConfig,
624
+ contextGraphPath: context.contextGraphPath,
600
625
  executor,
601
626
  target: request.target,
602
627
  });
603
- const outcome = request.target === "source-files"
604
- ? result.sourceFilesOutcome
605
- : result.verifiableContextOutcome;
606
- if (!outcome) {
607
- const targetLabel = request.target === "source-files"
608
- ? "Source files"
609
- : "Verifiable context";
628
+ const missingTargets = [
629
+ ...(request.target === "source-files" || request.target === "both"
630
+ ? result.sourceFilesOutcome ? [] : ["Source files"]
631
+ : []),
632
+ ...(request.target === "context-graph" || request.target === "both"
633
+ ? result.contextGraphOutcome ? [] : ["Context Graph"]
634
+ : []),
635
+ ];
636
+ if (missingTargets.length > 0) {
610
637
  return {
611
638
  ok: false,
612
- readiness_run: result.readinessRun,
613
- error: `${targetLabel} is not ready for readiness checks.`,
639
+ benchmark_run: result.benchmarkRun,
640
+ executor: executorInfo,
641
+ agent_label: executor.displayName,
642
+ error: `${missingTargets.join(" and ")} ${missingTargets.length === 1 ? "is" : "are"} not ready for benchmark evaluation.`,
614
643
  };
615
644
  }
616
645
  return {
617
646
  ok: true,
618
- readiness_run: result.readinessRun,
647
+ benchmark_run: result.benchmarkRun,
648
+ executor: executorInfo,
649
+ agent_label: executor.displayName,
619
650
  };
620
651
  },
621
- async createReadinessCheckDraft(request, context) {
652
+ async createBenchmarkQuestionDraft(request, context) {
622
653
  const executor = resolveHandlerExecutor(options.executor);
623
654
  context.emit({
624
655
  type: "log.appended",
625
656
  step_id: "agent-draft",
626
- message: `Using ${executor.displayName} to draft readiness checks.`,
657
+ message: `Using ${executor.displayName} to draft benchmark questions.`,
627
658
  });
628
- const drafted = await draftReadinessChecks({
629
- preparationName: request.preparation,
659
+ const drafted = await draftBenchmarkQuestions({
660
+ projectName: request.project,
630
661
  sourceFolderPath: request.source_folder_path,
631
- about: request.about,
662
+ intent: request.intent,
632
663
  executor,
633
664
  targetCount: request.target_count,
634
665
  onStatus: (line) => context.emit({
@@ -638,7 +669,7 @@ export function createNativeLocalServiceRunHandlers(options = {}) {
638
669
  }),
639
670
  });
640
671
  if (!drafted.checks) {
641
- throw new Error(drafted.error ?? "Could not draft readiness checks from this Source Folder.");
672
+ throw new Error(drafted.error ?? "Could not draft benchmark questions from this Source Folder.");
642
673
  }
643
674
  return {
644
675
  checks: drafted.checks,
@@ -652,16 +683,17 @@ export function createNativeLocalServiceRunHandlers(options = {}) {
652
683
  message: `Using ${executor.displayName} for Build Plan authoring.`,
653
684
  });
654
685
  const result = await runBuildPlanAuthoringDraft({
655
- prepDataDir: context.sourcePath,
686
+ projectDataDir: context.sourcePath,
656
687
  sourceFolderPath: request.source_folder_path,
657
688
  baseBuildPlanId: request.reference_build_plan_id ?? request.base_build_plan_id,
658
689
  buildPlanId: request.build_plan_id,
659
690
  label: request.label,
660
691
  hint: request.hint,
661
- taskPrompt: request.task_prompt,
692
+ intent: request.intent,
662
693
  checks: request.checks,
694
+ userPrepInstructions: request.user_prep_instructions,
663
695
  requestedArtifacts: request.requested_artifacts,
664
- sourceProfile: request.source_profile ?? null,
696
+ sourceContext: request.source_context ?? null,
665
697
  artifactRequirements: request.artifact_requirements,
666
698
  executor,
667
699
  onStatus: (line) => context.emit({