@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
@@ -0,0 +1,30 @@
1
+ export interface NativeStageDefinition {
2
+ id: string;
3
+ label: string;
4
+ description: string;
5
+ contractType: import("../../../contracts/lib/schema.js").RuntimeContractType;
6
+ skillDir: string;
7
+ reads: import("../../../build-plans/package/context-interface.js").ContextInterfaceArtifactId[];
8
+ writes: import("../../../build-plans/package/context-interface.js").ContextInterfaceArtifactId[];
9
+ }
10
+ export declare function renderContextGraphAgents(contextGraphPath: string, name: string, buildPlanId: string, options?: {
11
+ buildPlanOriginSelected?: string | null;
12
+ buildPlanLocalDraft?: boolean;
13
+ }): string;
14
+ export declare function renderContextGraphQuerySkill(): string;
15
+ export declare function renderSourceFilesTestAgents(): string;
16
+ export declare function renderSourceFilesTestQuerySkill(): string;
17
+ export declare function readContextGraphQuerySkillSource(contextGraphPath: string): string;
18
+ export declare function renderStageExecutionAgents(contextGraphName: string, buildPlanId: string, stage: NativeStageDefinition): string;
19
+ export declare function renderStageExecutionSkill(stage: NativeStageDefinition, stageBuildPlanDoc: string | null): string;
20
+ export declare function renderContextGraphQueryNativeSkill(querySkillContent: string): string;
21
+ export declare function renderClaudeBootstrap(content: string): string;
22
+ export declare function renderBuildPlanAuthoringAgents(options: {
23
+ buildPlanId: string;
24
+ label: string;
25
+ referenceBuildPlanId?: string | null;
26
+ }): string;
27
+ export declare function renderBuildPlanAuthoringSkill(): string;
28
+ export declare function renderBuildPlanImprovementAgents(contextGraphName: string, buildPlanId: string, loopIndex: number): string;
29
+ export declare function readBuildPlanImprovementDoc(contextGraphPath: string): string | null;
30
+ export declare function renderBuildPlanImprovementSkill(buildPlanId: string, loopIndex: number, improvementDoc: string | null): string;
@@ -0,0 +1,452 @@
1
+ import { existsSync, readFileSync } from "node:fs";
2
+ import { join } from "node:path";
3
+ import { buildPlanPackagePathForContextGraph } from "../../build/context-graph-paths.js";
4
+ import { CONTEXT_INTERFACE_FILE as BUILD_PLAN_SCHEMA_FILE, listContextInterfaceArtifacts, readContextInterface as readBuildPlanContextFile, } from "../../../build-plans/package/context-interface.js";
5
+ import { improvementBuildPlanDocsPath, contextGraphQuerySkillSourcePath, } from "./shell-paths.js";
6
+ const CHART_APPROXIMATION_NOTES = [
7
+ "When a chart-derived value is approximate, use a bounded range instead of a pseudo-exact number.",
8
+ "Match the granularity of the visible axis labels or bands. Do not invent finer precision than the chart supports.",
9
+ "Keep the answer inside the visible tick band unless the chart supports a tighter bound.",
10
+ "Use an upper-half or lower-half band only when the mark clearly sits there.",
11
+ "If a mark touches or nearly touches a labeled gridline, anchor the answer at that gridline or the immediately adjacent half-band.",
12
+ "Do not widen a chart-derived range across multiple visible bands unless the chart genuinely supports that uncertainty.",
13
+ ];
14
+ function contextGraphArtifactSummaryLines(contextGraphPath) {
15
+ const schema = readBuildPlanContextFile(buildPlanPackagePathForContextGraph(contextGraphPath));
16
+ if (!schema)
17
+ return ["- No Build Plan schema is available yet."];
18
+ return listContextInterfaceArtifacts(schema)
19
+ .map((artifact) => `- \`${artifact.id}\` -> \`${artifact.path}\` (${artifact.kind})`);
20
+ }
21
+ export function renderContextGraphAgents(contextGraphPath, name, buildPlanId, options = {}) {
22
+ const buildPlanOriginSelected = options.buildPlanOriginSelected ?? buildPlanId;
23
+ const buildPlanLocalDraft = options.buildPlanLocalDraft === true;
24
+ const artifactLines = contextGraphArtifactSummaryLines(contextGraphPath);
25
+ return [
26
+ `# ${name}`,
27
+ "",
28
+ "This is a Context Graph built by Interf.",
29
+ "This folder gives agents a prepared knowledge map over the Source: summaries, claims, requested Artifacts, traces, routes, and links back to sources.",
30
+ "It normally contains source references rather than raw source copies. The original Source remains the source of truth.",
31
+ "Use this graph before any source drilldown so you know what exists, what matters, and where evidence lives.",
32
+ "",
33
+ "## How to use this Context Graph",
34
+ "",
35
+ "1. Use the local native `interf-query` skill that Interf generated for this Context Graph.",
36
+ "2. Let the Build Plan docs and declared Artifacts guide retrieval instead of assuming a fixed note layout.",
37
+ "3. Use `.interf/runtime/source-manifest.json` to follow graph-provided source references for exact quotes, table values, chart reads, and provenance-sensitive claims.",
38
+ "",
39
+ "## How this Context Graph works",
40
+ "",
41
+ "- The Build Plan defines the requested Artifact contract this Context Graph implements on disk.",
42
+ "- `.interf/interf.json` records the selected Source binding and Project metadata.",
43
+ `- Build Plan seed: \`${buildPlanOriginSelected}\`.`,
44
+ ...(buildPlanLocalDraft
45
+ ? ["- This Context Graph now carries a local Build Plan draft improved from that seed. Building this Context Graph again reuses the local `.interf/build-plan/` package."]
46
+ : []),
47
+ `- Selected Build Plan id: \`${buildPlanId}\`.`,
48
+ "- `.interf/build-plan/` is the local editable Build Plan package for this Context Graph.",
49
+ `- \`.interf/build-plan/${BUILD_PLAN_SCHEMA_FILE}\` is the deterministic requested Artifact contract for this Context Graph.`,
50
+ "- `.interf/build-plan/improve/` is the editable source for Build Plan improvement loops.",
51
+ "- `.interf/build-plan/use/query/` is the editable source for the generated native query shell.",
52
+ "- `.interf/build-plan/build/stages/` defines stage-specific docs that Interf projects into native execution shells for automated runs.",
53
+ "- Native local query skills are generated under local agent skill directories such as `.claude/skills/` and `.codex/skills/`.",
54
+ "- `.interf/runtime/source-manifest.json` is the authoritative Source inventory recorded for this Context Graph.",
55
+ "- `.interf/runtime/source-state.json` is a compatibility projection of the Source Manifest.",
56
+ `- Requested Artifact contracts are declared in \`.interf/build-plan/${BUILD_PLAN_SCHEMA_FILE}\`.`,
57
+ ...artifactLines,
58
+ "- `.interf/runtime/` holds runtime artifacts written by Interf.",
59
+ "- `.interf/tests/` mirrors the latest saved benchmark/evaluation run and keeps detailed target runs plus preserved sandboxes.",
60
+ "- `.interf/tests/targets/` holds detailed source-files and context-graph target runs plus preserved benchmark sandboxes.",
61
+ "",
62
+ "## Manual query rules",
63
+ "",
64
+ "- Prefer the Build Plan-declared Context Graph outputs before source drilldown.",
65
+ "- Use the generated native `interf-query` skill for manual querying. The editable source lives at `.interf/build-plan/use/query/SKILL.md`.",
66
+ "- Treat `.interf/` as Build Plan/runtime metadata, not answer evidence, unless explicitly asked to inspect Build Plan or benchmark history.",
67
+ "- Do not bypass the graph with ad hoc source browsing. Drill into Source only through graph-provided source references, traces, requested Artifacts, or recorded Source state.",
68
+ "- Use `.interf/runtime/source-manifest.json` to find source references for quotes, verification, ambiguity, or evidence the Context Graph does not expose well.",
69
+ "- If exact chart, table, or image-derived evidence matters, inspect the cited source reference and say whether the answer was text-derived, table-derived, or chart-derived.",
70
+ "- If the graph points to the right evidence but misses required range, axis, period, unit, series, or provenance semantics, treat the graph as not ready and improve the Build Plan instead of presenting a blurry artifact as ready.",
71
+ "",
72
+ "## Commands",
73
+ "",
74
+ "```",
75
+ "interf build <project-id> build this Context Graph",
76
+ "interf benchmark run Q&A / fact-check evaluation questions against this Context Graph",
77
+ "interf status show deterministic health",
78
+ "```",
79
+ "",
80
+ "## Rules",
81
+ "",
82
+ "- Do not modify source files while answering from this Context Graph.",
83
+ "- Treat Context Graph notes as source-backed working context and routing, not a replacement for the underlying Source.",
84
+ "- When precision matters, verify against graph-cited source references before making a strong claim.",
85
+ "",
86
+ ].join("\n");
87
+ }
88
+ export function renderContextGraphQuerySkill() {
89
+ return [
90
+ "# Manual Query Loop",
91
+ "",
92
+ "This file is the editable authoring source for the generated native local `interf-query` skill.",
93
+ "",
94
+ "Default loop:",
95
+ "1. Read `.interf/build-plan/README.md` and this file first.",
96
+ `2. Use the requested Artifact contract declared in \`.interf/build-plan/${BUILD_PLAN_SCHEMA_FILE}\` plus \`home.md\` to understand the prepared map.`,
97
+ "3. Use Context Graph notes and requested Artifacts to locate the relevant evidence before any source drilldown.",
98
+ "4. Use `.interf/runtime/source-manifest.json` to follow graph-provided source references for direct quotes, exact values, visual/table verification, and provenance-sensitive claims.",
99
+ "",
100
+ "Answering rule:",
101
+ "- do not modify source files while answering",
102
+ "- treat the Build Plan as the Context Graph contract and use its Artifacts as the working retrieval surface",
103
+ "- use the Context Graph as a knowledge map over the Source, not as a raw-source replacement",
104
+ "- do not bypass the graph with ad hoc source browsing; source drilldown must follow graph-provided source references, traces, requested Artifacts, or the recorded Source Manifest",
105
+ "- say explicitly when an answer depends on approximation, bounded inference, or a source re-check",
106
+ "- when exact wording, table values, chart positions, visual ranges, or provenance matter, follow the cited source reference before making a strong claim",
107
+ "- use source references to confirm source page, metric family, visual series, axis/range, period, unit, provenance, or exact wording",
108
+ "- do not invent navigation or note structure beyond what this Build Plan declares",
109
+ "- when the Context Graph is insufficient but points to the right source evidence, improve or rebuild if the missing semantics are part of the requested Artifact contract; do not present a blurry artifact as ready",
110
+ "",
111
+ "You can edit this file to bias manual question-answering behavior for this Context Graph.",
112
+ "",
113
+ ].join("\n");
114
+ }
115
+ export function renderSourceFilesTestAgents() {
116
+ const chartNotes = CHART_APPROXIMATION_NOTES.map((note) => `- ${note}`);
117
+ return [
118
+ "# Source Files Test Shell",
119
+ "",
120
+ "This is an isolated source-files benchmark shell generated by Interf.",
121
+ "There is no Context Graph in this shell.",
122
+ "",
123
+ "## How to use this shell",
124
+ "",
125
+ "1. Read this file first.",
126
+ "2. Use the local native `interf-query` skill available in this shell.",
127
+ "3. Read `runtime/source-manifest.json` and use only the listed source references.",
128
+ "",
129
+ "## Rules",
130
+ "",
131
+ "- Answer only from source files listed in `runtime/source-manifest.json`.",
132
+ "- There is no Context Graph here, so do not assume any Context Graph Artifacts exist.",
133
+ "- Do not treat hidden runtime files or benchmark artifacts as evidence.",
134
+ ...chartNotes,
135
+ "- Write the requested answer and trace files, then stop.",
136
+ "",
137
+ ].join("\n");
138
+ }
139
+ export function renderSourceFilesTestQuerySkill() {
140
+ const chartNotes = CHART_APPROXIMATION_NOTES.map((note, index) => `${index + 3}. ${note}`);
141
+ return [
142
+ "---",
143
+ "name: interf-query",
144
+ "description: >",
145
+ " Native local query skill for an Interf source-files benchmark shell. Use it only",
146
+ " to answer source-files benchmark questions from `runtime/source-manifest.json` references.",
147
+ "---",
148
+ "",
149
+ "# Interf Source Files Test Query",
150
+ "",
151
+ "This is the native local query skill for an isolated source-files benchmark shell.",
152
+ "",
153
+ "Loop:",
154
+ "1. Read `runtime/source-manifest.json`.",
155
+ "2. Verify exact claims against the listed source locators before making a strong claim.",
156
+ ...chartNotes,
157
+ "8. Do not rely on context-graph artifacts because they do not exist in this shell.",
158
+ "",
159
+ ].join("\n");
160
+ }
161
+ export function readContextGraphQuerySkillSource(contextGraphPath) {
162
+ const filePath = contextGraphQuerySkillSourcePath(contextGraphPath);
163
+ if (!existsSync(filePath)) {
164
+ throw new Error(`Missing context-graph query skill source at . Interf build runs the local Build Plan package directly, so reseed or repair this Context Graph instead of auto-healing query docs.`);
165
+ }
166
+ return readFileSync(filePath, "utf8").trim();
167
+ }
168
+ export function renderStageExecutionAgents(contextGraphName, buildPlanId, stage) {
169
+ return [
170
+ `# ${contextGraphName} — ${stage.label} Execution Shell`,
171
+ "",
172
+ "This is an ephemeral stage-execution shell generated by Interf.",
173
+ "It is for automated pipeline execution only, not for manual querying.",
174
+ "",
175
+ "## Start Here",
176
+ "",
177
+ "1. Read `runtime/stage-contract.json` now.",
178
+ "2. Read `runtime/source-manifest.json`, `runtime/source-state.json`, and `runtime/stage-inputs.json` now.",
179
+ "3. Read `runtime/paths.json` now.",
180
+ "4. Use the local native `interf-stage` skill now.",
181
+ `5. Execute only the current stage: \`${stage.id}\` (${stage.label}).`,
182
+ "",
183
+ "## Shell ABI",
184
+ "",
185
+ "- `inputs/<artifact-id>/` = read mounts for the current stage.",
186
+ "- `outputs/<artifact-id>/` = write mounts for the current stage.",
187
+ "- For file Artifacts, `runtime/paths.json` points to the exact file path inside those mount roots.",
188
+ "- `runtime/source-manifest.json` = authoritative Source inventory for this run.",
189
+ "- `runtime/source-state.json` = compatibility projection of manifest source references.",
190
+ "- `runtime/stage-inputs.json` = exact manifest source references assigned to this stage.",
191
+ "- `runtime/check-stage.mjs` = shell-local deterministic verifier for the current stage outputs.",
192
+ "- declared Artifact paths are also projected at the shell root so Build Plan-relative contract paths stay valid.",
193
+ "- `runtime/` = stage contract and machine-readable path map for this shell.",
194
+ "- `build-plan/` = Build Plan metadata, `build-plan.schema.json`, and docs for the current stage only.",
195
+ "",
196
+ "## Boundaries",
197
+ "",
198
+ `- Build Plan: \`${buildPlanId}\`.`,
199
+ `- Contract type: \`${stage.contractType}\`.`,
200
+ "- This shell has its own AGENTS/CLAUDE/native skills. It does not inherit the context-graph query shell.",
201
+ "- The context-graph root itself is not linked into this shell.",
202
+ "- Do not switch into query mode or act like a user-facing assistant.",
203
+ "- Do not modify files under `inputs/` unless the same Artifact is also mounted under `outputs/`.",
204
+ "",
205
+ "## Current Stage Artifacts",
206
+ "",
207
+ `- reads: ${stage.reads.join(", ")}`,
208
+ `- writes: ${stage.writes.join(", ")}`,
209
+ "",
210
+ "## Goal",
211
+ "",
212
+ "- complete the current stage",
213
+ "- honor the deterministic contract",
214
+ "- write outputs through the declared Artifact mounts",
215
+ "- run `node runtime/check-stage.mjs` and fix failures until it prints `VALID:`",
216
+ "- stop when the stage is complete",
217
+ "",
218
+ ].join("\n");
219
+ }
220
+ export function renderStageExecutionSkill(stage, stageBuildPlanDoc) {
221
+ return [
222
+ "---",
223
+ "name: interf-stage",
224
+ "description: >",
225
+ ` Native local execution skill for the ${stage.label} stage in this`,
226
+ " Interf run. Use it only inside an automated stage execution shell.",
227
+ "---",
228
+ "",
229
+ `# Interf Stage Execution — ${stage.label}`,
230
+ "",
231
+ "This local native skill exists for automated Interf stage execution.",
232
+ "Read `runtime/stage-contract.json` first.",
233
+ "Then read `runtime/source-manifest.json`, `runtime/source-state.json`, `runtime/stage-inputs.json`, and `runtime/paths.json`.",
234
+ "Use the assigned source references and the mounted `inputs/` and `outputs/` Artifacts for this stage.",
235
+ "Before emitting DONE, run `node runtime/check-stage.mjs` from the shell root and fix outputs until it prints `VALID:`.",
236
+ "Do not switch into manual query mode.",
237
+ "",
238
+ "## Current Stage",
239
+ "",
240
+ `- id: \`${stage.id}\``,
241
+ `- label: ${stage.label}`,
242
+ `- contract type: \`${stage.contractType}\``,
243
+ `- reads: ${stage.reads.join(", ")}`,
244
+ `- writes: ${stage.writes.join(", ")}`,
245
+ `- editable source: \`build-plan/build/stages/${stage.skillDir}/SKILL.md\``,
246
+ "",
247
+ ...(stageBuildPlanDoc
248
+ ? [
249
+ "## Stage Build Plan",
250
+ "",
251
+ stageBuildPlanDoc,
252
+ "",
253
+ ]
254
+ : []),
255
+ ].join("\n");
256
+ }
257
+ export function renderContextGraphQueryNativeSkill(querySkillContent) {
258
+ return [
259
+ "---",
260
+ "name: interf-query",
261
+ "description: >",
262
+ " Native local query skill for a Context Graph built by Interf.",
263
+ " Use it for manual questions against a Context Graph and source references.",
264
+ "---",
265
+ "",
266
+ "# Interf Query",
267
+ "",
268
+ "This is the native local query skill for a Context Graph built by Interf.",
269
+ "Use it when reading this Context Graph manually.",
270
+ "Editable source: `.interf/build-plan/use/query/SKILL.md`.",
271
+ "",
272
+ querySkillContent.trim(),
273
+ "",
274
+ ].join("\n");
275
+ }
276
+ export function renderClaudeBootstrap(content) {
277
+ return [
278
+ "<!-- Generated mirror of AGENTS.md. Interf may rewrite this file. -->",
279
+ "",
280
+ content.trimEnd(),
281
+ "",
282
+ ].join("\n");
283
+ }
284
+ export function renderBuildPlanAuthoringAgents(options) {
285
+ return [
286
+ `# ${options.label} — Build Plan Authoring Shell`,
287
+ "",
288
+ "This is an automated Build Plan authoring shell generated by Interf.",
289
+ "It exists to create one standalone Build Plan package from the source data, requested Artifacts, Context Checks, and evidence requirements in this task.",
290
+ "",
291
+ "## Start Here",
292
+ "",
293
+ "1. Read `runtime/authoring-context.json` now.",
294
+ `2. Read \`build-plan/README.md\`, \`build-plan/build-plan.json\`, and \`build-plan/${BUILD_PLAN_SCHEMA_FILE}\` now.`,
295
+ "3. Read `runtime/source-locator.json` and inspect Source through your own tools when needed.",
296
+ "4. Use the local native `interf-build-plan-author` skill now.",
297
+ "",
298
+ "## Boundaries",
299
+ "",
300
+ `- New Build Plan id: \`${options.buildPlanId}\`.`,
301
+ "- Authoring mode: from scratch.",
302
+ ...(options.referenceBuildPlanId
303
+ ? [`- Reference Build Plan id: \`${options.referenceBuildPlanId}\` (context only, not a seed).`]
304
+ : []),
305
+ "- Edit only files under `build-plan/`.",
306
+ "- Do not edit source artifacts.",
307
+ "- Keep the Build Plan package valid for the current build API and `build-plan.schema.json`.",
308
+ "- Use kebab-case ids everywhere: stage ids, skill_dir values, Artifact ids, reads/writes values, and package ids. Never use underscores.",
309
+ "- Treat `checks` from `runtime/authoring-context.json` as user-facing Context Checks: plain-English checks the requested Artifacts must satisfy.",
310
+ "- Create Context Checks first, then requested Artifacts that back those checks, then deterministic Artifact diagnostics (`checks[]`) under each Artifact.",
311
+ "- Preserve the file-based Context Graph architecture: `summaries/` for source coverage, `knowledge/` for task-aware navigation/drilldown, and `artifacts/` for task-specific agent handoffs.",
312
+ "- Artifact handoffs under `artifacts/` are the default downstream agent handoff surface. They must route to original Source refs for exact claims; generated summaries and knowledge notes are not the source of truth.",
313
+ "- Treat `home.md` as a graph index only, not as the answer surface.",
314
+ "- For tasks that depend on charts, tables, images, or other visual evidence, requested Artifacts must capture target period, unit, series/legend, axis or table interpretation, exact printed values when available, bounded ranges when not, evidence tier, and source page.",
315
+ "- Do not let structural diagnostics such as file existence, frontmatter keys, or phrase presence stand in for evidence fidelity. Stage docs and Artifact descriptions must require the semantic fields the agent task needs.",
316
+ "- If visual evidence has no printed data labels, require a bounded read at source granularity and unresolved-semantics handling instead of pseudo-exact precision.",
317
+ "- Preserve `backed_by_artifact_ids` and make them match requested Artifact ids.",
318
+ "- When `artifact_requirements[]` is non-empty, copy every requirement's `id`, `shape`, and `checks[]` exactly into the requested Artifact contract; do not rename or move required Artifacts.",
319
+ "- Put deterministic validation on Artifact `checks[]`; do not add stage `acceptance` blocks.",
320
+ "- Use `runtime/authoring-context.json.check_param_contracts` as the exact parameter contract for each check kind.",
321
+ "- Give every Artifact diagnostic a human-readable `description`; the UI shows that assertion first and uses evaluator details as drilldown.",
322
+ "- Prefer direct file-reading and search tools over shell commands for routine file inspection.",
323
+ "- Do not use shell helpers like `cat`, `sed`, `ls`, or `find` when a native read/search tool can inspect the same files.",
324
+ "",
325
+ "## Goal",
326
+ "",
327
+ "- produce one standalone Build Plan package tuned to the source data, requested Artifacts, and checks in this task",
328
+ "- replace the neutral scaffold topology with the stage flow this agent task needs",
329
+ "- define Context Checks, requested Artifacts, and Artifact diagnostics so Interf can show which checks passed, which Artifacts back them, and what evidence or traces support them",
330
+ "- satisfy every `artifact_requirements[]` entry from `runtime/authoring-context.json` when entries are present",
331
+ "- otherwise draft requested Artifact contracts from every `requested_artifacts[]` entry; do not ignore or truncate them",
332
+ "- preserve deterministic stage and requested Artifact contracts",
333
+ "- stop once the Build Plan edits are complete",
334
+ "",
335
+ ].join("\n");
336
+ }
337
+ export function renderBuildPlanAuthoringSkill() {
338
+ return [
339
+ "---",
340
+ "name: interf-build-plan-author",
341
+ "description: >",
342
+ " Native local Build Plan authoring skill for an automated Interf Build Plan draft run.",
343
+ "---",
344
+ "",
345
+ "# Interf Build Plan Authoring",
346
+ "",
347
+ "Read `runtime/authoring-context.json` first.",
348
+ "Then review the neutral Build Plan package scaffold under `build-plan/`, read `runtime/source-locator.json`, and inspect Source through your own tools when needed.",
349
+ "",
350
+ "Rules:",
351
+ "- edit only `build-plan/`",
352
+ `- keep \`build-plan.json\`, \`${BUILD_PLAN_SCHEMA_FILE}\`, and any changed stage docs aligned`,
353
+ "- treat `checks` from `runtime/authoring-context.json` as user-facing Context Checks, not deterministic operators",
354
+ "- create Context Checks first, then requested Artifacts that back them, then deterministic Artifact diagnostics (`checks[]`) under those Artifacts",
355
+ "- preserve the file-based Context Graph architecture: `summaries/` for source coverage, `knowledge/` for task-aware navigation/drilldown, and `artifacts/` for task-specific agent handoffs",
356
+ "- make `artifacts/` the downstream agent handoff layer; route to original Source refs for exact claims and do not present generated notes as the source of truth",
357
+ "- treat `home.md` as a graph index only, not as the answer surface",
358
+ "- for charts, tables, images, and other visual evidence, require target period, unit, series/legend, axis or table interpretation, exact printed values when available, bounded ranges when not, evidence tier, and source page",
359
+ "- structural diagnostics are not evidence fidelity; do not treat file existence, frontmatter keys, or phrase presence as proof that a visual/table value was correctly extracted",
360
+ "- if visual evidence has no printed data labels, preserve a bounded read at source granularity and unresolved-semantics handling instead of pseudo-exact precision",
361
+ "- preserve `backed_by_artifact_ids` and make them match requested Artifact ids",
362
+ "- when `artifact_requirements[]` is non-empty, copy every requirement's `id`, `shape`, and `checks[]` exactly into the requested Artifact contract; do not rename or move required Artifacts",
363
+ "- put deterministic validation on Artifact `checks[]`; do not add stage `acceptance` blocks",
364
+ "- use only CheckKind values listed in `runtime/authoring-context.json`; do not invent aliases",
365
+ "- use `runtime/authoring-context.json.check_param_contracts` as the exact parameter contract for each check kind",
366
+ "- give every Artifact diagnostic a human-readable `description`; the UI shows that assertion first and uses evaluator details as drilldown",
367
+ "- keep Artifact diagnostics aligned with produced outputs; use stage docs to describe the output contract without requiring exact source-specific phrases in the stage docs",
368
+ "- satisfy every `artifact_requirements[]` entry from `runtime/authoring-context.json` when entries are present",
369
+ "- otherwise draft requested Artifact contracts from every `requested_artifacts[]` entry; do not ignore or truncate them",
370
+ "- design the stage flow from the source data, agent task, and evidence brief",
371
+ "- use kebab-case ids everywhere: stage ids, skill_dir values, Artifact ids, reads/writes values, and package ids; never use underscores",
372
+ "- replace the placeholder `prepare` stage unless that exact stage is truly the final Build Plan",
373
+ "- keep the package standalone; do not introduce runtime inheritance or hidden source-package assumptions",
374
+ "- do not introduce wikilinks unless the Build Plan also creates the target note by exact basename or explicit relative path",
375
+ "- respect stage boundaries: do not make structure outputs link to notes or graph routes first created by later stages",
376
+ "- prefer conservative routing changes over speculative note sprawl",
377
+ "- prefer direct file-reading and search tools over shell commands for routine file inspection",
378
+ "- do not use shell helpers like `cat`, `sed`, `ls`, or `find` when a native read/search tool can inspect the same files",
379
+ "- do not hardcode benchmark expected answers into Build Plan docs",
380
+ "- do not edit source artifacts",
381
+ "",
382
+ ].join("\n");
383
+ }
384
+ export function renderBuildPlanImprovementAgents(contextGraphName, buildPlanId, loopIndex) {
385
+ return [
386
+ `# ${contextGraphName} — Build Plan Improvement Shell`,
387
+ "",
388
+ "This is an automated Build Plan improvement shell generated by Interf.",
389
+ "It exists to review failed Build/benchmark runs and edit the Build Plan package for the next variation.",
390
+ "",
391
+ "## Start Here",
392
+ "",
393
+ "1. Read `runtime/loop-context.json` now.",
394
+ `2. Read \`build-plan/README.md\`, \`build-plan/build-plan.json\`, and \`build-plan/${BUILD_PLAN_SCHEMA_FILE}\` now.`,
395
+ "3. Read `build-plan/improve/SKILL.md` now.",
396
+ "4. Use the local native `interf-build-plan-improver` skill now.",
397
+ "",
398
+ "## Boundaries",
399
+ "",
400
+ `- Build Plan: \`${buildPlanId}\`.`,
401
+ `- Improvement loop: ${loopIndex}.`,
402
+ "- Edit only files under `build-plan/`.",
403
+ "- Do not edit checks, benchmark specs, source files, or generated context outputs.",
404
+ "- Review context-graph outputs under `artifacts/context-graph-view/` and benchmark/runtime evidence under `artifacts/`.",
405
+ "- Keep the Build Plan package valid for the current build API and `build-plan.schema.json`.",
406
+ "- Put deterministic validation on Artifact `checks[]`; do not add stage `acceptance` blocks.",
407
+ "",
408
+ "## Goal",
409
+ "",
410
+ "- create a better Build Plan variation for this kind of agent task",
411
+ "- preserve deterministic context-graph structure",
412
+ "- stop after the Build Plan edits are complete",
413
+ "",
414
+ ].join("\n");
415
+ }
416
+ export function readBuildPlanImprovementDoc(contextGraphPath) {
417
+ const path = join(improvementBuildPlanDocsPath(contextGraphPath), "SKILL.md");
418
+ if (!existsSync(path))
419
+ return null;
420
+ return readFileSync(path, "utf8").trim();
421
+ }
422
+ export function renderBuildPlanImprovementSkill(buildPlanId, loopIndex, improvementDoc) {
423
+ return [
424
+ "---",
425
+ "name: interf-build-plan-improver",
426
+ "description: >",
427
+ " Native local Build Plan improvement skill for this Interf run.",
428
+ " Use it only inside an automated Build Plan improvement shell.",
429
+ "---",
430
+ "",
431
+ `# Interf Build Plan Improvement — ${buildPlanId}`,
432
+ "",
433
+ "This local native skill exists for automated Build Plan improvement loops.",
434
+ "Read `runtime/loop-context.json` first.",
435
+ "Then review the linked Build Plan package, `artifacts/context-graph-view/`, preserved stage shells, runtime logs, and saved benchmark outputs before editing `build-plan/`.",
436
+ "",
437
+ "## Current Loop",
438
+ "",
439
+ `- Build Plan: \`${buildPlanId}\``,
440
+ `- loop index: ${loopIndex}`,
441
+ "- editable source: `build-plan/improve/SKILL.md`",
442
+ "",
443
+ ...(improvementDoc
444
+ ? [
445
+ "## Improvement Guidance",
446
+ "",
447
+ improvementDoc,
448
+ "",
449
+ ]
450
+ : []),
451
+ ].join("\n");
452
+ }
@@ -0,0 +1,17 @@
1
+ import type { ExecutionStageLedger, RuntimeStageContract } from "../../build/lib/schema.js";
2
+ import type { NativeStageDefinition } from "./shell-templates.js";
3
+ export interface StageExecutionWorkspaceLogPaths {
4
+ promptLogPath: string;
5
+ eventLogPath: string;
6
+ statusLogPath: string;
7
+ }
8
+ export declare function stageExecutionWorkspaceLogPaths(shellRoot: string, runId: string): StageExecutionWorkspaceLogPaths;
9
+ export declare function writeStageExecutionWorkspaceManifest(options: {
10
+ contextGraphPath: string;
11
+ shellRoot: string;
12
+ buildPlanId: string;
13
+ stage: Pick<NativeStageDefinition, "id" | "label" | "contractType">;
14
+ run?: ExecutionStageLedger | null;
15
+ contract?: RuntimeStageContract | null;
16
+ logPaths?: StageExecutionWorkspaceLogPaths | null;
17
+ }): void;
@@ -0,0 +1,70 @@
1
+ import { existsSync, readFileSync } from "node:fs";
2
+ import { relative } from "node:path";
3
+ import { writeJsonAtomic } from "../../build/atomic-fs.js";
4
+ import { LOCAL_SKILL_ROOTS, shellEventLogPath, shellPromptLogPath, shellRuntimePath, shellStatusLogPath, shellWorkspaceManifestPath, } from "./shell-paths.js";
5
+ export function stageExecutionWorkspaceLogPaths(shellRoot, runId) {
6
+ return {
7
+ promptLogPath: shellPromptLogPath(shellRoot, runId),
8
+ eventLogPath: shellEventLogPath(shellRoot, runId),
9
+ statusLogPath: shellStatusLogPath(shellRoot, runId),
10
+ };
11
+ }
12
+ function shellRelative(shellRoot, path) {
13
+ return relative(shellRoot, path).replaceAll("\\", "/");
14
+ }
15
+ function contextGraphRelative(contextGraphPath, path) {
16
+ return relative(contextGraphPath, path).replaceAll("\\", "/");
17
+ }
18
+ function readPathsFile(shellRoot) {
19
+ const pathsFile = shellRuntimePath(shellRoot, "paths.json");
20
+ if (!existsSync(pathsFile))
21
+ return null;
22
+ try {
23
+ return JSON.parse(readFileSync(pathsFile, "utf8"));
24
+ }
25
+ catch {
26
+ return null;
27
+ }
28
+ }
29
+ export function writeStageExecutionWorkspaceManifest(options) {
30
+ const skillPaths = LOCAL_SKILL_ROOTS.map((root) => `${root}/interf-stage/SKILL.md`);
31
+ const logPaths = options.logPaths
32
+ ? {
33
+ prompt_path: shellRelative(options.shellRoot, options.logPaths.promptLogPath),
34
+ event_stream_path: shellRelative(options.shellRoot, options.logPaths.eventLogPath),
35
+ status_path: shellRelative(options.shellRoot, options.logPaths.statusLogPath),
36
+ }
37
+ : null;
38
+ writeJsonAtomic(shellWorkspaceManifestPath(options.shellRoot), {
39
+ kind: "interf-stage-execution-workspace",
40
+ version: 1,
41
+ generated_at: new Date().toISOString(),
42
+ workspace_type: "stage-execution",
43
+ root_path: contextGraphRelative(options.contextGraphPath, options.shellRoot),
44
+ run_id: options.run?.run_id ?? options.contract?.run_id ?? null,
45
+ build_plan: options.contract?.build_plan.id ?? options.buildPlanId,
46
+ stage: options.contract?.stage ?? options.stage.id,
47
+ stage_label: options.contract?.stage_label ?? options.stage.label,
48
+ contract_type: options.contract?.contract_type ?? options.stage.contractType,
49
+ instructions: {
50
+ agents: "AGENTS.md",
51
+ claude: "CLAUDE.md",
52
+ skill_paths: skillPaths,
53
+ },
54
+ runtime: {
55
+ contract: "runtime/stage-contract.json",
56
+ paths: "runtime/paths.json",
57
+ source_manifest: "runtime/source-manifest.json",
58
+ source_state: "runtime/source-state.json",
59
+ stage_inputs: "runtime/stage-inputs.json",
60
+ verifier: "runtime/check-stage.mjs",
61
+ stage_evidence: "runtime/stage-evidence.json",
62
+ },
63
+ logs: logPaths,
64
+ artifacts: readPathsFile(options.shellRoot),
65
+ boundaries: {
66
+ build_plan: "build-plan",
67
+ context_graph_linked: false,
68
+ },
69
+ });
70
+ }
@@ -0,0 +1,63 @@
1
+ import type { BuildPlanImprovementContext } from "../../build/lib/schema.js";
2
+ import type { BuildPlanAuthoringArtifactRequirement, BuildPlanContextCheckDraft, RequestedArtifact, SourceContext } from "../../../build-plans/authoring/brief.js";
3
+ import { renderClaudeBootstrap, renderContextGraphQuerySkill, type NativeStageDefinition } from "./shell-templates.js";
4
+ import { syncStageExecutionShellWrites } from "./shell-projection.js";
5
+ export type { NativeStageDefinition };
6
+ export { syncStageExecutionShellWrites };
7
+ export { renderClaudeBootstrap, renderContextGraphQuerySkill };
8
+ export declare function validateStageExecutionShellInputs(options: {
9
+ contextGraphPath: string;
10
+ shellRoot: string;
11
+ stage: NativeStageDefinition;
12
+ }): {
13
+ ok: boolean;
14
+ summary: string;
15
+ };
16
+ export declare function writeNativeAgentSurface(rootPath: string, agentsContent: string, skillName: string, skillContent: string): boolean;
17
+ export declare function pruneStageExecutionShells(contextGraphPath: string): void;
18
+ export declare function projectContextGraphQueryShell(contextGraphPath: string, contextGraphName: string, buildPlanId: string, options?: {
19
+ buildPlanOriginSelected?: string | null;
20
+ buildPlanLocalDraft?: boolean;
21
+ }): boolean;
22
+ export declare function projectSourceFilesTestQueryShell(rootPath: string): boolean;
23
+ export declare function createStageExecutionShell(contextGraphPath: string, contextGraphName: string, buildPlanId: string, stage: NativeStageDefinition, writeArtifacts?: readonly string[]): {
24
+ rootPath: string;
25
+ };
26
+ export declare function freezeStageExecutionShell(rootPath: string): string | null;
27
+ export declare function createBuildPlanAuthoringShell(options: {
28
+ buildPlanPath: string;
29
+ buildPlanId: string;
30
+ label: string;
31
+ referenceBuildPlanId?: string | null;
32
+ sourceFolderPath: string;
33
+ intent: string;
34
+ checks: BuildPlanContextCheckDraft[];
35
+ userPrepInstructions?: string;
36
+ requestedArtifacts?: RequestedArtifact[];
37
+ sourceContext?: SourceContext | null;
38
+ artifactRequirements?: BuildPlanAuthoringArtifactRequirement[];
39
+ }): {
40
+ rootPath: string;
41
+ buildPlanBeforePath: string;
42
+ buildPlanAfterPath: string;
43
+ promptLogPath: string;
44
+ eventLogPath: string;
45
+ statusLogPath: string;
46
+ };
47
+ export declare function createBuildPlanImprovementShell(options: {
48
+ contextGraphPath: string;
49
+ contextGraphName: string;
50
+ buildPlanId: string;
51
+ runId: string;
52
+ loopIndex: number;
53
+ context: BuildPlanImprovementContext;
54
+ }): {
55
+ rootPath: string;
56
+ loopRootPath: string;
57
+ buildPlanBeforePath: string;
58
+ buildPlanAfterPath: string;
59
+ promptLogPath: string;
60
+ eventLogPath: string;
61
+ statusLogPath: string;
62
+ };
63
+ export declare function freezeBuildPlanImprovementShell(rootPath: string): string | null;