@interf/compiler 0.1.12 → 0.2.1

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 +197 -192
  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 +39 -14
  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 +8 -63
  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
@@ -0,0 +1,339 @@
1
+ import { existsSync, readFileSync, rmSync, statSync, writeFileSync, } from "node:fs";
2
+ import { join, relative } from "node:path";
3
+ import { countFilesRecursive, listFilesRecursive } from "./filesystem.js";
4
+ import { resolveInterfaceKnowledgeBasePath } from "./interf.js";
5
+ import { parseJsonFrontmatter, readJsonFileUnchecked } from "./parse.js";
6
+ import { loadRuntimeRun } from "./runtime.js";
7
+ import { computeInterfaceHealth, initInterfaceState, initKnowledgeBaseState, loadState, refreshInterfaceArtifacts, refreshKnowledgeBaseArtifacts, saveState, } from "./state.js";
8
+ import { validateKnowledgeBase, validateKnowledgeBaseCompile, validateKnowledgeBaseSummarize, validateInterfaceRetrieve, } from "./validate.js";
9
+ import { asFileEntries, asStringArray, } from "./validate-helpers.js";
10
+ function readActiveRunStartedAtMs(dirPath) {
11
+ const run = loadRuntimeRun(dirPath);
12
+ if (!run || run.status !== "running")
13
+ return null;
14
+ const startedAtMs = Date.parse(run.started_at);
15
+ return Number.isFinite(startedAtMs) ? startedAtMs : null;
16
+ }
17
+ function pathUpdatedSince(dirPath, relativePath, sinceMs) {
18
+ const absolutePath = join(dirPath, relativePath);
19
+ if (!existsSync(absolutePath))
20
+ return false;
21
+ try {
22
+ return statSync(absolutePath).mtimeMs >= sinceMs;
23
+ }
24
+ catch {
25
+ return false;
26
+ }
27
+ }
28
+ function anyFileUpdatedSince(dirPath, relativeDir, sinceMs) {
29
+ const absoluteDir = join(dirPath, relativeDir);
30
+ if (!existsSync(absoluteDir))
31
+ return false;
32
+ for (const filePath of listFilesRecursive(absoluteDir)) {
33
+ try {
34
+ if (statSync(filePath).mtimeMs >= sinceMs) {
35
+ return true;
36
+ }
37
+ }
38
+ catch {
39
+ continue;
40
+ }
41
+ }
42
+ return false;
43
+ }
44
+ function readSummaryAbstract(content) {
45
+ const parsed = parseJsonFrontmatter(content);
46
+ if (!parsed)
47
+ return null;
48
+ const frontmatterAbstract = typeof parsed.frontmatter.abstract === "string"
49
+ ? parsed.frontmatter.abstract.trim()
50
+ : "";
51
+ if (frontmatterAbstract.length > 0)
52
+ return frontmatterAbstract;
53
+ const match = parsed.body.match(/^## Abstract\s+([\s\S]*?)(?:\n## |\n# |$)/m);
54
+ const bodyAbstract = match?.[1]?.trim() ?? "";
55
+ return bodyAbstract.length > 0 ? bodyAbstract : null;
56
+ }
57
+ function isKnowledgeBaseInventoryEntry(entry) {
58
+ return entry !== null;
59
+ }
60
+ function buildKnowledgeBaseInventoryEntries(dirPath) {
61
+ const summariesDir = join(dirPath, "summaries");
62
+ if (!existsSync(summariesDir))
63
+ return [];
64
+ return listFilesRecursive(summariesDir, (filePath) => filePath.endsWith(".md"))
65
+ .map((filePath) => {
66
+ const relativeSummaryPath = relative(dirPath, filePath);
67
+ const content = readFileSync(filePath, "utf8");
68
+ const parsed = parseJsonFrontmatter(content);
69
+ if (!parsed)
70
+ return null;
71
+ const source = typeof parsed.frontmatter.source === "string"
72
+ ? parsed.frontmatter.source.trim()
73
+ : typeof parsed.frontmatter.source_file === "string"
74
+ ? parsed.frontmatter.source_file.trim()
75
+ : typeof parsed.frontmatter.raw === "string"
76
+ ? parsed.frontmatter.raw.trim()
77
+ : "";
78
+ if (source.length === 0)
79
+ return null;
80
+ const abstract = readSummaryAbstract(content);
81
+ return {
82
+ source,
83
+ summary: relativeSummaryPath,
84
+ source_kind: typeof parsed.frontmatter.source_kind === "string"
85
+ ? parsed.frontmatter.source_kind
86
+ : "unknown",
87
+ evidence_tier: typeof parsed.frontmatter.evidence_tier === "string"
88
+ ? parsed.frontmatter.evidence_tier
89
+ : "primary",
90
+ truth_mode: typeof parsed.frontmatter.truth_mode === "string"
91
+ ? parsed.frontmatter.truth_mode
92
+ : "reported-data",
93
+ state: typeof parsed.frontmatter.state === "string"
94
+ ? parsed.frontmatter.state
95
+ : "summarized",
96
+ status: "summarized",
97
+ ...(abstract ? { abstract } : {}),
98
+ frontmatter_scanned: true,
99
+ abstract_read: Boolean(abstract),
100
+ };
101
+ })
102
+ .filter(isKnowledgeBaseInventoryEntry)
103
+ .sort((left, right) => left.source.localeCompare(right.source));
104
+ }
105
+ function writeKnowledgeBaseInventory(dirPath, entries) {
106
+ writeFileSync(join(dirPath, ".interf", "inventory.json"), JSON.stringify({
107
+ entries,
108
+ total: entries.length,
109
+ }, null, 2) + "\n");
110
+ }
111
+ function readRetrieveDeltaFiles(dirPath) {
112
+ const relevant = readJsonFileUnchecked(join(dirPath, ".interf", "relevant.json"), "interface retrieved set");
113
+ if (!relevant)
114
+ return [];
115
+ const explicitDeltaFiles = asStringArray(relevant.delta_files);
116
+ if (explicitDeltaFiles.length > 0)
117
+ return explicitDeltaFiles;
118
+ return asFileEntries(relevant.relevant).map((entry) => entry.file);
119
+ }
120
+ function countInterfaceOutputFiles(dirPath) {
121
+ return [
122
+ join(dirPath, "knowledge", "entities"),
123
+ join(dirPath, "knowledge", "claims"),
124
+ join(dirPath, "briefs"),
125
+ join(dirPath, "summaries"),
126
+ ].reduce((total, path) => total + countFilesRecursive(path), 0);
127
+ }
128
+ export function reconcileKnowledgeBaseSummarizeRun(dirPath, expectedSummaryTotal) {
129
+ const startedAtMs = readActiveRunStartedAtMs(dirPath);
130
+ if (startedAtMs === null)
131
+ return false;
132
+ const plan = readJsonFileUnchecked(join(dirPath, ".interf", "summarize-targets.json"), "summarize plan");
133
+ if (!plan || plan.targetCount === 0)
134
+ return false;
135
+ if (!plan.targets.every((target) => pathUpdatedSince(dirPath, target.output, startedAtMs))) {
136
+ return false;
137
+ }
138
+ const summaryValidation = validateKnowledgeBase(dirPath);
139
+ const summaryCount = countFilesRecursive(join(dirPath, "summaries"));
140
+ if (summaryCount < expectedSummaryTotal ||
141
+ !summaryValidation.summary_frontmatter_valid ||
142
+ !summaryValidation.abstracts_valid) {
143
+ return false;
144
+ }
145
+ const inventoryEntries = buildKnowledgeBaseInventoryEntries(dirPath);
146
+ if (inventoryEntries.length < expectedSummaryTotal)
147
+ return false;
148
+ writeKnowledgeBaseInventory(dirPath, inventoryEntries);
149
+ const currentState = {
150
+ ...initKnowledgeBaseState(),
151
+ ...(loadState(dirPath) ?? {}),
152
+ };
153
+ const nextState = {
154
+ ...currentState,
155
+ pending: [],
156
+ summarized: inventoryEntries.length,
157
+ compiled: 0,
158
+ last_summarize: new Date().toISOString(),
159
+ inventory_complete: true,
160
+ abstracts_read: Math.max(currentState.abstracts_read ?? 0, inventoryEntries.length),
161
+ };
162
+ saveState(dirPath, nextState);
163
+ refreshKnowledgeBaseArtifacts(dirPath, { ensureViewSpec: true });
164
+ return validateKnowledgeBaseSummarize(dirPath).ok;
165
+ }
166
+ export function reconcileKnowledgeBaseCompileRun(dirPath) {
167
+ const startedAtMs = readActiveRunStartedAtMs(dirPath);
168
+ if (startedAtMs === null)
169
+ return false;
170
+ if (!pathUpdatedSince(dirPath, "home.md", startedAtMs) ||
171
+ !(anyFileUpdatedSince(dirPath, "knowledge/entities", startedAtMs) ||
172
+ anyFileUpdatedSince(dirPath, "knowledge/claims", startedAtMs) ||
173
+ anyFileUpdatedSince(dirPath, "knowledge/indexes", startedAtMs))) {
174
+ return false;
175
+ }
176
+ const summaryCount = countFilesRecursive(join(dirPath, "summaries"));
177
+ const inventoryEntries = buildKnowledgeBaseInventoryEntries(dirPath);
178
+ if (summaryCount > 0 && inventoryEntries.length < summaryCount) {
179
+ return false;
180
+ }
181
+ if (inventoryEntries.length > 0) {
182
+ writeKnowledgeBaseInventory(dirPath, inventoryEntries);
183
+ }
184
+ const validation = validateKnowledgeBaseCompile(dirPath);
185
+ if (!validation.required ||
186
+ !validation.checks.outputs_present) {
187
+ return false;
188
+ }
189
+ const currentState = {
190
+ ...initKnowledgeBaseState(),
191
+ ...(loadState(dirPath) ?? {}),
192
+ };
193
+ const nextState = {
194
+ ...currentState,
195
+ summarized: validation.counts.summarized,
196
+ compiled: validation.counts.summarized,
197
+ inventory_complete: true,
198
+ abstracts_read: Math.max(currentState.abstracts_read ?? 0, validation.counts.abstracts_read ?? 0),
199
+ full_reads: Math.max(currentState.full_reads ?? 0, validation.counts.full_reads ?? 0),
200
+ entity_count: validation.counts.entity_files,
201
+ claim_count: validation.counts.claim_files,
202
+ last_compile: new Date().toISOString(),
203
+ };
204
+ saveState(dirPath, nextState);
205
+ refreshKnowledgeBaseArtifacts(dirPath, { ensureViewSpec: true });
206
+ return validateKnowledgeBaseCompile(dirPath).ok;
207
+ }
208
+ export function reconcileInterfaceRetrieveRun(dirPath) {
209
+ const startedAtMs = readActiveRunStartedAtMs(dirPath);
210
+ if (startedAtMs === null)
211
+ return false;
212
+ if (!pathUpdatedSince(dirPath, ".interf/relevant.json", startedAtMs) ||
213
+ !pathUpdatedSince(dirPath, ".interf/coverage.json", startedAtMs)) {
214
+ return false;
215
+ }
216
+ const validation = validateInterfaceRetrieve(dirPath);
217
+ if (!validation.required ||
218
+ !validation.checks.knowledge_base_path_valid ||
219
+ !validation.checks.relevant_present ||
220
+ !validation.checks.relevant_valid ||
221
+ !validation.checks.coverage_present ||
222
+ !validation.checks.coverage_valid ||
223
+ !validation.checks.knowledge_base_count_match ||
224
+ !validation.checks.full_frontmatter_scan ||
225
+ !validation.checks.candidate_partition_valid ||
226
+ !validation.checks.abstracts_cover_candidates ||
227
+ !validation.checks.selected_match_relevant ||
228
+ !validation.checks.delta_subset ||
229
+ !validation.checks.proof_paths_resolve) {
230
+ return false;
231
+ }
232
+ const currentState = {
233
+ ...initInterfaceState(),
234
+ ...(loadState(dirPath) ?? {}),
235
+ };
236
+ const nextState = {
237
+ ...currentState,
238
+ retrieve_complete: true,
239
+ coverage_complete: true,
240
+ analyze_complete: false,
241
+ compile_complete: false,
242
+ frontmatter_scanned: validation.counts.frontmatter_scanned,
243
+ candidate_count: validation.counts.candidate_count,
244
+ abstracts_read: validation.counts.abstracts_read,
245
+ expansion_passes: validation.counts.expansion_passes,
246
+ relevant_count: validation.counts.selected_count,
247
+ rejected_count: validation.counts.rejected_count,
248
+ delta_count: validation.counts.delta_count,
249
+ delta_files: readRetrieveDeltaFiles(dirPath),
250
+ last_retrieve: new Date().toISOString(),
251
+ extracted_entities: 0,
252
+ extracted_claims: 0,
253
+ };
254
+ const analysisPath = join(dirPath, ".interf", "analysis.json");
255
+ if (existsSync(analysisPath)) {
256
+ rmSync(analysisPath, { force: true });
257
+ }
258
+ saveState(dirPath, nextState);
259
+ refreshInterfaceArtifacts(dirPath, { ensureViewSpec: true });
260
+ return validateInterfaceRetrieve(dirPath).ok;
261
+ }
262
+ export function reconcileInterfaceAnalyzeRun(dirPath) {
263
+ const startedAtMs = readActiveRunStartedAtMs(dirPath);
264
+ if (startedAtMs === null)
265
+ return false;
266
+ if (!pathUpdatedSince(dirPath, ".interf/analysis.json", startedAtMs))
267
+ return false;
268
+ const analysis = readJsonFileUnchecked(join(dirPath, ".interf", "analysis.json"), "interface analysis output");
269
+ if (!analysis)
270
+ return false;
271
+ const extractedEntities = Array.isArray(analysis.entities) ? analysis.entities.length : 0;
272
+ const extractedClaims = Array.isArray(analysis.claims) ? analysis.claims.length : 0;
273
+ const currentState = {
274
+ ...initInterfaceState(),
275
+ ...(loadState(dirPath) ?? {}),
276
+ };
277
+ const nextState = {
278
+ ...currentState,
279
+ analyze_complete: true,
280
+ compile_complete: false,
281
+ last_analyze: new Date().toISOString(),
282
+ extracted_entities: extractedEntities,
283
+ extracted_claims: extractedClaims,
284
+ };
285
+ saveState(dirPath, nextState);
286
+ refreshInterfaceArtifacts(dirPath, { ensureViewSpec: true });
287
+ const state = loadState(dirPath);
288
+ return Boolean(state?.analyze_complete);
289
+ }
290
+ export function reconcileInterfaceCompileRun(dirPath) {
291
+ const startedAtMs = readActiveRunStartedAtMs(dirPath);
292
+ if (startedAtMs === null)
293
+ return false;
294
+ if (!pathUpdatedSince(dirPath, "home.md", startedAtMs) ||
295
+ !(anyFileUpdatedSince(dirPath, "knowledge/entities", startedAtMs) ||
296
+ anyFileUpdatedSince(dirPath, "knowledge/claims", startedAtMs) ||
297
+ anyFileUpdatedSince(dirPath, "briefs", startedAtMs) ||
298
+ anyFileUpdatedSince(dirPath, "summaries", startedAtMs))) {
299
+ return false;
300
+ }
301
+ const connectedKnowledgeBasePath = resolveInterfaceKnowledgeBasePath(dirPath);
302
+ const knowledgeBaseSummaryTotal = connectedKnowledgeBasePath
303
+ ? countFilesRecursive(join(connectedKnowledgeBasePath, "summaries"))
304
+ : 0;
305
+ const analysisPath = join(dirPath, ".interf", "analysis.json");
306
+ const hadAnalysisArtifact = existsSync(analysisPath);
307
+ const entityCount = countFilesRecursive(join(dirPath, "knowledge", "entities"));
308
+ const claimCount = countFilesRecursive(join(dirPath, "knowledge", "claims"));
309
+ const outputCount = countInterfaceOutputFiles(dirPath);
310
+ const currentState = {
311
+ ...initInterfaceState(),
312
+ ...(loadState(dirPath) ?? {}),
313
+ };
314
+ const nextState = {
315
+ ...currentState,
316
+ retrieve_complete: currentState.retrieve_complete || currentState.last_retrieve !== null,
317
+ analyze_complete: currentState.analyze_complete || hadAnalysisArtifact || currentState.last_analyze !== null,
318
+ compile_complete: true,
319
+ knowledge_base_summary_count_at_last_compile: knowledgeBaseSummaryTotal,
320
+ entity_count: entityCount,
321
+ claim_count: claimCount,
322
+ output_count: outputCount,
323
+ extracted_entities: Math.max(currentState.extracted_entities, entityCount),
324
+ extracted_claims: Math.max(currentState.extracted_claims, claimCount),
325
+ last_compile: new Date().toISOString(),
326
+ };
327
+ saveState(dirPath, nextState);
328
+ if (hadAnalysisArtifact) {
329
+ rmSync(analysisPath, { force: true });
330
+ }
331
+ refreshInterfaceArtifacts(dirPath, { ensureViewSpec: true });
332
+ const health = computeInterfaceHealth(dirPath);
333
+ const state = loadState(dirPath);
334
+ return Boolean(state?.compile_complete) &&
335
+ health.checks.home_present &&
336
+ health.checks.outputs_present &&
337
+ !health.checks.analysis_pending;
338
+ }
339
+ //# sourceMappingURL=runtime-reconcile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-reconcile.js","sourceRoot":"","sources":["../../src/lib/runtime-reconcile.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { type RuntimeRun, type RuntimeStageContract } from "./schema.js";
2
+ import { type RuntimeRunPatch, type RuntimeStageExecutionOptions, type RuntimeSummarizeExecutionOptions } from "./runtime-types.js";
3
+ export declare function loadRuntimeRun(dirPath: string): RuntimeRun | null;
4
+ export declare function saveRuntimeRun(dirPath: string, run: RuntimeRun): void;
5
+ export declare function writeStageContract(dirPath: string, contract: RuntimeStageContract): string;
6
+ export declare function runExecutorStage(options: RuntimeStageExecutionOptions): Promise<number>;
7
+ export declare function runExecutorSummarizeStage(options: RuntimeSummarizeExecutionOptions): Promise<number>;
8
+ export declare function beginRuntimeRun(dirPath: string, run: RuntimeRun): RuntimeRun;
9
+ export declare function updateRuntimeRun(dirPath: string, patch: RuntimeRunPatch): RuntimeRun | null;
10
+ export declare function markRuntimeRunFailedAfterValidation(dirPath: string, summary: string): RuntimeRun | null;
11
+ export declare function markRuntimeRunSucceededAfterValidation(dirPath: string, summary: string): RuntimeRun | null;
12
+ //# sourceMappingURL=runtime-runs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-runs.d.ts","sourceRoot":"","sources":["../../src/lib/runtime-runs.ts"],"names":[],"mappings":"AAaA,OAAO,EAGL,KAAK,UAAU,EAEf,KAAK,oBAAoB,EAC1B,MAAM,aAAa,CAAC;AAerB,OAAO,EACL,KAAK,eAAe,EAEpB,KAAK,4BAA4B,EACjC,KAAK,gCAAgC,EACtC,MAAM,oBAAoB,CAAC;AAG5B,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAcjE;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,GAAG,IAAI,CAGrE;AAED,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,oBAAoB,GAC7B,MAAM,CAKR;AAED,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,4BAA4B,GACpC,OAAO,CAAC,MAAM,CAAC,CAWjB;AAED,wBAAsB,yBAAyB,CAC7C,OAAO,EAAE,gCAAgC,GACxC,OAAO,CAAC,MAAM,CAAC,CAiCjB;AAED,wBAAgB,eAAe,CAC7B,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,UAAU,GACd,UAAU,CAGZ;AAED,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,eAAe,GACrB,UAAU,GAAG,IAAI,CAYnB;AAED,wBAAgB,mCAAmC,CACjD,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GACd,UAAU,GAAG,IAAI,CAkBnB;AAED,wBAAgB,sCAAsC,CACpD,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GACd,UAAU,GAAG,IAAI,CAkBnB"}