@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.
- package/dist/adapters/authoring-responses-request.d.ts +5 -0
- package/dist/adapters/authoring-responses-request.js +38 -0
- package/dist/adapters/evaluation-evidence-freshness.d.ts +7 -0
- package/dist/adapters/evaluation-evidence-freshness.js +76 -0
- package/dist/adapters/git-task-history.d.ts +67 -0
- package/dist/adapters/git-task-history.js +171 -0
- package/dist/adapters/integrated-repository-history.d.ts +21 -0
- package/dist/adapters/integrated-repository-history.js +175 -0
- package/dist/adapters/repository-command-diagnostic.d.ts +8 -0
- package/dist/adapters/repository-command-diagnostic.js +46 -0
- package/dist/adapters/repository-command-evidence.d.ts +13 -0
- package/dist/adapters/repository-command-evidence.js +102 -0
- package/dist/adapters/repository-command-runner.d.ts +238 -0
- package/dist/adapters/repository-command-runner.js +1483 -0
- package/dist/adapters/repository-import-context.d.ts +47 -0
- package/dist/adapters/repository-import-context.js +469 -0
- package/dist/adapters/repository-node-test-reporter.d.ts +3 -0
- package/dist/adapters/repository-node-test-reporter.js +27 -0
- package/dist/adapters/repository-review-evidence.d.ts +39 -0
- package/dist/adapters/repository-review-evidence.js +632 -0
- package/dist/adapters/repository-seed-selection.d.ts +7 -0
- package/dist/adapters/repository-seed-selection.js +79 -0
- package/dist/adapters/repository-solution-edits.d.ts +49 -0
- package/dist/adapters/repository-solution-edits.js +136 -0
- package/dist/adapters/repository-vitest-phase-adapter.d.ts +8 -0
- package/dist/adapters/repository-vitest-phase-adapter.js +310 -0
- package/dist/adapters/repository-vitest-reporter.d.ts +24 -0
- package/dist/adapters/repository-vitest-reporter.js +314 -0
- package/dist/adapters/strict-authoring-schema.d.ts +5 -0
- package/dist/adapters/strict-authoring-schema.js +158 -0
- package/dist/adapters/test-discovery.d.ts +30 -0
- package/dist/adapters/test-discovery.js +124 -0
- package/dist/adapters/typescript-repository-index.d.ts +51 -0
- package/dist/adapters/typescript-repository-index.js +226 -0
- package/dist/agentic-capabilities-protocol.d.ts +1373 -0
- package/dist/agentic-capabilities-protocol.js +786 -0
- package/dist/case-checkpoint-store.d.ts +29 -0
- package/dist/case-checkpoint-store.js +133 -0
- package/dist/case-pipeline-protocol-v2.d.ts +184 -0
- package/dist/case-pipeline-protocol-v2.js +193 -0
- package/dist/case-pipeline-protocol.d.ts +2626 -0
- package/dist/case-pipeline-protocol.js +371 -0
- package/dist/effect-api.d.ts +74 -10
- package/dist/effect-api.js +56 -6
- package/dist/errors.d.ts +31 -0
- package/dist/errors.js +10 -0
- package/dist/eval-capability-execution-envelope.d.ts +64 -0
- package/dist/eval-capability-execution-envelope.js +98 -0
- package/dist/eval-capability-policy.d.ts +90 -0
- package/dist/eval-capability-policy.js +107 -0
- package/dist/eval-event-log.d.ts +140 -0
- package/dist/eval-event-log.js +220 -0
- package/dist/evaluation-authoring-policy.d.ts +18 -0
- package/dist/evaluation-authoring-policy.js +19 -0
- package/dist/evaluation-authoring-validation.d.ts +22 -0
- package/dist/evaluation-authoring-validation.js +72 -0
- package/dist/evaluation-evidence.d.ts +20 -0
- package/dist/evaluation-evidence.js +319 -0
- package/dist/evaluation-grader-calibration-protocol.d.ts +108 -0
- package/dist/evaluation-grader-calibration-protocol.js +80 -0
- package/dist/evaluation-grader-calibration.d.ts +18 -0
- package/dist/evaluation-grader-calibration.js +334 -0
- package/dist/evaluation-grading-policy.d.ts +24 -0
- package/dist/evaluation-grading-policy.js +54 -0
- package/dist/evaluation-proposal-policy.d.ts +4 -0
- package/dist/evaluation-proposal-policy.js +91 -0
- package/dist/evaluation-source-retrieval.d.ts +68 -0
- package/dist/evaluation-source-retrieval.js +513 -0
- package/dist/evaluation-structure-policy.d.ts +29 -0
- package/dist/evaluation-structure-policy.js +138 -0
- package/dist/index.d.ts +124 -17
- package/dist/index.js +69 -11
- package/dist/inspection.js +2 -3
- package/dist/project-artifacts.d.ts +7 -2
- package/dist/project-artifacts.js +49 -136
- package/dist/project-authoring.d.ts +66 -5
- package/dist/project-authoring.js +783 -109
- package/dist/project-contracts.d.ts +419 -84
- package/dist/project-contracts.js +160 -52
- package/dist/project-store.js +2 -1
- package/dist/project-workflow.d.ts +5 -4
- package/dist/project-workflow.js +154 -35
- package/dist/repository-adversary-protocol.d.ts +64 -0
- package/dist/repository-adversary-protocol.js +105 -0
- package/dist/repository-behavior-protocol.d.ts +188 -0
- package/dist/repository-behavior-protocol.js +202 -0
- package/dist/repository-benchmark-protocol.d.ts +487 -0
- package/dist/repository-benchmark-protocol.js +96 -0
- package/dist/repository-execution-protocol.d.ts +150 -0
- package/dist/repository-execution-protocol.js +38 -0
- package/dist/repository-fixture-instructions.d.ts +3 -0
- package/dist/repository-fixture-instructions.js +91 -0
- package/dist/repository-fixture-protocol.d.ts +79 -0
- package/dist/repository-fixture-protocol.js +79 -0
- package/dist/repository-foundry-plan-protocol.d.ts +118 -0
- package/dist/repository-foundry-plan-protocol.js +296 -0
- package/dist/repository-foundry-progress-protocol.d.ts +52 -0
- package/dist/repository-foundry-progress-protocol.js +52 -0
- package/dist/repository-improvement-protocol.d.ts +100 -0
- package/dist/repository-improvement-protocol.js +106 -0
- package/dist/repository-language-model-protocol.d.ts +43 -0
- package/dist/repository-language-model-protocol.js +146 -0
- package/dist/repository-oracle-coverage-protocol.d.ts +18 -0
- package/dist/repository-oracle-coverage-protocol.js +39 -0
- package/dist/repository-oracle-execution-binding.d.ts +27 -0
- package/dist/repository-oracle-execution-binding.js +59 -0
- package/dist/repository-oracle-protocol.d.ts +230 -0
- package/dist/repository-oracle-protocol.js +156 -0
- package/dist/repository-oracle-scope-policy.d.ts +22 -0
- package/dist/repository-oracle-scope-policy.js +92 -0
- package/dist/repository-quality-policy.d.ts +15 -0
- package/dist/repository-quality-policy.js +357 -0
- package/dist/repository-routing-benchmark-protocol.d.ts +176 -0
- package/dist/repository-routing-benchmark-protocol.js +103 -0
- package/dist/repository-routing-model-protocol.d.ts +36 -0
- package/dist/repository-routing-model-protocol.js +89 -0
- package/dist/repository-routing-plan-protocol.d.ts +112 -0
- package/dist/repository-routing-plan-protocol.js +58 -0
- package/dist/repository-routing-quality-policy.d.ts +9 -0
- package/dist/repository-routing-quality-policy.js +191 -0
- package/dist/repository-seed-qualification-progress-protocol.d.ts +205 -0
- package/dist/repository-seed-qualification-progress-protocol.js +28 -0
- package/dist/repository-semantic-calibration-protocol.d.ts +768 -0
- package/dist/repository-semantic-calibration-protocol.js +276 -0
- package/dist/repository-semantic-calibration.d.ts +163 -0
- package/dist/repository-semantic-calibration.js +581 -0
- package/dist/repository-specification-contract-facts-protocol.d.ts +224 -0
- package/dist/repository-specification-contract-facts-protocol.js +276 -0
- package/dist/repository-specification-critique-protocol.d.ts +189 -0
- package/dist/repository-specification-critique-protocol.js +103 -0
- package/dist/repository-task-family-protocol.d.ts +24 -0
- package/dist/repository-task-family-protocol.js +37 -0
- package/dist/repository-task-seed-protocol.d.ts +384 -0
- package/dist/repository-task-seed-protocol.js +236 -0
- package/dist/repository-trajectory-protocol.d.ts +20 -0
- package/dist/repository-trajectory-protocol.js +42 -0
- package/dist/service.js +1 -1
- package/dist/services/adversary/service.d.ts +64 -0
- package/dist/services/adversary/service.js +330 -0
- package/dist/services/benchmark-compiler/service.d.ts +450 -0
- package/dist/services/benchmark-compiler/service.js +9 -0
- package/dist/services/budgeted-model/service.d.ts +118 -0
- package/dist/services/budgeted-model/service.js +460 -0
- package/dist/services/case-authoring/service.d.ts +163 -0
- package/dist/services/case-authoring/service.js +1456 -0
- package/dist/services/case-finalization/service.d.ts +283 -0
- package/dist/services/case-finalization/service.js +370 -0
- package/dist/services/case-generation/service.d.ts +619 -0
- package/dist/services/case-generation/service.js +2628 -0
- package/dist/services/case-pipeline/service.d.ts +31 -0
- package/dist/services/case-pipeline/service.js +485 -0
- package/dist/services/case-pipeline-v2/service.d.ts +70 -0
- package/dist/services/case-pipeline-v2/service.js +477 -0
- package/dist/services/command-observability/service.d.ts +13 -0
- package/dist/services/command-observability/service.js +3 -0
- package/dist/services/dimension-labeling/service.d.ts +77 -0
- package/dist/services/dimension-labeling/service.js +188 -0
- package/dist/services/eval-candidate/service.d.ts +208 -0
- package/dist/services/eval-candidate/service.js +64 -0
- package/dist/services/eval-capabilities/service.d.ts +183 -0
- package/dist/services/eval-capabilities/service.js +1433 -0
- package/dist/services/eval-environment/service.d.ts +173 -0
- package/dist/services/eval-environment/service.js +127 -0
- package/dist/services/evidence-reconstruction/service.d.ts +36 -0
- package/dist/services/evidence-reconstruction/service.js +145 -0
- package/dist/services/fixture-builder/service.d.ts +62 -0
- package/dist/services/fixture-builder/service.js +36 -0
- package/dist/services/fixture-validation/service.d.ts +75 -0
- package/dist/services/fixture-validation/service.js +295 -0
- package/dist/services/foundry/service.d.ts +831 -0
- package/dist/services/foundry/service.js +442 -0
- package/dist/services/foundry-progress/service.d.ts +62 -0
- package/dist/services/foundry-progress/service.js +149 -0
- package/dist/services/foundry-v2/service.d.ts +54 -0
- package/dist/services/foundry-v2/service.js +28 -0
- package/dist/services/grounded-authoring/service.d.ts +126 -0
- package/dist/services/grounded-authoring/service.js +822 -0
- package/dist/services/historical-case/service.d.ts +722 -0
- package/dist/services/historical-case/service.js +177 -0
- package/dist/services/improvement-loop/service.d.ts +59 -0
- package/dist/services/improvement-loop/service.js +176 -0
- package/dist/services/language-model/service.d.ts +52 -0
- package/dist/services/language-model/service.js +194 -0
- package/dist/services/oracle-builder/service.d.ts +146 -0
- package/dist/services/oracle-builder/service.js +513 -0
- package/dist/services/oracle-coverage/service.d.ts +28 -0
- package/dist/services/oracle-coverage/service.js +50 -0
- package/dist/services/oracle-coverage-witness/service.d.ts +130 -0
- package/dist/services/oracle-coverage-witness/service.js +538 -0
- package/dist/services/pipeline-challenge/service.d.ts +551 -0
- package/dist/services/pipeline-challenge/service.js +427 -0
- package/dist/services/pipeline-controls/service.d.ts +130 -0
- package/dist/services/pipeline-controls/service.js +483 -0
- package/dist/services/pipeline-oracle/service.d.ts +8 -0
- package/dist/services/pipeline-oracle/service.js +256 -0
- package/dist/services/pipeline-seed/service.d.ts +298 -0
- package/dist/services/pipeline-seed/service.js +428 -0
- package/dist/services/pipeline-spec/service.d.ts +103 -0
- package/dist/services/pipeline-spec/service.js +619 -0
- package/dist/services/pipeline-tournament/service.d.ts +258 -0
- package/dist/services/pipeline-tournament/service.js +476 -0
- package/dist/services/quality-gate/service.d.ts +233 -0
- package/dist/services/quality-gate/service.js +136 -0
- package/dist/services/repository-bundle/service.d.ts +33 -0
- package/dist/services/repository-bundle/service.js +114 -0
- package/dist/services/repository-model/service.d.ts +105 -0
- package/dist/services/repository-model/service.js +250 -0
- package/dist/services/repository-public-artifact/service.d.ts +133 -0
- package/dist/services/repository-public-artifact/service.js +330 -0
- package/dist/services/routing-benchmark/service.d.ts +362 -0
- package/dist/services/routing-benchmark/service.js +96 -0
- package/dist/services/specification-critic/service.d.ts +92 -0
- package/dist/services/specification-critic/service.js +172 -0
- package/dist/services/task-family/service.d.ts +40 -0
- package/dist/services/task-family/service.js +55 -0
- package/dist/services/task-seed/service.d.ts +906 -0
- package/dist/services/task-seed/service.js +1406 -0
- package/dist/services/task-specification/service.d.ts +27 -0
- package/dist/services/task-specification/service.js +40 -0
- package/dist/services/trajectory-policy/service.d.ts +110 -0
- package/dist/services/trajectory-policy/service.js +216 -0
- package/dist/test/agentic-capabilities-protocol.test.d.ts +1 -0
- package/dist/test/agentic-capabilities-protocol.test.js +570 -0
- package/dist/test/agentic-capabilities.test.d.ts +1 -0
- package/dist/test/agentic-capabilities.test.js +1461 -0
- package/dist/test/agentic-environment.test.d.ts +1 -0
- package/dist/test/agentic-environment.test.js +213 -0
- package/dist/test/case-pipeline-foundation.test.d.ts +1 -0
- package/dist/test/case-pipeline-foundation.test.js +535 -0
- package/dist/test/case-pipeline-protocol-v2.test.d.ts +1 -0
- package/dist/test/case-pipeline-protocol-v2.test.js +124 -0
- package/dist/test/case-pipeline-v2.test.d.ts +1 -0
- package/dist/test/case-pipeline-v2.test.js +286 -0
- package/dist/test/case-pipeline.test.d.ts +1 -0
- package/dist/test/case-pipeline.test.js +851 -0
- package/dist/test/eval-capability-policy.test.d.ts +1 -0
- package/dist/test/eval-capability-policy.test.js +50 -0
- package/dist/test/eval-event-log.test.d.ts +1 -0
- package/dist/test/eval-event-log.test.js +125 -0
- package/dist/test/evaluation-evidence-freshness.test.d.ts +1 -0
- package/dist/test/evaluation-evidence-freshness.test.js +44 -0
- package/dist/test/evaluation-evidence.test.d.ts +1 -0
- package/dist/test/evaluation-evidence.test.js +230 -0
- package/dist/test/evaluation-grader-calibration.test.d.ts +1 -0
- package/dist/test/evaluation-grader-calibration.test.js +373 -0
- package/dist/test/evaluation-proposal-digest.test.d.ts +1 -0
- package/dist/test/evaluation-proposal-digest.test.js +187 -0
- package/dist/test/evaluation-source-retrieval.test.d.ts +1 -0
- package/dist/test/evaluation-source-retrieval.test.js +237 -0
- package/dist/test/evaluation-structure-policy.test.d.ts +1 -0
- package/dist/test/evaluation-structure-policy.test.js +196 -0
- package/dist/test/fixtures/repository-resource-panel.d.ts +39 -0
- package/dist/test/fixtures/repository-resource-panel.js +111 -0
- package/dist/test/fixtures/vitest-boundary-panel.d.ts +84 -0
- package/dist/test/fixtures/vitest-boundary-panel.js +120 -0
- package/dist/test/fixtures/vitest-phase-panel.d.ts +135 -0
- package/dist/test/fixtures/vitest-phase-panel.js +213 -0
- package/dist/test/fixtures/vitest-reporter-results.d.ts +76 -0
- package/dist/test/fixtures/vitest-reporter-results.js +94 -0
- package/dist/test/grounded-authoring.test.d.ts +1 -0
- package/dist/test/grounded-authoring.test.js +565 -0
- package/dist/test/integrated-repository-history.test.d.ts +1 -0
- package/dist/test/integrated-repository-history.test.js +227 -0
- package/dist/test/project-authoring.test.js +593 -43
- package/dist/test/project-workflow.test.js +419 -40
- package/dist/test/repository-authoring-artifacts.test.d.ts +1 -0
- package/dist/test/repository-authoring-artifacts.test.js +185 -0
- package/dist/test/repository-bundle.test.d.ts +1 -0
- package/dist/test/repository-bundle.test.js +52 -0
- package/dist/test/repository-case-generation.test.d.ts +1 -0
- package/dist/test/repository-case-generation.test.js +3465 -0
- package/dist/test/repository-command-diagnostic.test.d.ts +1 -0
- package/dist/test/repository-command-diagnostic.test.js +55 -0
- package/dist/test/repository-command-signals.test.d.ts +1 -0
- package/dist/test/repository-command-signals.test.js +124 -0
- package/dist/test/repository-fixture-scope-coverage.test.d.ts +1 -0
- package/dist/test/repository-fixture-scope-coverage.test.js +127 -0
- package/dist/test/repository-fixture-validation.test.d.ts +1 -0
- package/dist/test/repository-fixture-validation.test.js +362 -0
- package/dist/test/repository-foundry-progress.test.d.ts +1 -0
- package/dist/test/repository-foundry-progress.test.js +110 -0
- package/dist/test/repository-foundry-quality.test.d.ts +1 -0
- package/dist/test/repository-foundry-quality.test.js +1138 -0
- package/dist/test/repository-import-context.test.d.ts +1 -0
- package/dist/test/repository-import-context.test.js +354 -0
- package/dist/test/repository-model-authoring.test.d.ts +1 -0
- package/dist/test/repository-model-authoring.test.js +544 -0
- package/dist/test/repository-model.test.d.ts +1 -0
- package/dist/test/repository-model.test.js +2195 -0
- package/dist/test/repository-node-test-reporter.test.d.ts +1 -0
- package/dist/test/repository-node-test-reporter.test.js +104 -0
- package/dist/test/repository-oracle-concurrency.test.d.ts +1 -0
- package/dist/test/repository-oracle-concurrency.test.js +542 -0
- package/dist/test/repository-oracle-coverage-witness.test.d.ts +1 -0
- package/dist/test/repository-oracle-coverage-witness.test.js +511 -0
- package/dist/test/repository-oracle-coverage.test.d.ts +1 -0
- package/dist/test/repository-oracle-coverage.test.js +168 -0
- package/dist/test/repository-oracle-evidence.test.d.ts +1 -0
- package/dist/test/repository-oracle-evidence.test.js +185 -0
- package/dist/test/repository-oracle-plan.test.d.ts +1 -0
- package/dist/test/repository-oracle-plan.test.js +176 -0
- package/dist/test/repository-overlay-isolation.test.d.ts +1 -0
- package/dist/test/repository-overlay-isolation.test.js +85 -0
- package/dist/test/repository-preparation-cache.test.d.ts +1 -0
- package/dist/test/repository-preparation-cache.test.js +414 -0
- package/dist/test/repository-public-artifact.test.d.ts +1 -0
- package/dist/test/repository-public-artifact.test.js +273 -0
- package/dist/test/repository-qualification-diagnostics.test.d.ts +1 -0
- package/dist/test/repository-qualification-diagnostics.test.js +524 -0
- package/dist/test/repository-reference-authoring.test.d.ts +1 -0
- package/dist/test/repository-reference-authoring.test.js +1633 -0
- package/dist/test/repository-review-evidence-v2.test.d.ts +1 -0
- package/dist/test/repository-review-evidence-v2.test.js +183 -0
- package/dist/test/repository-review-evidence.test.d.ts +1 -0
- package/dist/test/repository-review-evidence.test.js +124 -0
- package/dist/test/repository-seed-exclusions.test.d.ts +1 -0
- package/dist/test/repository-seed-exclusions.test.js +96 -0
- package/dist/test/repository-seed-selection.test.d.ts +1 -0
- package/dist/test/repository-seed-selection.test.js +504 -0
- package/dist/test/repository-semantic-calibration.test.d.ts +1 -0
- package/dist/test/repository-semantic-calibration.test.js +688 -0
- package/dist/test/repository-solution-edits.test.d.ts +1 -0
- package/dist/test/repository-solution-edits.test.js +377 -0
- package/dist/test/repository-specification-budget.test.d.ts +1 -0
- package/dist/test/repository-specification-budget.test.js +171 -0
- package/dist/test/repository-specification-contract-checkpoint.test.d.ts +1 -0
- package/dist/test/repository-specification-contract-checkpoint.test.js +228 -0
- package/dist/test/repository-specification-contract-facts.test.d.ts +1 -0
- package/dist/test/repository-specification-contract-facts.test.js +177 -0
- package/dist/test/repository-trajectory-authoring.test.d.ts +1 -0
- package/dist/test/repository-trajectory-authoring.test.js +176 -0
- package/dist/test/repository-valid-control-plan.test.d.ts +1 -0
- package/dist/test/repository-valid-control-plan.test.js +45 -0
- package/dist/test/repository-vitest-phase.test.d.ts +1 -0
- package/dist/test/repository-vitest-phase.test.js +848 -0
- package/dist/test/repository-vitest-reporter.test.d.ts +1 -0
- package/dist/test/repository-vitest-reporter.test.js +158 -0
- package/dist/test/repository-workspace-build.test.d.ts +1 -0
- package/dist/test/repository-workspace-build.test.js +160 -0
- package/dist/test/strict-authoring-schema.test.d.ts +1 -0
- package/dist/test/strict-authoring-schema.test.js +169 -0
- package/package.json +48 -6
|
@@ -0,0 +1,362 @@
|
|
|
1
|
+
import { type RoutingBasisV3 } from "@velum-labs/routekit-eval-contracts";
|
|
2
|
+
import { Context, Effect, Layer } from "effect";
|
|
3
|
+
import { RepositoryFoundryError } from "../../errors.js";
|
|
4
|
+
import type { RepositoryBenchmarkCaseV1 } from "../../repository-benchmark-protocol.js";
|
|
5
|
+
import { type RepositoryRoutingBenchmarkV1, type RepositoryRoutingEligibilityPolicyV1 } from "../../repository-routing-benchmark-protocol.js";
|
|
6
|
+
import { type RepositoryRoutingModelPlanV1 } from "../../repository-routing-model-protocol.js";
|
|
7
|
+
import { RepositoryRoutingLabelingPlanV1 } from "../../repository-routing-plan-protocol.js";
|
|
8
|
+
import { type RepositoryDimensionLabelingResultV1 } from "../dimension-labeling/service.js";
|
|
9
|
+
import { RepositoryFoundryLanguageModel } from "../language-model/service.js";
|
|
10
|
+
export type RepositoryRoutingLabelingExecutionResultV1 = {
|
|
11
|
+
readonly version: 1;
|
|
12
|
+
readonly plan: RepositoryRoutingLabelingPlanV1;
|
|
13
|
+
readonly labeling: RepositoryDimensionLabelingResultV1;
|
|
14
|
+
readonly routing: RepositoryRoutingBenchmarkV1;
|
|
15
|
+
};
|
|
16
|
+
export type RoutingBenchmarkShape = {
|
|
17
|
+
readonly planLabeling: (input: {
|
|
18
|
+
readonly foundryPlanDigest: string;
|
|
19
|
+
readonly benchmarkCase: RepositoryBenchmarkCaseV1;
|
|
20
|
+
readonly basis: RoutingBasisV3;
|
|
21
|
+
readonly modelPlan: RepositoryRoutingModelPlanV1;
|
|
22
|
+
readonly policy: RepositoryRoutingEligibilityPolicyV1;
|
|
23
|
+
}) => Effect.Effect<RepositoryRoutingLabelingPlanV1, RepositoryFoundryError>;
|
|
24
|
+
readonly executeLabeling: (input: {
|
|
25
|
+
readonly plan: RepositoryRoutingLabelingPlanV1;
|
|
26
|
+
readonly benchmarkCase: RepositoryBenchmarkCaseV1;
|
|
27
|
+
}) => Effect.Effect<RepositoryRoutingLabelingExecutionResultV1, RepositoryFoundryError>;
|
|
28
|
+
};
|
|
29
|
+
declare const RoutingBenchmark_base: Context.ServiceClass<RoutingBenchmark, "@velum-labs/routekit-eval-setup/RoutingBenchmark", RoutingBenchmarkShape>;
|
|
30
|
+
export declare class RoutingBenchmark extends RoutingBenchmark_base {
|
|
31
|
+
}
|
|
32
|
+
export declare const planRepositoryRoutingLabelingV1: (input: {
|
|
33
|
+
readonly foundryPlanDigest: string;
|
|
34
|
+
readonly benchmarkCase: RepositoryBenchmarkCaseV1;
|
|
35
|
+
readonly basis: RoutingBasisV3;
|
|
36
|
+
readonly modelPlan: RepositoryRoutingModelPlanV1;
|
|
37
|
+
readonly policy: RepositoryRoutingEligibilityPolicyV1;
|
|
38
|
+
}) => Effect.Effect<{
|
|
39
|
+
readonly version: 1;
|
|
40
|
+
readonly planDigest: string;
|
|
41
|
+
readonly foundryPlanDigest: string;
|
|
42
|
+
readonly caseId: string;
|
|
43
|
+
readonly behavioralFingerprint: string;
|
|
44
|
+
readonly basis: {
|
|
45
|
+
readonly version: 3;
|
|
46
|
+
readonly basisDigest: string;
|
|
47
|
+
readonly dimensions: readonly {
|
|
48
|
+
readonly id: string;
|
|
49
|
+
readonly name: string;
|
|
50
|
+
readonly description: string;
|
|
51
|
+
readonly inclusions: readonly string[];
|
|
52
|
+
readonly exclusions: readonly string[];
|
|
53
|
+
readonly confusableDimensionIds: readonly string[];
|
|
54
|
+
readonly boundaryRules: readonly string[];
|
|
55
|
+
readonly repositoryFacets: {
|
|
56
|
+
readonly componentIds: readonly string[];
|
|
57
|
+
readonly pathAnchors: readonly string[];
|
|
58
|
+
readonly symbolAnchors: readonly string[];
|
|
59
|
+
};
|
|
60
|
+
readonly positiveExamples: readonly string[];
|
|
61
|
+
readonly negativeExamples: readonly string[];
|
|
62
|
+
readonly codeSummaries: readonly string[];
|
|
63
|
+
readonly representativeSnippets: readonly string[];
|
|
64
|
+
}[];
|
|
65
|
+
readonly repositoryDigest: string;
|
|
66
|
+
readonly basisId: string;
|
|
67
|
+
readonly facetSnapshot: {
|
|
68
|
+
readonly repositoryId: string;
|
|
69
|
+
readonly repositoryDigest: string;
|
|
70
|
+
readonly name: string;
|
|
71
|
+
readonly purpose: string;
|
|
72
|
+
readonly languages: readonly string[];
|
|
73
|
+
readonly frameworks: readonly string[];
|
|
74
|
+
readonly components: readonly {
|
|
75
|
+
readonly id: string;
|
|
76
|
+
readonly name: string;
|
|
77
|
+
readonly purpose: string;
|
|
78
|
+
readonly paths: readonly string[];
|
|
79
|
+
}[];
|
|
80
|
+
};
|
|
81
|
+
readonly provenance: {
|
|
82
|
+
readonly recipeId: string;
|
|
83
|
+
readonly generatorVersion: string;
|
|
84
|
+
readonly sourceDigests: readonly string[];
|
|
85
|
+
readonly authorModel?: string | undefined;
|
|
86
|
+
readonly constructionTaskDigest?: string | undefined;
|
|
87
|
+
readonly origin?: {
|
|
88
|
+
readonly kind: "generated" | "incumbent-enriched" | "repair";
|
|
89
|
+
readonly sourceBasisId?: string | undefined;
|
|
90
|
+
readonly sourceBasisVersion?: number | undefined;
|
|
91
|
+
} | undefined;
|
|
92
|
+
};
|
|
93
|
+
readonly validation?: {
|
|
94
|
+
readonly validationDatasetDigest: string;
|
|
95
|
+
readonly caseCount: number;
|
|
96
|
+
readonly activeMae: number;
|
|
97
|
+
readonly activeF1: number;
|
|
98
|
+
readonly topDimensionAgreement: number;
|
|
99
|
+
readonly unknownMae: number;
|
|
100
|
+
readonly referenceUnknownRate: number;
|
|
101
|
+
readonly selectionScore: number;
|
|
102
|
+
} | undefined;
|
|
103
|
+
};
|
|
104
|
+
readonly modelPlan: {
|
|
105
|
+
readonly version: 1;
|
|
106
|
+
readonly assignments: readonly {
|
|
107
|
+
readonly role: "dimension-labeler" | "dimension-critic-terra" | "dimension-critic-luna";
|
|
108
|
+
readonly model: string;
|
|
109
|
+
readonly reasoningEffort: "high" | "medium" | "low" | "xhigh" | "max" | "ultra";
|
|
110
|
+
}[];
|
|
111
|
+
};
|
|
112
|
+
readonly policy: {
|
|
113
|
+
readonly activeDimensionThreshold: number;
|
|
114
|
+
readonly maximumUnknownProbability: number;
|
|
115
|
+
readonly minimumDominanceMargin: number;
|
|
116
|
+
readonly minimumCasesPerDimension: number;
|
|
117
|
+
};
|
|
118
|
+
readonly budget: {
|
|
119
|
+
readonly semanticModelCalls: number;
|
|
120
|
+
readonly plannedModelCalls: number;
|
|
121
|
+
readonly maximumTransientRetries: number;
|
|
122
|
+
readonly requiredTotalInputTokens: number;
|
|
123
|
+
readonly requiredTotalOutputTokens: number;
|
|
124
|
+
readonly perCallOutputTokens: number;
|
|
125
|
+
readonly wallTimeMs: number;
|
|
126
|
+
};
|
|
127
|
+
}, RepositoryFoundryError, never>;
|
|
128
|
+
export declare const executeRepositoryRoutingLabelingV1: (input: {
|
|
129
|
+
readonly plan: RepositoryRoutingLabelingPlanV1;
|
|
130
|
+
readonly benchmarkCase: RepositoryBenchmarkCaseV1;
|
|
131
|
+
}) => Effect.Effect<{
|
|
132
|
+
version: 1;
|
|
133
|
+
plan: {
|
|
134
|
+
readonly version: 1;
|
|
135
|
+
readonly planDigest: string;
|
|
136
|
+
readonly foundryPlanDigest: string;
|
|
137
|
+
readonly caseId: string;
|
|
138
|
+
readonly behavioralFingerprint: string;
|
|
139
|
+
readonly basis: {
|
|
140
|
+
readonly version: 3;
|
|
141
|
+
readonly basisDigest: string;
|
|
142
|
+
readonly dimensions: readonly {
|
|
143
|
+
readonly id: string;
|
|
144
|
+
readonly name: string;
|
|
145
|
+
readonly description: string;
|
|
146
|
+
readonly inclusions: readonly string[];
|
|
147
|
+
readonly exclusions: readonly string[];
|
|
148
|
+
readonly confusableDimensionIds: readonly string[];
|
|
149
|
+
readonly boundaryRules: readonly string[];
|
|
150
|
+
readonly repositoryFacets: {
|
|
151
|
+
readonly componentIds: readonly string[];
|
|
152
|
+
readonly pathAnchors: readonly string[];
|
|
153
|
+
readonly symbolAnchors: readonly string[];
|
|
154
|
+
};
|
|
155
|
+
readonly positiveExamples: readonly string[];
|
|
156
|
+
readonly negativeExamples: readonly string[];
|
|
157
|
+
readonly codeSummaries: readonly string[];
|
|
158
|
+
readonly representativeSnippets: readonly string[];
|
|
159
|
+
}[];
|
|
160
|
+
readonly repositoryDigest: string;
|
|
161
|
+
readonly basisId: string;
|
|
162
|
+
readonly facetSnapshot: {
|
|
163
|
+
readonly repositoryId: string;
|
|
164
|
+
readonly repositoryDigest: string;
|
|
165
|
+
readonly name: string;
|
|
166
|
+
readonly purpose: string;
|
|
167
|
+
readonly languages: readonly string[];
|
|
168
|
+
readonly frameworks: readonly string[];
|
|
169
|
+
readonly components: readonly {
|
|
170
|
+
readonly id: string;
|
|
171
|
+
readonly name: string;
|
|
172
|
+
readonly purpose: string;
|
|
173
|
+
readonly paths: readonly string[];
|
|
174
|
+
}[];
|
|
175
|
+
};
|
|
176
|
+
readonly provenance: {
|
|
177
|
+
readonly recipeId: string;
|
|
178
|
+
readonly generatorVersion: string;
|
|
179
|
+
readonly sourceDigests: readonly string[];
|
|
180
|
+
readonly authorModel?: string | undefined;
|
|
181
|
+
readonly constructionTaskDigest?: string | undefined;
|
|
182
|
+
readonly origin?: {
|
|
183
|
+
readonly kind: "generated" | "incumbent-enriched" | "repair";
|
|
184
|
+
readonly sourceBasisId?: string | undefined;
|
|
185
|
+
readonly sourceBasisVersion?: number | undefined;
|
|
186
|
+
} | undefined;
|
|
187
|
+
};
|
|
188
|
+
readonly validation?: {
|
|
189
|
+
readonly validationDatasetDigest: string;
|
|
190
|
+
readonly caseCount: number;
|
|
191
|
+
readonly activeMae: number;
|
|
192
|
+
readonly activeF1: number;
|
|
193
|
+
readonly topDimensionAgreement: number;
|
|
194
|
+
readonly unknownMae: number;
|
|
195
|
+
readonly referenceUnknownRate: number;
|
|
196
|
+
readonly selectionScore: number;
|
|
197
|
+
} | undefined;
|
|
198
|
+
};
|
|
199
|
+
readonly modelPlan: {
|
|
200
|
+
readonly version: 1;
|
|
201
|
+
readonly assignments: readonly {
|
|
202
|
+
readonly role: "dimension-labeler" | "dimension-critic-terra" | "dimension-critic-luna";
|
|
203
|
+
readonly model: string;
|
|
204
|
+
readonly reasoningEffort: "high" | "medium" | "low" | "xhigh" | "max" | "ultra";
|
|
205
|
+
}[];
|
|
206
|
+
};
|
|
207
|
+
readonly policy: {
|
|
208
|
+
readonly activeDimensionThreshold: number;
|
|
209
|
+
readonly maximumUnknownProbability: number;
|
|
210
|
+
readonly minimumDominanceMargin: number;
|
|
211
|
+
readonly minimumCasesPerDimension: number;
|
|
212
|
+
};
|
|
213
|
+
readonly budget: {
|
|
214
|
+
readonly semanticModelCalls: number;
|
|
215
|
+
readonly plannedModelCalls: number;
|
|
216
|
+
readonly maximumTransientRetries: number;
|
|
217
|
+
readonly requiredTotalInputTokens: number;
|
|
218
|
+
readonly requiredTotalOutputTokens: number;
|
|
219
|
+
readonly perCallOutputTokens: number;
|
|
220
|
+
readonly wallTimeMs: number;
|
|
221
|
+
};
|
|
222
|
+
};
|
|
223
|
+
labeling: {
|
|
224
|
+
version: 1;
|
|
225
|
+
reviewed: {
|
|
226
|
+
readonly version: 1;
|
|
227
|
+
readonly caseId: string;
|
|
228
|
+
readonly label: {
|
|
229
|
+
readonly caseId: string;
|
|
230
|
+
readonly basisDigest: string;
|
|
231
|
+
readonly scores: readonly {
|
|
232
|
+
readonly dimensionId: string;
|
|
233
|
+
readonly score: number;
|
|
234
|
+
}[];
|
|
235
|
+
readonly unknownProbability: number;
|
|
236
|
+
};
|
|
237
|
+
readonly basisDigest: string;
|
|
238
|
+
readonly authorModel: string;
|
|
239
|
+
readonly reviews: readonly {
|
|
240
|
+
readonly outcome: "approve" | "reject";
|
|
241
|
+
readonly detail: string;
|
|
242
|
+
readonly model: string;
|
|
243
|
+
readonly evidenceIds: readonly string[];
|
|
244
|
+
readonly reviewerId: string;
|
|
245
|
+
readonly primaryDimensionId: string;
|
|
246
|
+
readonly independentLabel: {
|
|
247
|
+
readonly caseId: string;
|
|
248
|
+
readonly basisDigest: string;
|
|
249
|
+
readonly scores: readonly {
|
|
250
|
+
readonly dimensionId: string;
|
|
251
|
+
readonly score: number;
|
|
252
|
+
}[];
|
|
253
|
+
readonly unknownProbability: number;
|
|
254
|
+
};
|
|
255
|
+
readonly callId?: string | undefined;
|
|
256
|
+
}[];
|
|
257
|
+
readonly authorEvidenceIds: readonly string[];
|
|
258
|
+
readonly authorDetail: string;
|
|
259
|
+
readonly authorCallId?: string | undefined;
|
|
260
|
+
};
|
|
261
|
+
modelCalls: {
|
|
262
|
+
readonly operationId: string;
|
|
263
|
+
readonly role: "dimension-labeler" | "dimension-critic-terra" | "dimension-critic-luna";
|
|
264
|
+
readonly model: string;
|
|
265
|
+
readonly reasoningEffort: import("../../repository-language-model-protocol.js").RepositoryFoundryReasoningEffortV1;
|
|
266
|
+
readonly callId?: string;
|
|
267
|
+
}[];
|
|
268
|
+
};
|
|
269
|
+
routing: {
|
|
270
|
+
readonly version: 1;
|
|
271
|
+
readonly basis: {
|
|
272
|
+
readonly version: 3;
|
|
273
|
+
readonly basisDigest: string;
|
|
274
|
+
readonly dimensions: readonly {
|
|
275
|
+
readonly id: string;
|
|
276
|
+
readonly name: string;
|
|
277
|
+
readonly description: string;
|
|
278
|
+
readonly inclusions: readonly string[];
|
|
279
|
+
readonly exclusions: readonly string[];
|
|
280
|
+
readonly confusableDimensionIds: readonly string[];
|
|
281
|
+
readonly boundaryRules: readonly string[];
|
|
282
|
+
readonly repositoryFacets: {
|
|
283
|
+
readonly componentIds: readonly string[];
|
|
284
|
+
readonly pathAnchors: readonly string[];
|
|
285
|
+
readonly symbolAnchors: readonly string[];
|
|
286
|
+
};
|
|
287
|
+
readonly positiveExamples: readonly string[];
|
|
288
|
+
readonly negativeExamples: readonly string[];
|
|
289
|
+
readonly codeSummaries: readonly string[];
|
|
290
|
+
readonly representativeSnippets: readonly string[];
|
|
291
|
+
}[];
|
|
292
|
+
readonly repositoryDigest: string;
|
|
293
|
+
readonly basisId: string;
|
|
294
|
+
readonly facetSnapshot: {
|
|
295
|
+
readonly repositoryId: string;
|
|
296
|
+
readonly repositoryDigest: string;
|
|
297
|
+
readonly name: string;
|
|
298
|
+
readonly purpose: string;
|
|
299
|
+
readonly languages: readonly string[];
|
|
300
|
+
readonly frameworks: readonly string[];
|
|
301
|
+
readonly components: readonly {
|
|
302
|
+
readonly id: string;
|
|
303
|
+
readonly name: string;
|
|
304
|
+
readonly purpose: string;
|
|
305
|
+
readonly paths: readonly string[];
|
|
306
|
+
}[];
|
|
307
|
+
};
|
|
308
|
+
readonly provenance: {
|
|
309
|
+
readonly recipeId: string;
|
|
310
|
+
readonly generatorVersion: string;
|
|
311
|
+
readonly sourceDigests: readonly string[];
|
|
312
|
+
readonly authorModel?: string | undefined;
|
|
313
|
+
readonly constructionTaskDigest?: string | undefined;
|
|
314
|
+
readonly origin?: {
|
|
315
|
+
readonly kind: "generated" | "incumbent-enriched" | "repair";
|
|
316
|
+
readonly sourceBasisId?: string | undefined;
|
|
317
|
+
readonly sourceBasisVersion?: number | undefined;
|
|
318
|
+
} | undefined;
|
|
319
|
+
};
|
|
320
|
+
readonly validation?: {
|
|
321
|
+
readonly validationDatasetDigest: string;
|
|
322
|
+
readonly caseCount: number;
|
|
323
|
+
readonly activeMae: number;
|
|
324
|
+
readonly activeF1: number;
|
|
325
|
+
readonly topDimensionAgreement: number;
|
|
326
|
+
readonly unknownMae: number;
|
|
327
|
+
readonly referenceUnknownRate: number;
|
|
328
|
+
readonly selectionScore: number;
|
|
329
|
+
} | undefined;
|
|
330
|
+
};
|
|
331
|
+
readonly policy: {
|
|
332
|
+
readonly activeDimensionThreshold: number;
|
|
333
|
+
readonly maximumUnknownProbability: number;
|
|
334
|
+
readonly minimumDominanceMargin: number;
|
|
335
|
+
readonly minimumCasesPerDimension: number;
|
|
336
|
+
};
|
|
337
|
+
readonly assignments: readonly {
|
|
338
|
+
readonly caseId: string;
|
|
339
|
+
readonly rejectionReasons: readonly string[];
|
|
340
|
+
readonly basisDigest: string;
|
|
341
|
+
readonly eligible: boolean;
|
|
342
|
+
readonly unknownProbability: number;
|
|
343
|
+
readonly labelDigest: string;
|
|
344
|
+
readonly primaryScore: number;
|
|
345
|
+
readonly secondaryScore: number;
|
|
346
|
+
readonly primaryDimensionId?: string | undefined;
|
|
347
|
+
}[];
|
|
348
|
+
readonly dimensions: readonly {
|
|
349
|
+
readonly dimensionId: string;
|
|
350
|
+
readonly caseIds: readonly string[];
|
|
351
|
+
readonly minimumRequired: number;
|
|
352
|
+
readonly routingReady: boolean;
|
|
353
|
+
}[];
|
|
354
|
+
readonly eligibleCaseIds: readonly string[];
|
|
355
|
+
readonly libraryOnlyCaseIds: readonly string[];
|
|
356
|
+
readonly routingReady: boolean;
|
|
357
|
+
readonly coverageGaps: readonly string[];
|
|
358
|
+
};
|
|
359
|
+
}, RepositoryFoundryError, RepositoryFoundryLanguageModel>;
|
|
360
|
+
export declare const makeRoutingBenchmark: Effect.Effect<RoutingBenchmarkShape, never, RepositoryFoundryLanguageModel>;
|
|
361
|
+
export declare const RoutingBenchmarkLive: Layer.Layer<RoutingBenchmark, never, RepositoryFoundryLanguageModel>;
|
|
362
|
+
export {};
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { assertRoutingBasisV3 } from "@velum-labs/routekit-eval-contracts";
|
|
2
|
+
import { Context, Effect, Layer, Schema } from "effect";
|
|
3
|
+
import { RepositoryFoundryError } from "../../errors.js";
|
|
4
|
+
import { compileValidatedBenchmarkLibraryV1 } from "../../repository-quality-policy.js";
|
|
5
|
+
import { assertRepositoryRoutingEligibilityPolicyV1 } from "../../repository-routing-benchmark-protocol.js";
|
|
6
|
+
import { compileRepositoryRoutingBenchmarkV1 } from "../../repository-routing-quality-policy.js";
|
|
7
|
+
import { assertRepositoryRoutingModelPlanV1 } from "../../repository-routing-model-protocol.js";
|
|
8
|
+
import { assertRepositoryRoutingLabelingPlanV1, RepositoryRoutingLabelingPlanV1, repositoryRoutingLabelingBudgetV1, repositoryRoutingLabelingPlanDigestV1 } from "../../repository-routing-plan-protocol.js";
|
|
9
|
+
import { authorRepositoryReviewedDimensionLabelV1 } from "../dimension-labeling/service.js";
|
|
10
|
+
import { RepositoryFoundryLanguageModel } from "../language-model/service.js";
|
|
11
|
+
export class RoutingBenchmark extends Context.Service()("@velum-labs/routekit-eval-setup/RoutingBenchmark") {
|
|
12
|
+
}
|
|
13
|
+
const failure = (operation, detail, cause) => new RepositoryFoundryError({
|
|
14
|
+
operation,
|
|
15
|
+
detail,
|
|
16
|
+
...(cause === undefined ? {} : { cause })
|
|
17
|
+
});
|
|
18
|
+
export const planRepositoryRoutingLabelingV1 = Effect.fn("RoutingBenchmark.planLabeling")(function* (input) {
|
|
19
|
+
yield* Effect.try({
|
|
20
|
+
try: () => {
|
|
21
|
+
assertRoutingBasisV3(input.basis);
|
|
22
|
+
assertRepositoryRoutingModelPlanV1(input.modelPlan);
|
|
23
|
+
assertRepositoryRoutingEligibilityPolicyV1(input.policy);
|
|
24
|
+
if (input.foundryPlanDigest.trim().length === 0 ||
|
|
25
|
+
input.benchmarkCase.status !== "valid-library") {
|
|
26
|
+
throw new Error("routing labeling requires the exact foundry plan and an admitted benchmark-library case");
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
catch: (cause) => failure("plan-generation", "repository routing labeling request failed validation", cause)
|
|
30
|
+
});
|
|
31
|
+
return yield* Effect.try({
|
|
32
|
+
try: () => {
|
|
33
|
+
// Validation decodes the persisted schema before checking its digest.
|
|
34
|
+
// Normalize at creation too: valid JSON property order must not create
|
|
35
|
+
// an immediately stale plan. Keep the existing V1 digest representation.
|
|
36
|
+
const { planDigest: _unsetDigest, ...withoutDigest } = Schema.decodeUnknownSync(RepositoryRoutingLabelingPlanV1)({
|
|
37
|
+
version: 1,
|
|
38
|
+
planDigest: "",
|
|
39
|
+
foundryPlanDigest: input.foundryPlanDigest,
|
|
40
|
+
caseId: input.benchmarkCase.id,
|
|
41
|
+
behavioralFingerprint: input.benchmarkCase.behavioralFingerprint,
|
|
42
|
+
basis: input.basis,
|
|
43
|
+
modelPlan: input.modelPlan,
|
|
44
|
+
policy: input.policy,
|
|
45
|
+
budget: repositoryRoutingLabelingBudgetV1()
|
|
46
|
+
});
|
|
47
|
+
const plan = {
|
|
48
|
+
...withoutDigest,
|
|
49
|
+
planDigest: repositoryRoutingLabelingPlanDigestV1(withoutDigest)
|
|
50
|
+
};
|
|
51
|
+
assertRepositoryRoutingLabelingPlanV1(plan);
|
|
52
|
+
return plan;
|
|
53
|
+
},
|
|
54
|
+
catch: (cause) => failure("plan-generation", "repository routing labeling plan failed validation", cause)
|
|
55
|
+
});
|
|
56
|
+
});
|
|
57
|
+
export const executeRepositoryRoutingLabelingV1 = Effect.fn("RoutingBenchmark.executeLabeling")(function* (input) {
|
|
58
|
+
yield* Effect.try({
|
|
59
|
+
try: () => {
|
|
60
|
+
assertRepositoryRoutingLabelingPlanV1(input.plan);
|
|
61
|
+
if (input.benchmarkCase.id !== input.plan.caseId ||
|
|
62
|
+
input.benchmarkCase.behavioralFingerprint !== input.plan.behavioralFingerprint ||
|
|
63
|
+
input.benchmarkCase.status !== "valid-library") {
|
|
64
|
+
throw new Error("benchmark case changed after the immutable routing plan was created");
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
catch: (cause) => failure("execute-generation", "repository routing labeling plan is stale", cause)
|
|
68
|
+
});
|
|
69
|
+
const labeling = yield* authorRepositoryReviewedDimensionLabelV1({
|
|
70
|
+
operationId: `repository-routing-${input.plan.planDigest.slice(0, 20)}`,
|
|
71
|
+
basis: input.plan.basis,
|
|
72
|
+
benchmarkCase: input.benchmarkCase,
|
|
73
|
+
modelPlan: input.plan.modelPlan
|
|
74
|
+
});
|
|
75
|
+
const library = compileValidatedBenchmarkLibraryV1([input.benchmarkCase]);
|
|
76
|
+
const routing = compileRepositoryRoutingBenchmarkV1({
|
|
77
|
+
basis: input.plan.basis,
|
|
78
|
+
library,
|
|
79
|
+
labels: [labeling.reviewed],
|
|
80
|
+
policy: input.plan.policy
|
|
81
|
+
});
|
|
82
|
+
return {
|
|
83
|
+
version: 1,
|
|
84
|
+
plan: input.plan,
|
|
85
|
+
labeling,
|
|
86
|
+
routing
|
|
87
|
+
};
|
|
88
|
+
});
|
|
89
|
+
export const makeRoutingBenchmark = Effect.gen(function* () {
|
|
90
|
+
const languageModel = yield* RepositoryFoundryLanguageModel;
|
|
91
|
+
return RoutingBenchmark.of({
|
|
92
|
+
planLabeling: planRepositoryRoutingLabelingV1,
|
|
93
|
+
executeLabeling: (input) => executeRepositoryRoutingLabelingV1(input).pipe(Effect.provideService(RepositoryFoundryLanguageModel, languageModel))
|
|
94
|
+
});
|
|
95
|
+
});
|
|
96
|
+
export const RoutingBenchmarkLive = Layer.effect(RoutingBenchmark, makeRoutingBenchmark);
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { Context, Effect, Layer } from "effect";
|
|
2
|
+
import type { RepositoryCandidateVisibleTaskV1 } from "../../repository-benchmark-protocol.js";
|
|
3
|
+
import { type RepositorySpecificationCritiqueV1, type RepositorySpecificationReviewV1 } from "../../repository-specification-critique-protocol.js";
|
|
4
|
+
import type { RepositoryTaskFamilyV1 } from "../../repository-task-family-protocol.js";
|
|
5
|
+
import type { RepositoryTaskSeedV1 } from "../../repository-task-seed-protocol.js";
|
|
6
|
+
export type SpecificationCriticShape = {
|
|
7
|
+
readonly critique: (input: {
|
|
8
|
+
readonly repositoryRoot: string;
|
|
9
|
+
readonly seed: RepositoryTaskSeedV1;
|
|
10
|
+
readonly family: RepositoryTaskFamilyV1;
|
|
11
|
+
readonly visible: RepositoryCandidateVisibleTaskV1;
|
|
12
|
+
readonly reviews: readonly RepositorySpecificationReviewV1[];
|
|
13
|
+
readonly requestedDimension?: string;
|
|
14
|
+
}) => Effect.Effect<RepositorySpecificationCritiqueV1, import("../../errors.js").RepositoryFoundryError>;
|
|
15
|
+
};
|
|
16
|
+
declare const SpecificationCritic_base: Context.ServiceClass<SpecificationCritic, "@velum-labs/routekit-eval-setup/SpecificationCritic", SpecificationCriticShape>;
|
|
17
|
+
export declare class SpecificationCritic extends SpecificationCritic_base {
|
|
18
|
+
}
|
|
19
|
+
export declare const critiqueRepositoryTaskSpecificationV1: (input: {
|
|
20
|
+
readonly repositoryRoot: string;
|
|
21
|
+
readonly seed: RepositoryTaskSeedV1;
|
|
22
|
+
readonly family: RepositoryTaskFamilyV1;
|
|
23
|
+
readonly visible: RepositoryCandidateVisibleTaskV1;
|
|
24
|
+
readonly reviews: readonly RepositorySpecificationReviewV1[];
|
|
25
|
+
readonly requestedDimension?: string;
|
|
26
|
+
}) => Effect.Effect<{
|
|
27
|
+
readonly version: 1;
|
|
28
|
+
readonly caseId: string;
|
|
29
|
+
readonly outcome: "pass" | "fail" | "review-required";
|
|
30
|
+
readonly mechanicalFindings: readonly {
|
|
31
|
+
readonly axis: "missing-precondition" | "unavailable-context" | "multiple-interpretations" | "hidden-answer-leakage" | "unrealistic-phrasing" | "unsupported-assumption";
|
|
32
|
+
readonly severity: "warning" | "blocker";
|
|
33
|
+
readonly detail: string;
|
|
34
|
+
}[];
|
|
35
|
+
readonly reviews: readonly {
|
|
36
|
+
readonly detail: string;
|
|
37
|
+
readonly findings: readonly {
|
|
38
|
+
readonly axis: "missing-precondition" | "unavailable-context" | "multiple-interpretations" | "hidden-answer-leakage" | "unrealistic-phrasing" | "unsupported-assumption";
|
|
39
|
+
readonly severity: "warning" | "blocker";
|
|
40
|
+
readonly detail: string;
|
|
41
|
+
}[];
|
|
42
|
+
readonly verdict: "sufficient" | "insufficient";
|
|
43
|
+
readonly reviewerId: string;
|
|
44
|
+
readonly independentlyProduced: boolean;
|
|
45
|
+
readonly reviewerKind: "independent-solver" | "human-reviewer" | "model-critic";
|
|
46
|
+
readonly criticalBehaviorCoverage?: readonly {
|
|
47
|
+
readonly behaviorId: string;
|
|
48
|
+
readonly outcome: "covered" | "uncertain" | "omitted";
|
|
49
|
+
readonly detail: string;
|
|
50
|
+
}[] | undefined;
|
|
51
|
+
readonly dimensionFit?: {
|
|
52
|
+
readonly requestedDimension: string;
|
|
53
|
+
readonly outcome: "uncertain" | "fit" | "mismatch";
|
|
54
|
+
readonly detail: string;
|
|
55
|
+
readonly evidencePaths: readonly string[];
|
|
56
|
+
} | undefined;
|
|
57
|
+
readonly referenceCompatibility?: {
|
|
58
|
+
readonly outcome: "uncertain" | "contradictory" | "compatible";
|
|
59
|
+
readonly detail: string;
|
|
60
|
+
readonly scopeCoverage: readonly {
|
|
61
|
+
readonly scopeId: string;
|
|
62
|
+
readonly outcome: "supported" | "uncertain" | "contradictory";
|
|
63
|
+
readonly detail: string;
|
|
64
|
+
readonly evidence: readonly {
|
|
65
|
+
readonly sourceId: string;
|
|
66
|
+
readonly startLine: number;
|
|
67
|
+
readonly endLine: number;
|
|
68
|
+
}[];
|
|
69
|
+
}[];
|
|
70
|
+
readonly questionResolutions?: readonly {
|
|
71
|
+
readonly outcome: "unresolved" | "answered" | "not-required";
|
|
72
|
+
readonly detail: string;
|
|
73
|
+
readonly evidence: readonly {
|
|
74
|
+
readonly sourceId: string;
|
|
75
|
+
readonly startLine: number;
|
|
76
|
+
readonly endLine: number;
|
|
77
|
+
}[];
|
|
78
|
+
readonly affectedScopeIds: readonly string[];
|
|
79
|
+
readonly questionId: string;
|
|
80
|
+
readonly visibleScopeExclusion?: {
|
|
81
|
+
readonly quotation: string;
|
|
82
|
+
readonly rationale: string;
|
|
83
|
+
} | undefined;
|
|
84
|
+
}[] | undefined;
|
|
85
|
+
} | undefined;
|
|
86
|
+
}[];
|
|
87
|
+
readonly independentApprovalCount: number;
|
|
88
|
+
readonly rejectionReasons: readonly string[];
|
|
89
|
+
}, import("../../errors.js").RepositoryFoundryError, never>;
|
|
90
|
+
export declare const makeSpecificationCritic: Effect.Effect<SpecificationCriticShape, never, never>;
|
|
91
|
+
export declare const SpecificationCriticLive: Layer.Layer<SpecificationCritic, never, never>;
|
|
92
|
+
export {};
|