@gaunt-sloth/batch 2.0.0-beta.9 → 2.0.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/bin.d.ts +2 -2
- package/dist/bin.js +2 -2
- package/dist/classificationReport.d.ts +2 -2
- package/dist/classificationReport.js +2 -2
- package/dist/classificationTypes.d.ts +7 -7
- package/dist/classificationTypes.js +1 -1
- package/dist/evalCompare.d.ts +128 -1
- package/dist/evalCompare.js +253 -2
- package/dist/evalCompare.js.map +1 -1
- package/dist/evalOutput.d.ts +1 -1
- package/dist/evalOutput.js +1 -1
- package/dist/evalRunner.d.ts +15 -3
- package/dist/evalRunner.js +82 -5
- package/dist/evalRunner.js.map +1 -1
- package/dist/evalSuite.d.ts +5 -1
- package/dist/evalSuite.js +218 -7
- package/dist/evalSuite.js.map +1 -1
- package/dist/evalTypes.d.ts +79 -18
- package/dist/evalTypes.js +2 -2
- package/dist/evalTypes.js.map +1 -1
- package/dist/index.d.ts +8 -2
- package/dist/index.js +9 -1
- package/dist/index.js.map +1 -1
- package/dist/judge.d.ts +2 -2
- package/dist/judge.js +10 -14
- package/dist/judge.js.map +1 -1
- package/dist/output.d.ts +1 -1
- package/dist/output.js +1 -1
- package/dist/parseOver.d.ts +1 -1
- package/dist/parseOver.js +1 -1
- package/dist/pipelineCli.d.ts +3 -3
- package/dist/pipelineCli.js +3 -3
- package/dist/raterPromptArm.d.ts +140 -0
- package/dist/raterPromptArm.js +306 -0
- package/dist/raterPromptArm.js.map +1 -0
- package/dist/raterTarget.d.ts +34 -12
- package/dist/raterTarget.js +124 -33
- package/dist/raterTarget.js.map +1 -1
- package/dist/reporters/registry.d.ts +1 -1
- package/dist/reporters/registry.js +1 -1
- package/dist/reporters/registry.js.map +1 -1
- package/dist/reporters/reporterTypes.d.ts +3 -3
- package/dist/reporters/textReporter.js +16 -0
- package/dist/reporters/textReporter.js.map +1 -1
- package/dist/toolCoverage.d.ts +244 -0
- package/dist/toolCoverage.js +414 -0
- package/dist/toolCoverage.js.map +1 -0
- package/dist/toolCoverageRender.d.ts +31 -0
- package/dist/toolCoverageRender.js +71 -0
- package/dist/toolCoverageRender.js.map +1 -0
- package/dist/toolResultChecks.d.ts +8 -2
- package/dist/toolResultChecks.js +45 -3
- package/dist/toolResultChecks.js.map +1 -1
- package/dist/types.d.ts +38 -3
- package/dist/types.js +0 -9
- package/dist/types.js.map +1 -1
- package/dist/workflow/runWorkflow.d.ts +4 -4
- package/dist/workflow/runWorkflow.js +3 -3
- package/package.json +9 -8
package/dist/raterTarget.js
CHANGED
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
import { checkHardline } from '@gaunt-sloth/core/core/shell/hardline.js';
|
|
2
2
|
import { APPROVAL_RUNGS, isNegotiatingRung, isRatedRung, resolveApprovals, } from '@gaunt-sloth/core/config/shell-policy.js';
|
|
3
3
|
import { isAlignmentFailClosed, runAlignmentCheck, } from '@gaunt-sloth/core/core/shell/alignment.js';
|
|
4
|
+
import { armFor, reconcileArmedCapture } from '#src/raterPromptArm.js';
|
|
4
5
|
import { ShellNegotiationState } from '@gaunt-sloth/core/core/shell/negotiation.js';
|
|
5
|
-
import { FAIL_CLOSED_VERDICT, RATER_OUTCOMES, effectivePreflightFloorFinding,
|
|
6
|
+
import { FAIL_CLOSED_VERDICT, RATER_OUTCOMES, effectivePreflightFloorFinding, isNegotiableCall, mapVerdictToAction, preflightFloorFinding, rateShellCommand, } from '@gaunt-sloth/core/core/shell/rater.js';
|
|
6
7
|
import { resolveRaterModel } from '@gaunt-sloth/core/core/shell/raterModel.js';
|
|
7
8
|
import { displayWarning } from '@gaunt-sloth/core/utils/consoleUtils.js';
|
|
8
9
|
import { env } from '@gaunt-sloth/core/utils/systemUtils.js';
|
|
9
10
|
import { FORCED_BY_ASSERTIONS, HARDLINE_REFUSAL_MARKER, mechanismNeedsPermissiveRating, preflightMechanismFor, } from '#src/evalTypes.js';
|
|
10
11
|
/**
|
|
11
12
|
* The marker a rationale carries when the §8 hardline floor refuses the command — see
|
|
12
|
-
* {@link
|
|
13
|
+
* {@link "evalTypes.js"!HARDLINE_REFUSAL_MARKER | HARDLINE_REFUSAL_MARKER} for why it is a rationale marker and not a label.
|
|
13
14
|
* Re-exported here, beside the code that emits it:
|
|
14
15
|
*
|
|
15
16
|
* ```yaml
|
|
@@ -64,7 +65,7 @@ export const NEGOTIATION_BOUND_MARKER = 'negotiation bound spent';
|
|
|
64
65
|
*
|
|
65
66
|
* ## What the probes are for
|
|
66
67
|
*
|
|
67
|
-
* Two things, neither of which is attribution —
|
|
68
|
+
* Two things, neither of which is attribution — `forcedMechanism` gets the arm's NAME from
|
|
68
69
|
* core directly:
|
|
69
70
|
*
|
|
70
71
|
* 1. **They derive the permissive rating.** A preflight raises only an outcome below core's
|
|
@@ -76,14 +77,14 @@ export const NEGOTIATION_BOUND_MARKER = 'negotiation bound spent';
|
|
|
76
77
|
* corpus. That belongs in a unit test here rather than in someone's eval report, which is what
|
|
77
78
|
* {@link calibrateMechanisms} is for.
|
|
78
79
|
*
|
|
79
|
-
* The probe table is typed as a TOTAL record over {@link
|
|
80
|
+
* The probe table is typed as a TOTAL record over {@link "evalTypes.js"!PreflightMechanism | PreflightMechanism}, which
|
|
80
81
|
* derives from core's own preflight list — so a preflight core gains does not compile here until
|
|
81
82
|
* someone writes the command that observes it.
|
|
82
83
|
*
|
|
83
84
|
* A probe cannot be run with NO verdict: the preflights raise only an outcome below the
|
|
84
85
|
* deterministic floor, and a missing verdict becomes core's fail-closed one, which is *at* the
|
|
85
86
|
* floor. Every command then comes back with the identical placeholder — see
|
|
86
|
-
* {@link
|
|
87
|
+
* {@link "evalTypes.js"!PREFLIGHT_MECHANISMS | PREFLIGHT_MECHANISMS} for the whole rule.
|
|
87
88
|
*
|
|
88
89
|
* Exported for the unit suite, which exercises each mechanism on a command that is NOT its probe:
|
|
89
90
|
* that test has to be able to prove the two differ, or it silently stops being that test.
|
|
@@ -148,7 +149,7 @@ function calibrateGate() {
|
|
|
148
149
|
* fail across every corpus. That must be a red unit test rather than a surprise in someone's eval
|
|
149
150
|
* report.
|
|
150
151
|
*
|
|
151
|
-
* Attribution itself is not at stake.
|
|
152
|
+
* Attribution itself is not at stake. `forcedMechanism` names the arm from core's
|
|
152
153
|
* `preflightFloorFinding` rather than from this index, so two mechanisms that came to share a
|
|
153
154
|
* sentence stay individually attributable — a shrunken map is the SIGNAL that something moved, not
|
|
154
155
|
* the damage it causes.
|
|
@@ -158,7 +159,7 @@ export function calibrateMechanisms() {
|
|
|
158
159
|
}
|
|
159
160
|
/**
|
|
160
161
|
* The rating a `forced_by: <preflight>` round is driven with, discovered from core rather than
|
|
161
|
-
* spelled — see
|
|
162
|
+
* spelled — see `calibrateGate`. Exported for the unit suite, which pins that it is an outcome
|
|
162
163
|
* the gate APPROVES on a command with no preflight (i.e. genuinely permissive, so overriding it is a
|
|
163
164
|
* real finding), without naming one.
|
|
164
165
|
*/
|
|
@@ -192,7 +193,7 @@ function forcedMechanism(command, decision) {
|
|
|
192
193
|
return undefined;
|
|
193
194
|
return preflightMechanismFor(finding.kind);
|
|
194
195
|
}
|
|
195
|
-
/** The memoized
|
|
196
|
+
/** The memoized `calibrateGate` — core's answers do not change within a run. */
|
|
196
197
|
function calibrated() {
|
|
197
198
|
calibration ??= calibrateGate();
|
|
198
199
|
return calibration;
|
|
@@ -242,7 +243,7 @@ function resolveRung(target, config) {
|
|
|
242
243
|
* but it is the second line of the two, not the only one.
|
|
243
244
|
*
|
|
244
245
|
* So a rated case whose command the floor refuses does not exist, and cannot: the two rated rungs
|
|
245
|
-
* are refused at the floor arm before reaching a rating (
|
|
246
|
+
* are refused at the floor arm before reaching a rating (`classifyOneRound`), and `bypass` —
|
|
246
247
|
* the one rung that arm does not cover — is not a rated rung either. The marker therefore never
|
|
247
248
|
* accompanies a rater verdict. At `bypass` it accompanies an `approve`, which is the honest report:
|
|
248
249
|
* the gate approved before the arm and only the exec-time check refuses.
|
|
@@ -286,10 +287,25 @@ function buildRationale(command, floorDescription, decision, noRatingReason, rat
|
|
|
286
287
|
// rationale for the same reason the rater's own sentence does: after the split the gate speaks
|
|
287
288
|
// with two voices, and a report carrying only the classifier's would attribute an action the
|
|
288
289
|
// checker took to a component that did not take it. Named, so a reader can tell the two apart.
|
|
290
|
+
//
|
|
291
|
+
// **A check that FAILED CLOSED is reported too, and deliberately not under the same marker.** It
|
|
292
|
+
// exercised no authority — the classifier's action stands — so a line reading
|
|
293
|
+
// `alignment check (escalate)` would describe a ruling nobody made, and an assertion pinning that
|
|
294
|
+
// marker would be satisfied by a checker that never answered. Core's own fail-closed sentence is
|
|
295
|
+
// already self-identifying (it opens with `ALIGNMENT_COULD_NOT_CHECK_PREFIX`) and already names
|
|
296
|
+
// the cause and the budget, so it is passed through as written. That sentence is the ONLY thing a
|
|
297
|
+
// reader has to reconcile a cell's wall-clock against: an `auto` cell that declined spends a
|
|
298
|
+
// rating call AND a check, each against its own `approvals.raterTimeoutMs` budget, and without
|
|
299
|
+
// this line the second one's time is spent invisibly.
|
|
300
|
+
//
|
|
301
|
+
// The discriminator is core's exported predicate, never a reading of the prose — the same
|
|
302
|
+
// derivation rule the rest of this file keeps.
|
|
289
303
|
if (alignment !== undefined) {
|
|
290
|
-
parts.push(alignment
|
|
291
|
-
?
|
|
292
|
-
:
|
|
304
|
+
parts.push(isAlignmentFailClosed(alignment)
|
|
305
|
+
? alignment.reason.trim()
|
|
306
|
+
: alignment.reason.trim()
|
|
307
|
+
? `alignment check (${alignment.kind}): ${alignment.reason.trim()}`
|
|
308
|
+
: `alignment check (${alignment.kind})`);
|
|
293
309
|
}
|
|
294
310
|
// BATCH-34 — last, because it is the only part that describes the ACTION rather than the rating:
|
|
295
311
|
// the rating said `destructive` and the negotiation is what turned it into a human's decision.
|
|
@@ -408,7 +424,7 @@ function advanceNegotiation(negotiation, command, justification, decision, align
|
|
|
408
424
|
* the mechanism, in the rationale ({@link buildRationale}).
|
|
409
425
|
*
|
|
410
426
|
* **A round claiming a preflight FINDING is driven with a permissive rating** — see
|
|
411
|
-
* {@link
|
|
427
|
+
* {@link "evalTypes.js"!PREFLIGHT_MECHANISMS | PREFLIGHT_MECHANISMS}. Still no model call: the rating is a stub, derived
|
|
412
428
|
* from core, and it is the only way a preflight is observable at all since CFG-28. It does not
|
|
413
429
|
* flatter the case — when the claimed preflight really fires the action is the same either way, and
|
|
414
430
|
* when it does not, the marker and the action go red together.
|
|
@@ -520,6 +536,15 @@ async function classifyOneRound(round, roundIndex, request, rung, negotiation, c
|
|
|
520
536
|
const deterministicOnly = noRatingReason !== undefined;
|
|
521
537
|
let verdict;
|
|
522
538
|
let modelCalls = 0;
|
|
539
|
+
/**
|
|
540
|
+
* [[EXT-171]] — this round's own rating call, kept so the decision below can be told whether a
|
|
541
|
+
* rating was ever obtained. Declared out here and assigned ONLY inside the `else`, which is the
|
|
542
|
+
* point: on the deterministic path no call is made, so there is no capture and no cause, and the
|
|
543
|
+
* decision keeps today's action exactly. A cause leaking onto that branch would move every
|
|
544
|
+
* `model_free` and unrated-rung eval case at `auto` from `reject` to `escalate` — a suite change
|
|
545
|
+
* nobody asked for, and one no corpus author would think to look for.
|
|
546
|
+
*/
|
|
547
|
+
let rating;
|
|
523
548
|
if (deterministicOnly) {
|
|
524
549
|
// A round that claims a PREFLIGHT is driven with a rating for that preflight to override —
|
|
525
550
|
// without one there is nothing to raise, and every command comes back identical. A round that
|
|
@@ -540,8 +565,15 @@ async function classifyOneRound(round, roundIndex, request, rung, negotiation, c
|
|
|
540
565
|
}
|
|
541
566
|
}
|
|
542
567
|
else {
|
|
568
|
+
// [[BATCH-31]] — this cell's PROMPT ARM, installed for THIS call only. When the suite declares
|
|
569
|
+
// no `notes:` axis this is `undefined` and the model handed over below is the very object
|
|
570
|
+
// resolved at build time, so every existing suite sends a byte-identical prompt through a
|
|
571
|
+
// byte-identical object. See `raterPromptArm.ts` for why the omission decorates the model
|
|
572
|
+
// rather than reaching the prompt builder.
|
|
573
|
+
const arm = options?.notes;
|
|
574
|
+
const armed = arm !== undefined ? armFor(model, trimmed, arm) : undefined;
|
|
543
575
|
verdict = await rateShellCommand(trimmed, config, {
|
|
544
|
-
model,
|
|
576
|
+
model: armed !== undefined ? armed.model : model,
|
|
545
577
|
home: options?.home ?? env?.HOME,
|
|
546
578
|
timeoutMs: options?.timeoutMs,
|
|
547
579
|
// BATCH-34 — the §5.1 context for THIS round, from core's own state, with no test of our own
|
|
@@ -554,10 +586,33 @@ async function classifyOneRound(round, roundIndex, request, rung, negotiation, c
|
|
|
554
586
|
// prompt no session ever sends — so an `auto` suite's numbers may move here, toward the gate
|
|
555
587
|
// it claims to describe. Nothing changes at the other rungs.
|
|
556
588
|
negotiable,
|
|
589
|
+
// [[EXT-171]] — the sink core already offers, used here for the one field this file needs:
|
|
590
|
+
// WHY a rating never arrived. Taking it from the call rather than recognising it from the
|
|
591
|
+
// verdict's wording is the whole point — core's rating prompt tells the rater to answer
|
|
592
|
+
// `destructive` and say it could not assess a command it is unsure of, so the reason text
|
|
593
|
+
// cannot tell an unanswered gate from an obedient one.
|
|
594
|
+
onCapture: (capture) => {
|
|
595
|
+
rating = capture;
|
|
596
|
+
},
|
|
557
597
|
});
|
|
558
598
|
modelCalls = 1;
|
|
599
|
+
// [[BATCH-31]] — adjudicated HERE, after the call and outside `rateShellCommand`'s fail-closed
|
|
600
|
+
// `try`: a throw raised at the send site would be caught there and recorded as a `destructive`
|
|
601
|
+
// rating, so an arm that failed to remove its note would be reported as the rater's judgement.
|
|
602
|
+
// It also repairs `capture.prompt`, which core filled in before the arm edited the message.
|
|
603
|
+
if (arm !== undefined && armed !== undefined) {
|
|
604
|
+
reconcileArmedCapture(trimmed, arm, armed.outcome, rating);
|
|
605
|
+
}
|
|
559
606
|
}
|
|
560
|
-
|
|
607
|
+
// [[EXT-171]] — the same decision the runner makes, told the same fact: at a negotiating rung a
|
|
608
|
+
// rating the gate never obtained escalates instead of opening a negotiation. Passed from the
|
|
609
|
+
// capture, so the deterministic path above (no call, no capture) is untouched. This target
|
|
610
|
+
// exists to describe production, and a fix landing in only one of the two decision sites is how
|
|
611
|
+
// an eval artefact comes to assert a mechanism production no longer has.
|
|
612
|
+
const decision = mapVerdictToAction(trimmed, verdict, {
|
|
613
|
+
rung,
|
|
614
|
+
...(rating?.failClosed ? { failClosedCause: rating.failClosed } : {}),
|
|
615
|
+
});
|
|
561
616
|
// [[EXT-127]] — **the alignment check, driven exactly where production drives it.** Reached only
|
|
562
617
|
// on a `destructive` decline at a negotiating rung, and only for the two arms the node grants it
|
|
563
618
|
// authority over: a plain `reject`, or an `escalate` that §4.6's open-world floor produced. Its
|
|
@@ -568,6 +623,10 @@ async function classifyOneRound(round, roundIndex, request, rung, negotiation, c
|
|
|
568
623
|
// an `auto` suite whose `modelCalls` said 1 while spending 2 would understate the cost of the very
|
|
569
624
|
// feature it was measuring.
|
|
570
625
|
let alignment;
|
|
626
|
+
// EXT-66's budget, for the OTHER call. `rateShellCommand` resolves this itself from the run's
|
|
627
|
+
// config; `runAlignmentCheck` takes it only as an option, so the resolution has to happen here
|
|
628
|
+
// for the two halves of one gate decision to be held to the same number.
|
|
629
|
+
const alignmentTimeoutMs = options?.timeoutMs ?? resolveApprovals(config, undefined).raterTimeoutMs;
|
|
571
630
|
const alignmentReachable = !deterministicOnly &&
|
|
572
631
|
isNegotiatingRung(rung) &&
|
|
573
632
|
decision.verdict?.outcome === 'destructive' &&
|
|
@@ -585,7 +644,15 @@ async function classifyOneRound(round, roundIndex, request, rung, negotiation, c
|
|
|
585
644
|
userMessages: negotiation.retainedUserMessages(),
|
|
586
645
|
priorRounds: negotiation.alignmentRounds(),
|
|
587
646
|
...((options?.home ?? env?.HOME) ? { home: options?.home ?? env?.HOME } : {}),
|
|
588
|
-
|
|
647
|
+
// **The checker's budget, resolved exactly as the rating call's is.** `runAlignmentCheck`
|
|
648
|
+
// reads no config of its own, so a run that declares `approvals.raterTimeoutMs` moved only
|
|
649
|
+
// the rating call and left the check on core's hosted-model default — and `GthAgentRunner`
|
|
650
|
+
// passes the resolved value to both. Without this a suite measuring a local rater could
|
|
651
|
+
// raise the budget the classifier needs and still lose every check it drove to a 30s
|
|
652
|
+
// ceiling it never set, which is exactly the half of the gate this target exists to
|
|
653
|
+
// describe. Precedence mirrors `rateShellCommand`'s: an explicit option wins, then the
|
|
654
|
+
// run's config, then core's default (left absent so core applies it).
|
|
655
|
+
...(alignmentTimeoutMs !== undefined ? { timeoutMs: alignmentTimeoutMs } : {}),
|
|
589
656
|
});
|
|
590
657
|
// A check that never happened changes nothing — the classifier's action stands, exactly as it
|
|
591
658
|
// does in production. See core's ALIGNMENT_FAIL_CLOSED.
|
|
@@ -595,24 +662,24 @@ async function classifyOneRound(round, roundIndex, request, rung, negotiation, c
|
|
|
595
662
|
// no action and no judgement, so counting it would report a rating that nobody made. A check
|
|
596
663
|
// that DID happen is counted, because an `auto` suite spending two calls per declined command
|
|
597
664
|
// must not report one.
|
|
598
|
-
if (isAlignmentFailClosed(alignment)) {
|
|
599
|
-
alignment = undefined;
|
|
600
|
-
}
|
|
601
|
-
else {
|
|
665
|
+
if (!isAlignmentFailClosed(alignment)) {
|
|
602
666
|
modelCalls += 1;
|
|
603
667
|
}
|
|
604
668
|
}
|
|
605
|
-
|
|
669
|
+
// **What the check RULED, which is nothing when it failed closed.** Authority and disclosure are
|
|
670
|
+
// two different questions about the same event, and collapsing them is what made a check the gate
|
|
671
|
+
// could not obtain vanish from the report entirely: the action was rightly left alone, and the
|
|
672
|
+
// reader was left with a cell that had spent a second call's worth of wall-clock with no sentence
|
|
673
|
+
// anywhere accounting for it. `ruling` carries the authority; `alignment` above is carried into
|
|
674
|
+
// the rationale either way.
|
|
675
|
+
const ruling = isAlignmentFailClosed(alignment) ? undefined : alignment;
|
|
676
|
+
if (ruling !== undefined) {
|
|
606
677
|
decision.action =
|
|
607
|
-
|
|
608
|
-
? 'approve'
|
|
609
|
-
: alignment.kind === 'suggest'
|
|
610
|
-
? 'reject'
|
|
611
|
-
: 'escalate';
|
|
678
|
+
ruling.kind === 'approve' ? 'approve' : ruling.kind === 'suggest' ? 'reject' : 'escalate';
|
|
612
679
|
}
|
|
613
680
|
// BATCH-34 — record the decision with §5's state and take the action production would take. This
|
|
614
681
|
// is the only step between the mapping and the reported action; see `advanceNegotiation`.
|
|
615
|
-
const negotiated = advanceNegotiation(negotiation, trimmed, justification, decision,
|
|
682
|
+
const negotiated = advanceNegotiation(negotiation, trimmed, justification, decision, ruling);
|
|
616
683
|
return {
|
|
617
684
|
ok: true,
|
|
618
685
|
// Opaque both ways: whatever the gate decided, reported verbatim. Omitted on the model-free
|
|
@@ -630,14 +697,20 @@ async function classifyOneRound(round, roundIndex, request, rung, negotiation, c
|
|
|
630
697
|
// carries core's default — that IS the decision, and it is `destructive` whether a rater judged
|
|
631
698
|
// the command or the call timed out. `modelLabel` claims to be what the MODEL said, so
|
|
632
699
|
// reporting the default there would count a timeout as a rater judgement: EXT-66's finding, and
|
|
633
|
-
// EXT-62 measured a whole sweep column reading exactly that as rater coverage.
|
|
634
|
-
//
|
|
635
|
-
//
|
|
700
|
+
// EXT-62 measured a whole sweep column reading exactly that as rater coverage.
|
|
701
|
+
//
|
|
702
|
+
// [[EXT-171]] — **read off the call's own capture, exactly as the decision above is.** The
|
|
703
|
+
// question both are asking is "did a model answer?", and there is one honest source for it.
|
|
704
|
+
// Core's `isFailClosed` answers a reason-text question instead, and the rating prompt makes
|
|
705
|
+
// that question ambiguous on purpose: a rater told to return `destructive` and say it could
|
|
706
|
+
// not assess the command produces a verdict that predicate calls a gate failure. Suppressing
|
|
707
|
+
// `modelLabel` there hides a label the model really did render, which is the same confusion
|
|
708
|
+
// EXT-66 fixed pointing the other way.
|
|
636
709
|
...(deterministicOnly
|
|
637
710
|
? {}
|
|
638
711
|
: {
|
|
639
712
|
label: decision.verdict?.outcome,
|
|
640
|
-
...(
|
|
713
|
+
...(rating?.failClosed ? {} : { modelLabel: verdict?.outcome }),
|
|
641
714
|
}),
|
|
642
715
|
action: negotiated.action,
|
|
643
716
|
rationale: buildRationale(trimmed, floor?.description, decision, noRatingReason, verdict, negotiated.boundSpent, alignment),
|
|
@@ -652,7 +725,7 @@ async function classifyOneRound(round, roundIndex, request, rung, negotiation, c
|
|
|
652
725
|
* config error into an N-times-repeated one and add a profile load to every case's latency.
|
|
653
726
|
*
|
|
654
727
|
* @param target The parsed `rater` target (its `rung` is the suite's declaration — see
|
|
655
|
-
*
|
|
728
|
+
* `resolveRung`).
|
|
656
729
|
* @param config The run's resolved config — the sweep cell's, when sweeping, so `model:` and
|
|
657
730
|
* `config: { approvals: … }` axes both land here.
|
|
658
731
|
* @param options Test/caller overrides; see {@link RaterClassifierOptions}.
|
|
@@ -664,12 +737,30 @@ export async function buildRaterClassifier(target, config, options) {
|
|
|
664
737
|
// `undefined` lets `rateShellCommand` use the run's own `config.llm` — the same fallback
|
|
665
738
|
// production has, so the sweep's `model:` axis moves the rater exactly when no rater profile is
|
|
666
739
|
// pinned (a pinned profile wins over the sweep, in the eval as in the session).
|
|
667
|
-
const
|
|
740
|
+
const resolvedModel = options?.model ??
|
|
668
741
|
(raterProfile ? await resolveRaterModel(raterProfile, 'approvals.rater') : undefined);
|
|
742
|
+
// [[BATCH-31]] — **an arm needs a model OBJECT to decorate, and `undefined` is a real resolution
|
|
743
|
+
// here**: with no `approvals.rater` pinned, `rateShellCommand` reaches for `config.llm` itself and
|
|
744
|
+
// the decorator would never be installed. Both arms would then send the same prompt and the
|
|
745
|
+
// comparison would report the note changing nothing — a false negative that passes every test
|
|
746
|
+
// written about it. So an armed run resolves `config.llm` here instead, which is the SAME object
|
|
747
|
+
// `rateShellCommand` would have used (`options?.model ?? config.llm`), and refuses to build at all
|
|
748
|
+
// when there is none. Unarmed runs keep `undefined` and the fallback that goes with it.
|
|
749
|
+
const model = options?.notes !== undefined ? (resolvedModel ?? config.llm) : resolvedModel;
|
|
750
|
+
if (options?.notes !== undefined && model === undefined) {
|
|
751
|
+
throw new Error('eval: this suite declares a `notes:` prompt arm, but no rating model resolved — neither ' +
|
|
752
|
+
"`approvals.rater` nor the run's own `llm`. A prompt arm has nothing to act on without " +
|
|
753
|
+
'one, and the run would silently measure the un-omitted prompt in both arms.');
|
|
754
|
+
}
|
|
669
755
|
// [[EXT-127]] — the ALIGNMENT CHECKER's model, resolved once for the same reason the rater's is.
|
|
670
756
|
// `approvals.alignmentChecker` has already been defaulted to the rater's profile by
|
|
671
757
|
// `resolveApprovals`, so a suite that names one rater measures both halves on it — which is what
|
|
672
758
|
// makes a sweep's `model:` axis move the whole gate rather than half of it.
|
|
759
|
+
//
|
|
760
|
+
// [[BATCH-31]] — and it is resolved from the RAW override, never from the armed `model` above, so
|
|
761
|
+
// an arm moves the rating prompt and nothing else. The notes an arm can omit are the rating
|
|
762
|
+
// prompt's; decorating the checker too would let one axis change two prompts and leave a shifted
|
|
763
|
+
// column unattributable to either.
|
|
673
764
|
const checkerProfile = approvals?.alignmentChecker;
|
|
674
765
|
const checkerModel = options?.model ??
|
|
675
766
|
(checkerProfile
|
package/dist/raterTarget.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"raterTarget.js","sourceRoot":"","sources":["../src/raterTarget.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"raterTarget.js","sourceRoot":"","sources":["../src/raterTarget.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@ import type { EvalReporterFactory, NamedReporter } from '#src/reporters/reporter
|
|
|
4
4
|
* ONE path; a `custom` key colliding with a built-in name wins (config beats built-in). A name found
|
|
5
5
|
* in neither throws with the available list (the command maps that to exit 2). Reporters are
|
|
6
6
|
* instantiated per call (fresh state per run). Each is paired with the name it was selected under so
|
|
7
|
-
* {@link driveReporters} can name a failing reporter in its contained-error warning. */
|
|
7
|
+
* {@link @gaunt-sloth/batch!"reporters/drive.js".driveReporters | driveReporters} can name a failing reporter in its contained-error warning. */
|
|
8
8
|
export declare function resolveReporters(names: string[], custom?: Record<string, EvalReporterFactory>): NamedReporter[];
|
|
9
9
|
/** The names `resolveReporters` accepts, given the same `custom` map — used to build the error
|
|
10
10
|
* message on an unknown name (and, in A2, to list reporters in help/errors). */
|
|
@@ -7,7 +7,7 @@ const BUILTIN_REPORTERS = { text: createTextReporter };
|
|
|
7
7
|
* ONE path; a `custom` key colliding with a built-in name wins (config beats built-in). A name found
|
|
8
8
|
* in neither throws with the available list (the command maps that to exit 2). Reporters are
|
|
9
9
|
* instantiated per call (fresh state per run). Each is paired with the name it was selected under so
|
|
10
|
-
* {@link driveReporters} can name a failing reporter in its contained-error warning. */
|
|
10
|
+
* {@link @gaunt-sloth/batch!"reporters/drive.js".driveReporters | driveReporters} can name a failing reporter in its contained-error warning. */
|
|
11
11
|
export function resolveReporters(names, custom = {}) {
|
|
12
12
|
const registry = { ...BUILTIN_REPORTERS, ...custom };
|
|
13
13
|
return names.map((name) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/reporters/registry.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAEpE;kGACkG;AAClG,MAAM,iBAAiB,GAAwC,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC;AAE5F;;;;;
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/reporters/registry.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAEpE;kGACkG;AAClG,MAAM,iBAAiB,GAAwC,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC;AAE5F;;;;;iJAKiJ;AACjJ,MAAM,UAAU,gBAAgB,CAC9B,KAAe,EACf,MAAM,GAAwC,EAAE;IAEhD,MAAM,QAAQ,GAAwC,EAAE,GAAG,iBAAiB,EAAE,GAAG,MAAM,EAAE,CAAC;IAC1F,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACxB,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CACb,qBAAqB,IAAI,2BAA2B,sBAAsB,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAChG,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAC;IACvC,CAAC,CAAC,CAAC;AACL,CAAC;AAED;gFACgF;AAChF,MAAM,UAAU,sBAAsB,CAAC,MAAM,GAAwC,EAAE;IACrF,OAAO,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,iBAAiB,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;AAC1D,CAAC"}
|
|
@@ -25,7 +25,7 @@ export interface EvalRunContext {
|
|
|
25
25
|
}
|
|
26
26
|
/** A reporter renders an eval run. Every hook is optional — a reporter implements only what it needs
|
|
27
27
|
* (the text reporter uses all three; a future file reporter may use only onSuiteEnd). Hooks are
|
|
28
|
-
* driven in lifecycle order by {@link driveReporters}. A reporter MUST NOT be able to fail the run:
|
|
28
|
+
* driven in lifecycle order by {@link @gaunt-sloth/batch!"reporters/drive.js".driveReporters | driveReporters}. A reporter MUST NOT be able to fail the run:
|
|
29
29
|
* the driver catches any hook error and surfaces it as a warning (see driveReporters). */
|
|
30
30
|
export interface EvalReporter {
|
|
31
31
|
onSuiteStart?(ctx: EvalRunContext): void | Promise<void>;
|
|
@@ -35,8 +35,8 @@ export interface EvalReporter {
|
|
|
35
35
|
/** Reporters are created per run (they may accumulate state, e.g. a JUnit doc), so the registry
|
|
36
36
|
* stores factories, not instances. */
|
|
37
37
|
export type EvalReporterFactory = () => EvalReporter;
|
|
38
|
-
/** A resolved reporter paired with the name it was selected under. {@link resolveReporters} returns
|
|
39
|
-
* these (not bare {@link EvalReporter}s) so {@link driveReporters} can name WHICH reporter's hook
|
|
38
|
+
/** A resolved reporter paired with the name it was selected under. {@link @gaunt-sloth/batch!"reporters/registry.js".resolveReporters | resolveReporters} returns
|
|
39
|
+
* these (not bare {@link EvalReporter}s) so {@link @gaunt-sloth/batch!"reporters/drive.js".driveReporters | driveReporters} can name WHICH reporter's hook
|
|
40
40
|
* failed in the contained-error warning — with multiple reporters real (A2: text + junit + custom),
|
|
41
41
|
* a bare "onCellResult hook failed" is ambiguous. */
|
|
42
42
|
export interface NamedReporter {
|
|
@@ -2,6 +2,7 @@ import { display, displaySuccess, displayWarning } from '@gaunt-sloth/core/utils
|
|
|
2
2
|
import { frameUntrustedText, frameWidthFor } from '@gaunt-sloth/core/core/shell/framing.js';
|
|
3
3
|
import { stdout } from '@gaunt-sloth/core/utils/systemUtils.js';
|
|
4
4
|
import { renderClassificationReport } from '#src/classificationRender.js';
|
|
5
|
+
import { renderToolCoverage } from '#src/toolCoverageRender.js';
|
|
5
6
|
/**
|
|
6
7
|
* The built-in default reporter: the human-readable, `review`-flavored summary — one PASS/FAIL line
|
|
7
8
|
* per cell (failures carry their reasons), then a suite-total line. Doesn't replicate `review`'s
|
|
@@ -77,6 +78,21 @@ export function createTextReporter() {
|
|
|
77
78
|
}
|
|
78
79
|
}
|
|
79
80
|
}
|
|
81
|
+
// BATCH-32 — the coverage block, for any run that observed an advertised-tool inventory.
|
|
82
|
+
// Before the verdict line for the same reason the classifier block is: the verdict stays the
|
|
83
|
+
// last thing on screen.
|
|
84
|
+
if (summary.toolCoverage) {
|
|
85
|
+
for (const line of renderToolCoverage(summary.toolCoverage)) {
|
|
86
|
+
// A warning or a breached gate is the line a reader must not skim past; the fraction and
|
|
87
|
+
// its detail rows are data. Same split the classifier block uses.
|
|
88
|
+
if (line.trimStart().startsWith('!') || line.startsWith('TOOL COVERAGE GATE FAILED')) {
|
|
89
|
+
displayWarning(line);
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
display(line);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}
|
|
80
96
|
// M1: X/Y counts CELLS in a matrix run (one per case × identity) — e.g. `2/2` for 1 case × 2
|
|
81
97
|
// identities — so a bare "case(s)" would misreport the denominator. Use an identity-aware
|
|
82
98
|
// noun: "case(s)" for a no-identities run (unchanged), "cell(s)" once any cell carries an
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"textReporter.js","sourceRoot":"","sources":["../../src/reporters/textReporter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAClG,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AAC5F,OAAO,EAAE,MAAM,EAAE,MAAM,wCAAwC,CAAC;AAGhE,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"textReporter.js","sourceRoot":"","sources":["../../src/reporters/textReporter.ts"],"names":[],"mappings":"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"}
|