@interf/compiler 0.1.12 → 0.2.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 (282) hide show
  1. package/README.md +254 -136
  2. package/dist/commands/benchmark.d.ts.map +1 -1
  3. package/dist/commands/benchmark.js +65 -84
  4. package/dist/commands/benchmark.js.map +1 -1
  5. package/dist/commands/compile.d.ts.map +1 -1
  6. package/dist/commands/compile.js +19 -3
  7. package/dist/commands/compile.js.map +1 -1
  8. package/dist/commands/create.d.ts +3 -0
  9. package/dist/commands/create.d.ts.map +1 -1
  10. package/dist/commands/create.js +34 -9
  11. package/dist/commands/create.js.map +1 -1
  12. package/dist/commands/default.d.ts.map +1 -1
  13. package/dist/commands/default.js +2 -0
  14. package/dist/commands/default.js.map +1 -1
  15. package/dist/commands/init.d.ts.map +1 -1
  16. package/dist/commands/init.js +3 -2
  17. package/dist/commands/init.js.map +1 -1
  18. package/dist/index.d.ts +11 -29
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +7 -16
  21. package/dist/index.js.map +1 -1
  22. package/dist/lib/agent-args.d.ts +4 -0
  23. package/dist/lib/agent-args.d.ts.map +1 -0
  24. package/dist/lib/agent-args.js +42 -0
  25. package/dist/lib/agent-args.js.map +1 -0
  26. package/dist/lib/agent-constants.d.ts +6 -0
  27. package/dist/lib/agent-constants.d.ts.map +1 -0
  28. package/dist/lib/agent-constants.js +29 -0
  29. package/dist/lib/agent-constants.js.map +1 -0
  30. package/dist/lib/agent-detection.d.ts +8 -0
  31. package/dist/lib/agent-detection.d.ts.map +1 -0
  32. package/dist/lib/agent-detection.js +66 -0
  33. package/dist/lib/agent-detection.js.map +1 -0
  34. package/dist/lib/agent-execution.d.ts +3 -0
  35. package/dist/lib/agent-execution.d.ts.map +1 -0
  36. package/dist/lib/agent-execution.js +207 -0
  37. package/dist/lib/agent-execution.js.map +1 -0
  38. package/dist/lib/agent-logs.d.ts +3 -0
  39. package/dist/lib/agent-logs.d.ts.map +1 -0
  40. package/dist/lib/agent-logs.js +18 -0
  41. package/dist/lib/agent-logs.js.map +1 -0
  42. package/dist/lib/agent-preflight.d.ts +8 -0
  43. package/dist/lib/agent-preflight.d.ts.map +1 -0
  44. package/dist/lib/agent-preflight.js +77 -0
  45. package/dist/lib/agent-preflight.js.map +1 -0
  46. package/dist/lib/agent-render.d.ts +9 -0
  47. package/dist/lib/agent-render.d.ts.map +1 -0
  48. package/dist/lib/agent-render.js +219 -0
  49. package/dist/lib/agent-render.js.map +1 -0
  50. package/dist/lib/agent-status.d.ts +4 -0
  51. package/dist/lib/agent-status.d.ts.map +1 -0
  52. package/dist/lib/agent-status.js +59 -0
  53. package/dist/lib/agent-status.js.map +1 -0
  54. package/dist/lib/agent-types.d.ts +31 -0
  55. package/dist/lib/agent-types.d.ts.map +1 -0
  56. package/dist/lib/agent-types.js +2 -0
  57. package/dist/lib/agent-types.js.map +1 -0
  58. package/dist/lib/agents.d.ts +7 -49
  59. package/dist/lib/agents.d.ts.map +1 -1
  60. package/dist/lib/agents.js +8 -554
  61. package/dist/lib/agents.js.map +1 -1
  62. package/dist/lib/benchmark-execution.d.ts +9 -0
  63. package/dist/lib/benchmark-execution.d.ts.map +1 -0
  64. package/dist/lib/benchmark-execution.js +488 -0
  65. package/dist/lib/benchmark-execution.js.map +1 -0
  66. package/dist/lib/benchmark-paths.d.ts +11 -0
  67. package/dist/lib/benchmark-paths.d.ts.map +1 -0
  68. package/dist/lib/benchmark-paths.js +38 -0
  69. package/dist/lib/benchmark-paths.js.map +1 -0
  70. package/dist/lib/benchmark-specs.d.ts +8 -0
  71. package/dist/lib/benchmark-specs.d.ts.map +1 -0
  72. package/dist/lib/benchmark-specs.js +115 -0
  73. package/dist/lib/benchmark-specs.js.map +1 -0
  74. package/dist/lib/benchmark-targets.d.ts +5 -0
  75. package/dist/lib/benchmark-targets.d.ts.map +1 -0
  76. package/dist/lib/benchmark-targets.js +72 -0
  77. package/dist/lib/benchmark-targets.js.map +1 -0
  78. package/dist/lib/benchmark-types.d.ts +19 -0
  79. package/dist/lib/benchmark-types.d.ts.map +1 -0
  80. package/dist/lib/benchmark-types.js +2 -0
  81. package/dist/lib/benchmark-types.js.map +1 -0
  82. package/dist/lib/benchmark.d.ts +4 -29
  83. package/dist/lib/benchmark.d.ts.map +1 -1
  84. package/dist/lib/benchmark.js +3 -324
  85. package/dist/lib/benchmark.js.map +1 -1
  86. package/dist/lib/bundled-templates.d.ts +5 -0
  87. package/dist/lib/bundled-templates.d.ts.map +1 -0
  88. package/dist/lib/bundled-templates.js +23 -0
  89. package/dist/lib/bundled-templates.js.map +1 -0
  90. package/dist/lib/config.d.ts +1 -0
  91. package/dist/lib/config.d.ts.map +1 -1
  92. package/dist/lib/config.js +2 -0
  93. package/dist/lib/config.js.map +1 -1
  94. package/dist/lib/eval-packs.d.ts +204 -0
  95. package/dist/lib/eval-packs.d.ts.map +1 -0
  96. package/dist/lib/eval-packs.js +177 -0
  97. package/dist/lib/eval-packs.js.map +1 -0
  98. package/dist/lib/execution-profile.d.ts +18 -0
  99. package/dist/lib/execution-profile.d.ts.map +1 -0
  100. package/dist/lib/execution-profile.js +85 -0
  101. package/dist/lib/execution-profile.js.map +1 -0
  102. package/dist/lib/interf-bootstrap.d.ts +4 -0
  103. package/dist/lib/interf-bootstrap.d.ts.map +1 -1
  104. package/dist/lib/interf-bootstrap.js +71 -68
  105. package/dist/lib/interf-bootstrap.js.map +1 -1
  106. package/dist/lib/interf-compile-plan.d.ts +12 -0
  107. package/dist/lib/interf-compile-plan.d.ts.map +1 -0
  108. package/dist/lib/interf-compile-plan.js +143 -0
  109. package/dist/lib/interf-compile-plan.js.map +1 -0
  110. package/dist/lib/interf-detect.d.ts.map +1 -1
  111. package/dist/lib/interf-detect.js +11 -10
  112. package/dist/lib/interf-detect.js.map +1 -1
  113. package/dist/lib/interf-scaffold.d.ts +1 -10
  114. package/dist/lib/interf-scaffold.d.ts.map +1 -1
  115. package/dist/lib/interf-scaffold.js +25 -362
  116. package/dist/lib/interf-scaffold.js.map +1 -1
  117. package/dist/lib/interf-workflow-package.d.ts +4 -0
  118. package/dist/lib/interf-workflow-package.d.ts.map +1 -0
  119. package/dist/lib/interf-workflow-package.js +131 -0
  120. package/dist/lib/interf-workflow-package.js.map +1 -0
  121. package/dist/lib/interf.d.ts +2 -1
  122. package/dist/lib/interf.d.ts.map +1 -1
  123. package/dist/lib/interf.js +2 -1
  124. package/dist/lib/interf.js.map +1 -1
  125. package/dist/lib/local-workflows.d.ts.map +1 -1
  126. package/dist/lib/local-workflows.js +8 -12
  127. package/dist/lib/local-workflows.js.map +1 -1
  128. package/dist/lib/logger.d.ts +4 -0
  129. package/dist/lib/logger.d.ts.map +1 -0
  130. package/dist/lib/logger.js +11 -0
  131. package/dist/lib/logger.js.map +1 -0
  132. package/dist/lib/obsidian.d.ts.map +1 -1
  133. package/dist/lib/obsidian.js +7 -3
  134. package/dist/lib/obsidian.js.map +1 -1
  135. package/dist/lib/parse.d.ts +2 -2
  136. package/dist/lib/parse.d.ts.map +1 -1
  137. package/dist/lib/parse.js +11 -7
  138. package/dist/lib/parse.js.map +1 -1
  139. package/dist/lib/registry.js +3 -3
  140. package/dist/lib/registry.js.map +1 -1
  141. package/dist/lib/runtime-acceptance.d.ts +4 -0
  142. package/dist/lib/runtime-acceptance.d.ts.map +1 -0
  143. package/dist/lib/runtime-acceptance.js +123 -0
  144. package/dist/lib/runtime-acceptance.js.map +1 -0
  145. package/dist/lib/runtime-contracts.d.ts +4 -0
  146. package/dist/lib/runtime-contracts.d.ts.map +1 -0
  147. package/dist/lib/runtime-contracts.js +63 -0
  148. package/dist/lib/runtime-contracts.js.map +1 -0
  149. package/dist/lib/runtime-paths.d.ts +8 -0
  150. package/dist/lib/runtime-paths.d.ts.map +1 -0
  151. package/dist/lib/runtime-paths.js +28 -0
  152. package/dist/lib/runtime-paths.js.map +1 -0
  153. package/dist/lib/runtime-prompt.d.ts +3 -0
  154. package/dist/lib/runtime-prompt.d.ts.map +1 -0
  155. package/dist/lib/runtime-prompt.js +59 -0
  156. package/dist/lib/runtime-prompt.js.map +1 -0
  157. package/dist/lib/runtime-reconcile.d.ts +6 -0
  158. package/dist/lib/runtime-reconcile.d.ts.map +1 -0
  159. package/dist/lib/runtime-reconcile.js +339 -0
  160. package/dist/lib/runtime-reconcile.js.map +1 -0
  161. package/dist/lib/runtime-runs.d.ts +12 -0
  162. package/dist/lib/runtime-runs.d.ts.map +1 -0
  163. package/dist/lib/runtime-runs.js +337 -0
  164. package/dist/lib/runtime-runs.js.map +1 -0
  165. package/dist/lib/runtime-types.d.ts +42 -0
  166. package/dist/lib/runtime-types.d.ts.map +1 -0
  167. package/dist/lib/runtime-types.js +2 -0
  168. package/dist/lib/runtime-types.js.map +1 -0
  169. package/dist/lib/runtime.d.ts +6 -58
  170. package/dist/lib/runtime.d.ts.map +1 -1
  171. package/dist/lib/runtime.js +5 -614
  172. package/dist/lib/runtime.js.map +1 -1
  173. package/dist/lib/schema.d.ts +156 -13
  174. package/dist/lib/schema.d.ts.map +1 -1
  175. package/dist/lib/schema.js +113 -4
  176. package/dist/lib/schema.js.map +1 -1
  177. package/dist/lib/source-config.d.ts +13 -0
  178. package/dist/lib/source-config.d.ts.map +1 -0
  179. package/dist/lib/source-config.js +75 -0
  180. package/dist/lib/source-config.js.map +1 -0
  181. package/dist/lib/state-artifacts.d.ts +15 -0
  182. package/dist/lib/state-artifacts.d.ts.map +1 -0
  183. package/dist/lib/state-artifacts.js +24 -0
  184. package/dist/lib/state-artifacts.js.map +1 -0
  185. package/dist/lib/state-health.d.ts +9 -0
  186. package/dist/lib/state-health.d.ts.map +1 -0
  187. package/dist/lib/state-health.js +330 -0
  188. package/dist/lib/state-health.js.map +1 -0
  189. package/dist/lib/state-io.d.ts +15 -0
  190. package/dist/lib/state-io.d.ts.map +1 -0
  191. package/dist/lib/state-io.js +219 -0
  192. package/dist/lib/state-io.js.map +1 -0
  193. package/dist/lib/state-paths.d.ts +5 -0
  194. package/dist/lib/state-paths.d.ts.map +1 -0
  195. package/dist/lib/state-paths.js +19 -0
  196. package/dist/lib/state-paths.js.map +1 -0
  197. package/dist/lib/state-view.d.ts +7 -0
  198. package/dist/lib/state-view.d.ts.map +1 -0
  199. package/dist/lib/state-view.js +147 -0
  200. package/dist/lib/state-view.js.map +1 -0
  201. package/dist/lib/state.d.ts +6 -46
  202. package/dist/lib/state.d.ts.map +1 -1
  203. package/dist/lib/state.js +5 -632
  204. package/dist/lib/state.js.map +1 -1
  205. package/dist/lib/summarize-plan.d.ts +1 -0
  206. package/dist/lib/summarize-plan.d.ts.map +1 -1
  207. package/dist/lib/summarize-plan.js +10 -0
  208. package/dist/lib/summarize-plan.js.map +1 -1
  209. package/dist/lib/user-config.js +2 -2
  210. package/dist/lib/user-config.js.map +1 -1
  211. package/dist/lib/validate-helpers.d.ts +21 -0
  212. package/dist/lib/validate-helpers.d.ts.map +1 -0
  213. package/dist/lib/validate-helpers.js +72 -0
  214. package/dist/lib/validate-helpers.js.map +1 -0
  215. package/dist/lib/validate-interface.d.ts +2 -0
  216. package/dist/lib/validate-interface.d.ts.map +1 -1
  217. package/dist/lib/validate-interface.js +103 -53
  218. package/dist/lib/validate-interface.js.map +1 -1
  219. package/dist/lib/validate-kb.d.ts +8 -0
  220. package/dist/lib/validate-kb.d.ts.map +1 -1
  221. package/dist/lib/validate-kb.js +53 -24
  222. package/dist/lib/validate-kb.js.map +1 -1
  223. package/dist/lib/validate.d.ts +1 -1
  224. package/dist/lib/validate.d.ts.map +1 -1
  225. package/dist/lib/validate.js +5 -2
  226. package/dist/lib/validate.js.map +1 -1
  227. package/dist/lib/workflow-definitions.d.ts +1 -1
  228. package/dist/lib/workflow-definitions.d.ts.map +1 -1
  229. package/dist/lib/workflow-definitions.js +90 -166
  230. package/dist/lib/workflow-definitions.js.map +1 -1
  231. package/dist/lib/workflow-helpers.d.ts.map +1 -1
  232. package/dist/lib/workflow-helpers.js +6 -3
  233. package/dist/lib/workflow-helpers.js.map +1 -1
  234. package/dist/lib/workflow-stage-runner.d.ts +41 -0
  235. package/dist/lib/workflow-stage-runner.d.ts.map +1 -0
  236. package/dist/lib/workflow-stage-runner.js +106 -0
  237. package/dist/lib/workflow-stage-runner.js.map +1 -0
  238. package/dist/lib/workflow-starter-docs.d.ts +9 -0
  239. package/dist/lib/workflow-starter-docs.d.ts.map +1 -0
  240. package/dist/lib/workflow-starter-docs.js +18 -0
  241. package/dist/lib/workflow-starter-docs.js.map +1 -0
  242. package/dist/lib/workflows-interface-contracts.d.ts +24 -0
  243. package/dist/lib/workflows-interface-contracts.d.ts.map +1 -0
  244. package/dist/lib/workflows-interface-contracts.js +304 -0
  245. package/dist/lib/workflows-interface-contracts.js.map +1 -0
  246. package/dist/lib/workflows-interface.d.ts +3 -10
  247. package/dist/lib/workflows-interface.d.ts.map +1 -1
  248. package/dist/lib/workflows-interface.js +117 -365
  249. package/dist/lib/workflows-interface.js.map +1 -1
  250. package/dist/lib/workflows-kb.d.ts.map +1 -1
  251. package/dist/lib/workflows-kb.js +79 -55
  252. package/dist/lib/workflows-kb.js.map +1 -1
  253. package/dist/lib/workflows.d.ts.map +1 -1
  254. package/dist/lib/workflows.js +1 -1
  255. package/dist/lib/workflows.js.map +1 -1
  256. package/package.json +15 -4
  257. package/skills/interface/analyze/SKILL.md +79 -28
  258. package/skills/interface/compile/SKILL.md +27 -28
  259. package/skills/interface/create/SKILL.md +53 -230
  260. package/skills/interface/create/references/compile-plan-format.md +31 -31
  261. package/skills/interface/create/references/workflows.md +17 -32
  262. package/skills/interface/query/SKILL.md +15 -1
  263. package/skills/interface/retrieve/SKILL.md +32 -65
  264. package/skills/knowledge-base/compile/SKILL.md +59 -83
  265. package/skills/knowledge-base/compile/references/stage-claims.md +1 -1
  266. package/skills/knowledge-base/compile/references/stage-entities.md +2 -2
  267. package/skills/knowledge-base/query/SKILL.md +13 -1
  268. package/skills/knowledge-base/summarize/SKILL.md +54 -24
  269. package/templates/interface/README.md +13 -12
  270. package/templates/interface/interfaces.md +14 -11
  271. package/templates/knowledge-base/README.md +0 -1
  272. package/templates/knowledge-base/registry.md +15 -15
  273. package/templates/workflow-package/README.md +16 -0
  274. package/templates/workflow-package/create/SKILL.md +8 -0
  275. package/templates/workflow-package/interface-query/SKILL.md +29 -0
  276. package/templates/workflow-package/interface-stage/SKILL.md +13 -0
  277. package/templates/workflow-package/knowledge-base-query/SKILL.md +36 -0
  278. package/templates/workflow-package/knowledge-base-stage/SKILL.md +13 -0
  279. package/templates/workflow-starters/interface/interf/README.md +13 -0
  280. package/templates/workflow-starters/interface/interf/create/SKILL.md +15 -0
  281. package/templates/workflow-starters/knowledge-base/interf/README.md +13 -0
  282. package/templates/workflow-starters/knowledge-base/karpathy/README.md +13 -0
@@ -1 +1 @@
1
- {"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/lib/state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/lib/state.ts"],"names":[],"mappings":"AAeA,OAAO,EACL,SAAS,EACT,UAAU,EACV,YAAY,EACZ,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,SAAS,EACT,SAAS,EACT,mBAAmB,EACnB,uBAAuB,EACvB,mBAAmB,EACnB,uBAAuB,EACvB,qBAAqB,EACrB,yBAAyB,EACzB,6BAA6B,EAC7B,qBAAqB,EACrB,yBAAyB,EACzB,sBAAsB,EACtB,kBAAkB,GACnB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,yBAAyB,EACzB,6BAA6B,GAC9B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,0BAA0B,EAC1B,sBAAsB,EACtB,0BAA0B,EAC1B,yBAAyB,EACzB,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,uBAAuB,EACvB,2BAA2B,EAC3B,+BAA+B,EAC/B,0BAA0B,EAC1B,8BAA8B,GAC/B,MAAM,iBAAiB,CAAC"}
@@ -1,6 +1,7 @@
1
1
  export interface SummarizeTarget {
2
2
  source: string;
3
3
  summary: string | null;
4
+ output: string;
4
5
  reason: "pending" | "missing_synth" | "changed" | "full_pass";
5
6
  }
6
7
  export interface SummarizePlan {
@@ -1 +1 @@
1
- {"version":3,"file":"summarize-plan.d.ts","sourceRoot":"","sources":["../../src/lib/summarize-plan.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,MAAM,EAAE,SAAS,GAAG,eAAe,GAAG,SAAS,GAAG,WAAW,CAAC;CAC/D;AAED,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,eAAe,EAAE,CAAC;CAC5B;AAID,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,MAAM,EAClB,iBAAiB,EAAE,MAAM,EACzB,IAAI,GAAE,SAAS,GAAG,KAAiB,GAClC,aAAa,CA0Ff;AAED,wBAAgB,kBAAkB,CAChC,iBAAiB,EAAE,MAAM,EACzB,IAAI,EAAE,aAAa,GAClB,MAAM,CAKR"}
1
+ {"version":3,"file":"summarize-plan.d.ts","sourceRoot":"","sources":["../../src/lib/summarize-plan.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,SAAS,GAAG,eAAe,GAAG,SAAS,GAAG,WAAW,CAAC;CAC/D;AAED,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,eAAe,EAAE,CAAC;CAC5B;AAID,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,MAAM,EAClB,iBAAiB,EAAE,MAAM,EACzB,IAAI,GAAE,SAAS,GAAG,KAAiB,GAClC,aAAa,CA8Ff;AAED,wBAAgB,kBAAkB,CAChC,iBAAiB,EAAE,MAAM,EACzB,IAAI,EAAE,aAAa,GAClB,MAAM,CAKR"}
@@ -24,6 +24,7 @@ export function buildSummarizePlan(sourcePath, knowledgeBasePath, mode = "pendin
24
24
  targets.set(src, {
25
25
  source: src,
26
26
  summary: summaryIndex.get(src) ?? null,
27
+ output: defaultSummaryPath(src),
27
28
  reason: "full_pass",
28
29
  });
29
30
  }
@@ -40,6 +41,7 @@ export function buildSummarizePlan(sourcePath, knowledgeBasePath, mode = "pendin
40
41
  targets.set(src, {
41
42
  source: src,
42
43
  summary: summaryIndex.get(src) ?? null,
44
+ output: defaultSummaryPath(src),
43
45
  reason: "pending",
44
46
  });
45
47
  }
@@ -51,6 +53,7 @@ export function buildSummarizePlan(sourcePath, knowledgeBasePath, mode = "pendin
51
53
  targets.set(src, {
52
54
  source: src,
53
55
  summary: null,
56
+ output: defaultSummaryPath(src),
54
57
  reason: "missing_synth",
55
58
  });
56
59
  }
@@ -69,6 +72,7 @@ export function buildSummarizePlan(sourcePath, knowledgeBasePath, mode = "pendin
69
72
  targets.set(src, {
70
73
  source: src,
71
74
  summary,
75
+ output: defaultSummaryPath(src),
72
76
  reason: "changed",
73
77
  });
74
78
  }
@@ -109,4 +113,10 @@ function readSourceReference(synthPath) {
109
113
  : null;
110
114
  return source?.trim() ?? null;
111
115
  }
116
+ function defaultSummaryPath(sourcePath) {
117
+ if (sourcePath.endsWith(".md"))
118
+ return `summaries/${sourcePath}`;
119
+ const replaced = sourcePath.replace(/\.[^.]+$/, ".md");
120
+ return `summaries/${replaced === sourcePath ? `${sourcePath}.md` : replaced}`;
121
+ }
112
122
  //# sourceMappingURL=summarize-plan.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"summarize-plan.js","sourceRoot":"","sources":["../../src/lib/summarize-plan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"summarize-plan.js","sourceRoot":"","sources":["../../src/lib/summarize-plan.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,13 @@
1
1
  import { existsSync, mkdirSync, writeFileSync } from "node:fs";
2
2
  import { join } from "node:path";
3
3
  import { INTERF_HOME } from "./config.js";
4
- import { safeReadJsonFileWithSchema } from "./parse.js";
4
+ import { readJsonFileWithSchema } from "./parse.js";
5
5
  import { InterfUserConfigSchema } from "./schema.js";
6
6
  export const USER_CONFIG_PATH = join(INTERF_HOME, "config.json");
7
7
  export function loadUserConfig() {
8
8
  if (!existsSync(USER_CONFIG_PATH))
9
9
  return null;
10
- return safeReadJsonFileWithSchema(USER_CONFIG_PATH, "user config", InterfUserConfigSchema);
10
+ return readJsonFileWithSchema(USER_CONFIG_PATH, "user config", InterfUserConfigSchema);
11
11
  }
12
12
  export function saveUserConfig(config) {
13
13
  mkdirSync(INTERF_HOME, { recursive: true });
@@ -1 +1 @@
1
- {"version":3,"file":"user-config.js","sourceRoot":"","sources":["../../src/lib/user-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAyB,MAAM,aAAa,CAAC;AAI5E,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;AAEjE,MAAM,UAAU,cAAc;IAC5B,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC;QAAE,OAAO,IAAI,CAAC;IAC/C,OAAO,0BAA0B,CAAC,gBAAgB,EAAE,aAAa,EAAE,sBAAsB,CAAC,CAAC;AAC7F,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,MAAwB;IACrD,SAAS,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5C,aAAa,CAAC,gBAAgB,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;AAC1E,CAAC"}
1
+ {"version":3,"file":"user-config.js","sourceRoot":"","sources":["../../src/lib/user-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAAyB,MAAM,aAAa,CAAC;AAI5E,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;AAEjE,MAAM,UAAU,cAAc;IAC5B,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC;QAAE,OAAO,IAAI,CAAC;IAC/C,OAAO,sBAAsB,CAAC,gBAAgB,EAAE,aAAa,EAAE,sBAAsB,CAAC,CAAC;AACzF,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,MAAwB;IACrD,SAAS,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5C,aAAa,CAAC,gBAAgB,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;AAC1E,CAAC"}
@@ -0,0 +1,21 @@
1
+ export declare function asStringArray(value: unknown): string[];
2
+ export declare function asRejectedEntries(value: unknown): Array<{
3
+ path: string;
4
+ reason: string;
5
+ }>;
6
+ export declare function asFileEntries(value: unknown): Array<{
7
+ file: string;
8
+ }>;
9
+ export declare function isSubset(left: Set<string>, right: Set<string>): boolean;
10
+ export declare function setsEqual(left: Set<string>, right: Set<string>): boolean;
11
+ export declare function setIntersectionSize(left: Set<string>, right: Set<string>): number;
12
+ export declare function dedupeStrings(values: string[]): string[];
13
+ export interface InventoryFiles {
14
+ legacyFiles: Array<Record<string, unknown>>;
15
+ summaryFiles: Array<Record<string, unknown>>;
16
+ entryFiles: Array<Record<string, unknown>>;
17
+ files: Array<Record<string, unknown>>;
18
+ }
19
+ export declare function readInventoryFiles(inventory: Record<string, unknown> | null): InventoryFiles;
20
+ export declare function readInventoryTotal(inventory: Record<string, unknown> | null, inventoryFiles?: InventoryFiles): number;
21
+ //# sourceMappingURL=validate-helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate-helpers.d.ts","sourceRoot":"","sources":["../../src/lib/validate-helpers.ts"],"names":[],"mappings":"AAAA,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,CAGtD;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CASzF;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAQrE;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,OAAO,CAKvE;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,OAAO,CAExE;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,MAAM,CAMjF;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAExD;AAUD,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC5C,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC7C,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC3C,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACvC;AAED,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GACxC,cAAc,CAkBhB;AAED,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,EACzC,cAAc,CAAC,EAAE,cAAc,GAC9B,MAAM,CAIR"}
@@ -0,0 +1,72 @@
1
+ export function asStringArray(value) {
2
+ if (!Array.isArray(value))
3
+ return [];
4
+ return value.filter((item) => typeof item === "string");
5
+ }
6
+ export function asRejectedEntries(value) {
7
+ if (!Array.isArray(value))
8
+ return [];
9
+ return value.filter((item) => !!item &&
10
+ typeof item === "object" &&
11
+ typeof item.path === "string" &&
12
+ typeof item.reason === "string");
13
+ }
14
+ export function asFileEntries(value) {
15
+ if (!Array.isArray(value))
16
+ return [];
17
+ return value.filter((item) => !!item &&
18
+ typeof item === "object" &&
19
+ typeof item.file === "string");
20
+ }
21
+ export function isSubset(left, right) {
22
+ for (const item of left) {
23
+ if (!right.has(item))
24
+ return false;
25
+ }
26
+ return true;
27
+ }
28
+ export function setsEqual(left, right) {
29
+ return left.size === right.size && isSubset(left, right);
30
+ }
31
+ export function setIntersectionSize(left, right) {
32
+ let count = 0;
33
+ for (const item of left) {
34
+ if (right.has(item))
35
+ count += 1;
36
+ }
37
+ return count;
38
+ }
39
+ export function dedupeStrings(values) {
40
+ return Array.from(new Set(values));
41
+ }
42
+ function asInventoryEntries(value) {
43
+ if (!Array.isArray(value))
44
+ return [];
45
+ return value.filter((item) => !!item && typeof item === "object" && !Array.isArray(item));
46
+ }
47
+ export function readInventoryFiles(inventory) {
48
+ const legacyFiles = asInventoryEntries(inventory?.files);
49
+ const summaryFiles = asInventoryEntries(inventory?.summaries);
50
+ const entryFiles = asInventoryEntries(inventory?.entries);
51
+ const itemFiles = asInventoryEntries(inventory?.items);
52
+ const normalizedEntryFiles = entryFiles.length > 0 ? entryFiles : itemFiles;
53
+ const files = legacyFiles.length > 0
54
+ ? legacyFiles
55
+ : summaryFiles.length > 0
56
+ ? summaryFiles
57
+ : normalizedEntryFiles;
58
+ return {
59
+ legacyFiles,
60
+ summaryFiles,
61
+ entryFiles: normalizedEntryFiles,
62
+ files,
63
+ };
64
+ }
65
+ export function readInventoryTotal(inventory, inventoryFiles) {
66
+ if (typeof inventory?.total === "number")
67
+ return inventory.total;
68
+ if (typeof inventory?.summary_total === "number")
69
+ return inventory.summary_total;
70
+ return (inventoryFiles ?? readInventoryFiles(inventory)).files.length;
71
+ }
72
+ //# sourceMappingURL=validate-helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate-helpers.js","sourceRoot":"","sources":["../../src/lib/validate-helpers.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { type RuntimeContractType } from "./schema.js";
2
+ export declare function extractInterfacePlannedOutputFiles(dirPath: string): string[];
2
3
  export interface InterfaceValidationSummary {
3
4
  config_present: boolean;
4
5
  config_valid: boolean;
@@ -34,6 +35,7 @@ export interface InterfaceRetrieveValidation {
34
35
  abstracts_cover_candidates: boolean;
35
36
  selected_match_relevant: boolean;
36
37
  delta_subset: boolean;
38
+ proof_paths_resolve: boolean;
37
39
  state_counts_match: boolean;
38
40
  state_flags_match: boolean;
39
41
  };
@@ -1 +1 @@
1
- {"version":3,"file":"validate-interface.d.ts","sourceRoot":"","sources":["../../src/lib/validate-interface.ts"],"names":[],"mappings":"AASA,OAAO,EAIL,KAAK,mBAAmB,EACzB,MAAM,aAAa,CAAC;AA0HrB,MAAM,WAAW,0BAA0B;IACzC,cAAc,EAAE,OAAO,CAAC;IACxB,YAAY,EAAE,OAAO,CAAC;IACtB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,yBAAyB,EAAE,OAAO,CAAC;IACnC,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,2BAA2B;IAC1C,EAAE,EAAE,OAAO,CAAC;IACZ,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE;QACN,oBAAoB,EAAE,MAAM,CAAC;QAC7B,mBAAmB,EAAE,MAAM,CAAC;QAC5B,eAAe,EAAE,MAAM,CAAC;QACxB,cAAc,EAAE,MAAM,CAAC;QACvB,cAAc,EAAE,MAAM,CAAC;QACvB,cAAc,EAAE,MAAM,CAAC;QACvB,WAAW,EAAE,MAAM,CAAC;QACpB,gBAAgB,EAAE,MAAM,CAAC;KAC1B,CAAC;IACF,MAAM,EAAE;QACN,yBAAyB,EAAE,OAAO,CAAC;QACnC,aAAa,EAAE,OAAO,CAAC;QACvB,WAAW,EAAE,OAAO,CAAC;QACrB,gBAAgB,EAAE,OAAO,CAAC;QAC1B,cAAc,EAAE,OAAO,CAAC;QACxB,gBAAgB,EAAE,OAAO,CAAC;QAC1B,cAAc,EAAE,OAAO,CAAC;QACxB,0BAA0B,EAAE,OAAO,CAAC;QACpC,qBAAqB,EAAE,OAAO,CAAC;QAC/B,yBAAyB,EAAE,OAAO,CAAC;QACnC,0BAA0B,EAAE,OAAO,CAAC;QACpC,uBAAuB,EAAE,OAAO,CAAC;QACjC,YAAY,EAAE,OAAO,CAAC;QACtB,kBAAkB,EAAE,OAAO,CAAC;QAC5B,iBAAiB,EAAE,OAAO,CAAC;KAC5B,CAAC;IACF,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,OAAO,CAAC;IACZ,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE;QACN,uBAAuB,EAAE,MAAM,CAAC;QAChC,sBAAsB,EAAE,MAAM,CAAC;QAC/B,eAAe,EAAE,MAAM,CAAC;KACzB,CAAC;IACF,MAAM,EAAE;QACN,cAAc,EAAE,OAAO,CAAC;QACxB,YAAY,EAAE,OAAO,CAAC;QACtB,iBAAiB,EAAE,OAAO,CAAC;QAC3B,yBAAyB,EAAE,OAAO,CAAC;QACnC,oBAAoB,EAAE,OAAO,CAAC;QAC9B,qBAAqB,EAAE,OAAO,CAAC;QAC/B,cAAc,EAAE,OAAO,CAAC;QACxB,cAAc,EAAE,OAAO,CAAC;QACxB,cAAc,EAAE,OAAO,CAAC;QACxB,2BAA2B,EAAE,OAAO,CAAC;QACrC,YAAY,EAAE,KAAK,CAAC;YAClB,EAAE,EAAE,MAAM,CAAC;YACX,KAAK,EAAE,MAAM,CAAC;YACd,aAAa,EAAE,mBAAmB,CAAC;YACnC,OAAO,EAAE,OAAO,CAAC;YACjB,OAAO,EAAE,OAAO,CAAC;SAClB,CAAC,CAAC;QACH,cAAc,EAAE,OAAO,CAAC;QACxB,YAAY,EAAE,OAAO,CAAC;KACvB,CAAC;IACF,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,MAAM,GACd,0BAA0B,CAuB5B;AAED,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,MAAM,GACd,uBAAuB,CA6FzB;AAED,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,MAAM,GACd,2BAA2B,CAuS7B"}
1
+ {"version":3,"file":"validate-interface.d.ts","sourceRoot":"","sources":["../../src/lib/validate-interface.ts"],"names":[],"mappings":"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"}
@@ -2,10 +2,11 @@ import { existsSync } from "node:fs";
2
2
  import { join, resolve } from "node:path";
3
3
  import { countFilesRecursive } from "./filesystem.js";
4
4
  import { resolveKnowledgeBaseSourcePath } from "./interf.js";
5
- import { safeReadJsonFile } from "./parse.js";
5
+ import { readJsonFileUnchecked } from "./parse.js";
6
6
  import { getInterfaceWorkflow, resolveInterfaceWorkflowFromConfig, } from "./workflow-definitions.js";
7
7
  import { InterfaceCoverageSchema, InterfaceRelevantSchema, InterfaceStateSchema, } from "./schema.js";
8
8
  import { readKnowledgeBaseConfig, countBrokenWikilinks, asNumber, safeReadText, } from "./validate.js";
9
+ import { asFileEntries, asRejectedEntries, asStringArray, dedupeStrings, isSubset, setIntersectionSize, setsEqual, } from "./validate-helpers.js";
9
10
  function extractFirstSection(text, headings) {
10
11
  for (const heading of headings) {
11
12
  const section = extractSection(text, heading);
@@ -19,52 +20,75 @@ function sectionHasAnyMarker(section, markers) {
19
20
  return false;
20
21
  return markers.some((marker) => new RegExp(`(^|\\n)\\s{0,3}#{0,6}\\s*${escapeRegExp(marker)}`, "im").test(section));
21
22
  }
22
- function asStringArray(value) {
23
- if (!Array.isArray(value))
24
- return [];
25
- return value.filter((item) => typeof item === "string");
26
- }
27
- function asRejectedEntries(value) {
28
- if (!Array.isArray(value))
29
- return [];
30
- return value.filter((item) => !!item &&
31
- typeof item === "object" &&
32
- typeof item.path === "string" &&
33
- typeof item.reason === "string");
34
- }
35
- function asFileEntries(value) {
36
- if (!Array.isArray(value))
37
- return [];
38
- return value.filter((item) => !!item &&
39
- typeof item === "object" &&
40
- typeof item.file === "string");
41
- }
42
- function isSubset(left, right) {
43
- for (const item of left) {
44
- if (!right.has(item))
45
- return false;
23
+ function resolveRetrieveProofPath(interfaceDir, knowledgeBaseDir, value) {
24
+ const attempts = [
25
+ resolve(interfaceDir, value),
26
+ knowledgeBaseDir ? resolve(knowledgeBaseDir, value) : null,
27
+ knowledgeBaseDir ? resolve(join(knowledgeBaseDir, "summaries", value)) : null,
28
+ ];
29
+ for (const attempt of attempts) {
30
+ if (attempt && existsSync(attempt)) {
31
+ return attempt;
32
+ }
46
33
  }
47
- return true;
48
- }
49
- function setsEqual(left, right) {
50
- return left.size === right.size && isSubset(left, right);
34
+ return null;
51
35
  }
52
- function setIntersectionSize(left, right) {
53
- let count = 0;
54
- for (const item of left) {
55
- if (right.has(item))
56
- count += 1;
57
- }
58
- return count;
36
+ function canonicalizeRetrieveProofPaths(interfaceDir, knowledgeBaseDir, values) {
37
+ return values.map((value) => resolveRetrieveProofPath(interfaceDir, knowledgeBaseDir, value) ?? `missing:${value}`);
59
38
  }
60
- function dedupeStrings(values) {
61
- return Array.from(new Set(values));
39
+ function allRetrieveProofPathsResolve(interfaceDir, knowledgeBaseDir, values) {
40
+ return values.every((value) => resolveRetrieveProofPath(interfaceDir, knowledgeBaseDir, value) !== null);
62
41
  }
63
42
  function extractSection(content, heading) {
64
43
  const pattern = new RegExp(`(?:^|\\n)## ${escapeRegExp(heading)}\\s*\\n([\\s\\S]*?)(?=\\n## |\\s*$)`);
65
44
  const match = content.match(pattern);
66
45
  return match?.[1]?.trim() ?? null;
67
46
  }
47
+ function normalizePlannedOutputPath(rawPath, interfaceName) {
48
+ const resolved = (interfaceName
49
+ ? rawPath.replaceAll("<interface-name>", interfaceName)
50
+ : rawPath)
51
+ .trim();
52
+ if (resolved.length === 0)
53
+ return null;
54
+ if (resolved.endsWith("/"))
55
+ return null;
56
+ if (/[{}<>]/.test(resolved))
57
+ return null;
58
+ return resolved;
59
+ }
60
+ export function extractInterfacePlannedOutputFiles(dirPath) {
61
+ const config = readKnowledgeBaseConfig(dirPath);
62
+ const configValue = config.value;
63
+ const knowledgeBaseConfig = configValue?.knowledge_base;
64
+ const knowledgeBasePath = knowledgeBaseConfig?.path;
65
+ const resolvedKnowledgeBasePath = knowledgeBasePath ? resolve(dirPath, knowledgeBasePath) : null;
66
+ const knowledgeBasePathValid = resolvedKnowledgeBasePath !== null && existsSync(join(resolvedKnowledgeBasePath, "summaries"));
67
+ const compilePlanText = safeReadText(join(dirPath, "compile-plan.md"));
68
+ if (!compilePlanText)
69
+ return [];
70
+ const workflowId = resolveInterfaceWorkflowFromConfig(configValue);
71
+ const sourcePath = knowledgeBasePathValid && resolvedKnowledgeBasePath
72
+ ? resolveKnowledgeBaseSourcePath(resolvedKnowledgeBasePath)
73
+ : undefined;
74
+ const workflow = getInterfaceWorkflow(workflowId, { sourcePath, workspacePath: dirPath });
75
+ const compileStageIndex = workflow.stages.findIndex((stage) => stage.contractType === "interface-output");
76
+ if (compileStageIndex < 0)
77
+ return [];
78
+ const compileStage = workflow.stages[compileStageIndex];
79
+ if (!compileStage)
80
+ return [];
81
+ const compileSection = extractFirstSection(compilePlanText, [
82
+ `Stage ${compileStageIndex + 1}: ${compileStage.label}`,
83
+ `Stage ${compileStageIndex + 1} — ${compileStage.label}`,
84
+ ]);
85
+ if (!compileSection)
86
+ return [];
87
+ const interfaceName = typeof configValue?.name === "string" ? configValue.name : null;
88
+ return dedupeStrings([...compileSection.matchAll(/^###\s+`([^`]+)`/gm)]
89
+ .map((match) => normalizePlannedOutputPath(match[1] ?? "", interfaceName))
90
+ .filter((value) => Boolean(value)));
91
+ }
68
92
  function sectionMatchesInterfaceContract(section, contractType) {
69
93
  switch (contractType) {
70
94
  case "interface-retrieval":
@@ -229,13 +253,13 @@ export function validateInterfaceRetrieve(dirPath) {
229
253
  const relevantPresent = existsSync(relevantPath);
230
254
  const coveragePresent = existsSync(coveragePath);
231
255
  const state = statePresent
232
- ? safeReadJsonFile(statePath, "interface state")
256
+ ? readJsonFileUnchecked(statePath, "interface state")
233
257
  : null;
234
258
  const relevant = relevantPresent
235
- ? safeReadJsonFile(relevantPath, "interface retrieved set")
259
+ ? readJsonFileUnchecked(relevantPath, "interface retrieved set")
236
260
  : null;
237
261
  const coverage = coveragePresent
238
- ? safeReadJsonFile(coveragePath, "interface coverage proof")
262
+ ? readJsonFileUnchecked(coveragePath, "interface coverage proof")
239
263
  : null;
240
264
  const queryStarted = Boolean(state?.retrieve_complete) ||
241
265
  Boolean(state?.analyze_complete) ||
@@ -291,6 +315,24 @@ export function validateInterfaceRetrieve(dirPath) {
291
315
  : asStringArray(proof?.excluded).length > 0
292
316
  ? asStringArray(proof?.excluded)
293
317
  : bridgeRejectedEntries.map((entry) => entry.file);
318
+ const canonicalRelevantFiles = canonicalizeRetrieveProofPaths(dirPath, resolvedKnowledgeBasePath, relevantFiles);
319
+ const canonicalDeltaFiles = canonicalizeRetrieveProofPaths(dirPath, resolvedKnowledgeBasePath, deltaFiles);
320
+ const canonicalCandidateFiles = canonicalizeRetrieveProofPaths(dirPath, resolvedKnowledgeBasePath, candidateFiles);
321
+ const canonicalScannedFiles = canonicalizeRetrieveProofPaths(dirPath, resolvedKnowledgeBasePath, scannedFiles);
322
+ const canonicalAbstractReviewedFiles = canonicalizeRetrieveProofPaths(dirPath, resolvedKnowledgeBasePath, abstractReviewedFiles);
323
+ const canonicalSelectedFiles = canonicalizeRetrieveProofPaths(dirPath, resolvedKnowledgeBasePath, selectedFiles);
324
+ const canonicalRejectedPaths = canonicalizeRetrieveProofPaths(dirPath, resolvedKnowledgeBasePath, rejectedPaths);
325
+ const proofPathsResolve = !knowledgeBasePathValid
326
+ ? false
327
+ : allRetrieveProofPathsResolve(dirPath, resolvedKnowledgeBasePath, dedupeStrings([
328
+ ...relevantFiles,
329
+ ...deltaFiles,
330
+ ...candidateFiles,
331
+ ...scannedFiles,
332
+ ...abstractReviewedFiles,
333
+ ...selectedFiles,
334
+ ...rejectedPaths,
335
+ ]));
294
336
  const frontmatterScanned = asNumber(coverage?.frontmatter_scanned) ||
295
337
  asNumber(state?.frontmatter_scanned) ||
296
338
  asNumber(relevant?.total_scanned);
@@ -350,13 +392,13 @@ export function validateInterfaceRetrieve(dirPath) {
350
392
  Array.isArray(proof.retrieved) &&
351
393
  Array.isArray(proof.excluded)) ||
352
394
  bridgeCoverageShape;
353
- const selectedSet = new Set(selectedFiles);
354
- const rejectedSet = new Set(rejectedPaths);
355
- const candidateSet = new Set(candidateFiles);
356
- const scannedSet = new Set(scannedFiles);
357
- const abstractSet = new Set(abstractReviewedFiles);
358
- const relevantSet = new Set(relevantFiles);
359
- const selectedRejectedUnion = new Set([...selectedFiles, ...rejectedPaths]);
395
+ const selectedSet = new Set(canonicalSelectedFiles);
396
+ const rejectedSet = new Set(canonicalRejectedPaths);
397
+ const candidateSet = new Set(canonicalCandidateFiles);
398
+ const scannedSet = new Set(canonicalScannedFiles);
399
+ const abstractSet = new Set(canonicalAbstractReviewedFiles);
400
+ const relevantSet = new Set(canonicalRelevantFiles);
401
+ const selectedRejectedUnion = new Set([...canonicalSelectedFiles, ...canonicalRejectedPaths]);
360
402
  const usesProofScanCoverage = explicitCandidateFiles.length === 0 &&
361
403
  Array.isArray(proof?.scanned) &&
362
404
  typeof coverage?.candidates_after_frontmatter === "number";
@@ -382,7 +424,7 @@ export function validateInterfaceRetrieve(dirPath) {
382
424
  isSubset(rejectedSet, candidateSet));
383
425
  const abstractsCoverCandidates = coverageValid &&
384
426
  (usesProofScanCoverage
385
- ? selectedFiles.every((file) => abstractSet.has(file)) &&
427
+ ? canonicalSelectedFiles.every((file) => abstractSet.has(file)) &&
386
428
  abstractSet.size >= candidateCount &&
387
429
  abstractsRead >= candidateCount
388
430
  : isSubset(candidateSet, abstractSet));
@@ -390,7 +432,7 @@ export function validateInterfaceRetrieve(dirPath) {
390
432
  relevantValid &&
391
433
  setsEqual(selectedSet, relevantSet);
392
434
  const deltaSubset = relevantValid &&
393
- isSubset(new Set(deltaFiles), selectedSet);
435
+ isSubset(new Set(canonicalDeltaFiles), selectedSet);
394
436
  const stateCountsMatch = state !== null &&
395
437
  asNumber(state.frontmatter_scanned) === frontmatterScanned &&
396
438
  asNumber(state.candidate_count) === candidateCount &&
@@ -402,10 +444,12 @@ export function validateInterfaceRetrieve(dirPath) {
402
444
  const stateFlagsMatch = state !== null &&
403
445
  state.retrieve_complete === true &&
404
446
  state.coverage_complete === true;
447
+ const stateSchema = state !== null ? InterfaceStateSchema.safeParse(state) : null;
448
+ const stateValid = stateSchema?.success ?? false;
405
449
  const checks = {
406
450
  knowledge_base_path_valid: knowledgeBasePathValid,
407
451
  state_present: statePresent,
408
- state_valid: state !== null && InterfaceStateSchema.safeParse(state).success,
452
+ state_valid: stateValid,
409
453
  relevant_present: relevantPresent || Array.isArray(proof?.retrieved),
410
454
  relevant_valid: relevantValid ||
411
455
  (relevant !== null && InterfaceRelevantSchema.safeParse(relevant).success),
@@ -418,6 +462,7 @@ export function validateInterfaceRetrieve(dirPath) {
418
462
  abstracts_cover_candidates: abstractsCoverCandidates,
419
463
  selected_match_relevant: selectedMatchRelevant,
420
464
  delta_subset: deltaSubset,
465
+ proof_paths_resolve: proofPathsResolve,
421
466
  state_counts_match: stateCountsMatch,
422
467
  state_flags_match: stateFlagsMatch,
423
468
  };
@@ -429,6 +474,8 @@ export function validateInterfaceRetrieve(dirPath) {
429
474
  errors.push("Missing .interf/state.json.");
430
475
  else if (state === null)
431
476
  errors.push("Could not parse .interf/state.json.");
477
+ else if (!stateValid)
478
+ errors.push("state.json has the wrong shape for an interface runtime.");
432
479
  if (!relevantPresent && !Array.isArray(proof?.retrieved))
433
480
  errors.push("Missing .interf/relevant.json.");
434
481
  else if (!relevantValid)
@@ -445,16 +492,19 @@ export function validateInterfaceRetrieve(dirPath) {
445
492
  errors.push("Candidate, selected, and rejected sets are inconsistent.");
446
493
  if (coveragePresent && coverageValid && !abstractsCoverCandidates)
447
494
  errors.push("Not every candidate file was abstract-reviewed.");
495
+ if ((relevantPresent || coveragePresent) && !proofPathsResolve) {
496
+ errors.push("Retrieve proof references summary paths that do not resolve on disk.");
497
+ }
448
498
  if (relevantPresent && coveragePresent && relevantValid && coverageValid && !selectedMatchRelevant) {
449
499
  errors.push("Selected files in coverage proof do not match relevant_files.");
450
500
  }
451
501
  if (relevantPresent && coveragePresent && relevantValid && coverageValid && !deltaSubset) {
452
502
  errors.push("delta_files are not a subset of selected relevant files.");
453
503
  }
454
- if (statePresent && state !== null && coveragePresent && coverageValid && relevantPresent && relevantValid && !stateCountsMatch) {
504
+ if (statePresent && stateValid && coveragePresent && coverageValid && relevantPresent && relevantValid && !stateCountsMatch) {
455
505
  errors.push("state.json counts do not match the retrieved set and coverage proof.");
456
506
  }
457
- if (statePresent && state !== null && !stateFlagsMatch) {
507
+ if (statePresent && stateValid && !stateFlagsMatch) {
458
508
  errors.push("state.json is missing retrieve_complete or coverage_complete.");
459
509
  }
460
510
  }