@tangle-network/agent-eval 0.126.1 → 0.126.2

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.
@@ -7,7 +7,7 @@ import {
7
7
  pairHoldout,
8
8
  recoverTruncatedJson,
9
9
  surfaceContentHash
10
- } from "./chunk-VMUENW6F.js";
10
+ } from "./chunk-7AN2E7BU.js";
11
11
  import {
12
12
  SearchLedgerConflictError,
13
13
  SearchLedgerError,
@@ -4634,4 +4634,4 @@ export {
4634
4634
  verifyCodeSurface,
4635
4635
  resolveWorktreePath
4636
4636
  };
4637
- //# sourceMappingURL=chunk-NGUYT5CI.js.map
4637
+ //# sourceMappingURL=chunk-Y5CLI4PY.js.map
@@ -1477,6 +1477,24 @@ interface RunOptimizationBaseOptions<TScenario extends Scenario$1, TArtifact> ex
1477
1477
  costLedger?: CostLedgerHandle;
1478
1478
  costPhase?: string;
1479
1479
  }) => Promise<unknown[]>;
1480
+ /**
1481
+ * Optional override for how the WINNER is selected among coverage-complete
1482
+ * candidates (and how the incumbent bar is set). Returns a lexicographic rank
1483
+ * key — each element higher-is-better; candidates are ranked by descending key
1484
+ * (`compareRankKeys`) and the top must STRICTLY beat the incumbent's key to
1485
+ * promote. Defaults to `[campaignMeanComposite(campaign)]`, i.e. the historical
1486
+ * scalar-mean ranking (single-element key ⇒ identical behavior).
1487
+ *
1488
+ * A binary-with-replicates consumer (e.g. swe-arena, whose ship-gate counts an
1489
+ * instance resolved only when EVERY replicate resolved) passes a fail-closed
1490
+ * key built from the SAME reduction its gate uses, so winner-selection and the
1491
+ * ship-gate rank on the identical metric and can never invert — the selector
1492
+ * cannot promote a flaky per-cell-mean candidate the gate would reject over a
1493
+ * fail-closed candidate the gate would accept. Only the winner CHOICE changes;
1494
+ * the descriptive `composite` (mean) on every record and the Pareto objective
1495
+ * vectors are untouched, so proposer diversity and reporting are unaffected.
1496
+ */
1497
+ selectionRankKey?: (campaign: CampaignResult<TArtifact, TScenario>) => number[];
1480
1498
  }
1481
1499
  type RunOptimizationOptions<TScenario extends Scenario$1, TArtifact> = RunOptimizationBaseOptions<TScenario, TArtifact>;
1482
1500
  interface RunOptimizationResult<TArtifact, TScenario extends Scenario$1> {
@@ -3726,6 +3744,13 @@ interface SelfImproveOptions<TScenario extends Scenario$1, TArtifact> {
3726
3744
  /** Static findings forwarded to the proposer's `propose()` as `ctx.findings`
3727
3745
  * (a findings-grounded proposer consumes them). Default: none. */
3728
3746
  findings?: unknown[];
3747
+ /** Override how the WINNER is selected among coverage-complete candidates.
3748
+ * Defaults to the scalar mean composite (historical behavior). A binary-with-
3749
+ * replicates consumer whose ship-gate counts an instance resolved only when
3750
+ * every replicate resolved passes a fail-closed lexicographic key here so that
3751
+ * winner-selection and the ship-gate rank on the identical metric and cannot
3752
+ * invert. See `RunOptimizationOptions.selectionRankKey`. */
3753
+ selectionRankKey?: RunOptimizationOptions<TScenario, TArtifact>['selectionRankKey'];
3729
3754
  }
3730
3755
  interface SelfImproveResult<TScenario extends Scenario$1, TArtifact> {
3731
3756
  /** Composite mean across all scenarios, baseline run. When
@@ -40,7 +40,7 @@ import {
40
40
  skillOptOptimizationMethod,
41
41
  surfaceContentHash,
42
42
  surfaceHash
43
- } from "../chunk-VMUENW6F.js";
43
+ } from "../chunk-7AN2E7BU.js";
44
44
  import {
45
45
  campaignSplitDigest,
46
46
  createRunCostLedger,
@@ -340,7 +340,8 @@ async function runSelfImprove(opts, costLedger, startedAt, runDir, storage) {
340
340
  labeledStore: opts.labeledStore,
341
341
  captureSource: opts.captureSource,
342
342
  analyzeGeneration: opts.analyzeGeneration,
343
- findings: opts.findings
343
+ findings: opts.findings,
344
+ selectionRankKey: opts.selectionRankKey
344
345
  });
345
346
  const winnerSearch = holdoutDeferred ? winnerSearchCampaign(result) : void 0;
346
347
  const baseline = meanComposite(