@interf/compiler 0.9.1 → 0.9.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.
Files changed (250) hide show
  1. package/README.md +9 -9
  2. package/agent-skills/interf-actions/SKILL.md +3 -0
  3. package/agent-skills/interf-actions/references/cli.md +13 -13
  4. package/{builtin-workflows/interf → builtin-methods/interf-default}/README.md +2 -2
  5. package/builtin-methods/interf-default/improve/SKILL.md +18 -0
  6. package/{builtin-workflows/interf/workflow.json → builtin-methods/interf-default/method.json} +4 -4
  7. package/{builtin-workflows/interf/workflow.schema.json → builtin-methods/interf-default/method.schema.json} +2 -2
  8. package/dist/cli/commands/check-draft.d.ts +6 -6
  9. package/dist/cli/commands/check-draft.js +5 -5
  10. package/dist/cli/commands/compile-controller.d.ts +7 -7
  11. package/dist/cli/commands/compile-controller.js +35 -38
  12. package/dist/cli/commands/compile.d.ts +3 -3
  13. package/dist/cli/commands/compile.js +23 -21
  14. package/dist/cli/commands/compiled-flow.d.ts +11 -11
  15. package/dist/cli/commands/compiled-flow.js +33 -30
  16. package/dist/cli/commands/create-method-wizard.d.ts +76 -0
  17. package/dist/cli/commands/{create-workflow-wizard.js → create-method-wizard.js} +153 -163
  18. package/dist/cli/commands/create.d.ts +3 -3
  19. package/dist/cli/commands/create.js +44 -45
  20. package/dist/cli/commands/default.js +1 -1
  21. package/dist/cli/commands/executor-flow.d.ts +6 -6
  22. package/dist/cli/commands/executor-flow.js +1 -1
  23. package/dist/cli/commands/init.d.ts +2 -2
  24. package/dist/cli/commands/init.js +139 -118
  25. package/dist/cli/commands/list.js +11 -10
  26. package/dist/cli/commands/preparation-selection.d.ts +3 -3
  27. package/dist/cli/commands/source-config-wizard.d.ts +9 -9
  28. package/dist/cli/commands/source-config-wizard.js +43 -43
  29. package/dist/cli/commands/status.js +36 -9
  30. package/dist/cli/commands/test-flow.d.ts +15 -15
  31. package/dist/cli/commands/test-flow.js +29 -219
  32. package/dist/cli/commands/test.d.ts +2 -2
  33. package/dist/cli/commands/test.js +50 -51
  34. package/dist/cli/commands/verify.js +7 -7
  35. package/dist/cli/commands/web.js +41 -28
  36. package/dist/compiler-ui/404.html +1 -0
  37. package/dist/compiler-ui/__next.__PAGE__.txt +10 -0
  38. package/dist/compiler-ui/__next._full.txt +20 -0
  39. package/dist/compiler-ui/__next._head.txt +5 -0
  40. package/dist/compiler-ui/__next._index.txt +5 -0
  41. package/dist/compiler-ui/__next._tree.txt +5 -0
  42. package/dist/compiler-ui/_next/static/chunks/06yhdspx~ca5-.js +5 -0
  43. package/{apps/compiler-ui/.next/static/chunks/13g~4mamjft.c.css → dist/compiler-ui/_next/static/chunks/0c9mu7yldxyyg.css} +1 -1
  44. package/{apps/compiler-ui/.next/static/chunks/0fgt_8knmicoz.js → dist/compiler-ui/_next/static/chunks/15mks7ry_cupt.js} +15 -21
  45. package/{apps/compiler-ui/.next/static/chunks/turbopack-109rtik40vwh5.js → dist/compiler-ui/_next/static/chunks/turbopack-0.uq1k8c0j4s..js} +1 -1
  46. package/dist/compiler-ui/_not-found/__next._full.txt +15 -0
  47. package/dist/compiler-ui/_not-found/__next._head.txt +5 -0
  48. package/dist/compiler-ui/_not-found/__next._index.txt +5 -0
  49. package/dist/compiler-ui/_not-found/__next._not-found.__PAGE__.txt +5 -0
  50. package/dist/compiler-ui/_not-found/__next._not-found.txt +5 -0
  51. package/dist/compiler-ui/_not-found/__next._tree.txt +2 -0
  52. package/dist/compiler-ui/_not-found.html +1 -0
  53. package/dist/compiler-ui/_not-found.txt +15 -0
  54. package/{apps/compiler-ui/.next/server/app → dist/compiler-ui}/index.html +1 -1
  55. package/dist/compiler-ui/index.txt +20 -0
  56. package/dist/index.d.ts +8 -6
  57. package/dist/index.js +5 -3
  58. package/dist/packages/agents/index.d.ts +1 -1
  59. package/dist/packages/agents/lib/args.d.ts +2 -2
  60. package/dist/packages/agents/lib/compiled-bootstrap.js +7 -6
  61. package/dist/packages/agents/lib/execution-profile.d.ts +5 -5
  62. package/dist/packages/agents/lib/execution-profile.js +7 -6
  63. package/dist/packages/agents/lib/executors.d.ts +13 -13
  64. package/dist/packages/agents/lib/preflight.d.ts +1 -0
  65. package/dist/packages/agents/lib/preflight.js +32 -9
  66. package/dist/packages/agents/lib/shells.d.ts +25 -24
  67. package/dist/packages/agents/lib/shells.js +161 -154
  68. package/dist/packages/agents/lib/types.d.ts +2 -2
  69. package/dist/packages/compiler/artifact-counts.d.ts +1 -0
  70. package/dist/packages/compiler/artifact-counts.js +30 -0
  71. package/dist/packages/compiler/compiled-paths.d.ts +4 -7
  72. package/dist/packages/compiler/compiled-paths.js +9 -15
  73. package/dist/packages/compiler/compiled-pipeline.d.ts +11 -12
  74. package/dist/packages/compiler/compiled-pipeline.js +22 -22
  75. package/dist/packages/compiler/compiled-schema.d.ts +20 -20
  76. package/dist/packages/compiler/compiled-schema.js +29 -29
  77. package/dist/packages/compiler/compiled-stage-plan.d.ts +4 -4
  78. package/dist/packages/compiler/compiled-stage-plan.js +8 -8
  79. package/dist/packages/compiler/compiled-stage-runner.d.ts +5 -5
  80. package/dist/packages/compiler/compiled-stage-runner.js +7 -7
  81. package/dist/packages/compiler/compiled-target.d.ts +5 -5
  82. package/dist/packages/compiler/compiled-target.js +5 -5
  83. package/dist/packages/compiler/index.d.ts +3 -3
  84. package/dist/packages/compiler/index.js +2 -2
  85. package/dist/packages/compiler/lib/schema.d.ts +62 -247
  86. package/dist/packages/compiler/lib/schema.js +56 -174
  87. package/dist/packages/compiler/{workflows.d.ts → method-runs.d.ts} +4 -4
  88. package/dist/packages/compiler/{workflows.js → method-runs.js} +4 -3
  89. package/dist/packages/compiler/raw-snapshot.d.ts +0 -7
  90. package/dist/packages/compiler/raw-snapshot.js +0 -1
  91. package/dist/packages/compiler/reset.js +3 -3
  92. package/dist/packages/compiler/runtime-acceptance.js +9 -16
  93. package/dist/packages/compiler/runtime-contracts.js +9 -9
  94. package/dist/packages/compiler/runtime-prompt.js +4 -4
  95. package/dist/packages/compiler/runtime-reconcile.d.ts +2 -2
  96. package/dist/packages/compiler/runtime-reconcile.js +3 -3
  97. package/dist/packages/compiler/runtime-runs.js +9 -9
  98. package/dist/packages/compiler/runtime-types.d.ts +8 -7
  99. package/dist/packages/compiler/state-health.js +26 -35
  100. package/dist/packages/compiler/state-view.js +6 -6
  101. package/dist/packages/compiler/validate-compiled.d.ts +5 -5
  102. package/dist/packages/compiler/validate-compiled.js +56 -64
  103. package/dist/packages/compiler/validate.d.ts +2 -2
  104. package/dist/packages/compiler/validate.js +22 -14
  105. package/dist/packages/contracts/index.d.ts +2 -0
  106. package/dist/packages/contracts/index.js +1 -0
  107. package/dist/packages/contracts/lib/schema.d.ts +205 -0
  108. package/dist/packages/contracts/lib/schema.js +101 -0
  109. package/dist/packages/execution/index.d.ts +2 -2
  110. package/dist/packages/execution/index.js +1 -1
  111. package/dist/packages/execution/lib/schema.d.ts +80 -83
  112. package/dist/packages/execution/lib/schema.js +25 -48
  113. package/dist/packages/local-service/action-values.d.ts +0 -1
  114. package/dist/packages/local-service/action-values.js +0 -1
  115. package/dist/packages/local-service/client.d.ts +4 -4
  116. package/dist/packages/local-service/client.js +4 -4
  117. package/dist/packages/local-service/index.d.ts +3 -3
  118. package/dist/packages/local-service/index.js +2 -2
  119. package/dist/packages/local-service/lib/schema.d.ts +536 -974
  120. package/dist/packages/local-service/lib/schema.js +43 -160
  121. package/dist/packages/local-service/run-observability.d.ts +6 -0
  122. package/dist/packages/local-service/run-observability.js +592 -0
  123. package/dist/packages/local-service/runtime.d.ts +19 -23
  124. package/dist/packages/local-service/runtime.js +302 -880
  125. package/dist/packages/local-service/server.d.ts +1 -0
  126. package/dist/packages/local-service/server.js +25 -20
  127. package/dist/packages/method-authoring/index.d.ts +4 -0
  128. package/dist/packages/method-authoring/index.js +4 -0
  129. package/dist/packages/{workflow-authoring/lib/workflow-edit-utils.d.ts → method-authoring/lib/method-edit-utils.d.ts} +3 -3
  130. package/dist/packages/method-authoring/method-authoring.d.ts +24 -0
  131. package/dist/packages/method-authoring/method-authoring.js +116 -0
  132. package/dist/packages/method-authoring/method-edit-session.d.ts +18 -0
  133. package/dist/packages/method-authoring/method-edit-session.js +125 -0
  134. package/dist/packages/method-authoring/method-improvement.d.ts +23 -0
  135. package/dist/packages/{workflow-authoring/workflow-improvement.js → method-authoring/method-improvement.js} +63 -63
  136. package/dist/packages/{workflow-package/builtin-compiled-workflow.d.ts → method-package/builtin-compiled-method.d.ts} +1 -1
  137. package/dist/packages/{workflow-package/builtin-compiled-workflow.js → method-package/builtin-compiled-method.js} +17 -17
  138. package/dist/packages/{workflow-package → method-package}/context-interface.d.ts +12 -12
  139. package/dist/packages/{workflow-package → method-package}/context-interface.js +19 -19
  140. package/dist/packages/method-package/index.d.ts +11 -0
  141. package/dist/packages/method-package/index.js +11 -0
  142. package/dist/packages/method-package/interf-method-package.d.ts +31 -0
  143. package/dist/packages/{workflow-package/interf-workflow-package.js → method-package/interf-method-package.js} +145 -145
  144. package/dist/packages/{workflow-package → method-package}/lib/package-root.js +1 -1
  145. package/dist/packages/method-package/local-methods.d.ts +64 -0
  146. package/dist/packages/method-package/local-methods.js +466 -0
  147. package/dist/packages/method-package/method-definitions.d.ts +83 -0
  148. package/dist/packages/method-package/method-definitions.js +205 -0
  149. package/dist/packages/{workflow-package/workflow-helpers.d.ts → method-package/method-helpers.d.ts} +10 -10
  150. package/dist/packages/{workflow-package/workflow-helpers.js → method-package/method-helpers.js} +22 -26
  151. package/dist/packages/method-package/method-review-paths.d.ts +10 -0
  152. package/dist/packages/{workflow-package/workflow-review-paths.js → method-package/method-review-paths.js} +4 -4
  153. package/dist/packages/{workflow-package/workflow-stage-runner.d.ts → method-package/method-stage-runner.d.ts} +12 -11
  154. package/dist/packages/{workflow-package/workflow-stage-runner.js → method-package/method-stage-runner.js} +6 -6
  155. package/dist/packages/methods/index.d.ts +2 -0
  156. package/dist/packages/methods/index.js +2 -0
  157. package/dist/packages/methods/method-resolution.d.ts +6 -0
  158. package/dist/packages/methods/method-resolution.js +7 -0
  159. package/dist/packages/project-model/index.d.ts +1 -4
  160. package/dist/packages/project-model/index.js +0 -3
  161. package/dist/packages/project-model/interf-detect.d.ts +1 -5
  162. package/dist/packages/project-model/interf-detect.js +7 -18
  163. package/dist/packages/project-model/interf-scaffold.d.ts +2 -2
  164. package/dist/packages/project-model/interf-scaffold.js +38 -39
  165. package/dist/packages/project-model/interf.d.ts +1 -2
  166. package/dist/packages/project-model/interf.js +1 -2
  167. package/dist/packages/project-model/lib/schema.d.ts +2 -66
  168. package/dist/packages/project-model/lib/schema.js +5 -23
  169. package/dist/packages/project-model/project-paths.d.ts +9 -10
  170. package/dist/packages/project-model/project-paths.js +14 -17
  171. package/dist/packages/project-model/source-config.d.ts +11 -18
  172. package/dist/packages/project-model/source-config.js +42 -60
  173. package/dist/packages/project-model/source-folders.d.ts +4 -4
  174. package/dist/packages/project-model/source-folders.js +10 -10
  175. package/dist/packages/testing/index.d.ts +2 -2
  176. package/dist/packages/testing/index.js +1 -1
  177. package/dist/packages/testing/lib/schema.d.ts +11 -11
  178. package/dist/packages/testing/lib/schema.js +8 -9
  179. package/dist/packages/testing/readiness-check-run.d.ts +67 -0
  180. package/dist/packages/testing/readiness-check-run.js +258 -0
  181. package/dist/packages/testing/test-execution.d.ts +3 -3
  182. package/dist/packages/testing/test-execution.js +5 -5
  183. package/dist/packages/testing/test-paths.js +6 -6
  184. package/dist/packages/testing/test-profile-presets.js +2 -2
  185. package/dist/packages/testing/test-sandbox.js +10 -11
  186. package/dist/packages/testing/test-targets.d.ts +1 -1
  187. package/dist/packages/testing/test-targets.js +8 -7
  188. package/dist/packages/testing/test-types.d.ts +1 -1
  189. package/package.json +16 -33
  190. package/apps/compiler-ui/.next/static/chunks/0ti_66mx7~w2-.js +0 -5
  191. package/builtin-workflows/interf/improve/SKILL.md +0 -18
  192. package/dist/cli/commands/create-workflow-wizard.d.ts +0 -76
  193. package/dist/packages/project-model/compiled-paths.d.ts +0 -1
  194. package/dist/packages/project-model/compiled-paths.js +0 -1
  195. package/dist/packages/project-model/compiled-raw.d.ts +0 -1
  196. package/dist/packages/project-model/compiled-raw.js +0 -1
  197. package/dist/packages/project-model/compiled-reset.d.ts +0 -1
  198. package/dist/packages/project-model/compiled-reset.js +0 -1
  199. package/dist/packages/shared/index.d.ts +0 -7
  200. package/dist/packages/shared/index.js +0 -7
  201. package/dist/packages/shared/util.d.ts +0 -3
  202. package/dist/packages/shared/util.js +0 -3
  203. package/dist/packages/testing/test-matrices.d.ts +0 -90
  204. package/dist/packages/testing/test-matrices.js +0 -96
  205. package/dist/packages/workflow-authoring/index.d.ts +0 -4
  206. package/dist/packages/workflow-authoring/index.js +0 -4
  207. package/dist/packages/workflow-authoring/workflow-authoring.d.ts +0 -24
  208. package/dist/packages/workflow-authoring/workflow-authoring.js +0 -82
  209. package/dist/packages/workflow-authoring/workflow-edit-session.d.ts +0 -18
  210. package/dist/packages/workflow-authoring/workflow-edit-session.js +0 -91
  211. package/dist/packages/workflow-authoring/workflow-improvement.d.ts +0 -23
  212. package/dist/packages/workflow-package/index.d.ts +0 -11
  213. package/dist/packages/workflow-package/index.js +0 -11
  214. package/dist/packages/workflow-package/interf-workflow-package.d.ts +0 -31
  215. package/dist/packages/workflow-package/local-workflows.d.ts +0 -64
  216. package/dist/packages/workflow-package/local-workflows.js +0 -457
  217. package/dist/packages/workflow-package/workflow-definitions.d.ts +0 -82
  218. package/dist/packages/workflow-package/workflow-definitions.js +0 -211
  219. package/dist/packages/workflow-package/workflow-review-paths.d.ts +0 -10
  220. /package/{builtin-workflows/interf → builtin-methods/interf-default}/compile/stages/shape/SKILL.md +0 -0
  221. /package/{builtin-workflows/interf → builtin-methods/interf-default}/compile/stages/structure/SKILL.md +0 -0
  222. /package/{builtin-workflows/interf → builtin-methods/interf-default}/compile/stages/summarize/SKILL.md +0 -0
  223. /package/{builtin-workflows/interf → builtin-methods/interf-default}/use/query/SKILL.md +0 -0
  224. /package/{apps/compiler-ui/.next → dist/compiler-ui/_next}/static/chunks/03~yq9q893hmn.js +0 -0
  225. /package/{apps/compiler-ui/.next → dist/compiler-ui/_next}/static/chunks/06z~l3kwb891e.js +0 -0
  226. /package/{apps/compiler-ui/.next → dist/compiler-ui/_next}/static/chunks/08g7lvje.te.u.js +0 -0
  227. /package/{apps/compiler-ui/.next → dist/compiler-ui/_next}/static/chunks/08m7vf5asqlsm.js +0 -0
  228. /package/{apps/compiler-ui/.next → dist/compiler-ui/_next}/static/chunks/0_i-3_5l9t2qe.js +0 -0
  229. /package/{apps/compiler-ui/.next → dist/compiler-ui/_next}/static/chunks/0b-ywny_j0g~0.js +0 -0
  230. /package/{apps/compiler-ui/.next → dist/compiler-ui/_next}/static/chunks/0b52v41o1gixx.js +0 -0
  231. /package/{apps/compiler-ui/.next → dist/compiler-ui/_next}/static/chunks/0gpzgsv0w.q~m.js +0 -0
  232. /package/{apps/compiler-ui/.next → dist/compiler-ui/_next}/static/chunks/0ilwfezfvu6~-.js +0 -0
  233. /package/{apps/compiler-ui/.next → dist/compiler-ui/_next}/static/chunks/0n51hrfoufc7g.js +0 -0
  234. /package/{apps/compiler-ui/.next → dist/compiler-ui/_next}/static/chunks/0xxmf45eskdt~.css +0 -0
  235. /package/{apps/compiler-ui/.next → dist/compiler-ui/_next}/static/chunks/0y5z3t-z1c8ks.js.map +0 -0
  236. /package/{apps/compiler-ui/.next → dist/compiler-ui/_next}/static/chunks/14wtz~vq25~qq.js +0 -0
  237. /package/{apps/compiler-ui/.next → dist/compiler-ui/_next}/static/chunks/turbopack-10e~t1yzi4svj.js +0 -0
  238. /package/{apps/compiler-ui/.next → dist/compiler-ui/_next}/static/chunks/turbopack-worker-0sjn--fhq~1cg.js +0 -0
  239. /package/{apps/compiler-ui/.next → dist/compiler-ui/_next}/static/media/GeistMono_Variable.p.17jn9btb_52pq.woff2 +0 -0
  240. /package/{apps/compiler-ui/.next → dist/compiler-ui/_next}/static/media/Geist_Variable-s.p.0-te~ja_gpvcf.woff2 +0 -0
  241. /package/{apps/compiler-ui/.next → dist/compiler-ui/_next}/static/media/worker.102zas1s52_pf.js +0 -0
  242. /package/{apps/compiler-ui/.next/static/XWKL548yXD_UOG4ID9G3J → dist/compiler-ui/_next/static/pIZnDsV3Je6hdC3cOsGdK}/_buildManifest.js +0 -0
  243. /package/{apps/compiler-ui/.next/static/XWKL548yXD_UOG4ID9G3J → dist/compiler-ui/_next/static/pIZnDsV3Je6hdC3cOsGdK}/_clientMiddlewareManifest.js +0 -0
  244. /package/{apps/compiler-ui/.next/static/XWKL548yXD_UOG4ID9G3J → dist/compiler-ui/_next/static/pIZnDsV3Je6hdC3cOsGdK}/_ssgManifest.js +0 -0
  245. /package/dist/packages/compiler/{workflow-primitives.d.ts → method-primitives.d.ts} +0 -0
  246. /package/dist/packages/compiler/{workflow-primitives.js → method-primitives.js} +0 -0
  247. /package/dist/packages/{workflow-authoring/lib/workflow-edit-utils.js → method-authoring/lib/method-edit-utils.js} +0 -0
  248. /package/dist/packages/{workflow-package → method-package}/lib/package-root.d.ts +0 -0
  249. /package/dist/packages/{workflow-package/workflow-stage-policy.d.ts → method-package/method-stage-policy.d.ts} +0 -0
  250. /package/dist/packages/{workflow-package/workflow-stage-policy.js → method-package/method-stage-policy.js} +0 -0
@@ -1,12 +1,14 @@
1
1
  import chalk from "chalk";
2
2
  import * as p from "@clack/prompts";
3
3
  import { detectInterf, resolveSourceControlPath, } from "../../packages/project-model/interf.js";
4
- import { fingerprintReadinessChecks, loadCompiledDatasetConfig, sourceDatasetConfigFromInterfConfig, } from "../../packages/project-model/source-config.js";
4
+ import { loadCompiledPreparationConfig, sourcePreparationConfigFromInterfConfig, } from "../../packages/project-model/source-config.js";
5
5
  import { addExecutionProfileOptions, executionProfileFromArgv, } from "../../packages/agents/lib/execution-profile.js";
6
6
  import { chooseCompiledConfigToBuild, findBuiltCompiledPath, } from "./compiled-flow.js";
7
7
  import { resolveConfiguredPreparationSelection } from "./preparation-selection.js";
8
- import { printAgentTestFailures, printAgentTestMatrix, printSavedTestComparisonState, readSavedTestComparison, runSavedRawTest, runSavedCompiledTest, saveTestComparisonRun, } from "./test-flow.js";
8
+ import { printAgentTestFailures, printAgentTestMatrix, printSavedTestComparisonState, } from "./test-flow.js";
9
9
  import { createCompiledTestTarget } from "../../packages/testing/test-targets.js";
10
+ import { runReadinessChecksForExecutor, } from "../../packages/testing/readiness-check-run.js";
11
+ import { resolveMethodId } from "../../packages/methods/method-resolution.js";
10
12
  import { listRunAgentOptions, promptForTestAgents, resolveNamedLocalExecutor, resolveOrConfigureLocalExecutor, } from "./executor-flow.js";
11
13
  import { submitTestRunToLocalService, waitForLocalTestRun, } from "../../packages/local-service/index.js";
12
14
  import { resolveCommandControlPath } from "./control-path.js";
@@ -19,7 +21,7 @@ export const testCommand = {
19
21
  describe: "Preparation id to check when this Source Folder has more than one Preparation",
20
22
  })
21
23
  .option("target", {
22
- choices: ["both", "raw", "compiled"],
24
+ choices: ["both", "source-files", "portable-context"],
23
25
  describe: "Check source files, Portable Context, or both. Default: both when Portable Context exists, otherwise source files.",
24
26
  })
25
27
  .option("keep-sandboxes", {
@@ -41,7 +43,19 @@ function readSandboxRetentionMode(argv) {
41
43
  }
42
44
  function readRequestedMode(argv) {
43
45
  const value = argv.target;
44
- return value === "raw" || value === "compiled" || value === "both" ? value : null;
46
+ const target = value === "source-files" || value === "portable-context" || value === "both"
47
+ ? value
48
+ : null;
49
+ if (!target)
50
+ return null;
51
+ return modeFromTargetChoice(target);
52
+ }
53
+ function modeFromTargetChoice(target) {
54
+ if (target === "source-files")
55
+ return "raw";
56
+ if (target === "portable-context")
57
+ return "compiled";
58
+ return "both";
45
59
  }
46
60
  function reportTestCommandFailure(argv, message, hints = []) {
47
61
  process.exitCode = 1;
@@ -162,30 +176,22 @@ async function resolveSelectedTestAgents(options) {
162
176
  ];
163
177
  }
164
178
  async function runModeForAgent(options) {
165
- const rawPromise = options.mode === "raw" || options.mode === "both"
166
- ? runSavedRawTest({
167
- sourcePath: options.sourcePath,
168
- datasetConfig: options.datasetConfig,
169
- executor: options.executor,
170
- preserveSandboxes: options.preserveSandboxes,
171
- runSuffix: options.executor.name,
172
- })
173
- : Promise.resolve(null);
174
- const compiledPromise = options.mode === "compiled" || options.mode === "both"
175
- ? runSavedCompiledTest({
176
- sourcePath: options.sourcePath,
177
- datasetConfig: options.datasetConfig,
178
- compiledPath: options.builtCompiledPath,
179
- executor: options.executor,
180
- preserveSandboxes: options.preserveSandboxes,
181
- runSuffix: options.executor.name,
182
- })
183
- : Promise.resolve(null);
184
- const [rawOutcome, compiledOutcome] = await Promise.all([rawPromise, compiledPromise]);
179
+ const result = await runReadinessChecksForExecutor({
180
+ sourcePath: options.sourcePath,
181
+ preparationConfig: options.preparationConfig,
182
+ portableContextPath: options.builtCompiledPath,
183
+ mode: options.mode,
184
+ preserveSandboxes: options.preserveSandboxes,
185
+ executor: options.executor,
186
+ runSuffix: options.executor.name,
187
+ saveLatest: options.saveLatest,
188
+ });
185
189
  return {
186
190
  agentLabel: options.executor.displayName,
187
- rawOutcome,
188
- compiledOutcome,
191
+ rawOutcome: result.rawOutcome,
192
+ compiledOutcome: result.compiledOutcome,
193
+ comparisonRunPath: result.comparisonRunPath,
194
+ comparison: result.comparison,
189
195
  };
190
196
  }
191
197
  export async function runTestCommand(argv = {}) {
@@ -195,27 +201,27 @@ export async function runTestCommand(argv = {}) {
195
201
  ? argv.sourcePath.trim()
196
202
  : (detected ? resolveSourceControlPath(detected.path) : resolveCommandControlPath(cwd));
197
203
  const requestedPreparation = argv.preparation;
198
- const requestedDatasetName = typeof requestedPreparation === "string" && requestedPreparation.trim().length > 0
204
+ const requestedPreparationName = typeof requestedPreparation === "string" && requestedPreparation.trim().length > 0
199
205
  ? requestedPreparation.trim()
200
206
  : null;
201
- const hintedDatasetConfig = (argv.datasetConfig ?? null);
207
+ const hintedPreparationConfig = (argv.preparationConfig ?? null);
202
208
  const selectedCompiled = detected
203
209
  ? (() => {
204
- const targetName = requestedDatasetName ?? hintedDatasetConfig?.name ?? detected.config.name;
210
+ const targetName = requestedPreparationName ?? hintedPreparationConfig?.name ?? detected.config.name;
205
211
  return resolveConfiguredPreparationSelection({
206
212
  sourcePath,
207
213
  requestedPreparationName: targetName,
208
- hintedPreparationConfig: hintedDatasetConfig,
214
+ hintedPreparationConfig,
209
215
  }) ?? (targetName === detected.config.name
210
- ? (loadCompiledDatasetConfig(detected.path)
211
- ?? sourceDatasetConfigFromInterfConfig(detected.config))
216
+ ? (loadCompiledPreparationConfig(detected.path)
217
+ ?? sourcePreparationConfigFromInterfConfig(detected.config))
212
218
  : null);
213
219
  })()
214
- : requestedDatasetName || hintedDatasetConfig
220
+ : requestedPreparationName || hintedPreparationConfig
215
221
  ? resolveConfiguredPreparationSelection({
216
222
  sourcePath,
217
- requestedPreparationName: requestedDatasetName,
218
- hintedPreparationConfig: hintedDatasetConfig,
223
+ requestedPreparationName,
224
+ hintedPreparationConfig,
219
225
  })
220
226
  : await chooseCompiledConfigToBuild({
221
227
  sourcePath,
@@ -224,8 +230,8 @@ export async function runTestCommand(argv = {}) {
224
230
  if (selectedCompiled === undefined)
225
231
  return false;
226
232
  if (!selectedCompiled) {
227
- if (requestedDatasetName) {
228
- return reportTestCommandFailure(argv, `Preparation "${requestedDatasetName}" is not saved in this Source Folder.`, ["Run `interf list` to see the saved Preparations."]);
233
+ if (requestedPreparationName) {
234
+ return reportTestCommandFailure(argv, `Preparation "${requestedPreparationName}" is not saved in this Source Folder.`, ["Run `interf list` to see the saved Preparations."]);
229
235
  }
230
236
  return reportTestCommandFailure(argv, "No saved Preparations are configured for this Source Folder yet.", ["Start with `interf` or `interf init`."]);
231
237
  }
@@ -241,7 +247,7 @@ export async function runTestCommand(argv = {}) {
241
247
  ? detected.path
242
248
  : findBuiltCompiledPath(sourcePath, selectedCompiled.name);
243
249
  const hasBuiltCompiled = builtCompiledPath
244
- ? createCompiledTestTarget(builtCompiledPath, selectedCompiled.name, selectedCompiled.method ?? selectedCompiled.workflow ?? "interf-default").eligible
250
+ ? createCompiledTestTarget(builtCompiledPath, selectedCompiled.name, resolveMethodId(selectedCompiled)).eligible
245
251
  : false;
246
252
  const requestedMode = readRequestedMode(argv);
247
253
  const selectedMode = requestedMode ?? (process.stdin.isTTY && process.stdout.isTTY
@@ -253,7 +259,7 @@ export async function runTestCommand(argv = {}) {
253
259
  return reportTestCommandFailure(argv, `Preparation "${selectedCompiled.name}" does not have Portable Context agents can use yet.`, ["Run `interf compile` first."]);
254
260
  }
255
261
  if (selectedMode === "both" && !hasBuiltCompiled) {
256
- return reportTestCommandFailure(argv, `Preparation "${selectedCompiled.name}" does not have Portable Context agents can use yet, so Interf cannot compare source files and Portable Context.`, ["Run `interf compile` first, or rerun with `--target raw`."]);
262
+ return reportTestCommandFailure(argv, `Preparation "${selectedCompiled.name}" does not have Portable Context agents can use yet, so Interf cannot compare source files and Portable Context.`, ["Run `interf compile` first, or rerun with `--target source-files`."]);
257
263
  }
258
264
  const mode = selectedMode;
259
265
  if (argv.skipService !== true) {
@@ -300,11 +306,12 @@ export async function runTestCommand(argv = {}) {
300
306
  }
301
307
  const rows = await Promise.all(selectedAgents.map((agent) => runModeForAgent({
302
308
  sourcePath,
303
- datasetConfig: selectedCompiled,
309
+ preparationConfig: selectedCompiled,
304
310
  builtCompiledPath: builtCompiledPath ?? null,
305
311
  mode,
306
312
  preserveSandboxes,
307
313
  executor: agent.executor,
314
+ saveLatest: selectedAgents.length === 1,
308
315
  })));
309
316
  if ((mode === "compiled" || mode === "both") && rows.some((row) => !row.compiledOutcome)) {
310
317
  return reportTestCommandFailure(argv, `Preparation "${selectedCompiled.name}" does not have Portable Context agents can use yet.`, ["Run `interf compile` first."]);
@@ -313,7 +320,7 @@ export async function runTestCommand(argv = {}) {
313
320
  printAgentTestFailures(rows);
314
321
  const resultSummary = {
315
322
  sourcePath,
316
- datasetConfig: selectedCompiled,
323
+ preparationConfig: selectedCompiled,
317
324
  builtCompiledPath: builtCompiledPath ?? null,
318
325
  mode,
319
326
  rows,
@@ -323,16 +330,8 @@ export async function runTestCommand(argv = {}) {
323
330
  : null;
324
331
  if (rows.length === 1) {
325
332
  const row = rows[0];
326
- const comparisonRunPath = saveTestComparisonRun({
327
- sourcePath,
328
- compiledPath: builtCompiledPath ?? null,
329
- compiledName: selectedCompiled.name,
330
- checksFingerprint: fingerprintReadinessChecks(selectedCompiled.checks),
331
- mode,
332
- rawOutcome: row?.rawOutcome ?? null,
333
- compiledOutcome: row?.compiledOutcome ?? null,
334
- });
335
- const latestComparison = readSavedTestComparison(sourcePath, selectedCompiled.name);
333
+ const comparisonRunPath = row?.comparisonRunPath ?? null;
334
+ const latestComparison = row?.comparison ?? null;
336
335
  if (latestComparison) {
337
336
  if (mode === "both") {
338
337
  console.log();
@@ -1,25 +1,25 @@
1
1
  import chalk from "chalk";
2
2
  import { detectInterf } from "../../packages/project-model/interf.js";
3
3
  import { validateCompiledCompile, validateCompiledStage, } from "../../packages/compiler/validate.js";
4
- import { validateWorkflowPackage } from "../../packages/workflow-package/local-workflows.js";
4
+ import { validateMethodPackage } from "../../packages/method-package/local-methods.js";
5
5
  function normalizeVerifyCheck(value) {
6
6
  if (!value)
7
7
  return null;
8
8
  if (value === "stage")
9
9
  return "stage";
10
- if (value === "compiled" || value === "compile")
11
- return "compiled";
10
+ if (value === "portable-context")
11
+ return "portable-context";
12
12
  if (value === "method")
13
13
  return "method";
14
14
  return null;
15
15
  }
16
16
  export const verifyCommand = {
17
- command: "verify <check>",
17
+ command: "verify <check> [stageId]",
18
18
  describe: "Run deterministic verification checks",
19
19
  builder: (yargs) => yargs
20
20
  .positional("check", {
21
21
  type: "string",
22
- describe: "Check to run (`stage`, `compiled`, or `method`)",
22
+ describe: "Check to run (`stage`, `portable-context`, or `method`)",
23
23
  })
24
24
  .positional("stageId", {
25
25
  type: "string",
@@ -49,7 +49,7 @@ export const verifyCommand = {
49
49
  console.log(chalk.red("`interf verify method` needs --path <method-dir>."));
50
50
  return;
51
51
  }
52
- result = validateWorkflowPackage(path);
52
+ result = validateMethodPackage(path);
53
53
  }
54
54
  else {
55
55
  const detected = detectInterf(process.cwd());
@@ -58,7 +58,7 @@ export const verifyCommand = {
58
58
  console.log(chalk.red("Run this from inside Portable Context."));
59
59
  return;
60
60
  }
61
- if (check === "compiled") {
61
+ if (check === "portable-context") {
62
62
  result = validateCompiledCompile(detected.path);
63
63
  }
64
64
  else {
@@ -6,12 +6,13 @@ import { ActionProposalPlanSchema, startLocalService, } from "../../packages/loc
6
6
  import { loadSourceFolderConfig, saveSourceFolderConfig, sourceFolderConfigPath, } from "../../packages/project-model/source-config.js";
7
7
  import { runConfiguredCompiledCompile, } from "./compile-controller.js";
8
8
  import { draftReadinessChecks, } from "./check-draft.js";
9
- import { runTestCommand, } from "./test.js";
10
- import { runWorkflowAuthoringDraft, } from "../../packages/workflow-authoring/workflow-authoring.js";
11
- import { PACKAGE_ROOT } from "../../packages/workflow-package/lib/package-root.js";
12
- import { seedLocalDefaultWorkflow } from "../../packages/workflow-package/local-workflows.js";
9
+ import { runReadinessChecksForExecutor, } from "../../packages/testing/readiness-check-run.js";
10
+ import { runMethodAuthoringDraft, } from "../../packages/method-authoring/method-authoring.js";
11
+ import { PACKAGE_ROOT } from "../../packages/method-package/lib/package-root.js";
12
+ import { seedLocalDefaultMethod } from "../../packages/method-package/local-methods.js";
13
13
  import { findNearestInterfInstanceConfig, hasInterfInstanceConfig, relativeSourceFolderPath, resolveInterfInstanceContext, } from "./control-path.js";
14
14
  import { listSourceFolderChoices, } from "../../packages/project-model/source-folders.js";
15
+ import { methodIdForSourcePreparationConfig } from "../../packages/methods/method-resolution.js";
15
16
  export const webCommand = {
16
17
  command: "web",
17
18
  describe: "Start Interf UI and the local Interf API",
@@ -127,12 +128,12 @@ export function ensureWebProjectInitialized(controlPath, options = {}) {
127
128
  source_folder: {
128
129
  path: relativeSourceFolderPath(controlPath, sourceFolderPath),
129
130
  },
130
- preparations: existing.preparations ?? existing.datasets ?? [],
131
+ preparations: existing.preparations ?? [],
131
132
  });
132
133
  }
133
134
  return;
134
135
  }
135
- seedLocalDefaultWorkflow({ sourcePath: controlPath });
136
+ seedLocalDefaultMethod({ sourcePath: controlPath });
136
137
  const sourceFolderPath = inferSourceFolderPath();
137
138
  saveSourceFolderConfig(controlPath, {
138
139
  ...(sourceFolderPath
@@ -147,11 +148,11 @@ export function ensureWebProjectInitialized(controlPath, options = {}) {
147
148
  }
148
149
  function buildActionPlannerPrompt(request, context, outputPath) {
149
150
  const actionSkill = readActionSkill();
150
- const preparations = context.datasets.map((preparation) => ({
151
+ const preparations = context.preparations.map((preparation) => ({
151
152
  name: preparation.name,
152
153
  path: preparation.path,
153
154
  about: preparation.about ?? null,
154
- method: preparation.method ?? preparation.workflow ?? null,
155
+ method: methodIdForSourcePreparationConfig(preparation),
155
156
  checks: preparation.checks?.length ?? 0,
156
157
  }));
157
158
  const recentProposals = context.recentProposals.map((proposal) => ({
@@ -261,9 +262,10 @@ export async function runWebCommand(argv = {}) {
261
262
  }
262
263
  const ok = await runConfiguredCompiledCompile({
263
264
  executor: resolved.executor,
265
+ testExecutor: resolved.executor,
264
266
  compiledPath: context.compiledPath,
265
267
  sourcePath: context.sourcePath,
266
- compiledConfig: context.datasetConfig,
268
+ compiledConfig: context.preparationConfig,
267
269
  maxAttemptsOverride: request.max_attempts ?? null,
268
270
  maxLoopsOverride: request.max_loops ?? null,
269
271
  preserveStageShells: request.preserve_stage_shells,
@@ -273,20 +275,31 @@ export async function runWebCommand(argv = {}) {
273
275
  return { ok };
274
276
  },
275
277
  async createTestRun(request, context) {
276
- const failureRef = {};
277
- const ok = await runTestCommand({
278
+ const resolved = resolveLocalExecutor({ preflight: true });
279
+ if (!resolved.executor) {
280
+ throw new Error(resolved.error ?? "No local agent detected.");
281
+ }
282
+ const result = await runReadinessChecksForExecutor({
278
283
  sourcePath: context.sourcePath,
279
- dataset: context.datasetConfig.name,
280
- datasetConfig: context.datasetConfig,
281
- target: request.mode,
282
- skipService: true,
283
- onFailure(result) {
284
- failureRef.current = result;
285
- },
284
+ preparationConfig: context.preparationConfig,
285
+ portableContextPath: context.compiledPath,
286
+ mode: request.mode,
287
+ executor: resolved.executor,
286
288
  });
289
+ const missingSourceFiles = (request.mode === "raw" || request.mode === "both") && !result.rawOutcome;
290
+ const missingPortableContext = (request.mode === "compiled" || request.mode === "both") && !result.compiledOutcome;
291
+ if (missingSourceFiles || missingPortableContext) {
292
+ return {
293
+ ok: false,
294
+ comparison: result.comparison,
295
+ error: missingPortableContext
296
+ ? "Portable Context is not ready for readiness checks."
297
+ : "Source files are not ready for readiness checks.",
298
+ };
299
+ }
287
300
  return {
288
- ok,
289
- ...(failureRef.current ? { error: failureRef.current.message } : {}),
301
+ ok: true,
302
+ comparison: result.comparison,
290
303
  };
291
304
  },
292
305
  async createReadinessCheckDraft(request, context) {
@@ -300,8 +313,8 @@ export async function runWebCommand(argv = {}) {
300
313
  message: `Using ${resolved.executor.displayName} for readiness-check drafting.`,
301
314
  });
302
315
  const drafted = await draftReadinessChecks({
303
- datasetName: request.preparation,
304
- datasetPath: request.source_folder_path,
316
+ preparationName: request.preparation,
317
+ sourceFolderPath: request.source_folder_path,
305
318
  about: request.about,
306
319
  executor: resolved.executor,
307
320
  targetCount: request.target_count,
@@ -318,7 +331,7 @@ export async function runWebCommand(argv = {}) {
318
331
  checks: drafted.checks,
319
332
  };
320
333
  },
321
- async createWorkflowAuthoringRun(request, context) {
334
+ async createMethodAuthoringRun(request, context) {
322
335
  const resolved = resolveLocalExecutor({ preflight: true });
323
336
  if (!resolved.executor) {
324
337
  throw new Error(resolved.error ?? "No local agent detected.");
@@ -328,11 +341,11 @@ export async function runWebCommand(argv = {}) {
328
341
  step_id: "draft-package",
329
342
  message: `Using ${resolved.executor.displayName} for Method authoring.`,
330
343
  });
331
- const result = await runWorkflowAuthoringDraft({
344
+ const result = await runMethodAuthoringDraft({
332
345
  sourcePath: context.sourcePath,
333
- datasetPath: request.source_folder_path,
334
- baseWorkflowId: request.reference_method_id ?? request.base_method_id,
335
- workflowId: request.method_id,
346
+ sourceFolderPath: request.source_folder_path,
347
+ baseMethodId: request.reference_method_id ?? request.base_method_id,
348
+ methodId: request.method_id,
336
349
  label: request.label,
337
350
  hint: request.hint,
338
351
  taskPrompt: request.task_prompt,
@@ -349,7 +362,7 @@ export async function runWebCommand(argv = {}) {
349
362
  changed: result.changed,
350
363
  summary: result.summary,
351
364
  validation: result.validation,
352
- method_path: result.workflowPath,
365
+ method_path: result.methodPath,
353
366
  shell_path: result.shellPath,
354
367
  };
355
368
  },
@@ -0,0 +1 @@
1
+ <!DOCTYPE html><html class="dark geistsans_d5a4f12f-module__iZqIaq__variable geistmono_157ca88a-module__uNhmwG__variable" lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/chunks/0c9mu7yldxyyg.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/0gpzgsv0w.q~m.js"/><script src="/_next/static/chunks/06yhdspx~ca5-.js" async=""></script><script src="/_next/static/chunks/0ilwfezfvu6~-.js" async=""></script><script src="/_next/static/chunks/turbopack-0.uq1k8c0j4s..js" async=""></script><script src="/_next/static/chunks/06z~l3kwb891e.js" async=""></script><meta name="robots" content="noindex"/><meta name="next-size-adjust" content=""/><title>404: This page could not be found.</title><title>Interf Compiler</title><meta name="description" content="Local Interf workspace for Preparations, Methods, runs, readiness checks, and portable context."/><script src="/_next/static/chunks/03~yq9q893hmn.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/0gpzgsv0w.q~m.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[26439,[\"/_next/static/chunks/06z~l3kwb891e.js\"],\"default\"]\n3:I[99569,[\"/_next/static/chunks/06z~l3kwb891e.js\"],\"default\"]\n4:I[26890,[\"/_next/static/chunks/06z~l3kwb891e.js\"],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n8:I[26890,[\"/_next/static/chunks/06z~l3kwb891e.js\"],\"ViewportBoundary\"]\na:I[26890,[\"/_next/static/chunks/06z~l3kwb891e.js\"],\"MetadataBoundary\"]\nc:I[28946,[\"/_next/static/chunks/06z~l3kwb891e.js\"],\"default\",1]\n:HL[\"/_next/static/chunks/0c9mu7yldxyyg.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"_not-found\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",16],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/0c9mu7yldxyyg.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/06z~l3kwb891e.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"className\":\"dark geistsans_d5a4f12f-module__iZqIaq__variable geistmono_157ca88a-module__uNhmwG__variable\",\"lang\":\"en\",\"children\":[\"$\",\"body\",null,{\"children\":[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:notFound:0:1:props:style\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:notFound:0:1:props:children:props:children:1:props:style\",\"children\":404}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:style\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style\",\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,null]},null,false,\"$@7\"]},null,false,null],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$L8\",null,{\"children\":\"$L9\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$La\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lb\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$c\",[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/0c9mu7yldxyyg.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"pIZnDsV3Je6hdC3cOsGdK\"}\n"])</script><script>self.__next_f.push([1,"d:[]\n7:\"$Wd\"\n"])</script><script>self.__next_f.push([1,"9:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"6:null\nb:[[\"$\",\"title\",\"0\",{\"children\":\"Interf Compiler\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Local Interf workspace for Preparations, Methods, runs, readiness checks, and portable context.\"}]]\n"])</script></body></html>
@@ -0,0 +1,10 @@
1
+ 1:"$Sreact.fragment"
2
+ 2:I[419,["/_next/static/chunks/06z~l3kwb891e.js"],"ClientPageRoot"]
3
+ 3:I[12562,["/_next/static/chunks/06z~l3kwb891e.js","/_next/static/chunks/0b-ywny_j0g~0.js","/_next/static/chunks/0_i-3_5l9t2qe.js","/_next/static/chunks/15mks7ry_cupt.js","/_next/static/chunks/08m7vf5asqlsm.js"],"default"]
4
+ 6:I[26890,["/_next/static/chunks/06z~l3kwb891e.js"],"OutletBoundary"]
5
+ 7:"$Sreact.suspense"
6
+ :HL["/_next/static/chunks/0xxmf45eskdt~.css","style"]
7
+ 0:{"rsc":["$","$1","c",{"children":[["$","$L2",null,{"Component":"$3","serverProvidedParams":{"searchParams":{},"params":{},"promises":["$@4","$@5"]}}],[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0xxmf45eskdt~.css","precedence":"next"}],["$","script","script-0",{"src":"/_next/static/chunks/0b-ywny_j0g~0.js","async":true}],["$","script","script-1",{"src":"/_next/static/chunks/0_i-3_5l9t2qe.js","async":true}],["$","script","script-2",{"src":"/_next/static/chunks/15mks7ry_cupt.js","async":true}],["$","script","script-3",{"src":"/_next/static/chunks/08m7vf5asqlsm.js","async":true}]],["$","$L6",null,{"children":["$","$7",null,{"name":"Next.MetadataOutlet","children":"$@8"}]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"pIZnDsV3Je6hdC3cOsGdK"}
8
+ 4:{}
9
+ 5:"$0:rsc:props:children:0:props:serverProvidedParams:params"
10
+ 8:null
@@ -0,0 +1,20 @@
1
+ 1:"$Sreact.fragment"
2
+ 2:I[26439,["/_next/static/chunks/06z~l3kwb891e.js"],"default"]
3
+ 3:I[99569,["/_next/static/chunks/06z~l3kwb891e.js"],"default"]
4
+ 4:I[419,["/_next/static/chunks/06z~l3kwb891e.js"],"ClientPageRoot"]
5
+ 5:I[12562,["/_next/static/chunks/06z~l3kwb891e.js","/_next/static/chunks/0b-ywny_j0g~0.js","/_next/static/chunks/0_i-3_5l9t2qe.js","/_next/static/chunks/15mks7ry_cupt.js","/_next/static/chunks/08m7vf5asqlsm.js"],"default"]
6
+ 8:I[26890,["/_next/static/chunks/06z~l3kwb891e.js"],"OutletBoundary"]
7
+ 9:"$Sreact.suspense"
8
+ b:I[26890,["/_next/static/chunks/06z~l3kwb891e.js"],"ViewportBoundary"]
9
+ d:I[26890,["/_next/static/chunks/06z~l3kwb891e.js"],"MetadataBoundary"]
10
+ f:I[28946,["/_next/static/chunks/06z~l3kwb891e.js"],"default",1]
11
+ :HL["/_next/static/chunks/0c9mu7yldxyyg.css","style"]
12
+ :HL["/_next/static/media/GeistMono_Variable.p.17jn9btb_52pq.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
13
+ :HL["/_next/static/media/Geist_Variable-s.p.0-te~ja_gpvcf.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
14
+ :HL["/_next/static/chunks/0xxmf45eskdt~.css","style"]
15
+ 0:{"P":null,"c":["",""],"q":"","i":false,"f":[[["",{"children":["__PAGE__",{}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0c9mu7yldxyyg.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/06z~l3kwb891e.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"className":"dark geistsans_d5a4f12f-module__iZqIaq__variable geistmono_157ca88a-module__uNhmwG__variable","lang":"en","children":["$","body",null,{"children":["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}]]}],{"children":[["$","$1","c",{"children":[["$","$L4",null,{"Component":"$5","serverProvidedParams":{"searchParams":{},"params":{},"promises":["$@6","$@7"]}}],[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0xxmf45eskdt~.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/0b-ywny_j0g~0.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/0_i-3_5l9t2qe.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/_next/static/chunks/15mks7ry_cupt.js","async":true,"nonce":"$undefined"}],["$","script","script-3",{"src":"/_next/static/chunks/08m7vf5asqlsm.js","async":true,"nonce":"$undefined"}]],["$","$L8",null,{"children":["$","$9",null,{"name":"Next.MetadataOutlet","children":"$@a"}]}]]}],{},null,false,null]},null,false,null],["$","$1","h",{"children":[null,["$","$Lb",null,{"children":"$Lc"}],["$","div",null,{"hidden":true,"children":["$","$Ld",null,{"children":["$","$9",null,{"name":"Next.Metadata","children":"$Le"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],false]],"m":"$undefined","G":["$f",[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0c9mu7yldxyyg.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"pIZnDsV3Je6hdC3cOsGdK"}
16
+ 6:{}
17
+ 7:"$0:f:0:1:1:children:0:props:children:0:props:serverProvidedParams:params"
18
+ c:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
19
+ a:null
20
+ e:[["$","title","0",{"children":"Interf Compiler"}],["$","meta","1",{"name":"description","content":"Local Interf workspace for Preparations, Methods, runs, readiness checks, and portable context."}]]
@@ -0,0 +1,5 @@
1
+ 1:"$Sreact.fragment"
2
+ 2:I[26890,["/_next/static/chunks/06z~l3kwb891e.js"],"ViewportBoundary"]
3
+ 3:I[26890,["/_next/static/chunks/06z~l3kwb891e.js"],"MetadataBoundary"]
4
+ 4:"$Sreact.suspense"
5
+ 0:{"rsc":["$","$1","h",{"children":[null,["$","$L2",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]}],["$","div",null,{"hidden":true,"children":["$","$L3",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"Interf Compiler"}],["$","meta","1",{"name":"description","content":"Local Interf workspace for Preparations, Methods, runs, readiness checks, and portable context."}]]}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"pIZnDsV3Je6hdC3cOsGdK"}
@@ -0,0 +1,5 @@
1
+ 1:"$Sreact.fragment"
2
+ 2:I[26439,["/_next/static/chunks/06z~l3kwb891e.js"],"default"]
3
+ 3:I[99569,["/_next/static/chunks/06z~l3kwb891e.js"],"default"]
4
+ :HL["/_next/static/chunks/0c9mu7yldxyyg.css","style"]
5
+ 0:{"rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0c9mu7yldxyyg.css","precedence":"next"}],["$","script","script-0",{"src":"/_next/static/chunks/06z~l3kwb891e.js","async":true}]],["$","html",null,{"className":"dark geistsans_d5a4f12f-module__iZqIaq__variable geistmono_157ca88a-module__uNhmwG__variable","lang":"en","children":["$","body",null,{"children":["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}],"notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]]}]}]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"pIZnDsV3Je6hdC3cOsGdK"}
@@ -0,0 +1,5 @@
1
+ :HL["/_next/static/chunks/0c9mu7yldxyyg.css","style"]
2
+ :HL["/_next/static/media/GeistMono_Variable.p.17jn9btb_52pq.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
3
+ :HL["/_next/static/media/Geist_Variable-s.p.0-te~ja_gpvcf.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
4
+ :HL["/_next/static/chunks/0xxmf45eskdt~.css","style"]
5
+ 0:{"tree":{"name":"","param":null,"prefetchHints":16,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":0,"slots":null}}},"staleTime":300,"buildId":"pIZnDsV3Je6hdC3cOsGdK"}