@interf/compiler 0.22.0 → 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 +268 -0
  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 +40 -30
  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/_qJKnA0dammQ306MG_zMq/_buildManifest.js +0 -11
  415. package/dist/interf-ui/_next/static/_qJKnA0dammQ306MG_zMq/_clientMiddlewareManifest.js +0 -1
  416. package/dist/interf-ui/_next/static/_qJKnA0dammQ306MG_zMq/_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,7 +1,6 @@
1
- import { type BuildPlanAuthoringArtifactRequirement } from "../../engine/agents/lib/shells.js";
2
- import type { AgentExecutor } from "../../engine/agents/lib/executors.js";
1
+ import type { AgentExecutor } from "../../runtime/agents/lib/executors.js";
3
2
  import { validateBuildPlanPackage } from "../package/local-build-plans.js";
4
- import type { RequestedArtifact, SourceProfile, SourceReadinessCheck } from "../../project/lib/schema.js";
3
+ import type { BuildPlanAuthoringArtifactRequirement, BuildPlanContextCheckDraft, RequestedArtifact, SourceContext } from "./brief.js";
5
4
  /**
6
5
  * Walk build-plan.json after a successful authoring run and fill in
7
6
  * `role: "general"` for any stage missing a role field. Custom role
@@ -10,7 +9,7 @@ import type { RequestedArtifact, SourceProfile, SourceReadinessCheck } from "../
10
9
  * touched so the runtime can surface that to the user.
11
10
  */
12
11
  export declare function ensureStageRoles(buildPlanPath: string): string[];
13
- export interface BuildPlanAuthoringRunResult {
12
+ interface BuildPlanAuthoringRunResult {
14
13
  status: "updated" | "no-change" | "invalid" | "executor-failed";
15
14
  changed: boolean;
16
15
  summary: string;
@@ -19,18 +18,19 @@ export interface BuildPlanAuthoringRunResult {
19
18
  shellPath: string;
20
19
  }
21
20
  export declare function runBuildPlanAuthoringDraft(options: {
22
- prepDataDir: string;
21
+ projectDataDir: string;
23
22
  sourceFolderPath: string;
24
23
  baseBuildPlanId?: string;
25
24
  buildPlanId: string;
26
25
  label: string;
27
- hint: string;
28
- taskPrompt: string;
29
- checks?: SourceReadinessCheck[];
26
+ hint?: string;
27
+ intent: string;
28
+ checks?: BuildPlanContextCheckDraft[];
29
+ userPrepInstructions?: string;
30
30
  requestedArtifacts?: RequestedArtifact[];
31
- sourceProfile?: SourceProfile | null;
31
+ sourceContext?: SourceContext | null;
32
32
  artifactRequirements?: BuildPlanAuthoringArtifactRequirement[];
33
33
  executor: AgentExecutor;
34
34
  onStatus?: (line: string) => void;
35
35
  }): Promise<BuildPlanAuthoringRunResult>;
36
- export declare function resolveBuildPlanDraftPath(sourcePath: string, buildPlanId: string): string;
36
+ export {};
@@ -1,9 +1,9 @@
1
1
  import { existsSync, readFileSync, rmSync, writeFileSync } from "node:fs";
2
2
  import { join } from "node:path";
3
- import { createBuildPlanAuthoringShell, } from "../../engine/agents/lib/shells.js";
3
+ import { createBuildPlanAuthoringShell, } from "../../runtime/agents/lib/shells.js";
4
4
  import { createScratchLocalBuildPlanPackage } from "../package/interf-build-plan-package.js";
5
5
  import { CONTEXT_INTERFACE_FILE, listContextInterfaceArtifacts } from "../package/context-interface.js";
6
- import { loadBuildPlanDefinitionFromDir, validateBuildPlanPackage, buildPlanDefinitionPath, } from "../package/local-build-plans.js";
6
+ import { loadBuildPlanDefinitionFromDir, validateBuildPlanPackage, } from "../package/local-build-plans.js";
7
7
  import { runBuildPlanEditSession } from "./build-plan-edit-session.js";
8
8
  /**
9
9
  * Walk build-plan.json after a successful authoring run and fill in
@@ -61,30 +61,48 @@ function buildBuildPlanAuthoringPrompt() {
61
61
  return [
62
62
  "This is an automated Interf Build Plan authoring run, not an open-ended chat session.",
63
63
  "Execute it now.",
64
- "Create one standalone Build Plan package for the source data, desired verifiable-context outputs, and proof requirements in this source folder.",
64
+ "Create one standalone Build Plan package for the Source data, requested Artifacts, Context Checks, and evidence requirements behind the Source locator.",
65
65
  "Read `runtime/authoring-context.json` first.",
66
- "Treat `task_prompt` as the user's preparation-and-evidence brief: source data, output shape, and evidence that should show the data is ready.",
66
+ "Treat `intent`, `requested_artifacts`, `checks`, `user_prep_instructions`, and `source_context` as the user's agent task and evidence brief.",
67
67
  `Then read \`build-plan/README.md\`, \`build-plan/build-plan.json\`, and \`build-plan/${CONTEXT_INTERFACE_FILE}\`.`,
68
68
  "The `build-plan/` directory starts as a neutral Build Plan scaffold, not as a suggested final plan.",
69
- "Replace the scaffold purpose, inputs, Artifacts, stages, stage docs, checks, and query guidance with the Build Plan this agent work actually needs.",
70
- "Read `runtime/source-files.json` and inspect the listed source locators before editing the package.",
69
+ "Replace the scaffold purpose, inputs, Artifacts, stages, stage docs, checks, and query guidance with the Build Plan this agent task actually needs.",
70
+ "Read `runtime/source-locator.json` and inspect the Source through your own available tools before editing the package.",
71
71
  "Prefer direct file-reading and search tools over shell commands for routine file inspection.",
72
72
  "Do not use shell helpers like `cat`, `sed`, `ls`, or `find` when a native read/search tool can inspect the same files.",
73
73
  "Edit only files under `build-plan/`.",
74
74
  "Keep the Build Plan valid for the current local-engine API and `build-plan.schema.json`.",
75
- "Choose stage ids, stage order, artifact reads, artifact writes, artifact checks, and stage docs from the source data and preparation-and-evidence brief.",
75
+ "Choose stage ids, stage order, Artifact reads, Artifact writes, Artifact diagnostics, and stage docs from the source data, agent task, and evidence brief.",
76
+ "Stage `reads` may only contain requested Artifact ids that are declared in `build-plan.schema.json` and produced by an earlier stage. Source files are implicit input through runtime stage assignment; never put `source`, source file paths, or source-folder ids in stage `reads`.",
76
77
  "Use kebab-case ids everywhere: stage ids, skill_dir values, Artifact ids, reads/writes values, and package ids. Never use underscores.",
77
78
  "Each stage MAY declare a `role`: one of `extractor`, `summarizer`, `structurer`, `verifier`, or `general`. Pick the role that best matches what the stage's prompt asks the agent to do. Omit `role` (or use `general`) when the stage doesn't fit any specialized role. Custom role names are allowed; the engine treats unknown roles as `general`.",
78
79
  "Do not preserve the placeholder `prepare` stage unless the final Build Plan genuinely needs a stage with that exact role.",
80
+ "Treat `checks` as user-facing Context Checks: plain-English promises under `What Interf will prove`.",
81
+ "Create Context Checks first, then requested Artifacts that back those checks, then deterministic Artifact diagnostics (`checks[]`) that validate the produced files.",
82
+ "For file-based Projects, every final Build Plan must preserve the three-layer Context Graph shape: `summaries/` for source coverage, `knowledge/` for task-aware claims/entities/topics/indexes, and `artifacts/` for the task-specific agent handoff.",
83
+ "`summaries/` is the coverage layer. It should prove what source files were inspected. For PDFs, decks, or paginated reports, prefer page-level notes or explicit page coverage records when practical; each summary must link back to the original Source path, page, section, figure, table, or other source reference instead of copying the Source file.",
84
+ "`knowledge/` is the graph layer. The current default contract is flat `knowledge/*.md` notes. It should be built from summaries and source references, and may contain claims, entities, topics, and indexes. Treat knowledge notes as navigation and assurance, not as the authority for exact wording, table values, chart reads, or provenance-sensitive claims.",
85
+ "`artifacts/` is the agent handoff layer. Requested Artifacts should live under `artifacts/` by default and should tell the downstream agent which original Source files, pages, figures, tables, sections, units, periods, series, and caveats matter for the task.",
86
+ "Requested Artifacts should normally route the downstream agent to the right original Source evidence. They should not present generated summaries or knowledge notes as the dataset or source of truth.",
87
+ "For tasks that depend on charts, tables, images, or other visual evidence, requested Artifacts must capture the source semantics needed to answer: target period, unit, series/legend, axis or table interpretation, exact printed values when available, bounded ranges when not, evidence tier, and source page.",
88
+ "For unlabeled charts, screenshots, diagrams, or visual marks, do not write a final numeric answer unless the Artifact also captures a source-grounded measurement method, visual reference, axis/table calibration, and uncertainty. Otherwise the Artifact must route the downstream agent to inspect the original Source before answering.",
89
+ "Do not let structural diagnostics such as file_exists, frontmatter_required_keys, or must_contain stand in for evidence fidelity. Use stage docs and Artifact descriptions to require the semantic fields the agent task needs.",
90
+ "If a visual source has no printed data labels, the Artifact should preserve a bounded read at source granularity and should mark unresolved semantics instead of inventing pseudo-exact precision.",
91
+ "Verification stages must not pass by comparing generated notes only to other generated notes. If a verifier did not inspect the relevant original Source reference, page-level summary with source refs, table extraction, visual trace, or measurement Artifact required by the claim, it must report the claim as not verified.",
92
+ "Preserve `backed_by_artifact_ids` in the Build Plan brief and use the matching requested Artifact ids in `build-plan.schema.json`.",
93
+ "When `runtime/authoring-context.json.artifact_requirements[]` is non-empty, it is binding: copy each requirement's `id`, `shape`, and `checks[]` exactly into `build-plan.schema.json`.",
94
+ "Do not rename, move, merge, split, or reinterpret required Artifacts. `stage_hint` can guide which stage writes the Artifact, but it never changes the required `shape.path`, `shape.artifact_kind`, or diagnostic contract.",
79
95
  "Put deterministic validation on Artifact `checks[]`; do not add stage `acceptance` blocks.",
80
96
  "Use only the CheckKind values listed in `runtime/authoring-context.json`; do not invent aliases.",
81
- "Keep Artifact checks aligned with produced outputs. Use stage docs to describe the output contract, but do not turn source-specific user wording into brittle stage-doc wording requirements.",
97
+ "Use `runtime/authoring-context.json.check_param_contracts` as the exact parameter contract for each check kind.",
98
+ "Every Artifact diagnostic must include a human-readable `description` that names the user's assertion; keep `kind` and `params` as the machine evaluator and never as user copy.",
99
+ "Keep Artifact diagnostics aligned with produced requested Artifacts. Use stage docs to describe the Artifact contract, but do not turn source-specific user wording into brittle stage-doc wording requirements.",
82
100
  "For every stage in `build-plan.json`, create `build-plan/build/stages/<skill_dir>/SKILL.md` and make the folder name exactly match that stage's kebab-case `skill_dir`.",
83
- "Every Artifact path in `build-plan.schema.json` must be unique and non-overlapping.",
84
- "Make the package materially specific to this Preparation task, output shape, and proof requirement. A no-op scaffold is not acceptable.",
85
- "Treat the Build Plan as four aligned layers: purpose, inputs, context interface, and stages.",
86
- "If the Build Plan writes an agent entrypoint, declare it as an Artifact and make the final shaping stage own it.",
87
- "Prefer explicit stage-doc, stage-policy, purpose, input-contract, and context-interface edits over vague rewrites.",
101
+ "Every Artifact path in `build-plan.schema.json` must be unique. Child Artifacts may live under the required layer directories `summaries/`, `knowledge/`, and `artifacts/`; unrelated Artifact paths must not overlap.",
102
+ "Make the package materially specific to this Project's agent task, output shape, checks, and evidence requirement. A no-op scaffold is not acceptable.",
103
+ "Treat the Build Plan as four aligned layers: purpose, inputs, requested Artifact contract, and stages.",
104
+ "If the Build Plan writes a graph index, declare it as an Artifact and make the final shaping stage own it.",
105
+ "Prefer explicit stage-doc, stage-policy, purpose, input-contract, and requested-Artifact-contract edits over vague rewrites.",
88
106
  "Do not introduce wikilinks unless the Build Plan also creates the target note by exact basename or explicit relative path.",
89
107
  "Respect stage boundaries: a stage may only introduce links that resolve within that stage's declared writes or already-existing read Artifacts.",
90
108
  "Do not make one stage point at files or notes that are only created later by another stage.",
@@ -107,12 +125,30 @@ function stableJson(value) {
107
125
  .map((key) => `${JSON.stringify(key)}:${stableJson(record[key])}`)
108
126
  .join(",")}}`;
109
127
  }
128
+ function writeBuildPlanAuthoringBrief(buildPlanPath, brief) {
129
+ const buildPlanJsonPath = join(buildPlanPath, "build-plan.json");
130
+ if (!existsSync(buildPlanJsonPath))
131
+ return;
132
+ let parsed;
133
+ try {
134
+ parsed = JSON.parse(readFileSync(buildPlanJsonPath, "utf8"));
135
+ }
136
+ catch {
137
+ return;
138
+ }
139
+ if (!parsed || typeof parsed !== "object" || Array.isArray(parsed))
140
+ return;
141
+ writeFileSync(buildPlanJsonPath, `${JSON.stringify({ ...parsed, brief }, null, 2)}\n`);
142
+ }
110
143
  function checkMatchesRequirement(actual, required) {
111
144
  return actual.id === required.id &&
112
145
  actual.kind === required.kind &&
113
146
  (actual.required ?? true) === (required.required ?? true) &&
114
147
  stableJson(actual.params) === stableJson(required.params);
115
148
  }
149
+ function compactJson(value) {
150
+ return JSON.stringify(value);
151
+ }
116
152
  function producingStagesForArtifact(definition, artifactId) {
117
153
  return (definition.stages ?? []).filter((stage) => Array.isArray(stage.writes) && stage.writes.includes(artifactId));
118
154
  }
@@ -128,11 +164,11 @@ function validateArtifactRequirements(definition, requirements) {
128
164
  if (artifact.shape.kind !== requirement.shape.kind ||
129
165
  artifact.shape.path !== requirement.shape.path ||
130
166
  artifact.shape.artifact_kind !== requirement.shape.artifact_kind) {
131
- errors.push(`Artifact \`${requirement.id}\` does not match required shape.`);
167
+ errors.push(`Artifact \`${requirement.id}\` must declare required shape ${compactJson(requirement.shape)}; found ${compactJson(artifact.shape)}.`);
132
168
  }
133
169
  for (const check of requirement.checks) {
134
170
  if (!artifact.checks.some((candidate) => checkMatchesRequirement(candidate, check))) {
135
- errors.push(`Artifact \`${requirement.id}\` is missing required check \`${check.id}\`.`);
171
+ errors.push(`Artifact \`${requirement.id}\` must include required diagnostic ${compactJson(check)}.`);
136
172
  }
137
173
  }
138
174
  const producingStages = producingStagesForArtifact(definition, requirement.id);
@@ -144,8 +180,6 @@ function validateArtifactRequirements(definition, requirements) {
144
180
  }
145
181
  function validateAuthoredBuildPlanPackage(buildPlanPath, artifactRequirements = []) {
146
182
  const validation = validateBuildPlanPackage(buildPlanPath);
147
- if (!validation.ok)
148
- return validation;
149
183
  const definition = loadBuildPlanDefinitionFromDir(buildPlanPath);
150
184
  if (!definition)
151
185
  return validation;
@@ -177,10 +211,10 @@ function validateAuthoredBuildPlanPackage(buildPlanPath, artifactRequirements =
177
211
  }
178
212
  export async function runBuildPlanAuthoringDraft(options) {
179
213
  const buildPlanPath = createScratchLocalBuildPlanPackage({
180
- prepDataDir: options.prepDataDir,
214
+ projectDataDir: options.projectDataDir,
181
215
  buildPlanId: options.buildPlanId,
182
216
  label: options.label,
183
- hint: options.hint,
217
+ hint: options.hint ?? options.intent,
184
218
  });
185
219
  const shell = createBuildPlanAuthoringShell({
186
220
  buildPlanPath,
@@ -188,10 +222,11 @@ export async function runBuildPlanAuthoringDraft(options) {
188
222
  label: options.label,
189
223
  referenceBuildPlanId: options.baseBuildPlanId ?? null,
190
224
  sourceFolderPath: options.sourceFolderPath,
191
- taskPrompt: options.taskPrompt,
225
+ intent: options.intent,
192
226
  checks: options.checks ?? [],
227
+ userPrepInstructions: options.userPrepInstructions,
193
228
  requestedArtifacts: options.requestedArtifacts ?? [],
194
- sourceProfile: options.sourceProfile ?? null,
229
+ sourceContext: options.sourceContext ?? null,
195
230
  artifactRequirements: options.artifactRequirements ?? [],
196
231
  });
197
232
  const session = await runBuildPlanEditSession({
@@ -200,20 +235,28 @@ export async function runBuildPlanAuthoringDraft(options) {
200
235
  shell,
201
236
  prompt: buildBuildPlanAuthoringPrompt(),
202
237
  validate: (buildPlanPath) => validateAuthoredBuildPlanPackage(buildPlanPath, options.artifactRequirements ?? []),
203
- maxValidationRepairAttempts: 1,
238
+ maxValidationRepairAttempts: 2,
204
239
  onStatus: options.onStatus,
205
240
  });
206
241
  if (session.status !== "updated") {
207
242
  rmSync(buildPlanPath, { recursive: true, force: true });
208
243
  }
209
244
  else {
210
- // 0.15 — auto-fill `role: "general"` for any stage the agent
245
+ // auto-fill `role: "general"` for any stage the agent
211
246
  // didn't explicitly tag. Idempotent and silent when every stage
212
247
  // already declares a role.
213
248
  const touched = ensureStageRoles(buildPlanPath);
214
249
  if (touched.length > 0 && options.onStatus) {
215
250
  options.onStatus(`STATUS: filled role=general on ${touched.length} stage(s) the author didn't tag (${touched.join(", ")}).`);
216
251
  }
252
+ writeBuildPlanAuthoringBrief(buildPlanPath, {
253
+ intent: options.intent,
254
+ requested_artifacts: options.requestedArtifacts ?? [],
255
+ checks: options.checks ?? [],
256
+ ...(options.userPrepInstructions ? { user_prep_instructions: options.userPrepInstructions } : {}),
257
+ source_context: options.sourceContext ?? null,
258
+ artifact_requirements: options.artifactRequirements ?? [],
259
+ });
217
260
  }
218
261
  return {
219
262
  status: session.status,
@@ -224,6 +267,3 @@ export async function runBuildPlanAuthoringDraft(options) {
224
267
  shellPath: shell.rootPath,
225
268
  };
226
269
  }
227
- export function resolveBuildPlanDraftPath(sourcePath, buildPlanId) {
228
- return buildPlanDefinitionPath(sourcePath, buildPlanId);
229
- }
@@ -1,4 +1,4 @@
1
- import type { AgentExecutor } from "../../engine/agents/lib/executors.js";
1
+ import type { AgentExecutor } from "../../runtime/agents/lib/executors.js";
2
2
  import type { BuildPlanValidationResult } from "../package/local-build-plans.js";
3
3
  import { type BuildPlanEditShellArtifacts } from "./lib/build-plan-edit-utils.js";
4
4
  export interface BuildPlanEditSessionResult {
@@ -95,11 +95,17 @@ export async function runBuildPlanEditSession(options) {
95
95
  "Rules:",
96
96
  "- Edit only files under `build-plan/`.",
97
97
  "- Use kebab-case ids everywhere: stage ids, skill_dir values, Artifact ids, reads/writes values, and package ids. Never use underscores.",
98
+ "- Stage `reads` may only contain Artifact ids declared in `build-plan.schema.json` and produced by an earlier stage. Source files are implicit input; never use `source` or source paths in `reads`.",
99
+ "- Keep user-facing Context Checks plain-English and preserve their `backed_by_artifact_ids` links to requested Artifact ids.",
100
+ "- If `runtime/authoring-context.json.artifact_requirements[]` is non-empty, copy every required Artifact `id`, `shape`, and `checks[]` exactly into `build-plan.schema.json`.",
101
+ "- Do not rename, move, merge, split, or reinterpret required Artifacts while repairing validation errors.",
98
102
  "- Keep every stage `skill_dir` matched by `build-plan/build/stages/<skill_dir>/SKILL.md`.",
99
- "- Keep `build-plan.schema.json` Artifact paths unique and non-overlapping.",
103
+ "- Keep `build-plan.schema.json` Artifact paths unique. Child Artifacts may live under the required layer directories `summaries/`, `knowledge/`, and `artifacts/`; unrelated Artifact paths must not overlap.",
100
104
  "- Put deterministic validation on Artifact `checks[]`; do not add stage `acceptance` blocks.",
101
105
  "- Use only CheckKind values listed in `runtime/authoring-context.json`; replace invented aliases with valid kinds.",
102
- "- If the Build Plan writes an agent entrypoint, keep it declared as an Artifact owned by the producing stage.",
106
+ "- Use `runtime/authoring-context.json.check_param_contracts` as the exact parameter contract for each check kind.",
107
+ "- Every Artifact diagnostic must include a human-readable `description` that names the user's assertion; keep `kind` and `params` as the machine evaluator and never as user copy.",
108
+ "- If the Build Plan writes a graph index, keep it declared as an Artifact owned by the producing stage.",
103
109
  "- Stop as soon as the package should validate.",
104
110
  ].join("\n");
105
111
  appendFileSync(options.shell.promptLogPath, `\n\n---\n\n${prompt}\n`);
@@ -1,8 +1,7 @@
1
- import type { AgentExecutor } from "../../engine/agents/lib/executors.js";
1
+ import type { AgentExecutor } from "../../runtime/agents/lib/executors.js";
2
2
  import { type BuildPlanValidationResult } from "../package/local-build-plans.js";
3
- import type { SourcePreparationConfig } from "../../project/lib/schema.js";
4
- import type { BuildPlanImprovementLoopSummary } from "../../engine/build/lib/schema.js";
5
- export interface BuildPlanImprovementRunResult {
3
+ import type { BuildPlanImprovementLoopSummary } from "../../runtime/build/lib/schema.js";
4
+ interface BuildPlanImprovementRunResult {
6
5
  status: "updated" | "no-change" | "invalid" | "executor-failed";
7
6
  changed: boolean;
8
7
  validation: BuildPlanValidationResult | null;
@@ -12,12 +11,16 @@ export interface BuildPlanImprovementRunResult {
12
11
  }
13
12
  export declare function runBuildPlanImprovementLoop(options: {
14
13
  executor: AgentExecutor;
15
- verifiableContextPath: string;
14
+ contextGraphPath: string;
16
15
  buildPlanId: string;
17
- verifiableContextConfig: Pick<SourcePreparationConfig, "checks">;
16
+ benchmarkChecks: Array<{
17
+ id: string;
18
+ question: string;
19
+ }>;
18
20
  runId: string;
19
21
  loopIndex: number;
20
22
  maxLoops: number;
21
23
  maxAttempts: number;
22
24
  previousVariations: BuildPlanImprovementLoopSummary[];
23
25
  }): Promise<BuildPlanImprovementRunResult>;
26
+ export {};
@@ -1,14 +1,14 @@
1
1
  import { appendFileSync, existsSync, mkdirSync, writeFileSync, } from "node:fs";
2
2
  import { join, relative } from "node:path";
3
- import { createBuildPlanImprovementShell, freezeBuildPlanImprovementShell, } from "../../engine/agents/lib/shells.js";
3
+ import { createBuildPlanImprovementShell, freezeBuildPlanImprovementShell, } from "../../runtime/agents/lib/shells.js";
4
4
  import { validateBuildPlanPackage } from "../package/local-build-plans.js";
5
5
  import { CONTEXT_INTERFACE_FILE } from "../package/context-interface.js";
6
6
  import { readJsonFileWithSchema } from "../../contracts/utils/parse.js";
7
7
  import { resolveBuildPlanImprovementReviewPaths } from "../package/build-plan-review-paths.js";
8
- import { targetTestRunsRootForVerifiableContext, targetTestSandboxesRootForVerifiableContext, buildPlanImprovementRunRoot, buildPlanPackagePathForVerifiableContext, } from "../../engine/build/verifiable-context-paths.js";
9
- import { readInterfConfig } from "../../project/interf.js";
10
- import { saveVerifiableContextInterfConfig } from "../../project/source-config.js";
11
- import { BuildPlanImprovementRunLedgerSchema, } from "../../engine/build/lib/schema.js";
8
+ import { targetTestRunsRootForContextGraph, targetTestSandboxesRootForContextGraph, buildPlanImprovementRunRoot, buildPlanPackagePathForContextGraph, } from "../../runtime/build/context-graph-paths.js";
9
+ import { readInterfConfig } from "../../projects/interf.js";
10
+ import { saveContextGraphInterfConfig } from "../../projects/source-config.js";
11
+ import { BuildPlanImprovementRunLedgerSchema, } from "../../runtime/build/lib/schema.js";
12
12
  import { runBuildPlanEditSession } from "./build-plan-edit-session.js";
13
13
  import { ensureStageRoles } from "./build-plan-authoring.js";
14
14
  function toShellArtifactPath(absolutePath, sourceRoot, shellRoot) {
@@ -21,34 +21,31 @@ function toShellArtifactPath(absolutePath, sourceRoot, shellRoot) {
21
21
  const relativePath = relative(sourceRoot, absolutePath);
22
22
  return join(shellRoot, relativePath);
23
23
  }
24
- function mapLoopSummaryForShell(summary, verifiableContextPath) {
24
+ function mapLoopSummaryForShell(summary, contextGraphPath) {
25
25
  const shellTestRunsRoot = "artifacts/test-runs";
26
26
  const shellTestSandboxesRoot = "artifacts/test-sandboxes";
27
27
  return {
28
28
  ...summary,
29
- test_run_path: toShellArtifactPath(summary.test_run_path, targetTestRunsRootForVerifiableContext(verifiableContextPath), shellTestRunsRoot) ?? summary.test_run_path ?? null,
30
- test_sandbox_path: toShellArtifactPath(summary.test_sandbox_path, targetTestSandboxesRootForVerifiableContext(verifiableContextPath), shellTestSandboxesRoot) ?? summary.test_sandbox_path ?? null,
29
+ test_run_path: toShellArtifactPath(summary.test_run_path, targetTestRunsRootForContextGraph(contextGraphPath), shellTestRunsRoot) ?? summary.test_run_path ?? null,
30
+ test_sandbox_path: toShellArtifactPath(summary.test_sandbox_path, targetTestSandboxesRootForContextGraph(contextGraphPath), shellTestSandboxesRoot) ?? summary.test_sandbox_path ?? null,
31
31
  };
32
32
  }
33
33
  function buildLoopContext(options) {
34
- const previousVariations = options.previousVariations.map((summary) => mapLoopSummaryForShell(summary, options.verifiableContextPath));
34
+ const previousVariations = options.previousVariations.map((summary) => mapLoopSummaryForShell(summary, options.contextGraphPath));
35
35
  const latestFailure = previousVariations.at(-1) ?? null;
36
36
  return {
37
37
  kind: "interf-build-plan-improvement-loop",
38
38
  version: 1,
39
39
  generated_at: new Date().toISOString(),
40
- target_name: readInterfConfig(options.verifiableContextPath)?.name ?? "verifiable-context",
40
+ target_name: readInterfConfig(options.contextGraphPath)?.name ?? "context-graph",
41
41
  build_plan_id: options.buildPlanId,
42
42
  loop_index: options.loopIndex,
43
43
  max_loops: options.maxLoops,
44
44
  max_attempts: options.maxAttempts,
45
- review_paths: resolveBuildPlanImprovementReviewPaths(options.verifiableContextPath),
46
- readiness_checks: {
47
- count: options.verifiableContextConfig.checks.length,
48
- questions: options.verifiableContextConfig.checks.map((check, index) => ({
49
- id: check.id ?? `check-${index + 1}`,
50
- question: check.question,
51
- })),
45
+ review_paths: resolveBuildPlanImprovementReviewPaths(options.contextGraphPath),
46
+ benchmark_questions: {
47
+ count: options.benchmarkChecks.length,
48
+ questions: options.benchmarkChecks,
52
49
  },
53
50
  previous_variations: previousVariations,
54
51
  latest_failure: latestFailure,
@@ -62,10 +59,10 @@ function buildBuildPlanImprovementPrompt() {
62
59
  `Then read \`build-plan/README.md\`, \`build-plan/build-plan.json\`, \`build-plan/${CONTEXT_INTERFACE_FILE}\`, and \`build-plan/improve/SKILL.md\` if it exists.`,
63
60
  "Review preserved evidence from earlier failures under `artifacts/` before you edit the Build Plan.",
64
61
  "Treat `build-plan/improve/SKILL.md` as guidance for how to improve the Build Plan, not as the default file to edit.",
65
- "Treat the Build Plan package as four aligned layers: purpose, inputs, context interface, and stages.",
66
- "Prefer editing the stage docs, Build Plan contract, input contract, or schema ownership that actually change verifiable-context outputs.",
62
+ "Treat the Build Plan package as four aligned layers: purpose, inputs, requested Artifact contract, and stages.",
63
+ "Prefer editing the stage docs, Build Plan contract, input contract, or Artifact ownership that actually change requested Artifacts.",
67
64
  "Edit only files under `build-plan/`.",
68
- "Do not edit checks, test specs, source files, or generated verifiable-context outputs.",
65
+ "Do not edit checks, benchmark specs, source files, or generated requested Artifacts.",
69
66
  "Keep the Build Plan package valid for the current build API and `build-plan.schema.json`.",
70
67
  "Respect stage boundaries: a stage may only introduce links that resolve within that stage's declared writes or already-existing read Artifacts.",
71
68
  "Do not make one stage point at files or notes that are only created later by another stage.",
@@ -76,7 +73,7 @@ function buildBuildPlanImprovementPrompt() {
76
73
  ].join("\n");
77
74
  }
78
75
  function updateBuildPlanOrigin(options) {
79
- const current = readInterfConfig(options.verifiableContextPath);
76
+ const current = readInterfConfig(options.contextGraphPath);
80
77
  if (!current)
81
78
  return;
82
79
  const nextConfig = {
@@ -86,27 +83,27 @@ function updateBuildPlanOrigin(options) {
86
83
  ...(options.localDraft ? { local_draft: true } : {}),
87
84
  },
88
85
  };
89
- saveVerifiableContextInterfConfig(options.verifiableContextPath, nextConfig);
86
+ saveContextGraphInterfConfig(options.contextGraphPath, nextConfig);
90
87
  }
91
- function buildPlanImprovementRunLedgerPath(verifiableContextPath, runId) {
92
- return join(buildPlanImprovementRunRoot(verifiableContextPath, runId), "run.json");
88
+ function buildPlanImprovementRunLedgerPath(contextGraphPath, runId) {
89
+ return join(buildPlanImprovementRunRoot(contextGraphPath, runId), "run.json");
93
90
  }
94
- function buildPlanImprovementLoopHistoryPath(verifiableContextPath, runId) {
95
- return join(buildPlanImprovementRunRoot(verifiableContextPath, runId), "loop-history.jsonl");
91
+ function buildPlanImprovementLoopHistoryPath(contextGraphPath, runId) {
92
+ return join(buildPlanImprovementRunRoot(contextGraphPath, runId), "loop-history.jsonl");
96
93
  }
97
94
  function buildPlanImprovementLoopRecordPath(loopRootPath) {
98
95
  return join(loopRootPath, "loop.json");
99
96
  }
100
- function readBuildPlanImprovementRunLedger(verifiableContextPath, runId) {
101
- const ledgerPath = buildPlanImprovementRunLedgerPath(verifiableContextPath, runId);
97
+ function readBuildPlanImprovementRunLedger(contextGraphPath, runId) {
98
+ const ledgerPath = buildPlanImprovementRunLedgerPath(contextGraphPath, runId);
102
99
  if (!existsSync(ledgerPath))
103
100
  return null;
104
101
  return readJsonFileWithSchema(ledgerPath, "Build Plan improvement run ledger", BuildPlanImprovementRunLedgerSchema);
105
102
  }
106
- function writeBuildPlanImprovementRunLedger(verifiableContextPath, runId, record, options) {
107
- const runRoot = buildPlanImprovementRunRoot(verifiableContextPath, runId);
103
+ function writeBuildPlanImprovementRunLedger(contextGraphPath, runId, record, options) {
104
+ const runRoot = buildPlanImprovementRunRoot(contextGraphPath, runId);
108
105
  mkdirSync(runRoot, { recursive: true });
109
- const existing = readBuildPlanImprovementRunLedger(verifiableContextPath, runId);
106
+ const existing = readBuildPlanImprovementRunLedger(contextGraphPath, runId);
110
107
  const generatedAt = existing?.generated_at ?? new Date().toISOString();
111
108
  const ledger = {
112
109
  kind: "interf-build-plan-improvement-run",
@@ -120,9 +117,9 @@ function writeBuildPlanImprovementRunLedger(verifiableContextPath, runId, record
120
117
  max_attempts: options.maxAttempts,
121
118
  loops: [...(existing?.loops ?? []), record],
122
119
  };
123
- writeFileSync(buildPlanImprovementRunLedgerPath(verifiableContextPath, runId), `${JSON.stringify(ledger, null, 2)}\n`);
120
+ writeFileSync(buildPlanImprovementRunLedgerPath(contextGraphPath, runId), `${JSON.stringify(ledger, null, 2)}\n`);
124
121
  writeFileSync(buildPlanImprovementLoopRecordPath(record.loop_root_path), `${JSON.stringify(record, null, 2)}\n`);
125
- appendFileSync(buildPlanImprovementLoopHistoryPath(verifiableContextPath, runId), `${JSON.stringify(record)}\n`);
122
+ appendFileSync(buildPlanImprovementLoopHistoryPath(contextGraphPath, runId), `${JSON.stringify(record)}\n`);
126
123
  }
127
124
  function buildBuildPlanImprovementLoopRecord(options) {
128
125
  return {
@@ -150,17 +147,17 @@ function buildBuildPlanImprovementLoopRecord(options) {
150
147
  };
151
148
  }
152
149
  export async function runBuildPlanImprovementLoop(options) {
153
- const verifiableContextName = readInterfConfig(options.verifiableContextPath)?.name ?? "verifiable-context";
150
+ const contextGraphName = readInterfConfig(options.contextGraphPath)?.name ?? "context-graph";
154
151
  const context = buildLoopContext(options);
155
152
  const shell = createBuildPlanImprovementShell({
156
- verifiableContextPath: options.verifiableContextPath,
157
- verifiableContextName,
153
+ contextGraphPath: options.contextGraphPath,
154
+ contextGraphName,
158
155
  buildPlanId: options.buildPlanId,
159
156
  runId: options.runId,
160
157
  loopIndex: options.loopIndex,
161
158
  context,
162
159
  });
163
- const buildPlanRoot = buildPlanPackagePathForVerifiableContext(options.verifiableContextPath);
160
+ const buildPlanRoot = buildPlanPackagePathForContextGraph(options.contextGraphPath);
164
161
  const session = await runBuildPlanEditSession({
165
162
  executor: options.executor,
166
163
  buildPlanPath: buildPlanRoot,
@@ -170,13 +167,13 @@ export async function runBuildPlanImprovementLoop(options) {
170
167
  maxValidationRepairAttempts: 1,
171
168
  });
172
169
  if (session.status === "updated") {
173
- // 0.15 — fill role=general on any stage the improvement run
170
+ // fill role=general on any stage the improvement run
174
171
  // dropped a role from. Idempotent and silent when complete.
175
172
  ensureStageRoles(buildPlanRoot);
176
173
  }
177
174
  const preservedShellManifestPath = freezeBuildPlanImprovementShell(shell.rootPath);
178
- writeBuildPlanImprovementRunLedger(options.verifiableContextPath, options.runId, buildBuildPlanImprovementLoopRecord({
179
- targetName: verifiableContextName,
175
+ writeBuildPlanImprovementRunLedger(options.contextGraphPath, options.runId, buildBuildPlanImprovementLoopRecord({
176
+ targetName: contextGraphName,
180
177
  buildPlanId: options.buildPlanId,
181
178
  runId: options.runId,
182
179
  loopIndex: options.loopIndex,
@@ -193,14 +190,14 @@ export async function runBuildPlanImprovementLoop(options) {
193
190
  result: session.status,
194
191
  summary: session.summary,
195
192
  }), {
196
- targetName: verifiableContextName,
193
+ targetName: contextGraphName,
197
194
  buildPlanId: options.buildPlanId,
198
195
  maxLoops: options.maxLoops,
199
196
  maxAttempts: options.maxAttempts,
200
197
  });
201
198
  if (session.status === "updated") {
202
199
  updateBuildPlanOrigin({
203
- verifiableContextPath: options.verifiableContextPath,
200
+ contextGraphPath: options.contextGraphPath,
204
201
  selectedBuildPlanId: options.buildPlanId,
205
202
  localDraft: true,
206
203
  });
@@ -5,10 +5,10 @@ export function copyDirectory(sourcePath, targetPath) {
5
5
  mkdirSync(targetPath, { recursive: true });
6
6
  cpSync(sourcePath, targetPath, { recursive: true });
7
7
  }
8
- function listFileSnapshot(dirPath) {
9
- const snapshot = new Map();
8
+ function listFileState(dirPath) {
9
+ const fileState = new Map();
10
10
  if (!existsSync(dirPath))
11
- return snapshot;
11
+ return fileState;
12
12
  const collect = (currentPath) => {
13
13
  for (const entry of readdirSync(currentPath)) {
14
14
  const fullPath = join(currentPath, entry);
@@ -19,15 +19,15 @@ function listFileSnapshot(dirPath) {
19
19
  }
20
20
  if (!stat.isFile())
21
21
  continue;
22
- snapshot.set(relative(dirPath, fullPath), readFileSync(fullPath, "utf8"));
22
+ fileState.set(relative(dirPath, fullPath), readFileSync(fullPath, "utf8"));
23
23
  }
24
24
  };
25
25
  collect(dirPath);
26
- return snapshot;
26
+ return fileState;
27
27
  }
28
28
  export function directoriesMatch(leftPath, rightPath) {
29
- const left = listFileSnapshot(leftPath);
30
- const right = listFileSnapshot(rightPath);
29
+ const left = listFileState(leftPath);
30
+ const right = listFileState(rightPath);
31
31
  if (left.size !== right.size)
32
32
  return false;
33
33
  for (const [relativePath, content] of left.entries()) {
@@ -2,5 +2,5 @@ export declare const DEFAULT_BUILD_PLAN_ID = "interf-default";
2
2
  export interface BuildPlanSelectionLike {
3
3
  build_plan?: string | null;
4
4
  }
5
- export declare function buildPlanIdForSourcePreparationConfig(preparationConfig: BuildPlanSelectionLike | null | undefined): string | null;
5
+ export declare function buildPlanIdForProjectConfig(projectConfig: BuildPlanSelectionLike | null | undefined): string | null;
6
6
  export declare function resolveBuildPlanId(selection: BuildPlanSelectionLike | null | undefined, fallback?: string): string;
@@ -1,7 +1,7 @@
1
1
  export const DEFAULT_BUILD_PLAN_ID = "interf-default";
2
- export function buildPlanIdForSourcePreparationConfig(preparationConfig) {
3
- return preparationConfig?.build_plan ?? null;
2
+ export function buildPlanIdForProjectConfig(projectConfig) {
3
+ return projectConfig?.build_plan ?? null;
4
4
  }
5
5
  export function resolveBuildPlanId(selection, fallback = DEFAULT_BUILD_PLAN_ID) {
6
- return buildPlanIdForSourcePreparationConfig(selection) ?? fallback;
6
+ return buildPlanIdForProjectConfig(selection) ?? fallback;
7
7
  }
@@ -1,2 +1,2 @@
1
1
  export * as buildPlanResolution from "./build-plan-resolution.js";
2
- export { DEFAULT_BUILD_PLAN_ID, buildPlanIdForSourcePreparationConfig, resolveBuildPlanId, } from "./build-plan-resolution.js";
2
+ export { DEFAULT_BUILD_PLAN_ID, buildPlanIdForProjectConfig, resolveBuildPlanId, } from "./build-plan-resolution.js";
@@ -1,2 +1,2 @@
1
1
  export * as buildPlanResolution from "./build-plan-resolution.js";
2
- export { DEFAULT_BUILD_PLAN_ID, buildPlanIdForSourcePreparationConfig, resolveBuildPlanId, } from "./build-plan-resolution.js";
2
+ export { DEFAULT_BUILD_PLAN_ID, buildPlanIdForProjectConfig, resolveBuildPlanId, } from "./build-plan-resolution.js";
@@ -1,7 +1,8 @@
1
1
  import { type LocalBuildPlanDefinition } from "./local-build-plans.js";
2
- import type { BuildPlanEngineApi } from "../../engine/build/lib/schema.js";
2
+ import type { BuildPlanRuntimeApi } from "../../runtime/build/lib/schema.js";
3
3
  import type { BuildPlanId, RuntimeContractType } from "../../contracts/lib/schema.js";
4
4
  import { type ContextInterface, type ContextInterfaceArtifactId, type BuildPlanInputSpec } from "./context-interface.js";
5
+ import type { BuildPlanAuthoringBrief } from "../authoring/brief.js";
5
6
  export interface BuildPlanStarterDoc {
6
7
  relativePath: string;
7
8
  content: string;
@@ -23,11 +24,12 @@ export interface BuildPlanStageDefinition {
23
24
  }
24
25
  export interface BuildPlanDefinition<TId extends string> {
25
26
  id: TId;
26
- engineApi?: BuildPlanEngineApi;
27
+ runtimeApi?: BuildPlanRuntimeApi;
27
28
  purpose?: {
28
29
  label: string;
29
30
  taskHint: string;
30
31
  };
32
+ brief?: BuildPlanAuthoringBrief;
31
33
  inputs?: BuildPlanInputSpec[];
32
34
  label: string;
33
35
  hint: string;
@@ -41,21 +43,21 @@ export interface BuildPlanDefinition<TId extends string> {
41
43
  }
42
44
  export type ResolvedBuildPlanId = string;
43
45
  export declare function standaloneBuildPlanDefinitionFromLocalPackage(local: LocalBuildPlanDefinition): BuildPlanDefinition<string>;
44
- export declare function listBuildPlanChoices(prepDataDir?: string): BuildPlanDefinition<string>[];
46
+ export declare function listBuildPlanChoices(projectDataDir?: string): BuildPlanDefinition<string>[];
45
47
  export declare function getBuildPlan(buildPlanId: ResolvedBuildPlanId, options?: {
46
- prepDataDir?: string;
48
+ projectDataDir?: string;
47
49
  }): BuildPlanDefinition<string>;
48
- export declare function getActiveBuildPlan(verifiableContextPath: string): BuildPlanDefinition<string>;
49
- export declare function resolveVerifiableContextBuildPlanId(value: unknown): ResolvedBuildPlanId | null;
50
+ export declare function getActiveBuildPlan(contextGraphPath: string): BuildPlanDefinition<string>;
51
+ export declare function resolveContextGraphBuildPlanId(value: unknown): ResolvedBuildPlanId | null;
50
52
  export declare function resolveBuildPlanFromConfig(config: unknown): ResolvedBuildPlanId | null;
51
53
  export declare function resolveRequiredBuildPlanFromConfig(config: unknown, label?: string): ResolvedBuildPlanId;
52
- export declare function getBuildPlanStageDefinition(buildPlanId: BuildPlanId, stage: string, prepDataDir?: string): BuildPlanStageDefinition | null;
53
- export declare function getBuildPlanStagePosition(buildPlanId: BuildPlanId, stage: string, prepDataDir?: string): {
54
+ export declare function getBuildPlanStageDefinition(buildPlanId: BuildPlanId, stage: string, projectDataDir?: string): BuildPlanStageDefinition | null;
55
+ export declare function getBuildPlanStagePosition(buildPlanId: BuildPlanId, stage: string, projectDataDir?: string): {
54
56
  stageIndex: number;
55
57
  stageTotal: number;
56
58
  stages: string[];
57
59
  } | null;
58
- export declare function getBuildPlanStages(buildPlanId: BuildPlanId, prepDataDir?: string): string[];
59
- export declare function getActiveBuildPlanStages(verifiableContextPath: string): string[];
60
- export declare function getActiveBuildPlanStagePolicyNotes(verifiableContextPath: string, stage: string): string[];
61
- export declare function formatActiveBuildPlanStageLabel(verifiableContextPath: string, stage: string): string;
60
+ export declare function getBuildPlanStages(buildPlanId: BuildPlanId, projectDataDir?: string): string[];
61
+ export declare function getActiveBuildPlanStages(contextGraphPath: string): string[];
62
+ export declare function getActiveBuildPlanStagePolicyNotes(contextGraphPath: string, stage: string): string[];
63
+ export declare function formatActiveBuildPlanStageLabel(contextGraphPath: string, stage: string): string;