@gaunt-sloth/batch 2.0.0-alpha.35 → 2.0.0-alpha.37

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/evalSuite.js CHANGED
@@ -1,7 +1,12 @@
1
1
  import { parse as parseYaml } from 'yaml';
2
2
  import * as z from 'zod';
3
3
  import { APPROVAL_RUNGS, isApprovalRung } from '@gaunt-sloth/core/config/shell-policy.js';
4
+ // The gate's own vocabularies, read rather than restated — see `assertCoversGateVocabulary`. This is
5
+ // the suite-PARSE path, so it deliberately imports the leaf vocabulary module and NOT core's rater,
6
+ // which would pull the model layer in behind it.
7
+ import { RATER_ACTIONS, RATER_OUTCOMES } from '@gaunt-sloth/core/core/shell/raterVocabulary.js';
4
8
  import { DEFAULT_EVAL_PASS_THRESHOLD, FORCED_BY_ASSERTIONS, FORCED_BY_MECHANISMS, } from '#src/evalTypes.js';
9
+ import { UNRECOGNIZED_LABEL } from '#src/classificationTypes.js';
5
10
  import { parseMetricPredicate } from '#src/metrics.js';
6
11
  /**
7
12
  * Raw suite-file shape (snake_case, as authored). BATCH-12 adds the identity matrix on top of the
@@ -468,6 +473,9 @@ export function parseEvalSuite(yamlText, sourcePath) {
468
473
  "declares the label/action enum the rater's verdicts are graded against. Without it the " +
469
474
  'classifier layer is inert and the cases would be run through the ordinary agent instead.');
470
475
  }
476
+ if (target.type === 'rater' && classification !== undefined) {
477
+ assertCoversGateVocabulary(classification, suffix);
478
+ }
471
479
  // BATCH-25 — a config sweep overrides the gth config the SUT is built from. An `adk-agent` /
472
480
  // `ag-ui` target runs OUT OF PROCESS with its own model, tools and auth, so there is no config to
473
481
  // sweep: the overrides would silently apply to the judge alone and the comparison table would
@@ -729,6 +737,53 @@ function buildClassificationSpec(raw, suffix, extractsFromAnswer) {
729
737
  actionFrom,
730
738
  };
731
739
  }
740
+ /**
741
+ * A `rater` suite's declared enums must COVER the gate's own vocabularies — every outcome core's
742
+ * rater can return, and every action its decision mapping can resolve to.
743
+ *
744
+ * ## Why this is a parse error and not a report footnote
745
+ *
746
+ * The `rater` target does not read a value out of a model's prose: it reports what core's own
747
+ * functions returned, so the set of values it can produce is known exactly, at parse time, from
748
+ * core's vocabulary lists. A value outside the declared enum is therefore not an uninterpretable
749
+ * answer — it is a value this suite forgot to declare, and the difference matters because of what
750
+ * happens next. An undeclared value lands in the `(unrecognized)` bucket, which is the right home
751
+ * for an answer nobody can interpret and the wrong one here: the cell stops being graded, the
752
+ * confusion matrix grows a column nobody reads, and the metric that was supposed to be watching that
753
+ * behaviour keeps reporting a clean number. It fails in a user's eval report, silently, rather than
754
+ * in a build.
755
+ *
756
+ * So the vocabularies are read from core rather than restated in a suite, and a suite that does not
757
+ * cover one is rejected with the missing member named. The gate gaining an action then breaks every
758
+ * suite that has not accounted for it — loudly, before a run — which is the whole point.
759
+ *
760
+ * **This applies to the `rater` target only.** Every other target reads its classification out of an
761
+ * answer some model wrote, where an unmatched value is genuinely uninterpretable and
762
+ * `(unrecognized)` is exactly right. Nothing here changes that path.
763
+ *
764
+ * A suite that declares no `actions` at all is not covered by the action half: it has no action
765
+ * dimension, and `expect_action` is already a parse error without one, so nothing can be silently
766
+ * misfiled. Declaring a partial one is the failure this catches.
767
+ */
768
+ function assertCoversGateVocabulary(spec, suffix) {
769
+ requireCoverage(spec.labels, RATER_OUTCOMES, 'labels', 'outcome', suffix);
770
+ if (spec.actions.length > 0) {
771
+ requireCoverage(spec.actions, RATER_ACTIONS, 'actions', 'action', suffix);
772
+ }
773
+ }
774
+ /** One half of {@link assertCoversGateVocabulary}: every member of the gate's vocabulary must appear
775
+ * in the suite's declared enum. */
776
+ function requireCoverage(declared, vocabulary, field, noun, suffix) {
777
+ const missing = vocabulary.filter((value) => !declared.includes(value));
778
+ if (missing.length === 0)
779
+ return;
780
+ throw new Error(`Invalid eval suite${suffix}: a "rater" target's \`classification.${field}\` must declare every ` +
781
+ `${noun} the approvals gate can produce, and this suite omits ${missing
782
+ .map((value) => `"${value}"`)
783
+ .join(', ')} (declared: ${declared.join(', ')}; the gate's: ${vocabulary.join(', ')}). ` +
784
+ `An undeclared ${noun} is not rejected at run time — it is filed under "${UNRECOGNIZED_LABEL}", ` +
785
+ 'so the cell silently stops being graded instead of being reported as wrong.');
786
+ }
732
787
  /** Validate one declared enum: non-blank, unique, and free of the parenthesized synthetic buckets
733
788
  * (`(unrecognized)` / `(none)`), which the matrix reserves for "no declared value matched" and "no
734
789
  * expectation". A declared value colliding with one of those would make the two indistinguishable. */
@@ -1 +1 @@
1
- {"version":3,"file":"evalSuite.js","sourceRoot":"","sources":["../src/evalSuite.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"evalSuite.js","sourceRoot":"","sources":["../src/evalSuite.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@
6
6
  * — eval's shapes layer on top of (not into) that file.
7
7
  */
8
8
  import type { ApprovalRung } from '@gaunt-sloth/core/config/shell-policy.js';
9
+ import type { PreflightFloorKind } from '@gaunt-sloth/core/core/shell/raterVocabulary.js';
9
10
  import type { ToolResultRecord } from '#src/types.js';
10
11
  import type { EvalCaseClassification, EvalClassificationReport, EvalClassificationSpec, EvalMetricSpec } from '#src/classificationTypes.js';
11
12
  /** The 0-10 judge scale's default pass threshold, matching `review`'s own (unexported)
@@ -31,23 +32,62 @@ export declare const DEFAULT_EVAL_PASS_THRESHOLD = 6;
31
32
  */
32
33
  export declare const HARDLINE_REFUSAL_MARKER = "hardline floor: refused";
33
34
  /**
34
- * BATCH-25 Half B the deterministic mechanisms of the approvals gate that a case can assert fired,
35
- * spelled EXACTLY as the approvals corpus spells them in its own `forced_by` / `floor_refuses`
36
- * fields, so transcribing a corpus case is a copy rather than a translation.
35
+ * **Core's preflight list, with this package's `forced_by` spelling attached the one place the two
36
+ * vocabularies meet.**
37
37
  *
38
- * ## Why this exists (the I1 finding)
38
+ * Typed as a TOTAL `Record` over core's own `PreflightFloorKind`, which is what makes it a guard
39
+ * rather than a copy: a preflight added to the gate has no entry here, so this file stops compiling
40
+ * and names the missing kind. Everything downstream — the mechanism list, the `forced_by` grammar,
41
+ * the target's probe table, the assertion markers — is derived from this object, so there is nowhere
42
+ * else the new preflight could be forgotten.
43
+ *
44
+ * The failure it prevents is the silent one. A restated list does not fail when the gate grows; it
45
+ * simply never attributes the new mechanism, and every corpus keeps reporting a clean sheet over a
46
+ * gate it no longer fully covers.
47
+ *
48
+ * The two spellings differ because they answer different questions: core names the ARM
49
+ * (`script-env-leak`), while a suite names the MECHANISM THAT DECIDED a case
50
+ * (`script-env-leak-preflight`), which has to be distinguishable from the execution-time floor in
51
+ * the same `forced_by` grammar. Keep the suffix convention for any kind core adds.
52
+ */
53
+ declare const PREFLIGHT_MECHANISM_OF: {
54
+ readonly 'script-env-leak': 'script-env-leak-preflight';
55
+ readonly 'open-world': 'open-world-preflight';
56
+ };
57
+ /**
58
+ * BATCH-25 Half B — the deterministic mechanisms of the approvals gate that a case can assert fired:
59
+ * the §8 hardline floor, plus one per deterministic preflight core declares.
60
+ *
61
+ * The floor is spelled here because it is not a preflight — it fires at execution time inside the
62
+ * shell tool, under every rung, and core keeps no list of it to derive from. The preflights are NOT
63
+ * spelled: they come from {@link PREFLIGHT_MECHANISM_OF}, which is core's own
64
+ * `PREFLIGHT_FLOOR_KINDS` with our `forced_by` spelling attached.
65
+ *
66
+ * ## Why a case asserts a mechanism at all (the I1 finding)
39
67
  *
40
68
  * A model-free case cannot be graded on its `action`. With no verdict, core's decision mapping
41
69
  * substitutes its fail-closed one and returns the SAME action for every command at a rated rung —
42
70
  * `ls -la`, `rm -rf /` and `rm -rf $(echo /)` are indistinguishable. `expect_action: escalate` on a
43
71
  * deterministic case therefore passes for a directory listing, and would still pass with the floor
44
- * and both preflights deleted: a constant, not a regression gate.
72
+ * and every preflight deleted: a constant, not a regression gate.
45
73
  *
46
74
  * What DOES discriminate is **which deterministic mechanism fired**, which the target reports in the
47
75
  * rationale, and which is exactly what the corpus records. So a deterministic case asserts that.
48
76
  */
49
- export declare const FORCED_BY_MECHANISMS: readonly ['hardline-floor', 'script-env-leak-preflight'];
50
- /** One of {@link FORCED_BY_MECHANISMS}. */
77
+ export declare const FORCED_BY_MECHANISMS: readonly ["hardline-floor", ...("open-world-preflight" | "script-env-leak-preflight")[]];
78
+ /**
79
+ * One of {@link FORCED_BY_MECHANISMS} — **derived from that array, never spelled beside it.**
80
+ *
81
+ * Spelling the union by hand decouples the two, and the decoupling is silent: `parseForcedBy`
82
+ * validates a suite's value against the ARRAY and then casts to this type, so a mechanism the array
83
+ * gained but the union did not reaches {@link FORCED_BY_ASSERTIONS} as a missing key. The assertion
84
+ * marker is then `undefined` and the run throws partway through grading — the exact crash the parse
85
+ * path exists to turn into a suite error. Derived, that member is a compile error on
86
+ * `FORCED_BY_ASSERTIONS` instead, which is where the missing marker has to be written anyway.
87
+ *
88
+ * The preflight half is guarded a second time through {@link PreflightMechanism}; the floor half has
89
+ * no core list behind it, so this is its only check.
90
+ */
51
91
  export type ForcedByMechanism = (typeof FORCED_BY_MECHANISMS)[number];
52
92
  /** The prefix a rationale carries for a decision a preflight forced, followed by the mechanism. */
53
93
  export declare const FORCED_BY_MARKER = "forced by";
@@ -91,15 +131,23 @@ export declare const FORCED_BY_ASSERTIONS: Record<ForcedByMechanism, string>;
91
131
  * the marker and the action go red **together**. That is the discrimination, not a side effect of
92
132
  * it.
93
133
  */
94
- export declare const PREFLIGHT_MECHANISMS: readonly ["script-env-leak-preflight"];
134
+ export declare const PREFLIGHT_MECHANISMS: ("open-world-preflight" | "script-env-leak-preflight")[];
95
135
  /**
96
136
  * One of {@link PREFLIGHT_MECHANISMS}. Narrower than {@link ForcedByMechanism} on purpose: the
97
- * target's probe table is typed as a TOTAL record over this, so adding a preflight to the list above
98
- * is a **compile error** until someone writes the probe command that observes it — the same
99
- * compile-time guard core's own `BELOW_DESTRUCTIVE_FLOOR` uses, for the same reason (the failure it
100
- * prevents is silent: an unprobed mechanism is simply never attributable).
137
+ * target's probe table is typed as a TOTAL record over this, so a preflight core gains is a
138
+ * **compile error** until someone writes the probe command that observes it — the same compile-time
139
+ * guard core's own `BELOW_DESTRUCTIVE_FLOOR` uses, for the same reason (the failure it prevents is
140
+ * silent: an unprobed mechanism is simply never attributable).
141
+ */
142
+ export type PreflightMechanism = (typeof PREFLIGHT_MECHANISM_OF)[PreflightFloorKind];
143
+ /**
144
+ * The `forced_by` spelling of one of core's preflight arms — the typed lookup into
145
+ * {@link PREFLIGHT_MECHANISM_OF}, which stays private so this is the only way in.
146
+ *
147
+ * TOTAL over core's `PreflightFloorKind` and therefore never `undefined`, which is the point: a
148
+ * caller cannot be handed an arm it has no name for, because such an arm would not have compiled.
101
149
  */
102
- export type PreflightMechanism = (typeof PREFLIGHT_MECHANISMS)[number];
150
+ export declare function preflightMechanismFor(kind: PreflightFloorKind): PreflightMechanism;
103
151
  /**
104
152
  * Must a round claiming this mechanism be driven with a permissive rating for the mechanism to be
105
153
  * observable at all? See {@link PREFLIGHT_MECHANISMS} for the whole rule. The §8 hardline floor
@@ -658,3 +706,4 @@ export interface EvalSuiteSummary {
658
706
  * `classification:` block, so a pre-BATCH-25 `results.json` is byte-for-byte unchanged. */
659
707
  classification?: EvalClassificationReport;
660
708
  }
709
+ export {};
package/dist/evalTypes.js CHANGED
@@ -21,22 +21,52 @@ export const DEFAULT_EVAL_PASS_THRESHOLD = 6;
21
21
  */
22
22
  export const HARDLINE_REFUSAL_MARKER = 'hardline floor: refused';
23
23
  /**
24
- * BATCH-25 Half B the deterministic mechanisms of the approvals gate that a case can assert fired,
25
- * spelled EXACTLY as the approvals corpus spells them in its own `forced_by` / `floor_refuses`
26
- * fields, so transcribing a corpus case is a copy rather than a translation.
24
+ * **Core's preflight list, with this package's `forced_by` spelling attached the one place the two
25
+ * vocabularies meet.**
27
26
  *
28
- * ## Why this exists (the I1 finding)
27
+ * Typed as a TOTAL `Record` over core's own `PreflightFloorKind`, which is what makes it a guard
28
+ * rather than a copy: a preflight added to the gate has no entry here, so this file stops compiling
29
+ * and names the missing kind. Everything downstream — the mechanism list, the `forced_by` grammar,
30
+ * the target's probe table, the assertion markers — is derived from this object, so there is nowhere
31
+ * else the new preflight could be forgotten.
32
+ *
33
+ * The failure it prevents is the silent one. A restated list does not fail when the gate grows; it
34
+ * simply never attributes the new mechanism, and every corpus keeps reporting a clean sheet over a
35
+ * gate it no longer fully covers.
36
+ *
37
+ * The two spellings differ because they answer different questions: core names the ARM
38
+ * (`script-env-leak`), while a suite names the MECHANISM THAT DECIDED a case
39
+ * (`script-env-leak-preflight`), which has to be distinguishable from the execution-time floor in
40
+ * the same `forced_by` grammar. Keep the suffix convention for any kind core adds.
41
+ */
42
+ const PREFLIGHT_MECHANISM_OF = {
43
+ 'script-env-leak': 'script-env-leak-preflight',
44
+ 'open-world': 'open-world-preflight',
45
+ };
46
+ /**
47
+ * BATCH-25 Half B — the deterministic mechanisms of the approvals gate that a case can assert fired:
48
+ * the §8 hardline floor, plus one per deterministic preflight core declares.
49
+ *
50
+ * The floor is spelled here because it is not a preflight — it fires at execution time inside the
51
+ * shell tool, under every rung, and core keeps no list of it to derive from. The preflights are NOT
52
+ * spelled: they come from {@link PREFLIGHT_MECHANISM_OF}, which is core's own
53
+ * `PREFLIGHT_FLOOR_KINDS` with our `forced_by` spelling attached.
54
+ *
55
+ * ## Why a case asserts a mechanism at all (the I1 finding)
29
56
  *
30
57
  * A model-free case cannot be graded on its `action`. With no verdict, core's decision mapping
31
58
  * substitutes its fail-closed one and returns the SAME action for every command at a rated rung —
32
59
  * `ls -la`, `rm -rf /` and `rm -rf $(echo /)` are indistinguishable. `expect_action: escalate` on a
33
60
  * deterministic case therefore passes for a directory listing, and would still pass with the floor
34
- * and both preflights deleted: a constant, not a regression gate.
61
+ * and every preflight deleted: a constant, not a regression gate.
35
62
  *
36
63
  * What DOES discriminate is **which deterministic mechanism fired**, which the target reports in the
37
64
  * rationale, and which is exactly what the corpus records. So a deterministic case asserts that.
38
65
  */
39
- export const FORCED_BY_MECHANISMS = ['hardline-floor', 'script-env-leak-preflight'];
66
+ export const FORCED_BY_MECHANISMS = [
67
+ 'hardline-floor',
68
+ ...Object.values(PREFLIGHT_MECHANISM_OF),
69
+ ];
40
70
  /** The prefix a rationale carries for a decision a preflight forced, followed by the mechanism. */
41
71
  export const FORCED_BY_MARKER = 'forced by';
42
72
  /**
@@ -47,6 +77,7 @@ export const FORCED_BY_MARKER = 'forced by';
47
77
  export const FORCED_BY_ASSERTIONS = {
48
78
  'hardline-floor': HARDLINE_REFUSAL_MARKER,
49
79
  'script-env-leak-preflight': `${FORCED_BY_MARKER}: script-env-leak-preflight`,
80
+ 'open-world-preflight': `${FORCED_BY_MARKER}: open-world-preflight`,
50
81
  };
51
82
  /**
52
83
  * Which of {@link FORCED_BY_MECHANISMS} are **preflight FINDINGS of the decision mapping** — the
@@ -82,9 +113,17 @@ export const FORCED_BY_ASSERTIONS = {
82
113
  * the marker and the action go red **together**. That is the discrimination, not a side effect of
83
114
  * it.
84
115
  */
85
- export const PREFLIGHT_MECHANISMS = [
86
- 'script-env-leak-preflight',
87
- ];
116
+ export const PREFLIGHT_MECHANISMS = Object.values(PREFLIGHT_MECHANISM_OF);
117
+ /**
118
+ * The `forced_by` spelling of one of core's preflight arms — the typed lookup into
119
+ * {@link PREFLIGHT_MECHANISM_OF}, which stays private so this is the only way in.
120
+ *
121
+ * TOTAL over core's `PreflightFloorKind` and therefore never `undefined`, which is the point: a
122
+ * caller cannot be handed an arm it has no name for, because such an arm would not have compiled.
123
+ */
124
+ export function preflightMechanismFor(kind) {
125
+ return PREFLIGHT_MECHANISM_OF[kind];
126
+ }
88
127
  /**
89
128
  * Must a round claiming this mechanism be driven with a permissive rating for the mechanism to be
90
129
  * observable at all? See {@link PREFLIGHT_MECHANISMS} for the whole rule. The §8 hardline floor
@@ -1 +1 @@
1
- {"version":3,"file":"evalTypes.js","sourceRoot":"","sources":["../src/evalTypes.ts"],"names":[],"mappings":"AAgBA;;;;mGAImG;AACnG,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC;AAE7C;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,yBAAyB,CAAC;AAEjE;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,gBAAgB,EAAE,2BAA2B,CAAU,CAAC;AAK7F,mGAAmG;AACnG,MAAM,CAAC,MAAM,gBAAgB,GAAG,WAAW,CAAC;AAE5C;;;;GAIG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAsC;IACrE,gBAAgB,EAAE,uBAAuB;IACzC,2BAA2B,EAAE,GAAG,gBAAgB,6BAA6B;CAC9E,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,2BAA2B;CACoB,CAAC;AAWlD;;;;;;;GAOG;AACH,MAAM,UAAU,8BAA8B,CAAC,SAAwC;IACrF,OAAO,CACL,SAAS,KAAK,SAAS;QACtB,oBAAqD,CAAC,QAAQ,CAAC,SAAS,CAAC,CAC3E,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"evalTypes.js","sourceRoot":"","sources":["../src/evalTypes.ts"],"names":[],"mappings":"AAqBA;;;;mGAImG;AACnG,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC;AAE7C;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,yBAAyB,CAAC;AAEjE;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,sBAAsB,GAAG;IAC7B,iBAAiB,EAAE,2BAA2B;IAC9C,YAAY,EAAE,sBAAsB;CAC2B,CAAC;AAElE;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,gBAAgB;IAChB,GAAG,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC;CAChC,CAAC;AAiBX,mGAAmG;AACnG,MAAM,CAAC,MAAM,gBAAgB,GAAG,WAAW,CAAC;AAE5C;;;;GAIG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAsC;IACrE,gBAAgB,EAAE,uBAAuB;IACzC,2BAA2B,EAAE,GAAG,gBAAgB,6BAA6B;IAC7E,sBAAsB,EAAE,GAAG,gBAAgB,wBAAwB;CACpE,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC;AAW1E;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAwB;IAC5D,OAAO,sBAAsB,CAAC,IAAI,CAAC,CAAC;AACtC,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,8BAA8B,CAAC,SAAwC;IACrF,OAAO,CACL,SAAS,KAAK,SAAS;QACtB,oBAAqD,CAAC,QAAQ,CAAC,SAAS,CAAC,CAC3E,CAAC;AACJ,CAAC"}
@@ -22,7 +22,7 @@
22
22
  import type { BaseChatModel } from '@langchain/core/language_models/chat_models';
23
23
  import type { GthConfig } from '@gaunt-sloth/core/config.js';
24
24
  import { HARDLINE_REFUSAL_MARKER } from '#src/evalTypes.js';
25
- import type { ForcedByMechanism, RaterTarget, RunClassifyFn } from '#src/evalTypes.js';
25
+ import type { ForcedByMechanism, PreflightMechanism, RaterTarget, RunClassifyFn } from '#src/evalTypes.js';
26
26
  /**
27
27
  * The marker a rationale carries when the §8 hardline floor refuses the command — see
28
28
  * {@link ../evalTypes.js HARDLINE_REFUSAL_MARKER} for why it is a rationale marker and not a label.
@@ -51,12 +51,49 @@ export { HARDLINE_REFUSAL_MARKER };
51
51
  * this: what actually happened.
52
52
  */
53
53
  export declare const NO_RATING_CALL_MARKER = "no rating call";
54
+ /**
55
+ * One command per deterministic preflight FINDING, used ONLY to ask core's decision mapping what
56
+ * that preflight says. They are probes, never rated, and nothing about them reaches a suite.
57
+ *
58
+ * ## What the probes are for
59
+ *
60
+ * Two things, neither of which is attribution — {@link forcedMechanism} gets the arm's NAME from
61
+ * core directly:
62
+ *
63
+ * 1. **They derive the permissive rating.** A preflight raises only an outcome below core's
64
+ * deterministic floor, so it is observable only when the gate is handed a rating it is willing to
65
+ * override. Each probe is offered every outcome of core's own vocabulary in turn and the first
66
+ * one the gate **rewrites** is kept, which derives that rating without spelling it.
67
+ * 2. **They prove every declared preflight still fires.** A probe the gate rewrites nothing on is a
68
+ * preflight that has stopped firing, and every case asserting it would go red across every
69
+ * corpus. That belongs in a unit test here rather than in someone's eval report, which is what
70
+ * {@link calibrateMechanisms} is for.
71
+ *
72
+ * The probe table is typed as a TOTAL record over {@link ../evalTypes.js PreflightMechanism}, which
73
+ * derives from core's own preflight list — so a preflight core gains does not compile here until
74
+ * someone writes the command that observes it.
75
+ *
76
+ * A probe cannot be run with NO verdict: the preflights raise only an outcome below the
77
+ * deterministic floor, and a missing verdict becomes core's fail-closed one, which is *at* the
78
+ * floor. Every command then comes back with the identical placeholder — see
79
+ * {@link ../evalTypes.js PREFLIGHT_MECHANISMS} for the whole rule.
80
+ *
81
+ * Exported for the unit suite, which exercises each mechanism on a command that is NOT its probe:
82
+ * that test has to be able to prove the two differ, or it silently stops being that test.
83
+ */
84
+ export declare const MECHANISM_PROBES: Readonly<Record<PreflightMechanism, string>>;
54
85
  /**
55
86
  * Ask core which reason sentence each deterministic preflight writes, and index it.
56
87
  *
57
- * Exported for the unit suite: a run in which this returns fewer than the probed mechanisms means
58
- * the gate no longer distinguishes them, and every `forced_by` assertion in every corpus would fail.
59
- * That must be a red unit test rather than a surprise in someone's eval report.
88
+ * Exported for the unit suite, which is its only consumer: a run returning fewer entries than the
89
+ * probed mechanisms means a preflight stopped firing, and every case asserting THAT mechanism would
90
+ * fail across every corpus. That must be a red unit test rather than a surprise in someone's eval
91
+ * report.
92
+ *
93
+ * Attribution itself is not at stake. {@link forcedMechanism} names the arm from core's
94
+ * `preflightFloorFinding` rather than from this index, so two mechanisms that came to share a
95
+ * sentence stay individually attributable — a shrunken map is the SIGNAL that something moved, not
96
+ * the damage it causes.
60
97
  */
61
98
  export declare function calibrateMechanisms(): Map<string, ForcedByMechanism>;
62
99
  /**
@@ -1,10 +1,10 @@
1
1
  import { checkHardline } from '@gaunt-sloth/core/core/shell/hardline.js';
2
2
  import { APPROVAL_RUNGS, isRatedRung, resolveApprovals, } from '@gaunt-sloth/core/config/shell-policy.js';
3
- import { FAIL_CLOSED_VERDICT, RATER_OUTCOMES, mapVerdictToAction, rateShellCommand, } from '@gaunt-sloth/core/core/shell/rater.js';
3
+ import { FAIL_CLOSED_VERDICT, RATER_OUTCOMES, mapVerdictToAction, preflightFloorFinding, rateShellCommand, } from '@gaunt-sloth/core/core/shell/rater.js';
4
4
  import { resolveRaterModel } from '@gaunt-sloth/core/core/shell/raterModel.js';
5
5
  import { displayWarning } from '@gaunt-sloth/core/utils/consoleUtils.js';
6
6
  import { env } from '@gaunt-sloth/core/utils/systemUtils.js';
7
- import { FORCED_BY_ASSERTIONS, HARDLINE_REFUSAL_MARKER, mechanismNeedsPermissiveRating, } from '#src/evalTypes.js';
7
+ import { FORCED_BY_ASSERTIONS, HARDLINE_REFUSAL_MARKER, mechanismNeedsPermissiveRating, preflightMechanismFor, } from '#src/evalTypes.js';
8
8
  /**
9
9
  * The marker a rationale carries when the §8 hardline floor refuses the command — see
10
10
  * {@link ../evalTypes.js HARDLINE_REFUSAL_MARKER} for why it is a rationale marker and not a label.
@@ -37,32 +37,38 @@ export const NO_RATING_CALL_MARKER = 'no rating call';
37
37
  * One command per deterministic preflight FINDING, used ONLY to ask core's decision mapping what
38
38
  * that preflight says. They are probes, never rated, and nothing about them reaches a suite.
39
39
  *
40
- * ## Why probe at all
40
+ * ## What the probes are for
41
41
  *
42
- * A deterministic case has to be gradeable on WHICH mechanism decided it (see
43
- * {@link ../evalTypes.js FORCED_BY_MECHANISMS}), and the only thing the gate reports about that is
44
- * the REASON on the verdict `mapVerdictToAction` returns. Two ways to read it were available and
45
- * both were rejected:
42
+ * Two things, neither of which is attribution {@link forcedMechanism} gets the arm's NAME from
43
+ * core directly:
46
44
  *
47
- * - copy core's reason sentences into this package a second copy of core's prose, silently stale
48
- * the day it is reworded;
49
- * - re-evaluate `classifyCommand(...) === null` / `hasScriptEnvLeakRisk(...)` here a second copy
50
- * of the *conditions*, i.e. exactly the "never re-decide the gate" rule this module opens with,
51
- * and one that would keep naming a mechanism after that mechanism had been deleted from the gate.
45
+ * 1. **They derive the permissive rating.** A preflight raises only an outcome below core's
46
+ * deterministic floor, so it is observable only when the gate is handed a rating it is willing to
47
+ * override. Each probe is offered every outcome of core's own vocabulary in turn and the first
48
+ * one the gate **rewrites** is kept, which derives that rating without spelling it.
49
+ * 2. **They prove every declared preflight still fires.** A probe the gate rewrites nothing on is a
50
+ * preflight that has stopped firing, and every case asserting it would go red across every
51
+ * corpus. That belongs in a unit test here rather than in someone's eval report, which is what
52
+ * {@link calibrateMechanisms} is for.
52
53
  *
53
- * So: run each probe through the REAL mapping and record the sentence it produced. The probe is
54
- * offered each outcome of core's own vocabulary in turn and the one the gate **rewrites** is kept
55
- * which both finds the sentence and derives the permissive rating, spelling neither. That makes the
56
- * index self-calibrating (a reworded reason moves with it) and honest under deletion (a preflight
57
- * that stops firing rewrites nothing, is not indexed, and every case asserting it goes red).
54
+ * The probe table is typed as a TOTAL record over {@link ../evalTypes.js PreflightMechanism}, which
55
+ * derives from core's own preflight list so a preflight core gains does not compile here until
56
+ * someone writes the command that observes it.
58
57
  *
59
- * The probe cannot be run with NO verdict: CFG-28 narrowed the preflights to raise only an outcome
60
- * below the deterministic floor, and a missing verdict becomes core's fail-closed one, which is *at*
61
- * the floor. Every command then comes back with the identical placeholder — see
58
+ * A probe cannot be run with NO verdict: the preflights raise only an outcome below the
59
+ * deterministic floor, and a missing verdict becomes core's fail-closed one, which is *at* the
60
+ * floor. Every command then comes back with the identical placeholder — see
62
61
  * {@link ../evalTypes.js PREFLIGHT_MECHANISMS} for the whole rule.
62
+ *
63
+ * Exported for the unit suite, which exercises each mechanism on a command that is NOT its probe:
64
+ * that test has to be able to prove the two differ, or it silently stops being that test.
63
65
  */
64
- const MECHANISM_PROBES = {
66
+ export const MECHANISM_PROBES = {
65
67
  'script-env-leak-preflight': 'node probe.js $PROBE_ENV_VALUE',
68
+ // A host literal in a fetch position. The host is deliberately in the reserved `.invalid` TLD —
69
+ // nothing here ever opens a connection, but a probe command must not name a domain that someone
70
+ // could register and point somewhere.
71
+ 'open-world-preflight': 'curl https://probe.invalid/probe',
66
72
  };
67
73
  /**
68
74
  * The reason put ON a probe verdict. It is never a sentence the gate itself writes, so "the gate
@@ -94,8 +100,11 @@ function calibrateGate() {
94
100
  continue;
95
101
  permissive ??= outcome;
96
102
  if (index.has(reason)) {
97
- // Two mechanisms, one sentence: they are no longer distinguishable, so claim NEITHER rather
98
- // than attribute a decision to the wrong one.
103
+ // Two mechanisms, one sentence: drop BOTH, so the map shrinks and the unit suite's size
104
+ // assertion goes red. This branch is a DETECTOR, not a safeguard — no production path reads
105
+ // the index (the runner takes only `permissive` from the calibration, and `forcedMechanism`
106
+ // names the arm from core), and `calibrateMechanisms` is exported for the suite alone. Keep
107
+ // it: without it a collision leaves the map full-sized and nothing notices.
99
108
  index.delete(reason);
100
109
  }
101
110
  else {
@@ -109,9 +118,15 @@ function calibrateGate() {
109
118
  /**
110
119
  * Ask core which reason sentence each deterministic preflight writes, and index it.
111
120
  *
112
- * Exported for the unit suite: a run in which this returns fewer than the probed mechanisms means
113
- * the gate no longer distinguishes them, and every `forced_by` assertion in every corpus would fail.
114
- * That must be a red unit test rather than a surprise in someone's eval report.
121
+ * Exported for the unit suite, which is its only consumer: a run returning fewer entries than the
122
+ * probed mechanisms means a preflight stopped firing, and every case asserting THAT mechanism would
123
+ * fail across every corpus. That must be a red unit test rather than a surprise in someone's eval
124
+ * report.
125
+ *
126
+ * Attribution itself is not at stake. {@link forcedMechanism} names the arm from core's
127
+ * `preflightFloorFinding` rather than from this index, so two mechanisms that came to share a
128
+ * sentence stay individually attributable — a shrunken map is the SIGNAL that something moved, not
129
+ * the damage it causes.
115
130
  */
116
131
  export function calibrateMechanisms() {
117
132
  return new Map(calibrateGate().index);
@@ -126,14 +141,31 @@ export function calibratePermissiveRating() {
126
141
  return calibrateGate().permissive;
127
142
  }
128
143
  /**
129
- * Which deterministic mechanism forced this decision — read out of what the gate RETURNED, never
130
- * recomputed from the command. `undefined` when the decision was not forced by an indexed mechanism
131
- * (a rated verdict, an unrated rung, or a mechanism that no longer fires).
144
+ * Which deterministic mechanism forced this decision — still read out of what the gate RETURNED,
145
+ * never recomputed. `undefined` when the decision was not forced by a preflight (a rated verdict, an
146
+ * unrated rung, `bypass`, or a preflight that no longer fires).
147
+ *
148
+ * **The arm's name comes from core, and the fact that it decided comes from the gate.** Core's
149
+ * `preflightFloorFinding` is the single implementation of the preflight ordering, exported so a
150
+ * diagnostic can say which arm fired; asking it is derivation, not the "second copy of the
151
+ * conditions" this module refuses. But what it returns is only what a preflight WOULD find, so it is
152
+ * accepted only when the gate actually put that finding on the verdict — which is false at `bypass`,
153
+ * at the unrated rungs, and whenever a rater's own harsher verdict passed through untouched.
154
+ *
155
+ * **Attribution must key on the arm, never on the reason text.** The open-world arm interpolates the
156
+ * HOST into its sentence, so a prose index built from a fixed probe command would recognise exactly
157
+ * one host and silently attribute nothing for every other — a `forced_by` assertion that fails on
158
+ * real corpora while passing its own test. Two arms that came to share a sentence are also still
159
+ * told apart here, where a prose index could only drop both.
132
160
  */
133
- function forcedMechanism(decision) {
134
- if (!decision.verdict?.reason)
161
+ function forcedMechanism(command, decision) {
162
+ const reason = decision.verdict?.reason;
163
+ if (reason === undefined)
164
+ return undefined;
165
+ const finding = preflightFloorFinding(command);
166
+ if (finding === null || finding.reason !== reason)
135
167
  return undefined;
136
- return calibrated().index.get(decision.verdict.reason);
168
+ return preflightMechanismFor(finding.kind);
137
169
  }
138
170
  /** The memoized {@link calibrateGate} — core's answers do not change within a run. */
139
171
  function calibrated() {
@@ -183,7 +215,7 @@ function resolveRung(target, config) {
183
215
  * is not: with no verdict, `mapVerdictToAction` returns the same action for every command at a rated
184
216
  * rung. See {@link ../evalTypes.js FORCED_BY_MECHANISMS}.
185
217
  */
186
- function buildRationale(floorDescription, decision, noRatingReason, ratingIn) {
218
+ function buildRationale(command, floorDescription, decision, noRatingReason, ratingIn) {
187
219
  const parts = [];
188
220
  if (floorDescription !== undefined) {
189
221
  parts.push(`${HARDLINE_REFUSAL_MARKER} (${floorDescription})`);
@@ -201,7 +233,7 @@ function buildRationale(floorDescription, decision, noRatingReason, ratingIn) {
201
233
  const handedBack = noRatingReason !== undefined &&
202
234
  (verdict?.reason === ratingIn?.reason || verdict?.reason === FAIL_CLOSED_VERDICT.reason);
203
235
  const reason = verdict?.reason && !handedBack ? verdict.reason : undefined;
204
- const mechanism = forcedMechanism(decision);
236
+ const mechanism = forcedMechanism(command, decision);
205
237
  if (mechanism !== undefined) {
206
238
  // A forced mechanism can arrive with no reason worth parenthesising — the `handedBack` case
207
239
  // just above, where the only sentence available came from us rather than from the gate. The
@@ -276,9 +308,17 @@ async function classifyOneRound(command, roundIndex, request, rung, config, mode
276
308
  // without one there is nothing to raise, and every command comes back identical. A round that
277
309
  // claims nothing (or claims the floor) is driven with no rating, as before: a permissive one
278
310
  // would move its action. `mechanismNeedsPermissiveRating` is the whole of that rule.
311
+ //
312
+ // Read WITHOUT an optional chain, deliberately. `ClassifyRequest.forcedBy` is required and the
313
+ // runner builds it by mapping the same `turns` array it maps for `inputs`, so it is present and
314
+ // index-parallel on every path that reaches here (pinned in `evalClassifierRunner.spec.ts`) —
315
+ // exactly as `request.caseId`, `request.modelFree` and `request.inputs` are read unguarded.
316
+ // The `undefined` this read really meets comes from the ELEMENT, not the field: a round that
317
+ // declared no mechanism, or an index past the end of a shorter array. A chain guards neither —
318
+ // indexing past the end yields `undefined` by value — and neither needs guarding, because an
319
+ // undefined mechanism is precisely "leave this round undriven".
279
320
  const permissive = calibrated().permissive;
280
- if (mechanismNeedsPermissiveRating(request.forcedBy?.[roundIndex]) &&
281
- permissive !== undefined) {
321
+ if (mechanismNeedsPermissiveRating(request.forcedBy[roundIndex]) && permissive !== undefined) {
282
322
  verdict = { outcome: permissive, reason: PROBE_REASON };
283
323
  }
284
324
  }
@@ -298,7 +338,7 @@ async function classifyOneRound(command, roundIndex, request, rung, config, mode
298
338
  // would report is OUR lever floored by a preflight, never a judgement anyone rendered.
299
339
  ...(deterministicOnly ? {} : { label: decision.verdict?.outcome }),
300
340
  action: decision.action,
301
- rationale: buildRationale(floor?.description, decision, noRatingReason, verdict),
341
+ rationale: buildRationale(trimmed, floor?.description, decision, noRatingReason, verdict),
302
342
  modelCalls,
303
343
  };
304
344
  }
@@ -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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"}
@@ -1,4 +1,6 @@
1
1
  import { display, displaySuccess, displayWarning } from '@gaunt-sloth/core/utils/consoleUtils.js';
2
+ import { frameUntrustedText, frameWidthFor } from '@gaunt-sloth/core/core/shell/framing.js';
3
+ import { stdout } from '@gaunt-sloth/core/utils/systemUtils.js';
2
4
  import { renderClassificationReport } from '#src/classificationRender.js';
3
5
  /**
4
6
  * The built-in default reporter: the human-readable, `review`-flavored summary — one PASS/FAIL line
@@ -26,9 +28,32 @@ export function createTextReporter() {
26
28
  const label = result.identity ? `${result.id} [${result.identity}]` : result.id;
27
29
  if (result.verdict === 'PASS') {
28
30
  display(`PASS ${label}`);
31
+ return;
29
32
  }
30
- else {
31
- displayWarning(`FAIL ${label} — ${result.reasons.join('; ') || 'no reason recorded'}`);
33
+ const reasons = result.reasons.join('; ');
34
+ if (!reasons) {
35
+ displayWarning(`FAIL ${label} — no reason recorded`);
36
+ return;
37
+ }
38
+ // [[TUI-C71]] — **a reason is untrusted text, and this reporter writes to a terminal.**
39
+ // `runConversation` swallows a run-ending approvals stop and hands its MESSAGE on as a
40
+ // string (`ConversationTurnResult.error` → `evalRunner`'s `SUT run failed: …` detail), so a
41
+ // stop reaches this line without this file ever seeing an `ApprovalStopError` — which is why
42
+ // enumerating the error's consumers did not find it. The message is already neutralised at
43
+ // construction, so nothing here can move a cursor; what framing closes is the residual that
44
+ // buys: one long line the TERMINAL wraps, whose continuation starts at column 0 carrying
45
+ // whatever the model put at that offset.
46
+ //
47
+ // Every reason is framed, not just a stop's: the rest of what lands here is SUT output and
48
+ // judge prose, model-authored the same way, and a renderer that decided per string which of
49
+ // them to trust would be a parser in a decision path.
50
+ //
51
+ // The verdict keeps its own row so the summary stays scannable, and the reasons follow it
52
+ // inside the gutter rather than sharing the row that names the case.
53
+ displayWarning(`FAIL ${label}`);
54
+ for (const row of frameUntrustedText(reasons, { width: frameWidthFor(stdout.columns) })
55
+ .lines) {
56
+ displayWarning(row);
32
57
  }
33
58
  },
34
59
  onSuiteEnd(summary, ctx) {
@@ -1 +1 @@
1
- {"version":3,"file":"textReporter.js","sourceRoot":"","sources":["../../src/reporters/textReporter.ts"],"names":[],"mappings":"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"}
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;AAE1E;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB;IAChC,OAAO;QACL,YAAY,CAAC,GAAmB;YAC9B,kFAAkF;YAClF,0FAA0F;YAC1F,6FAA6F;YAC7F,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;gBACpB,OAAO,CACL,mBAAmB,GAAG,CAAC,WAAW,CAAC,OAAO,GAAG;oBAC3C,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,WAAW,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CACtE,CAAC;YACJ,CAAC;QACH,CAAC;QAED,YAAY,CAAC,MAAsB;YACjC,6FAA6F;YAC7F,8FAA8F;YAC9F,wCAAwC;YACxC,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,EAAE,KAAK,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;YAChF,IAAI,MAAM,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;gBAC9B,OAAO,CAAC,SAAS,KAAK,EAAE,CAAC,CAAC;gBAC1B,OAAO;YACT,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1C,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,cAAc,CAAC,SAAS,KAAK,uBAAuB,CAAC,CAAC;gBACtD,OAAO;YACT,CAAC;YACD,wFAAwF;YACxF,uFAAuF;YACvF,4FAA4F;YAC5F,6FAA6F;YAC7F,2FAA2F;YAC3F,4FAA4F;YAC5F,yFAAyF;YACzF,yCAAyC;YACzC,EAAE;YACF,2FAA2F;YAC3F,4FAA4F;YAC5F,sDAAsD;YACtD,EAAE;YACF,0FAA0F;YAC1F,qEAAqE;YACrE,cAAc,CAAC,SAAS,KAAK,EAAE,CAAC,CAAC;YACjC,KAAK,MAAM,GAAG,IAAI,kBAAkB,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;iBACpF,KAAK,EAAE,CAAC;gBACT,cAAc,CAAC,GAAG,CAAC,CAAC;YACtB,CAAC;QACH,CAAC;QAED,UAAU,CAAC,OAAyB,EAAE,GAAmB;YACvD,2FAA2F;YAC3F,8FAA8F;YAC9F,iFAAiF;YACjF,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;gBAC3B,2FAA2F;gBAC3F,IAAI,GAAG,CAAC,SAAS;oBAAE,OAAO,CAAC,SAAS,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC;gBACrD,KAAK,MAAM,IAAI,IAAI,0BAA0B,CAAC,OAAO,CAAC,cAAc,EAAE;oBACpE,OAAO,EAAE,GAAG,CAAC,SAAS,KAAK,SAAS;iBACrC,CAAC,EAAE,CAAC;oBACH,uFAAuF;oBACvF,qFAAqF;oBACrF,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,EAAE,CAAC;wBAC9E,cAAc,CAAC,IAAI,CAAC,CAAC;oBACvB,CAAC;yBAAM,CAAC;wBACN,OAAO,CAAC,IAAI,CAAC,CAAC;oBAChB,CAAC;gBACH,CAAC;YACH,CAAC;YAED,6FAA6F;YAC7F,0FAA0F;YAC1F,0FAA0F;YAC1F,YAAY;YACZ,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC;YACvF,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;YAC9C,MAAM,WAAW,GAAG,gBAAgB,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,KAAK,IAAI,IAAI,SAAS,CAAC;YACrF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,cAAc,CAAC,GAAG,WAAW,wBAAwB,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC;YACxE,CAAC;iBAAM,CAAC;gBACN,cAAc,CACZ,GAAG,WAAW,KAAK,OAAO,CAAC,MAAM,+BAA+B,GAAG,CAAC,SAAS,EAAE,CAChF,CAAC;YACJ,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gaunt-sloth/batch",
3
- "version": "2.0.0-alpha.35",
3
+ "version": "2.0.0-alpha.37",
4
4
  "description": "Batch matrix runtime for Gaunt Sloth (BATCH-1): run a prompt-executable over a matrix of models and/or content-bound inputs",
5
5
  "license": "MIT",
6
6
  "author": "Andrew Kondratev",
@@ -34,11 +34,11 @@
34
34
  "#src/*.js": "./dist/*.js"
35
35
  },
36
36
  "dependencies": {
37
- "@langchain/core": "^1.2.3",
37
+ "@langchain/core": "^1.2.5",
38
38
  "yaml": "^2.9.0",
39
39
  "zod": "^4.4.3",
40
- "@gaunt-sloth/agent": "2.0.0-alpha.35",
41
- "@gaunt-sloth/core": "2.0.0-alpha.35"
40
+ "@gaunt-sloth/agent": "2.0.0-alpha.37",
41
+ "@gaunt-sloth/core": "2.0.0-alpha.37"
42
42
  },
43
43
  "files": [
44
44
  "./dist/*"