@interf/compiler 0.3.2 → 0.3.3
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 +96 -57
- package/dist/commands/compile.d.ts +2 -0
- package/dist/commands/compile.d.ts.map +1 -1
- package/dist/commands/compile.js +42 -10
- package/dist/commands/compile.js.map +1 -1
- package/dist/commands/create.d.ts.map +1 -1
- package/dist/commands/create.js +5 -5
- package/dist/commands/create.js.map +1 -1
- package/dist/commands/default.js +1 -1
- package/dist/commands/default.js.map +1 -1
- package/dist/commands/init.js +18 -22
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/source-config-wizard.d.ts +2 -1
- package/dist/commands/source-config-wizard.d.ts.map +1 -1
- package/dist/commands/source-config-wizard.js +29 -27
- package/dist/commands/source-config-wizard.js.map +1 -1
- package/dist/commands/test-flow.d.ts +4 -0
- package/dist/commands/test-flow.d.ts.map +1 -1
- package/dist/commands/test-flow.js +24 -13
- package/dist/commands/test-flow.js.map +1 -1
- package/dist/commands/test.d.ts.map +1 -1
- package/dist/commands/test.js +16 -5
- package/dist/commands/test.js.map +1 -1
- package/dist/commands/workspace-flow.d.ts +2 -0
- package/dist/commands/workspace-flow.d.ts.map +1 -1
- package/dist/commands/workspace-flow.js +3 -2
- package/dist/commands/workspace-flow.js.map +1 -1
- package/dist/lib/agent-shells.d.ts +17 -0
- package/dist/lib/agent-shells.d.ts.map +1 -0
- package/dist/lib/agent-shells.js +294 -0
- package/dist/lib/agent-shells.js.map +1 -0
- package/dist/lib/benchmark-execution.d.ts +5 -1
- package/dist/lib/benchmark-execution.d.ts.map +1 -1
- package/dist/lib/benchmark-execution.js +34 -12
- package/dist/lib/benchmark-execution.js.map +1 -1
- package/dist/lib/benchmark-paths.d.ts +2 -0
- package/dist/lib/benchmark-paths.d.ts.map +1 -1
- package/dist/lib/benchmark-paths.js +6 -0
- package/dist/lib/benchmark-paths.js.map +1 -1
- package/dist/lib/benchmark-sandbox.d.ts +2 -0
- package/dist/lib/benchmark-sandbox.d.ts.map +1 -1
- package/dist/lib/benchmark-sandbox.js +68 -37
- package/dist/lib/benchmark-sandbox.js.map +1 -1
- package/dist/lib/benchmark-targets.js +1 -1
- package/dist/lib/benchmark-targets.js.map +1 -1
- package/dist/lib/interf-bootstrap.d.ts +2 -13
- package/dist/lib/interf-bootstrap.d.ts.map +1 -1
- package/dist/lib/interf-bootstrap.js +7 -164
- package/dist/lib/interf-bootstrap.js.map +1 -1
- package/dist/lib/interf-detect.d.ts +1 -0
- package/dist/lib/interf-detect.d.ts.map +1 -1
- package/dist/lib/interf-detect.js +5 -18
- package/dist/lib/interf-detect.js.map +1 -1
- package/dist/lib/interf-scaffold.d.ts.map +1 -1
- package/dist/lib/interf-scaffold.js +7 -71
- package/dist/lib/interf-scaffold.js.map +1 -1
- package/dist/lib/interf-workflow-package.d.ts.map +1 -1
- package/dist/lib/interf-workflow-package.js +20 -25
- package/dist/lib/interf-workflow-package.js.map +1 -1
- package/dist/lib/interf.d.ts +3 -2
- package/dist/lib/interf.d.ts.map +1 -1
- package/dist/lib/interf.js +3 -2
- package/dist/lib/interf.js.map +1 -1
- package/dist/lib/local-workflows.d.ts +6 -1
- package/dist/lib/local-workflows.d.ts.map +1 -1
- package/dist/lib/local-workflows.js +143 -2
- package/dist/lib/local-workflows.js.map +1 -1
- package/dist/lib/runtime-contracts.d.ts.map +1 -1
- package/dist/lib/runtime-contracts.js +10 -4
- package/dist/lib/runtime-contracts.js.map +1 -1
- package/dist/lib/runtime-prompt.d.ts.map +1 -1
- package/dist/lib/runtime-prompt.js +1 -0
- package/dist/lib/runtime-prompt.js.map +1 -1
- package/dist/lib/runtime-runs.d.ts.map +1 -1
- package/dist/lib/runtime-runs.js +6 -2
- package/dist/lib/runtime-runs.js.map +1 -1
- package/dist/lib/runtime-types.d.ts +1 -0
- package/dist/lib/runtime-types.d.ts.map +1 -1
- package/dist/lib/schema.d.ts +88 -23
- package/dist/lib/schema.d.ts.map +1 -1
- package/dist/lib/schema.js +66 -37
- package/dist/lib/schema.js.map +1 -1
- package/dist/lib/source-config.d.ts +3 -3
- package/dist/lib/source-config.d.ts.map +1 -1
- package/dist/lib/source-config.js +8 -6
- package/dist/lib/source-config.js.map +1 -1
- package/dist/lib/state-artifacts.d.ts +2 -2
- package/dist/lib/state-artifacts.d.ts.map +1 -1
- package/dist/lib/state-artifacts.js +3 -3
- package/dist/lib/state-artifacts.js.map +1 -1
- package/dist/lib/state-io.d.ts +2 -2
- package/dist/lib/state-io.d.ts.map +1 -1
- package/dist/lib/state-io.js +5 -5
- package/dist/lib/state-io.js.map +1 -1
- package/dist/lib/state-paths.d.ts +1 -1
- package/dist/lib/state-paths.d.ts.map +1 -1
- package/dist/lib/state-paths.js +3 -3
- package/dist/lib/state-paths.js.map +1 -1
- package/dist/lib/state-view.d.ts +2 -2
- package/dist/lib/state-view.d.ts.map +1 -1
- package/dist/lib/state-view.js +6 -7
- package/dist/lib/state-view.js.map +1 -1
- package/dist/lib/state.d.ts +4 -4
- package/dist/lib/state.d.ts.map +1 -1
- package/dist/lib/state.js +3 -3
- package/dist/lib/state.js.map +1 -1
- package/dist/lib/workflow-definitions.d.ts +4 -1
- package/dist/lib/workflow-definitions.d.ts.map +1 -1
- package/dist/lib/workflow-definitions.js +38 -3
- package/dist/lib/workflow-definitions.js.map +1 -1
- package/dist/lib/workflow-stage-runner.d.ts +1 -0
- package/dist/lib/workflow-stage-runner.d.ts.map +1 -1
- package/dist/lib/workflow-stage-runner.js +2 -0
- package/dist/lib/workflow-stage-runner.js.map +1 -1
- package/dist/lib/workflows.d.ts +1 -1
- package/dist/lib/workflows.d.ts.map +1 -1
- package/dist/lib/workspace-compile.d.ts +4 -0
- package/dist/lib/workspace-compile.d.ts.map +1 -1
- package/dist/lib/workspace-compile.js +108 -66
- package/dist/lib/workspace-compile.js.map +1 -1
- package/dist/lib/workspace-docs.d.ts +3 -0
- package/dist/lib/workspace-docs.d.ts.map +1 -0
- package/dist/lib/workspace-docs.js +82 -0
- package/dist/lib/workspace-docs.js.map +1 -0
- package/dist/lib/workspace-raw.d.ts +30 -0
- package/dist/lib/workspace-raw.d.ts.map +1 -0
- package/dist/lib/workspace-raw.js +102 -0
- package/dist/lib/workspace-raw.js.map +1 -0
- package/dist/lib/workspace-schema.d.ts +26 -0
- package/dist/lib/workspace-schema.d.ts.map +1 -0
- package/dist/lib/workspace-schema.js +132 -0
- package/dist/lib/workspace-schema.js.map +1 -0
- package/package.json +1 -1
- package/skills/workflow/create/SKILL.md +19 -0
- package/skills/workspace/shape/SKILL.md +1 -1
- package/templates/workspace/README.md +2 -1
package/README.md
CHANGED
|
@@ -1,21 +1,29 @@
|
|
|
1
1
|
# Interf
|
|
2
2
|
|
|
3
|
-
Open-source
|
|
3
|
+
Open-source toolkit for preparing local files for agents.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
Turn PDFs, docs, spreadsheets, and notes into a local workspace your agent can navigate, verify, and answer from.
|
|
6
6
|
|
|
7
7
|
If you use Claude Code, Codex, OpenClaw, Hermes, or your own local agent setup on folders full of PDFs, docs, spreadsheets, and notes, the failure often shows up late: missed evidence, shallow analysis, bad comparisons, or answers that sound confident but are wrong.
|
|
8
8
|
|
|
9
|
-
Interf lets you
|
|
9
|
+
Interf lets you set a few truth checks on a dataset, measure the raw baseline first if you want it, compile a workspace on top of that dataset, and see whether the result actually passes.
|
|
10
10
|
|
|
11
|
-
- your
|
|
12
|
-
-
|
|
11
|
+
- your dataset stays on your machine
|
|
12
|
+
- BYOAI: use Claude Code, Codex, OpenClaw, Hermes, or your own local setup
|
|
13
13
|
- your raw files stay the source of truth
|
|
14
|
-
-
|
|
14
|
+
- the workflow package is the reusable method
|
|
15
|
+
- the compiler runtime executes that workflow package and builds a file-based layer on top
|
|
15
16
|
|
|
16
|
-
`interf compile` runs a
|
|
17
|
+
`interf compile` runs a workflow package with your agents as executors and produces a compiled workspace: a file-based layer on top of your raw files that agents can navigate, inspect, and work from.
|
|
17
18
|
|
|
18
|
-
|
|
19
|
+
Each compiled workspace carries its own `raw/` snapshot, so agents can work from one self-contained folder instead of reaching back into the source-folder control plane.
|
|
20
|
+
|
|
21
|
+
Interf also projects native agent shells from that workspace:
|
|
22
|
+
|
|
23
|
+
- the compiled workspace itself is the folder your agent works from
|
|
24
|
+
- each compile stage runs inside its own ephemeral execution shell with stage-specific instructions and mounted zone aliases under `inputs/` and `outputs/`
|
|
25
|
+
|
|
26
|
+
The main reusable artifact is the workflow package. In the advanced looped mode, Interf can keep rerunning that workflow package against the same dataset and truth checks until it either passes or exhausts the attempt budget.
|
|
19
27
|
|
|
20
28
|
## Quick Start
|
|
21
29
|
|
|
@@ -39,15 +47,13 @@ interf
|
|
|
39
47
|
|
|
40
48
|
If you want to see the config shape first, this is what Interf writes:
|
|
41
49
|
|
|
42
|
-
```
|
|
50
|
+
```jsonc
|
|
43
51
|
{
|
|
44
52
|
"workspaces": [
|
|
45
53
|
{
|
|
46
|
-
"name": "
|
|
54
|
+
"name": "my-workspace",
|
|
47
55
|
"about": "General compiled workspace for the quarterly results folder.",
|
|
48
|
-
"
|
|
49
|
-
"max_attempts": 3
|
|
50
|
-
},
|
|
56
|
+
"max_attempts": 3, // rerun compile + test until this workspace passes the saved truth checks or hits this limit
|
|
51
57
|
"checks": [
|
|
52
58
|
{
|
|
53
59
|
"question": "What full-year revenue range did the company maintain?",
|
|
@@ -73,7 +79,7 @@ interf test
|
|
|
73
79
|
|
|
74
80
|
The first guided run can:
|
|
75
81
|
|
|
76
|
-
- save a few
|
|
82
|
+
- save a few truth checks for the dataset in this folder
|
|
77
83
|
- run a baseline test on the raw files
|
|
78
84
|
- compile the workspace
|
|
79
85
|
- optionally keep compiling and retesting until it passes or reaches the attempt limit
|
|
@@ -81,15 +87,16 @@ The first guided run can:
|
|
|
81
87
|
|
|
82
88
|
That gives you three concrete things:
|
|
83
89
|
|
|
84
|
-
- `interf/workspaces/
|
|
90
|
+
- `interf/workspaces/my-workspace/` with the compiled workspace for your dataset
|
|
85
91
|
- `interf/benchmarks/runs/...` with the saved test result
|
|
86
|
-
- a pass/fail score on the same
|
|
92
|
+
- a pass/fail score on the same truth checks you wrote
|
|
87
93
|
|
|
88
94
|
Saved test runs keep the details you need later:
|
|
89
95
|
|
|
90
96
|
- whether the run tested `raw`, `workspace`, or both
|
|
91
97
|
- per-question pass/fail results
|
|
92
98
|
- the saved run path under `interf/benchmarks/runs/...`
|
|
99
|
+
- the preserved sandbox path when a failed run is kept for review or you use `interf test --keep-sandboxes`
|
|
93
100
|
- executor metadata such as agent, command, model, effort, and profile when available
|
|
94
101
|
|
|
95
102
|
If `interf.config.json` is missing, `interf` or `interf init` can draft it with you before the first compile. If Interf cannot find your local agent or compile setup, run:
|
|
@@ -100,7 +107,7 @@ interf doctor
|
|
|
100
107
|
|
|
101
108
|
The first flow is:
|
|
102
109
|
|
|
103
|
-
- write down a few
|
|
110
|
+
- write down a few truth checks your agent should be able to pass on the dataset
|
|
104
111
|
- let `interf` or `interf init` save those checks in `interf.config.json`
|
|
105
112
|
- optionally run a baseline test on the raw files
|
|
106
113
|
- run `interf compile` to build the compiled workspace
|
|
@@ -113,7 +120,7 @@ The first flow is:
|
|
|
113
120
|
Interf is built around a few simple design principles:
|
|
114
121
|
|
|
115
122
|
- `Explicit`: the output is visible and inspectable, not hidden memory
|
|
116
|
-
- `Local`: your
|
|
123
|
+
- `Local`: your dataset stays on your machine
|
|
117
124
|
- `File over app`: the output is just files, so you can use your editor, Unix tools, Obsidian, or your own software on top
|
|
118
125
|
- `BYOAI`: use Claude Code, Codex, OpenClaw, Hermes, or your own model
|
|
119
126
|
|
|
@@ -129,22 +136,22 @@ interf compile
|
|
|
129
136
|
interf test
|
|
130
137
|
```
|
|
131
138
|
|
|
132
|
-
## Start With Your Own Checks
|
|
139
|
+
## Start With Your Own Truth Checks
|
|
133
140
|
|
|
134
|
-
Start with your own checks
|
|
141
|
+
Start with your own truth checks: questions where you already know the correct answer from the dataset.
|
|
135
142
|
|
|
136
|
-
`interf.config.json` is where you save those checks for a folder.
|
|
143
|
+
`interf.config.json` is where you save those truth checks for a dataset folder.
|
|
137
144
|
|
|
138
145
|
That file uses one `workspaces` array:
|
|
139
146
|
|
|
140
147
|
- most folders only need one workspace
|
|
141
|
-
- add another workspace only if you want a separate compiled setup with different checks
|
|
148
|
+
- add another workspace only if you want a separate compiled setup with different truth checks
|
|
142
149
|
- each workspace carries its own `checks`
|
|
143
|
-
- each workspace can optionally carry `
|
|
150
|
+
- each workspace can optionally carry `max_attempts` for the self-improving compile loop
|
|
144
151
|
|
|
145
152
|
If the file is missing, `interf init` can draft it with you before the first compile. You can edit it any time.
|
|
146
153
|
|
|
147
|
-
Good first checks are small and practical:
|
|
154
|
+
Good first truth checks are small and practical:
|
|
148
155
|
|
|
149
156
|
- one exact number from a chart, table, or filing
|
|
150
157
|
- one short statement that should be true or false
|
|
@@ -159,38 +166,47 @@ interf test
|
|
|
159
166
|
|
|
160
167
|
## What `interf test` Does
|
|
161
168
|
|
|
162
|
-
`interf test` scores either the raw files, a compiled workspace, or both on the same saved checks.
|
|
169
|
+
`interf test` scores either the raw files, a compiled workspace, or both on the same saved truth checks.
|
|
163
170
|
|
|
164
171
|
It lets you answer a simple question:
|
|
165
172
|
|
|
166
173
|
- what is the current baseline on the raw files?
|
|
167
174
|
- does this compiled workspace improve on that baseline?
|
|
168
|
-
- which compiled workspace or workflow performs better on the same
|
|
169
|
-
- does a separate workspace with different checks work better for that job?
|
|
175
|
+
- which compiled workspace or workflow performs better on the same dataset?
|
|
176
|
+
- does a separate workspace with different truth checks work better for that job?
|
|
177
|
+
|
|
178
|
+
By default it loads truth checks from `interf.config.json`, can run a raw baseline in an isolated raw-files sandbox, can test eligible compiled workspaces under `interf/workspaces/`, and saves the run under `interf/benchmarks/runs/`.
|
|
179
|
+
|
|
180
|
+
For live runs:
|
|
170
181
|
|
|
171
|
-
|
|
182
|
+
- raw tests execute from a sanitized raw-only sandbox
|
|
183
|
+
- compiled-workspace tests execute from a copied workspace sandbox with embedded sanitized `raw/`
|
|
184
|
+
- neither sandbox includes `interf.config.json` or the source-folder `interf/` control plane
|
|
185
|
+
- failed test sandboxes are kept automatically for review
|
|
186
|
+
- `interf test --keep-sandboxes` keeps every sandbox, even successful ones
|
|
172
187
|
|
|
173
188
|
Each saved run includes:
|
|
174
189
|
|
|
175
190
|
- the benchmark target and mode
|
|
176
191
|
- per-question results and traces
|
|
192
|
+
- the preserved sandbox path when one was kept
|
|
177
193
|
- the executor metadata for that run
|
|
178
194
|
|
|
179
|
-
If you run `interf test` from inside a workspace, it uses that workspace's checks and tests that workspace. If you run it from the source folder, it lets you choose a saved workspace and then choose raw files, the compiled workspace, or both.
|
|
195
|
+
If you run `interf test` from inside a workspace, it uses that workspace's truth checks and tests that workspace. If you run it from the source folder, it lets you choose a saved workspace and then choose raw files, the compiled workspace, or both.
|
|
180
196
|
|
|
181
|
-
Live test runs use an isolated sandbox. For raw baselines, Interf gives the agent sanitized raw files only. For compiled-workspace tests, it gives the agent a copied workspace
|
|
197
|
+
Live test runs use an isolated sandbox. For raw baselines, Interf gives the agent sanitized raw files only. For compiled-workspace tests, it gives the agent a copied workspace with its own embedded sanitized `raw/` fallback via `source.path`. The source-folder control plane, `interf.config.json`, and saved test runs are not part of those sandboxes.
|
|
182
198
|
|
|
183
199
|
If you need repeated isolated experiments across workflows or models, use the advanced eval-pack runner in [docs/eval-loop.md](./docs/eval-loop.md).
|
|
184
200
|
|
|
185
201
|
## What `interf compile` Does
|
|
186
202
|
|
|
187
|
-
`interf compile` runs the
|
|
203
|
+
`interf compile` runs the selected workflow package over a dataset.
|
|
188
204
|
|
|
189
205
|
By default, that means:
|
|
190
206
|
|
|
191
207
|
- summarize the source files into per-file evidence notes
|
|
192
208
|
- structure the cross-file knowledge layer into entities, claims, and indexes
|
|
193
|
-
- shape the final workspace around its saved focus and
|
|
209
|
+
- shape the final workspace around its saved focus and truth checks
|
|
194
210
|
|
|
195
211
|
In other words, the built-in workflow is:
|
|
196
212
|
|
|
@@ -198,11 +214,30 @@ In other words, the built-in workflow is:
|
|
|
198
214
|
2. `structure`
|
|
199
215
|
3. `shape`
|
|
200
216
|
|
|
201
|
-
|
|
217
|
+
The default workflow is built in. If you want a different method, you can define your own workflow package and test it on the same dataset.
|
|
202
218
|
|
|
203
|
-
|
|
219
|
+
Each workflow package combines:
|
|
204
220
|
|
|
205
|
-
|
|
221
|
+
- `workflow.json` for stage order, compiler API target, and deterministic contract mapping
|
|
222
|
+
- `workspace.schema.json` for the deterministic output shape of the compiled workspace
|
|
223
|
+
- stage `reads` / `writes` declarations that reference schema-defined zone ids
|
|
224
|
+
- local `SKILL.md` files as the authoring source for query and stage-execution behavior
|
|
225
|
+
|
|
226
|
+
Interf then projects that package into the native agent surfaces it actually runs:
|
|
227
|
+
|
|
228
|
+
- the compiled workspace gets a generated native query shell
|
|
229
|
+
- each compile stage gets a generated native execution shell
|
|
230
|
+
- that shell keeps its own `AGENTS.md`, `CLAUDE.md`, and native local skills
|
|
231
|
+
- schema-declared workspace zones are mounted both at their workflow-relative paths and as shell-local `inputs/<zone-id>` / `outputs/<zone-id>` aliases
|
|
232
|
+
- the workspace root itself is not linked into the shell
|
|
233
|
+
|
|
234
|
+
If a workspace has `max_attempts`, or if you run `interf compile --max-attempts <n>`, Interf can keep compiling, testing, and retrying until that workspace passes or reaches the attempt limit. If several attempts fail, Interf keeps the best-performing compiled workspace from that run.
|
|
235
|
+
|
|
236
|
+
For stage-level review:
|
|
237
|
+
|
|
238
|
+
- successful stage shells are pruned by default
|
|
239
|
+
- failed stage shells stay under `.interf/execution-shells/`
|
|
240
|
+
- `interf compile --keep-stage-shells` keeps every stage shell so you can inspect the exact native instruction surface, mounted inputs, and mounted outputs for each stage
|
|
206
241
|
|
|
207
242
|
## What Gets Created
|
|
208
243
|
|
|
@@ -213,6 +248,9 @@ After compile, Interf writes into `./interf/` beside your source files.
|
|
|
213
248
|
|
|
214
249
|
Inside those workspaces you will see things like:
|
|
215
250
|
|
|
251
|
+
- a workspace-local `raw/` snapshot for direct evidence and verification
|
|
252
|
+
- `workflow/workspace.schema.json` describing the deterministic output shape
|
|
253
|
+
- `AGENTS.md`, `CLAUDE.md`, and generated local query skills for manual agent use
|
|
216
254
|
- summaries of source files
|
|
217
255
|
- navigation notes and entrypoints for agents
|
|
218
256
|
- cross-file knowledge notes
|
|
@@ -220,24 +258,26 @@ Inside those workspaces you will see things like:
|
|
|
220
258
|
|
|
221
259
|
The compiled workspace is just a normal folder. Open it in your editor, in your agent, or in Obsidian if you want the graph view.
|
|
222
260
|
|
|
261
|
+
For manual use, the workspace is the native agent shell. The editable authoring source for that shell lives under `workflow/use/query/`, and Interf generates native local query skills from it inside the workspace.
|
|
262
|
+
|
|
223
263
|
If you use Obsidian, open `interf/workspaces/<name>/` as the vault for the compiled workspace.
|
|
224
264
|
|
|
225
265
|
## Terminology
|
|
226
266
|
|
|
227
267
|
Public terms:
|
|
228
268
|
|
|
229
|
-
- `
|
|
230
|
-
- `
|
|
231
|
-
- `checks` = the
|
|
232
|
-
- `test` = run the saved
|
|
269
|
+
- `dataset` = the collection of files Interf prepares
|
|
270
|
+
- `truth check` = one question plus the expected correct answer
|
|
271
|
+
- `checks` = the config field that stores those truth checks
|
|
272
|
+
- `test` = run the saved truth checks and get a score
|
|
233
273
|
- `compiled workspace` = the output Interf produces on top of a folder
|
|
234
274
|
- `workspace` = one compiled setup with its own checks
|
|
235
275
|
|
|
236
276
|
Technical terms:
|
|
237
277
|
|
|
238
|
-
- `source folder` = the
|
|
278
|
+
- `source folder` = the dataset root Interf reads from
|
|
239
279
|
- `benchmark` = the technical alias and saved-run layer behind `interf test`
|
|
240
|
-
- `workflow` = the saved method that defines or customizes
|
|
280
|
+
- `workflow package` = the saved method that defines or customizes how compile runs
|
|
241
281
|
- `.interf/` = runtime state, proofs, and health artifacts
|
|
242
282
|
|
|
243
283
|
## Advanced: Separate Workspaces
|
|
@@ -253,7 +293,7 @@ Create another only when you want a different compiled setup with different chec
|
|
|
253
293
|
|
|
254
294
|
Why create another one:
|
|
255
295
|
|
|
256
|
-
- it keeps a separate set of
|
|
296
|
+
- it keeps a separate set of truth checks
|
|
257
297
|
- it gives that job its own compiled output under `interf/workspaces/<name>/`
|
|
258
298
|
- it lets you test that job separately
|
|
259
299
|
|
|
@@ -261,23 +301,24 @@ Why create another one:
|
|
|
261
301
|
|
|
262
302
|
Interf also supports a deeper loop above the normal compile + test flow.
|
|
263
303
|
|
|
264
|
-
The normal workspace flow already supports `
|
|
304
|
+
The normal workspace flow already supports `max_attempts` inside `interf.config.json` or `interf compile --max-attempts <n>`.
|
|
265
305
|
|
|
266
|
-
Give it the same
|
|
306
|
+
Give it the same dataset and the same truth checks. Interf can keep rerunning compile + test attempts until the test passes or the attempt budget runs out.
|
|
267
307
|
|
|
268
308
|
That loop is the self-improving part of the product:
|
|
269
309
|
|
|
270
|
-
- it reruns the
|
|
271
|
-
- it keeps the checks fixed, so the target does not move
|
|
310
|
+
- it reruns the same workflow package over the same dataset
|
|
311
|
+
- it keeps the truth checks fixed, so the target does not move
|
|
312
|
+
- it keeps the measurement fixed, so attempts stay comparable
|
|
272
313
|
- it can vary the compile profile and follow-up diagnostics
|
|
273
314
|
- it records which attempt performed best on the same saved test
|
|
274
315
|
|
|
275
316
|
In practice:
|
|
276
317
|
|
|
277
|
-
- `
|
|
318
|
+
- `max_attempts` controls how many total attempts a normal workspace compile gets
|
|
278
319
|
- `retry_policy.max_attempts_per_profile` controls how many attempts each compile profile gets in eval packs
|
|
279
320
|
- stronger diagnostic profiles can be used only after the default ones fail
|
|
280
|
-
- the checks stay the same across every attempt
|
|
321
|
+
- the truth checks stay the same across every attempt
|
|
281
322
|
- each attempt records what changed and which attempt performed best
|
|
282
323
|
|
|
283
324
|
Example eval-pack shape:
|
|
@@ -286,10 +327,8 @@ Example eval-pack shape:
|
|
|
286
327
|
{
|
|
287
328
|
"workspaces": [
|
|
288
329
|
{
|
|
289
|
-
"name": "
|
|
290
|
-
"
|
|
291
|
-
"max_attempts": 3
|
|
292
|
-
},
|
|
330
|
+
"name": "my-workspace",
|
|
331
|
+
"max_attempts": 3, // rerun compile + test until this workspace passes the saved truth checks or hits this limit
|
|
293
332
|
"checks": [
|
|
294
333
|
{
|
|
295
334
|
"question": "What full-year revenue range did the company maintain?",
|
|
@@ -315,25 +354,25 @@ Paste something like this into your agent:
|
|
|
315
354
|
```text
|
|
316
355
|
Install @interf/compiler, run `interf` in this folder, and use the local agent executor.
|
|
317
356
|
|
|
318
|
-
If `interf.config.json` is missing, draft one workspace with a few checks this agent should be able to answer from
|
|
357
|
+
If `interf.config.json` is missing, draft one workspace with a few truth checks this agent should be able to answer from this dataset and add the expected answers for me to confirm.
|
|
319
358
|
|
|
320
359
|
Then run a raw baseline if helpful, compile the workspace, and run `interf test`.
|
|
321
360
|
|
|
322
|
-
Tell me whether the compiled workspace passes the checks, and only recommend it if it does.
|
|
361
|
+
Tell me whether the compiled workspace passes the truth checks, and only recommend it if it does.
|
|
323
362
|
```
|
|
324
363
|
|
|
325
364
|
## Custom Workflows
|
|
326
365
|
|
|
327
366
|
Interf ships with a default workflow.
|
|
328
367
|
|
|
329
|
-
If you want to change how the
|
|
368
|
+
If you want to change how the workflow package runs on your dataset, this is the part you customize:
|
|
330
369
|
|
|
331
370
|
```bash
|
|
332
371
|
interf create workflow
|
|
333
372
|
interf verify workflow --path <path>
|
|
334
373
|
```
|
|
335
374
|
|
|
336
|
-
Then
|
|
375
|
+
Then test that workflow on the same dataset and the same truth checks.
|
|
337
376
|
|
|
338
377
|
Workflow package docs live in [docs/workflow-spec.md](./docs/workflow-spec.md).
|
|
339
378
|
|
|
@@ -344,7 +383,7 @@ Workflow package docs live in [docs/workflow-spec.md](./docs/workflow-spec.md).
|
|
|
344
383
|
- `interf create workspace` = create another compiled workspace when you need one
|
|
345
384
|
- `interf create workflow` = create a reusable local workflow package
|
|
346
385
|
- `interf compile` = build a selected workspace for the current folder
|
|
347
|
-
- `interf test` = test the raw files, a compiled workspace, or both on saved checks
|
|
386
|
+
- `interf test` = test the raw files, a compiled workspace, or both on saved truth checks
|
|
348
387
|
- `interf benchmark` = alias for `interf test`
|
|
349
388
|
- `interf doctor` = check local executor setup
|
|
350
389
|
- `interf verify <check>` = run deterministic checks on major workflow steps
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { WorkflowExecutionProfile, WorkflowExecutor } from "../lib/executors.js";
|
|
2
2
|
import type { SourceWorkspaceConfig } from "../lib/schema.js";
|
|
3
3
|
import type { CommandModule } from "yargs";
|
|
4
|
+
import type { StageShellRetentionMode } from "../lib/workflows.js";
|
|
4
5
|
export declare const compileCommand: CommandModule;
|
|
5
6
|
export declare function runCompileCommand(argv?: Record<string, unknown>): Promise<void>;
|
|
6
7
|
export declare function runConfiguredWorkspaceCompile(options: {
|
|
@@ -10,5 +11,6 @@ export declare function runConfiguredWorkspaceCompile(options: {
|
|
|
10
11
|
workspaceConfig: SourceWorkspaceConfig | null;
|
|
11
12
|
executionProfile?: WorkflowExecutionProfile;
|
|
12
13
|
maxAttemptsOverride: number | null;
|
|
14
|
+
preserveStageShells?: StageShellRetentionMode;
|
|
13
15
|
}): Promise<boolean>;
|
|
14
16
|
//# sourceMappingURL=compile.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compile.d.ts","sourceRoot":"","sources":["../../src/commands/compile.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAMtF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAM9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"compile.d.ts","sourceRoot":"","sources":["../../src/commands/compile.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAMtF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAM9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAY3C,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAEnE,eAAO,MAAM,cAAc,EAAE,aAkB5B,CAAC;AAEF,wBAAsB,iBAAiB,CAAC,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAgFzF;AAuDD,wBAAsB,6BAA6B,CACjD,OAAO,EAAE;IACP,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAC9C,gBAAgB,CAAC,EAAE,wBAAwB,CAAC;IAC5C,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,mBAAmB,CAAC,EAAE,uBAAuB,CAAC;CAC/C,GACA,OAAO,CAAC,OAAO,CAAC,CA4HlB"}
|
package/dist/commands/compile.js
CHANGED
|
@@ -3,21 +3,25 @@ import { tmpdir } from "node:os";
|
|
|
3
3
|
import { join } from "node:path";
|
|
4
4
|
import chalk from "chalk";
|
|
5
5
|
import * as p from "@clack/prompts";
|
|
6
|
-
import { detectInterf, readInterfConfig,
|
|
6
|
+
import { detectInterf, readInterfConfig, resolveSourceControlPath, } from "../lib/interf.js";
|
|
7
7
|
import { findSourceWorkspaceConfig, loadSourceFolderConfig, resolveWorkspaceCompileMaxAttempts, } from "../lib/source-config.js";
|
|
8
8
|
import { resetWorkspaceGeneratedState } from "../lib/workspace-reset.js";
|
|
9
9
|
import { formatWorkspaceWorkflowStageStep, resolveWorkspaceWorkflowFromConfig, } from "../lib/workflow-definitions.js";
|
|
10
10
|
import { addExecutionProfileOptions, executionProfileFromArgv, } from "../lib/execution-profile.js";
|
|
11
11
|
import { chooseWorkspaceConfigToBuild, compileWorkspaceWithReporter, ensureWorkspaceFromConfig, } from "./workspace-flow.js";
|
|
12
12
|
import { resolveOrConfigureLocalExecutor } from "./executor-flow.js";
|
|
13
|
-
import { printSavedTestOutcome, runSavedWorkspaceTest } from "./test-flow.js";
|
|
13
|
+
import { printSavedTestOutcome, questionPassRate, runSavedWorkspaceTest } from "./test-flow.js";
|
|
14
14
|
export const compileCommand = {
|
|
15
15
|
command: "compile",
|
|
16
|
-
describe: "Build a workspace for this
|
|
16
|
+
describe: "Build a workspace for this dataset",
|
|
17
17
|
builder: (yargs) => addExecutionProfileOptions(yargs).option("max-attempts", {
|
|
18
18
|
alias: "max-retries",
|
|
19
19
|
type: "number",
|
|
20
20
|
describe: "Compile, test, and retry until the workspace passes or reaches this total attempt limit",
|
|
21
|
+
}).option("keep-stage-shells", {
|
|
22
|
+
type: "boolean",
|
|
23
|
+
default: false,
|
|
24
|
+
describe: "Keep every executed stage shell under .interf/execution-shells for review instead of pruning successful shells",
|
|
21
25
|
}),
|
|
22
26
|
handler: async (argv) => {
|
|
23
27
|
await runCompileCommand(argv);
|
|
@@ -30,7 +34,7 @@ export async function runCompileCommand(argv = {}) {
|
|
|
30
34
|
const detected = detectInterf(process.cwd());
|
|
31
35
|
if (detected) {
|
|
32
36
|
workspacePath = detected.path;
|
|
33
|
-
sourcePath =
|
|
37
|
+
sourcePath = resolveSourceControlPath(detected.path);
|
|
34
38
|
workspaceConfig = findSourceWorkspaceConfig(loadSourceFolderConfig(sourcePath), detected.config.name) ?? {
|
|
35
39
|
name: detected.config.name,
|
|
36
40
|
...(detected.config.about ? { about: detected.config.about } : {}),
|
|
@@ -99,6 +103,7 @@ export async function runCompileCommand(argv = {}) {
|
|
|
99
103
|
workspaceConfig,
|
|
100
104
|
executionProfile,
|
|
101
105
|
maxAttemptsOverride,
|
|
106
|
+
preserveStageShells: readStageShellRetentionMode(argv),
|
|
102
107
|
});
|
|
103
108
|
}
|
|
104
109
|
function readCompileMaxAttemptsOverride(argv) {
|
|
@@ -114,15 +119,21 @@ function readCompileMaxAttemptsOverride(argv) {
|
|
|
114
119
|
}
|
|
115
120
|
return parsed;
|
|
116
121
|
}
|
|
122
|
+
function readStageShellRetentionMode(argv) {
|
|
123
|
+
const enabled = argv["keep-stage-shells"] ??
|
|
124
|
+
argv.keepStageShells ??
|
|
125
|
+
false;
|
|
126
|
+
return enabled ? "always" : "on-failure";
|
|
127
|
+
}
|
|
117
128
|
function printCompileFailure(workspacePath, failedStage) {
|
|
118
129
|
const workflowId = resolveWorkspaceWorkflowFromConfig(readInterfConfig(workspacePath));
|
|
119
130
|
const failedStageLabel = formatWorkspaceWorkflowStageStep(workflowId, failedStage ?? "compile", {
|
|
120
|
-
sourcePath:
|
|
131
|
+
sourcePath: resolveSourceControlPath(workspacePath),
|
|
121
132
|
});
|
|
122
133
|
console.log(chalk.red(` ${failedStageLabel} failed.`));
|
|
123
134
|
}
|
|
124
135
|
function testScore(outcome) {
|
|
125
|
-
return (outcome.result.
|
|
136
|
+
return (outcome.result.passedCases * 1000) + outcome.result.passedChecks;
|
|
126
137
|
}
|
|
127
138
|
function snapshotWorkspace(workspacePath) {
|
|
128
139
|
const snapshotRoot = mkdtempSync(join(tmpdir(), "interf-compile-attempt-"));
|
|
@@ -135,23 +146,28 @@ function restoreWorkspaceSnapshot(snapshotPath, workspacePath) {
|
|
|
135
146
|
cpSync(snapshotPath, workspacePath, { recursive: true });
|
|
136
147
|
}
|
|
137
148
|
export async function runConfiguredWorkspaceCompile(options) {
|
|
138
|
-
const
|
|
149
|
+
const preserveStageShells = options.preserveStageShells ?? "on-failure";
|
|
150
|
+
const maxAttempts = resolveWorkspaceCompileMaxAttempts(options.workspaceConfig ?? { max_attempts: undefined }, options.maxAttemptsOverride);
|
|
139
151
|
const loopEnabled = maxAttempts != null;
|
|
140
152
|
const checks = options.workspaceConfig?.checks ?? [];
|
|
141
153
|
if (loopEnabled && checks.length === 0) {
|
|
142
|
-
console.log(chalk.yellow(" Self-improving mode needs saved
|
|
154
|
+
console.log(chalk.yellow(" Self-improving mode needs saved truth checks. Building once without the retry loop."));
|
|
143
155
|
}
|
|
144
156
|
else if (loopEnabled) {
|
|
145
157
|
console.log(chalk.dim(` Self-improving mode: up to ${maxAttempts} compile attempts.`));
|
|
146
|
-
console.log(chalk.dim(" Interf will
|
|
158
|
+
console.log(chalk.dim(" Interf will run the workflow, test the workspace, and retry until it passes or reaches the limit."));
|
|
147
159
|
}
|
|
148
160
|
if (!loopEnabled || checks.length === 0) {
|
|
149
|
-
const result = await compileWorkspaceWithReporter(options.executor, options.workspacePath
|
|
161
|
+
const result = await compileWorkspaceWithReporter(options.executor, options.workspacePath, {
|
|
162
|
+
preserveStageShells,
|
|
163
|
+
});
|
|
150
164
|
if (!result.ok) {
|
|
151
165
|
process.exitCode = 1;
|
|
152
166
|
printCompileFailure(options.workspacePath, result.failedStage);
|
|
167
|
+
printStageShellReviewHint(options.workspacePath, preserveStageShells);
|
|
153
168
|
return false;
|
|
154
169
|
}
|
|
170
|
+
printStageShellReviewHint(options.workspacePath, preserveStageShells);
|
|
155
171
|
return true;
|
|
156
172
|
}
|
|
157
173
|
let bestOutcome = null;
|
|
@@ -171,9 +187,11 @@ export async function runConfiguredWorkspaceCompile(options) {
|
|
|
171
187
|
successMessage: maxAttempts > 1
|
|
172
188
|
? `Compiled workspace ready for attempt ${attempt}.`
|
|
173
189
|
: "Compiled workspace ready.",
|
|
190
|
+
preserveStageShells,
|
|
174
191
|
});
|
|
175
192
|
if (!result.ok) {
|
|
176
193
|
printCompileFailure(options.workspacePath, result.failedStage);
|
|
194
|
+
printStageShellReviewHint(options.workspacePath, preserveStageShells);
|
|
177
195
|
if (attempt < maxAttempts) {
|
|
178
196
|
console.log(chalk.yellow(` Attempt ${attempt}/${maxAttempts} failed. Retrying with a fresh compile.`));
|
|
179
197
|
continue;
|
|
@@ -189,6 +207,7 @@ export async function runConfiguredWorkspaceCompile(options) {
|
|
|
189
207
|
},
|
|
190
208
|
executionProfile: options.executionProfile,
|
|
191
209
|
workspacePath: options.workspacePath,
|
|
210
|
+
preserveSandboxes: preserveStageShells === "always" ? "always" : "on-failure",
|
|
192
211
|
});
|
|
193
212
|
if (!outcome) {
|
|
194
213
|
process.exitCode = 1;
|
|
@@ -208,6 +227,7 @@ export async function runConfiguredWorkspaceCompile(options) {
|
|
|
208
227
|
if (outcome.result.ok) {
|
|
209
228
|
console.log();
|
|
210
229
|
console.log(chalk.green(` Workspace passed on attempt ${attempt}/${maxAttempts}.`));
|
|
230
|
+
printStageShellReviewHint(options.workspacePath, preserveStageShells);
|
|
211
231
|
return true;
|
|
212
232
|
}
|
|
213
233
|
if (attempt < maxAttempts) {
|
|
@@ -223,6 +243,10 @@ export async function runConfiguredWorkspaceCompile(options) {
|
|
|
223
243
|
process.exitCode = 1;
|
|
224
244
|
console.log();
|
|
225
245
|
console.log(chalk.red(` Workspace did not pass within ${maxAttempts} attempts.`));
|
|
246
|
+
if (bestOutcome) {
|
|
247
|
+
console.log(chalk.dim(` Best attempt truth-check pass rate: ${questionPassRate(bestOutcome)}%.`));
|
|
248
|
+
}
|
|
249
|
+
printStageShellReviewHint(options.workspacePath, preserveStageShells);
|
|
226
250
|
return false;
|
|
227
251
|
}
|
|
228
252
|
finally {
|
|
@@ -231,4 +255,12 @@ export async function runConfiguredWorkspaceCompile(options) {
|
|
|
231
255
|
}
|
|
232
256
|
}
|
|
233
257
|
}
|
|
258
|
+
function printStageShellReviewHint(workspacePath, preserveStageShells) {
|
|
259
|
+
const reviewRoot = join(workspacePath, ".interf", "execution-shells");
|
|
260
|
+
if (preserveStageShells === "always") {
|
|
261
|
+
console.log(chalk.dim(` Preserved stage shells: ${reviewRoot}`));
|
|
262
|
+
return;
|
|
263
|
+
}
|
|
264
|
+
console.log(chalk.dim(` Failed stage shells remain under: ${reviewRoot}`));
|
|
265
|
+
}
|
|
234
266
|
//# sourceMappingURL=compile.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compile.js","sourceRoot":"","sources":["../../src/commands/compile.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"compile.js","sourceRoot":"","sources":["../../src/commands/compile.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAM3C,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAM3C,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAoDpE,eAAO,MAAM,aAAa,EAAE,aAmC3B,CAAC;AAEF,wBAAsB,qBAAqB,CACzC,OAAO,GAAE;IACP,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,gBAAgB,CAAC,EAAE,wBAAwB,CAAC;CACxC,iBA6FP;AAuBD,OAAO,EACL,KAAK,qBAAqB,EAC1B,mBAAmB,EACnB,uBAAuB,EACvB,oBAAoB,EACpB,6BAA6B,GAC9B,MAAM,6BAA6B,CAAC"}
|
package/dist/commands/create.js
CHANGED
|
@@ -7,7 +7,7 @@ import { addExecutionProfileOptions, executionProfileFromArgv, } from "../lib/ex
|
|
|
7
7
|
import { loadSourceFolderConfig, upsertSourceWorkspaceConfig } from "../lib/source-config.js";
|
|
8
8
|
import { chooseWorkspaceWorkflow, createWorkflowWizard, } from "./create-workflow-wizard.js";
|
|
9
9
|
import { ensureWorkspaceFromConfig, } from "./workspace-flow.js";
|
|
10
|
-
import { promptSingleWorkspaceConfig } from "./source-config-wizard.js";
|
|
10
|
+
import { DEFAULT_WORKSPACE_NAME, promptSingleWorkspaceConfig, } from "./source-config-wizard.js";
|
|
11
11
|
import { resolveOrConfigureLocalExecutor } from "./executor-flow.js";
|
|
12
12
|
import { runConfiguredWorkspaceCompile } from "./compile.js";
|
|
13
13
|
function normalizeCreateTarget(value) {
|
|
@@ -31,7 +31,7 @@ async function selectCreateTarget() {
|
|
|
31
31
|
{
|
|
32
32
|
value: "workspace",
|
|
33
33
|
label: "Workspace (Recommended)",
|
|
34
|
-
hint: "Create a compiled workspace for this
|
|
34
|
+
hint: "Create a compiled workspace for this dataset",
|
|
35
35
|
},
|
|
36
36
|
{
|
|
37
37
|
value: "workflow",
|
|
@@ -84,11 +84,11 @@ export async function createWorkspaceWizard(options = {}) {
|
|
|
84
84
|
}
|
|
85
85
|
const existing = listWorkspacesForSourceFolder(cwd);
|
|
86
86
|
if (existing.length > 0) {
|
|
87
|
-
p.log.info(`This
|
|
87
|
+
p.log.info(`This dataset already has ${existing.length} workspace${existing.length === 1 ? "" : "s"}. Add another only when you need a separate set of truth checks or a different focus.`);
|
|
88
88
|
}
|
|
89
|
-
p.log.info("Interf builds a compiled workspace on top of
|
|
89
|
+
p.log.info("Interf builds a compiled workspace on top of the dataset. The source files stay where they are and stay the source of truth.");
|
|
90
90
|
const existingConfig = loadSourceFolderConfig(cwd);
|
|
91
|
-
const suggestedName = slugify(defaultWorkspaceNameForSource(cwd) || basename(cwd)) ||
|
|
91
|
+
const suggestedName = slugify(defaultWorkspaceNameForSource(cwd) || basename(cwd)) || DEFAULT_WORKSPACE_NAME;
|
|
92
92
|
const draft = await promptSingleWorkspaceConfig({
|
|
93
93
|
initial: { name: suggestedName },
|
|
94
94
|
introStyle: existingConfig ? "additional" : "first",
|