@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.
- package/README.md +73 -53
- 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
|
-
|
|
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,
|
|
11
|
+
For the built-in `interf` workflow, portable context for your agents includes:
|
|
13
12
|
|
|
14
13
|
```text
|
|
15
|
-
interf
|
|
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
|
|
22
|
+
That is one example. Different workflows can build different folders. In every case, your agent starts from one local folder.
|
|
24
23
|
|
|
25
|
-
|
|
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
|
|
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
|
-
|
|
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.
|
|
52
|
-
5.
|
|
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
|
|
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
|
-
-
|
|
67
|
-
-
|
|
68
|
-
-
|
|
69
|
-
-
|
|
70
|
-
-
|
|
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
|
-
##
|
|
74
|
+
## Folder Layout
|
|
74
75
|
|
|
75
|
-
|
|
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-
|
|
79
|
-
|
|
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
|
-
|
|
86
|
+
market-report/
|
|
86
87
|
tests/
|
|
87
|
-
|
|
88
|
+
market-report/
|
|
88
89
|
```
|
|
89
90
|
|
|
90
|
-
|
|
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
|
|
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
|
|
117
|
-
- run a source-files baseline so you can see
|
|
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
|
-
##
|
|
130
|
+
## Checks
|
|
128
131
|
|
|
129
|
-
Interf uses
|
|
132
|
+
Interf uses question-and-answer checks.
|
|
133
|
+
They are small questions that tell you whether the work is actually covered.
|
|
130
134
|
|
|
131
|
-
|
|
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
|
-
|
|
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`
|
|
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
|
|
177
|
+
That makes it a small benchmark for the work at hand:
|
|
172
178
|
|
|
173
179
|
- same work
|
|
174
|
-
- same
|
|
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
|
|
193
|
+
## The Compile And Check Loop
|
|
186
194
|
|
|
187
|
-
1. Save a few
|
|
188
|
-
2.
|
|
189
|
-
3. Run `interf compile
|
|
190
|
-
4. Run `interf test
|
|
191
|
-
5. If loops are enabled, let Interf
|
|
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
|
-
|
|
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
|
|
205
|
+
A workflow is the preparation method Interf runs on your files.
|
|
198
206
|
|
|
199
|
-
|
|
207
|
+
In plain language, it is the method that organizes and structures those files for agent use.
|
|
200
208
|
|
|
201
|
-
|
|
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
|
-
##
|
|
230
|
+
## Self-Improving Loops
|
|
231
|
+
|
|
232
|
+
Interf can do more than one compile pass.
|
|
217
233
|
|
|
218
|
-
|
|
234
|
+
If the first portable context is still weak, Interf can revise the workflow and compile again.
|
|
219
235
|
|
|
220
|
-
|
|
236
|
+
Each loop keeps the work and the checks fixed. The thing that changes is the preparation method.
|
|
221
237
|
|
|
222
|
-
|
|
238
|
+
If self-improving loops are enabled, Interf can:
|
|
223
239
|
|
|
224
|
-
|
|
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
|
-
|
|
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
|
|
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.
|
|
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",
|