@interf/compiler 0.22.2 → 0.50.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 (616) hide show
  1. package/README.md +119 -282
  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 -35
  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 +9 -0
  10. package/dist/cli/commands/benchmark.js +58 -0
  11. package/dist/cli/commands/build-plan.js +107 -139
  12. package/dist/cli/commands/build.d.ts +3 -4
  13. package/dist/cli/commands/build.js +16 -45
  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 +344 -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 +4 -2
  20. package/dist/cli/commands/mcp.js +846 -232
  21. package/dist/cli/commands/project.d.ts +2 -0
  22. package/dist/cli/commands/project.js +176 -0
  23. package/dist/cli/commands/reset.d.ts +3 -4
  24. package/dist/cli/commands/reset.js +10 -31
  25. package/dist/cli/commands/runs.js +136 -57
  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 +35 -45
  30. package/dist/cli/commands/traces.d.ts +2 -0
  31. package/dist/cli/commands/traces.js +97 -0
  32. package/dist/cli/commands/wizard.js +171 -178
  33. package/dist/cli/index.d.ts +7 -4
  34. package/dist/cli/index.js +13 -7
  35. package/dist/cli/lib/http-client.d.ts +39 -0
  36. package/dist/cli/lib/http-client.js +73 -0
  37. package/dist/index.d.ts +2 -2
  38. package/dist/index.js +2 -2
  39. package/dist/packages/build-plans/authoring/brief.d.ts +538 -0
  40. package/dist/packages/build-plans/authoring/brief.js +89 -0
  41. package/dist/packages/build-plans/authoring/build-plan-authoring.d.ts +52 -11
  42. package/dist/packages/build-plans/authoring/build-plan-authoring.js +493 -46
  43. package/dist/packages/build-plans/authoring/build-plan-edit-session.d.ts +10 -1
  44. package/dist/packages/build-plans/authoring/build-plan-edit-session.js +27 -4
  45. package/dist/packages/build-plans/authoring/build-plan-improvement.d.ts +9 -6
  46. package/dist/packages/build-plans/authoring/build-plan-improvement.js +97 -46
  47. package/dist/packages/build-plans/authoring/lib/build-plan-edit-utils.d.ts +1 -0
  48. package/dist/packages/build-plans/authoring/lib/build-plan-edit-utils.js +7 -7
  49. package/dist/packages/build-plans/build-plan-resolution.d.ts +1 -1
  50. package/dist/packages/build-plans/build-plan-resolution.js +3 -3
  51. package/dist/packages/build-plans/index.d.ts +1 -1
  52. package/dist/packages/build-plans/index.js +1 -1
  53. package/dist/packages/build-plans/package/build-plan-definitions.d.ts +14 -13
  54. package/dist/packages/build-plans/package/build-plan-definitions.js +45 -42
  55. package/dist/packages/build-plans/package/build-plan-helpers.d.ts +3 -2
  56. package/dist/packages/build-plans/package/build-plan-helpers.js +27 -13
  57. package/dist/packages/build-plans/package/build-plan-review-paths.d.ts +5 -5
  58. package/dist/packages/build-plans/package/build-plan-review-paths.js +15 -15
  59. package/dist/packages/build-plans/package/build-plan-stage-runner.d.ts +5 -4
  60. package/dist/packages/build-plans/package/build-plan-stage-runner.js +23 -11
  61. package/dist/packages/build-plans/package/builtin-build-plan.d.ts +7 -8
  62. package/dist/packages/build-plans/package/builtin-build-plan.js +10 -11
  63. package/dist/packages/build-plans/package/context-interface.d.ts +14 -9
  64. package/dist/packages/build-plans/package/context-interface.js +14 -33
  65. package/dist/packages/build-plans/package/interf-build-plan-package.d.ts +6 -17
  66. package/dist/packages/build-plans/package/interf-build-plan-package.js +68 -64
  67. package/dist/packages/build-plans/package/local-build-plans.d.ts +21 -14
  68. package/dist/packages/build-plans/package/local-build-plans.js +105 -55
  69. package/dist/packages/build-plans/package/user-build-plans.js +1 -1
  70. package/dist/packages/contracts/index.d.ts +5 -2
  71. package/dist/packages/contracts/index.js +3 -1
  72. package/dist/packages/contracts/lib/context-graph-layer.d.ts +161 -0
  73. package/dist/packages/contracts/lib/context-graph-layer.js +216 -0
  74. package/dist/packages/contracts/lib/project-paths.d.ts +144 -0
  75. package/dist/packages/contracts/lib/project-paths.js +220 -0
  76. package/dist/packages/contracts/lib/project-schema.d.ts +423 -0
  77. package/dist/packages/contracts/lib/project-schema.js +138 -0
  78. package/dist/packages/contracts/lib/schema.d.ts +1273 -81
  79. package/dist/packages/contracts/lib/schema.js +675 -79
  80. package/dist/packages/contracts/utils/filesystem.d.ts +1 -0
  81. package/dist/packages/contracts/utils/filesystem.js +29 -1
  82. package/dist/packages/contracts/utils/parse.js +67 -0
  83. package/dist/packages/projects/index.d.ts +6 -0
  84. package/dist/packages/{project → projects}/index.js +0 -3
  85. package/dist/packages/{project → projects}/interf-detect.d.ts +12 -12
  86. package/dist/packages/{project → projects}/interf-detect.js +56 -50
  87. package/dist/packages/projects/interf.d.ts +2 -0
  88. package/dist/packages/projects/interf.js +1 -0
  89. package/dist/packages/projects/lib/schema.d.ts +77 -0
  90. package/dist/packages/projects/lib/schema.js +91 -0
  91. package/dist/packages/projects/source-config.d.ts +53 -0
  92. package/dist/packages/projects/source-config.js +339 -0
  93. package/dist/packages/projects/source-folders.d.ts +11 -0
  94. package/dist/packages/{project → projects}/source-folders.js +26 -26
  95. package/dist/packages/{engine → runtime}/action-planner.d.ts +1 -1
  96. package/dist/packages/{engine → runtime}/action-planner.js +20 -22
  97. package/dist/packages/runtime/action-values.d.ts +1 -0
  98. package/dist/packages/runtime/action-values.js +1 -0
  99. package/dist/packages/runtime/actions/errors.d.ts +2 -0
  100. package/dist/packages/runtime/actions/errors.js +12 -0
  101. package/dist/packages/runtime/actions/fields.d.ts +86 -0
  102. package/dist/packages/runtime/actions/form-builders.d.ts +14 -0
  103. package/dist/packages/runtime/actions/form-builders.js +667 -0
  104. package/dist/packages/runtime/actions/form-validators.d.ts +8 -0
  105. package/dist/packages/runtime/actions/form-validators.js +134 -0
  106. package/dist/packages/runtime/actions/helpers.d.ts +11 -0
  107. package/dist/packages/runtime/actions/helpers.js +80 -0
  108. package/dist/packages/runtime/actions/index.d.ts +8 -0
  109. package/dist/packages/runtime/actions/index.js +11 -0
  110. package/dist/packages/runtime/actions/registry.d.ts +64 -0
  111. package/dist/packages/runtime/actions/registry.js +62 -0
  112. package/dist/packages/runtime/actions/requests.d.ts +45 -0
  113. package/dist/packages/runtime/actions/requests.js +164 -0
  114. package/dist/packages/runtime/actions/schemas.d.ts +161 -0
  115. package/dist/packages/runtime/actions/schemas.js +37 -0
  116. package/dist/packages/runtime/agent-handoff.d.ts +11 -0
  117. package/dist/packages/runtime/agent-handoff.js +102 -0
  118. package/dist/packages/{engine → runtime}/agents/index.d.ts +1 -2
  119. package/dist/packages/{engine → runtime}/agents/index.js +1 -2
  120. package/dist/packages/runtime/agents/lib/args.d.ts +14 -0
  121. package/dist/packages/runtime/agents/lib/args.js +24 -0
  122. package/dist/packages/{engine → runtime}/agents/lib/constants.d.ts +4 -1
  123. package/dist/packages/runtime/agents/lib/constants.js +13 -0
  124. package/dist/packages/runtime/agents/lib/context-graph-bootstrap.d.ts +3 -0
  125. package/dist/packages/{engine/agents/lib/verifiable-context-bootstrap.js → runtime/agents/lib/context-graph-bootstrap.js} +5 -6
  126. package/dist/packages/{engine → runtime}/agents/lib/detection.d.ts +5 -0
  127. package/dist/packages/{engine → runtime}/agents/lib/detection.js +16 -7
  128. package/dist/packages/{engine → runtime}/agents/lib/execution-profile.d.ts +14 -0
  129. package/dist/packages/{engine → runtime}/agents/lib/execution-profile.js +31 -14
  130. package/dist/packages/{engine → runtime}/agents/lib/execution.js +22 -6
  131. package/dist/packages/{engine → runtime}/agents/lib/executors.d.ts +1 -0
  132. package/dist/packages/{engine → runtime}/agents/lib/executors.js +11 -2
  133. package/dist/packages/runtime/agents/lib/logs.d.ts +12 -0
  134. package/dist/packages/runtime/agents/lib/logs.js +41 -0
  135. package/dist/packages/{engine → runtime}/agents/lib/preflight.js +19 -14
  136. package/dist/packages/runtime/agents/lib/render.d.ts +26 -0
  137. package/dist/packages/{engine → runtime}/agents/lib/render.js +48 -22
  138. package/dist/packages/runtime/agents/lib/shell-fs.d.ts +18 -0
  139. package/dist/packages/runtime/agents/lib/shell-fs.js +190 -0
  140. package/dist/packages/runtime/agents/lib/shell-paths.d.ts +16 -0
  141. package/dist/packages/runtime/agents/lib/shell-paths.js +63 -0
  142. package/dist/packages/runtime/agents/lib/shell-projection.d.ts +25 -0
  143. package/dist/packages/runtime/agents/lib/shell-projection.js +314 -0
  144. package/dist/packages/runtime/agents/lib/shell-templates.d.ts +30 -0
  145. package/dist/packages/runtime/agents/lib/shell-templates.js +494 -0
  146. package/dist/packages/runtime/agents/lib/shell-workspace.d.ts +17 -0
  147. package/dist/packages/runtime/agents/lib/shell-workspace.js +70 -0
  148. package/dist/packages/runtime/agents/lib/shells.d.ts +92 -0
  149. package/dist/packages/runtime/agents/lib/shells.js +509 -0
  150. package/dist/packages/runtime/agents/lib/source-context-scan.d.ts +10 -0
  151. package/dist/packages/runtime/agents/lib/source-context-scan.js +388 -0
  152. package/dist/packages/{engine → runtime}/agents/lib/status.js +1 -14
  153. package/dist/packages/runtime/agents/lib/string-utils.d.ts +16 -0
  154. package/dist/packages/runtime/agents/lib/string-utils.js +36 -0
  155. package/dist/packages/{engine → runtime}/agents/lib/types.d.ts +1 -0
  156. package/dist/packages/{engine → runtime}/agents/lib/user-config.d.ts +8 -2
  157. package/dist/packages/{engine → runtime}/agents/lib/user-config.js +8 -2
  158. package/dist/packages/runtime/agents/providers/claude-code.d.ts +13 -0
  159. package/dist/packages/runtime/agents/providers/claude-code.js +45 -0
  160. package/dist/packages/runtime/agents/providers/codex.d.ts +17 -0
  161. package/dist/packages/runtime/agents/providers/codex.js +66 -0
  162. package/dist/packages/runtime/agents/providers/cursor.d.ts +9 -0
  163. package/dist/packages/runtime/agents/providers/cursor.js +24 -0
  164. package/dist/packages/runtime/agents/providers/index.d.ts +9 -0
  165. package/dist/packages/runtime/agents/providers/index.js +31 -0
  166. package/dist/packages/runtime/agents/providers/types.d.ts +50 -0
  167. package/dist/packages/{engine → runtime}/agents/registry.d.ts +13 -2
  168. package/dist/packages/{engine → runtime}/agents/registry.js +48 -10
  169. package/dist/packages/{engine → runtime}/agents/role-executors.d.ts +1 -1
  170. package/dist/packages/{engine → runtime}/agents/role-executors.js +9 -7
  171. package/dist/packages/{engine → runtime}/agents/role-router.js +7 -5
  172. package/dist/packages/runtime/auth/account-context.d.ts +52 -0
  173. package/dist/packages/runtime/auth/account-context.js +68 -0
  174. package/dist/packages/runtime/auth/auth-flow.d.ts +73 -0
  175. package/dist/packages/runtime/auth/auth-flow.js +189 -0
  176. package/dist/packages/runtime/auth/jwt-validator.d.ts +58 -0
  177. package/dist/packages/runtime/auth/jwt-validator.js +86 -0
  178. package/dist/packages/runtime/auth/keychain.d.ts +35 -0
  179. package/dist/packages/runtime/auth/keychain.js +85 -0
  180. package/dist/packages/runtime/auth/session-store.d.ts +38 -0
  181. package/dist/packages/runtime/auth/session-store.js +96 -0
  182. package/dist/packages/runtime/auth/workos-client.d.ts +58 -0
  183. package/dist/packages/runtime/auth/workos-client.js +87 -0
  184. package/dist/packages/runtime/benchmark-question-draft.d.ts +23 -0
  185. package/dist/packages/runtime/benchmark-question-draft.js +153 -0
  186. package/dist/packages/runtime/build/artifact-counts.d.ts +1 -0
  187. package/dist/packages/{engine → runtime}/build/artifact-counts.js +5 -9
  188. package/dist/packages/{engine → runtime}/build/artifact-status.d.ts +6 -6
  189. package/dist/packages/{engine → runtime}/build/artifact-status.js +26 -24
  190. package/dist/packages/runtime/build/atomic-fs.d.ts +3 -0
  191. package/dist/packages/runtime/build/atomic-fs.js +95 -0
  192. package/dist/packages/runtime/build/billing-events.d.ts +78 -0
  193. package/dist/packages/{engine → runtime}/build/billing-events.js +17 -19
  194. package/dist/packages/runtime/build/build-evidence.d.ts +16 -0
  195. package/dist/packages/runtime/build/build-evidence.js +179 -0
  196. package/dist/packages/{engine → runtime}/build/build-pipeline.d.ts +12 -8
  197. package/dist/packages/runtime/build/build-pipeline.js +388 -0
  198. package/dist/packages/{engine → runtime}/build/build-plan-primitives.d.ts +1 -1
  199. package/dist/packages/{engine → runtime}/build/build-plan-primitives.js +0 -1
  200. package/dist/packages/runtime/build/build-plan-runs.d.ts +14 -0
  201. package/dist/packages/runtime/build/build-plan-runs.js +31 -0
  202. package/dist/packages/runtime/build/build-stage-plan.d.ts +16 -0
  203. package/dist/packages/runtime/build/build-stage-plan.js +101 -0
  204. package/dist/packages/{engine → runtime}/build/build-stage-runner.d.ts +2 -1
  205. package/dist/packages/runtime/build/build-stage-runner.js +302 -0
  206. package/dist/packages/{engine → runtime}/build/build-target.d.ts +7 -4
  207. package/dist/packages/runtime/build/build-target.js +40 -0
  208. package/dist/packages/{engine → runtime}/build/check-evaluator.d.ts +14 -16
  209. package/dist/packages/runtime/build/check-evaluator.js +1226 -0
  210. package/dist/packages/runtime/build/context-graph-paths.d.ts +64 -0
  211. package/dist/packages/runtime/build/context-graph-paths.js +160 -0
  212. package/dist/packages/runtime/build/context-graph-schema.d.ts +19 -0
  213. package/dist/packages/runtime/build/context-graph-schema.js +39 -0
  214. package/dist/packages/{engine → runtime}/build/discovery.d.ts +2 -2
  215. package/dist/packages/{engine → runtime}/build/discovery.js +4 -4
  216. package/dist/packages/{engine → runtime}/build/index.d.ts +7 -5
  217. package/dist/packages/{engine → runtime}/build/index.js +7 -5
  218. package/dist/packages/runtime/build/inspect-map.d.ts +10 -0
  219. package/dist/packages/runtime/build/inspect-map.js +270 -0
  220. package/dist/packages/{engine → runtime}/build/lib/schema.d.ts +449 -123
  221. package/dist/packages/runtime/build/lib/schema.js +494 -0
  222. package/dist/packages/runtime/build/native-entrypoint.d.ts +2 -0
  223. package/dist/packages/runtime/build/native-entrypoint.js +286 -0
  224. package/dist/packages/runtime/build/reset.d.ts +2 -0
  225. package/dist/packages/runtime/build/reset.js +62 -0
  226. package/dist/packages/{engine → runtime}/build/runtime-contracts.js +13 -7
  227. package/dist/packages/runtime/build/runtime-inventory.d.ts +7 -0
  228. package/dist/packages/{engine → runtime}/build/runtime-inventory.js +3 -3
  229. package/dist/packages/runtime/build/runtime-log-paths.d.ts +3 -0
  230. package/dist/packages/runtime/build/runtime-log-paths.js +16 -0
  231. package/dist/packages/{engine → runtime}/build/runtime-prompt.js +12 -9
  232. package/dist/packages/{engine → runtime}/build/runtime-reconcile.d.ts +1 -1
  233. package/dist/packages/{engine → runtime}/build/runtime-reconcile.js +25 -21
  234. package/dist/packages/runtime/build/runtime-runs.d.ts +10 -0
  235. package/dist/packages/runtime/build/runtime-runs.js +318 -0
  236. package/dist/packages/{engine → runtime}/build/runtime-types.d.ts +9 -6
  237. package/dist/packages/runtime/build/runtime-types.js +1 -0
  238. package/dist/packages/runtime/build/runtime.d.ts +8 -0
  239. package/dist/packages/runtime/build/runtime.js +7 -0
  240. package/dist/packages/runtime/build/source-files.d.ts +58 -0
  241. package/dist/packages/runtime/build/source-files.js +193 -0
  242. package/dist/packages/runtime/build/source-inventory.d.ts +28 -0
  243. package/dist/packages/runtime/build/source-inventory.js +512 -0
  244. package/dist/packages/runtime/build/source-manifest.d.ts +63 -0
  245. package/dist/packages/runtime/build/source-manifest.js +220 -0
  246. package/dist/packages/runtime/build/stage-evidence.d.ts +22 -0
  247. package/dist/packages/runtime/build/stage-evidence.js +386 -0
  248. package/dist/packages/runtime/build/stage-manifest.d.ts +45 -0
  249. package/dist/packages/runtime/build/stage-manifest.js +1125 -0
  250. package/dist/packages/runtime/build/stage-reuse.d.ts +11 -0
  251. package/dist/packages/runtime/build/stage-reuse.js +154 -0
  252. package/dist/packages/runtime/build/stage-session.d.ts +81 -0
  253. package/dist/packages/runtime/build/stage-session.js +308 -0
  254. package/dist/packages/runtime/build/state-artifacts.d.ts +9 -0
  255. package/dist/packages/runtime/build/state-artifacts.js +14 -0
  256. package/dist/packages/runtime/build/state-health.d.ts +4 -0
  257. package/dist/packages/{engine → runtime}/build/state-health.js +21 -26
  258. package/dist/packages/runtime/build/state-io.d.ts +12 -0
  259. package/dist/packages/runtime/build/state-io.js +118 -0
  260. package/dist/packages/runtime/build/state-view.d.ts +5 -0
  261. package/dist/packages/runtime/build/state-view.js +121 -0
  262. package/dist/packages/runtime/build/state.d.ts +7 -0
  263. package/dist/packages/runtime/build/state.js +12 -0
  264. package/dist/packages/runtime/build/summary-coverage-index.d.ts +21 -0
  265. package/dist/packages/runtime/build/summary-coverage-index.js +189 -0
  266. package/dist/packages/runtime/build/traces.d.ts +30 -0
  267. package/dist/packages/runtime/build/traces.js +133 -0
  268. package/dist/packages/{engine/build/validate-verifiable-context.d.ts → runtime/build/validate-context-graph.d.ts} +6 -6
  269. package/dist/packages/{engine/build/validate-verifiable-context.js → runtime/build/validate-context-graph.js} +49 -36
  270. package/dist/packages/{engine → runtime}/build/validate.d.ts +5 -5
  271. package/dist/packages/{engine → runtime}/build/validate.js +26 -26
  272. package/dist/packages/{engine → runtime}/client.d.ts +18 -18
  273. package/dist/packages/{engine → runtime}/client.js +48 -36
  274. package/dist/packages/{engine → runtime}/connection-config.d.ts +3 -2
  275. package/dist/packages/{engine → runtime}/connection-config.js +9 -8
  276. package/dist/packages/runtime/context-checks.d.ts +10 -0
  277. package/dist/packages/runtime/context-checks.js +127 -0
  278. package/dist/packages/runtime/context-graph-scaffold.d.ts +9 -0
  279. package/dist/packages/runtime/context-graph-scaffold.js +135 -0
  280. package/dist/packages/runtime/context-graph-semantic-graph.d.ts +9 -0
  281. package/dist/packages/runtime/context-graph-semantic-graph.js +416 -0
  282. package/dist/packages/runtime/entitlement-guard.d.ts +43 -0
  283. package/dist/packages/runtime/entitlement-guard.js +70 -0
  284. package/dist/packages/{engine → runtime}/execution/index.d.ts +2 -2
  285. package/dist/packages/{engine → runtime}/execution/index.js +1 -1
  286. package/dist/packages/{engine → runtime}/execution/lib/schema.d.ts +272 -191
  287. package/dist/packages/{engine → runtime}/execution/lib/schema.js +35 -32
  288. package/dist/packages/runtime/index.d.ts +29 -0
  289. package/dist/packages/runtime/index.js +21 -0
  290. package/dist/packages/runtime/instance-paths.d.ts +30 -0
  291. package/dist/packages/runtime/instance-paths.js +29 -0
  292. package/dist/packages/runtime/native-run-handlers.d.ts +63 -0
  293. package/dist/packages/{engine → runtime}/native-run-handlers.js +217 -166
  294. package/dist/packages/runtime/plan-artifact-contract.d.ts +17 -0
  295. package/dist/packages/runtime/plan-artifact-contract.js +42 -0
  296. package/dist/packages/runtime/project-entries.d.ts +11 -0
  297. package/dist/packages/runtime/project-entries.js +49 -0
  298. package/dist/packages/runtime/project-source-state.d.ts +26 -0
  299. package/dist/packages/runtime/project-source-state.js +56 -0
  300. package/dist/packages/runtime/project-store.d.ts +90 -0
  301. package/dist/packages/runtime/project-store.js +195 -0
  302. package/dist/packages/runtime/requested-artifacts.d.ts +7 -0
  303. package/dist/packages/{engine → runtime}/requested-artifacts.js +23 -1
  304. package/dist/packages/{engine → runtime}/run-observability.d.ts +2 -1
  305. package/dist/packages/{engine → runtime}/run-observability.js +174 -87
  306. package/dist/packages/runtime/runtime-action-proposals.d.ts +7 -0
  307. package/dist/packages/runtime/runtime-action-proposals.js +542 -0
  308. package/dist/packages/runtime/runtime-build-plans.d.ts +5 -0
  309. package/dist/packages/runtime/runtime-build-plans.js +175 -0
  310. package/dist/packages/runtime/runtime-build-runs.d.ts +47 -0
  311. package/dist/packages/runtime/runtime-build-runs.js +555 -0
  312. package/dist/packages/runtime/runtime-caches.d.ts +117 -0
  313. package/dist/packages/runtime/runtime-caches.js +266 -0
  314. package/dist/packages/{engine → runtime}/runtime-event-applier.d.ts +3 -1
  315. package/dist/packages/{engine → runtime}/runtime-event-applier.js +53 -17
  316. package/dist/packages/runtime/runtime-executor.d.ts +22 -0
  317. package/dist/packages/runtime/runtime-executor.js +131 -0
  318. package/dist/packages/runtime/runtime-jobs.d.ts +13 -0
  319. package/dist/packages/runtime/runtime-jobs.js +463 -0
  320. package/dist/packages/runtime/runtime-observability.d.ts +11 -0
  321. package/dist/packages/runtime/runtime-observability.js +39 -0
  322. package/dist/packages/{engine → runtime}/runtime-persistence.d.ts +9 -18
  323. package/dist/packages/{engine → runtime}/runtime-persistence.js +25 -25
  324. package/dist/packages/runtime/runtime-project-mutations.d.ts +7 -0
  325. package/dist/packages/runtime/runtime-project-mutations.js +65 -0
  326. package/dist/packages/runtime/runtime-project-reads.d.ts +18 -0
  327. package/dist/packages/runtime/runtime-project-reads.js +574 -0
  328. package/dist/packages/runtime/runtime-proposal-helpers.d.ts +22 -0
  329. package/dist/packages/runtime/runtime-proposal-helpers.js +223 -0
  330. package/dist/packages/{engine → runtime}/runtime-resource-builders.d.ts +23 -16
  331. package/dist/packages/{engine → runtime}/runtime-resource-builders.js +58 -46
  332. package/dist/packages/runtime/runtime-status.d.ts +14 -0
  333. package/dist/packages/runtime/runtime-status.js +15 -0
  334. package/dist/packages/runtime/runtime-verify-runs.d.ts +84 -0
  335. package/dist/packages/runtime/runtime-verify-runs.js +296 -0
  336. package/dist/packages/runtime/runtime.d.ts +1582 -0
  337. package/dist/packages/runtime/runtime.js +431 -0
  338. package/dist/packages/runtime/schemas/actions.d.ts +1206 -0
  339. package/dist/packages/runtime/schemas/actions.js +117 -0
  340. package/dist/packages/runtime/schemas/agents.d.ts +104 -0
  341. package/dist/packages/runtime/schemas/agents.js +74 -0
  342. package/dist/packages/runtime/schemas/build-plans.d.ts +1132 -0
  343. package/dist/packages/runtime/schemas/build-plans.js +141 -0
  344. package/dist/packages/runtime/schemas/context-graphs.d.ts +1522 -0
  345. package/dist/packages/runtime/schemas/context-graphs.js +110 -0
  346. package/dist/packages/runtime/schemas/files.d.ts +227 -0
  347. package/dist/packages/runtime/schemas/files.js +28 -0
  348. package/dist/packages/runtime/schemas/index.d.ts +9 -0
  349. package/dist/packages/runtime/schemas/index.js +13 -0
  350. package/dist/packages/runtime/schemas/instance.d.ts +141 -0
  351. package/dist/packages/runtime/schemas/instance.js +143 -0
  352. package/dist/packages/runtime/schemas/jobs.d.ts +339 -0
  353. package/dist/packages/runtime/schemas/jobs.js +107 -0
  354. package/dist/packages/runtime/schemas/projects.d.ts +366 -0
  355. package/dist/packages/runtime/schemas/projects.js +160 -0
  356. package/dist/packages/runtime/schemas/runs.d.ts +3445 -0
  357. package/dist/packages/runtime/schemas/runs.js +115 -0
  358. package/dist/packages/runtime/service/index.d.ts +3 -0
  359. package/dist/packages/runtime/service/index.js +3 -0
  360. package/dist/packages/runtime/service/openapi.d.ts +7 -0
  361. package/dist/packages/runtime/service/openapi.js +118 -0
  362. package/dist/packages/runtime/service/operations.d.ts +3011 -0
  363. package/dist/packages/runtime/service/operations.js +375 -0
  364. package/dist/packages/runtime/service/routes.d.ts +114 -0
  365. package/dist/packages/runtime/service/routes.js +128 -0
  366. package/dist/packages/runtime/service/server-api-files.d.ts +10 -0
  367. package/dist/packages/runtime/service/server-api-files.js +85 -0
  368. package/dist/packages/runtime/service/server-app-boot.d.ts +4 -0
  369. package/dist/packages/runtime/service/server-app-boot.js +46 -0
  370. package/dist/packages/runtime/service/server-guards.d.ts +63 -0
  371. package/dist/packages/runtime/service/server-guards.js +181 -0
  372. package/dist/packages/runtime/service/server-helpers.d.ts +38 -0
  373. package/dist/packages/runtime/service/server-helpers.js +108 -0
  374. package/dist/packages/runtime/service/server-instance-helpers.d.ts +30 -0
  375. package/dist/packages/runtime/service/server-instance-helpers.js +114 -0
  376. package/dist/packages/runtime/service/server-routes-action-proposals.d.ts +3 -0
  377. package/dist/packages/runtime/service/server-routes-action-proposals.js +45 -0
  378. package/dist/packages/runtime/service/server-routes-agents.d.ts +4 -0
  379. package/dist/packages/runtime/service/server-routes-agents.js +132 -0
  380. package/dist/packages/runtime/service/server-routes-auth.d.ts +33 -0
  381. package/dist/packages/runtime/service/server-routes-auth.js +138 -0
  382. package/dist/packages/runtime/service/server-routes-build-plans.d.ts +3 -0
  383. package/dist/packages/runtime/service/server-routes-build-plans.js +86 -0
  384. package/dist/packages/runtime/service/server-routes-discovery.d.ts +4 -0
  385. package/dist/packages/runtime/service/server-routes-discovery.js +196 -0
  386. package/dist/packages/runtime/service/server-routes-events.d.ts +5 -0
  387. package/dist/packages/runtime/service/server-routes-events.js +99 -0
  388. package/dist/packages/runtime/service/server-routes-project-context.d.ts +9 -0
  389. package/dist/packages/runtime/service/server-routes-project-context.js +287 -0
  390. package/dist/packages/runtime/service/server-routes-project-jobs.d.ts +9 -0
  391. package/dist/packages/runtime/service/server-routes-project-jobs.js +137 -0
  392. package/dist/packages/runtime/service/server-routes-project-runs.d.ts +14 -0
  393. package/dist/packages/runtime/service/server-routes-project-runs.js +88 -0
  394. package/dist/packages/runtime/service/server-routes-projects.d.ts +4 -0
  395. package/dist/packages/runtime/service/server-routes-projects.js +96 -0
  396. package/dist/packages/runtime/service/server-routes-runs.d.ts +3 -0
  397. package/dist/packages/runtime/service/server-routes-runs.js +119 -0
  398. package/dist/packages/runtime/service/server.d.ts +37 -0
  399. package/dist/packages/runtime/service/server.js +300 -0
  400. package/dist/packages/{engine → runtime/service}/service-registry.d.ts +5 -5
  401. package/dist/packages/{engine → runtime/service}/service-registry.js +7 -7
  402. package/dist/packages/runtime/verify/benchmark-run.d.ts +81 -0
  403. package/dist/packages/runtime/verify/benchmark-run.js +303 -0
  404. package/dist/packages/{engine → runtime}/verify/index.d.ts +2 -2
  405. package/dist/packages/{engine → runtime}/verify/index.js +1 -1
  406. package/dist/packages/{engine → runtime}/verify/lib/schema.d.ts +83 -16
  407. package/dist/packages/{engine → runtime}/verify/lib/schema.js +38 -18
  408. package/dist/packages/runtime/verify/test-file-guard.d.ts +2 -0
  409. package/dist/packages/runtime/verify/test-file-guard.js +29 -0
  410. package/dist/packages/{engine → runtime}/verify/verify-execution.d.ts +7 -0
  411. package/dist/packages/{engine → runtime}/verify/verify-execution.js +119 -45
  412. package/dist/packages/{engine → runtime}/verify/verify-paths.d.ts +5 -4
  413. package/dist/packages/runtime/verify/verify-paths.js +65 -0
  414. package/dist/packages/{engine → runtime}/verify/verify-sandbox.d.ts +1 -1
  415. package/dist/packages/runtime/verify/verify-sandbox.js +88 -0
  416. package/dist/packages/{engine → runtime}/verify/verify-specs.d.ts +2 -0
  417. package/dist/packages/runtime/verify/verify-specs.js +126 -0
  418. package/dist/packages/runtime/verify/verify-targets.d.ts +5 -0
  419. package/dist/packages/{engine → runtime}/verify/verify-targets.js +12 -12
  420. package/dist/packages/runtime/verify/verify-types.js +1 -0
  421. package/dist/packages/{engine → runtime}/verify/verify.d.ts +1 -1
  422. package/dist/packages/{engine → runtime}/verify/verify.js +1 -1
  423. package/dist/packages/runtime/wire-schemas.d.ts +18 -0
  424. package/dist/packages/runtime/wire-schemas.js +27 -0
  425. package/package.json +32 -30
  426. package/public-repo/CONTRIBUTING.md +16 -18
  427. package/public-repo/README.md +119 -282
  428. package/public-repo/SECURITY.md +3 -4
  429. package/public-repo/build-plans/interf-default/README.md +24 -16
  430. package/public-repo/build-plans/interf-default/build/stages/entrypoint/SKILL.md +74 -0
  431. package/public-repo/build-plans/interf-default/build/stages/knowledge/SKILL.md +95 -0
  432. package/public-repo/build-plans/interf-default/build/stages/summarize/SKILL.md +49 -4
  433. package/public-repo/build-plans/interf-default/build-plan.json +49 -39
  434. package/public-repo/build-plans/interf-default/build-plan.schema.json +59 -33
  435. package/public-repo/build-plans/interf-default/improve/SKILL.md +3 -3
  436. package/public-repo/build-plans/interf-default/use/query/SKILL.md +18 -11
  437. package/public-repo/openapi/local-service.openapi.json +14227 -0
  438. package/public-repo/skills/interf/SKILL.md +508 -187
  439. package/dist/cli/commands/prep.d.ts +0 -2
  440. package/dist/cli/commands/prep.js +0 -240
  441. package/dist/cli/commands/test.d.ts +0 -10
  442. package/dist/cli/commands/test.js +0 -85
  443. package/dist/cli/commands/web.d.ts +0 -2
  444. package/dist/cli/commands/web.js +0 -286
  445. package/dist/interf-ui/404.html +0 -1
  446. package/dist/interf-ui/__next.__PAGE__.txt +0 -10
  447. package/dist/interf-ui/__next._full.txt +0 -20
  448. package/dist/interf-ui/__next._head.txt +0 -5
  449. package/dist/interf-ui/__next._index.txt +0 -5
  450. package/dist/interf-ui/__next._tree.txt +0 -5
  451. package/dist/interf-ui/_next/static/--reS3xBzM5zc6QxNjZd6/_buildManifest.js +0 -11
  452. package/dist/interf-ui/_next/static/--reS3xBzM5zc6QxNjZd6/_clientMiddlewareManifest.js +0 -1
  453. package/dist/interf-ui/_next/static/--reS3xBzM5zc6QxNjZd6/_ssgManifest.js +0 -1
  454. package/dist/interf-ui/_next/static/chunks/0.tjb6f4golw..css +0 -3
  455. package/dist/interf-ui/_next/static/chunks/03~yq9q893hmn.js +0 -1
  456. package/dist/interf-ui/_next/static/chunks/085-n_jv2ng_q.css +0 -1
  457. package/dist/interf-ui/_next/static/chunks/0dn41fa_zvgsl.js +0 -1
  458. package/dist/interf-ui/_next/static/chunks/0g-ea0zj5d-0k.js +0 -1
  459. package/dist/interf-ui/_next/static/chunks/0gwqglc4iz583.js +0 -1
  460. package/dist/interf-ui/_next/static/chunks/0haldgm65ve6l.js +0 -1
  461. package/dist/interf-ui/_next/static/chunks/0nv3am99vjzn4.js +0 -1
  462. package/dist/interf-ui/_next/static/chunks/0s77gt_o4jwtx.js +0 -1
  463. package/dist/interf-ui/_next/static/chunks/0y5z3t-z1c8ks.js.map +0 -5
  464. package/dist/interf-ui/_next/static/chunks/0~a36ujuzpaz..js +0 -116
  465. package/dist/interf-ui/_next/static/chunks/10jeodxe4nkgj.js +0 -31
  466. package/dist/interf-ui/_next/static/chunks/119h2rouych2t.js +0 -1
  467. package/dist/interf-ui/_next/static/chunks/13c8b~m8knjsf.js +0 -1
  468. package/dist/interf-ui/_next/static/chunks/14dznb2qpt-ho.js +0 -91
  469. package/dist/interf-ui/_next/static/chunks/15z_en80lrq-3.js +0 -5
  470. package/dist/interf-ui/_next/static/chunks/turbopack-0p.pvcjrtq-jh.js +0 -1
  471. package/dist/interf-ui/_next/static/chunks/turbopack-0usj_75.8frlw.js +0 -1
  472. package/dist/interf-ui/_next/static/chunks/turbopack-worker-0sjn--fhq~1cg.js +0 -1
  473. package/dist/interf-ui/_next/static/media/GeistMono_Variable.p.17jn9btb_52pq.woff2 +0 -0
  474. package/dist/interf-ui/_next/static/media/Geist_Variable-s.p.0-te~ja_gpvcf.woff2 +0 -0
  475. package/dist/interf-ui/_next/static/media/worker.102zas1s52_pf.js +0 -109
  476. package/dist/interf-ui/_not-found/__next._full.txt +0 -15
  477. package/dist/interf-ui/_not-found/__next._head.txt +0 -5
  478. package/dist/interf-ui/_not-found/__next._index.txt +0 -5
  479. package/dist/interf-ui/_not-found/__next._not-found.__PAGE__.txt +0 -5
  480. package/dist/interf-ui/_not-found/__next._not-found.txt +0 -5
  481. package/dist/interf-ui/_not-found/__next._tree.txt +0 -2
  482. package/dist/interf-ui/_not-found.html +0 -1
  483. package/dist/interf-ui/_not-found.txt +0 -15
  484. package/dist/interf-ui/index.html +0 -1
  485. package/dist/interf-ui/index.txt +0 -20
  486. package/dist/packages/contracts/lib/preparation-paths.d.ts +0 -117
  487. package/dist/packages/contracts/lib/preparation-paths.js +0 -177
  488. package/dist/packages/engine/action-definitions.d.ts +0 -407
  489. package/dist/packages/engine/action-definitions.js +0 -1158
  490. package/dist/packages/engine/action-values.d.ts +0 -1
  491. package/dist/packages/engine/action-values.js +0 -1
  492. package/dist/packages/engine/agents/lib/args.d.ts +0 -4
  493. package/dist/packages/engine/agents/lib/args.js +0 -52
  494. package/dist/packages/engine/agents/lib/chart-guidance.d.ts +0 -1
  495. package/dist/packages/engine/agents/lib/chart-guidance.js +0 -8
  496. package/dist/packages/engine/agents/lib/constants.js +0 -28
  497. package/dist/packages/engine/agents/lib/logs.d.ts +0 -2
  498. package/dist/packages/engine/agents/lib/logs.js +0 -17
  499. package/dist/packages/engine/agents/lib/render.d.ts +0 -8
  500. package/dist/packages/engine/agents/lib/schema.d.ts +0 -8
  501. package/dist/packages/engine/agents/lib/schema.js +0 -7
  502. package/dist/packages/engine/agents/lib/shells.d.ts +0 -74
  503. package/dist/packages/engine/agents/lib/shells.js +0 -1052
  504. package/dist/packages/engine/agents/lib/verifiable-context-bootstrap.d.ts +0 -3
  505. package/dist/packages/engine/build/artifact-counts.d.ts +0 -1
  506. package/dist/packages/engine/build/billing-events.d.ts +0 -89
  507. package/dist/packages/engine/build/build-pipeline.js +0 -175
  508. package/dist/packages/engine/build/build-plan-runs.d.ts +0 -14
  509. package/dist/packages/engine/build/build-plan-runs.js +0 -31
  510. package/dist/packages/engine/build/build-stage-plan.d.ts +0 -16
  511. package/dist/packages/engine/build/build-stage-plan.js +0 -100
  512. package/dist/packages/engine/build/build-stage-runner.js +0 -94
  513. package/dist/packages/engine/build/build-target.js +0 -16
  514. package/dist/packages/engine/build/check-evaluator.js +0 -298
  515. package/dist/packages/engine/build/lib/schema.js +0 -316
  516. package/dist/packages/engine/build/reset.d.ts +0 -2
  517. package/dist/packages/engine/build/reset.js +0 -74
  518. package/dist/packages/engine/build/runtime-inventory.d.ts +0 -7
  519. package/dist/packages/engine/build/runtime-paths.d.ts +0 -8
  520. package/dist/packages/engine/build/runtime-paths.js +0 -26
  521. package/dist/packages/engine/build/runtime-runs.d.ts +0 -10
  522. package/dist/packages/engine/build/runtime-runs.js +0 -224
  523. package/dist/packages/engine/build/runtime.d.ts +0 -5
  524. package/dist/packages/engine/build/runtime.js +0 -4
  525. package/dist/packages/engine/build/source-files.d.ts +0 -46
  526. package/dist/packages/engine/build/source-files.js +0 -149
  527. package/dist/packages/engine/build/state-artifacts.d.ts +0 -9
  528. package/dist/packages/engine/build/state-artifacts.js +0 -14
  529. package/dist/packages/engine/build/state-health.d.ts +0 -4
  530. package/dist/packages/engine/build/state-io.d.ts +0 -11
  531. package/dist/packages/engine/build/state-io.js +0 -82
  532. package/dist/packages/engine/build/state-paths.d.ts +0 -5
  533. package/dist/packages/engine/build/state-paths.js +0 -16
  534. package/dist/packages/engine/build/state-view.d.ts +0 -5
  535. package/dist/packages/engine/build/state-view.js +0 -94
  536. package/dist/packages/engine/build/state.d.ts +0 -7
  537. package/dist/packages/engine/build/state.js +0 -12
  538. package/dist/packages/engine/build/validate-helpers.d.ts +0 -12
  539. package/dist/packages/engine/build/validate-helpers.js +0 -41
  540. package/dist/packages/engine/build/verifiable-context-paths.d.ts +0 -47
  541. package/dist/packages/engine/build/verifiable-context-paths.js +0 -121
  542. package/dist/packages/engine/build/verifiable-context-schema.d.ts +0 -21
  543. package/dist/packages/engine/build/verifiable-context-schema.js +0 -126
  544. package/dist/packages/engine/cloud-seams.d.ts +0 -115
  545. package/dist/packages/engine/cloud-seams.js +0 -84
  546. package/dist/packages/engine/index.d.ts +0 -22
  547. package/dist/packages/engine/index.js +0 -15
  548. package/dist/packages/engine/instance-paths.d.ts +0 -106
  549. package/dist/packages/engine/instance-paths.js +0 -171
  550. package/dist/packages/engine/lib/schema.d.ts +0 -6304
  551. package/dist/packages/engine/lib/schema.js +0 -730
  552. package/dist/packages/engine/native-run-handlers.d.ts +0 -25
  553. package/dist/packages/engine/preparation-store.d.ts +0 -105
  554. package/dist/packages/engine/preparation-store.js +0 -213
  555. package/dist/packages/engine/readiness-check-draft.d.ts +0 -20
  556. package/dist/packages/engine/readiness-check-draft.js +0 -111
  557. package/dist/packages/engine/requested-artifacts.d.ts +0 -5
  558. package/dist/packages/engine/routes.d.ts +0 -85
  559. package/dist/packages/engine/routes.js +0 -99
  560. package/dist/packages/engine/runtime-caches.d.ts +0 -76
  561. package/dist/packages/engine/runtime-caches.js +0 -191
  562. package/dist/packages/engine/runtime-proposal-helpers.d.ts +0 -35
  563. package/dist/packages/engine/runtime-proposal-helpers.js +0 -247
  564. package/dist/packages/engine/runtime.d.ts +0 -371
  565. package/dist/packages/engine/runtime.js +0 -2463
  566. package/dist/packages/engine/server.d.ts +0 -58
  567. package/dist/packages/engine/server.js +0 -1399
  568. package/dist/packages/engine/verify/readiness-check-run.d.ts +0 -82
  569. package/dist/packages/engine/verify/readiness-check-run.js +0 -265
  570. package/dist/packages/engine/verify/verify-paths.js +0 -61
  571. package/dist/packages/engine/verify/verify-sandbox.js +0 -88
  572. package/dist/packages/engine/verify/verify-specs.js +0 -114
  573. package/dist/packages/engine/verify/verify-targets.d.ts +0 -5
  574. package/dist/packages/engine/wire-schemas.d.ts +0 -547
  575. package/dist/packages/engine/wire-schemas.js +0 -59
  576. package/dist/packages/project/index.d.ts +0 -9
  577. package/dist/packages/project/interf-bootstrap.d.ts +0 -1
  578. package/dist/packages/project/interf-bootstrap.js +0 -1
  579. package/dist/packages/project/interf-scaffold.d.ts +0 -3
  580. package/dist/packages/project/interf-scaffold.js +0 -136
  581. package/dist/packages/project/interf.d.ts +0 -4
  582. package/dist/packages/project/interf.js +0 -3
  583. package/dist/packages/project/lib/schema.d.ts +0 -328
  584. package/dist/packages/project/lib/schema.js +0 -136
  585. package/dist/packages/project/preparation-entries.d.ts +0 -11
  586. package/dist/packages/project/preparation-entries.js +0 -49
  587. package/dist/packages/project/source-config.d.ts +0 -46
  588. package/dist/packages/project/source-config.js +0 -394
  589. package/dist/packages/project/source-folders.d.ts +0 -11
  590. package/public-repo/build-plans/interf-default/build/stages/shape/SKILL.md +0 -27
  591. package/public-repo/build-plans/interf-default/build/stages/structure/SKILL.md +0 -21
  592. package/public-repo/plugins/README.md +0 -9
  593. package/public-repo/plugins/interf/.claude-plugin/plugin.json +0 -21
  594. package/public-repo/plugins/interf/.mcp.json +0 -12
  595. package/public-repo/plugins/interf/README.md +0 -32
  596. package/public-repo/plugins/interf/skills/interf/SKILL.md +0 -376
  597. /package/dist/packages/{engine/agents/lib/types.js → runtime/actions/fields.js} +0 -0
  598. /package/dist/packages/{engine → runtime}/agents/lib/agents.d.ts +0 -0
  599. /package/dist/packages/{engine → runtime}/agents/lib/agents.js +0 -0
  600. /package/dist/packages/{engine → runtime}/agents/lib/execution.d.ts +0 -0
  601. /package/dist/packages/{engine → runtime}/agents/lib/preflight.d.ts +0 -0
  602. /package/dist/packages/{engine → runtime}/agents/lib/status.d.ts +0 -0
  603. /package/dist/packages/{engine/build/runtime-types.js → runtime/agents/lib/types.js} +0 -0
  604. /package/dist/packages/{engine/verify/verify-types.js → runtime/agents/providers/types.js} +0 -0
  605. /package/dist/packages/{engine → runtime}/agents/role-router.d.ts +0 -0
  606. /package/dist/packages/{engine → runtime}/build/build-execution.d.ts +0 -0
  607. /package/dist/packages/{engine → runtime}/build/build-execution.js +0 -0
  608. /package/dist/packages/{engine → runtime}/build/runtime-contracts.d.ts +0 -0
  609. /package/dist/packages/{engine → runtime}/build/runtime-prompt.d.ts +0 -0
  610. /package/dist/packages/{engine → runtime}/execution/adapters.d.ts +0 -0
  611. /package/dist/packages/{engine → runtime}/execution/adapters.js +0 -0
  612. /package/dist/packages/{engine → runtime}/execution/events.d.ts +0 -0
  613. /package/dist/packages/{engine → runtime}/execution/events.js +0 -0
  614. /package/dist/packages/{engine → runtime}/verify/verify-profile-presets.d.ts +0 -0
  615. /package/dist/packages/{engine → runtime}/verify/verify-profile-presets.js +0 -0
  616. /package/dist/packages/{engine → runtime}/verify/verify-types.d.ts +0 -0
@@ -0,0 +1,494 @@
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: source-backed summaries, knowledge notes, entrypoints, 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. Start with `home.md`. It is the primary agent entrypoint for this Context Graph.",
36
+ "2. Use the local native `interf-query` skill that Interf generated for this Context Graph.",
37
+ "3. Follow links from `home.md` into `knowledge/`, `summaries/`, `artifacts/`, traces, or Build Plan details.",
38
+ "4. Use `.interf/runtime/graph-manifest.json` for coverage metrics, stage summaries, entrypoints, and readiness.",
39
+ "5. Use `.interf/runtime/source-manifest.json` to follow graph-provided source references for exact quotes, table values, chart reads, and provenance-sensitive claims.",
40
+ "",
41
+ "## How this Context Graph works",
42
+ "",
43
+ "- The Build Plan defines the requested output contract this Context Graph implements on disk.",
44
+ "- `.interf/interf.json` records the selected Source binding and Project metadata.",
45
+ `- Build Plan seed: \`${buildPlanOriginSelected}\`.`,
46
+ ...(buildPlanLocalDraft
47
+ ? ["- 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."]
48
+ : []),
49
+ `- Selected Build Plan id: \`${buildPlanId}\`.`,
50
+ "- `.interf/build-plan/` is the local editable Build Plan package for this Context Graph.",
51
+ `- \`.interf/build-plan/${BUILD_PLAN_SCHEMA_FILE}\` is the deterministic requested output contract for this Context Graph.`,
52
+ "- `.interf/build-plan/improve/` is the editable source for Build Plan improvement loops.",
53
+ "- `.interf/build-plan/use/query/` is the editable source for the generated native query shell.",
54
+ "- `.interf/build-plan/build/stages/` defines stage-specific docs that Interf projects into native execution shells for automated runs.",
55
+ "- Native local query skills are generated under local agent skill directories such as `.claude/skills/` and `.codex/skills/`.",
56
+ "- `.interf/runtime/source-manifest.json` is the authoritative Source inventory recorded for this Context Graph.",
57
+ "- `.interf/runtime/graph-manifest.json` is the authoritative Context Graph manifest recorded for this build.",
58
+ "- `.interf/runtime/source-state.json` is a derived projection of the Source Manifest.",
59
+ `- Requested output contracts are declared in \`.interf/build-plan/${BUILD_PLAN_SCHEMA_FILE}\`.`,
60
+ ...artifactLines,
61
+ "- `.interf/runtime/` holds runtime artifacts written by Interf.",
62
+ "- `.interf/tests/` mirrors the latest saved benchmark/evaluation run and keeps detailed target runs plus preserved sandboxes.",
63
+ "- `.interf/tests/targets/` holds detailed source-files and context-graph target runs plus preserved benchmark sandboxes.",
64
+ "",
65
+ "## Manual query rules",
66
+ "",
67
+ "- Start from `home.md` before other Context Graph outputs or source drilldown.",
68
+ "- Use the generated native `interf-query` skill for manual querying. The editable source lives at `.interf/build-plan/use/query/SKILL.md`.",
69
+ "- Treat `.interf/` as Build Plan/runtime metadata, not answer evidence, unless explicitly asked to inspect Build Plan or benchmark history.",
70
+ "- Do not bypass the graph with ad hoc source browsing. Drill into Source only through graph-provided source references, traces, graph entrypoints, or recorded Source state.",
71
+ "- Use `.interf/runtime/source-manifest.json` to find source references for quotes, verification, ambiguity, or evidence the Context Graph does not expose well.",
72
+ "- 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.",
73
+ "- 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.",
74
+ "",
75
+ "## Commands",
76
+ "",
77
+ "```",
78
+ "interf build <project-id> build this Context Graph",
79
+ "interf benchmark run Q&A / fact-check evaluation questions against this Context Graph",
80
+ "interf status show deterministic health",
81
+ "```",
82
+ "",
83
+ "## Rules",
84
+ "",
85
+ "- Do not modify source files while answering from this Context Graph.",
86
+ "- Treat Context Graph notes as source-backed working context and routing, not a replacement for the underlying Source.",
87
+ "- When precision matters, verify against graph-cited source references before making a strong claim.",
88
+ "",
89
+ ].join("\n");
90
+ }
91
+ export function renderContextGraphQuerySkill() {
92
+ return [
93
+ "# Manual Query Loop",
94
+ "",
95
+ "This file is the editable authoring source for the generated native local `interf-query` skill.",
96
+ "",
97
+ "Default loop:",
98
+ "1. Read `.interf/build-plan/README.md` and this file first.",
99
+ "2. Read `home.md` first; it is the primary agent entrypoint.",
100
+ `3. Use the requested output contract declared in \`.interf/build-plan/${BUILD_PLAN_SCHEMA_FILE}\` and \`.interf/runtime/graph-manifest.json\` when you need to understand coverage, readiness, or prepared outputs.`,
101
+ "4. Follow at least one linked `knowledge/` or `summaries/` note when the answer depends on a claim, entity, timeline, comparison, or source-backed fact.",
102
+ "5. Use `.interf/runtime/source-manifest.json` and note source refs to follow graph-provided source references for direct quotes, exact values, visual/table verification, and provenance-sensitive claims.",
103
+ "",
104
+ "Answering rule:",
105
+ "- do not modify source files while answering",
106
+ "- treat the Build Plan as the Context Graph contract and use its graph resources as the working retrieval surface",
107
+ "- start from `home.md`; treat entrypoints and generated graph files as routing and source-evidence maps, not as a replacement dataset",
108
+ "- use the Context Graph as a knowledge map over the Source, not as a raw-source replacement",
109
+ "- do not bypass the graph with ad hoc source browsing; source drilldown must follow graph-provided source references, traces, graph entrypoints, or the recorded Source Manifest",
110
+ "- record the entrypoint and linked `knowledge/` or `summaries/` notes you used when a trace log is requested",
111
+ "- say explicitly when an answer depends on approximation, bounded inference, or a source re-check",
112
+ "- when exact wording, table values, chart positions, visual ranges, or provenance matter, follow the cited source reference before making a strong claim",
113
+ "- use source references to confirm source page, metric family, visual series, axis/range, period, unit, provenance, or exact wording",
114
+ "- do not invent navigation or note structure beyond what this Build Plan declares",
115
+ "- 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 output contract; do not present a weak graph output as ready",
116
+ "",
117
+ "You can edit this file to bias manual question-answering behavior for this Context Graph.",
118
+ "",
119
+ ].join("\n");
120
+ }
121
+ export function renderSourceFilesTestAgents() {
122
+ const chartNotes = CHART_APPROXIMATION_NOTES.map((note) => `- ${note}`);
123
+ return [
124
+ "# Source Files Test Shell",
125
+ "",
126
+ "This is an isolated source-files benchmark shell generated by Interf.",
127
+ "There is no Context Graph in this shell.",
128
+ "",
129
+ "## How to use this shell",
130
+ "",
131
+ "1. Read this file first.",
132
+ "2. Use the local native `interf-query` skill available in this shell.",
133
+ "3. Read `runtime/source-manifest.json` and use only the listed source references.",
134
+ "",
135
+ "## Rules",
136
+ "",
137
+ "- Answer only from source files listed in `runtime/source-manifest.json`.",
138
+ "- There is no Context Graph here, so do not assume any generated graph outputs exist.",
139
+ "- Do not treat hidden runtime files or benchmark artifacts as evidence.",
140
+ ...chartNotes,
141
+ "- Write the requested answer and trace files, then stop.",
142
+ "",
143
+ ].join("\n");
144
+ }
145
+ export function renderSourceFilesTestQuerySkill() {
146
+ const chartNotes = CHART_APPROXIMATION_NOTES.map((note, index) => `${index + 3}. ${note}`);
147
+ return [
148
+ "---",
149
+ "name: interf-query",
150
+ "description: >",
151
+ " Native local query skill for an Interf source-files benchmark shell. Use it only",
152
+ " to answer source-files benchmark questions from `runtime/source-manifest.json` references.",
153
+ "---",
154
+ "",
155
+ "# Interf Source Files Test Query",
156
+ "",
157
+ "This is the native local query skill for an isolated source-files benchmark shell.",
158
+ "",
159
+ "Loop:",
160
+ "1. Read `runtime/source-manifest.json`.",
161
+ "2. Verify exact claims against the listed source locators before making a strong claim.",
162
+ ...chartNotes,
163
+ "8. Do not rely on context-graph artifacts because they do not exist in this shell.",
164
+ "",
165
+ ].join("\n");
166
+ }
167
+ export function readContextGraphQuerySkillSource(contextGraphPath) {
168
+ const filePath = contextGraphQuerySkillSourcePath(contextGraphPath);
169
+ if (!existsSync(filePath)) {
170
+ 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.`);
171
+ }
172
+ return readFileSync(filePath, "utf8").trim();
173
+ }
174
+ export function renderStageExecutionAgents(contextGraphName, buildPlanId, stage) {
175
+ return [
176
+ `# ${contextGraphName} — ${stage.label} Execution Shell`,
177
+ "",
178
+ "This is a replayable stage-execution shell generated by Interf.",
179
+ "It contains the stage prompt, logs, local agent instructions, skill, contract, inputs, output mounts, and validator for this stage.",
180
+ "",
181
+ "## Start Here",
182
+ "",
183
+ "1. Read `runtime/stage-contract.json` now.",
184
+ "2. Read `runtime/project.json` now.",
185
+ "3. Read `runtime/source-manifest.json`, `runtime/stage-inputs.json`, and `runtime/expected-inputs.json` now.",
186
+ "4. Read `runtime/paths.json` now.",
187
+ "5. Use the local native `interf-stage` skill now.",
188
+ `6. Execute only the current stage: \`${stage.id}\` (${stage.label}).`,
189
+ "7. Write `runtime/reviewed-inputs.json` before DONE.",
190
+ "",
191
+ "## Shell ABI",
192
+ "",
193
+ "- `inputs/<artifact-id>/` = read mounts for the current stage.",
194
+ "- `outputs/<artifact-id>/` = write mounts for the current stage.",
195
+ "- For file outputs, `runtime/paths.json` points to the exact file path inside those mount roots.",
196
+ "- `runtime/project.json` = Project id and task intent for this stage.",
197
+ "- `runtime/source-manifest.json` = authoritative Source inventory for this run.",
198
+ "- `runtime/source-state.json` = derived projection of manifest source references.",
199
+ "- `runtime/stage-inputs.json` = exact manifest source references assigned to this stage.",
200
+ "- `runtime/expected-inputs.json` = required inputs this stage must review, use, or mark missing/blocked/not relevant.",
201
+ "- `runtime/reviewed-inputs.json` = coverage decisions this stage writes before DONE.",
202
+ "- `runtime/check-stage.mjs` = shell-local deterministic verifier for the current stage outputs.",
203
+ "- `runtime/workspace.json` = shell map for retrospective inspection and replay.",
204
+ "- `logs/` = prompt, event stream, and status log for this agent session.",
205
+ "- declared output paths are also projected at the shell root so Build Plan-relative contract paths stay valid.",
206
+ "- `runtime/` = stage contract and machine-readable path map for this shell.",
207
+ "- `build-plan/` = Build Plan metadata, `build-plan.schema.json`, and docs for the current stage only.",
208
+ "",
209
+ "## Boundaries",
210
+ "",
211
+ `- Build Plan: \`${buildPlanId}\`.`,
212
+ `- Contract type: \`${stage.contractType}\`.`,
213
+ "- This shell has its own AGENTS/CLAUDE/native skills. It is the runnable workspace for this stage.",
214
+ "- The context-graph root itself is not linked into this shell.",
215
+ "- Do not switch into query mode or act like a user-facing assistant.",
216
+ "- Use `runtime/project.json` and `runtime/stage-contract.json.project.intent` as the task focus whenever this stage writes task-aware summaries, knowledge, entrypoints, or requested outputs.",
217
+ "- Use `runtime/expected-inputs.json` as the coverage contract. Every required expected input must be reviewed or marked missing, blocked, or not relevant with a reason.",
218
+ "- Do not modify files under `inputs/` unless the same Artifact is also mounted under `outputs/`.",
219
+ "",
220
+ "## Current Stage Outputs",
221
+ "",
222
+ `- reads: ${stage.reads.join(", ")}`,
223
+ `- writes: ${stage.writes.join(", ")}`,
224
+ "",
225
+ "## Goal",
226
+ "",
227
+ "- complete the current stage",
228
+ "- honor the deterministic contract",
229
+ "- write outputs through the declared Artifact mounts",
230
+ "- write `runtime/reviewed-inputs.json` with one decision per required expected input",
231
+ "- run `node runtime/check-stage.mjs` and fix failures until it prints `VALID:`",
232
+ "- stop when the stage is complete",
233
+ "",
234
+ "## Reviewed Inputs File",
235
+ "",
236
+ "Write this JSON shape at `runtime/reviewed-inputs.json`:",
237
+ "",
238
+ "```json",
239
+ "{",
240
+ " \"kind\": \"interf-stage-reviewed-inputs\",",
241
+ " \"version\": 1,",
242
+ " \"generated_at\": \"2026-01-01T00:00:00.000Z\",",
243
+ ` \"stage_id\": \"${stage.id}\",`,
244
+ " \"reviewed\": [",
245
+ " {",
246
+ " \"resource_id\": \"copy-one-id-from-runtime-expected-inputs\",",
247
+ " \"decision\": \"used\",",
248
+ " \"source_refs\": [\"source-or-note-ref\"]",
249
+ " }",
250
+ " ]",
251
+ "}",
252
+ "```",
253
+ "",
254
+ "Allowed decisions: `used`, `reviewed`, `missing`, `blocked`, `not-relevant`. Missing, blocked, and not-relevant decisions require a concrete `reason`.",
255
+ "",
256
+ ].join("\n");
257
+ }
258
+ export function renderStageExecutionSkill(stage, stageBuildPlanDoc) {
259
+ return [
260
+ "---",
261
+ "name: interf-stage",
262
+ "description: >",
263
+ ` Native local execution skill for the ${stage.label} stage in this`,
264
+ " Interf run. Use it only inside an automated stage execution shell.",
265
+ "---",
266
+ "",
267
+ `# Interf Stage Execution — ${stage.label}`,
268
+ "",
269
+ "This local native skill exists for automated Interf stage execution.",
270
+ "Read `runtime/stage-contract.json` first.",
271
+ "Then read `runtime/project.json`, `runtime/source-manifest.json`, `runtime/stage-inputs.json`, `runtime/expected-inputs.json`, and `runtime/paths.json`.",
272
+ "Use the assigned source references and the mounted `inputs/` and `outputs/` requested outputs for this stage.",
273
+ "Use Project intent and the expected input coverage file when this stage writes task-aware summaries, knowledge, entrypoints, or requested outputs.",
274
+ "Write `runtime/reviewed-inputs.json` with kind `interf-stage-reviewed-inputs`, this stage id, and one decision per required expected input before DONE.",
275
+ "Allowed decisions are `used`, `reviewed`, `missing`, `blocked`, and `not-relevant`; missing, blocked, and not-relevant decisions require a concrete `reason`.",
276
+ "Before emitting DONE, run `node runtime/check-stage.mjs` from the shell root and fix outputs until it prints `VALID:`.",
277
+ "Do not switch into manual query mode.",
278
+ "",
279
+ "## Current Stage",
280
+ "",
281
+ `- id: \`${stage.id}\``,
282
+ `- label: ${stage.label}`,
283
+ `- contract type: \`${stage.contractType}\``,
284
+ `- reads: ${stage.reads.join(", ")}`,
285
+ `- writes: ${stage.writes.join(", ")}`,
286
+ `- editable source: \`build-plan/build/stages/${stage.skillDir}/SKILL.md\``,
287
+ "",
288
+ ...(stageBuildPlanDoc
289
+ ? [
290
+ "## Stage Build Plan",
291
+ "",
292
+ stageBuildPlanDoc,
293
+ "",
294
+ ]
295
+ : []),
296
+ ].join("\n");
297
+ }
298
+ export function renderContextGraphQueryNativeSkill(querySkillContent) {
299
+ return [
300
+ "---",
301
+ "name: interf-query",
302
+ "description: >",
303
+ " Native local query skill for a Context Graph built by Interf.",
304
+ " Use it for manual questions against a Context Graph and source references.",
305
+ "---",
306
+ "",
307
+ "# Interf Query",
308
+ "",
309
+ "This is the native local query skill for a Context Graph built by Interf.",
310
+ "Use it when reading this Context Graph manually.",
311
+ "Editable source: `.interf/build-plan/use/query/SKILL.md`.",
312
+ "",
313
+ querySkillContent.trim(),
314
+ "",
315
+ ].join("\n");
316
+ }
317
+ export function renderClaudeBootstrap(content) {
318
+ return [
319
+ "<!-- Generated mirror of AGENTS.md. Interf may rewrite this file. -->",
320
+ "",
321
+ content.trimEnd(),
322
+ "",
323
+ ].join("\n");
324
+ }
325
+ export function renderBuildPlanAuthoringAgents(options) {
326
+ return [
327
+ `# ${options.label} — Build Plan Authoring Shell`,
328
+ "",
329
+ "This is an automated Build Plan authoring shell generated by Interf.",
330
+ "It exists to create one standalone Build Plan package from the Source, Project intent, requested outputs, coverage metrics, and evidence requirements in this task.",
331
+ "",
332
+ "## Start Here",
333
+ "",
334
+ "1. Read `runtime/authoring-context.json` now.",
335
+ `2. Read \`build-plan/README.md\`, \`build-plan/build-plan.json\`, and \`build-plan/${BUILD_PLAN_SCHEMA_FILE}\` now.`,
336
+ "3. Read `runtime/source-locator.json` and inspect Source through your own tools when needed.",
337
+ "4. Use the local native `interf-build-plan-author` skill now.",
338
+ "",
339
+ "## Boundaries",
340
+ "",
341
+ `- New Build Plan id: \`${options.buildPlanId}\`.`,
342
+ "- Authoring mode: from scratch.",
343
+ ...(options.referenceBuildPlanId
344
+ ? [`- Reference Build Plan id: \`${options.referenceBuildPlanId}\` (context only, not a seed).`]
345
+ : []),
346
+ "- Edit only files under `build-plan/`.",
347
+ "- Do not edit source artifacts.",
348
+ "- Keep the Build Plan package valid for the current build API and `build-plan.schema.json`.",
349
+ "- Use kebab-case ids everywhere: stage ids, skill_dir values, requested output ids, reads/writes values, and package ids. Never use underscores.",
350
+ "- Start from the saved Project intent. Build Plans operationalize that intent into summaries, task-aware knowledge, home.md, task entrypoint notes, StageManifest coverage, and GraphManifest metrics.",
351
+ "- Treat `checks` from `runtime/authoring-context.json` as optional context, not the primary product surface.",
352
+ "- Design coverage metrics first: expected Source units, reviewed inputs, produced outputs, entrypoints, and missing/blocked/not-relevant coverage decisions.",
353
+ "- Preserve the file-based Context Graph architecture: `summaries/` for source coverage, `knowledge/` for task-aware navigation/drilldown, and `artifacts/` for focused task entrypoint notes.",
354
+ "- `home.md` is the primary downstream agent entrypoint. Notes under `artifacts/` supplement it and route to original Source refs for exact claims.",
355
+ "- For tasks that depend on charts, tables, images, or other visual evidence, requested outputs 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.",
356
+ "- Do not let structural diagnostics such as file existence, frontmatter keys, or phrase presence stand in for evidence fidelity. Stage docs and output descriptions must require the semantic fields the agent task needs.",
357
+ "- If visual evidence has no printed data labels, require a bounded read at source granularity and unresolved-semantics handling instead of pseudo-exact precision.",
358
+ "- Preserve `backed_by_artifact_ids` and make them match requested output ids.",
359
+ "- When `artifact_requirements[]` is non-empty, treat it as the legacy storage field for required requested outputs; copy every requirement's `id`, `shape`, and `checks[]` exactly into the requested output contract; do not rename or move required outputs.",
360
+ "- Put minimal deterministic validation on requested output `checks[]`; StageManifest and GraphManifest coverage are the primary proof surface.",
361
+ "- Use `runtime/authoring-context.json.check_param_contracts` as the exact parameter contract for each check kind.",
362
+ "- Give every deterministic check a human-readable `description`; the UI uses evaluator details only as drilldown.",
363
+ "- Prefer direct file-reading and search tools over shell commands for routine file inspection.",
364
+ "- Do not use shell helpers like `cat`, `sed`, `ls`, or `find` when a native read/search tool can inspect the same files.",
365
+ "",
366
+ "## Goal",
367
+ "",
368
+ "- produce one standalone Build Plan package tuned to the Source, Project intent, requested outputs, and coverage metrics in this task",
369
+ "- replace the neutral scaffold topology with the stage flow this agent task needs",
370
+ "- define requested outputs and stage docs so Interf can record StageManifests, GraphManifest primary metrics, evidence, and traces",
371
+ "- satisfy every `artifact_requirements[]` entry from `runtime/authoring-context.json` when entries are present; this is the legacy storage field for required requested outputs",
372
+ "- otherwise treat `requested_artifacts[]` as the legacy storage field for requested outputs/entrypoints and draft requested output contracts from every entry; do not ignore or truncate them",
373
+ "- preserve deterministic stage and requested output contracts",
374
+ "- stop once the Build Plan edits are complete",
375
+ "",
376
+ ].join("\n");
377
+ }
378
+ export function renderBuildPlanAuthoringSkill() {
379
+ return [
380
+ "---",
381
+ "name: interf-build-plan-author",
382
+ "description: >",
383
+ " Native local Build Plan authoring skill for an automated Interf Build Plan draft run.",
384
+ "---",
385
+ "",
386
+ "# Interf Build Plan Authoring",
387
+ "",
388
+ "Read `runtime/authoring-context.json` first.",
389
+ "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.",
390
+ "",
391
+ "Rules:",
392
+ "- edit only `build-plan/`",
393
+ `- keep \`build-plan.json\`, \`${BUILD_PLAN_SCHEMA_FILE}\`, and any changed stage docs aligned`,
394
+ "- treat `checks` from `runtime/authoring-context.json` as optional context, not the primary product surface",
395
+ "- design coverage metrics first: expected inputs, reviewed inputs, produced outputs, entrypoints, and missing coverage decisions",
396
+ "- preserve the file-based Context Graph architecture: `summaries/` for source coverage, `knowledge/` for task-aware navigation/drilldown, and `artifacts/` for focused task entrypoint notes",
397
+ "- make `home.md` the primary downstream agent entrypoint; route to original Source refs for exact claims and do not present generated notes as the source of truth",
398
+ "- 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",
399
+ "- 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",
400
+ "- if visual evidence has no printed data labels, preserve a bounded read at source granularity and unresolved-semantics handling instead of pseudo-exact precision",
401
+ "- preserve `backed_by_artifact_ids` in the root Build Plan `brief` and make them match requested output ids",
402
+ "- keep `purpose` limited to its documented fields; never add `purpose.brief` or other ad-hoc nested promise fields",
403
+ "- when `artifact_requirements[]` is non-empty, treat it as the legacy storage field for required requested outputs; copy every requirement's `id`, `shape`, and `checks[]` exactly into the requested output contract; do not rename or move required outputs",
404
+ "- keep deterministic validation on requested output `checks[]` minimal; StageManifest and GraphManifest coverage are the primary proof surface",
405
+ "- do not edit the root `brief`; the service restores it from Project intent, requested outputs, diagnostic checks, and Source context after every edit attempt",
406
+ "- use only CheckKind values listed in `runtime/authoring-context.json`; do not invent aliases",
407
+ "- use `runtime/authoring-context.json.check_param_contracts` as the exact parameter contract for each check kind",
408
+ "- give every deterministic check a human-readable `description`; the UI uses evaluator details only as drilldown",
409
+ "- keep deterministic checks aligned with produced outputs; use stage docs and StageManifest coverage to describe the output contract without requiring exact source-specific phrases in the stage docs",
410
+ "- satisfy every `artifact_requirements[]` entry from `runtime/authoring-context.json` when entries are present; this is the legacy storage field for required requested outputs",
411
+ "- otherwise treat `requested_artifacts[]` as the legacy storage field for requested outputs/entrypoints and draft requested output contracts from every entry; do not ignore or truncate them",
412
+ "- design the stage flow from the source data, agent task, and evidence brief",
413
+ "- use kebab-case ids everywhere: stage ids, skill_dir values, requested output ids, reads/writes values, and package ids; never use underscores",
414
+ "- replace the placeholder `prepare` stage unless that exact stage is truly the final Build Plan",
415
+ "- keep the package standalone; do not introduce runtime inheritance or hidden source-package assumptions",
416
+ "- do not introduce wikilinks unless the Build Plan also creates the target note by exact basename or explicit relative path",
417
+ "- respect stage boundaries: do not make structure outputs link to notes or graph routes first created by later stages",
418
+ "- prefer conservative routing changes over speculative note sprawl",
419
+ "- prefer direct file-reading and search tools over shell commands for routine file inspection",
420
+ "- do not use shell helpers like `cat`, `sed`, `ls`, or `find` when a native read/search tool can inspect the same files",
421
+ "- do not hardcode benchmark expected answers into Build Plan docs",
422
+ "- do not edit source artifacts",
423
+ "",
424
+ ].join("\n");
425
+ }
426
+ export function renderBuildPlanImprovementAgents(contextGraphName, buildPlanId, loopIndex) {
427
+ return [
428
+ `# ${contextGraphName} — Build Plan Improvement Shell`,
429
+ "",
430
+ "This is an automated Build Plan improvement shell generated by Interf.",
431
+ "It exists to review failed Build/benchmark runs and edit the Build Plan package for the next variation.",
432
+ "",
433
+ "## Start Here",
434
+ "",
435
+ "1. Read `runtime/loop-context.json` now.",
436
+ `2. Read \`build-plan/README.md\`, \`build-plan/build-plan.json\`, and \`build-plan/${BUILD_PLAN_SCHEMA_FILE}\` now.`,
437
+ "3. Read `build-plan/improve/SKILL.md` now.",
438
+ "4. Use the local native `interf-build-plan-improver` skill now.",
439
+ "",
440
+ "## Boundaries",
441
+ "",
442
+ `- Build Plan: \`${buildPlanId}\`.`,
443
+ `- Improvement loop: ${loopIndex}.`,
444
+ "- Edit only files under `build-plan/`.",
445
+ "- Do not edit checks, benchmark specs, source files, or generated context outputs.",
446
+ "- Review `home.md`, `knowledge/`, `summaries/`, `.interf/runtime/graph-manifest.json`, stage manifests, and benchmark/runtime evidence under `artifacts/`.",
447
+ "- Keep the Build Plan package valid for the current build API and `build-plan.schema.json`.",
448
+ "- Keep deterministic validation on Artifact `checks[]` minimal and aligned with produced outputs; use stage docs and manifests for coverage proof.",
449
+ "",
450
+ "## Goal",
451
+ "",
452
+ "- create a better Build Plan variation for this kind of agent task",
453
+ "- preserve deterministic context-graph structure",
454
+ "- stop after the Build Plan edits are complete",
455
+ "",
456
+ ].join("\n");
457
+ }
458
+ export function readBuildPlanImprovementDoc(contextGraphPath) {
459
+ const path = join(improvementBuildPlanDocsPath(contextGraphPath), "SKILL.md");
460
+ if (!existsSync(path))
461
+ return null;
462
+ return readFileSync(path, "utf8").trim();
463
+ }
464
+ export function renderBuildPlanImprovementSkill(buildPlanId, loopIndex, improvementDoc) {
465
+ return [
466
+ "---",
467
+ "name: interf-build-plan-improver",
468
+ "description: >",
469
+ " Native local Build Plan improvement skill for this Interf run.",
470
+ " Use it only inside an automated Build Plan improvement shell.",
471
+ "---",
472
+ "",
473
+ `# Interf Build Plan Improvement — ${buildPlanId}`,
474
+ "",
475
+ "This local native skill exists for automated Build Plan improvement loops.",
476
+ "Read `runtime/loop-context.json` first.",
477
+ "Then review the linked Build Plan package, `artifacts/context-graph-view/`, preserved stage shells, runtime logs, and saved benchmark outputs before editing `build-plan/`.",
478
+ "",
479
+ "## Current Loop",
480
+ "",
481
+ `- Build Plan: \`${buildPlanId}\``,
482
+ `- loop index: ${loopIndex}`,
483
+ "- editable source: `build-plan/improve/SKILL.md`",
484
+ "",
485
+ ...(improvementDoc
486
+ ? [
487
+ "## Improvement Guidance",
488
+ "",
489
+ improvementDoc,
490
+ "",
491
+ ]
492
+ : []),
493
+ ].join("\n");
494
+ }
@@ -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
+ }