@velum-labs/routekit-eval-setup 1.3.2 → 1.5.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.
Files changed (342) hide show
  1. package/dist/adapters/authoring-responses-request.d.ts +5 -0
  2. package/dist/adapters/authoring-responses-request.js +38 -0
  3. package/dist/adapters/evaluation-evidence-freshness.d.ts +7 -0
  4. package/dist/adapters/evaluation-evidence-freshness.js +76 -0
  5. package/dist/adapters/git-task-history.d.ts +67 -0
  6. package/dist/adapters/git-task-history.js +171 -0
  7. package/dist/adapters/integrated-repository-history.d.ts +21 -0
  8. package/dist/adapters/integrated-repository-history.js +175 -0
  9. package/dist/adapters/repository-command-diagnostic.d.ts +8 -0
  10. package/dist/adapters/repository-command-diagnostic.js +46 -0
  11. package/dist/adapters/repository-command-evidence.d.ts +13 -0
  12. package/dist/adapters/repository-command-evidence.js +102 -0
  13. package/dist/adapters/repository-command-runner.d.ts +238 -0
  14. package/dist/adapters/repository-command-runner.js +1483 -0
  15. package/dist/adapters/repository-import-context.d.ts +47 -0
  16. package/dist/adapters/repository-import-context.js +469 -0
  17. package/dist/adapters/repository-node-test-reporter.d.ts +3 -0
  18. package/dist/adapters/repository-node-test-reporter.js +27 -0
  19. package/dist/adapters/repository-review-evidence.d.ts +39 -0
  20. package/dist/adapters/repository-review-evidence.js +632 -0
  21. package/dist/adapters/repository-seed-selection.d.ts +7 -0
  22. package/dist/adapters/repository-seed-selection.js +79 -0
  23. package/dist/adapters/repository-solution-edits.d.ts +49 -0
  24. package/dist/adapters/repository-solution-edits.js +136 -0
  25. package/dist/adapters/repository-vitest-phase-adapter.d.ts +8 -0
  26. package/dist/adapters/repository-vitest-phase-adapter.js +310 -0
  27. package/dist/adapters/repository-vitest-reporter.d.ts +24 -0
  28. package/dist/adapters/repository-vitest-reporter.js +314 -0
  29. package/dist/adapters/strict-authoring-schema.d.ts +5 -0
  30. package/dist/adapters/strict-authoring-schema.js +158 -0
  31. package/dist/adapters/test-discovery.d.ts +30 -0
  32. package/dist/adapters/test-discovery.js +124 -0
  33. package/dist/adapters/typescript-repository-index.d.ts +51 -0
  34. package/dist/adapters/typescript-repository-index.js +226 -0
  35. package/dist/agentic-capabilities-protocol.d.ts +1373 -0
  36. package/dist/agentic-capabilities-protocol.js +786 -0
  37. package/dist/case-checkpoint-store.d.ts +29 -0
  38. package/dist/case-checkpoint-store.js +133 -0
  39. package/dist/case-pipeline-protocol-v2.d.ts +184 -0
  40. package/dist/case-pipeline-protocol-v2.js +193 -0
  41. package/dist/case-pipeline-protocol.d.ts +2626 -0
  42. package/dist/case-pipeline-protocol.js +371 -0
  43. package/dist/effect-api.d.ts +74 -10
  44. package/dist/effect-api.js +56 -6
  45. package/dist/errors.d.ts +31 -0
  46. package/dist/errors.js +10 -0
  47. package/dist/eval-capability-execution-envelope.d.ts +64 -0
  48. package/dist/eval-capability-execution-envelope.js +98 -0
  49. package/dist/eval-capability-policy.d.ts +90 -0
  50. package/dist/eval-capability-policy.js +107 -0
  51. package/dist/eval-event-log.d.ts +140 -0
  52. package/dist/eval-event-log.js +220 -0
  53. package/dist/evaluation-authoring-policy.d.ts +18 -0
  54. package/dist/evaluation-authoring-policy.js +19 -0
  55. package/dist/evaluation-authoring-validation.d.ts +22 -0
  56. package/dist/evaluation-authoring-validation.js +72 -0
  57. package/dist/evaluation-evidence.d.ts +20 -0
  58. package/dist/evaluation-evidence.js +319 -0
  59. package/dist/evaluation-grader-calibration-protocol.d.ts +108 -0
  60. package/dist/evaluation-grader-calibration-protocol.js +80 -0
  61. package/dist/evaluation-grader-calibration.d.ts +18 -0
  62. package/dist/evaluation-grader-calibration.js +334 -0
  63. package/dist/evaluation-grading-policy.d.ts +24 -0
  64. package/dist/evaluation-grading-policy.js +54 -0
  65. package/dist/evaluation-proposal-policy.d.ts +4 -0
  66. package/dist/evaluation-proposal-policy.js +91 -0
  67. package/dist/evaluation-source-retrieval.d.ts +68 -0
  68. package/dist/evaluation-source-retrieval.js +513 -0
  69. package/dist/evaluation-structure-policy.d.ts +29 -0
  70. package/dist/evaluation-structure-policy.js +138 -0
  71. package/dist/index.d.ts +124 -17
  72. package/dist/index.js +69 -11
  73. package/dist/inspection.js +2 -3
  74. package/dist/project-artifacts.d.ts +7 -2
  75. package/dist/project-artifacts.js +49 -136
  76. package/dist/project-authoring.d.ts +66 -5
  77. package/dist/project-authoring.js +783 -109
  78. package/dist/project-contracts.d.ts +419 -84
  79. package/dist/project-contracts.js +160 -52
  80. package/dist/project-store.js +2 -1
  81. package/dist/project-workflow.d.ts +5 -4
  82. package/dist/project-workflow.js +154 -35
  83. package/dist/repository-adversary-protocol.d.ts +64 -0
  84. package/dist/repository-adversary-protocol.js +105 -0
  85. package/dist/repository-behavior-protocol.d.ts +188 -0
  86. package/dist/repository-behavior-protocol.js +202 -0
  87. package/dist/repository-benchmark-protocol.d.ts +487 -0
  88. package/dist/repository-benchmark-protocol.js +96 -0
  89. package/dist/repository-execution-protocol.d.ts +150 -0
  90. package/dist/repository-execution-protocol.js +38 -0
  91. package/dist/repository-fixture-instructions.d.ts +3 -0
  92. package/dist/repository-fixture-instructions.js +91 -0
  93. package/dist/repository-fixture-protocol.d.ts +79 -0
  94. package/dist/repository-fixture-protocol.js +79 -0
  95. package/dist/repository-foundry-plan-protocol.d.ts +118 -0
  96. package/dist/repository-foundry-plan-protocol.js +296 -0
  97. package/dist/repository-foundry-progress-protocol.d.ts +52 -0
  98. package/dist/repository-foundry-progress-protocol.js +52 -0
  99. package/dist/repository-improvement-protocol.d.ts +100 -0
  100. package/dist/repository-improvement-protocol.js +106 -0
  101. package/dist/repository-language-model-protocol.d.ts +43 -0
  102. package/dist/repository-language-model-protocol.js +146 -0
  103. package/dist/repository-oracle-coverage-protocol.d.ts +18 -0
  104. package/dist/repository-oracle-coverage-protocol.js +39 -0
  105. package/dist/repository-oracle-execution-binding.d.ts +27 -0
  106. package/dist/repository-oracle-execution-binding.js +59 -0
  107. package/dist/repository-oracle-protocol.d.ts +230 -0
  108. package/dist/repository-oracle-protocol.js +156 -0
  109. package/dist/repository-oracle-scope-policy.d.ts +22 -0
  110. package/dist/repository-oracle-scope-policy.js +92 -0
  111. package/dist/repository-quality-policy.d.ts +15 -0
  112. package/dist/repository-quality-policy.js +357 -0
  113. package/dist/repository-routing-benchmark-protocol.d.ts +176 -0
  114. package/dist/repository-routing-benchmark-protocol.js +103 -0
  115. package/dist/repository-routing-model-protocol.d.ts +36 -0
  116. package/dist/repository-routing-model-protocol.js +89 -0
  117. package/dist/repository-routing-plan-protocol.d.ts +112 -0
  118. package/dist/repository-routing-plan-protocol.js +58 -0
  119. package/dist/repository-routing-quality-policy.d.ts +9 -0
  120. package/dist/repository-routing-quality-policy.js +191 -0
  121. package/dist/repository-seed-qualification-progress-protocol.d.ts +205 -0
  122. package/dist/repository-seed-qualification-progress-protocol.js +28 -0
  123. package/dist/repository-semantic-calibration-protocol.d.ts +768 -0
  124. package/dist/repository-semantic-calibration-protocol.js +276 -0
  125. package/dist/repository-semantic-calibration.d.ts +163 -0
  126. package/dist/repository-semantic-calibration.js +581 -0
  127. package/dist/repository-specification-contract-facts-protocol.d.ts +224 -0
  128. package/dist/repository-specification-contract-facts-protocol.js +276 -0
  129. package/dist/repository-specification-critique-protocol.d.ts +189 -0
  130. package/dist/repository-specification-critique-protocol.js +103 -0
  131. package/dist/repository-task-family-protocol.d.ts +24 -0
  132. package/dist/repository-task-family-protocol.js +37 -0
  133. package/dist/repository-task-seed-protocol.d.ts +384 -0
  134. package/dist/repository-task-seed-protocol.js +236 -0
  135. package/dist/repository-trajectory-protocol.d.ts +20 -0
  136. package/dist/repository-trajectory-protocol.js +42 -0
  137. package/dist/service.js +1 -1
  138. package/dist/services/adversary/service.d.ts +64 -0
  139. package/dist/services/adversary/service.js +330 -0
  140. package/dist/services/benchmark-compiler/service.d.ts +450 -0
  141. package/dist/services/benchmark-compiler/service.js +9 -0
  142. package/dist/services/budgeted-model/service.d.ts +118 -0
  143. package/dist/services/budgeted-model/service.js +460 -0
  144. package/dist/services/case-authoring/service.d.ts +163 -0
  145. package/dist/services/case-authoring/service.js +1456 -0
  146. package/dist/services/case-finalization/service.d.ts +283 -0
  147. package/dist/services/case-finalization/service.js +370 -0
  148. package/dist/services/case-generation/service.d.ts +619 -0
  149. package/dist/services/case-generation/service.js +2628 -0
  150. package/dist/services/case-pipeline/service.d.ts +31 -0
  151. package/dist/services/case-pipeline/service.js +485 -0
  152. package/dist/services/case-pipeline-v2/service.d.ts +70 -0
  153. package/dist/services/case-pipeline-v2/service.js +477 -0
  154. package/dist/services/command-observability/service.d.ts +13 -0
  155. package/dist/services/command-observability/service.js +3 -0
  156. package/dist/services/dimension-labeling/service.d.ts +77 -0
  157. package/dist/services/dimension-labeling/service.js +188 -0
  158. package/dist/services/eval-candidate/service.d.ts +208 -0
  159. package/dist/services/eval-candidate/service.js +64 -0
  160. package/dist/services/eval-capabilities/service.d.ts +183 -0
  161. package/dist/services/eval-capabilities/service.js +1433 -0
  162. package/dist/services/eval-environment/service.d.ts +173 -0
  163. package/dist/services/eval-environment/service.js +127 -0
  164. package/dist/services/evidence-reconstruction/service.d.ts +36 -0
  165. package/dist/services/evidence-reconstruction/service.js +145 -0
  166. package/dist/services/fixture-builder/service.d.ts +62 -0
  167. package/dist/services/fixture-builder/service.js +36 -0
  168. package/dist/services/fixture-validation/service.d.ts +75 -0
  169. package/dist/services/fixture-validation/service.js +295 -0
  170. package/dist/services/foundry/service.d.ts +831 -0
  171. package/dist/services/foundry/service.js +442 -0
  172. package/dist/services/foundry-progress/service.d.ts +62 -0
  173. package/dist/services/foundry-progress/service.js +149 -0
  174. package/dist/services/foundry-v2/service.d.ts +54 -0
  175. package/dist/services/foundry-v2/service.js +28 -0
  176. package/dist/services/grounded-authoring/service.d.ts +126 -0
  177. package/dist/services/grounded-authoring/service.js +822 -0
  178. package/dist/services/historical-case/service.d.ts +722 -0
  179. package/dist/services/historical-case/service.js +177 -0
  180. package/dist/services/improvement-loop/service.d.ts +59 -0
  181. package/dist/services/improvement-loop/service.js +176 -0
  182. package/dist/services/language-model/service.d.ts +52 -0
  183. package/dist/services/language-model/service.js +194 -0
  184. package/dist/services/oracle-builder/service.d.ts +146 -0
  185. package/dist/services/oracle-builder/service.js +513 -0
  186. package/dist/services/oracle-coverage/service.d.ts +28 -0
  187. package/dist/services/oracle-coverage/service.js +50 -0
  188. package/dist/services/oracle-coverage-witness/service.d.ts +130 -0
  189. package/dist/services/oracle-coverage-witness/service.js +538 -0
  190. package/dist/services/pipeline-challenge/service.d.ts +551 -0
  191. package/dist/services/pipeline-challenge/service.js +427 -0
  192. package/dist/services/pipeline-controls/service.d.ts +130 -0
  193. package/dist/services/pipeline-controls/service.js +483 -0
  194. package/dist/services/pipeline-oracle/service.d.ts +8 -0
  195. package/dist/services/pipeline-oracle/service.js +256 -0
  196. package/dist/services/pipeline-seed/service.d.ts +298 -0
  197. package/dist/services/pipeline-seed/service.js +428 -0
  198. package/dist/services/pipeline-spec/service.d.ts +103 -0
  199. package/dist/services/pipeline-spec/service.js +619 -0
  200. package/dist/services/pipeline-tournament/service.d.ts +258 -0
  201. package/dist/services/pipeline-tournament/service.js +476 -0
  202. package/dist/services/quality-gate/service.d.ts +233 -0
  203. package/dist/services/quality-gate/service.js +136 -0
  204. package/dist/services/repository-bundle/service.d.ts +33 -0
  205. package/dist/services/repository-bundle/service.js +114 -0
  206. package/dist/services/repository-model/service.d.ts +105 -0
  207. package/dist/services/repository-model/service.js +250 -0
  208. package/dist/services/repository-public-artifact/service.d.ts +133 -0
  209. package/dist/services/repository-public-artifact/service.js +330 -0
  210. package/dist/services/routing-benchmark/service.d.ts +362 -0
  211. package/dist/services/routing-benchmark/service.js +96 -0
  212. package/dist/services/specification-critic/service.d.ts +92 -0
  213. package/dist/services/specification-critic/service.js +172 -0
  214. package/dist/services/task-family/service.d.ts +40 -0
  215. package/dist/services/task-family/service.js +55 -0
  216. package/dist/services/task-seed/service.d.ts +906 -0
  217. package/dist/services/task-seed/service.js +1406 -0
  218. package/dist/services/task-specification/service.d.ts +27 -0
  219. package/dist/services/task-specification/service.js +40 -0
  220. package/dist/services/trajectory-policy/service.d.ts +110 -0
  221. package/dist/services/trajectory-policy/service.js +216 -0
  222. package/dist/test/agentic-capabilities-protocol.test.d.ts +1 -0
  223. package/dist/test/agentic-capabilities-protocol.test.js +570 -0
  224. package/dist/test/agentic-capabilities.test.d.ts +1 -0
  225. package/dist/test/agentic-capabilities.test.js +1461 -0
  226. package/dist/test/agentic-environment.test.d.ts +1 -0
  227. package/dist/test/agentic-environment.test.js +213 -0
  228. package/dist/test/case-pipeline-foundation.test.d.ts +1 -0
  229. package/dist/test/case-pipeline-foundation.test.js +535 -0
  230. package/dist/test/case-pipeline-protocol-v2.test.d.ts +1 -0
  231. package/dist/test/case-pipeline-protocol-v2.test.js +124 -0
  232. package/dist/test/case-pipeline-v2.test.d.ts +1 -0
  233. package/dist/test/case-pipeline-v2.test.js +286 -0
  234. package/dist/test/case-pipeline.test.d.ts +1 -0
  235. package/dist/test/case-pipeline.test.js +851 -0
  236. package/dist/test/eval-capability-policy.test.d.ts +1 -0
  237. package/dist/test/eval-capability-policy.test.js +50 -0
  238. package/dist/test/eval-event-log.test.d.ts +1 -0
  239. package/dist/test/eval-event-log.test.js +125 -0
  240. package/dist/test/evaluation-evidence-freshness.test.d.ts +1 -0
  241. package/dist/test/evaluation-evidence-freshness.test.js +44 -0
  242. package/dist/test/evaluation-evidence.test.d.ts +1 -0
  243. package/dist/test/evaluation-evidence.test.js +230 -0
  244. package/dist/test/evaluation-grader-calibration.test.d.ts +1 -0
  245. package/dist/test/evaluation-grader-calibration.test.js +373 -0
  246. package/dist/test/evaluation-proposal-digest.test.d.ts +1 -0
  247. package/dist/test/evaluation-proposal-digest.test.js +187 -0
  248. package/dist/test/evaluation-source-retrieval.test.d.ts +1 -0
  249. package/dist/test/evaluation-source-retrieval.test.js +237 -0
  250. package/dist/test/evaluation-structure-policy.test.d.ts +1 -0
  251. package/dist/test/evaluation-structure-policy.test.js +196 -0
  252. package/dist/test/fixtures/repository-resource-panel.d.ts +39 -0
  253. package/dist/test/fixtures/repository-resource-panel.js +111 -0
  254. package/dist/test/fixtures/vitest-boundary-panel.d.ts +84 -0
  255. package/dist/test/fixtures/vitest-boundary-panel.js +120 -0
  256. package/dist/test/fixtures/vitest-phase-panel.d.ts +135 -0
  257. package/dist/test/fixtures/vitest-phase-panel.js +213 -0
  258. package/dist/test/fixtures/vitest-reporter-results.d.ts +76 -0
  259. package/dist/test/fixtures/vitest-reporter-results.js +94 -0
  260. package/dist/test/grounded-authoring.test.d.ts +1 -0
  261. package/dist/test/grounded-authoring.test.js +565 -0
  262. package/dist/test/integrated-repository-history.test.d.ts +1 -0
  263. package/dist/test/integrated-repository-history.test.js +227 -0
  264. package/dist/test/project-authoring.test.js +593 -43
  265. package/dist/test/project-workflow.test.js +419 -40
  266. package/dist/test/repository-authoring-artifacts.test.d.ts +1 -0
  267. package/dist/test/repository-authoring-artifacts.test.js +185 -0
  268. package/dist/test/repository-bundle.test.d.ts +1 -0
  269. package/dist/test/repository-bundle.test.js +52 -0
  270. package/dist/test/repository-case-generation.test.d.ts +1 -0
  271. package/dist/test/repository-case-generation.test.js +3465 -0
  272. package/dist/test/repository-command-diagnostic.test.d.ts +1 -0
  273. package/dist/test/repository-command-diagnostic.test.js +55 -0
  274. package/dist/test/repository-command-signals.test.d.ts +1 -0
  275. package/dist/test/repository-command-signals.test.js +124 -0
  276. package/dist/test/repository-fixture-scope-coverage.test.d.ts +1 -0
  277. package/dist/test/repository-fixture-scope-coverage.test.js +127 -0
  278. package/dist/test/repository-fixture-validation.test.d.ts +1 -0
  279. package/dist/test/repository-fixture-validation.test.js +362 -0
  280. package/dist/test/repository-foundry-progress.test.d.ts +1 -0
  281. package/dist/test/repository-foundry-progress.test.js +110 -0
  282. package/dist/test/repository-foundry-quality.test.d.ts +1 -0
  283. package/dist/test/repository-foundry-quality.test.js +1138 -0
  284. package/dist/test/repository-import-context.test.d.ts +1 -0
  285. package/dist/test/repository-import-context.test.js +354 -0
  286. package/dist/test/repository-model-authoring.test.d.ts +1 -0
  287. package/dist/test/repository-model-authoring.test.js +544 -0
  288. package/dist/test/repository-model.test.d.ts +1 -0
  289. package/dist/test/repository-model.test.js +2195 -0
  290. package/dist/test/repository-node-test-reporter.test.d.ts +1 -0
  291. package/dist/test/repository-node-test-reporter.test.js +104 -0
  292. package/dist/test/repository-oracle-concurrency.test.d.ts +1 -0
  293. package/dist/test/repository-oracle-concurrency.test.js +542 -0
  294. package/dist/test/repository-oracle-coverage-witness.test.d.ts +1 -0
  295. package/dist/test/repository-oracle-coverage-witness.test.js +511 -0
  296. package/dist/test/repository-oracle-coverage.test.d.ts +1 -0
  297. package/dist/test/repository-oracle-coverage.test.js +168 -0
  298. package/dist/test/repository-oracle-evidence.test.d.ts +1 -0
  299. package/dist/test/repository-oracle-evidence.test.js +185 -0
  300. package/dist/test/repository-oracle-plan.test.d.ts +1 -0
  301. package/dist/test/repository-oracle-plan.test.js +176 -0
  302. package/dist/test/repository-overlay-isolation.test.d.ts +1 -0
  303. package/dist/test/repository-overlay-isolation.test.js +85 -0
  304. package/dist/test/repository-preparation-cache.test.d.ts +1 -0
  305. package/dist/test/repository-preparation-cache.test.js +414 -0
  306. package/dist/test/repository-public-artifact.test.d.ts +1 -0
  307. package/dist/test/repository-public-artifact.test.js +273 -0
  308. package/dist/test/repository-qualification-diagnostics.test.d.ts +1 -0
  309. package/dist/test/repository-qualification-diagnostics.test.js +524 -0
  310. package/dist/test/repository-reference-authoring.test.d.ts +1 -0
  311. package/dist/test/repository-reference-authoring.test.js +1633 -0
  312. package/dist/test/repository-review-evidence-v2.test.d.ts +1 -0
  313. package/dist/test/repository-review-evidence-v2.test.js +183 -0
  314. package/dist/test/repository-review-evidence.test.d.ts +1 -0
  315. package/dist/test/repository-review-evidence.test.js +124 -0
  316. package/dist/test/repository-seed-exclusions.test.d.ts +1 -0
  317. package/dist/test/repository-seed-exclusions.test.js +96 -0
  318. package/dist/test/repository-seed-selection.test.d.ts +1 -0
  319. package/dist/test/repository-seed-selection.test.js +504 -0
  320. package/dist/test/repository-semantic-calibration.test.d.ts +1 -0
  321. package/dist/test/repository-semantic-calibration.test.js +688 -0
  322. package/dist/test/repository-solution-edits.test.d.ts +1 -0
  323. package/dist/test/repository-solution-edits.test.js +377 -0
  324. package/dist/test/repository-specification-budget.test.d.ts +1 -0
  325. package/dist/test/repository-specification-budget.test.js +171 -0
  326. package/dist/test/repository-specification-contract-checkpoint.test.d.ts +1 -0
  327. package/dist/test/repository-specification-contract-checkpoint.test.js +228 -0
  328. package/dist/test/repository-specification-contract-facts.test.d.ts +1 -0
  329. package/dist/test/repository-specification-contract-facts.test.js +177 -0
  330. package/dist/test/repository-trajectory-authoring.test.d.ts +1 -0
  331. package/dist/test/repository-trajectory-authoring.test.js +176 -0
  332. package/dist/test/repository-valid-control-plan.test.d.ts +1 -0
  333. package/dist/test/repository-valid-control-plan.test.js +45 -0
  334. package/dist/test/repository-vitest-phase.test.d.ts +1 -0
  335. package/dist/test/repository-vitest-phase.test.js +848 -0
  336. package/dist/test/repository-vitest-reporter.test.d.ts +1 -0
  337. package/dist/test/repository-vitest-reporter.test.js +158 -0
  338. package/dist/test/repository-workspace-build.test.d.ts +1 -0
  339. package/dist/test/repository-workspace-build.test.js +160 -0
  340. package/dist/test/strict-authoring-schema.test.d.ts +1 -0
  341. package/dist/test/strict-authoring-schema.test.js +169 -0
  342. package/package.json +48 -6
@@ -0,0 +1,27 @@
1
+ import { Context, Effect, Layer } from "effect";
2
+ import type { RepositoryCandidateVisibleTaskV1 } from "../../repository-benchmark-protocol.js";
3
+ import type { RepositoryTaskFamilyV1 } from "../../repository-task-family-protocol.js";
4
+ import type { RepositoryTaskSeedV1 } from "../../repository-task-seed-protocol.js";
5
+ export type TaskSpecificationShape = {
6
+ readonly construct: (input: {
7
+ readonly seed: RepositoryTaskSeedV1;
8
+ readonly family: RepositoryTaskFamilyV1;
9
+ }) => Effect.Effect<RepositoryCandidateVisibleTaskV1>;
10
+ };
11
+ declare const TaskSpecification_base: Context.ServiceClass<TaskSpecification, "@velum-labs/routekit-eval-setup/TaskSpecification", TaskSpecificationShape>;
12
+ export declare class TaskSpecification extends TaskSpecification_base {
13
+ }
14
+ export declare const constructRepositoryAgentTaskV1: (input: {
15
+ readonly seed: RepositoryTaskSeedV1;
16
+ readonly family: RepositoryTaskFamilyV1;
17
+ }) => Effect.Effect<{
18
+ lane: "repository-agent";
19
+ id: string;
20
+ requestText: string;
21
+ checkoutCommit: string;
22
+ allowedTools: ("test" | "read" | "search" | "edit" | "shell")[];
23
+ constraints: string[];
24
+ }, never, never>;
25
+ export declare const makeTaskSpecification: Effect.Effect<TaskSpecificationShape, never, never>;
26
+ export declare const TaskSpecificationLive: Layer.Layer<TaskSpecification, never, never>;
27
+ export {};
@@ -0,0 +1,40 @@
1
+ import { Context, Effect, Layer } from "effect";
2
+ const visiblePaths = (seed) => [
3
+ ...new Set(seed.capabilityEvidence
4
+ .map((evidence) => evidence.path)
5
+ .filter((path) => path !== undefined))
6
+ ];
7
+ export class TaskSpecification extends Context.Service()("@velum-labs/routekit-eval-setup/TaskSpecification") {
8
+ }
9
+ export const constructRepositoryAgentTaskV1 = Effect.fn("TaskSpecification.construct")(function* (input) {
10
+ const paths = visiblePaths(input.seed);
11
+ const scope = paths.length === 0
12
+ ? ""
13
+ : ` The observed regression involves ${paths
14
+ .slice(0, 6)
15
+ .map((path) => `\`${path}\``)
16
+ .join(", ")}.`;
17
+ return {
18
+ lane: "repository-agent",
19
+ id: `case-${input.seed.id}`,
20
+ requestText: [
21
+ input.seed.summary.endsWith(".")
22
+ ? input.seed.summary
23
+ : `${input.seed.summary}.`,
24
+ scope.trim(),
25
+ "Repair the underlying production behavior in the supplied checkout.",
26
+ "Preserve unrelated behavior and the repository's public contracts.",
27
+ "Use the repository's normal tests to verify the change."
28
+ ]
29
+ .filter(Boolean)
30
+ .join(" "),
31
+ checkoutCommit: input.seed.initialState.commit,
32
+ allowedTools: ["read", "search", "edit", "shell", "test"],
33
+ constraints: [
34
+ "Do not weaken or delete existing tests to make the task pass.",
35
+ "Do not change unrelated public behavior."
36
+ ]
37
+ };
38
+ });
39
+ export const makeTaskSpecification = Effect.succeed(TaskSpecification.of({ construct: constructRepositoryAgentTaskV1 }));
40
+ export const TaskSpecificationLive = Layer.effect(TaskSpecification, makeTaskSpecification);
@@ -0,0 +1,110 @@
1
+ import { Context, Effect, Layer, Schema } from "effect";
2
+ import { RepositoryFoundryError } from "../../errors.js";
3
+ import type { RepositoryCandidateVisibleTaskV1 } from "../../repository-benchmark-protocol.js";
4
+ import type { RepositoryFoundryModelCallV1, RepositoryFoundryModelPlanV1 } from "../../repository-language-model-protocol.js";
5
+ import type { RepositoryTaskSeedV1 } from "../../repository-task-seed-protocol.js";
6
+ import { type RepositoryTrajectoryPolicyV1 } from "../../repository-trajectory-protocol.js";
7
+ import { RepositoryFoundryLanguageModel } from "../language-model/service.js";
8
+ declare const TrajectoryPolicyReview: Schema.Struct<{
9
+ readonly verdict: Schema.Literals<readonly ["approve", "reject"]>;
10
+ readonly detail: Schema.String;
11
+ readonly unverifiableRequirements: Schema.$Array<Schema.String>;
12
+ readonly styleBiases: Schema.$Array<Schema.String>;
13
+ }>;
14
+ export type RepositoryTrajectoryPolicyReviewV1 = typeof TrajectoryPolicyReview.Type;
15
+ declare const TrajectoryPolicyProposal: Schema.Struct<{
16
+ readonly thresholds: Schema.Struct<{
17
+ readonly maximumToolCalls: Schema.Int;
18
+ readonly maximumFailedToolCalls: Schema.Int;
19
+ readonly maximumRepeatedFailedActions: Schema.Int;
20
+ }>;
21
+ readonly rationale: Schema.String;
22
+ }>;
23
+ export type RepositoryTrajectoryPolicyProposalV1 = typeof TrajectoryPolicyProposal.Type;
24
+ export type RepositoryTrajectoryRevisionAttemptV1 = {
25
+ readonly sequence: number;
26
+ readonly beforePolicy: RepositoryTrajectoryPolicyV1;
27
+ readonly beforeReview: RepositoryTrajectoryPolicyReviewV1;
28
+ readonly proposal: RepositoryTrajectoryPolicyProposalV1;
29
+ readonly candidatePolicy: RepositoryTrajectoryPolicyV1;
30
+ readonly candidateReview: RepositoryTrajectoryPolicyReviewV1;
31
+ readonly decision: "accepted" | "rejected";
32
+ };
33
+ export type RepositoryTrajectoryAuthoringResultV1 = {
34
+ readonly version: 1;
35
+ readonly policy: RepositoryTrajectoryPolicyV1;
36
+ readonly review: RepositoryTrajectoryPolicyReviewV1;
37
+ readonly revisionAttempts: readonly RepositoryTrajectoryRevisionAttemptV1[];
38
+ readonly modelCalls: readonly RepositoryFoundryModelCallV1[];
39
+ };
40
+ export type TrajectoryPolicyShape = {
41
+ readonly authorReviewed: (input: {
42
+ readonly operationId: string;
43
+ readonly caseId: string;
44
+ readonly visible: RepositoryCandidateVisibleTaskV1;
45
+ readonly targetBehavior: RepositoryTaskSeedV1["targetBehavior"];
46
+ readonly reviewedImplementationPathCount: number;
47
+ readonly validationRecipeIds: readonly string[];
48
+ readonly protectedPaths: readonly string[];
49
+ readonly reviewedCommands: readonly {
50
+ readonly id: string;
51
+ readonly kind: string;
52
+ readonly timeoutMs: number;
53
+ }[];
54
+ readonly modelPlan: RepositoryFoundryModelPlanV1;
55
+ }) => Effect.Effect<RepositoryTrajectoryAuthoringResultV1, RepositoryFoundryError>;
56
+ };
57
+ declare const TrajectoryPolicy_base: Context.ServiceClass<TrajectoryPolicy, "@velum-labs/routekit-eval-setup/TrajectoryPolicy", TrajectoryPolicyShape>;
58
+ export declare class TrajectoryPolicy extends TrajectoryPolicy_base {
59
+ }
60
+ export declare const authorReviewedRepositoryTrajectoryPolicyV1: (input: {
61
+ readonly operationId: string;
62
+ readonly caseId: string;
63
+ readonly visible: RepositoryCandidateVisibleTaskV1;
64
+ readonly targetBehavior: RepositoryTaskSeedV1["targetBehavior"];
65
+ readonly reviewedImplementationPathCount: number;
66
+ readonly validationRecipeIds: readonly string[];
67
+ readonly protectedPaths: readonly string[];
68
+ readonly reviewedCommands: readonly {
69
+ readonly id: string;
70
+ readonly kind: string;
71
+ readonly timeoutMs: number;
72
+ }[];
73
+ readonly modelPlan: RepositoryFoundryModelPlanV1;
74
+ }) => Effect.Effect<{
75
+ version: 1;
76
+ policy: {
77
+ readonly version: 1;
78
+ readonly caseId: string;
79
+ readonly purpose: "routing-signal";
80
+ readonly validationRecipeIds: readonly string[];
81
+ readonly protectedPaths: readonly string[];
82
+ readonly thresholds: {
83
+ readonly maximumToolCalls: number;
84
+ readonly maximumFailedToolCalls: number;
85
+ readonly maximumRepeatedFailedActions: number;
86
+ };
87
+ readonly requirements: {
88
+ readonly passingValidationAfterLastMutation: boolean;
89
+ readonly noProtectedPathMutations: boolean;
90
+ };
91
+ readonly rationale: string;
92
+ };
93
+ review: {
94
+ readonly verdict: "approve" | "reject";
95
+ readonly detail: string;
96
+ readonly unverifiableRequirements: readonly string[];
97
+ readonly styleBiases: readonly string[];
98
+ };
99
+ revisionAttempts: RepositoryTrajectoryRevisionAttemptV1[];
100
+ modelCalls: {
101
+ readonly reasoningEffort: "high" | "medium" | "low" | "xhigh" | "max" | "ultra";
102
+ readonly role: "oracle-critic" | "repository-analyst" | "specification-writer" | "specification-critic-a" | "specification-critic-b" | "trajectory-designer" | "trajectory-critic" | "oracle-designer" | "valid-solution-generator-a" | "valid-solution-generator-b" | "adversary" | "solution-critic-a" | "solution-critic-b" | "held-out-adversary" | "held-out-solution-critic-a" | "held-out-solution-critic-b" | "quality-reviewer" | "hill-climb-planner";
103
+ readonly model: string;
104
+ readonly operationId: string;
105
+ readonly callId?: string | undefined;
106
+ }[];
107
+ }, RepositoryFoundryError, RepositoryFoundryLanguageModel>;
108
+ export declare const makeTrajectoryPolicy: Effect.Effect<TrajectoryPolicyShape, never, RepositoryFoundryLanguageModel>;
109
+ export declare const TrajectoryPolicyLive: Layer.Layer<TrajectoryPolicy, never, RepositoryFoundryLanguageModel>;
110
+ export {};
@@ -0,0 +1,216 @@
1
+ import { Context, Effect, Layer, Schema } from "effect";
2
+ import { RepositoryFoundryError } from "../../errors.js";
3
+ import { repositoryFoundryRoleOutputCeilingV1 } from "../../repository-foundry-plan-protocol.js";
4
+ import { REPOSITORY_FOUNDRY_TRAJECTORY_REPAIR_ATTEMPTS } from "../../repository-foundry-plan-protocol.js";
5
+ import { assertRepositoryTrajectoryPolicyV1 } from "../../repository-trajectory-protocol.js";
6
+ import { RepositoryFoundryLanguageModel } from "../language-model/service.js";
7
+ const TrajectoryPolicyReview = Schema.Struct({
8
+ verdict: Schema.Literals(["approve", "reject"]),
9
+ detail: Schema.String,
10
+ unverifiableRequirements: Schema.Array(Schema.String),
11
+ styleBiases: Schema.Array(Schema.String)
12
+ });
13
+ const TrajectoryPolicyProposal = Schema.Struct({
14
+ thresholds: Schema.Struct({
15
+ maximumToolCalls: Schema.Int,
16
+ maximumFailedToolCalls: Schema.Int,
17
+ maximumRepeatedFailedActions: Schema.Int
18
+ }),
19
+ rationale: Schema.String
20
+ });
21
+ export class TrajectoryPolicy extends Context.Service()("@velum-labs/routekit-eval-setup/TrajectoryPolicy") {
22
+ }
23
+ const DESIGN_INSTRUCTIONS = `You are the trajectory-policy designer in a repository coding benchmark foundry.
24
+ Define bounded, task-appropriate tool-use thresholds for routing evidence. The policy is a routing signal, never
25
+ a replacement for executable final-patch correctness. Require a passing reviewed validation after the last
26
+ observed repository mutation and prohibit mutations to protected harness controls. Reviewed shell/test tools
27
+ invoke immutable recipe IDs rather than arbitrary candidate-supplied shell text; every edit, shell, and test
28
+ event records before/after working-tree state and changed paths. Visible repository tests are not protected
29
+ merely because they are tests: independently applied hidden overlays and deterministic grading judge the final
30
+ behavior. Allow reasonable exploration, debugging, recovery, and regression-test additions; do not prescribe
31
+ an exact file-reading order, implementation strategy, edit count, number of reasoning steps, or imitation of
32
+ the historical solution. The engine binds exact validation recipes and protected paths deterministically;
33
+ propose only total-call and failure-related routing ceilings plus a non-normative rationale for those numbers.
34
+ Use at least 16 total calls, 4 failed calls, and 2 repeated identical failed actions as lower bounds so normal
35
+ debugging is not rejected. Return only the requested structured object.`;
36
+ const CRITIC_INSTRUCTIONS = `You are an independent trajectory-policy critic in a repository coding benchmark
37
+ foundry. Reject policies that reward a particular implementation style, require an exact tool order, penalize
38
+ reasonable debugging, rely on hidden information, use unverifiable requirements, or substitute process signals
39
+ for final-patch correctness. Approve only when every normative requirement is mechanically observable from the
40
+ bounded tool trace, command mutation evidence, exact recipe/path bindings, and supplied measurement semantics,
41
+ and the soft ceilings are proportionate to the visible repository task. The rationale may explain numeric
42
+ headroom but is not itself an additional requirement; reject it only when it attempts to add a normative rule
43
+ or reveals a style preference. Reviewed shell/test events invoke immutable recipe IDs, not arbitrary command
44
+ text. Visible tests are editable and are independently restored or overlaid for hidden final grading. Reject
45
+ edit-count ceilings or any equivalent tool-style preference. Do not rewrite the policy. Return only the
46
+ requested structured review.`;
47
+ const REPAIR_INSTRUCTIONS = `You are the GPT-5.6 Sol trajectory-policy repair role in a repository coding
48
+ benchmark foundry. An independent critic rejected the first proposal. Produce one complete replacement proposal
49
+ that resolves every cited unverifiable requirement and style bias without weakening the two compiler-owned hard
50
+ requirements: passing reviewed validation after the last mutation and no protected harness path mutations. The
51
+ model controls only the three soft numeric ceilings. Its rationale is advisory generation evidence: the compiler
52
+ publishes a separate non-normative policy rationale, so do not attempt to add requirements through this field.
53
+ Explain only why the numeric headroom is proportionate; do not create rules about test legitimacy, implementation
54
+ strategy, file order, edit count, reasoning, style, or intent. Visible repository tests are editable;
55
+ independently restored hidden overlays and deterministic final-patch grading establish correctness. Resolve all
56
+ supplied prior critiques, keep reasonable debugging headroom, and return only the requested structured object.`;
57
+ const failure = (detail, cause) => new RepositoryFoundryError({
58
+ operation: "compile-reviewed-case",
59
+ detail,
60
+ ...(cause === undefined ? {} : { cause })
61
+ });
62
+ const reviewRejected = (review) => review.verdict !== "approve" ||
63
+ review.unverifiableRequirements.length > 0 ||
64
+ review.styleBiases.length > 0;
65
+ const detailOf = (cause) => cause instanceof Error && cause.message.trim().length > 0 ? cause.message : String(cause);
66
+ export const authorReviewedRepositoryTrajectoryPolicyV1 = Effect.fn("TrajectoryPolicy.authorReviewed")(function* (input) {
67
+ const languageModel = yield* RepositoryFoundryLanguageModel;
68
+ const policyFrom = (proposal) => ({
69
+ version: 1,
70
+ caseId: input.caseId,
71
+ purpose: "routing-signal",
72
+ validationRecipeIds: input.validationRecipeIds,
73
+ protectedPaths: input.protectedPaths,
74
+ thresholds: proposal.thresholds,
75
+ requirements: {
76
+ passingValidationAfterLastMutation: true,
77
+ noProtectedPathMutations: true
78
+ },
79
+ rationale: [
80
+ `The GPT-5.6 trajectory designer selected soft ceilings of ${proposal.thresholds.maximumToolCalls} total tool calls,`,
81
+ `${proposal.thresholds.maximumFailedToolCalls} failed calls, and ${proposal.thresholds.maximumRepeatedFailedActions} repeated identical failed actions`,
82
+ `for a task spanning ${input.reviewedImplementationPathCount} reviewed implementation paths and ${input.validationRecipeIds.length} reviewed validation recipes.`,
83
+ "These routing signals allow exploration and debugging but never override executable final-patch correctness."
84
+ ].join(" ")
85
+ });
86
+ const measurementSemantics = {
87
+ toolCall: "one recorded bounded read, search, edit, shell, or test event",
88
+ failedToolCall: "a recorded event whose outcome is fail",
89
+ repeatedFailedAction: "each failed event after the first failure with the identical tool and input",
90
+ reviewedCommand: "a shell or test event invokes one immutable reviewed recipe ID; the candidate does not supply arbitrary shell text",
91
+ repositoryMutation: "an edit, shell, or test event whose recorded before and after repository-state digests differ; changedPaths identifies the changed versionable or protected paths",
92
+ passingValidationAfterLastMutation: "a passing, non-mutating shell or test event after the final observed mutation whose input is one of policy.validationRecipeIds",
93
+ protectedPathMutation: "a direct edit targeting policy.protectedPaths or an edit, shell, or test event whose changedPaths includes one",
94
+ visibleTestTreatment: "ordinary visible tests are editable and independently restored or overlaid for hidden final grading",
95
+ correctnessSeparation: "trajectory signals are routing-only and never override hidden final-patch correctness",
96
+ rationale: "policy.rationale explains numeric headroom but is not an additional normative requirement"
97
+ };
98
+ const reviewInput = (policy) => ({
99
+ visible: input.visible,
100
+ targetBehavior: input.targetBehavior,
101
+ allowedTools: input.visible.lane === "repository-agent" ? input.visible.allowedTools : [],
102
+ reviewedCommandIds: input.reviewedCommands.map((recipe) => recipe.id),
103
+ measurementSemantics,
104
+ policy
105
+ });
106
+ const initial = yield* languageModel.generateStructured({
107
+ plan: input.modelPlan,
108
+ role: "trajectory-designer",
109
+ operationId: `${input.operationId}:trajectory-designer`,
110
+ instructions: DESIGN_INSTRUCTIONS,
111
+ input: {
112
+ visible: input.visible,
113
+ targetBehavior: input.targetBehavior,
114
+ reviewedImplementationPathCount: input.reviewedImplementationPathCount,
115
+ protectedPathCount: input.protectedPaths.length,
116
+ reviewedCommands: input.reviewedCommands
117
+ },
118
+ schemaName: "routekit_repository_trajectory_policy_proposal_v1",
119
+ outputSchema: TrajectoryPolicyProposal,
120
+ maximumOutputTokens: repositoryFoundryRoleOutputCeilingV1("trajectory-designer")
121
+ });
122
+ let policy = policyFrom(initial.value);
123
+ let review = yield* languageModel.generateStructured({
124
+ plan: input.modelPlan,
125
+ role: "trajectory-critic",
126
+ operationId: `${input.operationId}:trajectory-critic`,
127
+ instructions: CRITIC_INSTRUCTIONS,
128
+ input: reviewInput(policy),
129
+ schemaName: "routekit_repository_trajectory_policy_review_v1",
130
+ outputSchema: TrajectoryPolicyReview,
131
+ maximumOutputTokens: repositoryFoundryRoleOutputCeilingV1("trajectory-critic")
132
+ });
133
+ const modelCalls = [initial.call, review.call];
134
+ const revisionAttempts = [];
135
+ for (let sequence = 1; reviewRejected(review.value) &&
136
+ sequence <= REPOSITORY_FOUNDRY_TRAJECTORY_REPAIR_ATTEMPTS; sequence += 1) {
137
+ const beforePolicy = policy;
138
+ const beforeReview = review.value;
139
+ const revision = yield* languageModel.generateStructured({
140
+ plan: input.modelPlan,
141
+ role: "trajectory-designer",
142
+ operationId: `${input.operationId}:trajectory-designer:repair-${sequence}`,
143
+ instructions: REPAIR_INSTRUCTIONS,
144
+ input: {
145
+ visible: input.visible,
146
+ targetBehavior: input.targetBehavior,
147
+ measurementSemantics,
148
+ beforePolicy,
149
+ independentCritique: beforeReview,
150
+ priorRejectedAttempts: revisionAttempts.map((attempt) => ({
151
+ sequence: attempt.sequence,
152
+ proposal: attempt.proposal,
153
+ independentCritique: attempt.candidateReview
154
+ }))
155
+ },
156
+ schemaName: "routekit_repository_trajectory_policy_proposal_v1",
157
+ outputSchema: TrajectoryPolicyProposal,
158
+ maximumOutputTokens: repositoryFoundryRoleOutputCeilingV1("trajectory-designer")
159
+ });
160
+ const candidatePolicy = policyFrom(revision.value);
161
+ const candidateReview = yield* languageModel.generateStructured({
162
+ plan: input.modelPlan,
163
+ role: "trajectory-critic",
164
+ operationId: `${input.operationId}:trajectory-critic:repair-${sequence}`,
165
+ instructions: CRITIC_INSTRUCTIONS,
166
+ input: reviewInput(candidatePolicy),
167
+ schemaName: "routekit_repository_trajectory_policy_review_v1",
168
+ outputSchema: TrajectoryPolicyReview,
169
+ maximumOutputTokens: repositoryFoundryRoleOutputCeilingV1("trajectory-critic")
170
+ });
171
+ modelCalls.push(revision.call, candidateReview.call);
172
+ const accepted = !reviewRejected(candidateReview.value);
173
+ revisionAttempts.push({
174
+ sequence,
175
+ beforePolicy,
176
+ beforeReview,
177
+ proposal: revision.value,
178
+ candidatePolicy,
179
+ candidateReview: candidateReview.value,
180
+ decision: accepted ? "accepted" : "rejected"
181
+ });
182
+ policy = candidatePolicy;
183
+ review = candidateReview;
184
+ }
185
+ yield* Effect.try({
186
+ try: () => {
187
+ assertRepositoryTrajectoryPolicyV1(policy);
188
+ if (policy.caseId !== input.caseId) {
189
+ throw new Error("trajectory policy case id does not match the generated case");
190
+ }
191
+ if (reviewRejected(review.value)) {
192
+ throw new Error([
193
+ "independent trajectory-policy review rejected the generated policy",
194
+ review.value.detail,
195
+ ...review.value.unverifiableRequirements.map((requirement) => `unverifiable=${requirement}`),
196
+ ...review.value.styleBiases.map((bias) => `style-bias=${bias}`)
197
+ ].join("; "));
198
+ }
199
+ },
200
+ catch: (cause) => failure(`trajectory policy failed validation: ${detailOf(cause)}`, cause)
201
+ });
202
+ return {
203
+ version: 1,
204
+ policy,
205
+ review: review.value,
206
+ revisionAttempts,
207
+ modelCalls
208
+ };
209
+ });
210
+ export const makeTrajectoryPolicy = Effect.gen(function* () {
211
+ const languageModel = yield* RepositoryFoundryLanguageModel;
212
+ return TrajectoryPolicy.of({
213
+ authorReviewed: (input) => authorReviewedRepositoryTrajectoryPolicyV1(input).pipe(Effect.provideService(RepositoryFoundryLanguageModel, languageModel))
214
+ });
215
+ });
216
+ export const TrajectoryPolicyLive = Layer.effect(TrajectoryPolicy, makeTrajectoryPolicy);
@@ -0,0 +1 @@
1
+ export {};