@interf/compiler 0.1.12 → 0.2.0
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 +254 -136
- package/dist/commands/benchmark.d.ts.map +1 -1
- package/dist/commands/benchmark.js +65 -84
- package/dist/commands/benchmark.js.map +1 -1
- package/dist/commands/compile.d.ts.map +1 -1
- package/dist/commands/compile.js +19 -3
- package/dist/commands/compile.js.map +1 -1
- package/dist/commands/create.d.ts +3 -0
- package/dist/commands/create.d.ts.map +1 -1
- package/dist/commands/create.js +34 -9
- package/dist/commands/create.js.map +1 -1
- package/dist/commands/default.d.ts.map +1 -1
- package/dist/commands/default.js +2 -0
- package/dist/commands/default.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +3 -2
- package/dist/commands/init.js.map +1 -1
- package/dist/index.d.ts +11 -29
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -16
- package/dist/index.js.map +1 -1
- package/dist/lib/agent-args.d.ts +4 -0
- package/dist/lib/agent-args.d.ts.map +1 -0
- package/dist/lib/agent-args.js +42 -0
- package/dist/lib/agent-args.js.map +1 -0
- package/dist/lib/agent-constants.d.ts +6 -0
- package/dist/lib/agent-constants.d.ts.map +1 -0
- package/dist/lib/agent-constants.js +29 -0
- package/dist/lib/agent-constants.js.map +1 -0
- package/dist/lib/agent-detection.d.ts +8 -0
- package/dist/lib/agent-detection.d.ts.map +1 -0
- package/dist/lib/agent-detection.js +66 -0
- package/dist/lib/agent-detection.js.map +1 -0
- package/dist/lib/agent-execution.d.ts +3 -0
- package/dist/lib/agent-execution.d.ts.map +1 -0
- package/dist/lib/agent-execution.js +207 -0
- package/dist/lib/agent-execution.js.map +1 -0
- package/dist/lib/agent-logs.d.ts +3 -0
- package/dist/lib/agent-logs.d.ts.map +1 -0
- package/dist/lib/agent-logs.js +18 -0
- package/dist/lib/agent-logs.js.map +1 -0
- package/dist/lib/agent-preflight.d.ts +8 -0
- package/dist/lib/agent-preflight.d.ts.map +1 -0
- package/dist/lib/agent-preflight.js +77 -0
- package/dist/lib/agent-preflight.js.map +1 -0
- package/dist/lib/agent-render.d.ts +9 -0
- package/dist/lib/agent-render.d.ts.map +1 -0
- package/dist/lib/agent-render.js +219 -0
- package/dist/lib/agent-render.js.map +1 -0
- package/dist/lib/agent-status.d.ts +4 -0
- package/dist/lib/agent-status.d.ts.map +1 -0
- package/dist/lib/agent-status.js +59 -0
- package/dist/lib/agent-status.js.map +1 -0
- package/dist/lib/agent-types.d.ts +31 -0
- package/dist/lib/agent-types.d.ts.map +1 -0
- package/dist/lib/agent-types.js +2 -0
- package/dist/lib/agent-types.js.map +1 -0
- package/dist/lib/agents.d.ts +7 -49
- package/dist/lib/agents.d.ts.map +1 -1
- package/dist/lib/agents.js +8 -554
- package/dist/lib/agents.js.map +1 -1
- package/dist/lib/benchmark-execution.d.ts +9 -0
- package/dist/lib/benchmark-execution.d.ts.map +1 -0
- package/dist/lib/benchmark-execution.js +488 -0
- package/dist/lib/benchmark-execution.js.map +1 -0
- package/dist/lib/benchmark-paths.d.ts +11 -0
- package/dist/lib/benchmark-paths.d.ts.map +1 -0
- package/dist/lib/benchmark-paths.js +38 -0
- package/dist/lib/benchmark-paths.js.map +1 -0
- package/dist/lib/benchmark-specs.d.ts +8 -0
- package/dist/lib/benchmark-specs.d.ts.map +1 -0
- package/dist/lib/benchmark-specs.js +115 -0
- package/dist/lib/benchmark-specs.js.map +1 -0
- package/dist/lib/benchmark-targets.d.ts +5 -0
- package/dist/lib/benchmark-targets.d.ts.map +1 -0
- package/dist/lib/benchmark-targets.js +72 -0
- package/dist/lib/benchmark-targets.js.map +1 -0
- package/dist/lib/benchmark-types.d.ts +19 -0
- package/dist/lib/benchmark-types.d.ts.map +1 -0
- package/dist/lib/benchmark-types.js +2 -0
- package/dist/lib/benchmark-types.js.map +1 -0
- package/dist/lib/benchmark.d.ts +4 -29
- package/dist/lib/benchmark.d.ts.map +1 -1
- package/dist/lib/benchmark.js +3 -324
- package/dist/lib/benchmark.js.map +1 -1
- package/dist/lib/bundled-templates.d.ts +5 -0
- package/dist/lib/bundled-templates.d.ts.map +1 -0
- package/dist/lib/bundled-templates.js +23 -0
- package/dist/lib/bundled-templates.js.map +1 -0
- package/dist/lib/config.d.ts +1 -0
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +2 -0
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/eval-packs.d.ts +204 -0
- package/dist/lib/eval-packs.d.ts.map +1 -0
- package/dist/lib/eval-packs.js +177 -0
- package/dist/lib/eval-packs.js.map +1 -0
- package/dist/lib/execution-profile.d.ts +18 -0
- package/dist/lib/execution-profile.d.ts.map +1 -0
- package/dist/lib/execution-profile.js +85 -0
- package/dist/lib/execution-profile.js.map +1 -0
- package/dist/lib/interf-bootstrap.d.ts +4 -0
- package/dist/lib/interf-bootstrap.d.ts.map +1 -1
- package/dist/lib/interf-bootstrap.js +71 -68
- package/dist/lib/interf-bootstrap.js.map +1 -1
- package/dist/lib/interf-compile-plan.d.ts +12 -0
- package/dist/lib/interf-compile-plan.d.ts.map +1 -0
- package/dist/lib/interf-compile-plan.js +143 -0
- package/dist/lib/interf-compile-plan.js.map +1 -0
- package/dist/lib/interf-detect.d.ts.map +1 -1
- package/dist/lib/interf-detect.js +11 -10
- package/dist/lib/interf-detect.js.map +1 -1
- package/dist/lib/interf-scaffold.d.ts +1 -10
- package/dist/lib/interf-scaffold.d.ts.map +1 -1
- package/dist/lib/interf-scaffold.js +25 -362
- package/dist/lib/interf-scaffold.js.map +1 -1
- package/dist/lib/interf-workflow-package.d.ts +4 -0
- package/dist/lib/interf-workflow-package.d.ts.map +1 -0
- package/dist/lib/interf-workflow-package.js +131 -0
- package/dist/lib/interf-workflow-package.js.map +1 -0
- package/dist/lib/interf.d.ts +2 -1
- package/dist/lib/interf.d.ts.map +1 -1
- package/dist/lib/interf.js +2 -1
- package/dist/lib/interf.js.map +1 -1
- package/dist/lib/local-workflows.d.ts.map +1 -1
- package/dist/lib/local-workflows.js +8 -12
- package/dist/lib/local-workflows.js.map +1 -1
- package/dist/lib/logger.d.ts +4 -0
- package/dist/lib/logger.d.ts.map +1 -0
- package/dist/lib/logger.js +11 -0
- package/dist/lib/logger.js.map +1 -0
- package/dist/lib/obsidian.d.ts.map +1 -1
- package/dist/lib/obsidian.js +7 -3
- package/dist/lib/obsidian.js.map +1 -1
- package/dist/lib/parse.d.ts +2 -2
- package/dist/lib/parse.d.ts.map +1 -1
- package/dist/lib/parse.js +11 -7
- package/dist/lib/parse.js.map +1 -1
- package/dist/lib/registry.js +3 -3
- package/dist/lib/registry.js.map +1 -1
- package/dist/lib/runtime-acceptance.d.ts +4 -0
- package/dist/lib/runtime-acceptance.d.ts.map +1 -0
- package/dist/lib/runtime-acceptance.js +123 -0
- package/dist/lib/runtime-acceptance.js.map +1 -0
- package/dist/lib/runtime-contracts.d.ts +4 -0
- package/dist/lib/runtime-contracts.d.ts.map +1 -0
- package/dist/lib/runtime-contracts.js +63 -0
- package/dist/lib/runtime-contracts.js.map +1 -0
- package/dist/lib/runtime-paths.d.ts +8 -0
- package/dist/lib/runtime-paths.d.ts.map +1 -0
- package/dist/lib/runtime-paths.js +28 -0
- package/dist/lib/runtime-paths.js.map +1 -0
- package/dist/lib/runtime-prompt.d.ts +3 -0
- package/dist/lib/runtime-prompt.d.ts.map +1 -0
- package/dist/lib/runtime-prompt.js +59 -0
- package/dist/lib/runtime-prompt.js.map +1 -0
- package/dist/lib/runtime-reconcile.d.ts +6 -0
- package/dist/lib/runtime-reconcile.d.ts.map +1 -0
- package/dist/lib/runtime-reconcile.js +339 -0
- package/dist/lib/runtime-reconcile.js.map +1 -0
- package/dist/lib/runtime-runs.d.ts +12 -0
- package/dist/lib/runtime-runs.d.ts.map +1 -0
- package/dist/lib/runtime-runs.js +337 -0
- package/dist/lib/runtime-runs.js.map +1 -0
- package/dist/lib/runtime-types.d.ts +42 -0
- package/dist/lib/runtime-types.d.ts.map +1 -0
- package/dist/lib/runtime-types.js +2 -0
- package/dist/lib/runtime-types.js.map +1 -0
- package/dist/lib/runtime.d.ts +6 -58
- package/dist/lib/runtime.d.ts.map +1 -1
- package/dist/lib/runtime.js +5 -614
- package/dist/lib/runtime.js.map +1 -1
- package/dist/lib/schema.d.ts +156 -13
- package/dist/lib/schema.d.ts.map +1 -1
- package/dist/lib/schema.js +113 -4
- package/dist/lib/schema.js.map +1 -1
- package/dist/lib/source-config.d.ts +13 -0
- package/dist/lib/source-config.d.ts.map +1 -0
- package/dist/lib/source-config.js +75 -0
- package/dist/lib/source-config.js.map +1 -0
- package/dist/lib/state-artifacts.d.ts +15 -0
- package/dist/lib/state-artifacts.d.ts.map +1 -0
- package/dist/lib/state-artifacts.js +24 -0
- package/dist/lib/state-artifacts.js.map +1 -0
- package/dist/lib/state-health.d.ts +9 -0
- package/dist/lib/state-health.d.ts.map +1 -0
- package/dist/lib/state-health.js +330 -0
- package/dist/lib/state-health.js.map +1 -0
- package/dist/lib/state-io.d.ts +15 -0
- package/dist/lib/state-io.d.ts.map +1 -0
- package/dist/lib/state-io.js +219 -0
- package/dist/lib/state-io.js.map +1 -0
- package/dist/lib/state-paths.d.ts +5 -0
- package/dist/lib/state-paths.d.ts.map +1 -0
- package/dist/lib/state-paths.js +19 -0
- package/dist/lib/state-paths.js.map +1 -0
- package/dist/lib/state-view.d.ts +7 -0
- package/dist/lib/state-view.d.ts.map +1 -0
- package/dist/lib/state-view.js +147 -0
- package/dist/lib/state-view.js.map +1 -0
- package/dist/lib/state.d.ts +6 -46
- package/dist/lib/state.d.ts.map +1 -1
- package/dist/lib/state.js +5 -632
- package/dist/lib/state.js.map +1 -1
- package/dist/lib/summarize-plan.d.ts +1 -0
- package/dist/lib/summarize-plan.d.ts.map +1 -1
- package/dist/lib/summarize-plan.js +10 -0
- package/dist/lib/summarize-plan.js.map +1 -1
- package/dist/lib/user-config.js +2 -2
- package/dist/lib/user-config.js.map +1 -1
- package/dist/lib/validate-helpers.d.ts +21 -0
- package/dist/lib/validate-helpers.d.ts.map +1 -0
- package/dist/lib/validate-helpers.js +72 -0
- package/dist/lib/validate-helpers.js.map +1 -0
- package/dist/lib/validate-interface.d.ts +2 -0
- package/dist/lib/validate-interface.d.ts.map +1 -1
- package/dist/lib/validate-interface.js +103 -53
- package/dist/lib/validate-interface.js.map +1 -1
- package/dist/lib/validate-kb.d.ts +8 -0
- package/dist/lib/validate-kb.d.ts.map +1 -1
- package/dist/lib/validate-kb.js +53 -24
- package/dist/lib/validate-kb.js.map +1 -1
- package/dist/lib/validate.d.ts +1 -1
- package/dist/lib/validate.d.ts.map +1 -1
- package/dist/lib/validate.js +5 -2
- package/dist/lib/validate.js.map +1 -1
- package/dist/lib/workflow-definitions.d.ts +1 -1
- package/dist/lib/workflow-definitions.d.ts.map +1 -1
- package/dist/lib/workflow-definitions.js +90 -166
- package/dist/lib/workflow-definitions.js.map +1 -1
- package/dist/lib/workflow-helpers.d.ts.map +1 -1
- package/dist/lib/workflow-helpers.js +6 -3
- package/dist/lib/workflow-helpers.js.map +1 -1
- package/dist/lib/workflow-stage-runner.d.ts +41 -0
- package/dist/lib/workflow-stage-runner.d.ts.map +1 -0
- package/dist/lib/workflow-stage-runner.js +106 -0
- package/dist/lib/workflow-stage-runner.js.map +1 -0
- package/dist/lib/workflow-starter-docs.d.ts +9 -0
- package/dist/lib/workflow-starter-docs.d.ts.map +1 -0
- package/dist/lib/workflow-starter-docs.js +18 -0
- package/dist/lib/workflow-starter-docs.js.map +1 -0
- package/dist/lib/workflows-interface-contracts.d.ts +24 -0
- package/dist/lib/workflows-interface-contracts.d.ts.map +1 -0
- package/dist/lib/workflows-interface-contracts.js +304 -0
- package/dist/lib/workflows-interface-contracts.js.map +1 -0
- package/dist/lib/workflows-interface.d.ts +3 -10
- package/dist/lib/workflows-interface.d.ts.map +1 -1
- package/dist/lib/workflows-interface.js +117 -365
- package/dist/lib/workflows-interface.js.map +1 -1
- package/dist/lib/workflows-kb.d.ts.map +1 -1
- package/dist/lib/workflows-kb.js +79 -55
- package/dist/lib/workflows-kb.js.map +1 -1
- package/dist/lib/workflows.d.ts.map +1 -1
- package/dist/lib/workflows.js +1 -1
- package/dist/lib/workflows.js.map +1 -1
- package/package.json +15 -4
- package/skills/interface/analyze/SKILL.md +79 -28
- package/skills/interface/compile/SKILL.md +27 -28
- package/skills/interface/create/SKILL.md +53 -230
- package/skills/interface/create/references/compile-plan-format.md +31 -31
- package/skills/interface/create/references/workflows.md +17 -32
- package/skills/interface/query/SKILL.md +15 -1
- package/skills/interface/retrieve/SKILL.md +32 -65
- package/skills/knowledge-base/compile/SKILL.md +59 -83
- package/skills/knowledge-base/compile/references/stage-claims.md +1 -1
- package/skills/knowledge-base/compile/references/stage-entities.md +2 -2
- package/skills/knowledge-base/query/SKILL.md +13 -1
- package/skills/knowledge-base/summarize/SKILL.md +54 -24
- package/templates/interface/README.md +13 -12
- package/templates/interface/interfaces.md +14 -11
- package/templates/knowledge-base/README.md +0 -1
- package/templates/knowledge-base/registry.md +15 -15
- package/templates/workflow-package/README.md +16 -0
- package/templates/workflow-package/create/SKILL.md +8 -0
- package/templates/workflow-package/interface-query/SKILL.md +29 -0
- package/templates/workflow-package/interface-stage/SKILL.md +13 -0
- package/templates/workflow-package/knowledge-base-query/SKILL.md +36 -0
- package/templates/workflow-package/knowledge-base-stage/SKILL.md +13 -0
- package/templates/workflow-starters/interface/interf/README.md +13 -0
- package/templates/workflow-starters/interface/interf/create/SKILL.md +15 -0
- package/templates/workflow-starters/knowledge-base/interf/README.md +13 -0
- package/templates/workflow-starters/knowledge-base/karpathy/README.md +13 -0
package/dist/lib/state.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/lib/state.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/lib/state.ts"],"names":[],"mappings":"AAeA,OAAO,EACL,SAAS,EACT,UAAU,EACV,YAAY,EACZ,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,SAAS,EACT,SAAS,EACT,mBAAmB,EACnB,uBAAuB,EACvB,mBAAmB,EACnB,uBAAuB,EACvB,qBAAqB,EACrB,yBAAyB,EACzB,6BAA6B,EAC7B,qBAAqB,EACrB,yBAAyB,EACzB,sBAAsB,EACtB,kBAAkB,GACnB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,yBAAyB,EACzB,6BAA6B,GAC9B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,0BAA0B,EAC1B,sBAAsB,EACtB,0BAA0B,EAC1B,yBAAyB,EACzB,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,uBAAuB,EACvB,2BAA2B,EAC3B,+BAA+B,EAC/B,0BAA0B,EAC1B,8BAA8B,GAC/B,MAAM,iBAAiB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"summarize-plan.d.ts","sourceRoot":"","sources":["../../src/lib/summarize-plan.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,MAAM,EAAE,SAAS,GAAG,eAAe,GAAG,SAAS,GAAG,WAAW,CAAC;CAC/D;AAED,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,eAAe,EAAE,CAAC;CAC5B;AAID,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,MAAM,EAClB,iBAAiB,EAAE,MAAM,EACzB,IAAI,GAAE,SAAS,GAAG,KAAiB,GAClC,aAAa,
|
|
1
|
+
{"version":3,"file":"summarize-plan.d.ts","sourceRoot":"","sources":["../../src/lib/summarize-plan.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,SAAS,GAAG,eAAe,GAAG,SAAS,GAAG,WAAW,CAAC;CAC/D;AAED,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,eAAe,EAAE,CAAC;CAC5B;AAID,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,MAAM,EAClB,iBAAiB,EAAE,MAAM,EACzB,IAAI,GAAE,SAAS,GAAG,KAAiB,GAClC,aAAa,CA8Ff;AAED,wBAAgB,kBAAkB,CAChC,iBAAiB,EAAE,MAAM,EACzB,IAAI,EAAE,aAAa,GAClB,MAAM,CAKR"}
|
|
@@ -24,6 +24,7 @@ export function buildSummarizePlan(sourcePath, knowledgeBasePath, mode = "pendin
|
|
|
24
24
|
targets.set(src, {
|
|
25
25
|
source: src,
|
|
26
26
|
summary: summaryIndex.get(src) ?? null,
|
|
27
|
+
output: defaultSummaryPath(src),
|
|
27
28
|
reason: "full_pass",
|
|
28
29
|
});
|
|
29
30
|
}
|
|
@@ -40,6 +41,7 @@ export function buildSummarizePlan(sourcePath, knowledgeBasePath, mode = "pendin
|
|
|
40
41
|
targets.set(src, {
|
|
41
42
|
source: src,
|
|
42
43
|
summary: summaryIndex.get(src) ?? null,
|
|
44
|
+
output: defaultSummaryPath(src),
|
|
43
45
|
reason: "pending",
|
|
44
46
|
});
|
|
45
47
|
}
|
|
@@ -51,6 +53,7 @@ export function buildSummarizePlan(sourcePath, knowledgeBasePath, mode = "pendin
|
|
|
51
53
|
targets.set(src, {
|
|
52
54
|
source: src,
|
|
53
55
|
summary: null,
|
|
56
|
+
output: defaultSummaryPath(src),
|
|
54
57
|
reason: "missing_synth",
|
|
55
58
|
});
|
|
56
59
|
}
|
|
@@ -69,6 +72,7 @@ export function buildSummarizePlan(sourcePath, knowledgeBasePath, mode = "pendin
|
|
|
69
72
|
targets.set(src, {
|
|
70
73
|
source: src,
|
|
71
74
|
summary,
|
|
75
|
+
output: defaultSummaryPath(src),
|
|
72
76
|
reason: "changed",
|
|
73
77
|
});
|
|
74
78
|
}
|
|
@@ -109,4 +113,10 @@ function readSourceReference(synthPath) {
|
|
|
109
113
|
: null;
|
|
110
114
|
return source?.trim() ?? null;
|
|
111
115
|
}
|
|
116
|
+
function defaultSummaryPath(sourcePath) {
|
|
117
|
+
if (sourcePath.endsWith(".md"))
|
|
118
|
+
return `summaries/${sourcePath}`;
|
|
119
|
+
const replaced = sourcePath.replace(/\.[^.]+$/, ".md");
|
|
120
|
+
return `summaries/${replaced === sourcePath ? `${sourcePath}.md` : replaced}`;
|
|
121
|
+
}
|
|
112
122
|
//# sourceMappingURL=summarize-plan.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"summarize-plan.js","sourceRoot":"","sources":["../../src/lib/summarize-plan.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACvF,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,SAAS,EAA2B,MAAM,YAAY,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"summarize-plan.js","sourceRoot":"","sources":["../../src/lib/summarize-plan.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/user-config.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { existsSync, mkdirSync, writeFileSync } from "node:fs";
|
|
2
2
|
import { join } from "node:path";
|
|
3
3
|
import { INTERF_HOME } from "./config.js";
|
|
4
|
-
import {
|
|
4
|
+
import { readJsonFileWithSchema } from "./parse.js";
|
|
5
5
|
import { InterfUserConfigSchema } from "./schema.js";
|
|
6
6
|
export const USER_CONFIG_PATH = join(INTERF_HOME, "config.json");
|
|
7
7
|
export function loadUserConfig() {
|
|
8
8
|
if (!existsSync(USER_CONFIG_PATH))
|
|
9
9
|
return null;
|
|
10
|
-
return
|
|
10
|
+
return readJsonFileWithSchema(USER_CONFIG_PATH, "user config", InterfUserConfigSchema);
|
|
11
11
|
}
|
|
12
12
|
export function saveUserConfig(config) {
|
|
13
13
|
mkdirSync(INTERF_HOME, { recursive: true });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user-config.js","sourceRoot":"","sources":["../../src/lib/user-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"user-config.js","sourceRoot":"","sources":["../../src/lib/user-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAAyB,MAAM,aAAa,CAAC;AAI5E,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;AAEjE,MAAM,UAAU,cAAc;IAC5B,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC;QAAE,OAAO,IAAI,CAAC;IAC/C,OAAO,sBAAsB,CAAC,gBAAgB,EAAE,aAAa,EAAE,sBAAsB,CAAC,CAAC;AACzF,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,MAAwB;IACrD,SAAS,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5C,aAAa,CAAC,gBAAgB,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;AAC1E,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export declare function asStringArray(value: unknown): string[];
|
|
2
|
+
export declare function asRejectedEntries(value: unknown): Array<{
|
|
3
|
+
path: string;
|
|
4
|
+
reason: string;
|
|
5
|
+
}>;
|
|
6
|
+
export declare function asFileEntries(value: unknown): Array<{
|
|
7
|
+
file: string;
|
|
8
|
+
}>;
|
|
9
|
+
export declare function isSubset(left: Set<string>, right: Set<string>): boolean;
|
|
10
|
+
export declare function setsEqual(left: Set<string>, right: Set<string>): boolean;
|
|
11
|
+
export declare function setIntersectionSize(left: Set<string>, right: Set<string>): number;
|
|
12
|
+
export declare function dedupeStrings(values: string[]): string[];
|
|
13
|
+
export interface InventoryFiles {
|
|
14
|
+
legacyFiles: Array<Record<string, unknown>>;
|
|
15
|
+
summaryFiles: Array<Record<string, unknown>>;
|
|
16
|
+
entryFiles: Array<Record<string, unknown>>;
|
|
17
|
+
files: Array<Record<string, unknown>>;
|
|
18
|
+
}
|
|
19
|
+
export declare function readInventoryFiles(inventory: Record<string, unknown> | null): InventoryFiles;
|
|
20
|
+
export declare function readInventoryTotal(inventory: Record<string, unknown> | null, inventoryFiles?: InventoryFiles): number;
|
|
21
|
+
//# sourceMappingURL=validate-helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate-helpers.d.ts","sourceRoot":"","sources":["../../src/lib/validate-helpers.ts"],"names":[],"mappings":"AAAA,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,CAGtD;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CASzF;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAQrE;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,OAAO,CAKvE;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,OAAO,CAExE;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,MAAM,CAMjF;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAExD;AAUD,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC5C,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC7C,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC3C,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACvC;AAED,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GACxC,cAAc,CAkBhB;AAED,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,EACzC,cAAc,CAAC,EAAE,cAAc,GAC9B,MAAM,CAIR"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
export function asStringArray(value) {
|
|
2
|
+
if (!Array.isArray(value))
|
|
3
|
+
return [];
|
|
4
|
+
return value.filter((item) => typeof item === "string");
|
|
5
|
+
}
|
|
6
|
+
export function asRejectedEntries(value) {
|
|
7
|
+
if (!Array.isArray(value))
|
|
8
|
+
return [];
|
|
9
|
+
return value.filter((item) => !!item &&
|
|
10
|
+
typeof item === "object" &&
|
|
11
|
+
typeof item.path === "string" &&
|
|
12
|
+
typeof item.reason === "string");
|
|
13
|
+
}
|
|
14
|
+
export function asFileEntries(value) {
|
|
15
|
+
if (!Array.isArray(value))
|
|
16
|
+
return [];
|
|
17
|
+
return value.filter((item) => !!item &&
|
|
18
|
+
typeof item === "object" &&
|
|
19
|
+
typeof item.file === "string");
|
|
20
|
+
}
|
|
21
|
+
export function isSubset(left, right) {
|
|
22
|
+
for (const item of left) {
|
|
23
|
+
if (!right.has(item))
|
|
24
|
+
return false;
|
|
25
|
+
}
|
|
26
|
+
return true;
|
|
27
|
+
}
|
|
28
|
+
export function setsEqual(left, right) {
|
|
29
|
+
return left.size === right.size && isSubset(left, right);
|
|
30
|
+
}
|
|
31
|
+
export function setIntersectionSize(left, right) {
|
|
32
|
+
let count = 0;
|
|
33
|
+
for (const item of left) {
|
|
34
|
+
if (right.has(item))
|
|
35
|
+
count += 1;
|
|
36
|
+
}
|
|
37
|
+
return count;
|
|
38
|
+
}
|
|
39
|
+
export function dedupeStrings(values) {
|
|
40
|
+
return Array.from(new Set(values));
|
|
41
|
+
}
|
|
42
|
+
function asInventoryEntries(value) {
|
|
43
|
+
if (!Array.isArray(value))
|
|
44
|
+
return [];
|
|
45
|
+
return value.filter((item) => !!item && typeof item === "object" && !Array.isArray(item));
|
|
46
|
+
}
|
|
47
|
+
export function readInventoryFiles(inventory) {
|
|
48
|
+
const legacyFiles = asInventoryEntries(inventory?.files);
|
|
49
|
+
const summaryFiles = asInventoryEntries(inventory?.summaries);
|
|
50
|
+
const entryFiles = asInventoryEntries(inventory?.entries);
|
|
51
|
+
const itemFiles = asInventoryEntries(inventory?.items);
|
|
52
|
+
const normalizedEntryFiles = entryFiles.length > 0 ? entryFiles : itemFiles;
|
|
53
|
+
const files = legacyFiles.length > 0
|
|
54
|
+
? legacyFiles
|
|
55
|
+
: summaryFiles.length > 0
|
|
56
|
+
? summaryFiles
|
|
57
|
+
: normalizedEntryFiles;
|
|
58
|
+
return {
|
|
59
|
+
legacyFiles,
|
|
60
|
+
summaryFiles,
|
|
61
|
+
entryFiles: normalizedEntryFiles,
|
|
62
|
+
files,
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
export function readInventoryTotal(inventory, inventoryFiles) {
|
|
66
|
+
if (typeof inventory?.total === "number")
|
|
67
|
+
return inventory.total;
|
|
68
|
+
if (typeof inventory?.summary_total === "number")
|
|
69
|
+
return inventory.summary_total;
|
|
70
|
+
return (inventoryFiles ?? readInventoryFiles(inventory)).files.length;
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=validate-helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate-helpers.js","sourceRoot":"","sources":["../../src/lib/validate-helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { type RuntimeContractType } from "./schema.js";
|
|
2
|
+
export declare function extractInterfacePlannedOutputFiles(dirPath: string): string[];
|
|
2
3
|
export interface InterfaceValidationSummary {
|
|
3
4
|
config_present: boolean;
|
|
4
5
|
config_valid: boolean;
|
|
@@ -34,6 +35,7 @@ export interface InterfaceRetrieveValidation {
|
|
|
34
35
|
abstracts_cover_candidates: boolean;
|
|
35
36
|
selected_match_relevant: boolean;
|
|
36
37
|
delta_subset: boolean;
|
|
38
|
+
proof_paths_resolve: boolean;
|
|
37
39
|
state_counts_match: boolean;
|
|
38
40
|
state_flags_match: boolean;
|
|
39
41
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate-interface.d.ts","sourceRoot":"","sources":["../../src/lib/validate-interface.ts"],"names":[],"mappings":"AASA,OAAO,EAIL,KAAK,mBAAmB,EACzB,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"validate-interface.d.ts","sourceRoot":"","sources":["../../src/lib/validate-interface.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,10 +2,11 @@ import { existsSync } from "node:fs";
|
|
|
2
2
|
import { join, resolve } from "node:path";
|
|
3
3
|
import { countFilesRecursive } from "./filesystem.js";
|
|
4
4
|
import { resolveKnowledgeBaseSourcePath } from "./interf.js";
|
|
5
|
-
import {
|
|
5
|
+
import { readJsonFileUnchecked } from "./parse.js";
|
|
6
6
|
import { getInterfaceWorkflow, resolveInterfaceWorkflowFromConfig, } from "./workflow-definitions.js";
|
|
7
7
|
import { InterfaceCoverageSchema, InterfaceRelevantSchema, InterfaceStateSchema, } from "./schema.js";
|
|
8
8
|
import { readKnowledgeBaseConfig, countBrokenWikilinks, asNumber, safeReadText, } from "./validate.js";
|
|
9
|
+
import { asFileEntries, asRejectedEntries, asStringArray, dedupeStrings, isSubset, setIntersectionSize, setsEqual, } from "./validate-helpers.js";
|
|
9
10
|
function extractFirstSection(text, headings) {
|
|
10
11
|
for (const heading of headings) {
|
|
11
12
|
const section = extractSection(text, heading);
|
|
@@ -19,52 +20,75 @@ function sectionHasAnyMarker(section, markers) {
|
|
|
19
20
|
return false;
|
|
20
21
|
return markers.some((marker) => new RegExp(`(^|\\n)\\s{0,3}#{0,6}\\s*${escapeRegExp(marker)}`, "im").test(section));
|
|
21
22
|
}
|
|
22
|
-
function
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
typeof item.path === "string" &&
|
|
33
|
-
typeof item.reason === "string");
|
|
34
|
-
}
|
|
35
|
-
function asFileEntries(value) {
|
|
36
|
-
if (!Array.isArray(value))
|
|
37
|
-
return [];
|
|
38
|
-
return value.filter((item) => !!item &&
|
|
39
|
-
typeof item === "object" &&
|
|
40
|
-
typeof item.file === "string");
|
|
41
|
-
}
|
|
42
|
-
function isSubset(left, right) {
|
|
43
|
-
for (const item of left) {
|
|
44
|
-
if (!right.has(item))
|
|
45
|
-
return false;
|
|
23
|
+
function resolveRetrieveProofPath(interfaceDir, knowledgeBaseDir, value) {
|
|
24
|
+
const attempts = [
|
|
25
|
+
resolve(interfaceDir, value),
|
|
26
|
+
knowledgeBaseDir ? resolve(knowledgeBaseDir, value) : null,
|
|
27
|
+
knowledgeBaseDir ? resolve(join(knowledgeBaseDir, "summaries", value)) : null,
|
|
28
|
+
];
|
|
29
|
+
for (const attempt of attempts) {
|
|
30
|
+
if (attempt && existsSync(attempt)) {
|
|
31
|
+
return attempt;
|
|
32
|
+
}
|
|
46
33
|
}
|
|
47
|
-
return
|
|
48
|
-
}
|
|
49
|
-
function setsEqual(left, right) {
|
|
50
|
-
return left.size === right.size && isSubset(left, right);
|
|
34
|
+
return null;
|
|
51
35
|
}
|
|
52
|
-
function
|
|
53
|
-
|
|
54
|
-
for (const item of left) {
|
|
55
|
-
if (right.has(item))
|
|
56
|
-
count += 1;
|
|
57
|
-
}
|
|
58
|
-
return count;
|
|
36
|
+
function canonicalizeRetrieveProofPaths(interfaceDir, knowledgeBaseDir, values) {
|
|
37
|
+
return values.map((value) => resolveRetrieveProofPath(interfaceDir, knowledgeBaseDir, value) ?? `missing:${value}`);
|
|
59
38
|
}
|
|
60
|
-
function
|
|
61
|
-
return
|
|
39
|
+
function allRetrieveProofPathsResolve(interfaceDir, knowledgeBaseDir, values) {
|
|
40
|
+
return values.every((value) => resolveRetrieveProofPath(interfaceDir, knowledgeBaseDir, value) !== null);
|
|
62
41
|
}
|
|
63
42
|
function extractSection(content, heading) {
|
|
64
43
|
const pattern = new RegExp(`(?:^|\\n)## ${escapeRegExp(heading)}\\s*\\n([\\s\\S]*?)(?=\\n## |\\s*$)`);
|
|
65
44
|
const match = content.match(pattern);
|
|
66
45
|
return match?.[1]?.trim() ?? null;
|
|
67
46
|
}
|
|
47
|
+
function normalizePlannedOutputPath(rawPath, interfaceName) {
|
|
48
|
+
const resolved = (interfaceName
|
|
49
|
+
? rawPath.replaceAll("<interface-name>", interfaceName)
|
|
50
|
+
: rawPath)
|
|
51
|
+
.trim();
|
|
52
|
+
if (resolved.length === 0)
|
|
53
|
+
return null;
|
|
54
|
+
if (resolved.endsWith("/"))
|
|
55
|
+
return null;
|
|
56
|
+
if (/[{}<>]/.test(resolved))
|
|
57
|
+
return null;
|
|
58
|
+
return resolved;
|
|
59
|
+
}
|
|
60
|
+
export function extractInterfacePlannedOutputFiles(dirPath) {
|
|
61
|
+
const config = readKnowledgeBaseConfig(dirPath);
|
|
62
|
+
const configValue = config.value;
|
|
63
|
+
const knowledgeBaseConfig = configValue?.knowledge_base;
|
|
64
|
+
const knowledgeBasePath = knowledgeBaseConfig?.path;
|
|
65
|
+
const resolvedKnowledgeBasePath = knowledgeBasePath ? resolve(dirPath, knowledgeBasePath) : null;
|
|
66
|
+
const knowledgeBasePathValid = resolvedKnowledgeBasePath !== null && existsSync(join(resolvedKnowledgeBasePath, "summaries"));
|
|
67
|
+
const compilePlanText = safeReadText(join(dirPath, "compile-plan.md"));
|
|
68
|
+
if (!compilePlanText)
|
|
69
|
+
return [];
|
|
70
|
+
const workflowId = resolveInterfaceWorkflowFromConfig(configValue);
|
|
71
|
+
const sourcePath = knowledgeBasePathValid && resolvedKnowledgeBasePath
|
|
72
|
+
? resolveKnowledgeBaseSourcePath(resolvedKnowledgeBasePath)
|
|
73
|
+
: undefined;
|
|
74
|
+
const workflow = getInterfaceWorkflow(workflowId, { sourcePath, workspacePath: dirPath });
|
|
75
|
+
const compileStageIndex = workflow.stages.findIndex((stage) => stage.contractType === "interface-output");
|
|
76
|
+
if (compileStageIndex < 0)
|
|
77
|
+
return [];
|
|
78
|
+
const compileStage = workflow.stages[compileStageIndex];
|
|
79
|
+
if (!compileStage)
|
|
80
|
+
return [];
|
|
81
|
+
const compileSection = extractFirstSection(compilePlanText, [
|
|
82
|
+
`Stage ${compileStageIndex + 1}: ${compileStage.label}`,
|
|
83
|
+
`Stage ${compileStageIndex + 1} — ${compileStage.label}`,
|
|
84
|
+
]);
|
|
85
|
+
if (!compileSection)
|
|
86
|
+
return [];
|
|
87
|
+
const interfaceName = typeof configValue?.name === "string" ? configValue.name : null;
|
|
88
|
+
return dedupeStrings([...compileSection.matchAll(/^###\s+`([^`]+)`/gm)]
|
|
89
|
+
.map((match) => normalizePlannedOutputPath(match[1] ?? "", interfaceName))
|
|
90
|
+
.filter((value) => Boolean(value)));
|
|
91
|
+
}
|
|
68
92
|
function sectionMatchesInterfaceContract(section, contractType) {
|
|
69
93
|
switch (contractType) {
|
|
70
94
|
case "interface-retrieval":
|
|
@@ -229,13 +253,13 @@ export function validateInterfaceRetrieve(dirPath) {
|
|
|
229
253
|
const relevantPresent = existsSync(relevantPath);
|
|
230
254
|
const coveragePresent = existsSync(coveragePath);
|
|
231
255
|
const state = statePresent
|
|
232
|
-
?
|
|
256
|
+
? readJsonFileUnchecked(statePath, "interface state")
|
|
233
257
|
: null;
|
|
234
258
|
const relevant = relevantPresent
|
|
235
|
-
?
|
|
259
|
+
? readJsonFileUnchecked(relevantPath, "interface retrieved set")
|
|
236
260
|
: null;
|
|
237
261
|
const coverage = coveragePresent
|
|
238
|
-
?
|
|
262
|
+
? readJsonFileUnchecked(coveragePath, "interface coverage proof")
|
|
239
263
|
: null;
|
|
240
264
|
const queryStarted = Boolean(state?.retrieve_complete) ||
|
|
241
265
|
Boolean(state?.analyze_complete) ||
|
|
@@ -291,6 +315,24 @@ export function validateInterfaceRetrieve(dirPath) {
|
|
|
291
315
|
: asStringArray(proof?.excluded).length > 0
|
|
292
316
|
? asStringArray(proof?.excluded)
|
|
293
317
|
: bridgeRejectedEntries.map((entry) => entry.file);
|
|
318
|
+
const canonicalRelevantFiles = canonicalizeRetrieveProofPaths(dirPath, resolvedKnowledgeBasePath, relevantFiles);
|
|
319
|
+
const canonicalDeltaFiles = canonicalizeRetrieveProofPaths(dirPath, resolvedKnowledgeBasePath, deltaFiles);
|
|
320
|
+
const canonicalCandidateFiles = canonicalizeRetrieveProofPaths(dirPath, resolvedKnowledgeBasePath, candidateFiles);
|
|
321
|
+
const canonicalScannedFiles = canonicalizeRetrieveProofPaths(dirPath, resolvedKnowledgeBasePath, scannedFiles);
|
|
322
|
+
const canonicalAbstractReviewedFiles = canonicalizeRetrieveProofPaths(dirPath, resolvedKnowledgeBasePath, abstractReviewedFiles);
|
|
323
|
+
const canonicalSelectedFiles = canonicalizeRetrieveProofPaths(dirPath, resolvedKnowledgeBasePath, selectedFiles);
|
|
324
|
+
const canonicalRejectedPaths = canonicalizeRetrieveProofPaths(dirPath, resolvedKnowledgeBasePath, rejectedPaths);
|
|
325
|
+
const proofPathsResolve = !knowledgeBasePathValid
|
|
326
|
+
? false
|
|
327
|
+
: allRetrieveProofPathsResolve(dirPath, resolvedKnowledgeBasePath, dedupeStrings([
|
|
328
|
+
...relevantFiles,
|
|
329
|
+
...deltaFiles,
|
|
330
|
+
...candidateFiles,
|
|
331
|
+
...scannedFiles,
|
|
332
|
+
...abstractReviewedFiles,
|
|
333
|
+
...selectedFiles,
|
|
334
|
+
...rejectedPaths,
|
|
335
|
+
]));
|
|
294
336
|
const frontmatterScanned = asNumber(coverage?.frontmatter_scanned) ||
|
|
295
337
|
asNumber(state?.frontmatter_scanned) ||
|
|
296
338
|
asNumber(relevant?.total_scanned);
|
|
@@ -350,13 +392,13 @@ export function validateInterfaceRetrieve(dirPath) {
|
|
|
350
392
|
Array.isArray(proof.retrieved) &&
|
|
351
393
|
Array.isArray(proof.excluded)) ||
|
|
352
394
|
bridgeCoverageShape;
|
|
353
|
-
const selectedSet = new Set(
|
|
354
|
-
const rejectedSet = new Set(
|
|
355
|
-
const candidateSet = new Set(
|
|
356
|
-
const scannedSet = new Set(
|
|
357
|
-
const abstractSet = new Set(
|
|
358
|
-
const relevantSet = new Set(
|
|
359
|
-
const selectedRejectedUnion = new Set([...
|
|
395
|
+
const selectedSet = new Set(canonicalSelectedFiles);
|
|
396
|
+
const rejectedSet = new Set(canonicalRejectedPaths);
|
|
397
|
+
const candidateSet = new Set(canonicalCandidateFiles);
|
|
398
|
+
const scannedSet = new Set(canonicalScannedFiles);
|
|
399
|
+
const abstractSet = new Set(canonicalAbstractReviewedFiles);
|
|
400
|
+
const relevantSet = new Set(canonicalRelevantFiles);
|
|
401
|
+
const selectedRejectedUnion = new Set([...canonicalSelectedFiles, ...canonicalRejectedPaths]);
|
|
360
402
|
const usesProofScanCoverage = explicitCandidateFiles.length === 0 &&
|
|
361
403
|
Array.isArray(proof?.scanned) &&
|
|
362
404
|
typeof coverage?.candidates_after_frontmatter === "number";
|
|
@@ -382,7 +424,7 @@ export function validateInterfaceRetrieve(dirPath) {
|
|
|
382
424
|
isSubset(rejectedSet, candidateSet));
|
|
383
425
|
const abstractsCoverCandidates = coverageValid &&
|
|
384
426
|
(usesProofScanCoverage
|
|
385
|
-
?
|
|
427
|
+
? canonicalSelectedFiles.every((file) => abstractSet.has(file)) &&
|
|
386
428
|
abstractSet.size >= candidateCount &&
|
|
387
429
|
abstractsRead >= candidateCount
|
|
388
430
|
: isSubset(candidateSet, abstractSet));
|
|
@@ -390,7 +432,7 @@ export function validateInterfaceRetrieve(dirPath) {
|
|
|
390
432
|
relevantValid &&
|
|
391
433
|
setsEqual(selectedSet, relevantSet);
|
|
392
434
|
const deltaSubset = relevantValid &&
|
|
393
|
-
isSubset(new Set(
|
|
435
|
+
isSubset(new Set(canonicalDeltaFiles), selectedSet);
|
|
394
436
|
const stateCountsMatch = state !== null &&
|
|
395
437
|
asNumber(state.frontmatter_scanned) === frontmatterScanned &&
|
|
396
438
|
asNumber(state.candidate_count) === candidateCount &&
|
|
@@ -402,10 +444,12 @@ export function validateInterfaceRetrieve(dirPath) {
|
|
|
402
444
|
const stateFlagsMatch = state !== null &&
|
|
403
445
|
state.retrieve_complete === true &&
|
|
404
446
|
state.coverage_complete === true;
|
|
447
|
+
const stateSchema = state !== null ? InterfaceStateSchema.safeParse(state) : null;
|
|
448
|
+
const stateValid = stateSchema?.success ?? false;
|
|
405
449
|
const checks = {
|
|
406
450
|
knowledge_base_path_valid: knowledgeBasePathValid,
|
|
407
451
|
state_present: statePresent,
|
|
408
|
-
state_valid:
|
|
452
|
+
state_valid: stateValid,
|
|
409
453
|
relevant_present: relevantPresent || Array.isArray(proof?.retrieved),
|
|
410
454
|
relevant_valid: relevantValid ||
|
|
411
455
|
(relevant !== null && InterfaceRelevantSchema.safeParse(relevant).success),
|
|
@@ -418,6 +462,7 @@ export function validateInterfaceRetrieve(dirPath) {
|
|
|
418
462
|
abstracts_cover_candidates: abstractsCoverCandidates,
|
|
419
463
|
selected_match_relevant: selectedMatchRelevant,
|
|
420
464
|
delta_subset: deltaSubset,
|
|
465
|
+
proof_paths_resolve: proofPathsResolve,
|
|
421
466
|
state_counts_match: stateCountsMatch,
|
|
422
467
|
state_flags_match: stateFlagsMatch,
|
|
423
468
|
};
|
|
@@ -429,6 +474,8 @@ export function validateInterfaceRetrieve(dirPath) {
|
|
|
429
474
|
errors.push("Missing .interf/state.json.");
|
|
430
475
|
else if (state === null)
|
|
431
476
|
errors.push("Could not parse .interf/state.json.");
|
|
477
|
+
else if (!stateValid)
|
|
478
|
+
errors.push("state.json has the wrong shape for an interface runtime.");
|
|
432
479
|
if (!relevantPresent && !Array.isArray(proof?.retrieved))
|
|
433
480
|
errors.push("Missing .interf/relevant.json.");
|
|
434
481
|
else if (!relevantValid)
|
|
@@ -445,16 +492,19 @@ export function validateInterfaceRetrieve(dirPath) {
|
|
|
445
492
|
errors.push("Candidate, selected, and rejected sets are inconsistent.");
|
|
446
493
|
if (coveragePresent && coverageValid && !abstractsCoverCandidates)
|
|
447
494
|
errors.push("Not every candidate file was abstract-reviewed.");
|
|
495
|
+
if ((relevantPresent || coveragePresent) && !proofPathsResolve) {
|
|
496
|
+
errors.push("Retrieve proof references summary paths that do not resolve on disk.");
|
|
497
|
+
}
|
|
448
498
|
if (relevantPresent && coveragePresent && relevantValid && coverageValid && !selectedMatchRelevant) {
|
|
449
499
|
errors.push("Selected files in coverage proof do not match relevant_files.");
|
|
450
500
|
}
|
|
451
501
|
if (relevantPresent && coveragePresent && relevantValid && coverageValid && !deltaSubset) {
|
|
452
502
|
errors.push("delta_files are not a subset of selected relevant files.");
|
|
453
503
|
}
|
|
454
|
-
if (statePresent &&
|
|
504
|
+
if (statePresent && stateValid && coveragePresent && coverageValid && relevantPresent && relevantValid && !stateCountsMatch) {
|
|
455
505
|
errors.push("state.json counts do not match the retrieved set and coverage proof.");
|
|
456
506
|
}
|
|
457
|
-
if (statePresent &&
|
|
507
|
+
if (statePresent && stateValid && !stateFlagsMatch) {
|
|
458
508
|
errors.push("state.json is missing retrieve_complete or coverage_complete.");
|
|
459
509
|
}
|
|
460
510
|
}
|