@rulvar/cli 1.17.0 → 1.18.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/cli.js CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import { r as runCli, t as processIo } from "./io-Dp2LeOi7.js";
2
+ import { r as runCli, t as processIo } from "./io-74cSn0r8.js";
3
3
  import { inspect } from "node:util";
4
4
  //#region src/cli.ts
5
5
  /**
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { a as resumeCommand, c as driveRun, d as renderEventLine, f as DEFAULT_STORE_DIR, g as looksLikeFile, h as loadWorkflowModule, i as inspectCommand, l as reportOutcome, m as loadCliConfig, n as HELP, o as runCommand, p as assembleEngine, r as runCli, s as runsLsCommand, t as processIo, u as attachProgress } from "./io-Dp2LeOi7.js";
1
+ import { a as resumeCommand, c as driveRun, d as renderEventLine, f as DEFAULT_STORE_DIR, g as looksLikeFile, h as loadWorkflowModule, i as inspectCommand, l as reportOutcome, m as loadCliConfig, n as HELP, o as runCommand, p as assembleEngine, r as runCli, s as runsLsCommand, t as processIo, u as attachProgress } from "./io-74cSn0r8.js";
2
2
  import { ConfigError, InvalidResolutionError, JournalCompatibilityError, LeaseHeldError, Replayer, RulvarError, buildDeriverRegistry, costReportFromJournal, maskSecrets, normalizeEntry, scanJournalCompatibility, validateSchemaSpec } from "@rulvar/core";
3
3
  //#region src/server.ts
4
4
  /**
@@ -1102,7 +1102,8 @@ async function kbSweepCommand(argv, context) {
1102
1102
  throw error;
1103
1103
  }
1104
1104
  if (!canary.allOk) {
1105
- context.io.out(`canary ${member.model}: ${canary.fingerprint.slice(0, 12)}... incomplete (a probe did not settle ok); NOT flipping claims`);
1105
+ const refused = canary.probes.filter((probe) => probe.status === "refused").length;
1106
+ context.io.out(`canary ${member.model}: ${canary.fingerprint.slice(0, 12)}... incomplete ` + (refused > 0 ? `(${String(refused)} probe(s) refused by the envelope); NOT flipping claims` : "(a probe did not settle ok); NOT flipping claims"));
1106
1107
  continue;
1107
1108
  }
1108
1109
  const drift = await evals.flipStaleOnCanaryDrift(store, member.model, canary.fingerprint);
@@ -1127,12 +1128,17 @@ async function kbSweepCommand(argv, context) {
1127
1128
  }
1128
1129
  });
1129
1130
  for (const cell of report.cells) {
1130
- if (cell.envelopeExhausted === true) {
1131
+ if (cell.envelopeExhausted === true && cell.n === 0) {
1131
1132
  context.io.out(`cell ${cell.model} :: ${cell.taskClass}: envelope exhausted, not measured (no claim)`);
1132
1133
  continue;
1133
1134
  }
1134
- const exhausted = cell.exhaustedRuns === void 0 ? "" : ` (${String(cell.exhaustedRuns)} run(s) hit their own ceiling; no claim)`;
1135
- context.io.out(`cell ${cell.model} :: ${cell.taskClass}: passRate ${cell.passRate.toFixed(2)} over ${String(cell.n)} case${cell.n === 1 ? "" : "s"}${exhausted}`);
1135
+ const notes = [];
1136
+ if (cell.envelopeExhausted === true) notes.push(`INCOMPLETE: envelope refused ${cell.refusedRunLabel ?? "a run"} after ${String(cell.n)} of ${String(cell.plannedN)} case(s)`);
1137
+ else if (cell.n < cell.plannedN) notes.push(`INCOMPLETE: ${String(cell.n)} of ${String(cell.plannedN)} case(s) measured`);
1138
+ if (cell.exhaustedRuns !== void 0) notes.push(`${String(cell.exhaustedRuns)} run(s) hit their own ceiling`);
1139
+ if (cell.judgeIncompleteRuns !== void 0) notes.push(`${String(cell.judgeIncompleteRuns)} case(s) kept as evidence with an unfinished judge (${cell.incompleteReason ?? "judge budget"})`);
1140
+ const suffix = notes.length === 0 ? "" : ` (${notes.join("; ")}; no claim)`;
1141
+ context.io.out(`cell ${cell.model} :: ${cell.taskClass}: passRate ${cell.passRate.toFixed(2)} over ${String(cell.n)} case${cell.n === 1 ? "" : "s"}${suffix}`);
1136
1142
  }
1137
1143
  for (const claim of report.claims) context.io.out(`claim ${claim.id}: ${claim.taskClass} ${claim.polarity}`);
1138
1144
  context.io.out(report.committedVersion === void 0 ? "no claims crossed a threshold; nothing committed" : `committed ${String(report.claims.length)} claim(s) as store version ${String(report.committedVersion)} (report ${report.reportId})`);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rulvar/cli",
3
- "version": "1.17.0",
3
+ "version": "1.18.0",
4
4
  "description": "Rulvar shell: run/resume/runs/inspect/plan/kb commands, TUI progress, createServer, createWorker, OTel exporter.",
5
5
  "type": "module",
6
6
  "license": "Apache-2.0",
@@ -22,17 +22,17 @@
22
22
  "access": "public"
23
23
  },
24
24
  "dependencies": {
25
- "@rulvar/core": "1.17.0"
25
+ "@rulvar/core": "1.18.0"
26
26
  },
27
27
  "devDependencies": {
28
28
  "@types/node": "^22.20.0",
29
29
  "tsdown": "^0.22.3",
30
30
  "typescript": "~6.0.3",
31
- "@rulvar/testing": "1.17.0",
32
- "@rulvar/store-sqlite": "1.17.0",
33
- "@rulvar/plan": "1.17.0",
34
- "@rulvar/evals": "1.17.0",
35
- "@rulvar/planner": "1.17.0"
31
+ "@rulvar/planner": "1.18.0",
32
+ "@rulvar/plan": "1.18.0",
33
+ "@rulvar/store-sqlite": "1.18.0",
34
+ "@rulvar/evals": "1.18.0",
35
+ "@rulvar/testing": "1.18.0"
36
36
  },
37
37
  "bin": {
38
38
  "rulvar": "./dist/cli.js"