@interf/compiler 0.2.5 → 0.3.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 (276) hide show
  1. package/README.md +192 -187
  2. package/dist/bin.js +3 -3
  3. package/dist/bin.js.map +1 -1
  4. package/dist/commands/compile.d.ts +1 -0
  5. package/dist/commands/compile.d.ts.map +1 -1
  6. package/dist/commands/compile.js +45 -138
  7. package/dist/commands/compile.js.map +1 -1
  8. package/dist/commands/create-workflow-wizard.d.ts +4 -25
  9. package/dist/commands/create-workflow-wizard.d.ts.map +1 -1
  10. package/dist/commands/create-workflow-wizard.js +46 -222
  11. package/dist/commands/create-workflow-wizard.js.map +1 -1
  12. package/dist/commands/create.d.ts +2 -11
  13. package/dist/commands/create.d.ts.map +1 -1
  14. package/dist/commands/create.js +78 -477
  15. package/dist/commands/create.js.map +1 -1
  16. package/dist/commands/default.d.ts.map +1 -1
  17. package/dist/commands/default.js +27 -43
  18. package/dist/commands/default.js.map +1 -1
  19. package/dist/commands/doctor.js +2 -2
  20. package/dist/commands/doctor.js.map +1 -1
  21. package/dist/commands/executor-flow.d.ts +9 -0
  22. package/dist/commands/executor-flow.d.ts.map +1 -0
  23. package/dist/commands/executor-flow.js +55 -0
  24. package/dist/commands/executor-flow.js.map +1 -0
  25. package/dist/commands/init.d.ts +1 -0
  26. package/dist/commands/init.d.ts.map +1 -1
  27. package/dist/commands/init.js +320 -321
  28. package/dist/commands/init.js.map +1 -1
  29. package/dist/commands/list.d.ts.map +1 -1
  30. package/dist/commands/list.js +12 -22
  31. package/dist/commands/list.js.map +1 -1
  32. package/dist/commands/reset.d.ts.map +1 -1
  33. package/dist/commands/reset.js +27 -124
  34. package/dist/commands/reset.js.map +1 -1
  35. package/dist/commands/source-config-wizard.d.ts +10 -11
  36. package/dist/commands/source-config-wizard.d.ts.map +1 -1
  37. package/dist/commands/source-config-wizard.js +100 -97
  38. package/dist/commands/source-config-wizard.js.map +1 -1
  39. package/dist/commands/status.d.ts.map +1 -1
  40. package/dist/commands/status.js +60 -56
  41. package/dist/commands/status.js.map +1 -1
  42. package/dist/commands/test-flow.d.ts +21 -0
  43. package/dist/commands/test-flow.d.ts.map +1 -0
  44. package/dist/commands/test-flow.js +106 -0
  45. package/dist/commands/test-flow.js.map +1 -0
  46. package/dist/commands/test.d.ts +4 -0
  47. package/dist/commands/test.d.ts.map +1 -0
  48. package/dist/commands/test.js +131 -0
  49. package/dist/commands/test.js.map +1 -0
  50. package/dist/commands/verify.d.ts.map +1 -1
  51. package/dist/commands/verify.js +63 -98
  52. package/dist/commands/verify.js.map +1 -1
  53. package/dist/commands/workspace-flow.d.ts +21 -0
  54. package/dist/commands/workspace-flow.d.ts.map +1 -0
  55. package/dist/commands/workspace-flow.js +90 -0
  56. package/dist/commands/workspace-flow.js.map +1 -0
  57. package/dist/index.d.ts +8 -8
  58. package/dist/index.d.ts.map +1 -1
  59. package/dist/index.js +5 -7
  60. package/dist/index.js.map +1 -1
  61. package/dist/lib/agent-constants.js +1 -1
  62. package/dist/lib/agent-constants.js.map +1 -1
  63. package/dist/lib/agent-detection.js +4 -4
  64. package/dist/lib/agent-detection.js.map +1 -1
  65. package/dist/lib/agent-skills.js +6 -6
  66. package/dist/lib/agent-skills.js.map +1 -1
  67. package/dist/lib/benchmark-execution.d.ts.map +1 -1
  68. package/dist/lib/benchmark-execution.js +32 -19
  69. package/dist/lib/benchmark-execution.js.map +1 -1
  70. package/dist/lib/benchmark-sandbox.d.ts +10 -0
  71. package/dist/lib/benchmark-sandbox.d.ts.map +1 -0
  72. package/dist/lib/benchmark-sandbox.js +75 -0
  73. package/dist/lib/benchmark-sandbox.js.map +1 -0
  74. package/dist/lib/benchmark-targets.d.ts +4 -4
  75. package/dist/lib/benchmark-targets.d.ts.map +1 -1
  76. package/dist/lib/benchmark-targets.js +20 -54
  77. package/dist/lib/benchmark-targets.js.map +1 -1
  78. package/dist/lib/benchmark-types.d.ts +2 -3
  79. package/dist/lib/benchmark-types.d.ts.map +1 -1
  80. package/dist/lib/benchmark.d.ts +1 -1
  81. package/dist/lib/benchmark.d.ts.map +1 -1
  82. package/dist/lib/benchmark.js +1 -1
  83. package/dist/lib/benchmark.js.map +1 -1
  84. package/dist/lib/config.d.ts +1 -2
  85. package/dist/lib/config.d.ts.map +1 -1
  86. package/dist/lib/config.js +2 -4
  87. package/dist/lib/config.js.map +1 -1
  88. package/dist/lib/discovery.d.ts +1 -1
  89. package/dist/lib/discovery.d.ts.map +1 -1
  90. package/dist/lib/discovery.js +7 -2
  91. package/dist/lib/discovery.js.map +1 -1
  92. package/dist/lib/eval-packs.d.ts +6 -52
  93. package/dist/lib/eval-packs.d.ts.map +1 -1
  94. package/dist/lib/eval-packs.js +11 -39
  95. package/dist/lib/eval-packs.js.map +1 -1
  96. package/dist/lib/interf-bootstrap.d.ts +3 -5
  97. package/dist/lib/interf-bootstrap.d.ts.map +1 -1
  98. package/dist/lib/interf-bootstrap.js +10 -57
  99. package/dist/lib/interf-bootstrap.js.map +1 -1
  100. package/dist/lib/interf-detect.d.ts +13 -11
  101. package/dist/lib/interf-detect.d.ts.map +1 -1
  102. package/dist/lib/interf-detect.js +59 -45
  103. package/dist/lib/interf-detect.js.map +1 -1
  104. package/dist/lib/interf-scaffold.d.ts +2 -5
  105. package/dist/lib/interf-scaffold.d.ts.map +1 -1
  106. package/dist/lib/interf-scaffold.js +99 -235
  107. package/dist/lib/interf-scaffold.js.map +1 -1
  108. package/dist/lib/interf-workflow-package.d.ts +1 -2
  109. package/dist/lib/interf-workflow-package.d.ts.map +1 -1
  110. package/dist/lib/interf-workflow-package.js +99 -90
  111. package/dist/lib/interf-workflow-package.js.map +1 -1
  112. package/dist/lib/interf.d.ts +4 -5
  113. package/dist/lib/interf.d.ts.map +1 -1
  114. package/dist/lib/interf.js +3 -6
  115. package/dist/lib/interf.js.map +1 -1
  116. package/dist/lib/local-workflows.d.ts +9 -8
  117. package/dist/lib/local-workflows.d.ts.map +1 -1
  118. package/dist/lib/local-workflows.js +56 -92
  119. package/dist/lib/local-workflows.js.map +1 -1
  120. package/dist/lib/obsidian.d.ts +1 -3
  121. package/dist/lib/obsidian.d.ts.map +1 -1
  122. package/dist/lib/obsidian.js +10 -81
  123. package/dist/lib/obsidian.js.map +1 -1
  124. package/dist/lib/registry.d.ts +6 -17
  125. package/dist/lib/registry.d.ts.map +1 -1
  126. package/dist/lib/registry.js +36 -50
  127. package/dist/lib/registry.js.map +1 -1
  128. package/dist/lib/runtime-contracts.d.ts +4 -3
  129. package/dist/lib/runtime-contracts.d.ts.map +1 -1
  130. package/dist/lib/runtime-contracts.js +125 -9
  131. package/dist/lib/runtime-contracts.js.map +1 -1
  132. package/dist/lib/runtime-reconcile.d.ts +3 -5
  133. package/dist/lib/runtime-reconcile.d.ts.map +1 -1
  134. package/dist/lib/runtime-reconcile.js +70 -167
  135. package/dist/lib/runtime-reconcile.js.map +1 -1
  136. package/dist/lib/runtime-runs.d.ts.map +1 -1
  137. package/dist/lib/runtime-runs.js +61 -57
  138. package/dist/lib/runtime-runs.js.map +1 -1
  139. package/dist/lib/runtime-types.d.ts +16 -6
  140. package/dist/lib/runtime-types.d.ts.map +1 -1
  141. package/dist/lib/runtime.d.ts +2 -2
  142. package/dist/lib/runtime.d.ts.map +1 -1
  143. package/dist/lib/runtime.js +1 -1
  144. package/dist/lib/runtime.js.map +1 -1
  145. package/dist/lib/schema.d.ts +69 -311
  146. package/dist/lib/schema.d.ts.map +1 -1
  147. package/dist/lib/schema.js +49 -210
  148. package/dist/lib/schema.js.map +1 -1
  149. package/dist/lib/source-config.d.ts +8 -7
  150. package/dist/lib/source-config.d.ts.map +1 -1
  151. package/dist/lib/source-config.js +59 -63
  152. package/dist/lib/source-config.js.map +1 -1
  153. package/dist/lib/state-artifacts.d.ts +5 -11
  154. package/dist/lib/state-artifacts.d.ts.map +1 -1
  155. package/dist/lib/state-artifacts.js +8 -18
  156. package/dist/lib/state-artifacts.js.map +1 -1
  157. package/dist/lib/state-health.d.ts +4 -8
  158. package/dist/lib/state-health.d.ts.map +1 -1
  159. package/dist/lib/state-health.js +52 -233
  160. package/dist/lib/state-health.js.map +1 -1
  161. package/dist/lib/state-io.d.ts +7 -12
  162. package/dist/lib/state-io.d.ts.map +1 -1
  163. package/dist/lib/state-io.js +32 -93
  164. package/dist/lib/state-io.js.map +1 -1
  165. package/dist/lib/state-view.d.ts +4 -6
  166. package/dist/lib/state-view.d.ts.map +1 -1
  167. package/dist/lib/state-view.js +62 -101
  168. package/dist/lib/state-view.js.map +1 -1
  169. package/dist/lib/state.d.ts +5 -5
  170. package/dist/lib/state.d.ts.map +1 -1
  171. package/dist/lib/state.js +4 -4
  172. package/dist/lib/state.js.map +1 -1
  173. package/dist/lib/summarize-plan.d.ts +2 -2
  174. package/dist/lib/summarize-plan.d.ts.map +1 -1
  175. package/dist/lib/summarize-plan.js +13 -13
  176. package/dist/lib/summarize-plan.js.map +1 -1
  177. package/dist/lib/{validate-kb.d.ts → validate-workspace.d.ts} +49 -8
  178. package/dist/lib/validate-workspace.d.ts.map +1 -0
  179. package/dist/lib/validate-workspace.js +398 -0
  180. package/dist/lib/validate-workspace.js.map +1 -0
  181. package/dist/lib/validate.d.ts +5 -7
  182. package/dist/lib/validate.d.ts.map +1 -1
  183. package/dist/lib/validate.js +22 -20
  184. package/dist/lib/validate.js.map +1 -1
  185. package/dist/lib/workflow-definitions.d.ts +14 -50
  186. package/dist/lib/workflow-definitions.d.ts.map +1 -1
  187. package/dist/lib/workflow-definitions.js +100 -353
  188. package/dist/lib/workflow-definitions.js.map +1 -1
  189. package/dist/lib/workflow-helpers.d.ts +3 -4
  190. package/dist/lib/workflow-helpers.d.ts.map +1 -1
  191. package/dist/lib/workflow-helpers.js +17 -49
  192. package/dist/lib/workflow-helpers.js.map +1 -1
  193. package/dist/lib/workflow-stage-runner.d.ts +1 -2
  194. package/dist/lib/workflow-stage-runner.d.ts.map +1 -1
  195. package/dist/lib/workflow-stage-runner.js +4 -6
  196. package/dist/lib/workflow-stage-runner.js.map +1 -1
  197. package/dist/lib/workflow-starter-docs.d.ts +3 -5
  198. package/dist/lib/workflow-starter-docs.d.ts.map +1 -1
  199. package/dist/lib/workflow-starter-docs.js +2 -17
  200. package/dist/lib/workflow-starter-docs.js.map +1 -1
  201. package/dist/lib/workflows.d.ts +9 -14
  202. package/dist/lib/workflows.d.ts.map +1 -1
  203. package/dist/lib/workflows.js +15 -30
  204. package/dist/lib/workflows.js.map +1 -1
  205. package/dist/lib/workspace-compile.d.ts +51 -0
  206. package/dist/lib/workspace-compile.d.ts.map +1 -0
  207. package/dist/lib/workspace-compile.js +397 -0
  208. package/dist/lib/workspace-compile.js.map +1 -0
  209. package/package.json +9 -9
  210. package/skills/benchmark/SKILL.md +20 -27
  211. package/skills/workflow/create/SKILL.md +10 -14
  212. package/skills/workspace/shape/SKILL.md +15 -0
  213. package/skills/workspace/structure/SKILL.md +15 -0
  214. package/skills/workspace/summarize/SKILL.md +15 -0
  215. package/templates/workspace/README.md +23 -0
  216. package/templates/workspace/interfignore +2 -0
  217. package/dist/commands/benchmark.d.ts +0 -3
  218. package/dist/commands/benchmark.d.ts.map +0 -1
  219. package/dist/commands/benchmark.js +0 -374
  220. package/dist/commands/benchmark.js.map +0 -1
  221. package/dist/lib/bundled-templates.d.ts +0 -5
  222. package/dist/lib/bundled-templates.d.ts.map +0 -1
  223. package/dist/lib/bundled-templates.js +0 -23
  224. package/dist/lib/bundled-templates.js.map +0 -1
  225. package/dist/lib/interf-compile-plan.d.ts +0 -12
  226. package/dist/lib/interf-compile-plan.d.ts.map +0 -1
  227. package/dist/lib/interf-compile-plan.js +0 -143
  228. package/dist/lib/interf-compile-plan.js.map +0 -1
  229. package/dist/lib/validate-interface.d.ts +0 -79
  230. package/dist/lib/validate-interface.d.ts.map +0 -1
  231. package/dist/lib/validate-interface.js +0 -535
  232. package/dist/lib/validate-interface.js.map +0 -1
  233. package/dist/lib/validate-kb.d.ts.map +0 -1
  234. package/dist/lib/validate-kb.js +0 -252
  235. package/dist/lib/validate-kb.js.map +0 -1
  236. package/dist/lib/workflows-interface-contracts.d.ts +0 -24
  237. package/dist/lib/workflows-interface-contracts.d.ts.map +0 -1
  238. package/dist/lib/workflows-interface-contracts.js +0 -304
  239. package/dist/lib/workflows-interface-contracts.js.map +0 -1
  240. package/dist/lib/workflows-interface.d.ts +0 -72
  241. package/dist/lib/workflows-interface.d.ts.map +0 -1
  242. package/dist/lib/workflows-interface.js +0 -377
  243. package/dist/lib/workflows-interface.js.map +0 -1
  244. package/dist/lib/workflows-kb.d.ts +0 -50
  245. package/dist/lib/workflows-kb.d.ts.map +0 -1
  246. package/dist/lib/workflows-kb.js +0 -306
  247. package/dist/lib/workflows-kb.js.map +0 -1
  248. package/skills/interface/analyze/SKILL.md +0 -191
  249. package/skills/interface/compile/SKILL.md +0 -152
  250. package/skills/interface/compile/references/output-format.md +0 -48
  251. package/skills/interface/create/SKILL.md +0 -87
  252. package/skills/interface/create/references/compile-plan-format.md +0 -109
  253. package/skills/interface/create/references/workflows.md +0 -35
  254. package/skills/interface/query/SKILL.md +0 -48
  255. package/skills/interface/retrieve/SKILL.md +0 -133
  256. package/skills/knowledge-base/compile/SKILL.md +0 -196
  257. package/skills/knowledge-base/compile/references/output-format.md +0 -48
  258. package/skills/knowledge-base/compile/references/stage-claims.md +0 -60
  259. package/skills/knowledge-base/compile/references/stage-entities.md +0 -46
  260. package/skills/knowledge-base/query/SKILL.md +0 -45
  261. package/skills/knowledge-base/summarize/SKILL.md +0 -152
  262. package/templates/interface/README.md +0 -159
  263. package/templates/interface/interfaces.md +0 -102
  264. package/templates/knowledge-base/README.md +0 -137
  265. package/templates/knowledge-base/interfignore +0 -19
  266. package/templates/knowledge-base/registry.md +0 -118
  267. package/templates/workflow-package/README.md +0 -16
  268. package/templates/workflow-package/create/SKILL.md +0 -8
  269. package/templates/workflow-package/interface-query/SKILL.md +0 -29
  270. package/templates/workflow-package/interface-stage/SKILL.md +0 -13
  271. package/templates/workflow-package/knowledge-base-query/SKILL.md +0 -36
  272. package/templates/workflow-package/knowledge-base-stage/SKILL.md +0 -13
  273. package/templates/workflow-starters/interface/interf/README.md +0 -13
  274. package/templates/workflow-starters/interface/interf/create/SKILL.md +0 -15
  275. package/templates/workflow-starters/knowledge-base/interf/README.md +0 -13
  276. package/templates/workflow-starters/knowledge-base/karpathy/README.md +0 -13
@@ -1,159 +0,0 @@
1
- # Interf Interface
2
-
3
- Focused local context shells on top of your knowledge base. Any coding agent can navigate them.
4
-
5
- ## Architecture
6
-
7
- ```text
8
- source-folder/
9
- interf/
10
- {knowledge-base-name}/ knowledge base
11
- interfaces/
12
- {name}/ interface
13
- interf.json type: interface, workflow, knowledge_base.path
14
- compile-plan.md interface execution plan
15
- AGENTS.md bootstrap
16
- CLAUDE.md Claude Code bootstrap mirror
17
- workflow/ local workflow package
18
- home.md entry point
19
- .gitignore
20
- .interf/ hidden runtime state
21
- knowledge/ local entities/claims/indexes
22
- briefs/ hero documents
23
- summaries/ periodic summaries
24
- ```
25
-
26
- Interfaces are usually created by `interf create interface` from the source folder for a knowledge base. The source folder is the human control plane. The interface is the generated workspace for one job.
27
-
28
- Contract model:
29
- - `type` = engine object kind in config/schema (`interface`)
30
- - `workflow` = user-facing methodology selection
31
- - `.interf/stage-contract.json` = generated per-run contract for the active stage
32
- - executor = the agent/runtime that implements the active stage
33
-
34
- ## Compile flow
35
-
36
- ```text
37
- interf compile:
38
- Step 1/3: interface/retrieve scan all summary frontmatter, prove coverage, compute delta
39
- Step 2/3: interface/analyze batch analysis, extract, refine runtime from evidence
40
- Step 3/3: interface/compile create local context shell, validate
41
- ```
42
-
43
- State bridges between steps. If step 2 fails, the next run resumes from step 2.
44
-
45
- ## Workflows
46
-
47
- Shipped built-in interface workflow:
48
- - `interf`
49
-
50
- The selected workflow is written to `interf.json` and can seed starter local `workflow/` docs.
51
- Use `compile-plan.md` for interface-specific direction such as target entities, years, metrics, chart families, and output focus.
52
- Create a reusable local workflow only when you want a named method variation you expect to reuse across multiple interfaces.
53
-
54
- ## Bundled stage skills
55
-
56
- | Skill | Step | What |
57
- |---|---|---|
58
- | `interface/create` | — | Create interface, draft the initial runtime hypothesis |
59
- | `interface/retrieve` | 1/3 | Scan the full knowledge-base summary set, persist retrieval proof, compute delta |
60
- | `interface/analyze` | 2/3 | Batch analysis, subagents, extract entities/claims |
61
- | `interface/compile` | 3/3 | Build local outputs, validate, clean up |
62
-
63
- ## interf.json
64
-
65
- Minimal. Source of truth for type and knowledge-base reference.
66
-
67
- ```json
68
- {
69
- "type": "interface",
70
- "name": "weekly-briefing",
71
- "workflow": "interf",
72
- "knowledge_base": {
73
- "path": "../.."
74
- }
75
- }
76
- ```
77
-
78
- `knowledge_base.path` points to the parent knowledge base. All interface-specific filter criteria, extraction goals, and output specs live in `compile-plan.md`.
79
- `workflow` records the selected reusable method. Interf generates per-run stage contracts from it for this interface.
80
-
81
- If you want to specialize this specific interface, refine `compile-plan.md`.
82
- If you want a reusable retrieval, ontology, or output method, use a workflow and local `workflow/`.
83
- If you want a different stage graph, proof model, or required artifacts, that is effectively a new workflow.
84
-
85
- `AGENTS.md` is the source of truth. `CLAUDE.md` is a generated mirror so Claude Code picks up the same interface instructions automatically.
86
-
87
- `workflow/` is where you can edit interface-local instruction docs:
88
- - `workflow/README.md`
89
- - `workflow/create/SKILL.md`
90
- - `workflow/use/query/SKILL.md`
91
- - `workflow/compile/stages/retrieve/SKILL.md`
92
- - `workflow/compile/stages/analyze/SKILL.md`
93
- - `workflow/compile/stages/compile/SKILL.md`
94
-
95
- Simplest pattern:
96
- - edit `workflow/compile/stages/retrieve/SKILL.md` to change retrieval logic
97
- - edit `workflow/compile/stages/analyze/SKILL.md` to change ontology/extraction logic
98
- - edit `workflow/compile/stages/compile/SKILL.md` to change output/navigation logic
99
- - edit `workflow/use/query/SKILL.md` to change the manual interface query loop
100
-
101
- Workflow seeds may already place starter docs in these folders. Treat them as editable local guidance, not as locked system files.
102
- Use `AGENTS.md` for navigation, command usage, and the manual access checklist. Use `workflow/` for query behavior and stage behavior.
103
-
104
- These are the local instruction layer for the interface. Add JSON frontmatter with `mode: extend` or `mode: override` when you want to declare whether a doc should add to or replace the bundled stage instructions for that stage.
105
-
106
- Interf still enforces the same coverage proof, artifact schema, and state flow either way.
107
- If you need a different stage chain, artifact contract, or verifier flow, create a new workflow in the SDK instead of encoding that in local skill docs.
108
-
109
- If your coding agent is sandboxed to the current directory tree, launch it from the source folder so the source root, knowledge base, and this interface all stay reachable.
110
- Use `../../.interf/source-access.json` to verify that raw files are actually reachable before you depend on raw fallback in a manual agent session. `suggested_checks` are canonical absolute file paths so they remain valid from inside the interface folder.
111
-
112
- Interfaces include minimal `.obsidian/graph.json` defaults. Open the parent knowledge-base folder in Obsidian so knowledge-base summaries, source links, and interface links remain navigable.
113
-
114
- ## Runtime files
115
-
116
- Interfaces maintain runtime artifacts under `.interf/`:
117
- - `state.json` — mutable runtime state
118
- - `health.json` — computed compile status and key metrics
119
- - `view-spec.json` — presentation contract for cards, graph scope, and navigation
120
- - `run.json` — current or last deterministic stage run
121
- - `stage-contract.json` — machine-readable contract for the active stage
122
- - `run-history.jsonl` — append-only history of completed runs
123
- - `relevant.json` — selected files for this interface
124
- - `coverage.json` — retrieval proof for this run
125
-
126
- `interf status` for an interface is read-only and deterministic. It checks config, knowledge-base path resolution, broken wikilinks, and retrieval coverage.
127
- `interf verify interface-plan --json` is the deterministic referee for the scaffold and `compile-plan.md`.
128
- `interf verify retrieve --json` is the deterministic referee for interface retrieval proof before analyze/build.
129
-
130
- See `docs/runtime-contract.md` for the human-readable contract and `src/lib/schema.ts` for the exact runtime schemas.
131
-
132
- ## compile-plan.md
133
-
134
- Generated by `interface/create`. Defines:
135
- - Stage 1: filter criteria
136
- - Stage 2: extraction goals and allowed runtime refinements
137
- - Stage 3: output specs for the local context shell
138
-
139
- This is the interface-specific customization layer for the built-in `interf` workflow unless you choose a reusable local workflow instead.
140
- Compile can refine it when the evidence clearly demands better local structure.
141
-
142
- ## Key principles
143
-
144
- **Local outputs only.** The parent knowledge base is read-only. The interface builds its own `knowledge/` and output folders.
145
-
146
- **No auto-cascade.** Knowledge-base compile and interface compile are separate commands.
147
-
148
- **Delta compile.** On subsequent runs, only changed files are processed.
149
-
150
- **Coverage-gated retrieval.** Retrieval is complete only when the system can prove the full summary set was scanned at the routing layer, candidate abstracts were reviewed, and selected plus rejected sets were persisted.
151
-
152
- **Local context shell.** The interface is not just a report folder. It should become the easiest place for an agent to enter, navigate, and understand the relevant slice of the knowledge base.
153
-
154
- ## Reset
155
-
156
- ```text
157
- interf reset compile remove knowledge/ + briefs/, keep summaries/ + config
158
- interf reset all remove all generated content, preserve config files
159
- ```
@@ -1,102 +0,0 @@
1
- # Interface Patterns
2
-
3
- Interf currently ships one built-in interface workflow: `interf`.
4
- That workflow always runs retrieve -> analyze -> compile.
5
-
6
- What changes from interface to interface is the use case, the `compile-plan.md` customization, and any optional local workflow extension docs.
7
-
8
- Use the patterns below as planning lenses you can encode in `compile-plan.md` or a reusable local interface workflow. They are not built-in workflow ids.
9
-
10
- Benchmark queries exist today as validation prompts and expected behaviors. The automated benchmark runner and score logging loop are implemented separately from this shipped template reference.
11
-
12
- ---
13
-
14
- ## Current-State Briefing Lens
15
-
16
- Current-state briefing. Best when you want the latest truth, recent changes, and immediate next steps.
17
-
18
- **Questions this interface answers:**
19
- - What is true right now?
20
- - What changed recently?
21
- - What should I focus on next?
22
- - Which decisions or risks are active?
23
-
24
- **Filter:** categories include current-state docs, changelogs, plans, updates, decisions
25
-
26
- **Outputs:**
27
- - Current-State.md — current truth with citations
28
- - Changes.md — recent changes and trend lines
29
- - Next-Steps.md — action-oriented follow-through
30
-
31
- **Summaries:** weekly, monthly, or milestone-based
32
-
33
- **Benchmark queries:**
34
- - "What is true right now?" — should prefer current, confirmed signals over stale material
35
- - "What changed recently?" — should compare recent vs prior, not show random old notes
36
- - "What should happen next?" — should surface evidence-linked actions, not generic advice
37
-
38
- ---
39
-
40
- ## Research Synthesis Lens
41
-
42
- Research synthesis. Best when you want themes, contradictions, evidence strength, and open questions from a dense knowledge base.
43
-
44
- **Questions this interface answers:**
45
- - What are the dominant themes?
46
- - Which claims are well-supported?
47
- - Where do sources disagree?
48
- - What questions still need more evidence?
49
-
50
- **Filter:** categories include primary sources, papers, notes, experiments, datasets, repos
51
-
52
- **Outputs:**
53
- - Themes.md — recurring themes with evidence
54
- - Contradictions.md — disagreements, caveats, counterevidence
55
- - Open-Questions.md — unresolved questions and next reads
56
-
57
- **Summaries:** by topic cluster or period
58
-
59
- **Benchmark queries:**
60
- - "What are the strongest themes?" — should show themes with citations, not loose impressions
61
- - "Where do sources disagree?" — should show both sides and the evidence basis
62
- - "What should I read next?" — should turn gaps into concrete next-source suggestions
63
-
64
- ---
65
-
66
- ## Gap Review Lens
67
-
68
- Audit and gap-finding. Best when you want to improve knowledge-base quality, spot stale areas, and surface missing or contradictory evidence.
69
-
70
- **Questions this interface answers:**
71
- - What is missing or weakly covered?
72
- - Which facts or claims look inconsistent?
73
- - Which outputs need verification or refresh?
74
- - What should be added to the knowledge base next?
75
-
76
- **Filter:** categories include canonical records, requirements, policies, status docs, recent changes
77
-
78
- **Outputs:**
79
- - Gaps.md — missing areas and thin coverage
80
- - Contradictions.md — inconsistent facts or claims
81
- - Follow-Ups.md — concrete verification or ingestion work
82
-
83
- **Benchmark queries:**
84
- - "What is missing?" — should identify concrete gaps, not generic advice
85
- - "What looks inconsistent?" — should cite the conflicting evidence explicitly
86
- - "What should we verify next?" — should turn issues into concrete follow-up work
87
-
88
- ---
89
-
90
- ## Self-improving Loop
91
-
92
- Every interface can carry benchmark queries. The intended validation cycle is:
93
-
94
- 1. Build the interface from its config and current compile plan
95
- 2. Run benchmark queries against the compiled interface workspace
96
- 3. Score: did each query return expected behavior?
97
- 4. If score is below threshold:
98
- - Analyze failures
99
- - Adjust the interface plan and ontology in `compile-plan.md`
100
- - Re-compile
101
- - Re-benchmark
102
- 5. Log scores per model per interface for comparison
@@ -1,137 +0,0 @@
1
- # Interf Knowledge Base
2
-
3
- Your local knowledge base for agents. Attach to any folder, then let Interf compile source files into summaries plus a cross-file knowledge layer.
4
-
5
- ## Architecture
6
-
7
- ```text
8
- source-folder/ user's files (untouched)
9
- └── interf/
10
- └── {knowledge-base-name}/ knowledge base
11
- ├── interf.json type: knowledge-base, workflow, name, source.path
12
- ├── AGENTS.md bootstrap
13
- ├── CLAUDE.md Claude Code bootstrap mirror
14
- ├── workflow/ local workflow package
15
- ├── home.md entry point
16
- ├── .interfignore source exclusion patterns
17
- ├── .gitignore
18
- ├── .interf/ hidden runtime state
19
- │ ├── state.json
20
- │ ├── health.json
21
- │ ├── source-access.json
22
- │ └── view-spec.json
23
- ├── summaries/ per-file evidence objects
24
- ├── knowledge/
25
- │ ├── entities/
26
- │ ├── claims/
27
- │ └── indexes/
28
- └── interfaces/
29
- └── {name}/ task-specific interfaces for specific jobs
30
- ```
31
-
32
- Knowledge bases are created by `interf create knowledge-base` from the source folder. The source folder is the human control plane. The knowledge base is the generated workspace. One source folder can host multiple named knowledge bases under `interf/` when you want to compare workflows over the same folder.
33
-
34
- Contract model:
35
- - `type` = engine object kind in config/schema (`knowledge-base`)
36
- - `workflow` = user-facing methodology selection
37
- - `.interf/stage-contract.json` = generated per-run contract for the active stage
38
- - executor = the agent/runtime that implements the active stage
39
-
40
- ## Processing flow
41
-
42
- ```text
43
- cd source-folder
44
- interf create knowledge-base → creates ./interf/<knowledge-base-name>/
45
- interf compile:
46
- Step 1/2: summarize source files into evidence objects → summaries/
47
- Step 2/2: compile cross-file knowledge + retrieval → knowledge/ + home.md
48
- ```
49
-
50
- ## Workflows
51
-
52
- Shipped knowledge-base workflows:
53
- - `interf`
54
- - `karpathy`
55
-
56
- Create new reusable workflows from the wizard when you want a named local variation.
57
-
58
- The selected workflow is written to `interf.json` and can seed starter local `workflow/` docs.
59
-
60
- ## Bundled stage skills
61
-
62
- | Skill | Step | What |
63
- |---|---|---|
64
- | `knowledge-base/summarize` | 1/2 | Generate source-grounded evidence objects for unprocessed source files |
65
- | `knowledge-base/compile` | 2/2 | Build the cross-file knowledge layer and retrieval structures |
66
-
67
- ## interf.json
68
-
69
- Minimal config. Points to the source folder:
70
-
71
- ```json
72
- {
73
- "type": "knowledge-base",
74
- "name": "my-notes",
75
- "workflow": "interf",
76
- "source": {
77
- "path": "../.."
78
- }
79
- }
80
- ```
81
-
82
- `workflow` records the selected methodology. Interf generates per-run stage contracts from it for this knowledge base.
83
-
84
- If you want different stage behavior or domain bias, use a workflow and local `workflow/`.
85
- If you want a different stage graph, proof model, or required artifacts, that is effectively a new workflow.
86
-
87
- `AGENTS.md` is the source of truth. `CLAUDE.md` is a generated mirror so Claude Code picks up the same knowledge-base instructions automatically.
88
-
89
- `workflow/` is where you can edit knowledge-base-local instruction docs:
90
- - `workflow/README.md`
91
- - `workflow/create/SKILL.md`
92
- - `workflow/use/query/SKILL.md`
93
- - `workflow/compile/stages/summarize/SKILL.md`
94
- - `workflow/compile/stages/compile/SKILL.md`
95
-
96
- Simplest pattern:
97
- - edit `workflow/compile/stages/summarize/SKILL.md` to change summarize logic
98
- - edit `workflow/compile/stages/compile/SKILL.md` to change knowledge-base compile logic
99
- - edit `workflow/use/query/SKILL.md` to change the manual query loop
100
-
101
- Workflow seeds may already place starter docs in these folders. Treat them as editable local guidance, not as locked system files.
102
- Use `AGENTS.md` for navigation, command usage, and the manual access checklist. Use `workflow/` for query behavior and stage behavior.
103
-
104
- These are the local instruction layer for the knowledge base. Add JSON frontmatter with `mode: extend` or `mode: override` when you want to declare whether a doc should add to or replace the bundled stage instructions for that stage.
105
-
106
- Interf still enforces the same proof contract, artifact schema, and state flow either way.
107
- If you need a different stage chain, artifact contract, or verifier flow, create a new workflow in the SDK instead of encoding that in local skill docs.
108
-
109
- If your coding agent is sandboxed to the current directory tree, launch it from the source folder so both raw files and this knowledge base stay reachable.
110
- Use `.interf/source-access.json` to verify that raw files are actually reachable before you depend on raw fallback in a manual agent session. `suggested_checks` are canonical absolute file paths so they still work from nested interface folders.
111
-
112
- ## Status
113
-
114
- Knowledge bases maintain runtime artifacts under `.interf/`:
115
- - `state.json` — mutable runtime state
116
- - `health.json` — computed trust surface for summarize/compile status
117
- - `source-access.json` — raw-file access quick check for manual sessions
118
- - `run.json` — current or last deterministic stage run
119
- - `stage-contract.json` — machine-readable contract for the active stage
120
- - `run-history.jsonl` — append-only history of completed runs
121
- - `view-spec.json` — viewer-neutral layout contract
122
-
123
- `interf status` is read-only and deterministic. It runs source discovery, checks config, summary frontmatter, abstract minimums, and broken wikilinks.
124
- Use `interf verify summarize --json` after summary generation and `interf verify compile --json` after knowledge-base compilation for explicit pass/fail checks when testing the workflow or driving it from an agent.
125
-
126
- See `docs/runtime-contract.md` for the human-readable contract and `src/lib/schema.ts` for the exact runtime schemas.
127
-
128
- ## Scan accountability
129
-
130
- `knowledge-base/compile` writes an inventory of all `summaries/` files before scanning. The scanned count must equal the inventory count. If it does not, the skill stops and reports the gap.
131
-
132
- ## Reset
133
-
134
- ```text
135
- interf reset compile remove knowledge/, keep summaries/
136
- interf reset all remove all generated content, preserve source files
137
- ```
@@ -1,19 +0,0 @@
1
- # Files and directories to exclude from interf source discovery.
2
- # Same syntax as .gitignore.
3
-
4
- # Build artifacts
5
- dist/
6
- build/
7
- out/
8
-
9
- # Logs and temp files
10
- *.log
11
- *.tmp
12
-
13
- # Environment and secrets
14
- .env
15
- .env.*
16
-
17
- # OS files
18
- .DS_Store
19
- Thumbs.db
@@ -1,118 +0,0 @@
1
- # Interf Registry
2
-
3
- The registry at `~/.interf/registry.json` tracks all knowledge bases and interfaces on this machine. The CLI and skills read it to list knowledge bases, show status, and navigate between them.
4
-
5
- ## Format
6
-
7
- ```json
8
- {
9
- "version": 5,
10
- "knowledgeBases": [
11
- {
12
- "name": "market-intel",
13
- "path": "/path/to/market-intel",
14
- "workflow": "interf",
15
- "created": "2026-03-30T14:00:00Z"
16
- },
17
- {
18
- "name": "ops",
19
- "path": "/path/to/ops",
20
- "workflow": "karpathy",
21
- "created": "2026-03-30T15:00:00Z"
22
- }
23
- ],
24
- "interfaces": [
25
- {
26
- "name": "q2-launch-brief",
27
- "path": "/path/to/q2-launch-brief",
28
- "knowledgeBase": "ops",
29
- "knowledgeBasePath": "/path/to/ops",
30
- "workflow": "interf",
31
- "created": "2026-03-30T16:00:00Z"
32
- },
33
- {
34
- "name": "pricing-gap-review",
35
- "path": "/path/to/pricing-gap-review",
36
- "knowledgeBase": "market-intel",
37
- "knowledgeBasePath": "/path/to/market-intel",
38
- "workflow": "interf",
39
- "created": "2026-03-30T16:30:00Z"
40
- }
41
- ]
42
- }
43
- ```
44
-
45
- ## Fields
46
-
47
- **Knowledge-base entry:**
48
- - `name` — short identifier
49
- - `path` — absolute path to knowledge-base root
50
- - `workflow` — selected methodology
51
- - `created` — ISO timestamp
52
-
53
- **Interface entry:**
54
- - `name` — short identifier
55
- - `path` — absolute path to interface root
56
- - `knowledgeBase` — name of the connected knowledge base
57
- - `knowledgeBasePath` — absolute path to the connected knowledge base
58
- - `workflow` — selected methodology (`interf` for the shipped default, or a local workflow id)
59
- - `created` — ISO timestamp
60
-
61
- ## When it's updated
62
-
63
- | Action | Registry change |
64
- |---|---|
65
- | `interf create knowledge-base` | Adds a knowledge-base entry |
66
- | `interf create interface` | Adds an interface entry |
67
- | `interf compile` | Does NOT update registry |
68
- | manual cleanup / future remove command | Removes entry (does not delete files) |
69
-
70
- The registry stores static info only: names, paths, connections. It never stores processing status.
71
-
72
- ## How status is computed (live, not stored)
73
-
74
- Processing status is always computed on demand from the filesystem:
75
-
76
- ```
77
- For each knowledge base:
78
- source_count = discover source files from source.path
79
- summary_count = count files in {path}/summaries/
80
- pending = source_count - summary_count
81
- status = pending > 0 ? "pending" : "compiled"
82
-
83
- For each interface:
84
- state = read {path}/.interf/state.json
85
- knowledge_base_summary = count files in {knowledgeBasePath}/summaries/
86
- stale = knowledge_base_summary > state.knowledge_base_summary_count_at_last_compile
87
- status = stale ? "stale" : "compiled"
88
- ```
89
-
90
- This avoids cached status going stale. Always compute fresh.
91
-
92
- ## CLI output
93
-
94
- ```
95
- $ interf list
96
-
97
- Knowledge Bases
98
- ─────────────────────────────────
99
- market-intel 1,240 files compiled
100
- ops 892 files 3 pending
101
-
102
- Interfaces
103
- ─────────────────────────────────
104
- q2-launch-brief → ops compiled
105
- pricing-gap-review → market-intel stale (12 new)
106
- ```
107
-
108
- ## Creation
109
-
110
- `interf create knowledge-base` or `interf create interface` creates `~/.interf/` and `registry.json` if they don't exist yet. The initial registry:
111
-
112
- ```json
113
- {
114
- "version": 5,
115
- "knowledgeBases": [],
116
- "interfaces": []
117
- }
118
- ```
@@ -1,16 +0,0 @@
1
- # {{workflow_label}}
2
-
3
- This is the local {{target_type}} workflow package. Interf uses it when you run `interf compile`.
4
-
5
- - `workflow.json` defines the stage graph and contract kinds for this workspace.
6
- - `create/` explains what the scaffold/setup step produces.
7
- - `compile/stages/` contains one stage folder per compile stage.
8
- - `use/query/` explains how to use the compiled knowledge base or interface in manual agent sessions.
9
-
10
- Workflow id: `{{workflow_id}}`
11
- Method: {{workflow_hint}}
12
-
13
- Compile stages:
14
- {{stage_lines}}
15
-
16
- Interf CLI remains the referee for contracts, proofs, validators, and runtime state under `.interf/`.
@@ -1,8 +0,0 @@
1
- # Create
2
-
3
- This doc explains what Interf scaffolded for the selected {{target_type}} workflow.
4
-
5
- - selected workflow: `{{workflow_id}}`
6
- - method: {{workflow_hint}}
7
- - the CLI owns create-time validation, folder creation, config writing, and bootstrap docs
8
- - edit this workflow package after scaffold if you want to refine how later compile/query behavior works
@@ -1,29 +0,0 @@
1
- # Interface Query
2
-
3
- {{top_preflight}}
4
- Use this skill when answering questions from inside this interface in a manual agent session.
5
- AGENTS.md should route manual questions here before an agent starts browsing notes on its own.
6
- Treat this as the interface-local query layer, not a replacement for the parent knowledge-base query loop.
7
- This is a workspace-local query doc, not a required globally installed slash-command skill.
8
-
9
- Default loop:
10
- - start with `AGENTS.md`, then `home.md`
11
- - browse local `knowledge/`, `briefs/`, and local `summaries/` first
12
- - answer direct target questions from the hero brief before widening scope
13
- - follow wikilinks and backlinks outward before treating one note as complete
14
- - if local interface artifacts are insufficient, load and follow the parent knowledge-base query guidance at `../../workflow/use/query/SKILL.md` before going raw
15
- - use parent knowledge-base artifacts in this order: `../../home.md`, then `../../knowledge/`, then `../../summaries/`
16
- - when a caller asks for a trace, audit log, or `artifacts_consulted` list, record local `workflow/use/query/SKILL.md` after you inspect it
17
- - when you climb to the parent knowledge-base query loop, record `../../workflow/use/query/SKILL.md` after you inspect it
18
-
19
- First-reply rule:
20
- {{first_reply_rule}}
21
-
22
- Task bias:
23
- - reuse the exact metric and period words from the question
24
- - if the target ledger marks a value approximate, say the literal word `approximate`
25
- - if the target ledger marks a value chart-derived or table-derived, say that literally
26
- - prefer the target ledger's `bin_choice` when the question is bin-shaped, and the `value_display` when the question asks for the approximate reading itself
27
- - do not add raw-access commentary unless the question asks about raw access
28
-
29
- Keep the interface-specific routing here. Keep raw-source, PDF/chart, and general fallback policy in `../../workflow/use/query/SKILL.md`.
@@ -1,13 +0,0 @@
1
- ---
2
- {
3
- "mode": "extend"
4
- }
5
- ---
6
- # {{stage_label}}
7
-
8
- This workflow stage customizes the built-in {{contract_type}} contract for the `{{workflow_id}}` interface workflow.
9
-
10
- - purpose: {{stage_description}}
11
- {{stage_notes}}
12
-
13
- Interf still enforces the same contract reads, writes, coverage proof rules, validators, and runtime reconciliation for this stage.
@@ -1,36 +0,0 @@
1
- # Knowledge Base Query
2
-
3
- {{top_preflight}}
4
- Use this skill when answering questions from inside this knowledge base in a manual agent session.
5
- AGENTS.md should route manual questions here before an agent starts browsing notes on its own.
6
- This is the canonical parent-knowledge-base query loop that attached interfaces can inherit before raw fallback.
7
- This is a workspace-local query doc, not a required globally installed slash-command skill.
8
-
9
- Default loop:
10
- - start with `AGENTS.md`, then `home.md`
11
- - browse `knowledge/` indexes, entities, and claims first
12
- - follow wikilinks and backlinks outward before treating one note as complete
13
- - use `summaries/` for deeper evidence
14
- - use raw source files only when needed for verification, direct quotes, ambiguity, or missing context
15
- - when a caller asks for a trace, audit log, or `artifacts_consulted` list, record `workflow/use/query/SKILL.md` after you inspect it
16
-
17
- Raw-source gate:
18
- - inspect `.interf/source-access.json` before depending on raw files
19
- - actually open and inspect at least one `suggested_checks` path before claiming raw-file verification; a plain existence check is not enough
20
- - if raw files are not reachable, say the answer is based on compiled knowledge-base artifacts only
21
- - when the question depends on exact figures, direct quotes, chart values, table values, or image-derived evidence, raw inspection is required before answering confidently
22
-
23
- PDF / chart rule:
24
- - if the source is a PDF, deck, or report and the needed evidence may live in charts, tables, or figures, do not assume the default text layer or existing notes captured everything
25
- - if summaries do not preserve the needed numeric detail, inspect the raw source and say whether the value was text-derived, table-derived, or chart-derived
26
- - opening the PDF with `Read` is not enough for an exact-value chart question; take a machine-readable extraction path before answering
27
- - choose that extraction path from the local environment you actually have instead of assuming specific tools
28
- - verify the chosen local extraction path is actually available before depending on it; if it is missing, switch once to another available local path
29
- - if the first local extraction method misses the number, attempt another local recovery path before settling for a visual estimate
30
- - if the chart does not expose exact numbers as text, say that clearly instead of pretending the compiled notes were sufficient
31
- - if you can only estimate from the chart, label the answer `approximate` and keep the precision gap explicit
32
-
33
- First-reply rule:
34
- {{first_reply_rule}}
35
-
36
- You can edit this file to bias manual question-answering behavior without changing workflow stage logic.
@@ -1,13 +0,0 @@
1
- ---
2
- {
3
- "mode": "extend"
4
- }
5
- ---
6
- # {{stage_label}}
7
-
8
- This workflow stage customizes the built-in {{contract_type}} contract for the `{{workflow_id}}` knowledge-base workflow.
9
-
10
- - purpose: {{stage_description}}
11
- {{stage_notes}}
12
-
13
- Interf still enforces the same contract reads, writes, proof rules, validators, and runtime reconciliation for this stage.
@@ -1,13 +0,0 @@
1
- ---
2
- {
3
- "mode": "extend"
4
- }
5
- ---
6
- # Interf Interface Workflow
7
-
8
- Bias this interface toward the concrete user task, durable evidence routing, and answer-ready outputs.
9
-
10
- - turn the requested task into a bounded target set before broadening scope
11
- - preserve named entities, periods, metrics, units, and comparators instead of collapsing them into generic prose
12
- - when exact values matter, keep text-derived, table-derived, and chart-derived evidence distinct
13
- - prefer one concise hero brief and the smallest supporting note set that lets weaker agents answer reliably