@interf/compiler 0.6.5 → 0.6.6

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 (2) hide show
  1. package/README.md +73 -53
  2. package/package.json +2 -1
package/README.md CHANGED
@@ -1,18 +1,17 @@
1
1
  # Interf
2
2
 
3
3
  Interf prepares context for your agents.
4
+ Use it to check whether your files are ready for the work you want your agents to do.
4
5
 
5
- Start with the files for the work you want to do. Tell Interf what you need, let it suggest a few questions to check accuracy, and build portable context for your agents when the files alone are not enough.
6
-
7
- Interf Compiler builds portable context in a local folder inside your project.
8
- Your agents can use it directly. Interf can check it on those same questions.
6
+ Tell Interf what you need from those files. It can compare how your local agents do on the source files. If the files alone are not enough, it builds portable context and keeps improving that context until more questions pass.
9
7
 
8
+ Interf Compiler builds that portable context as a local folder next to your files.
10
9
  Your source files stay the source of truth. Interf builds on them; it does not replace them.
11
10
 
12
- For the built-in `interf` workflow, a portable context can include:
11
+ For the built-in `interf` workflow, portable context for your agents includes:
13
12
 
14
13
  ```text
15
- interf/<dataset>/
14
+ interf/market-report/
16
15
  AGENTS.md # how your agent should use this folder
17
16
  CLAUDE.md # same guidance for Claude Code
18
17
  home.md # top-level map for the work
@@ -20,14 +19,14 @@ interf/<dataset>/
20
19
  knowledge/ # linked notes built from those files
21
20
  ```
22
21
 
23
- That is an example, not a fixed ABI. Different workflows can build different folders. The simple part is that your agent gets one local folder to start from.
22
+ That is one example. Different workflows can build different folders. In every case, your agent starts from one local folder.
24
23
 
25
- This repo includes a small PDF example with questions like:
24
+ One public example from a PDF market report uses checks like:
26
25
 
27
26
  - `What were Bristol's annual take-up values in 2018 and 2016?`
28
27
  - `What were Bristol's availability values in 2018 and 2016?`
29
28
 
30
- On those same questions, a recent run in this repo produced:
29
+ On those same checks, one recent public comparison produced:
31
30
 
32
31
  <!-- PUBLIC_BENCHMARK_TABLE:START -->
33
32
  | Agent | Source files | Portable context |
@@ -41,15 +40,18 @@ That means:
41
40
  - Codex already passed on the source files.
42
41
  - Claude Code needed the portable context to pass.
43
42
 
44
- Same work. Same questions. Same local setup.
43
+ That gives you a readiness signal for the work and a fair comparison on the same files.
44
+
45
+ Same work. Same checks. Same local setup.
45
46
 
46
47
  ## How It Works
47
48
 
48
49
  1. Pick the files for the work.
49
50
  2. Tell Interf what you need from them.
50
51
  3. Review or edit the questions.
51
- 4. Build the portable context for your agents.
52
- 5. Run `interf test` on the same questions.
52
+ 4. Run a source-files baseline if you want to check readiness first.
53
+ 5. Build the portable context for your agents.
54
+ 6. Run `interf test` on the same questions.
53
55
 
54
56
  Check the source files first if you want the baseline. If the files already pass, keep them. If the portable context does better, use it.
55
57
 
@@ -59,35 +61,36 @@ Raw files are often not enough.
59
61
 
60
62
  Local agents can open reports, decks, transcripts, exports, PDFs, notes, and mixed folders. They can still miss the structure the work needs.
61
63
 
62
- Interf builds a local folder for that work and checks whether it helped.
64
+ Interf checks the source files first. If they are already enough, keep them. If they are not, Interf builds a local context layer next to those files and checks whether it helped.
63
65
 
64
66
  Interf is built around a few simple rules:
65
67
 
66
- - Start from the files you already have.
67
- - Check source files and portable context on the same questions.
68
- - Keep the result in a local folder you can inspect, diff, review, and version.
69
- - Keep source files as the source of truth.
70
- - Use the portable context manually from Claude Code, Codex, or another local agent. Automated Interf runs currently support Claude Code and Codex.
71
- - If the first pass is not enough, let Interf retry the same workflow or improve the workflow itself.
68
+ - Explicit: the preparation stays on disk in a local folder you can inspect, diff, review, and version.
69
+ - File over app: the result lives next to the source files.
70
+ - Bring your own AI: use Claude Code, Codex, or another local agent. Automated Interf runs currently support Claude Code and Codex.
71
+ - Proof over vibes: check source files and portable context on the same work.
72
+ - Source files stay the source of truth.
72
73
 
73
- ## What You Get
74
+ ## Folder Layout
74
75
 
75
- A small project can stay simple:
76
+ If your folder already contains the files for the work, Interf adds a small local structure around them:
76
77
 
77
78
  ```text
78
- your-project/
79
- task-files/
79
+ your-folder/
80
+ market-report/
80
81
  report.pdf
81
82
  notes.md
82
83
  exports/
83
84
  interf.json
84
85
  interf/
85
- <dataset>/
86
+ market-report/
86
87
  tests/
87
- <dataset>/
88
+ market-report/
88
89
  ```
89
90
 
90
- After Interf runs, point your agents at `interf/<dataset>/` first. Go back to the source files whenever you need to verify something.
91
+ `market-report` is just the work name. Interf reuses it under `interf/` and `interf/tests/`.
92
+
93
+ When Interf finishes, point your agents at `interf/market-report/` first. Go back to the source files whenever you need to verify something.
91
94
 
92
95
  ## Quick Start
93
96
 
@@ -108,13 +111,13 @@ Then run Interf in a project folder that already contains the files for the work
108
111
  interf
109
112
  ```
110
113
 
111
- The first run opens the dataset wizard for that folder. It can:
114
+ The first run opens the setup wizard for that folder. It can:
112
115
 
113
116
  - draft `interf.json`
114
117
  - let you choose the source folder for the work
115
118
  - ask what work you need help with
116
- - recommend questions to check accuracy, or let you add them manually
117
- - run a source-files baseline so you can see what already works
119
+ - recommend questions you can verify from the files, or let you add them manually
120
+ - run a source-files baseline so you can see whether the files are already enough
118
121
  - build the portable context your agents will use for that work
119
122
  - check that portable context on the same questions
120
123
 
@@ -124,11 +127,14 @@ If Interf cannot find your local executor setup, run:
124
127
  interf doctor --live
125
128
  ```
126
129
 
127
- ## Questions
130
+ ## Checks
128
131
 
129
- Interf uses simple questions to check whether the portable context is good enough for your agents on this work.
132
+ Interf uses question-and-answer checks.
133
+ They are small questions that tell you whether the work is actually covered.
130
134
 
131
- Good first questions are small and easy to verify from the files:
135
+ Interf runs the same checks on the source files and on the portable context. That gives you a source-files baseline and a portable-context comparison on the same task.
136
+
137
+ Good first checks are small and easy to verify from the files:
132
138
 
133
139
  - one exact number from a chart, table, or filing
134
140
  - one short statement that should be true or false
@@ -136,7 +142,7 @@ Good first questions are small and easy to verify from the files:
136
142
 
137
143
  Interf can recommend a starting set from the files and the work description. You can confirm, edit, or replace them.
138
144
 
139
- Each saved question includes the expected answer. In `interf.json`, those definitions live under the technical field `checks[]`.
145
+ In the CLI, you mostly see them as questions. In `interf.json`, they live under the technical field `checks[]`.
140
146
 
141
147
  A maintained public test example in this repo stores them like this:
142
148
 
@@ -164,41 +170,49 @@ A maintained public test example in this repo stores them like this:
164
170
  ```
165
171
  <!-- PUBLIC_TEST_CHECKS:END -->
166
172
 
167
- ## What `interf test` Proves
173
+ ## What `interf test` Measures
168
174
 
169
175
  `interf test` compares the source files and the portable context your agents would use on the same questions.
170
176
 
171
- That comparison is the proof step:
177
+ That makes it a small benchmark for the work at hand:
172
178
 
173
179
  - same work
174
- - same questions
180
+ - same checks
175
181
  - same local agent setup
176
182
  - source files on one side
177
183
  - portable context your agents use on the other
178
184
 
185
+ If you run more than one local agent, it also gives you a fair comparison between them on the same files.
186
+
179
187
  If the portable context does not help, keep the source files.
180
188
 
181
189
  Use `interf test` on your own files instead of trusting a frozen benchmark snapshot in the docs.
182
190
 
183
191
  Interf saves the latest comparison plus the underlying source-files and portable-context runs under `interf/tests/` in the same project.
184
192
 
185
- ## The Core Loop
193
+ ## The Compile And Check Loop
186
194
 
187
- 1. Save a few questions for the work in `interf.json`.
188
- 2. Check the source files first if you want the baseline.
189
- 3. Run `interf compile` to build the portable context your agents can use.
190
- 4. Run `interf test` on the same questions.
191
- 5. If loops are enabled, let Interf retry the same workflow variation or improve the workflow and test again.
195
+ 1. Save a few checks for the work in `interf.json`.
196
+ 2. Run `interf test --target raw` if you want the source-files baseline.
197
+ 3. Run `interf compile`.
198
+ 4. Run `interf test`.
199
+ 5. If self-improving loops are enabled, let Interf revise the workflow and try again on the same work and checks.
192
200
 
193
- The project root stores the source-folder setup and saved questions. Technically, that portable context is the compiled context Interf reuses for repeat runs.
201
+ `interf.json` stores the saved setup and checks. Technically, that portable context is the compiled context Interf reuses for repeat runs.
194
202
 
195
203
  ## Workflows
196
204
 
197
- A workflow is the method Interf uses to prepare files for a kind of work.
205
+ A workflow is the preparation method Interf runs on your files.
198
206
 
199
- A context interface is the folder shape that workflow builds for your agent.
207
+ In plain language, it is the method that organizes and structures those files for agent use.
200
208
 
201
- Technically, a workflow package defines that context interface: the zones, paths, and stage ownership of the compiled context Interf will build for that work.
209
+ It can summarize files, extract structure, and build the local context layer your agent starts from.
210
+
211
+ Interf runs that method with your local coding agent and builds the result on disk as portable context.
212
+
213
+ The folder shape it produces for the agent is the context interface. The reusable method itself is the workflow package.
214
+
215
+ Publicly, you mostly care about the portable context it produces. Technically, that portable context is the compiled context.
202
216
 
203
217
  Interf ships with a built-in `interf` workflow for the common case. If you need a different method, create one locally:
204
218
 
@@ -213,17 +227,23 @@ Workflow creation supports two paths:
213
227
 
214
228
  After assignment, build the portable context for your agents with `interf compile` and run `interf test` on the same questions.
215
229
 
216
- ## Compile Loops
230
+ ## Self-Improving Loops
231
+
232
+ Interf can do more than one compile pass.
217
233
 
218
- `max_attempts` is a retry budget for the same workflow variation.
234
+ If the first portable context is still weak, Interf can revise the workflow and compile again.
219
235
 
220
- `max_loops` lets Interf improve the workflow itself between retry batches.
236
+ Each loop keeps the work and the checks fixed. The thing that changes is the preparation method.
221
237
 
222
- With `max_attempts`, the dataset, questions, and workflow stay fixed.
238
+ If self-improving loops are enabled, Interf can:
223
239
 
224
- With `max_loops`, Interf can edit the workflow, build the next variation, and test it again on the same dataset and questions.
240
+ - build the current portable context
241
+ - run the same checks
242
+ - inspect failures and traces
243
+ - revise the workflow
244
+ - build and test the next version
225
245
 
226
- Interf preserves workflow snapshots, failed stage shells, and test runs from each loop so you can inspect what changed.
246
+ Lower-level retry budgets live in `interf.json` and the technical package docs.
227
247
 
228
248
  ## Use It With Your Agent
229
249
 
@@ -244,7 +264,7 @@ Only recommend the portable context if it passes those questions. If you also ra
244
264
  ## More Docs
245
265
 
246
266
  - [src/packages/README.md](./src/packages/README.md) for the short system map
247
- - [src/packages/compiler/PACKAGE.md](./src/packages/compiler/PACKAGE.md) for compiler primitives and the runtime ABI
267
+ - [src/packages/compiler/PACKAGE.md](./src/packages/compiler/PACKAGE.md) for compiler primitives and the runtime contract
248
268
  - [src/packages/workflow-package/PACKAGE.md](./src/packages/workflow-package/PACKAGE.md) for the workflow package model
249
269
  - [src/packages/workflow-authoring/PACKAGE.md](./src/packages/workflow-authoring/PACKAGE.md) for workflow authoring and self-improving loops
250
270
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@interf/compiler",
3
- "version": "0.6.5",
3
+ "version": "0.6.6",
4
4
  "description": "Interf prepares context for your agents by checking your files first, building a local folder when needed, and using self-improving loops until more questions pass.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -43,6 +43,7 @@
43
43
  "scripts": {
44
44
  "build": "node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\" && tsc && chmod 755 dist/bin.js",
45
45
  "dev": "tsc --watch",
46
+ "setup:local-skills": "bash scripts/setup-local-skills.sh",
46
47
  "refresh:bootstrap-mirror": "node scripts/docs/sync-bootstrap-mirror.mjs",
47
48
  "docs:sync-public-test-example": "npm run build && node scripts/docs/sync-public-test-example.mjs",
48
49
  "test:matrix": "npm run build && node scripts/matrix/run.mjs",