@skill-harness/cli 0.24.2 → 0.25.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/README.md CHANGED
@@ -41,3 +41,9 @@ npm i -g @skill-harness/cli
41
41
 
42
42
  - Repo + full docs: https://github.com/mojomanyana/skill-harness
43
43
  - Step-by-step usage: [`docs/USAGE.md`](https://github.com/mojomanyana/skill-harness/blob/main/docs/USAGE.md)
44
+
45
+ ## Optional decision evaluation and learning data
46
+
47
+ `skill-harness decision --help` exposes the npm-installed offline fixture, comparison, selected-session import and reviewed LoRA export workflow. `/skill-harness jev enable` asks for a fresh per-session storage choice every time; declining still permits explicitly confirmed JEV calls. Storage retains selected unlabeled inputs only and never authorizes training.
48
+
49
+ The exact Pi1.0.4 OAuth subscription comparison is separate from optional metered JEV. Reports preserve grouped splits, independent labels, abstention/error coverage and model/prompt identities. Synthetic fixtures qualify plumbing only. OpenAI Decisions remains excluded. See [the npm acceptance walkthrough](https://github.com/mojomanyana/skill-harness/blob/main/docs/DECISION-LEARNING.md) and the [data contracts](https://github.com/mojomanyana/skill-harness/blob/main/experiments/decision-shadow/LEARNING-WORKFLOW.md).
package/dist/cli.js CHANGED
@@ -5,6 +5,7 @@ import { tmpdir } from "node:os";
5
5
  import { discover, resolveSkill, loadSpec, parseSpec, appendScenario, parseModelRef, runSkillModel, formatScorecard, readResults, regradeRun, lintSkill, failsGate, renderTemplateSpec, isTemplateSpec, renderDraftSpec, buildSuggestPrompt, parseSuggestDraft, rescoreRun, regateRun, specPathForRunDir, collectLift, collectReport, collectStability, boundaryCells, stabilityNote, PATH_LEGEND, restampSkill, computeCoverage, formatCoverage, HARNESS_VERSION, defaultJudge, recordedJudgeOrDefault, assertJudgeAllowed, assertNotDowngraded, downgradeWarning, isScoredMode, resolveArm, isFreeOfflineCommand, } from "@skill-harness/core";
6
6
  import { getAdapter } from "@skill-harness/adapters";
7
7
  import { serveReview } from "./serve.js";
8
+ import { cmdDecision } from "./decision.js";
8
9
  const DEFAULT_MODEL = "fireworks:accounts/fireworks/models/deepseek-v4-pro";
9
10
  // The judge default lives in core (`defaultJudge()`), which resolves
10
11
  // SKILL_HARNESS_JUDGE over a baked value — it was duplicated in three places
@@ -754,6 +755,8 @@ export function help() {
754
755
  Every command with --skills also accepts --specs <root> (default: SKILL_HARNESS_SPECS).
755
756
  Skill text comes from --skills; test assets and results come from --specs.
756
757
 
758
+ decision <command> decision evaluation, session consent and learning export; decision --help
759
+
757
760
  version print ${HARNESS_VERSION} and exit (also --version / -v)
758
761
 
759
762
  defaults: model=${DEFAULT_MODEL} judge=${defaultJudge()} mode=green harness=pi
@@ -765,6 +768,8 @@ defaults: model=${DEFAULT_MODEL} judge=${defaultJudge()} mode=green harness=p
765
768
  }
766
769
  export async function main(argv) {
767
770
  const cmd = argv[0];
771
+ if (cmd === "decision")
772
+ return cmdDecision(argv.slice(1));
768
773
  const args = parseArgs(argv.slice(1));
769
774
  assertNoRetiredFlags(cmd, args);
770
775
  switch (cmd) {
@@ -0,0 +1 @@
1
+ export declare function cmdDecision(argv: string[]): Promise<void>;