@interf/compiler 0.6.1 → 0.6.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 +94 -74
- package/builtin-workflows/interf/README.md +5 -5
- package/builtin-workflows/interf/compile/stages/shape/SKILL.md +4 -4
- package/builtin-workflows/interf/improve/SKILL.md +2 -2
- package/builtin-workflows/interf/use/query/SKILL.md +1 -1
- package/builtin-workflows/interf/workflow.json +6 -6
- package/builtin-workflows/interf/workflow.schema.json +1 -1
- package/dist/bin.js +2 -28
- package/dist/{commands → cli/commands}/check-draft.d.ts +2 -2
- package/dist/{commands → cli/commands}/check-draft.js +12 -12
- package/dist/{commands → cli/commands}/compile-controller.d.ts +3 -3
- package/dist/{commands → cli/commands}/compile-controller.js +36 -34
- package/dist/{commands → cli/commands}/compile.d.ts +2 -2
- package/dist/{commands → cli/commands}/compile.js +15 -11
- package/dist/{commands → cli/commands}/compiled-flow.d.ts +3 -4
- package/dist/{commands → cli/commands}/compiled-flow.js +9 -14
- package/dist/{commands → cli/commands}/create-workflow-wizard.d.ts +3 -3
- package/dist/{commands → cli/commands}/create-workflow-wizard.js +61 -34
- package/dist/{commands → cli/commands}/create.d.ts +1 -1
- package/dist/{commands → cli/commands}/create.js +15 -18
- package/dist/{commands → cli/commands}/dataset-selection.d.ts +1 -1
- package/dist/{commands → cli/commands}/default.js +3 -3
- package/dist/{commands → cli/commands}/doctor.js +5 -6
- package/dist/{commands → cli/commands}/executor-flow.d.ts +1 -1
- package/dist/{commands → cli/commands}/executor-flow.js +13 -16
- package/dist/{commands → cli/commands}/init.d.ts +4 -1
- package/dist/{commands → cli/commands}/init.js +157 -72
- package/dist/{commands → cli/commands}/list.js +5 -5
- package/dist/{commands → cli/commands}/reset.js +4 -4
- package/dist/{commands → cli/commands}/source-config-wizard.d.ts +8 -3
- package/dist/{commands → cli/commands}/source-config-wizard.js +161 -87
- package/dist/{commands → cli/commands}/status.js +20 -11
- package/dist/{commands → cli/commands}/test-flow.d.ts +13 -4
- package/dist/{commands → cli/commands}/test-flow.js +30 -26
- package/dist/cli/commands/test.d.ts +14 -0
- package/dist/{commands → cli/commands}/test.js +39 -23
- package/dist/{commands → cli/commands}/verify.js +4 -4
- package/dist/cli/index.d.ts +21 -0
- package/dist/cli/index.js +33 -0
- package/dist/index.d.ts +22 -11
- package/dist/index.js +15 -6
- package/dist/lib/agent-args.d.ts +1 -4
- package/dist/lib/agent-args.js +1 -52
- package/dist/lib/agent-constants.d.ts +1 -5
- package/dist/lib/agent-constants.js +1 -28
- package/dist/lib/agent-detection.d.ts +1 -7
- package/dist/lib/agent-detection.js +1 -65
- package/dist/lib/agent-execution.d.ts +1 -2
- package/dist/lib/agent-execution.js +1 -243
- package/dist/lib/agent-logs.d.ts +1 -2
- package/dist/lib/agent-logs.js +1 -17
- package/dist/lib/agent-preflight.d.ts +1 -7
- package/dist/lib/agent-preflight.js +1 -77
- package/dist/lib/agent-render.d.ts +1 -8
- package/dist/lib/agent-render.js +1 -218
- package/dist/lib/agent-shells.d.ts +1 -69
- package/dist/lib/agent-shells.js +1 -1021
- package/dist/lib/agent-status.d.ts +1 -3
- package/dist/lib/agent-status.js +1 -58
- package/dist/lib/agent-types.d.ts +1 -30
- package/dist/lib/agent-types.js +1 -1
- package/dist/lib/agents.d.ts +1 -6
- package/dist/lib/agents.js +1 -5
- package/dist/lib/builtin-compiled-workflow.d.ts +1 -38
- package/dist/lib/builtin-compiled-workflow.js +1 -94
- package/dist/lib/compiled-compile.d.ts +1 -48
- package/dist/lib/compiled-compile.js +1 -255
- package/dist/lib/compiled-paths.d.ts +1 -40
- package/dist/lib/compiled-paths.js +3 -106
- package/dist/lib/compiled-raw.d.ts +1 -49
- package/dist/lib/compiled-raw.js +3 -102
- package/dist/lib/compiled-reset.d.ts +1 -2
- package/dist/lib/compiled-reset.js +3 -72
- package/dist/lib/compiled-schema.d.ts +1 -31
- package/dist/lib/compiled-schema.js +1 -141
- package/dist/lib/execution-profile.d.ts +1 -17
- package/dist/lib/execution-profile.js +1 -84
- package/dist/lib/executors.d.ts +1 -32
- package/dist/lib/executors.js +1 -43
- package/dist/lib/interf-bootstrap.d.ts +1 -3
- package/dist/lib/interf-bootstrap.js +3 -18
- package/dist/lib/interf-detect.d.ts +1 -33
- package/dist/lib/interf-detect.js +3 -176
- package/dist/lib/interf-scaffold.d.ts +1 -2
- package/dist/lib/interf-scaffold.js +3 -114
- package/dist/lib/interf-workflow-package.d.ts +1 -25
- package/dist/lib/interf-workflow-package.js +1 -342
- package/dist/lib/interf.d.ts +1 -5
- package/dist/lib/interf.js +3 -4
- package/dist/lib/local-workflows.d.ts +1 -54
- package/dist/lib/local-workflows.js +1 -422
- package/dist/lib/package-root.d.ts +1 -0
- package/dist/lib/package-root.js +1 -0
- package/dist/lib/project-paths.d.ts +1 -11
- package/dist/lib/project-paths.js +3 -32
- package/dist/lib/runtime-acceptance.d.ts +1 -9
- package/dist/lib/runtime-acceptance.js +1 -269
- package/dist/lib/runtime-contracts.d.ts +1 -2
- package/dist/lib/runtime-contracts.js +1 -48
- package/dist/lib/runtime-inventory.d.ts +1 -7
- package/dist/lib/runtime-inventory.js +1 -29
- package/dist/lib/runtime-paths.d.ts +1 -8
- package/dist/lib/runtime-paths.js +1 -26
- package/dist/lib/runtime-prompt.d.ts +1 -2
- package/dist/lib/runtime-prompt.js +1 -48
- package/dist/lib/runtime-reconcile.d.ts +1 -2
- package/dist/lib/runtime-reconcile.js +1 -193
- package/dist/lib/runtime-runs.d.ts +1 -11
- package/dist/lib/runtime-runs.js +1 -262
- package/dist/lib/runtime-types.d.ts +1 -43
- package/dist/lib/runtime-types.js +1 -1
- package/dist/lib/runtime.d.ts +1 -6
- package/dist/lib/runtime.js +1 -5
- package/dist/lib/schema.d.ts +4 -1073
- package/dist/lib/schema.js +6 -542
- package/dist/lib/source-config.d.ts +1 -39
- package/dist/lib/source-config.js +3 -293
- package/dist/lib/state-artifacts.d.ts +1 -8
- package/dist/lib/state-artifacts.js +1 -13
- package/dist/lib/state-health.d.ts +1 -4
- package/dist/lib/state-health.js +1 -132
- package/dist/lib/state-io.d.ts +1 -10
- package/dist/lib/state-io.js +1 -76
- package/dist/lib/state-paths.d.ts +1 -4
- package/dist/lib/state-paths.js +1 -13
- package/dist/lib/state-view.d.ts +1 -4
- package/dist/lib/state-view.js +1 -103
- package/dist/lib/state.d.ts +1 -7
- package/dist/lib/state.js +1 -12
- package/dist/lib/test-execution.d.ts +1 -14
- package/dist/lib/test-execution.js +3 -525
- package/dist/lib/test-matrices.d.ts +1 -90
- package/dist/lib/test-matrices.js +3 -96
- package/dist/lib/test-paths.d.ts +1 -12
- package/dist/lib/test-paths.js +3 -59
- package/dist/lib/test-profile-presets.d.ts +1 -57
- package/dist/lib/test-profile-presets.js +3 -50
- package/dist/lib/test-sandbox.d.ts +1 -11
- package/dist/lib/test-sandbox.js +3 -105
- package/dist/lib/test-specs.d.ts +1 -7
- package/dist/lib/test-specs.js +3 -114
- package/dist/lib/test-targets.d.ts +1 -5
- package/dist/lib/test-targets.js +3 -38
- package/dist/lib/test-types.d.ts +1 -17
- package/dist/lib/test-types.js +3 -1
- package/dist/lib/test.d.ts +1 -4
- package/dist/lib/test.js +3 -3
- package/dist/lib/validate-compiled.d.ts +1 -27
- package/dist/lib/validate-compiled.js +1 -241
- package/dist/lib/validate-helpers.d.ts +1 -12
- package/dist/lib/validate-helpers.js +1 -41
- package/dist/lib/validate.d.ts +1 -21
- package/dist/lib/validate.js +1 -249
- package/dist/lib/workflow-authoring.d.ts +1 -26
- package/dist/lib/workflow-authoring.js +1 -119
- package/dist/lib/workflow-definitions.d.ts +1 -78
- package/dist/lib/workflow-definitions.js +1 -203
- package/dist/lib/workflow-edit-session.d.ts +1 -16
- package/dist/lib/workflow-edit-session.js +1 -57
- package/dist/lib/workflow-edit-utils.d.ts +1 -10
- package/dist/lib/workflow-edit-utils.js +1 -39
- package/dist/lib/workflow-helpers.d.ts +1 -38
- package/dist/lib/workflow-helpers.js +1 -167
- package/dist/lib/workflow-improvement.d.ts +1 -22
- package/dist/lib/workflow-improvement.js +1 -209
- package/dist/lib/workflow-primitives.d.ts +1 -2
- package/dist/lib/workflow-primitives.js +1 -5
- package/dist/lib/workflow-review-paths.d.ts +1 -10
- package/dist/lib/workflow-review-paths.js +1 -27
- package/dist/lib/workflow-stage-policy.d.ts +1 -5
- package/dist/lib/workflow-stage-policy.js +1 -31
- package/dist/lib/workflow-stage-runner.d.ts +1 -41
- package/dist/lib/workflow-stage-runner.js +1 -109
- package/dist/lib/workflows.d.ts +1 -15
- package/dist/lib/workflows.js +1 -31
- package/dist/packages/agents/index.d.ts +17 -0
- package/dist/packages/agents/index.js +15 -0
- package/dist/packages/agents/lib/agents.d.ts +6 -0
- package/dist/packages/agents/lib/agents.js +5 -0
- package/dist/packages/agents/lib/args.d.ts +4 -0
- package/dist/packages/agents/lib/args.js +52 -0
- package/dist/packages/agents/lib/constants.d.ts +5 -0
- package/dist/packages/agents/lib/constants.js +28 -0
- package/dist/packages/agents/lib/detection.d.ts +7 -0
- package/dist/packages/agents/lib/detection.js +65 -0
- package/dist/packages/agents/lib/execution-profile.d.ts +17 -0
- package/dist/packages/agents/lib/execution-profile.js +84 -0
- package/dist/packages/agents/lib/execution.d.ts +2 -0
- package/dist/packages/agents/lib/execution.js +243 -0
- package/dist/packages/agents/lib/executors.d.ts +32 -0
- package/dist/packages/agents/lib/executors.js +45 -0
- package/dist/packages/agents/lib/logs.d.ts +2 -0
- package/dist/packages/agents/lib/logs.js +17 -0
- package/dist/packages/agents/lib/preflight.d.ts +7 -0
- package/dist/packages/agents/lib/preflight.js +77 -0
- package/dist/packages/agents/lib/render.d.ts +8 -0
- package/dist/packages/agents/lib/render.js +218 -0
- package/dist/packages/agents/lib/schema.d.ts +8 -0
- package/dist/packages/agents/lib/schema.js +7 -0
- package/dist/packages/agents/lib/shells.d.ts +69 -0
- package/dist/packages/agents/lib/shells.js +1021 -0
- package/dist/packages/agents/lib/status.d.ts +3 -0
- package/dist/packages/agents/lib/status.js +58 -0
- package/dist/packages/agents/lib/types.d.ts +30 -0
- package/dist/packages/agents/lib/types.js +1 -0
- package/dist/{lib → packages/agents/lib}/user-config.d.ts +1 -0
- package/dist/{lib → packages/agents/lib}/user-config.js +3 -2
- package/dist/packages/compiler/compiled-compile.d.ts +48 -0
- package/dist/packages/compiler/compiled-compile.js +256 -0
- package/dist/packages/compiler/compiled-schema.d.ts +31 -0
- package/dist/packages/compiler/compiled-schema.js +141 -0
- package/dist/packages/compiler/index.d.ts +24 -0
- package/dist/packages/compiler/index.js +23 -0
- package/dist/packages/compiler/lib/schema.d.ts +684 -0
- package/dist/packages/compiler/lib/schema.js +361 -0
- package/dist/packages/compiler/runtime-acceptance.d.ts +9 -0
- package/dist/packages/compiler/runtime-acceptance.js +269 -0
- package/dist/packages/compiler/runtime-contracts.d.ts +2 -0
- package/dist/packages/compiler/runtime-contracts.js +48 -0
- package/dist/packages/compiler/runtime-inventory.d.ts +7 -0
- package/dist/packages/compiler/runtime-inventory.js +29 -0
- package/dist/packages/compiler/runtime-paths.d.ts +8 -0
- package/dist/packages/compiler/runtime-paths.js +26 -0
- package/dist/packages/compiler/runtime-prompt.d.ts +2 -0
- package/dist/packages/compiler/runtime-prompt.js +48 -0
- package/dist/packages/compiler/runtime-reconcile.d.ts +2 -0
- package/dist/packages/compiler/runtime-reconcile.js +193 -0
- package/dist/packages/compiler/runtime-runs.d.ts +11 -0
- package/dist/packages/compiler/runtime-runs.js +262 -0
- package/dist/packages/compiler/runtime-types.d.ts +43 -0
- package/dist/packages/compiler/runtime-types.js +1 -0
- package/dist/packages/compiler/runtime.d.ts +6 -0
- package/dist/packages/compiler/runtime.js +5 -0
- package/dist/packages/compiler/state-artifacts.d.ts +8 -0
- package/dist/packages/compiler/state-artifacts.js +13 -0
- package/dist/packages/compiler/state-health.d.ts +4 -0
- package/dist/packages/compiler/state-health.js +132 -0
- package/dist/packages/compiler/state-io.d.ts +10 -0
- package/dist/packages/compiler/state-io.js +76 -0
- package/dist/packages/compiler/state-paths.d.ts +4 -0
- package/dist/packages/compiler/state-paths.js +13 -0
- package/dist/packages/compiler/state-view.d.ts +4 -0
- package/dist/packages/compiler/state-view.js +103 -0
- package/dist/packages/compiler/state.d.ts +7 -0
- package/dist/packages/compiler/state.js +12 -0
- package/dist/packages/compiler/validate-compiled.d.ts +27 -0
- package/dist/packages/compiler/validate-compiled.js +241 -0
- package/dist/packages/compiler/validate-helpers.d.ts +12 -0
- package/dist/packages/compiler/validate-helpers.js +41 -0
- package/dist/packages/compiler/validate.d.ts +21 -0
- package/dist/packages/compiler/validate.js +249 -0
- package/dist/packages/compiler/workflow-primitives.d.ts +2 -0
- package/dist/packages/compiler/workflow-primitives.js +5 -0
- package/dist/packages/compiler/workflows.d.ts +15 -0
- package/dist/packages/compiler/workflows.js +31 -0
- package/dist/packages/project-model/compiled-paths.d.ts +40 -0
- package/dist/packages/project-model/compiled-paths.js +106 -0
- package/dist/packages/project-model/compiled-raw.d.ts +49 -0
- package/dist/packages/project-model/compiled-raw.js +102 -0
- package/dist/packages/project-model/compiled-reset.d.ts +2 -0
- package/dist/packages/project-model/compiled-reset.js +72 -0
- package/dist/packages/project-model/index.d.ts +11 -0
- package/dist/packages/project-model/index.js +10 -0
- package/dist/packages/project-model/interf-bootstrap.d.ts +3 -0
- package/dist/packages/project-model/interf-bootstrap.js +18 -0
- package/dist/packages/project-model/interf-detect.d.ts +33 -0
- package/dist/packages/project-model/interf-detect.js +176 -0
- package/dist/packages/project-model/interf-scaffold.d.ts +2 -0
- package/dist/packages/project-model/interf-scaffold.js +124 -0
- package/dist/packages/project-model/interf.d.ts +5 -0
- package/dist/packages/project-model/interf.js +4 -0
- package/dist/packages/project-model/lib/schema.d.ts +125 -0
- package/dist/packages/project-model/lib/schema.js +62 -0
- package/dist/packages/project-model/project-paths.d.ts +11 -0
- package/dist/packages/project-model/project-paths.js +32 -0
- package/dist/packages/project-model/source-config.d.ts +38 -0
- package/dist/packages/project-model/source-config.js +297 -0
- package/dist/packages/testing/index.d.ts +13 -0
- package/dist/packages/testing/index.js +10 -0
- package/dist/packages/testing/lib/schema.d.ts +261 -0
- package/dist/packages/testing/lib/schema.js +119 -0
- package/dist/packages/testing/test-execution.d.ts +14 -0
- package/dist/packages/testing/test-execution.js +525 -0
- package/dist/packages/testing/test-matrices.d.ts +90 -0
- package/dist/packages/testing/test-matrices.js +96 -0
- package/dist/packages/testing/test-paths.d.ts +12 -0
- package/dist/packages/testing/test-paths.js +59 -0
- package/dist/packages/testing/test-profile-presets.d.ts +57 -0
- package/dist/packages/testing/test-profile-presets.js +50 -0
- package/dist/packages/testing/test-sandbox.d.ts +11 -0
- package/dist/packages/testing/test-sandbox.js +105 -0
- package/dist/packages/testing/test-specs.d.ts +7 -0
- package/dist/packages/testing/test-specs.js +114 -0
- package/dist/packages/testing/test-targets.d.ts +5 -0
- package/dist/packages/testing/test-targets.js +38 -0
- package/dist/packages/testing/test-types.d.ts +16 -0
- package/dist/packages/testing/test-types.js +1 -0
- package/dist/packages/testing/test.d.ts +4 -0
- package/dist/packages/testing/test.js +3 -0
- package/dist/packages/workflow-authoring/index.d.ts +4 -0
- package/dist/packages/workflow-authoring/index.js +4 -0
- package/dist/packages/workflow-authoring/lib/workflow-edit-utils.d.ts +10 -0
- package/dist/packages/workflow-authoring/lib/workflow-edit-utils.js +39 -0
- package/dist/packages/workflow-authoring/workflow-authoring.d.ts +26 -0
- package/dist/packages/workflow-authoring/workflow-authoring.js +120 -0
- package/dist/packages/workflow-authoring/workflow-edit-session.d.ts +16 -0
- package/dist/packages/workflow-authoring/workflow-edit-session.js +57 -0
- package/dist/packages/workflow-authoring/workflow-improvement.d.ts +23 -0
- package/dist/packages/workflow-authoring/workflow-improvement.js +209 -0
- package/dist/packages/workflow-package/builtin-compiled-workflow.d.ts +38 -0
- package/dist/packages/workflow-package/builtin-compiled-workflow.js +94 -0
- package/dist/packages/workflow-package/index.d.ts +9 -0
- package/dist/packages/workflow-package/index.js +9 -0
- package/dist/packages/workflow-package/interf-workflow-package.d.ts +25 -0
- package/dist/packages/workflow-package/interf-workflow-package.js +342 -0
- package/dist/{lib/config.d.ts → packages/workflow-package/lib/package-root.d.ts} +0 -1
- package/dist/packages/workflow-package/lib/package-root.js +6 -0
- package/dist/packages/workflow-package/local-workflows.d.ts +54 -0
- package/dist/packages/workflow-package/local-workflows.js +422 -0
- package/dist/packages/workflow-package/workflow-definitions.d.ts +78 -0
- package/dist/packages/workflow-package/workflow-definitions.js +203 -0
- package/dist/packages/workflow-package/workflow-helpers.d.ts +38 -0
- package/dist/packages/workflow-package/workflow-helpers.js +167 -0
- package/dist/packages/workflow-package/workflow-review-paths.d.ts +10 -0
- package/dist/packages/workflow-package/workflow-review-paths.js +27 -0
- package/dist/packages/workflow-package/workflow-stage-policy.d.ts +5 -0
- package/dist/packages/workflow-package/workflow-stage-policy.js +31 -0
- package/dist/packages/workflow-package/workflow-stage-runner.d.ts +41 -0
- package/dist/packages/workflow-package/workflow-stage-runner.js +109 -0
- package/package.json +43 -19
- package/dist/commands/test.d.ts +0 -3
- package/dist/lib/compiled-home.d.ts +0 -5
- package/dist/lib/compiled-home.js +0 -32
- package/dist/lib/config.js +0 -9
- /package/dist/{commands → cli/commands}/dataset-selection.js +0 -0
- /package/dist/{commands → cli/commands}/default.d.ts +0 -0
- /package/dist/{commands → cli/commands}/doctor.d.ts +0 -0
- /package/dist/{commands → cli/commands}/list.d.ts +0 -0
- /package/dist/{commands → cli/commands}/reset.d.ts +0 -0
- /package/dist/{commands → cli/commands}/status.d.ts +0 -0
- /package/dist/{commands → cli/commands}/verify.d.ts +0 -0
package/README.md
CHANGED
|
@@ -1,48 +1,86 @@
|
|
|
1
1
|
# Interf
|
|
2
2
|
|
|
3
|
-
Interf
|
|
3
|
+
Interf prepares task context for your agents.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
Start with the files behind a task and a few checks. Interf tests the files as-is first, shows what already works, and builds a local context folder when the current context is not good enough.
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
The result is a real folder your agent can open and work from. Interf retests it on the same checks, and self-improving loops can revise the workflow and try again until it passes or reaches the loop limit.
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
Raw files stay the source of truth. The context folder adds task-specific structure on top of them.
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
```bash
|
|
12
|
+
cd ~/my-project
|
|
13
|
+
interf
|
|
14
|
+
interf test
|
|
15
|
+
interf compile
|
|
16
|
+
interf test
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
The context folder Interf builds is rooted at:
|
|
20
|
+
|
|
21
|
+
```text
|
|
22
|
+
interf/<dataset>/
|
|
23
|
+
AGENTS.md
|
|
24
|
+
CLAUDE.md
|
|
25
|
+
raw/
|
|
26
|
+
<workflow-declared compiled outputs>
|
|
27
|
+
.interf/
|
|
28
|
+
interf.json
|
|
29
|
+
workflow/
|
|
30
|
+
runtime/
|
|
31
|
+
tests/
|
|
32
|
+
```
|
|
12
33
|
|
|
13
|
-
A recent run in this repo on the CBRE chart sanity
|
|
34
|
+
A recent run in this repo on the CBRE chart sanity task produced:
|
|
14
35
|
|
|
15
36
|
<!-- PUBLIC_BENCHMARK_TABLE:START -->
|
|
16
|
-
| Agent | Files as-is |
|
|
37
|
+
| Agent | Files as-is | Context folder |
|
|
17
38
|
| --- | --- | --- |
|
|
18
39
|
| Codex (GPT-5.4, xhigh) | `2/2` | `2/2` |
|
|
19
40
|
| Claude Code (Claude Opus 4.6, max) | `0/2` | `2/2` |
|
|
20
41
|
<!-- PUBLIC_BENCHMARK_TABLE:END -->
|
|
21
42
|
|
|
22
|
-
|
|
43
|
+
Those scores came from checks like:
|
|
44
|
+
|
|
45
|
+
- `What were Bristol's annual take-up values in 2018 and 2016?`
|
|
46
|
+
- `What were Bristol's availability values in 2018 and 2016?`
|
|
47
|
+
|
|
48
|
+
Same task. Same checks. Same local setup.
|
|
49
|
+
|
|
50
|
+
## How It Works
|
|
51
|
+
|
|
52
|
+
1. Start with a task and the files relevant to it.
|
|
53
|
+
2. Save a few checks that tell Interf what "ready" means for that task.
|
|
54
|
+
3. Run a workflow that prepares a source-backed context folder for the task.
|
|
55
|
+
4. Test the result on the same checks and keep it only if it helped.
|
|
56
|
+
|
|
57
|
+
The raw baseline is still important. It shows what already works on the files as-is and which local agent performs best before you spend time improving anything.
|
|
23
58
|
|
|
24
59
|
## Why It Exists
|
|
25
60
|
|
|
26
|
-
Local agents
|
|
61
|
+
Local agents can open raw files and still reason badly over them. Reports, decks, transcripts, exports, PDFs, notes, and mixed folders may all be present, but they are often missing the structure a real task needs.
|
|
62
|
+
|
|
63
|
+
Interf takes the files behind a task, prepares them into a local context folder your agents can use, and then proves whether the result helped.
|
|
27
64
|
|
|
28
65
|
Interf keeps the loop honest:
|
|
29
66
|
|
|
30
|
-
- `
|
|
31
|
-
- `
|
|
32
|
-
- `
|
|
67
|
+
- `Value first`: prepare the data for a specific task, not just dump files into another app.
|
|
68
|
+
- `Proof-backed`: test raw files and the prepared result on the same checks.
|
|
69
|
+
- `One folder`: the context folder is a real folder you can inspect, diff, review, and version.
|
|
33
70
|
- `Source-backed`: raw files remain the source of truth.
|
|
34
|
-
- `Bring your own agent`: use
|
|
35
|
-
- `Self-improving`: when
|
|
71
|
+
- `Bring your own agent`: use the context folder manually from other local agents too. Automated Interf runs currently support Claude Code and Codex.
|
|
72
|
+
- `Self-improving`: when checks fail, Interf can inspect the failed run, edit the workflow, and retest new workflow variations on the same checks. Retries keep the same workflow variation; loops change the workflow itself.
|
|
36
73
|
|
|
37
74
|
## What You Get
|
|
38
75
|
|
|
39
|
-
A project
|
|
76
|
+
A project with one saved setup stays simple:
|
|
40
77
|
|
|
41
78
|
```text
|
|
42
|
-
your-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
79
|
+
your-project/
|
|
80
|
+
task-files/
|
|
81
|
+
report.pdf
|
|
82
|
+
notes.md
|
|
83
|
+
exports/
|
|
46
84
|
interf.json
|
|
47
85
|
interf/
|
|
48
86
|
<dataset>/
|
|
@@ -50,22 +88,7 @@ your-task-folder/
|
|
|
50
88
|
<dataset>/
|
|
51
89
|
```
|
|
52
90
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
```text
|
|
56
|
-
interf/<dataset>/
|
|
57
|
-
AGENTS.md
|
|
58
|
-
CLAUDE.md
|
|
59
|
-
raw/
|
|
60
|
-
<workflow-declared compiled outputs>
|
|
61
|
-
.interf/
|
|
62
|
-
interf.json
|
|
63
|
-
workflow/
|
|
64
|
-
runtime/
|
|
65
|
-
tests/
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
The compiled dataset is the folder your agent should work from.
|
|
91
|
+
The context folder is the folder your agents should work from after Interf prepares the data for the task.
|
|
69
92
|
|
|
70
93
|
## Quick Start
|
|
71
94
|
|
|
@@ -80,23 +103,17 @@ Install:
|
|
|
80
103
|
npm install -g @interf/compiler
|
|
81
104
|
```
|
|
82
105
|
|
|
83
|
-
Start from a folder that
|
|
84
|
-
|
|
85
|
-
```bash
|
|
86
|
-
cd ~/my-task-folder
|
|
87
|
-
interf
|
|
88
|
-
interf test
|
|
89
|
-
interf compile
|
|
90
|
-
interf test
|
|
91
|
-
```
|
|
106
|
+
Start from a project folder that contains one or more source folders for the task.
|
|
92
107
|
|
|
93
108
|
The first run can:
|
|
94
109
|
|
|
95
110
|
- draft `interf.json`
|
|
96
|
-
-
|
|
97
|
-
-
|
|
98
|
-
-
|
|
99
|
-
-
|
|
111
|
+
- let you choose the source folder for the task
|
|
112
|
+
- default the dataset id from that folder name, then let you change it
|
|
113
|
+
- help you create checks for the task, or let you add them manually
|
|
114
|
+
- run a files-as-is baseline on those checks so you can see what already works
|
|
115
|
+
- build the context folder that stores the compiled context
|
|
116
|
+
- let you test the context folder on the same checks
|
|
100
117
|
|
|
101
118
|
If Interf cannot find your local executor setup, run:
|
|
102
119
|
|
|
@@ -104,11 +121,13 @@ If Interf cannot find your local executor setup, run:
|
|
|
104
121
|
interf doctor --live
|
|
105
122
|
```
|
|
106
123
|
|
|
107
|
-
##
|
|
124
|
+
## Checks
|
|
125
|
+
|
|
126
|
+
Checks are the questions and expected answers Interf uses to prove whether the prepared result is good enough for this task.
|
|
108
127
|
|
|
109
|
-
|
|
128
|
+
They are just question-and-answer pairs you already know how to verify from the files behind the task.
|
|
110
129
|
|
|
111
|
-
Good first
|
|
130
|
+
Good first checks are small and practical:
|
|
112
131
|
|
|
113
132
|
- one exact number from a chart, table, or filing
|
|
114
133
|
- one short statement that should be true or false
|
|
@@ -122,6 +141,7 @@ A maintained public test run in this repo uses checks like this:
|
|
|
122
141
|
"datasets": [
|
|
123
142
|
{
|
|
124
143
|
"name": "cbre-chart-sanity",
|
|
144
|
+
"path": "./task-files",
|
|
125
145
|
"about": "Bristol historical take-up and availability chart lookup.",
|
|
126
146
|
"checks": [
|
|
127
147
|
{
|
|
@@ -141,33 +161,33 @@ A maintained public test run in this repo uses checks like this:
|
|
|
141
161
|
|
|
142
162
|
## What `interf test` Proves
|
|
143
163
|
|
|
144
|
-
`interf test` compares files as-is and the
|
|
164
|
+
`interf test` compares files as-is and the context folder on the same checks.
|
|
145
165
|
|
|
146
166
|
That comparison is the product record:
|
|
147
167
|
|
|
148
168
|
- same task
|
|
149
|
-
- same
|
|
169
|
+
- same checks
|
|
150
170
|
- same local agent setup
|
|
151
171
|
- raw files on one side
|
|
152
|
-
- compiled
|
|
172
|
+
- compiled context on the other
|
|
153
173
|
|
|
154
174
|
Use `interf test` on your own files instead of trusting a frozen benchmark snapshot in the docs.
|
|
155
175
|
|
|
156
|
-
Interf saves the latest comparison plus detailed raw and
|
|
176
|
+
Interf saves the latest comparison plus detailed raw-side and context-folder runs under `interf/tests/` in the same folder.
|
|
157
177
|
|
|
158
178
|
## The Core Loop
|
|
159
179
|
|
|
160
|
-
1. Save a few
|
|
161
|
-
2. Optionally run `interf test` to
|
|
162
|
-
3. Run `interf compile` to
|
|
163
|
-
4. Run `interf test` again on the same
|
|
180
|
+
1. Save a few checks for the task in `interf.json`.
|
|
181
|
+
2. Optionally run `interf test` to see how the raw files do first.
|
|
182
|
+
3. Run `interf compile` to prepare the data into a context folder.
|
|
183
|
+
4. Run `interf test` again on the same checks.
|
|
164
184
|
5. If loops are enabled, let Interf retry the same workflow variation or edit the workflow and test the new variation.
|
|
165
185
|
|
|
166
|
-
The project root
|
|
186
|
+
The project root stores the source-folder setup and checks. The context folder carries the local compiled context needed for repeat runs.
|
|
167
187
|
|
|
168
188
|
## Workflows
|
|
169
189
|
|
|
170
|
-
A workflow tells Interf how to prepare the files for
|
|
190
|
+
A workflow tells Interf how to prepare and structure the files for a task before your agent uses them.
|
|
171
191
|
|
|
172
192
|
Interf ships with a built-in `interf` workflow for the common case. If you need a different method, create one locally:
|
|
173
193
|
|
|
@@ -180,7 +200,7 @@ Workflow creation supports two paths:
|
|
|
180
200
|
- draft a workflow from the current project with a local agent
|
|
181
201
|
- copy an existing workflow and edit stage guidance directly
|
|
182
202
|
|
|
183
|
-
After assignment,
|
|
203
|
+
After assignment, build the context folder with `interf compile` and run `interf test` on the same checks.
|
|
184
204
|
|
|
185
205
|
## Compile Loops
|
|
186
206
|
|
|
@@ -188,9 +208,9 @@ After assignment, compile the dataset and run `interf test` on the same truth ch
|
|
|
188
208
|
|
|
189
209
|
Retries keep the target fixed:
|
|
190
210
|
|
|
191
|
-
- same dataset
|
|
211
|
+
- same configured dataset
|
|
192
212
|
- same workflow variation
|
|
193
|
-
- same
|
|
213
|
+
- same checks
|
|
194
214
|
- same measurement
|
|
195
215
|
|
|
196
216
|
`max_loops` enables self-improving workflow edits in the normal `interf compile` path.
|
|
@@ -199,13 +219,13 @@ In that loop, the thing that changes is the workflow itself.
|
|
|
199
219
|
|
|
200
220
|
Each loop can:
|
|
201
221
|
|
|
202
|
-
- run the current workflow variation on the dataset
|
|
203
|
-
- test it on the same
|
|
222
|
+
- run the current workflow variation on the same configured dataset
|
|
223
|
+
- test it on the same checks
|
|
204
224
|
- inspect failed traces, preserved stage shells, and test artifacts
|
|
205
225
|
- edit the workflow
|
|
206
226
|
- build and test the next workflow variation
|
|
207
227
|
|
|
208
|
-
Interf preserves workflow-improvement shells, workflow-before / workflow-after snapshots, failed stage shells, and
|
|
228
|
+
Interf preserves workflow-improvement shells, workflow-before / workflow-after snapshots, failed stage shells, and test runs from each loop so you can inspect exactly what changed.
|
|
209
229
|
|
|
210
230
|
## Use It With Your Agent
|
|
211
231
|
|
|
@@ -216,19 +236,19 @@ Paste something like this into your agent:
|
|
|
216
236
|
```text
|
|
217
237
|
Install `@interf/compiler`, run `interf` in this folder, and use the local agent executor.
|
|
218
238
|
|
|
219
|
-
If `interf.json` is missing, draft one dataset entry for this task with a few
|
|
239
|
+
If `interf.json` is missing, draft one dataset entry for this task with a few checks this agent should be able to answer from the selected files and add the expected answers for me to confirm.
|
|
220
240
|
|
|
221
|
-
Then run a files-as-is baseline if helpful, compile the
|
|
241
|
+
Then run a files-as-is baseline if helpful, compile the context folder to prepare the data for that task, and run `interf test`.
|
|
222
242
|
|
|
223
|
-
Tell me whether the
|
|
243
|
+
Tell me whether the context folder passes the checks, and only recommend it if it does.
|
|
224
244
|
```
|
|
225
245
|
|
|
226
246
|
## More Docs
|
|
227
247
|
|
|
228
|
-
- [
|
|
229
|
-
- [
|
|
230
|
-
- [
|
|
231
|
-
- [
|
|
248
|
+
- [src/packages/README.md](./src/packages/README.md) for the short system map
|
|
249
|
+
- [src/packages/compiler/PACKAGE.md](./src/packages/compiler/PACKAGE.md) for compiler primitives and the runtime ABI
|
|
250
|
+
- [src/packages/workflow-package/PACKAGE.md](./src/packages/workflow-package/PACKAGE.md) for the workflow package model
|
|
251
|
+
- [src/packages/workflow-authoring/PACKAGE.md](./src/packages/workflow-authoring/PACKAGE.md) for workflow authoring and self-improving loops
|
|
232
252
|
|
|
233
253
|
Maintainers should use [CONTRIBUTING.md](./CONTRIBUTING.md) for test and release gates.
|
|
234
254
|
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
# Interf (Built-in Workflow)
|
|
2
2
|
|
|
3
|
-
Interf's built-in workflow: summarize source-grounded evidence, structure the cross-file layer, then shape the final
|
|
3
|
+
Interf's built-in workflow: summarize source-grounded evidence, structure the cross-file layer, then shape the final context folder around its task focus and checks.
|
|
4
4
|
|
|
5
5
|
## Purpose
|
|
6
6
|
|
|
7
|
-
- General agent
|
|
8
|
-
-
|
|
7
|
+
- General compiled context workflow for agent use
|
|
8
|
+
- Compile mixed raw files into evidence-backed summaries, cross-file structure, and a usable entrypoint for agents answering the questions this task depends on.
|
|
9
9
|
|
|
10
10
|
## Zones
|
|
11
11
|
|
|
@@ -21,11 +21,11 @@ Interf's built-in workflow: summarize source-grounded evidence, structure the cr
|
|
|
21
21
|
|
|
22
22
|
- `summarize` — Turn source files into per-file summaries. (compiled-file-evidence; reads: raw, runtime; writes: summaries)
|
|
23
23
|
- `structure` — Build the cross-file knowledge structure from the summaries. (compiled-knowledge-structure; reads: summaries, runtime; writes: knowledge-entities, knowledge-claims, knowledge-indexes)
|
|
24
|
-
- `shape` — Shape the final
|
|
24
|
+
- `shape` — Shape the final context folder around the saved task focus and checks. (compiled-query-shape; reads: raw, summaries, knowledge-entities, knowledge-claims, knowledge-indexes, runtime; writes: knowledge-indexes, home)
|
|
25
25
|
|
|
26
26
|
## Why `home.md` exists here
|
|
27
27
|
|
|
28
|
-
This built-in workflow creates `home.md` as the main agent entrypoint for the
|
|
28
|
+
This built-in workflow creates `home.md` as the main agent entrypoint for the context folder.
|
|
29
29
|
That is behavior of the `interf` workflow, not a compiler-wide rule.
|
|
30
30
|
|
|
31
31
|
This package is the built-in seed for `interf`.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Shape
|
|
2
2
|
|
|
3
|
-
Shape the final
|
|
3
|
+
Shape the final context folder around the saved task focus and checks.
|
|
4
4
|
|
|
5
5
|
Contract type: `compiled-query-shape`
|
|
6
6
|
|
|
@@ -18,12 +18,12 @@ Contract type: `compiled-query-shape`
|
|
|
18
18
|
- If a mark touches or nearly touches a labeled gridline, anchor the answer at that gridline or the immediately adjacent half-band.
|
|
19
19
|
- Do not widen a chart-derived range across multiple visible bands unless the chart genuinely supports that uncertainty.
|
|
20
20
|
- When you settle on a bounded chart read, keep that same band consistent across `home.md`, focused indexes, and claim/entity notes for that metric and year.
|
|
21
|
-
- Do not copy expected answers into the
|
|
21
|
+
- Do not copy expected answers into the context folder.
|
|
22
22
|
|
|
23
23
|
## Notes
|
|
24
24
|
|
|
25
|
-
- Use the saved task focus and
|
|
26
|
-
- Do not copy expected answers into the final
|
|
25
|
+
- Use the saved task focus and checks to bias the final context folder toward the job it should be especially good at.
|
|
26
|
+
- Do not copy expected answers into the final context folder just because the checks imply them.
|
|
27
27
|
- Prefer the saved summary evidence and structured notes when they already preserve the bounded chart/table reads plus provenance you need.
|
|
28
28
|
- Reopen `raw/` during shaping only when the compiled layer is missing the needed value, the metric family is ambiguous, or the earlier bounded read is clearly inconsistent.
|
|
29
29
|
- If a saved truth check depends on chart-derived or table-derived values, carry the final bounded reads forward into focused notes with provenance instead of repeatedly recomputing them from raw.
|
|
@@ -8,11 +8,11 @@ The improver edits this local package directly.
|
|
|
8
8
|
Default loop:
|
|
9
9
|
1. Read the loop context first.
|
|
10
10
|
2. Review preserved stage shells, runtime logs, and saved test runs from failed attempts.
|
|
11
|
-
3. Edit only the local workflow package for this
|
|
11
|
+
3. Edit only the local workflow package for this context folder to create a better workflow variation for this task.
|
|
12
12
|
4. Keep `workflow.json`, `workflow.schema.json`, and any changed stage docs aligned.
|
|
13
13
|
|
|
14
14
|
Guardrails:
|
|
15
|
-
- do not edit
|
|
15
|
+
- do not edit checks, test specs, or raw source files
|
|
16
16
|
- do not hardcode expected answers into workflow docs
|
|
17
17
|
- keep this package standalone; do not add or rely on runtime `extends` or fallback behavior
|
|
18
18
|
- prefer small, defensible workflow changes over random churn
|
|
@@ -25,4 +25,4 @@ Answering rule:
|
|
|
25
25
|
- if multiple compiled notes mention the same chart read, keep the answer consistent with the most focused compiled note rather than synthesizing a new midpoint or shifted band
|
|
26
26
|
- when the compiled layer is insufficient, verify in `raw/` and then answer
|
|
27
27
|
|
|
28
|
-
You can edit this file to bias manual question-answering behavior for this
|
|
28
|
+
You can edit this file to bias manual question-answering behavior for this context folder.
|
|
@@ -6,11 +6,11 @@
|
|
|
6
6
|
"version": 1
|
|
7
7
|
},
|
|
8
8
|
"purpose": {
|
|
9
|
-
"label": "General agent
|
|
10
|
-
"task_hint": "
|
|
9
|
+
"label": "General compiled context workflow for agent use",
|
|
10
|
+
"task_hint": "Compile mixed raw files into evidence-backed summaries, cross-file structure, and a usable entrypoint for agents answering the questions this task depends on."
|
|
11
11
|
},
|
|
12
12
|
"label": "Interf (Built-in)",
|
|
13
|
-
"hint": "Interf's built-in workflow: summarize source-grounded evidence, structure the cross-file layer, then shape the final
|
|
13
|
+
"hint": "Interf's built-in workflow: summarize source-grounded evidence, structure the cross-file layer, then shape the final context folder around its task focus and checks.",
|
|
14
14
|
"stages": [
|
|
15
15
|
{
|
|
16
16
|
"id": "summarize",
|
|
@@ -82,7 +82,7 @@
|
|
|
82
82
|
{
|
|
83
83
|
"id": "shape",
|
|
84
84
|
"label": "Shape",
|
|
85
|
-
"description": "Shape the final
|
|
85
|
+
"description": "Shape the final context folder around the saved task focus and checks.",
|
|
86
86
|
"contract_type": "compiled-query-shape",
|
|
87
87
|
"skill_dir": "shape",
|
|
88
88
|
"reads": [
|
|
@@ -135,8 +135,8 @@
|
|
|
135
135
|
"For summary references, prefer explicit links like `[[summaries/<file-stem>]]` or plain code paths. For knowledge notes, prefer the final filename stem under `knowledge/`."
|
|
136
136
|
],
|
|
137
137
|
"shape": [
|
|
138
|
-
"Use the saved task focus and
|
|
139
|
-
"Do not copy expected answers into the final
|
|
138
|
+
"Use the saved task focus and checks to bias the final context folder toward the job it should be especially good at.",
|
|
139
|
+
"Do not copy expected answers into the final context folder just because the checks imply them.",
|
|
140
140
|
"If a saved truth check depends on chart-derived or table-derived values, verify the needed evidence in `raw/` while shaping and write focused notes that preserve bounded values plus provenance.",
|
|
141
141
|
"Prefer better routing, prioritization, and focused navigation over speculative synthesis.",
|
|
142
142
|
"Any wikilinks you add to `home.md` or indexes must resolve to real compiled note basenames or explicit relative paths."
|
package/dist/bin.js
CHANGED
|
@@ -1,29 +1,3 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import
|
|
3
|
-
|
|
4
|
-
import { initCommand } from "./commands/init.js";
|
|
5
|
-
import { createCommand } from "./commands/create.js";
|
|
6
|
-
import { compileCommand } from "./commands/compile.js";
|
|
7
|
-
import { testCommand } from "./commands/test.js";
|
|
8
|
-
import { doctorCommand } from "./commands/doctor.js";
|
|
9
|
-
import { listCommand } from "./commands/list.js";
|
|
10
|
-
import { statusCommand } from "./commands/status.js";
|
|
11
|
-
import { resetCommand } from "./commands/reset.js";
|
|
12
|
-
import { defaultCommand } from "./commands/default.js";
|
|
13
|
-
import { verifyCommand } from "./commands/verify.js";
|
|
14
|
-
yargs(hideBin(process.argv))
|
|
15
|
-
.scriptName("interf")
|
|
16
|
-
.command(defaultCommand)
|
|
17
|
-
.command(initCommand)
|
|
18
|
-
.command(compileCommand)
|
|
19
|
-
.command(testCommand)
|
|
20
|
-
.command(createCommand)
|
|
21
|
-
.command(doctorCommand)
|
|
22
|
-
.command(listCommand)
|
|
23
|
-
.command(statusCommand)
|
|
24
|
-
.command(verifyCommand)
|
|
25
|
-
.command(resetCommand)
|
|
26
|
-
.strict()
|
|
27
|
-
.help()
|
|
28
|
-
.version()
|
|
29
|
-
.parse();
|
|
2
|
+
import { runCli } from "./cli/index.js";
|
|
3
|
+
await runCli();
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { WorkflowExecutor } from "
|
|
2
|
-
import type { SourceTruthCheck } from "
|
|
1
|
+
import type { WorkflowExecutor } from "../../packages/agents/lib/executors.js";
|
|
2
|
+
import type { SourceTruthCheck } from "../../packages/project-model/lib/schema.js";
|
|
3
3
|
export declare function buildTruthCheckDraftPrompt(options: {
|
|
4
4
|
datasetName: string;
|
|
5
5
|
datasetPath: string;
|
|
@@ -17,22 +17,22 @@ export function buildTruthCheckDraftPrompt(options) {
|
|
|
17
17
|
]
|
|
18
18
|
: [
|
|
19
19
|
"No primary task was provided.",
|
|
20
|
-
"Prefer broad, representative checks that reflect the most useful questions a human would verify from this
|
|
20
|
+
"Prefer broad, representative checks that reflect the most useful questions a human would verify from this source folder.",
|
|
21
21
|
];
|
|
22
22
|
return [
|
|
23
|
-
"You are drafting Interf
|
|
23
|
+
"You are drafting Interf checks for a local source folder.",
|
|
24
24
|
"Read the files in this folder and draft a small set of checks that a human can verify from the source material.",
|
|
25
25
|
"Do not ask follow-up questions.",
|
|
26
|
-
"Keep the checks concrete, explicit, and useful for measuring whether an agent can reason correctly over the
|
|
26
|
+
"Keep the checks concrete, explicit, and useful for measuring whether an agent can reason correctly over the files in this source folder.",
|
|
27
27
|
"",
|
|
28
|
-
`
|
|
29
|
-
`
|
|
28
|
+
`Setup id: ${options.datasetName}`,
|
|
29
|
+
`Source folder: ${options.datasetPath}`,
|
|
30
30
|
...taskLines,
|
|
31
31
|
"",
|
|
32
32
|
`Write exactly one JSON array to ${JSON.stringify(options.outputPath)}.`,
|
|
33
|
-
`Draft ${options.targetCount} checks unless the
|
|
33
|
+
`Draft ${options.targetCount} checks unless the source folder is too small; in that case write fewer.`,
|
|
34
34
|
"Each array item must be an object with exactly these keys:",
|
|
35
|
-
'- "question": a plain-English question answerable from this
|
|
35
|
+
'- "question": a plain-English question answerable from this source folder',
|
|
36
36
|
'- "answer": the expected correct answer in plain English',
|
|
37
37
|
"",
|
|
38
38
|
"Quality bar:",
|
|
@@ -72,8 +72,8 @@ export async function draftTruthChecks(options) {
|
|
|
72
72
|
return {
|
|
73
73
|
checks: null,
|
|
74
74
|
error: code === 0
|
|
75
|
-
? "The local agent finished without writing draft
|
|
76
|
-
: "The local agent did not produce draft
|
|
75
|
+
? "The local agent finished without writing draft checks."
|
|
76
|
+
: "The local agent did not produce draft checks.",
|
|
77
77
|
};
|
|
78
78
|
}
|
|
79
79
|
let parsed;
|
|
@@ -83,15 +83,15 @@ export async function draftTruthChecks(options) {
|
|
|
83
83
|
catch (error) {
|
|
84
84
|
return {
|
|
85
85
|
checks: null,
|
|
86
|
-
error: `Draft
|
|
86
|
+
error: `Draft checks were not valid JSON: ${error instanceof Error ? error.message : String(error)}`,
|
|
87
87
|
};
|
|
88
88
|
}
|
|
89
89
|
const validated = DraftTruthChecksSchema.safeParse(parsed);
|
|
90
90
|
if (!validated.success) {
|
|
91
|
-
const detail = validated.error.issues[0]?.message ?? "invalid draft
|
|
91
|
+
const detail = validated.error.issues[0]?.message ?? "invalid draft checks";
|
|
92
92
|
return {
|
|
93
93
|
checks: null,
|
|
94
|
-
error: `Draft
|
|
94
|
+
error: `Draft checks did not match the required shape: ${detail}`,
|
|
95
95
|
};
|
|
96
96
|
}
|
|
97
97
|
return {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { WorkflowExecutionProfile, WorkflowExecutor } from "
|
|
2
|
-
import type { SourceDatasetConfig } from "
|
|
3
|
-
import type { StageShellRetentionMode } from "
|
|
1
|
+
import type { WorkflowExecutionProfile, WorkflowExecutor } from "../../packages/agents/lib/executors.js";
|
|
2
|
+
import type { SourceDatasetConfig } from "../../packages/project-model/lib/schema.js";
|
|
3
|
+
import type { StageShellRetentionMode } from "../../packages/compiler/workflows.js";
|
|
4
4
|
export declare function runConfiguredCompiledCompile(options: {
|
|
5
5
|
executor: WorkflowExecutor;
|
|
6
6
|
testExecutor?: WorkflowExecutor | null;
|