@letterstory/cli 0.54.0 → 0.55.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
@@ -359,6 +359,7 @@ letterstory admin tuning compare --title "Echo vs live" --candidates Hazel:21,As
359
359
  letterstory admin tuning comparison <id> # per-measure verdicts (better / worse / within noise / refused)
360
360
  letterstory admin tuning picks <id> # the blind queue; then: admin tuning pick <id> --cell <key> --pick left|right|tie
361
361
  letterstory admin tuning reading-list <id> --n 10 # your next blind pairs as links (Text A / Text B), to read off the screen; pick in the console
362
+ letterstory admin tuning pair <id> --cell <key> # one pair named: live and candidate, both texts, the measures per arm (a key reads every pair)
362
363
  letterstory admin tuning promote <experiment-id> --versions <service-kernel-id>:21 # from a concluded "ship" decision
363
364
  letterstory admin experiments list --q colons # what we've tried
364
365
  letterstory admin experiments new "We use too many colons" --as "claude-code"
package/lib/cli.mjs CHANGED
@@ -54,7 +54,7 @@ import {
54
54
  } from "./commands.mjs";
55
55
 
56
56
  // Keep in sync with cli/package.json.
57
- export const VERSION = "0.54.0";
57
+ export const VERSION = "0.55.0";
58
58
 
59
59
  // Flags that never take a value. Listing them explicitly means `deploy get --json <id>`
60
60
  // can't accidentally swallow the id as --json's value.
@@ -428,6 +428,7 @@ async function cmdAdminTuningContext(ctx) {
428
428
  * admin tuning picks <comparison-id> the blind queue (next pairs)
429
429
  * admin tuning pick <comparison-id> --cell <key> --pick left|right|tie record a blind pick
430
430
  * admin tuning reading-list <comparison-id> [--n 10] your next blind pairs as links, to read off the screen
431
+ * admin tuning pair <comparison-id> --cell <key> one pair named: live and candidate, both texts, the measures per arm
431
432
  * admin tuning promote <experiment-id> --versions <service-kernel-id>:<version>,… promote from a "ship" decision
432
433
  *
433
434
  * Research (Phase 3): our arena's versions as files, research comparisons, the deploy split.
@@ -556,6 +557,15 @@ async function cmdAdminTuning(ctx) {
556
557
  );
557
558
  return json ? printResult(io, flags, r) : io.log(r.text);
558
559
  }
560
+ case "pair": {
561
+ const cell = flagStr(flags.cell);
562
+ if (!id || !cell) throw new CliError("Usage: admin tuning pair <comparison-id> --cell <key>");
563
+ return printResult(
564
+ io,
565
+ { ...flags, json: true },
566
+ await staffRequest(ctx, "GET", `${T}/comparisons/${id}/pair?${new URLSearchParams({ cell })}`)
567
+ );
568
+ }
559
569
  // --- Research: our arena's versions, research comparisons, the deploy split ---
560
570
  case "arenas": {
561
571
  const r = await staffRequest(ctx, "GET", `${T}/arena-files`);
@@ -673,7 +683,7 @@ async function cmdAdminTuning(ctx) {
673
683
  }
674
684
  default:
675
685
  throw new CliError(
676
- "Usage: admin tuning kernels|kernel|candidate|compare|comparisons|comparison|picks|pick|reading-list|promote|arenas|arena|arena-candidate|research-compare|research-inputs|research-split|research-standing|promote-arena (see --help)"
686
+ "Usage: admin tuning kernels|kernel|candidate|compare|comparisons|comparison|picks|pick|reading-list|pair|promote|arenas|arena|arena-candidate|research-compare|research-inputs|research-split|research-standing|promote-arena (see --help)"
677
687
  );
678
688
  }
679
689
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@letterstory/cli",
3
- "version": "0.54.0",
3
+ "version": "0.55.0",
4
4
  "description": "Spin up and manage Letterstory phantom blogs from your terminal.",
5
5
  "type": "module",
6
6
  "license": "UNLICENSED",