@interf/compiler 0.22.2 → 0.33.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (575) hide show
  1. package/README.md +175 -234
  2. package/dist/bin-mcp.d.ts +2 -0
  3. package/dist/bin-mcp.js +63 -0
  4. package/dist/bin-runtime.d.ts +2 -0
  5. package/dist/bin-runtime.js +111 -0
  6. package/dist/cli/commands/agents.js +4 -4
  7. package/dist/cli/commands/auth.d.ts +20 -0
  8. package/dist/cli/commands/auth.js +161 -0
  9. package/dist/cli/commands/benchmark.d.ts +10 -0
  10. package/dist/cli/commands/benchmark.js +88 -0
  11. package/dist/cli/commands/build-plan.js +95 -103
  12. package/dist/cli/commands/build.d.ts +1 -1
  13. package/dist/cli/commands/build.js +16 -15
  14. package/dist/cli/commands/doctor.js +3 -3
  15. package/dist/cli/commands/graphs.d.ts +2 -0
  16. package/dist/cli/commands/graphs.js +199 -0
  17. package/dist/cli/commands/login.js +4 -6
  18. package/dist/cli/commands/logout.js +1 -1
  19. package/dist/cli/commands/mcp.d.ts +3 -2
  20. package/dist/cli/commands/mcp.js +721 -204
  21. package/dist/cli/commands/project.d.ts +2 -0
  22. package/dist/cli/commands/project.js +202 -0
  23. package/dist/cli/commands/reset.d.ts +1 -1
  24. package/dist/cli/commands/reset.js +10 -10
  25. package/dist/cli/commands/runs.js +52 -26
  26. package/dist/cli/commands/runtime.d.ts +24 -0
  27. package/dist/cli/commands/runtime.js +373 -0
  28. package/dist/cli/commands/status.d.ts +1 -0
  29. package/dist/cli/commands/status.js +33 -22
  30. package/dist/cli/commands/traces.d.ts +2 -0
  31. package/dist/cli/commands/traces.js +125 -0
  32. package/dist/cli/commands/wizard.js +155 -150
  33. package/dist/cli/index.d.ts +7 -4
  34. package/dist/cli/index.js +13 -7
  35. package/dist/index.d.ts +2 -2
  36. package/dist/index.js +2 -2
  37. package/dist/packages/build-plans/authoring/brief.d.ts +517 -0
  38. package/dist/packages/build-plans/authoring/brief.js +89 -0
  39. package/dist/packages/build-plans/authoring/build-plan-authoring.d.ts +10 -10
  40. package/dist/packages/build-plans/authoring/build-plan-authoring.js +66 -26
  41. package/dist/packages/build-plans/authoring/build-plan-edit-session.d.ts +1 -1
  42. package/dist/packages/build-plans/authoring/build-plan-edit-session.js +8 -2
  43. package/dist/packages/build-plans/authoring/build-plan-improvement.d.ts +9 -6
  44. package/dist/packages/build-plans/authoring/build-plan-improvement.js +39 -42
  45. package/dist/packages/build-plans/authoring/lib/build-plan-edit-utils.js +7 -7
  46. package/dist/packages/build-plans/build-plan-resolution.d.ts +1 -1
  47. package/dist/packages/build-plans/build-plan-resolution.js +3 -3
  48. package/dist/packages/build-plans/index.d.ts +1 -1
  49. package/dist/packages/build-plans/index.js +1 -1
  50. package/dist/packages/build-plans/package/build-plan-definitions.d.ts +14 -12
  51. package/dist/packages/build-plans/package/build-plan-definitions.js +40 -39
  52. package/dist/packages/build-plans/package/build-plan-helpers.d.ts +3 -2
  53. package/dist/packages/build-plans/package/build-plan-helpers.js +27 -13
  54. package/dist/packages/build-plans/package/build-plan-review-paths.d.ts +5 -5
  55. package/dist/packages/build-plans/package/build-plan-review-paths.js +15 -15
  56. package/dist/packages/build-plans/package/build-plan-stage-runner.d.ts +4 -4
  57. package/dist/packages/build-plans/package/build-plan-stage-runner.js +22 -11
  58. package/dist/packages/build-plans/package/builtin-build-plan.d.ts +5 -6
  59. package/dist/packages/build-plans/package/builtin-build-plan.js +7 -8
  60. package/dist/packages/build-plans/package/context-interface.d.ts +11 -9
  61. package/dist/packages/build-plans/package/context-interface.js +14 -33
  62. package/dist/packages/build-plans/package/interf-build-plan-package.d.ts +6 -17
  63. package/dist/packages/build-plans/package/interf-build-plan-package.js +56 -52
  64. package/dist/packages/build-plans/package/local-build-plans.d.ts +12 -10
  65. package/dist/packages/build-plans/package/local-build-plans.js +56 -31
  66. package/dist/packages/build-plans/package/user-build-plans.js +1 -1
  67. package/dist/packages/contracts/index.d.ts +4 -2
  68. package/dist/packages/contracts/index.js +2 -1
  69. package/dist/packages/contracts/lib/project-paths.d.ts +137 -0
  70. package/dist/packages/contracts/lib/project-paths.js +211 -0
  71. package/dist/packages/contracts/lib/project-schema.d.ts +160 -0
  72. package/dist/packages/contracts/lib/project-schema.js +113 -0
  73. package/dist/packages/contracts/lib/schema.d.ts +739 -80
  74. package/dist/packages/contracts/lib/schema.js +410 -75
  75. package/dist/packages/contracts/utils/parse.js +67 -0
  76. package/dist/packages/projects/index.d.ts +6 -0
  77. package/dist/packages/{project → projects}/index.js +0 -3
  78. package/dist/packages/{project → projects}/interf-detect.d.ts +12 -12
  79. package/dist/packages/{project → projects}/interf-detect.js +56 -50
  80. package/dist/packages/projects/interf.d.ts +2 -0
  81. package/dist/packages/projects/interf.js +1 -0
  82. package/dist/packages/projects/lib/schema.d.ts +79 -0
  83. package/dist/packages/projects/lib/schema.js +89 -0
  84. package/dist/packages/projects/source-config.d.ts +58 -0
  85. package/dist/packages/projects/source-config.js +352 -0
  86. package/dist/packages/projects/source-folders.d.ts +11 -0
  87. package/dist/packages/{project → projects}/source-folders.js +26 -26
  88. package/dist/packages/{engine → runtime}/action-planner.d.ts +1 -1
  89. package/dist/packages/{engine → runtime}/action-planner.js +20 -22
  90. package/dist/packages/runtime/action-values.d.ts +1 -0
  91. package/dist/packages/runtime/action-values.js +1 -0
  92. package/dist/packages/runtime/actions/errors.d.ts +2 -0
  93. package/dist/packages/runtime/actions/errors.js +12 -0
  94. package/dist/packages/runtime/actions/fields.d.ts +82 -0
  95. package/dist/packages/runtime/actions/form-builders.d.ts +14 -0
  96. package/dist/packages/runtime/actions/form-builders.js +619 -0
  97. package/dist/packages/runtime/actions/form-validators.d.ts +8 -0
  98. package/dist/packages/runtime/actions/form-validators.js +128 -0
  99. package/dist/packages/runtime/actions/helpers.d.ts +11 -0
  100. package/dist/packages/runtime/actions/helpers.js +80 -0
  101. package/dist/packages/runtime/actions/index.d.ts +8 -0
  102. package/dist/packages/runtime/actions/index.js +11 -0
  103. package/dist/packages/runtime/actions/registry.d.ts +64 -0
  104. package/dist/packages/runtime/actions/registry.js +62 -0
  105. package/dist/packages/runtime/actions/requests.d.ts +45 -0
  106. package/dist/packages/runtime/actions/requests.js +158 -0
  107. package/dist/packages/runtime/actions/schemas.d.ts +154 -0
  108. package/dist/packages/runtime/actions/schemas.js +36 -0
  109. package/dist/packages/runtime/agent-handoff.d.ts +11 -0
  110. package/dist/packages/runtime/agent-handoff.js +101 -0
  111. package/dist/packages/{engine → runtime}/agents/index.d.ts +1 -2
  112. package/dist/packages/{engine → runtime}/agents/index.js +1 -2
  113. package/dist/packages/runtime/agents/lib/args.d.ts +14 -0
  114. package/dist/packages/runtime/agents/lib/args.js +24 -0
  115. package/dist/packages/{engine → runtime}/agents/lib/constants.d.ts +4 -1
  116. package/dist/packages/runtime/agents/lib/constants.js +13 -0
  117. package/dist/packages/runtime/agents/lib/context-graph-bootstrap.d.ts +3 -0
  118. package/dist/packages/{engine/agents/lib/verifiable-context-bootstrap.js → runtime/agents/lib/context-graph-bootstrap.js} +5 -6
  119. package/dist/packages/{engine → runtime}/agents/lib/detection.d.ts +5 -0
  120. package/dist/packages/{engine → runtime}/agents/lib/detection.js +16 -7
  121. package/dist/packages/{engine → runtime}/agents/lib/execution-profile.js +8 -14
  122. package/dist/packages/{engine → runtime}/agents/lib/execution.js +14 -4
  123. package/dist/packages/{engine → runtime}/agents/lib/preflight.js +15 -13
  124. package/dist/packages/{engine → runtime}/agents/lib/render.js +4 -4
  125. package/dist/packages/runtime/agents/lib/shell-fs.d.ts +18 -0
  126. package/dist/packages/runtime/agents/lib/shell-fs.js +190 -0
  127. package/dist/packages/runtime/agents/lib/shell-paths.d.ts +16 -0
  128. package/dist/packages/runtime/agents/lib/shell-paths.js +63 -0
  129. package/dist/packages/runtime/agents/lib/shell-projection.d.ts +25 -0
  130. package/dist/packages/runtime/agents/lib/shell-projection.js +314 -0
  131. package/dist/packages/runtime/agents/lib/shell-templates.d.ts +30 -0
  132. package/dist/packages/runtime/agents/lib/shell-templates.js +452 -0
  133. package/dist/packages/runtime/agents/lib/shell-workspace.d.ts +17 -0
  134. package/dist/packages/runtime/agents/lib/shell-workspace.js +70 -0
  135. package/dist/packages/runtime/agents/lib/shells.d.ts +63 -0
  136. package/dist/packages/runtime/agents/lib/shells.js +383 -0
  137. package/dist/packages/{engine → runtime}/agents/lib/user-config.d.ts +8 -2
  138. package/dist/packages/{engine → runtime}/agents/lib/user-config.js +8 -2
  139. package/dist/packages/runtime/agents/providers/claude-code.d.ts +13 -0
  140. package/dist/packages/runtime/agents/providers/claude-code.js +45 -0
  141. package/dist/packages/runtime/agents/providers/codex.d.ts +17 -0
  142. package/dist/packages/runtime/agents/providers/codex.js +64 -0
  143. package/dist/packages/runtime/agents/providers/cursor.d.ts +9 -0
  144. package/dist/packages/runtime/agents/providers/cursor.js +24 -0
  145. package/dist/packages/runtime/agents/providers/index.d.ts +9 -0
  146. package/dist/packages/runtime/agents/providers/index.js +31 -0
  147. package/dist/packages/runtime/agents/providers/types.d.ts +50 -0
  148. package/dist/packages/{engine → runtime}/agents/registry.d.ts +13 -2
  149. package/dist/packages/{engine → runtime}/agents/registry.js +48 -10
  150. package/dist/packages/{engine → runtime}/agents/role-executors.d.ts +1 -1
  151. package/dist/packages/{engine → runtime}/agents/role-executors.js +7 -6
  152. package/dist/packages/{engine → runtime}/agents/role-router.js +7 -5
  153. package/dist/packages/runtime/auth/account-context.d.ts +52 -0
  154. package/dist/packages/runtime/auth/account-context.js +68 -0
  155. package/dist/packages/runtime/auth/auth-flow.d.ts +73 -0
  156. package/dist/packages/runtime/auth/auth-flow.js +189 -0
  157. package/dist/packages/runtime/auth/jwt-validator.d.ts +58 -0
  158. package/dist/packages/runtime/auth/jwt-validator.js +86 -0
  159. package/dist/packages/runtime/auth/keychain.d.ts +35 -0
  160. package/dist/packages/runtime/auth/keychain.js +85 -0
  161. package/dist/packages/runtime/auth/session-store.d.ts +38 -0
  162. package/dist/packages/runtime/auth/session-store.js +88 -0
  163. package/dist/packages/runtime/auth/workos-client.d.ts +58 -0
  164. package/dist/packages/runtime/auth/workos-client.js +87 -0
  165. package/dist/packages/runtime/benchmark-question-draft.d.ts +20 -0
  166. package/dist/packages/runtime/benchmark-question-draft.js +124 -0
  167. package/dist/packages/runtime/build/artifact-counts.d.ts +1 -0
  168. package/dist/packages/{engine → runtime}/build/artifact-counts.js +5 -9
  169. package/dist/packages/{engine → runtime}/build/artifact-status.d.ts +5 -5
  170. package/dist/packages/{engine → runtime}/build/artifact-status.js +25 -23
  171. package/dist/packages/runtime/build/atomic-fs.d.ts +3 -0
  172. package/dist/packages/runtime/build/atomic-fs.js +95 -0
  173. package/dist/packages/runtime/build/billing-events.d.ts +78 -0
  174. package/dist/packages/{engine → runtime}/build/billing-events.js +17 -19
  175. package/dist/packages/runtime/build/build-evidence.d.ts +15 -0
  176. package/dist/packages/runtime/build/build-evidence.js +173 -0
  177. package/dist/packages/{engine → runtime}/build/build-pipeline.d.ts +12 -8
  178. package/dist/packages/runtime/build/build-pipeline.js +304 -0
  179. package/dist/packages/{engine → runtime}/build/build-plan-primitives.d.ts +1 -1
  180. package/dist/packages/{engine → runtime}/build/build-plan-primitives.js +0 -1
  181. package/dist/packages/runtime/build/build-plan-runs.d.ts +14 -0
  182. package/dist/packages/runtime/build/build-plan-runs.js +31 -0
  183. package/dist/packages/runtime/build/build-stage-plan.d.ts +16 -0
  184. package/dist/packages/{engine → runtime}/build/build-stage-plan.js +28 -29
  185. package/dist/packages/{engine → runtime}/build/build-stage-runner.d.ts +2 -1
  186. package/dist/packages/runtime/build/build-stage-runner.js +165 -0
  187. package/dist/packages/{engine → runtime}/build/build-target.d.ts +4 -4
  188. package/dist/packages/runtime/build/build-target.js +16 -0
  189. package/dist/packages/{engine → runtime}/build/check-evaluator.d.ts +14 -16
  190. package/dist/packages/runtime/build/check-evaluator.js +575 -0
  191. package/dist/packages/runtime/build/context-graph-paths.d.ts +51 -0
  192. package/dist/packages/runtime/build/context-graph-paths.js +133 -0
  193. package/dist/packages/runtime/build/context-graph-schema.d.ts +19 -0
  194. package/dist/packages/runtime/build/context-graph-schema.js +39 -0
  195. package/dist/packages/{engine → runtime}/build/discovery.d.ts +2 -2
  196. package/dist/packages/{engine → runtime}/build/discovery.js +4 -4
  197. package/dist/packages/{engine → runtime}/build/index.d.ts +5 -3
  198. package/dist/packages/{engine → runtime}/build/index.js +5 -3
  199. package/dist/packages/{engine → runtime}/build/lib/schema.d.ts +221 -88
  200. package/dist/packages/{engine → runtime}/build/lib/schema.js +61 -41
  201. package/dist/packages/runtime/build/reset.d.ts +2 -0
  202. package/dist/packages/runtime/build/reset.js +62 -0
  203. package/dist/packages/{engine → runtime}/build/runtime-contracts.js +5 -5
  204. package/dist/packages/runtime/build/runtime-inventory.d.ts +7 -0
  205. package/dist/packages/{engine → runtime}/build/runtime-inventory.js +3 -3
  206. package/dist/packages/{engine → runtime}/build/runtime-paths.js +6 -6
  207. package/dist/packages/{engine → runtime}/build/runtime-prompt.js +7 -6
  208. package/dist/packages/{engine → runtime}/build/runtime-reconcile.d.ts +1 -1
  209. package/dist/packages/{engine → runtime}/build/runtime-reconcile.js +25 -21
  210. package/dist/packages/runtime/build/runtime-runs.d.ts +10 -0
  211. package/dist/packages/runtime/build/runtime-runs.js +265 -0
  212. package/dist/packages/{engine → runtime}/build/runtime-types.d.ts +6 -6
  213. package/dist/packages/runtime/build/runtime-types.js +1 -0
  214. package/dist/packages/runtime/build/runtime.d.ts +6 -0
  215. package/dist/packages/runtime/build/runtime.js +5 -0
  216. package/dist/packages/runtime/build/source-files.d.ts +58 -0
  217. package/dist/packages/runtime/build/source-files.js +184 -0
  218. package/dist/packages/runtime/build/source-inventory.d.ts +27 -0
  219. package/dist/packages/runtime/build/source-inventory.js +273 -0
  220. package/dist/packages/runtime/build/source-manifest.d.ts +52 -0
  221. package/dist/packages/runtime/build/source-manifest.js +192 -0
  222. package/dist/packages/runtime/build/stage-evidence.d.ts +22 -0
  223. package/dist/packages/runtime/build/stage-evidence.js +317 -0
  224. package/dist/packages/runtime/build/stage-reuse.d.ts +11 -0
  225. package/dist/packages/runtime/build/stage-reuse.js +142 -0
  226. package/dist/packages/runtime/build/state-artifacts.d.ts +9 -0
  227. package/dist/packages/runtime/build/state-artifacts.js +14 -0
  228. package/dist/packages/runtime/build/state-health.d.ts +4 -0
  229. package/dist/packages/{engine → runtime}/build/state-health.js +21 -26
  230. package/dist/packages/runtime/build/state-io.d.ts +12 -0
  231. package/dist/packages/runtime/build/state-io.js +119 -0
  232. package/dist/packages/{engine → runtime}/build/state-paths.d.ts +3 -1
  233. package/dist/packages/runtime/build/state-paths.js +22 -0
  234. package/dist/packages/runtime/build/state-view.d.ts +5 -0
  235. package/dist/packages/{engine → runtime}/build/state-view.js +60 -33
  236. package/dist/packages/runtime/build/state.d.ts +7 -0
  237. package/dist/packages/runtime/build/state.js +12 -0
  238. package/dist/packages/runtime/build/traces.d.ts +30 -0
  239. package/dist/packages/runtime/build/traces.js +133 -0
  240. package/dist/packages/{engine/build/validate-verifiable-context.d.ts → runtime/build/validate-context-graph.d.ts} +6 -6
  241. package/dist/packages/{engine/build/validate-verifiable-context.js → runtime/build/validate-context-graph.js} +48 -35
  242. package/dist/packages/{engine → runtime}/build/validate.d.ts +5 -5
  243. package/dist/packages/{engine → runtime}/build/validate.js +26 -26
  244. package/dist/packages/{engine → runtime}/client.d.ts +15 -15
  245. package/dist/packages/{engine → runtime}/client.js +41 -24
  246. package/dist/packages/{engine → runtime}/connection-config.d.ts +3 -2
  247. package/dist/packages/{engine → runtime}/connection-config.js +9 -8
  248. package/dist/packages/runtime/context-checks.d.ts +10 -0
  249. package/dist/packages/runtime/context-checks.js +114 -0
  250. package/dist/packages/runtime/context-graph-scaffold.d.ts +9 -0
  251. package/dist/packages/runtime/context-graph-scaffold.js +134 -0
  252. package/dist/packages/runtime/entitlement-guard.d.ts +43 -0
  253. package/dist/packages/runtime/entitlement-guard.js +70 -0
  254. package/dist/packages/{engine → runtime}/execution/index.d.ts +2 -2
  255. package/dist/packages/{engine → runtime}/execution/index.js +1 -1
  256. package/dist/packages/{engine → runtime}/execution/lib/schema.d.ts +270 -192
  257. package/dist/packages/{engine → runtime}/execution/lib/schema.js +35 -32
  258. package/dist/packages/runtime/index.d.ts +29 -0
  259. package/dist/packages/runtime/index.js +21 -0
  260. package/dist/packages/runtime/instance-paths.d.ts +30 -0
  261. package/dist/packages/runtime/instance-paths.js +29 -0
  262. package/dist/packages/{engine → runtime}/native-run-handlers.d.ts +4 -4
  263. package/dist/packages/{engine → runtime}/native-run-handlers.js +184 -152
  264. package/dist/packages/runtime/plan-artifact-contract.d.ts +17 -0
  265. package/dist/packages/runtime/plan-artifact-contract.js +42 -0
  266. package/dist/packages/runtime/project-entries.d.ts +11 -0
  267. package/dist/packages/runtime/project-entries.js +49 -0
  268. package/dist/packages/runtime/project-source-state.d.ts +26 -0
  269. package/dist/packages/runtime/project-source-state.js +53 -0
  270. package/dist/packages/runtime/project-store.d.ts +85 -0
  271. package/dist/packages/runtime/project-store.js +168 -0
  272. package/dist/packages/runtime/requested-artifacts.d.ts +7 -0
  273. package/dist/packages/{engine → runtime}/requested-artifacts.js +23 -1
  274. package/dist/packages/{engine → runtime}/run-observability.d.ts +2 -1
  275. package/dist/packages/{engine → runtime}/run-observability.js +166 -84
  276. package/dist/packages/runtime/runtime-action-proposals.d.ts +7 -0
  277. package/dist/packages/runtime/runtime-action-proposals.js +542 -0
  278. package/dist/packages/runtime/runtime-build-plans.d.ts +5 -0
  279. package/dist/packages/runtime/runtime-build-plans.js +131 -0
  280. package/dist/packages/runtime/runtime-build-runs.d.ts +47 -0
  281. package/dist/packages/runtime/runtime-build-runs.js +562 -0
  282. package/dist/packages/runtime/runtime-caches.d.ts +91 -0
  283. package/dist/packages/{engine → runtime}/runtime-caches.js +77 -49
  284. package/dist/packages/{engine → runtime}/runtime-event-applier.d.ts +3 -1
  285. package/dist/packages/{engine → runtime}/runtime-event-applier.js +53 -17
  286. package/dist/packages/runtime/runtime-executor.d.ts +22 -0
  287. package/dist/packages/runtime/runtime-executor.js +131 -0
  288. package/dist/packages/runtime/runtime-jobs.d.ts +13 -0
  289. package/dist/packages/runtime/runtime-jobs.js +463 -0
  290. package/dist/packages/runtime/runtime-observability.d.ts +11 -0
  291. package/dist/packages/runtime/runtime-observability.js +39 -0
  292. package/dist/packages/{engine → runtime}/runtime-persistence.d.ts +9 -18
  293. package/dist/packages/{engine → runtime}/runtime-persistence.js +25 -25
  294. package/dist/packages/runtime/runtime-project-mutations.d.ts +7 -0
  295. package/dist/packages/runtime/runtime-project-mutations.js +64 -0
  296. package/dist/packages/runtime/runtime-project-reads.d.ts +15 -0
  297. package/dist/packages/runtime/runtime-project-reads.js +381 -0
  298. package/dist/packages/runtime/runtime-proposal-helpers.d.ts +22 -0
  299. package/dist/packages/runtime/runtime-proposal-helpers.js +223 -0
  300. package/dist/packages/{engine → runtime}/runtime-resource-builders.d.ts +21 -16
  301. package/dist/packages/{engine → runtime}/runtime-resource-builders.js +48 -38
  302. package/dist/packages/runtime/runtime-verify-runs.d.ts +84 -0
  303. package/dist/packages/runtime/runtime-verify-runs.js +295 -0
  304. package/dist/packages/runtime/runtime.d.ts +1165 -0
  305. package/dist/packages/runtime/runtime.js +417 -0
  306. package/dist/packages/runtime/schemas/actions.d.ts +1182 -0
  307. package/dist/packages/runtime/schemas/actions.js +117 -0
  308. package/dist/packages/runtime/schemas/agents.d.ts +76 -0
  309. package/dist/packages/runtime/schemas/agents.js +41 -0
  310. package/dist/packages/runtime/schemas/build-plans.d.ts +959 -0
  311. package/dist/packages/runtime/schemas/build-plans.js +107 -0
  312. package/dist/packages/runtime/schemas/files.d.ts +567 -0
  313. package/dist/packages/runtime/schemas/files.js +51 -0
  314. package/dist/packages/runtime/schemas/index.d.ts +8 -0
  315. package/dist/packages/runtime/schemas/index.js +12 -0
  316. package/dist/packages/runtime/schemas/instance.d.ts +141 -0
  317. package/dist/packages/runtime/schemas/instance.js +143 -0
  318. package/dist/packages/runtime/schemas/jobs.d.ts +339 -0
  319. package/dist/packages/runtime/schemas/jobs.js +103 -0
  320. package/dist/packages/runtime/schemas/projects.d.ts +339 -0
  321. package/dist/packages/runtime/schemas/projects.js +136 -0
  322. package/dist/packages/runtime/schemas/runs.d.ts +2676 -0
  323. package/dist/packages/runtime/schemas/runs.js +98 -0
  324. package/dist/packages/runtime/service/index.d.ts +3 -0
  325. package/dist/packages/runtime/service/index.js +3 -0
  326. package/dist/packages/runtime/service/openapi.d.ts +7 -0
  327. package/dist/packages/runtime/service/openapi.js +117 -0
  328. package/dist/packages/runtime/service/operations.d.ts +1490 -0
  329. package/dist/packages/runtime/service/operations.js +245 -0
  330. package/dist/packages/runtime/service/routes.d.ts +106 -0
  331. package/dist/packages/runtime/service/routes.js +120 -0
  332. package/dist/packages/runtime/service/server-api-files.d.ts +10 -0
  333. package/dist/packages/runtime/service/server-api-files.js +85 -0
  334. package/dist/packages/runtime/service/server-app-boot.d.ts +4 -0
  335. package/dist/packages/runtime/service/server-app-boot.js +46 -0
  336. package/dist/packages/runtime/service/server-guards.d.ts +63 -0
  337. package/dist/packages/runtime/service/server-guards.js +181 -0
  338. package/dist/packages/runtime/service/server-helpers.d.ts +27 -0
  339. package/dist/packages/runtime/service/server-helpers.js +89 -0
  340. package/dist/packages/runtime/service/server-instance-helpers.d.ts +30 -0
  341. package/dist/packages/runtime/service/server-instance-helpers.js +114 -0
  342. package/dist/packages/runtime/service/server-routes-action-proposals.d.ts +3 -0
  343. package/dist/packages/runtime/service/server-routes-action-proposals.js +43 -0
  344. package/dist/packages/runtime/service/server-routes-agents.d.ts +4 -0
  345. package/dist/packages/runtime/service/server-routes-agents.js +198 -0
  346. package/dist/packages/runtime/service/server-routes-auth.d.ts +33 -0
  347. package/dist/packages/runtime/service/server-routes-auth.js +138 -0
  348. package/dist/packages/runtime/service/server-routes-build-plans.d.ts +3 -0
  349. package/dist/packages/runtime/service/server-routes-build-plans.js +83 -0
  350. package/dist/packages/runtime/service/server-routes-discovery.d.ts +4 -0
  351. package/dist/packages/runtime/service/server-routes-discovery.js +196 -0
  352. package/dist/packages/runtime/service/server-routes-events.d.ts +5 -0
  353. package/dist/packages/runtime/service/server-routes-events.js +99 -0
  354. package/dist/packages/runtime/service/server-routes-project-context.d.ts +9 -0
  355. package/dist/packages/runtime/service/server-routes-project-context.js +192 -0
  356. package/dist/packages/runtime/service/server-routes-project-jobs.d.ts +9 -0
  357. package/dist/packages/runtime/service/server-routes-project-jobs.js +130 -0
  358. package/dist/packages/runtime/service/server-routes-project-runs.d.ts +14 -0
  359. package/dist/packages/runtime/service/server-routes-project-runs.js +85 -0
  360. package/dist/packages/runtime/service/server-routes-projects.d.ts +4 -0
  361. package/dist/packages/runtime/service/server-routes-projects.js +92 -0
  362. package/dist/packages/runtime/service/server-routes-runs.d.ts +3 -0
  363. package/dist/packages/runtime/service/server-routes-runs.js +112 -0
  364. package/dist/packages/runtime/service/server.d.ts +37 -0
  365. package/dist/packages/runtime/service/server.js +300 -0
  366. package/dist/packages/{engine → runtime/service}/service-registry.d.ts +5 -5
  367. package/dist/packages/{engine → runtime/service}/service-registry.js +7 -7
  368. package/dist/packages/runtime/verify/benchmark-run.d.ts +81 -0
  369. package/dist/packages/runtime/verify/benchmark-run.js +303 -0
  370. package/dist/packages/{engine → runtime}/verify/index.d.ts +2 -2
  371. package/dist/packages/{engine → runtime}/verify/index.js +1 -1
  372. package/dist/packages/{engine → runtime}/verify/lib/schema.d.ts +83 -16
  373. package/dist/packages/{engine → runtime}/verify/lib/schema.js +26 -18
  374. package/dist/packages/{engine → runtime}/verify/verify-execution.js +11 -11
  375. package/dist/packages/{engine → runtime}/verify/verify-paths.d.ts +4 -4
  376. package/dist/packages/runtime/verify/verify-paths.js +61 -0
  377. package/dist/packages/{engine → runtime}/verify/verify-sandbox.d.ts +1 -1
  378. package/dist/packages/runtime/verify/verify-sandbox.js +88 -0
  379. package/dist/packages/{engine → runtime}/verify/verify-specs.d.ts +2 -0
  380. package/dist/packages/{engine → runtime}/verify/verify-specs.js +5 -3
  381. package/dist/packages/runtime/verify/verify-targets.d.ts +5 -0
  382. package/dist/packages/{engine → runtime}/verify/verify-targets.js +12 -12
  383. package/dist/packages/runtime/verify/verify-types.js +1 -0
  384. package/dist/packages/{engine → runtime}/verify/verify.d.ts +1 -1
  385. package/dist/packages/{engine → runtime}/verify/verify.js +1 -1
  386. package/dist/packages/runtime/wire-schemas.d.ts +18 -0
  387. package/dist/packages/runtime/wire-schemas.js +27 -0
  388. package/package.json +39 -31
  389. package/public-repo/CONTRIBUTING.md +7 -16
  390. package/public-repo/README.md +175 -234
  391. package/public-repo/SECURITY.md +3 -4
  392. package/public-repo/build-plans/interf-default/README.md +19 -14
  393. package/public-repo/build-plans/interf-default/build/stages/shape/SKILL.md +18 -11
  394. package/public-repo/build-plans/interf-default/build/stages/structure/SKILL.md +12 -5
  395. package/public-repo/build-plans/interf-default/build/stages/summarize/SKILL.md +16 -4
  396. package/public-repo/build-plans/interf-default/build-plan.json +34 -28
  397. package/public-repo/build-plans/interf-default/build-plan.schema.json +54 -32
  398. package/public-repo/build-plans/interf-default/improve/SKILL.md +3 -3
  399. package/public-repo/build-plans/interf-default/use/query/SKILL.md +17 -11
  400. package/public-repo/openapi/local-service.openapi.json +6803 -0
  401. package/public-repo/skills/interf/SKILL.md +460 -179
  402. package/dist/cli/commands/prep.d.ts +0 -2
  403. package/dist/cli/commands/prep.js +0 -240
  404. package/dist/cli/commands/test.d.ts +0 -10
  405. package/dist/cli/commands/test.js +0 -85
  406. package/dist/cli/commands/web.d.ts +0 -2
  407. package/dist/cli/commands/web.js +0 -286
  408. package/dist/interf-ui/404.html +0 -1
  409. package/dist/interf-ui/__next.__PAGE__.txt +0 -10
  410. package/dist/interf-ui/__next._full.txt +0 -20
  411. package/dist/interf-ui/__next._head.txt +0 -5
  412. package/dist/interf-ui/__next._index.txt +0 -5
  413. package/dist/interf-ui/__next._tree.txt +0 -5
  414. package/dist/interf-ui/_next/static/--reS3xBzM5zc6QxNjZd6/_buildManifest.js +0 -11
  415. package/dist/interf-ui/_next/static/--reS3xBzM5zc6QxNjZd6/_clientMiddlewareManifest.js +0 -1
  416. package/dist/interf-ui/_next/static/--reS3xBzM5zc6QxNjZd6/_ssgManifest.js +0 -1
  417. package/dist/interf-ui/_next/static/chunks/0.tjb6f4golw..css +0 -3
  418. package/dist/interf-ui/_next/static/chunks/03~yq9q893hmn.js +0 -1
  419. package/dist/interf-ui/_next/static/chunks/085-n_jv2ng_q.css +0 -1
  420. package/dist/interf-ui/_next/static/chunks/0dn41fa_zvgsl.js +0 -1
  421. package/dist/interf-ui/_next/static/chunks/0g-ea0zj5d-0k.js +0 -1
  422. package/dist/interf-ui/_next/static/chunks/0gwqglc4iz583.js +0 -1
  423. package/dist/interf-ui/_next/static/chunks/0haldgm65ve6l.js +0 -1
  424. package/dist/interf-ui/_next/static/chunks/0nv3am99vjzn4.js +0 -1
  425. package/dist/interf-ui/_next/static/chunks/0s77gt_o4jwtx.js +0 -1
  426. package/dist/interf-ui/_next/static/chunks/0y5z3t-z1c8ks.js.map +0 -5
  427. package/dist/interf-ui/_next/static/chunks/0~a36ujuzpaz..js +0 -116
  428. package/dist/interf-ui/_next/static/chunks/10jeodxe4nkgj.js +0 -31
  429. package/dist/interf-ui/_next/static/chunks/119h2rouych2t.js +0 -1
  430. package/dist/interf-ui/_next/static/chunks/13c8b~m8knjsf.js +0 -1
  431. package/dist/interf-ui/_next/static/chunks/14dznb2qpt-ho.js +0 -91
  432. package/dist/interf-ui/_next/static/chunks/15z_en80lrq-3.js +0 -5
  433. package/dist/interf-ui/_next/static/chunks/turbopack-0p.pvcjrtq-jh.js +0 -1
  434. package/dist/interf-ui/_next/static/chunks/turbopack-0usj_75.8frlw.js +0 -1
  435. package/dist/interf-ui/_next/static/chunks/turbopack-worker-0sjn--fhq~1cg.js +0 -1
  436. package/dist/interf-ui/_next/static/media/GeistMono_Variable.p.17jn9btb_52pq.woff2 +0 -0
  437. package/dist/interf-ui/_next/static/media/Geist_Variable-s.p.0-te~ja_gpvcf.woff2 +0 -0
  438. package/dist/interf-ui/_next/static/media/worker.102zas1s52_pf.js +0 -109
  439. package/dist/interf-ui/_not-found/__next._full.txt +0 -15
  440. package/dist/interf-ui/_not-found/__next._head.txt +0 -5
  441. package/dist/interf-ui/_not-found/__next._index.txt +0 -5
  442. package/dist/interf-ui/_not-found/__next._not-found.__PAGE__.txt +0 -5
  443. package/dist/interf-ui/_not-found/__next._not-found.txt +0 -5
  444. package/dist/interf-ui/_not-found/__next._tree.txt +0 -2
  445. package/dist/interf-ui/_not-found.html +0 -1
  446. package/dist/interf-ui/_not-found.txt +0 -15
  447. package/dist/interf-ui/index.html +0 -1
  448. package/dist/interf-ui/index.txt +0 -20
  449. package/dist/packages/contracts/lib/preparation-paths.d.ts +0 -117
  450. package/dist/packages/contracts/lib/preparation-paths.js +0 -177
  451. package/dist/packages/engine/action-definitions.d.ts +0 -407
  452. package/dist/packages/engine/action-definitions.js +0 -1158
  453. package/dist/packages/engine/action-values.d.ts +0 -1
  454. package/dist/packages/engine/action-values.js +0 -1
  455. package/dist/packages/engine/agents/lib/args.d.ts +0 -4
  456. package/dist/packages/engine/agents/lib/args.js +0 -52
  457. package/dist/packages/engine/agents/lib/chart-guidance.d.ts +0 -1
  458. package/dist/packages/engine/agents/lib/chart-guidance.js +0 -8
  459. package/dist/packages/engine/agents/lib/constants.js +0 -28
  460. package/dist/packages/engine/agents/lib/schema.d.ts +0 -8
  461. package/dist/packages/engine/agents/lib/schema.js +0 -7
  462. package/dist/packages/engine/agents/lib/shells.d.ts +0 -74
  463. package/dist/packages/engine/agents/lib/shells.js +0 -1052
  464. package/dist/packages/engine/agents/lib/verifiable-context-bootstrap.d.ts +0 -3
  465. package/dist/packages/engine/build/artifact-counts.d.ts +0 -1
  466. package/dist/packages/engine/build/billing-events.d.ts +0 -89
  467. package/dist/packages/engine/build/build-pipeline.js +0 -175
  468. package/dist/packages/engine/build/build-plan-runs.d.ts +0 -14
  469. package/dist/packages/engine/build/build-plan-runs.js +0 -31
  470. package/dist/packages/engine/build/build-stage-plan.d.ts +0 -16
  471. package/dist/packages/engine/build/build-stage-runner.js +0 -94
  472. package/dist/packages/engine/build/build-target.js +0 -16
  473. package/dist/packages/engine/build/check-evaluator.js +0 -298
  474. package/dist/packages/engine/build/reset.d.ts +0 -2
  475. package/dist/packages/engine/build/reset.js +0 -74
  476. package/dist/packages/engine/build/runtime-inventory.d.ts +0 -7
  477. package/dist/packages/engine/build/runtime-runs.d.ts +0 -10
  478. package/dist/packages/engine/build/runtime-runs.js +0 -224
  479. package/dist/packages/engine/build/runtime.d.ts +0 -5
  480. package/dist/packages/engine/build/runtime.js +0 -4
  481. package/dist/packages/engine/build/source-files.d.ts +0 -46
  482. package/dist/packages/engine/build/source-files.js +0 -149
  483. package/dist/packages/engine/build/state-artifacts.d.ts +0 -9
  484. package/dist/packages/engine/build/state-artifacts.js +0 -14
  485. package/dist/packages/engine/build/state-health.d.ts +0 -4
  486. package/dist/packages/engine/build/state-io.d.ts +0 -11
  487. package/dist/packages/engine/build/state-io.js +0 -82
  488. package/dist/packages/engine/build/state-paths.js +0 -16
  489. package/dist/packages/engine/build/state-view.d.ts +0 -5
  490. package/dist/packages/engine/build/state.d.ts +0 -7
  491. package/dist/packages/engine/build/state.js +0 -12
  492. package/dist/packages/engine/build/validate-helpers.d.ts +0 -12
  493. package/dist/packages/engine/build/validate-helpers.js +0 -41
  494. package/dist/packages/engine/build/verifiable-context-paths.d.ts +0 -47
  495. package/dist/packages/engine/build/verifiable-context-paths.js +0 -121
  496. package/dist/packages/engine/build/verifiable-context-schema.d.ts +0 -21
  497. package/dist/packages/engine/build/verifiable-context-schema.js +0 -126
  498. package/dist/packages/engine/cloud-seams.d.ts +0 -115
  499. package/dist/packages/engine/cloud-seams.js +0 -84
  500. package/dist/packages/engine/index.d.ts +0 -22
  501. package/dist/packages/engine/index.js +0 -15
  502. package/dist/packages/engine/instance-paths.d.ts +0 -106
  503. package/dist/packages/engine/instance-paths.js +0 -171
  504. package/dist/packages/engine/lib/schema.d.ts +0 -6304
  505. package/dist/packages/engine/lib/schema.js +0 -730
  506. package/dist/packages/engine/preparation-store.d.ts +0 -105
  507. package/dist/packages/engine/preparation-store.js +0 -213
  508. package/dist/packages/engine/readiness-check-draft.d.ts +0 -20
  509. package/dist/packages/engine/readiness-check-draft.js +0 -111
  510. package/dist/packages/engine/requested-artifacts.d.ts +0 -5
  511. package/dist/packages/engine/routes.d.ts +0 -85
  512. package/dist/packages/engine/routes.js +0 -99
  513. package/dist/packages/engine/runtime-caches.d.ts +0 -76
  514. package/dist/packages/engine/runtime-proposal-helpers.d.ts +0 -35
  515. package/dist/packages/engine/runtime-proposal-helpers.js +0 -247
  516. package/dist/packages/engine/runtime.d.ts +0 -371
  517. package/dist/packages/engine/runtime.js +0 -2463
  518. package/dist/packages/engine/server.d.ts +0 -58
  519. package/dist/packages/engine/server.js +0 -1399
  520. package/dist/packages/engine/verify/readiness-check-run.d.ts +0 -82
  521. package/dist/packages/engine/verify/readiness-check-run.js +0 -265
  522. package/dist/packages/engine/verify/verify-paths.js +0 -61
  523. package/dist/packages/engine/verify/verify-sandbox.js +0 -88
  524. package/dist/packages/engine/verify/verify-targets.d.ts +0 -5
  525. package/dist/packages/engine/wire-schemas.d.ts +0 -547
  526. package/dist/packages/engine/wire-schemas.js +0 -59
  527. package/dist/packages/project/index.d.ts +0 -9
  528. package/dist/packages/project/interf-bootstrap.d.ts +0 -1
  529. package/dist/packages/project/interf-bootstrap.js +0 -1
  530. package/dist/packages/project/interf-scaffold.d.ts +0 -3
  531. package/dist/packages/project/interf-scaffold.js +0 -136
  532. package/dist/packages/project/interf.d.ts +0 -4
  533. package/dist/packages/project/interf.js +0 -3
  534. package/dist/packages/project/lib/schema.d.ts +0 -328
  535. package/dist/packages/project/lib/schema.js +0 -136
  536. package/dist/packages/project/preparation-entries.d.ts +0 -11
  537. package/dist/packages/project/preparation-entries.js +0 -49
  538. package/dist/packages/project/source-config.d.ts +0 -46
  539. package/dist/packages/project/source-config.js +0 -394
  540. package/dist/packages/project/source-folders.d.ts +0 -11
  541. package/public-repo/plugins/README.md +0 -9
  542. package/public-repo/plugins/interf/.claude-plugin/plugin.json +0 -21
  543. package/public-repo/plugins/interf/.mcp.json +0 -12
  544. package/public-repo/plugins/interf/README.md +0 -32
  545. package/public-repo/plugins/interf/skills/interf/SKILL.md +0 -376
  546. /package/dist/packages/{engine/agents/lib/types.js → runtime/actions/fields.js} +0 -0
  547. /package/dist/packages/{engine → runtime}/agents/lib/agents.d.ts +0 -0
  548. /package/dist/packages/{engine → runtime}/agents/lib/agents.js +0 -0
  549. /package/dist/packages/{engine → runtime}/agents/lib/execution-profile.d.ts +0 -0
  550. /package/dist/packages/{engine → runtime}/agents/lib/execution.d.ts +0 -0
  551. /package/dist/packages/{engine → runtime}/agents/lib/executors.d.ts +0 -0
  552. /package/dist/packages/{engine → runtime}/agents/lib/executors.js +0 -0
  553. /package/dist/packages/{engine → runtime}/agents/lib/logs.d.ts +0 -0
  554. /package/dist/packages/{engine → runtime}/agents/lib/logs.js +0 -0
  555. /package/dist/packages/{engine → runtime}/agents/lib/preflight.d.ts +0 -0
  556. /package/dist/packages/{engine → runtime}/agents/lib/render.d.ts +0 -0
  557. /package/dist/packages/{engine → runtime}/agents/lib/status.d.ts +0 -0
  558. /package/dist/packages/{engine → runtime}/agents/lib/status.js +0 -0
  559. /package/dist/packages/{engine → runtime}/agents/lib/types.d.ts +0 -0
  560. /package/dist/packages/{engine/build/runtime-types.js → runtime/agents/lib/types.js} +0 -0
  561. /package/dist/packages/{engine/verify/verify-types.js → runtime/agents/providers/types.js} +0 -0
  562. /package/dist/packages/{engine → runtime}/agents/role-router.d.ts +0 -0
  563. /package/dist/packages/{engine → runtime}/build/build-execution.d.ts +0 -0
  564. /package/dist/packages/{engine → runtime}/build/build-execution.js +0 -0
  565. /package/dist/packages/{engine → runtime}/build/runtime-contracts.d.ts +0 -0
  566. /package/dist/packages/{engine → runtime}/build/runtime-paths.d.ts +0 -0
  567. /package/dist/packages/{engine → runtime}/build/runtime-prompt.d.ts +0 -0
  568. /package/dist/packages/{engine → runtime}/execution/adapters.d.ts +0 -0
  569. /package/dist/packages/{engine → runtime}/execution/adapters.js +0 -0
  570. /package/dist/packages/{engine → runtime}/execution/events.d.ts +0 -0
  571. /package/dist/packages/{engine → runtime}/execution/events.js +0 -0
  572. /package/dist/packages/{engine → runtime}/verify/verify-execution.d.ts +0 -0
  573. /package/dist/packages/{engine → runtime}/verify/verify-profile-presets.d.ts +0 -0
  574. /package/dist/packages/{engine → runtime}/verify/verify-profile-presets.js +0 -0
  575. /package/dist/packages/{engine → runtime}/verify/verify-types.d.ts +0 -0
@@ -1,198 +1,444 @@
1
1
  ---
2
2
  name: interf
3
- description: "Use when an agent needs to operate Interf from natural language: install or connect to the local Interf engine, manage Preparations, review Build Plans, build verifiable context from source files, and read the returned context locator for agent work."
3
+ description: "Use when an agent needs to operate Interf from natural language: connect to the local Interf service, manage Projects, review Build Plans, build Context Graphs from source files, and read the returned Context Graph locator for agent tasks."
4
4
  ---
5
5
 
6
6
  # Interf
7
7
 
8
- Agents miss things in files. Interf builds verifiable context for agents from
9
- your files. It turns hidden file discovery into traceable artifacts with proof
10
- of how they were built.
8
+ Interf prepares data for agents. It lets users' agents build a Context Graph
9
+ from their files with source coverage summaries, task-aware knowledge, artifact
10
+ handoffs, and links back to sources, so users can inspect what was covered
11
+ before agents answer.
11
12
 
12
- Interf runs locally, shows evidence that the data is ready, and returns a
13
- context locator agents can read.
13
+ Interf is not a search engine and not a general RAG index over every Project
14
+ the instance has seen. Treat it as a data-preparation workflow for the user's
15
+ current Source and task. Existing Projects and Context Graphs are reusable only
16
+ when they clearly bind the same Source and task-relevant Build Plan.
17
+
18
+ Ask Claude to answer from a folder. With Interf, Claude builds a Context Graph
19
+ from the files and the user can inspect what it covered. Interf runs locally,
20
+ exposes Context Checks, Build evidence, traces, and ready / not ready status,
21
+ and returns a Context Graph locator agents can read.
14
22
 
15
23
  ## Core Model
16
24
 
17
- - **Instance** = the local engine started by `interf web`, or a future cloud
18
- endpoint. It owns all Preparation state.
25
+ - **Instance** = the local service reached through Interf MCP, an installed CLI
26
+ connection, explicit URL/token details, or a developer-started
27
+ `interf runtime`. It owns all Project state.
19
28
  - **Source** = input files or data. A local folder is the current binding
20
- shape; Interf scans it by reference, not by copy.
21
- - **Preparation** = the durable wrapper for a Source, agent goal, user
22
- instructions, requested Artifacts, selected Build Plan, Build runs, connected
23
- agents, readiness checks, and latest verifiable context.
24
- - **Requested Artifact** = an output agents need Interf to build, such as an
25
- atlas, index, timeline, summary set, claim set, or custom file.
26
- - **Build Plan** = the user-facing plan for how Interf will build requested
27
- Artifacts from the Source. It can be drafted, selected, saved, or improved.
28
- - **Build run** = one execution of a Build Plan for a Preparation. It records
29
- what was processed, what was built, what failed, and whether the output is
30
- ready.
31
- - **verifiable context** = the built output agents use.
32
-
33
- Agents should think in requested Artifacts: "what do I need Interf to build
34
- from this Source so I can do the user's job reliably?"
35
-
36
- The CLI carries one piece of state: the active connection record.
37
-
38
- When Interf MCP tools are available, prefer them over shelling out to the CLI.
39
- They are API-backed and can run from the user's device in hosts that support
40
- local MCP. Use the CLI examples below as fallback and as the source of command
41
- semantics.
29
+ shape; Source stays local and read-only, and Interf reads it by reference,
30
+ not by copy.
31
+ - **Project** = the durable workspace for one Source binding, selected
32
+ Build Plan, Project activity, execution agents, and the latest Context Graph.
33
+ The detailed intent, requested Artifact contract, stages, and Context Checks belong in the
34
+ Build Plan.
35
+ - **Requested Artifact** = an output agents need Interf to build, such as a
36
+ source map, index, timeline, comparison note, extraction table, or custom file.
37
+ - **Build Plan** = the reviewed plan for how Interf will build a Context Graph
38
+ and requested Artifacts from the Source. It owns intent, requested Artifacts,
39
+ user-visible Context Checks, Artifact diagnostics, Build instructions, and optional
40
+ Source context. It can be drafted, selected, saved, or improved. CLI
41
+ namespace: `interf plan`.
42
+ - **Run** = one durable execution record. Build runs, benchmark runs,
43
+ Build Plan draft runs, and Build Plan improvement runs are all Runs.
44
+ - **Build Context Graph** = the action that runs the selected Build Plan for a
45
+ Project and produces one Context Graph. CLI: `interf build <project-id>`.
46
+ - **Context Graph** = source-backed context built from files so agents can use
47
+ prepared context instead of partial file reads. It contains task handoffs,
48
+ summaries, knowledge notes, links back to sources, and traces. Current local
49
+ builds expose it as an inspectable folder agents can continue from.
50
+
51
+ Agents should think in Build Plan contracts: "what Context Graph, requested
52
+ Artifacts, checks, evidence, and traces need to exist before I can answer from
53
+ this Source without partial file reads?"
54
+
55
+ ## Source Reference Contract
56
+
57
+ The Context Graph is a knowledge map over the Source. It normally contains
58
+ `artifacts/` task handoffs, `summaries/` coverage proof, `knowledge/`
59
+ navigation/drilldown, traces, and source references. It does not duplicate the
60
+ raw Source files.
61
+
62
+ Use the Context Graph first to learn what exists, which files/pages/figures are
63
+ relevant, which requested Artifacts were prepared, and where evidence lives in
64
+ the original Source. Then follow the graph's source references when exact
65
+ wording, table values, chart positions, visual ranges, or provenance matter.
66
+
67
+ "Answer from the Context Graph" means:
68
+
69
+ - start from `artifacts/` task handoffs instead of rediscovering the Source ad hoc;
70
+ - use `home.md` only as a graph index, not as the answer surface;
71
+ - use `summaries/` for coverage proof and `knowledge/` for navigation/drilldown;
72
+ - use the graph's source references and traces as backlinks to the source of
73
+ truth;
74
+ - drill into cited source pages/figures/tables when precision matters;
75
+ - keep the answer grounded in the prepared graph plus its cited source evidence.
76
+
77
+ It does not mean:
78
+
79
+ - treat summaries or artifacts as a replacement for the underlying Source;
80
+ - ignore the original data after the graph points to the relevant evidence;
81
+ - make a strong claim from a blurry or under-extracted artifact.
82
+
83
+ ## Non-Negotiable Interf Behavior
84
+
85
+ If the user invoked `/interf` or explicitly asked to use Interf, the agent must
86
+ not bypass Interf by answering from ad hoc raw source-file reads.
87
+
88
+ Do not tell users to invoke `/anthropic-skills:interf` for the local demo. The
89
+ local Interf Skill command is `/interf`. A host-specific managed skill with a
90
+ prefixed namespace may be stale and outside this repo's control.
91
+
92
+ No fallback direct-read answer is allowed. Do not open PDFs, screenshots,
93
+ exports, extracted text files, or report bodies to answer the user's question
94
+ when Interf is unreachable. Do not say "I could not reach Interf, so I read the
95
+ files directly." That is the failure mode Interf exists to prevent.
96
+
97
+ After Interf has built or selected a Context Graph, opening the graph-cited
98
+ source reference for exact verification is allowed and often required. That is
99
+ not a fallback. It is the graph's backlink model.
100
+
101
+ Allowed before a reachable Interf connection:
102
+
103
+ - check whether Interf is running;
104
+ - inspect filenames, extensions, and obvious source-folder shape only if needed
105
+ to identify the Source;
106
+ - ask the user to start `interf runtime` / `interf runtime start`, connect the
107
+ agent through Interf MCP, or provide explicit Interf URL/token details.
108
+
109
+ Required when Interf is unreachable:
110
+
111
+ ```text
112
+ I can't answer this through Interf yet because I cannot reach a connected Interf instance.
113
+ Please start Interf with `interf runtime` or `interf runtime start`, connect this agent through Interf MCP, or provide the Interf URL/token. Then I will build or inspect the Context Graph before answering.
114
+ ```
115
+
116
+ Only answer after one of these is true:
117
+
118
+ - an Interf Build has produced a Context Graph for the Project;
119
+ - a ready existing Context Graph for the same Source and task-relevant Build
120
+ Plan is selected and inspected;
121
+ - the user explicitly cancels Interf and asks for a normal direct file read.
122
+
123
+ ## Required User-Visible Flow
124
+
125
+ When the user asks Interf to read a Source and answer a question, the agent's
126
+ first job is to define the data-preparation contract, not to answer. Follow
127
+ these gates in order.
128
+
129
+ Do not satisfy a new question by searching unrelated existing Projects. In the
130
+ connected-instance path, create a fresh Project for the current Source and task
131
+ unless the user explicitly selected or named an existing Project. If the user
132
+ has not provided a Source, ask for the Source instead of answering from whatever
133
+ Projects already exist. Project ids are generated internally; do not ask the
134
+ user to provide one.
135
+
136
+ Source scope default: when Interf MCP, the CLI, explicit connection details, or
137
+ the user context already provides a Source locator or file set, use that whole
138
+ Source. Do not ask the user to choose one file, both reports, or all files
139
+ inside that Source unless the user explicitly asks to narrow scope. If no
140
+ usable Source locator is available, ask for one Source locator, usually a local
141
+ folder path. Do not ask for a file-selection menu.
142
+
143
+ 1. **Propose checks and requested Artifacts first.**
144
+
145
+ Say what Interf needs to prepare before the answer can be trusted. The
146
+ output is a short in-chat review:
147
+
148
+ ```text
149
+ Before I answer, Interf should prepare this report for the question.
150
+
151
+ What Interf will check:
152
+ - <plain-English check>
153
+ Backed by: <requested Artifact>
154
+ - <plain-English check>
155
+ Backed by: <requested Artifact>
156
+
157
+ Requested Artifacts:
158
+ 1. <artifact name> — <what it will export into the Context Graph>
159
+ 2. <artifact name> — <what it will export into the Context Graph>
160
+
161
+ Approve these checks and Artifacts, and I will draft the Build Plan.
162
+ ```
163
+
164
+ Stop here unless the user has already explicitly approved this exact set of
165
+ checks and Artifacts. Do not answer yet.
166
+
167
+ 2. **Draft the Build Plan after approval.**
168
+
169
+ Create or reuse the Project, draft the Build Plan, then summarize it in
170
+ chat. Include the Project id, Build Plan id, checks, requested Artifacts,
171
+ stages, and what the Context Graph will contain. Include a review locator
172
+ when the connected Interf client provides one, but the user should be able
173
+ to review the plan in chat.
174
+
175
+ Stop here unless the user approves the Build Plan or already gave explicit
176
+ end-to-end autonomy after reviewing the checks.
177
+
178
+ 3. **Build the Context Graph after Build Plan approval.**
179
+
180
+ Start the Build, show the Build id and any review locator returned by the
181
+ connected Interf client, then check status by Run id. If the user asked for
182
+ an answer in the same request, continue until the Build reaches a terminal
183
+ state.
184
+
185
+ If a Build Plan draft, Build Plan improvement, Build run, or status poll
186
+ reaches `failed` or `cancelled`, stop. Report which Run failed, summarize the
187
+ visible error, and ask the user before starting another draft or Build run.
188
+ Do not automatically retry failed Interf Runs.
189
+
190
+ 4. **Answer only from the Context Graph.**
191
+
192
+ Read the task handoff notes under `artifacts/` first. Use them as the map
193
+ for what exists and where to look in the Source. Use `home.md` only as an
194
+ index, `summaries/` as coverage proof, and `knowledge/` as drilldown. For exact values,
195
+ quotes, chart reads, tables, or provenance-sensitive claims, follow the
196
+ graph's source references back to the cited Source evidence before answering.
197
+ Answer with the values the Context Graph prepared plus any source-reference
198
+ verification you performed, and say which requested Artifact and source page
199
+ the answer came from. If the Context Graph points to the right evidence but
200
+ the artifact is too coarse, under-extracted, or missing the required visual
201
+ semantics, say the Context Graph is not ready and improve the Build Plan.
202
+
203
+ The public package path is CLI/runtime-first. MCP is how agent hosts talk to a
204
+ connected Interf instance when the host supports local MCP tools. Use **Interf
205
+ MCP** when available, then this Skill as the instruction fallback, then direct
206
+ HTTP only with explicit local URL/token details.
207
+
208
+ Interf MCP lets an outside agent host talk to Interf. Agents listed inside
209
+ Interf are executors that run Build Plan stages. Do not treat executor setup as
210
+ the same thing as MCP setup.
211
+
212
+ Use this order:
213
+
214
+ 1. **Interf MCP**, when available.
215
+ 2. The installed `interf` CLI with an active connection.
216
+ 3. A developer-started local runtime from `interf runtime` or
217
+ `interf runtime start`.
218
+ 4. This bundled Skill, when MCP is not available in the agent host.
219
+ 5. Direct local HTTP only for the well-known discovery probe or when Interf
220
+ explicitly provides the local URL/token.
221
+
222
+ Do not install packages or use `npx` as part of the normal flow. If MCP is not
223
+ available and the CLI has no active connection, ask the user to start
224
+ `interf runtime` / `interf runtime start`, run `interf login --url <url>` for a
225
+ remote instance, or provide explicit Interf URL/token details.
226
+
227
+ If MCP is not configured, you may probe `http://127.0.0.1:4873/health` to see
228
+ whether the default local runtime is running. Do not scan ports. Do not treat
229
+ discovery as authorization. Any mutating or source-reading request needs the
230
+ active bearer token from **Interf MCP**, the installed CLI connection, or
231
+ connection details explicitly provided by Interf.
232
+
233
+ Keep MCP and connection probing internal. Do not narrate "CLI is installed",
234
+ "discovery returned 200", raw URLs, ports, or token state in the normal demo
235
+ flow. User-facing language should be only: Interf connection available, or this
236
+ agent is not connected to Interf yet.
237
+
238
+ When confirming a connection, say that Interf is running. Do not report
239
+ package, CLI, or service versions unless the user explicitly asks for debug
240
+ details.
42
241
 
43
242
  ## Connection Model
44
243
 
45
- Every mutating command requires a reachable Interf instance. If the active
46
- connection is missing or unreachable, the command exits non-zero with:
244
+ Every mutating action requires a reachable Interf instance.
47
245
 
48
- ```text
49
- Not connected to any Interf instance.
50
- Start one with `interf web` or `interf web start`, or set --url / `interf login` for a remote one.
51
- ```
246
+ In the public CLI path, the user starts a local instance with `interf runtime`
247
+ or `interf runtime start`. A remote or managed instance can be selected with
248
+ `interf login --url <url>` when available. Agent hosts may instead connect
249
+ through Interf MCP or explicit URL/token details.
52
250
 
53
- There is no hidden auto-start inside mutating commands. Agents must verify a
54
- connection before running mutating commands.
251
+ Discovery is not enough by itself. A 200 response from `/health` only means a
252
+ local service is running. If discovery succeeds but there is no MCP connection,
253
+ no active CLI connection, and no explicit URL/token, stop and ask the user to
254
+ connect this agent to Interf.
55
255
 
56
- Use `interf` when it is installed. If the command is missing, try
57
- `npx -y @interf/compiler@latest` for this session. If neither works, stop
58
- before mutating work and say plainly that this runtime can inspect the Source
59
- and propose requested Artifacts, but cannot create a Preparation or run Interf
60
- until the CLI is installed or a reachable Interf instance is connected.
256
+ If the local discovery probe is unreachable, say:
61
257
 
62
- For local or containerized agent sessions:
258
+ ```text
259
+ I need Interf running before I can build a Context Graph.
260
+ Please start `interf runtime` or `interf runtime start`, then connect this agent through Interf MCP or the installed CLI connection.
261
+ ```
262
+
263
+ For local developer sessions with the CLI already installed:
63
264
 
64
265
  ```sh
65
- interf web # local: foreground server in another terminal
66
- interf web start # local: managed background server for agent sessions
67
- interf login --url <...> # remote: writes connection.json
68
266
  interf status # confirm the active connection
267
+ interf runtime # fallback: foreground local service
268
+ interf runtime start # fallback: managed background service
69
269
  ```
70
270
 
71
- When using the `npx` fallback, replace `interf` in examples with
72
- `npx -y @interf/compiler@latest`.
271
+ ### Review References
272
+
273
+ When a Project, Build Plan, or Run is created, include the compact review
274
+ summary in chat: Project id, Build Plan id, Run id, checks, requested
275
+ Artifacts, and the Context Graph locator when ready.
276
+
277
+ The local HTTP URL is an authorized service connection fallback, not a review
278
+ UI. Do not present `127.0.0.1` links as the review surface for normal users.
73
279
 
74
280
  ## Agent Flow
75
281
 
76
282
  1. **Confirm a connection**.
77
283
 
78
- Run `interf status` or `interf prep ls`. If the command returns the
79
- connection hint, start a managed local engine with `interf web start`, then
80
- call `interf status` again. If the user already has a visible `interf web`
81
- terminal running, do not start another engine. Track whether you started the
82
- engine in this turn. Before ending the session, run `interf web stop` if you
83
- started it and no Build run or check run is still active.
284
+ If Interf MCP tools are available, call `get_instance_status` or
285
+ `instance_status`, depending on the host profile. If only the CLI is
286
+ available, run `interf status`. If neither is available, probe
287
+ `http://127.0.0.1:4873/health` only to check whether the default local
288
+ runtime is running.
289
+
290
+ Keep these checks quiet. Do not tell the user which transport worked or
291
+ failed unless they explicitly asked to debug Interf connectivity.
84
292
 
85
- 2. **Propose requested Artifacts before mutating state**.
293
+ If Interf provides explicit connection details for this session, pass them
294
+ on each CLI call:
86
295
 
87
- First inspect what you can about the Source: filenames, file types, obvious
88
- page counts, section names, and anything that affects the user's question.
89
- Treat that as an advisory source profile, not proof that Interf processed the
90
- files.
296
+ ```sh
297
+ --url "<service_url>" --token "<auth_token>"
298
+ ```
299
+
300
+ Do not write the token into files and do not echo it to the user.
301
+
302
+ Do not run hidden runtimes as an automatic recovery step. If MCP cannot
303
+ reach the instance, the CLI has no active connection, and no explicit
304
+ URL/token was provided, ask the user to start `interf runtime` or
305
+ `interf runtime start`, connect through Interf MCP, or provide connection
306
+ details. Stop here. Do not read the Source and do not answer the user's
307
+ question from raw files.
308
+
309
+ Treat `package_version`, CLI versions, and raw service metadata as internal
310
+ diagnostics. Do not include them in normal user-facing replies.
311
+
312
+ 2. **Propose what Interf will check before mutating state**.
313
+
314
+ After confirming an Interf connection, inspect what you can about the
315
+ Source: filenames, file types, obvious page counts, section names, and
316
+ anything that affects the user's question. Treat that as advisory Source
317
+ context, not evidence that Interf processed the files.
91
318
 
92
319
  If the user invoked `/interf` or explicitly asked to use Interf, that is
93
- permission to inspect the Source and propose requested Artifacts only. Stop
94
- after the proposal unless the user explicitly says to create, draft, proceed,
95
- or do the flow end-to-end.
320
+ permission to inspect the Source and propose the checks Interf should run plus
321
+ the requested Artifacts that make those checks true. It is not permission to
322
+ answer from the Source. Follow the Required User-Visible Flow above.
96
323
 
97
324
  Keep the proposal compact:
98
325
 
99
326
  ```text
100
- I found <source summary>. For <task>, I should prepare the source first because <risk>.
327
+ I found <source summary>. For <task>, I should build the source first because <risk>.
101
328
  <Optional ambiguity or assumption in one sentence.>
102
329
 
330
+ Interf should prepare data for the agent by building a Context Graph from
331
+ the files.
332
+
333
+ What Interf will check:
334
+ - <Plain-English check>
335
+ Backed by: <requested Artifact name>
336
+ - <Plain-English check>
337
+ Backed by: <requested Artifact name>
338
+
339
+ Requested Artifacts:
103
340
  1. **<Plain-English artifact name>**
104
341
  Why it helps: <short sentence>
105
- Checks:
106
- - <human-readable check>
107
- - <human-readable check>
342
+ 2. **<Plain-English artifact name>**
343
+ Why it helps: <short sentence>
108
344
 
109
- If this looks right, tell me to create the Preparation and draft the Build Plan for review. I will stop here until you approve it.
345
+ Approve these checks and Artifacts, and I will draft the Build Plan.
110
346
  ```
111
347
 
112
348
  Do not show JSON to the user. Do not use markdown tables. Do not include
113
- extracted numbers, chart readings, schema fields, stage names, or commands in
114
- the human proposal. Detailed numbers belong in the built Artifacts.
349
+ extracted numbers, chart readings, schema fields, stage names, raw check
350
+ operator names, or commands in the human proposal. Detailed numbers belong in
351
+ the built artifacts, which live inside the Context Graph.
115
352
 
116
- 3. **Create the Preparation after approval**.
353
+ 3. **Create the Project after approval**.
117
354
 
118
355
  ```sh
119
- interf prep ls
120
- interf prep create <id> --source <path> [--about "<agent job>"] \
121
- --requested-artifacts-json '<json-array>' \
122
- --source-profile-json '<json-object>'
356
+ interf project create <id> --source <path>
123
357
  ```
124
358
 
125
- Store the approved proposal as `requested_artifacts[]`. Store the advisory
126
- source interpretation as `source_profile` when useful. Use compact JSON only
127
- in the command or API request after the user confirms.
359
+ Create a fresh Project for the current Source unless the user explicitly
360
+ names an existing Project id. Store the approved proposal in the Build Plan
361
+ draft request, not on the Project. Store advisory source interpretation as
362
+ `source_context` when useful.
128
363
 
129
- 4. **Draft or select a Build Plan**.
364
+ 4. **Draft a Build Plan**.
130
365
 
131
- For real analytical work, prefer a custom Build Plan for the Preparation.
366
+ For real analytical work, prefer a custom Build Plan for the Project.
132
367
  Use the default `interf-default` Build Plan only when the user explicitly
133
368
  asks for the default/smoke-test flow or accepts it as a fallback.
134
369
 
135
370
  ```sh
136
- interf build-plan draft <prep-id> \
137
- --task "<agent job>" \
138
- --artifacts "<optional extra Artifact notes or change request>" \
139
- --ready-when "<proof and coverage the user should trust>"
371
+ interf plan draft <project-id> \
372
+ --intent "<agent task>" \
373
+ --requested-artifacts-json '<json-array>' \
374
+ --checks-json '<context-checks-json-array>' \
375
+ --source-context-json '<json-object>' \
376
+ --artifacts "<optional extra requested Artifact notes or change request>" \
377
+ --ready-when "<plain-English Context Check the requested Artifacts should satisfy>"
140
378
  interf runs status <run-id>
141
- interf build-plan show <build-plan-id>
142
- interf build-plan select <prep-id> <build-plan-id>
379
+ interf plan show <build-plan-id>
143
380
  ```
144
381
 
145
- Do not generate custom shell polling loops. In MCP-enabled hosts, use the
146
- Interf MCP run-status tool. In CLI-only hosts, run `interf runs status
147
- <run-id>` as a single command when you need fresh status.
382
+ Do not generate custom shell polling loops. In hosts with app-backed Interf
383
+ MCP tools, use the run-status tool. In CLI-only hosts, run `interf runs
384
+ status <run-id>` as a single command when you need fresh status.
148
385
 
149
- 5. **Show the Build Plan review before building by default**.
386
+ 5. **Show the Build Plan review before building**.
150
387
 
151
388
  After the Build Plan is drafted, selected, or materially changed, send the
152
- user to:
389
+ user a compact in-chat review: Project id, Build Plan id, what Interf will
390
+ check, which requested Artifacts back each check, stage names, and what each
391
+ stage writes. Include a review locator when the connected Interf client
392
+ provides one, but do not force the user to leave chat to approve. Unless the
393
+ user granted autonomy after reviewing the checks, pause here.
153
394
 
154
- ```text
155
- http://127.0.0.1:4873/?section=preparations&preparation=<prep-id>&preparationTab=build-plan
156
- ```
157
-
158
- Include a compact chat summary: requested Artifacts, stage names, what each
159
- stage writes, and the proof/readiness checks the user should expect. Unless
160
- the user granted autonomy, pause here.
161
-
162
- 6. **Build verifiable context**.
395
+ 6. **Build the Context Graph**.
163
396
 
164
397
  ```sh
165
- interf build <prep-id> [--watch] [--quiet] [--idempotency-key <key>]
398
+ interf build <project-id> [--watch] [--quiet] [--idempotency-key <key>]
166
399
  ```
167
400
 
168
- Default is async-return: prints the Build run id, the artifact locator, and
169
- current readiness. With `--quiet`, only the locator is printed. With
170
- `--watch`, the CLI tails events until the run reaches a terminal state.
401
+ Default is async-return: prints the Build id, the Context Graph locator, and
402
+ current `ready` / `not ready` status. With `--quiet`, only the Context Graph locator is printed. With
403
+ `--watch`, the CLI tails events until the Build reaches a terminal state.
171
404
 
172
- 7. **Inspect runs and readiness**.
405
+ If the user asked for an answer in the same `/interf` request, answer from
406
+ the built Context Graph, requested Artifacts, and source references linked
407
+ from that graph. Do not bypass the graph by searching the original
408
+ PDF/report/source file directly.
409
+
410
+ 7. **Inspect Project activity and optionally benchmark**.
173
411
 
174
412
  ```sh
175
413
  interf runs status <run-id>
176
- interf runs ls [--prep <id>]
414
+ interf runs ls --project <project-id>
177
415
  interf runs cancel <run-id>
178
- interf test <prep-id>
416
+ interf traces ls --project <project-id>
417
+ interf benchmark <project-id> --target context-graph
418
+ interf benchmark <project-id> --target source-files
179
419
  ```
180
420
 
421
+ `interf benchmark` is a benchmark/evaluation run for Q&A / fact-check accuracy.
422
+ Use it when the user wants a source-files baseline, a Context Graph
423
+ evaluation, or a source-vs-Context Graph comparison. It is not the
424
+ Context Checks surface.
425
+
181
426
  8. **On `not ready`, improve the Build Plan**.
182
427
 
183
428
  ```sh
184
- interf build-plan improve <prep-id> \
185
- --task "<what needs to change>" \
186
- --artifacts "<Artifact changes, if any>" \
187
- --ready-when "<proof or coverage changes, if any>"
429
+ interf plan improve <project-id> \
430
+ --intent "<what needs to change>" \
431
+ --artifacts "<requested Artifact changes, if any>" \
432
+ --ready-when "<Context Check changes, if any>"
188
433
  ```
189
434
 
190
- ## Connected Agents
435
+ ## Agents
191
436
 
192
437
  Interf treats the agents it can shell out to, such as Claude Code, Codex, and
193
438
  custom CLIs, as connected local agents. `GET /v1/instance` reports
194
439
  `agent_count` and `default_agent`. If `agent_count` is `0`, `interf build` and
195
- `interf test` hard-error until the user installs or registers an agent.
440
+ Benchmark runs hard-error until the user installs or registers
441
+ an agent.
196
442
 
197
443
  ```sh
198
444
  interf agents ls
@@ -204,7 +450,7 @@ interf agents unmap <role>
204
450
  ```
205
451
 
206
452
  Roles are `extractor`, `summarizer`, `structurer`, `verifier`, and `general`.
207
- Build Plans may declare custom names; the engine treats unknown roles as
453
+ Build Plans may declare custom names; the Build runtime treats unknown roles as
208
454
  `general`. Default behavior is single-active-agent.
209
455
 
210
456
  ## CLI Flags
@@ -212,134 +458,167 @@ Build Plans may declare custom names; the engine treats unknown roles as
212
458
  | Flag | What it controls | When the agent passes it |
213
459
  |---|---|---|
214
460
  | `--url <url>` | Override the active connection URL for one call. | Multiple instances or remote target. |
215
- | `--token <token>` | Override the active bearer token for one call. | Cloud / non-loopback connections only. |
216
- | `--watch` | Block until the run finishes and tail stages. | Only when the agent must wait inline. |
217
- | `--quiet` | Print only the artifact locator on success. | Scripting and agent handoff. |
218
- | `--idempotency-key <key>` | Sent as `X-Interf-Idempotency-Key`. The instance returns the original run id on retries. | Whenever the agent might retry the same build. |
461
+ | `--token <token>` | Override the active bearer token for one call. | Explicit connection details, remote instances, or API integration tasks. |
462
+ | `--watch` | Block until the Build finishes and tail stages. | Only when the agent must wait inline. |
463
+ | `--quiet` | Print only the Context Graph locator on success. | Scripting and agent handoff. |
464
+ | `--idempotency-key <key>` | Sent as `X-Interf-Idempotency-Key`. The instance returns the original Build id on retries. | Whenever the agent might retry the same Build. |
219
465
 
220
466
  ## Operating Rules
221
467
 
222
- - Use exact Preparation ids and Build Plan ids returned by the API. Do not
468
+ - Use exact Project ids and Build Plan ids returned by the API. Do not
223
469
  invent ids.
224
470
  - Always confirm a connection exists before running mutating commands.
471
+ - If `/interf` was invoked and no connection exists, stop. Do not answer by
472
+ reading raw source files.
473
+ - Once a Context Graph exists, use it as the knowledge map. Source drilldown is
474
+ allowed only through graph-provided source references, traces, requested
475
+ Artifacts, or the Project's recorded Source Manifest.
225
476
  - For long-running work, use the async default and check status by id. Use
226
477
  `--watch` only when the agent must wait inline.
227
- - Do not call the local HTTP API directly unless Interf explicitly gives an
228
- API-integration task. Use CLI commands or Interf MCP tools for normal agent
229
- work.
478
+ - Use MCP when available. Use the CLI only when it is
479
+ already installed. Do not install npm packages in the user's agent session.
480
+ - Do not mention npm package versions, CLI versions, or local service versions
481
+ in normal task updates. They are debugging details, not part of the product
482
+ path.
483
+ - You may use direct local HTTP for the well-known discovery probe. Do not call
484
+ source-reading or mutating local HTTP APIs unless Interf explicitly
485
+ provides the local connection details or gives an API-integration task.
230
486
  - Never write helper files into the Source folder. The Source is read-only
231
487
  input.
232
- - Treat requested-Artifact and Build Plan review as the default human trust
233
- gate.
234
- - Separate proposal from proof. Before a Build run, you can say what Interf
235
- plans to build and what coverage/proof it will check. After a Build run, you
236
- can say which files/pages were processed, what evidence was produced, and
237
- whether the verifiable context is ready.
488
+ - Treat Context Checks plus requested Artifact review as the default
489
+ human trust gate.
490
+ - Treat structural Artifact checks as necessary but not sufficient for
491
+ precision. If a visual/table/chart answer needs range, axis, period, unit,
492
+ series, or provenance semantics that the artifact did not capture, mark the
493
+ Context Graph not ready and improve the Build Plan.
494
+ - The first visible Interf response to a read-and-answer request is the
495
+ checks-and-Artifacts proposal. It is not a draft answer.
496
+ - Separate proposal from evidence. Before a Build, you can say what Interf
497
+ plans to check, which requested Artifacts back that, and what evidence it
498
+ will produce. After a Build, you can say which files/pages were processed,
499
+ what evidence was produced, and whether the Context Graph is ready.
238
500
  - Ask one concise clarification only when the Source or agent goal is missing,
239
501
  or when ambiguity makes the requested Artifacts impossible to draft. For
240
502
  normal domain ambiguity, state the assumption and make it a check.
241
503
 
242
504
  ## Show Your Work
243
505
 
244
- Interf UI is the user's verification surface. Whenever you start a run, print a
245
- deep link to the run page in the same message as the run id.
506
+ The Run record, Build evidence, checks, traces, and Context Graph locator are
507
+ the user's verification surface. Whenever you start a Build, summarize the
508
+ Project id, Build id, checks, and Context Graph locator in chat. If the
509
+ connected Interf client returns a review locator, include it.
246
510
 
247
- The base URL is whatever `interf status` reports as the connected instance.
248
- Append query params:
511
+ Do not present the local HTTP service URL as a review UI.
249
512
 
250
- | Param | Value |
251
- |---|---|
252
- | `preparation` | the Preparation id |
253
- | `run` | the run id returned by the CLI |
254
- | `runTab` | optional: `trace`, `events`, or `readiness` |
255
-
256
- Example output after `interf build <prep-id>`:
513
+ Example output after `interf build <project-id>`:
257
514
 
258
515
  ```text
259
- Started Build run <run-id>.
260
- Watch live: http://127.0.0.1:4873/?preparation=<prep-id>&run=<run-id>
516
+ Started Build <run-id>.
517
+ Project: <project-id>
518
+ Context Graph: <locator when available>
261
519
 
262
520
  I'll check status in a moment with `interf runs status <run-id>`.
263
521
  ```
264
522
 
265
- When a run finishes, print the same URL with `runTab=readiness` so the user can
266
- click through to the readiness summary.
523
+ When a Build finishes, report the final `ready` / `not ready` status, the
524
+ Context Graph locator, and the requested Artifacts or validation failures that
525
+ matter.
267
526
 
268
- ## Reading The Context Locator
527
+ ## Reading The Context Graph Locator
269
528
 
270
- `interf build <prep-id>` prints a short multi-line block by default. The context
271
- locator looks like one of:
529
+ Build returns a Context Graph locator. With the CLI, `interf build
530
+ <project-id>` prints a short multi-line block by default. The Context Graph
531
+ locator looks like:
272
532
 
273
533
  ```text
274
- Context: <local-path-returned-by-interf>
534
+ Context Graph: <local-path-returned-by-interf>
275
535
  ```
276
536
 
277
- ```text
278
- Context: https://api.interf.cloud/v1/runs/run_2x4abc.../verifiable-context
279
- ```
537
+ For `local-path`, use the agent's filesystem tools to read the directory.
538
+ Start from `artifacts/` task handoffs. Use `home.md` only if you need to find
539
+ the right handoff. Follow source refs for exact claims.
280
540
 
281
- For `local-path`, use the agent's filesystem tools to read the directory. For
282
- `remote-url`, use HTTP.
541
+ ## Interf Client Freeform Proposal Mode
283
542
 
284
- ## Interf UI Freeform Proposal Mode
285
-
286
- When Interf UI asks for a proposal, do not run CLI commands. Write a single
287
- JSON object to the requested output path. Structured UI controls call the local
288
- service directly; this mode is only for freeform planning.
543
+ When an Interf client asks for a proposal, do not run CLI commands. Write a
544
+ single JSON object to the requested output path. Structured controls call the
545
+ local service directly; this mode is only for freeform planning.
289
546
 
290
547
  Use these action types:
291
548
 
292
549
  - `build`
293
- - `test`
294
- - `readiness-check-draft`
550
+ - `benchmark`
551
+ - `benchmark-question-draft` (draft benchmark questions)
295
552
  - `build-plan-draft`
296
553
  - `build-plan-improvement`
297
554
  - `clarification`
298
555
 
299
556
  Use `build` when the user asks to prepare data, build artifacts, or refresh
300
- verifiable context for agent work. Set `build_plan` to the selected Build Plan
301
- id if the request named one, and set `preparation` to the Preparation id if the
302
- request named one. CLI equivalent: `interf build <prep-id>`.
557
+ the Context Graph for an agent task. Set `project` to the Project id. Do not set
558
+ `build_plan` for a Build proposal; Build always runs the Project's selected
559
+ Build Plan. If the request named a different Build Plan, select or draft that
560
+ Build Plan before proposing `build`. CLI equivalent:
561
+ `interf build <project-id>`.
303
562
 
304
- Readiness-check proposals run against verifiable context unless the user asks
305
- for a source-files baseline.
563
+ Use `benchmark` for benchmark/evaluation proposals. They run against the
564
+ Context Graph unless the user asks for a source-files baseline. CLI equivalent:
565
+ `interf benchmark <project-id>`.
306
566
 
307
567
  Return this shape:
308
568
 
309
569
  ```json
310
570
  {
311
571
  "action_type": "build",
312
- "build_plan": "build-plan-id",
313
- "preparation": "prep-id",
572
+ "project": "project-id",
314
573
  "title": "short approval card title",
315
574
  "summary": "one sentence describing which artifacts will be built",
316
575
  "assistant_message": "concise explanation for the user",
317
- "command_preview": "interf build prep-id"
576
+ "command_preview": "interf build project-id"
318
577
  }
319
578
  ```
320
579
 
321
- For Build Plan drafting proposals, keep requested Artifacts structured in
322
- `values.requested_artifacts[]` and keep the advisory source summary in
323
- `values.source_profile`:
580
+ For Build Plan drafting proposals, keep user-facing checks in
581
+ `values.checks[]`, requested Artifacts in `values.requested_artifacts[]`, and
582
+ the advisory source summary in `values.source_context`:
583
+ Use stable requested Artifact ids and connect each Context Check with
584
+ `backed_by_artifact_ids`. These ids are implementation detail for the action
585
+ payload; do not show them in the human proposal.
324
586
 
325
587
  ```json
326
588
  {
327
589
  "action_type": "build-plan-draft",
328
- "preparation": "prep-id",
329
- "build_plan": "prep-id-build-plan",
590
+ "project": "project-id",
591
+ "build_plan": "project-id-build-plan",
330
592
  "title": "Draft Build Plan",
331
593
  "summary": "Drafts the Build Plan for the requested Artifacts.",
332
594
  "values": {
333
- "build_plan_id": "prep-id-build-plan",
334
- "task_prompt": "London versus South West annual take-up",
595
+ "build_plan_id": "project-id-build-plan",
596
+ "intent": "London versus South West annual take-up",
597
+ "checks": [
598
+ {
599
+ "label": "Every page is covered.",
600
+ "backed_by_artifact_ids": ["guide-to-report"]
601
+ },
602
+ {
603
+ "label": "The final comparison cites sources for every figure.",
604
+ "backed_by_artifact_ids": ["london-versus-south-west-comparison"]
605
+ }
606
+ ],
335
607
  "requested_artifacts": [
336
608
  {
609
+ "id": "guide-to-report",
337
610
  "title": "Guide to the report",
338
611
  "purpose": "A short note for each page, so the agent knows what is where.",
339
612
  "checks": ["Every page is listed.", "Each page has a plain-English summary."]
613
+ },
614
+ {
615
+ "id": "london-versus-south-west-comparison",
616
+ "title": "London versus South West comparison",
617
+ "purpose": "A source-cited comparison note for the figures the agent task depends on.",
618
+ "checks": ["Every figure has a source citation.", "Ambiguous chart-derived values are bounded."]
340
619
  }
341
620
  ],
342
- "source_profile": {
621
+ "source_context": {
343
622
  "summary": "One 26-page office market report.",
344
623
  "observations": ["No obvious section is called South West."]
345
624
  }
@@ -367,10 +646,12 @@ Use CLI read commands before asking the user to inspect the UI:
367
646
 
368
647
  ```sh
369
648
  interf status
370
- interf prep show <prep-id>
371
- interf build-plan show <build-plan-id>
649
+ interf project show <project-id>
650
+ interf plan show <build-plan-id>
372
651
  interf runs status <run-id>
652
+ interf traces show <trace-kind> --project <project-id>
373
653
  ```
374
654
 
375
- The UI link is for visual proof. The CLI output is for agent-readable status,
376
- Build Plan review, Artifact status, run errors, proof, and readiness summaries.
655
+ The UI link is for visual review. The CLI output is for agent-readable status,
656
+ Build Plan review, requested Artifact status, Build errors, Checks, Build evidence,
657
+ traces, benchmark results, and ready / not ready summaries.