modelrig 0.10.0 → 0.11.1

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.
Files changed (52) hide show
  1. package/CHANGELOG.md +96 -0
  2. package/dist/cli.d.ts.map +1 -1
  3. package/dist/cli.js +1 -0
  4. package/dist/config.d.ts +18 -0
  5. package/dist/config.d.ts.map +1 -1
  6. package/dist/config.js +23 -3
  7. package/dist/doctor-cli.d.ts.map +1 -1
  8. package/dist/doctor-cli.js +2 -1
  9. package/dist/doctor-preflight.d.ts +14 -2
  10. package/dist/doctor-preflight.d.ts.map +1 -1
  11. package/dist/doctor-preflight.js +65 -5
  12. package/dist/feedback/coverage.d.ts.map +1 -1
  13. package/dist/feedback/coverage.js +9 -2
  14. package/dist/index.d.ts +7 -1
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js +18 -8
  17. package/dist/init/init-cli.d.ts.map +1 -1
  18. package/dist/init/init-cli.js +21 -4
  19. package/dist/init/observe-cli.js +1 -1
  20. package/dist/init/observe.d.ts +7 -1
  21. package/dist/init/observe.d.ts.map +1 -1
  22. package/dist/init/observe.js +74 -22
  23. package/dist/init/starter.d.ts +36 -0
  24. package/dist/init/starter.d.ts.map +1 -0
  25. package/dist/init/starter.js +85 -0
  26. package/dist/run/raw-finalize.d.ts +49 -3
  27. package/dist/run/raw-finalize.d.ts.map +1 -1
  28. package/dist/run/raw-finalize.js +31 -14
  29. package/dist/run/raw-search-cost.d.ts +3 -2
  30. package/dist/run/raw-search-cost.d.ts.map +1 -1
  31. package/dist/run/raw-search-cost.js +1 -0
  32. package/dist/run/rawonly.d.ts +29 -5
  33. package/dist/run/rawonly.d.ts.map +1 -1
  34. package/dist/run/rawonly.js +54 -19
  35. package/dist/run/record-call.d.ts +104 -0
  36. package/dist/run/record-call.d.ts.map +1 -0
  37. package/dist/run/record-call.js +277 -0
  38. package/dist/telemetry/attempt-meta.d.ts +11 -0
  39. package/dist/telemetry/attempt-meta.d.ts.map +1 -1
  40. package/dist/telemetry/attempt-meta.js +3 -0
  41. package/dist/telemetry/lanes.d.ts +31 -0
  42. package/dist/telemetry/lanes.d.ts.map +1 -0
  43. package/dist/telemetry/lanes.js +41 -0
  44. package/dist/telemetry/org-identity.d.ts +5 -2
  45. package/dist/telemetry/org-identity.d.ts.map +1 -1
  46. package/dist/telemetry/org-identity.js +10 -8
  47. package/docs/agent-skill/SKILL.md +109 -10
  48. package/docs/how-it-fits.md +1 -1
  49. package/docs/instrumentation.md +152 -40
  50. package/docs/llms.txt +92 -9
  51. package/docs/quickstart.md +127 -15
  52. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -15,6 +15,102 @@ in `docs/ModelRig/development-rules.md`; enforced by `release-parity.test.ts`).
15
15
 
16
16
  ## [Unreleased]
17
17
 
18
+ ## [0.11.1] — 2026-10-21
19
+
20
+ Setup correctness (SURF-1, the 2026-10-20 setup audit). Patch: no new public
21
+ API, no DDL, no new environment variable.
22
+
23
+ **Fixed**
24
+
25
+ - **The `modelrig observe` seam no longer crashes your app on import.** The
26
+ generated `modelrig/observe/record-step.ts` builds its rig with
27
+ `createRig({ ...loadConfigFromEnv(), routesDir: null })`, so importing it in a
28
+ repo with no `./modelrig/routes` cannot throw `RouteConfigError`.
29
+ - **`createRig` with an absent *default* routes directory warns and builds a
30
+ raw-only rig** (`rig.runRaw`, `rig.runRawStream`, `rig.recordCall` work;
31
+ `rig.run` refuses with an `invariant_violation` that names the missing
32
+ directory). "Default" is tracked by where the value came from:
33
+ `loadConfigFromEnv()` filled it in (no `MODELRIG_ROUTES_DIR`, no `routesDir`
34
+ override) and it was left as loaded. A routes directory you set (env, a
35
+ `loadConfigFromEnv({ routesDir })` override, or a hand-built config, even
36
+ `"./modelrig/routes"`) that is missing still throws, as before. Pass
37
+ `routesDir: null` to mean raw-only and silence the warning.
38
+ - **The observe wiring reports cost.** `recordStep(stepKey, { …, call })`
39
+ reports the provider call through `rig.recordCall`, so observed steps carry
40
+ tokens and cost and appear on /inferences; the seam exports `closeRig()`.
41
+ Gemini wiring counts thinking tokens (`thoughtsTokenCount`) as output.
42
+ OBSERVE.md's run wrap passes `environment`, and the dead
43
+ `MODELRIG_ARTIFACT_STEPS` line is gone (the SDK never read it).
44
+ - **`modelrig init` writes the starter route's two files**
45
+ (`schemas/support_summarize.schema.json`, `prompts/support_summarize.system.md`
46
+ under the routes dir, never overwriting yours), so the
47
+ `example.support_summarize` route every on-ramp shows validates as pasted.
48
+ - **`bakeoff --from-eval-cases` runs with no routes directory** (an empty or
49
+ unrehydratable eval set reports honestly; a case that replays still needs the
50
+ task's route bundle for its variants), and is listed in `--help`.
51
+ - **`modelrig doctor` prints the org slug**: `→ org «Your Org» (your-org) ✓`.
52
+ The slug is what `--expect-org` and `createRig({ expectOrg })` compare.
53
+
54
+ **Docs** (modelrig.dev, shipped in the tarball where listed in `files`)
55
+
56
+ - Shared setup blocks for the raw rig, `rig.recordCall`, run grades, bake-offs
57
+ and `--expect-org`, one text on every surface. The TypeScript shared blocks
58
+ and the generated observe seam are compiled strict +
59
+ `exactOptionalPropertyTypes` + `noUncheckedIndexedAccess` against the built
60
+ types in CI; other page snippets are not.
61
+ - A run grade's subject id is `run.runId` (the run's id; the grade shows on
62
+ the run page and on /projects); the old `run_id` examples did not compile. The A/B `arm` example spreads `arm` only when drawn.
63
+ - The modelrig.dev header is a five-link top bar plus a grouped sidebar
64
+ (collapsible on mobile) instead of ~40 flat links.
65
+
66
+ ## [0.11.0] — 2026-10-20
67
+
68
+ **`rig.recordCall()` — record a provider call ModelRig did not dispatch**
69
+ (OBS-1, acceptance ruling M12). When a call has to stay a direct provider call,
70
+ report it after it returns: `rig.recordCall({ provider, model, usage, servedTier?,
71
+ requestedTier?, latencyMs, ttfbMs?, failureClass?, webSearchCalls?, stepKey?, tags?,
72
+ providerRequestId?, finishReason? })` → `{ inferenceId, callId, costEstimateUsd,
73
+ pricingMissing }`. One row, built by the raw lane's own helpers: priced at list
74
+ for the SERVED tier (flex included), `route = provider/model`, `routeVersion 0`,
75
+ inside `run.scope`/`run.start` a ground-truth step joined by `inference_id` and
76
+ `run_id` stamped; `webSearchCalls` writes the separate `rung:"search"` cost row.
77
+ The row carries `tags.lane = "external"` and `tags.key_ownership = "byok"`
78
+ (SDK-owned, a caller tag cannot override them) and `meta.provenance =
79
+ "caller-reported"` (new optional `AttemptMetaV1` key, exported type
80
+ `AttemptProvenance`; additive, no version bump). Any non-empty provider is
81
+ accepted; an unpriced provider/model records $0 with `pricingMissing`.
82
+ Synchronous and never throws: invalid input warns once per rule with a fix and
83
+ returns `inferenceId: null`. Token counts and `latencyMs`/`ttfbMs` are rounded
84
+ to integers and clamped (tokens ≤ `Number.MAX_SAFE_INTEGER`, ms ≤ 2³¹−1); a
85
+ `provider/model` longer than 200 characters is refused (ingest would drop it). Types `RecordCallInput`, `RecordCallResult`,
86
+ `RecordCallUsage`. Docs: `not-captured.md` → *Calls your code makes itself:
87
+ record them*; `instrumentation.md`.
88
+
89
+ **Raw-lane rows are BYOK by construction.** Every `rig.runRaw` /
90
+ `rig.runRawStream` row (and its native-search cost row) now carries
91
+ `tags.key_ownership = "byok"`, SDK-owned and stamped last beside `lane: "raw"`
92
+ — the raw lane only ever dispatches on the caller's own provider key. Before
93
+ 0.11.0 a raw call made in your own process carried no `key_ownership` tag;
94
+ the control plane now classifies `lane: "raw"` rows as BYOK on the lane. This
95
+ applies to every window settled from this release on; no customer usage window
96
+ had been settled before it.
97
+
98
+ **One lane classifier.** `isRoutedLane(lane)` (false for `"raw"` and
99
+ `"external"`), `callLaneOf(lane)` (`routes` | `raw` | `external`), `RAW_LANE`,
100
+ `EXTERNAL_LANE`, `RECORDED_BADGE`, `RECORDED_TOOLTIP` and the `CallLane` type are
101
+ exported — the same test the server rollups, `/coverage` (`computeCoverage`)
102
+ and the console use, so a recorded or raw call never enters ladder,
103
+ conformance or coverage-rung math. Docs: `not-captured.md`.
104
+
105
+ **`modelrig doctor` edge cases (QA N14).** A value that is not a `rig_sk_` key
106
+ at all (a deployment or provider token) is a usage error — "not a rig_sk_ key —
107
+ doctor checks customer API keys", exit 2 — and a `rig_sk_` key that is
108
+ truncated or padded fails with "malformed key"; neither is ever sent over the
109
+ wire (`PreflightResult.status` gains `"not_rig_key"` and `"malformed_key"`). A 2xx whoami whose body is
110
+ not JSON, or that names no org, is now a failure (exit 1, no ✓, says why) — it
111
+ used to print `(unknown org) ✓`. The first-flush "exporting to org" line no
112
+ longer prints `«?»`/`(?)` placeholders.
113
+
18
114
  ## [0.10.0] — 2026-10-19
19
115
 
20
116
  **Behaviour change (raw lane) — migration note.** A `rig.runRaw` call on Gemini
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;GAgBG;AAsDH,MAAM,WAAW,KAAK;IACpB,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5C,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CACpC;AAeD,wBAAgB,SAAS,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,KAAK,CAuBxD;AA+eD,wBAAsB,IAAI,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CA+CnE"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;GAgBG;AAsDH,MAAM,WAAW,KAAK;IACpB,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5C,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CACpC;AAeD,wBAAgB,SAAS,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,KAAK,CAuBxD;AAgfD,wBAAsB,IAAI,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CA+CnE"}
package/dist/cli.js CHANGED
@@ -513,6 +513,7 @@ const USAGE = [
513
513
  " modelrig serve (needs the modelrig-server package)",
514
514
  " modelrig bakeoff --route <route> --variants a,b,c --replay-last N [--budget-usd usd] [--objective quality-first|balanced|cost-first] [--keep-outputs[=all]] [--json] [--no-mirror]",
515
515
  " modelrig bakeoff --from-proposal <id> [--replay-last N] [--keep-outputs[=all]] [--json]",
516
+ " modelrig bakeoff --from-eval-cases <task> --variants a,b,c [--budget-usd usd] [--objective quality-first|balanced|cost-first] [--keep-outputs[=all]] [--json] (replays the task's promoted eval cases; no routes dir needed until a case replays)",
516
517
  " modelrig bakeoff --mask-policy <route> [--replay-last N] [--leak-only] (CS-1: masked-vs-unmasked value-accuracy Δ + leak proof; --leak-only = offline, no dispatch)",
517
518
  " modelrig watch run [--events fixtures.json] [--json]",
518
519
  " modelrig regret-monitor --route <route> [--dry-run] [--json] (Q1: one regret-band cycle; files a regret_breach bake-off on breach)",
package/dist/config.d.ts CHANGED
@@ -10,7 +10,14 @@ import type { CapabilityFlag, ProviderId } from "./types/provider";
10
10
  * invariant); `telemetry/attempt-meta.ts:resolvePipelineSha` composes this with
11
11
  * a `.git/HEAD` fallback and never throws. Returns undefined when none is set. */
12
12
  export declare function pipelineShaFromEnv(): string | undefined;
13
+ /** SURF-1 QA: marks a config whose `routesDir` `loadConfigFromEnv` filled in
14
+ * from {@link DEFAULT_ROUTES_DIR} (MODELRIG_ROUTES_DIR unset, no `routesDir`
15
+ * override). The value is the default it filled in. An enumerable symbol key,
16
+ * so it survives `{ ...loadConfigFromEnv(), … }` and never reaches JSON. */
17
+ export declare const ROUTES_DIR_DEFAULTED: unique symbol;
13
18
  export interface RigConfig {
19
+ /** Set by loadConfigFromEnv when it defaulted routesDir (see ROUTES_DIR_DEFAULTED). */
20
+ readonly [ROUTES_DIR_DEFAULTED]?: string;
14
21
  /** Directory of route bundles, OR `null` for a first-class runRaw-only rig
15
22
  * (CE-8, `ce8-runraw-only-rig-spec-plan.md` R1). With `null`, createRig skips
16
23
  * route loading, the `rig.yaml` manifest, and the serveability gate; the raw
@@ -253,6 +260,17 @@ export interface DirectExportConfig extends ExportCommon {
253
260
  * WHICH variable to set rather than "no key configured" (F1 / WS3: errors
254
261
  * that teach). `loadConfigFromEnv` below reads the same names. */
255
262
  export declare const PROVIDER_KEY_ENV: Readonly<Record<string, string>>;
263
+ /** The routes directory `loadConfigFromEnv` uses when MODELRIG_ROUTES_DIR is
264
+ * unset. Exported for createRig's absent-default rule (SURF-1, audit #1). */
265
+ export declare const DEFAULT_ROUTES_DIR = "./modelrig/routes";
266
+ /** True when the config's `routesDir` is the UNCONFIGURED default: it came
267
+ * from `loadConfigFromEnv` filling in {@link DEFAULT_ROUTES_DIR} (env unset, no
268
+ * override) and nobody changed it since. Tracked by where the value came from,
269
+ * not by comparing strings: a `routesDir` you pass in code — even
270
+ * "./modelrig/routes" in a hand-built config — is explicit. createRig treats an
271
+ * absent default dir as "no routes yet" (warn + raw-only) and an explicit absent
272
+ * dir as an error (SURF-1 ruling). */
273
+ export declare function isDefaultRoutesDir(config: RigConfig): boolean;
256
274
  export declare function loadConfigFromEnv(overrides?: Partial<RigConfig>): RigConfig;
257
275
  /**
258
276
  * Narrow `config.export` to DIRECT mode, or explain why the command cannot run.
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
package/dist/config.js CHANGED
@@ -5,12 +5,13 @@
5
5
  * __tests__/package-invariants.test.ts).
6
6
  */
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.PROVIDER_KEY_ENV = exports.DEFAULT_CONTENT_SCRUB_MODE = void 0;
8
+ exports.DEFAULT_ROUTES_DIR = exports.PROVIDER_KEY_ENV = exports.DEFAULT_CONTENT_SCRUB_MODE = exports.ROUTES_DIR_DEFAULTED = void 0;
9
9
  exports.pipelineShaFromEnv = pipelineShaFromEnv;
10
10
  exports.resolveArtifactsConfig = resolveArtifactsConfig;
11
11
  exports.defaultContentUploadsUrl = defaultContentUploadsUrl;
12
12
  exports.parseOtlpHeaders = parseOtlpHeaders;
13
13
  exports.resolveOtlpConfig = resolveOtlpConfig;
14
+ exports.isDefaultRoutesDir = isDefaultRoutesDir;
14
15
  exports.loadConfigFromEnv = loadConfigFromEnv;
15
16
  exports.directExportOf = directExportOf;
16
17
  const ingest_protocol_1 = require("./telemetry/ingest-protocol");
@@ -27,6 +28,11 @@ function pipelineShaFromEnv() {
27
28
  }
28
29
  return undefined;
29
30
  }
31
+ /** SURF-1 QA: marks a config whose `routesDir` `loadConfigFromEnv` filled in
32
+ * from {@link DEFAULT_ROUTES_DIR} (MODELRIG_ROUTES_DIR unset, no `routesDir`
33
+ * override). The value is the default it filled in. An enumerable symbol key,
34
+ * so it survives `{ ...loadConfigFromEnv(), … }` and never reaches JSON. */
35
+ exports.ROUTES_DIR_DEFAULTED = Symbol.for("modelrig.routesDirDefaulted");
30
36
  /** The scrub mode used when NO control-plane resolver answers for a task
31
37
  * (local-only / direct rigs, or a run with no task identity). The content-on
32
38
  * default — scan and count, upload verbatim. Kept in sync with
@@ -143,7 +149,19 @@ exports.PROVIDER_KEY_ENV = {
143
149
  // not apply to a first-party vendor key).
144
150
  zai: "ZAI_API_KEY",
145
151
  };
146
- const DEFAULT_ROUTES_DIR = "./modelrig/routes";
152
+ /** The routes directory `loadConfigFromEnv` uses when MODELRIG_ROUTES_DIR is
153
+ * unset. Exported for createRig's absent-default rule (SURF-1, audit #1). */
154
+ exports.DEFAULT_ROUTES_DIR = "./modelrig/routes";
155
+ /** True when the config's `routesDir` is the UNCONFIGURED default: it came
156
+ * from `loadConfigFromEnv` filling in {@link DEFAULT_ROUTES_DIR} (env unset, no
157
+ * override) and nobody changed it since. Tracked by where the value came from,
158
+ * not by comparing strings: a `routesDir` you pass in code — even
159
+ * "./modelrig/routes" in a hand-built config — is explicit. createRig treats an
160
+ * absent default dir as "no routes yet" (warn + raw-only) and an explicit absent
161
+ * dir as an error (SURF-1 ruling). */
162
+ function isDefaultRoutesDir(config) {
163
+ return config.routesDir !== null && config[exports.ROUTES_DIR_DEFAULTED] === config.routesDir;
164
+ }
147
165
  const DEFAULT_TELEMETRY_DB = "./.modelrig/telemetry.db";
148
166
  function loadConfigFromEnv(overrides) {
149
167
  const env = process.env;
@@ -204,7 +222,7 @@ function loadConfigFromEnv(overrides) {
204
222
  maxBytes: env.MODELRIG_CONTENT_MAX_BYTES,
205
223
  }, controlPlaneConfigured, devForceOn);
206
224
  const fromEnv = {
207
- routesDir: env.MODELRIG_ROUTES_DIR ?? DEFAULT_ROUTES_DIR,
225
+ routesDir: env.MODELRIG_ROUTES_DIR ?? exports.DEFAULT_ROUTES_DIR,
208
226
  telemetryDbPath: env.MODELRIG_TELEMETRY_DB ?? DEFAULT_TELEMETRY_DB,
209
227
  otlp,
210
228
  artifacts,
@@ -298,10 +316,12 @@ function loadConfigFromEnv(overrides) {
298
316
  return {};
299
317
  })(),
300
318
  };
319
+ const defaulted = env.MODELRIG_ROUTES_DIR === undefined && overrides?.routesDir === undefined;
301
320
  return {
302
321
  ...fromEnv,
303
322
  ...overrides,
304
323
  keys: { ...fromEnv.keys, ...overrides?.keys },
324
+ ...(defaulted ? { [exports.ROUTES_DIR_DEFAULTED]: exports.DEFAULT_ROUTES_DIR } : {}),
305
325
  };
306
326
  }
307
327
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"doctor-cli.d.ts","sourceRoot":"","sources":["../src/doctor-cli.ts"],"names":[],"mappings":"AAiBA,MAAM,WAAW,aAAa;IAC5B;oEACgE;IAChE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,wBAAsB,YAAY,CAAC,IAAI,GAAE,aAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,CAuD5E"}
1
+ {"version":3,"file":"doctor-cli.d.ts","sourceRoot":"","sources":["../src/doctor-cli.ts"],"names":[],"mappings":"AAiBA,MAAM,WAAW,aAAa;IAC5B;oEACgE;IAChE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,wBAAsB,YAAY,CAAC,IAAI,GAAE,aAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,CAwD5E"}
@@ -63,5 +63,6 @@ async function runDoctorCli(opts = {}) {
63
63
  return 0;
64
64
  }
65
65
  console.error(result.line);
66
- return 1;
66
+ // L6 NIT-6: the wrong kind of secret is a usage error (exit 2), not a failed check.
67
+ return result.status === "not_rig_key" ? 2 : 1;
67
68
  }
@@ -18,11 +18,20 @@ export interface WhoamiResponse {
18
18
  }
19
19
  export interface PreflightResult {
20
20
  readonly ok: boolean;
21
- /** HTTP status, or "network_error" when the request never completed. */
22
- readonly status: number | "network_error";
21
+ /** HTTP status; "network_error" when the request never completed;
22
+ * "malformed_key" when the key failed the local shape check and NOTHING was
23
+ * sent (QA N14); "not_rig_key" when the value is not a `rig_sk_` key at all
24
+ * (e.g. a deployment token) — doctor checks customer API keys only, so it
25
+ * is a usage error, never called "malformed", and nothing is sent (L6 NIT-6).
26
+ * A 2xx whose body names no org is `ok: false` with its HTTP status — it
27
+ * confirmed nothing. */
28
+ readonly status: number | "network_error" | "malformed_key" | "not_rig_key";
23
29
  /** One human line, ready to print or log. */
24
30
  readonly line: string;
25
31
  readonly whoami?: WhoamiResponse;
32
+ /** The org's display name — present exactly when `ok` (a 2xx that names no
33
+ * org is not ok, QA N14). */
34
+ readonly orgName?: string;
26
35
  }
27
36
  /**
28
37
  * Ask the configured api-mode sink who the key is. Returns null when there is
@@ -40,6 +49,9 @@ export declare function whoamiPreflight(ingestUrl: string, apiKey: string, fetch
40
49
  /** Abort the request (e.g. `AbortSignal.timeout(ms)`) — the sink passes one so
41
50
  * a hanging whoami can never hold the process open. An abort is a network_error. */
42
51
  signal?: AbortSignal): Promise<PreflightResult>;
52
+ /** The display name of a whoami org (name, else id, else slug), or null when
53
+ * the server named none — never a placeholder glyph (QA N14). */
54
+ export declare function orgDisplayName(org: WhoamiResponse["org"]): string | null;
43
55
  /** The org slug a successful preflight resolved, or null when unknown. */
44
56
  export declare function resolvedOrgSlug(result: PreflightResult): string | null;
45
57
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"doctor-preflight.d.ts","sourceRoot":"","sources":["../src/doctor-preflight.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE1C;qFACqF;AACrF,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,GAAG,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC/F,QAAQ,CAAC,GAAG,CAAC,EAAE;QAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC9E,QAAQ,CAAC,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CACvF;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,wEAAwE;IACxE,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe,CAAC;IAC1C,6CAA6C;IAC7C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC;CAClC;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,SAAS,EACjB,OAAO,GAAE,OAAO,KAAa,GAC5B,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAIjC;AAED;;;;GAIG;AACH,wBAAsB,eAAe,CACnC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,OAAO,KAAa;AAC7B;oFACoF;AACpF,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,eAAe,CAAC,CA6C1B;AAED,0EAA0E;AAC1E,wBAAgB,eAAe,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,GAAG,IAAI,CAGtE;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAI7F"}
1
+ {"version":3,"file":"doctor-preflight.d.ts","sourceRoot":"","sources":["../src/doctor-preflight.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE1C;qFACqF;AACrF,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,GAAG,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC/F,QAAQ,CAAC,GAAG,CAAC,EAAE;QAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC9E,QAAQ,CAAC,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CACvF;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB;;;;;;4BAMwB;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe,GAAG,eAAe,GAAG,aAAa,CAAC;IAC5E,6CAA6C;IAC7C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC;IACjC;iCAC6B;IAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,SAAS,EACjB,OAAO,GAAE,OAAO,KAAa,GAC5B,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAIjC;AAED;;;;GAIG;AACH,wBAAsB,eAAe,CACnC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,OAAO,KAAa;AAC7B;oFACoF;AACpF,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,eAAe,CAAC,CAiG1B;AAED;iEACiE;AACjE,wBAAgB,cAAc,CAAC,GAAG,EAAE,cAAc,CAAC,KAAK,CAAC,GAAG,MAAM,GAAG,IAAI,CAMxE;AAED,0EAA0E;AAC1E,wBAAgB,eAAe,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,GAAG,IAAI,CAGtE;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAI7F"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.runAuthPreflight = runAuthPreflight;
4
4
  exports.whoamiPreflight = whoamiPreflight;
5
+ exports.orgDisplayName = orgDisplayName;
5
6
  exports.resolvedOrgSlug = resolvedOrgSlug;
6
7
  exports.expectedOrgMismatch = expectedOrgMismatch;
7
8
  /**
@@ -51,6 +52,29 @@ async function whoamiPreflight(ingestUrl, apiKey, fetchFn = fetch,
51
52
  signal) {
52
53
  const base = new URL(ingestUrl).origin;
53
54
  const redacted = (0, api_key_format_1.redactApiKey)(apiKey);
55
+ // L6 NIT-6: a value that is not a rig_sk_ key at all (a deployment or other
56
+ // service token) is not "malformed" — it is the wrong kind of secret. Never
57
+ // sent over the wire.
58
+ // (Surrounding whitespace/quotes are a malformed rig_sk_ key, handled below.)
59
+ if (!apiKey.trim().replace(/^["']/, "").startsWith(api_key_format_1.API_KEY_PREFIX)) {
60
+ return {
61
+ ok: false,
62
+ status: "not_rig_key",
63
+ line: `[modelrig] not a ${api_key_format_1.API_KEY_PREFIX} key — doctor checks customer API keys. MODELRIG_API_KEY holds a ` +
64
+ `different kind of secret, so nothing was sent. Set it to the ${api_key_format_1.API_KEY_PREFIX} key minted at ` +
65
+ "app.modelrig.ai → Keys.",
66
+ };
67
+ }
68
+ // QA N14: a rig_sk_ key that fails the local shape check is never sent over the wire.
69
+ if (!(0, api_key_format_1.looksLikeApiKey)(apiKey)) {
70
+ return {
71
+ ok: false,
72
+ status: "malformed_key",
73
+ line: `[modelrig] malformed key — MODELRIG_API_KEY starts like a ${api_key_format_1.API_KEY_PREFIX} key but is truncated or ` +
74
+ "carries stray characters/whitespace, so nothing was sent to the server. Copy the full key from " +
75
+ "app.modelrig.ai → Keys and set it without quotes.",
76
+ };
77
+ }
54
78
  try {
55
79
  const res = await fetchFn(`${base}/v1/whoami`, {
56
80
  headers: { authorization: `Bearer ${apiKey}` },
@@ -73,15 +97,40 @@ signal) {
73
97
  };
74
98
  }
75
99
  const who = (await res.json().catch(() => null));
76
- const org = who?.org ?? null;
77
- const orgLabel = org !== null && org !== undefined ? `«${org.name ?? org.id ?? "?"}»` : "(unknown org)";
78
- const posture = who?.posture?.telemetry;
100
+ // QA N14: a 2xx that does not NAME an org confirmed nothing — never a ✓.
101
+ if (who === null || typeof who !== "object") {
102
+ return {
103
+ ok: false,
104
+ status: res.status,
105
+ line: `[modelrig] whoami ${res.status} at ${base} returned a body that is not JSON — could not confirm ` +
106
+ `key ${redacted}'s org. Check that the ingest URL points at a ModelRig server, then retry \`modelrig doctor\`.`,
107
+ };
108
+ }
109
+ const orgLabel = orgDisplayName(who.org);
110
+ if (orgLabel === null) {
111
+ return {
112
+ ok: false,
113
+ status: res.status,
114
+ line: `[modelrig] whoami ${res.status} at ${base} named no org for key ${redacted} — could not confirm ` +
115
+ "where telemetry lands. The server may predate whoami's org field; retry `modelrig doctor`, " +
116
+ "or check the key at app.modelrig.ai → Keys.",
117
+ whoami: who,
118
+ };
119
+ }
120
+ // SURF-1 (audit #15): print the slug next to the name — it is what
121
+ // `--expect-org` / `createRig({ expectOrg })` compare, and it was otherwise
122
+ // only in a console tooltip. Omitted when the label already IS the slug.
123
+ const slug = who.org?.slug;
124
+ const slugPart = typeof slug === "string" && slug.trim() !== "" && slug !== orgLabel ? ` (${slug})` : "";
125
+ const orgLabelQuoted = `«${orgLabel}»${slugPart}`;
126
+ const posture = who.posture?.telemetry;
79
127
  const postureLabel = typeof posture === "string" ? `, telemetry: ${posture}` : "";
80
128
  return {
81
129
  ok: true,
82
130
  status: res.status,
83
- line: `[modelrig] key ${redacted} → org ${orgLabel} ✓ (ingest ${base}${postureLabel})`,
84
- ...(who !== null ? { whoami: who } : {}),
131
+ line: `[modelrig] key ${redacted} → org ${orgLabelQuoted} ✓ (ingest ${base}${postureLabel})`,
132
+ whoami: who,
133
+ orgName: orgLabel,
85
134
  };
86
135
  }
87
136
  catch (err) {
@@ -93,6 +142,17 @@ signal) {
93
142
  };
94
143
  }
95
144
  }
145
+ /** The display name of a whoami org (name, else id, else slug), or null when
146
+ * the server named none — never a placeholder glyph (QA N14). */
147
+ function orgDisplayName(org) {
148
+ if (org === null || org === undefined || typeof org !== "object")
149
+ return null;
150
+ for (const v of [org.name, org.id, org.slug]) {
151
+ if (typeof v === "string" && v.trim() !== "")
152
+ return v;
153
+ }
154
+ return null;
155
+ }
96
156
  /** The org slug a successful preflight resolved, or null when unknown. */
97
157
  function resolvedOrgSlug(result) {
98
158
  const slug = result.whoami?.org?.slug;
@@ -1 +1 @@
1
- {"version":3,"file":"coverage.d.ts","sourceRoot":"","sources":["../../src/feedback/coverage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEjE,eAAO,MAAM,gBAAgB,KAAK,CAAC;AAEnC,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,6EAA6E;IAC7E,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC;IACrB,oEAAoE;IACpE,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC;AAED;;;;;+EAK+E;AAC/E,wBAAgB,eAAe,CAC7B,IAAI,EAAE,SAAS,YAAY,EAAE,EAC7B,MAAM,EAAE,SAAS,QAAQ,EAAE,GAC1B,aAAa,EAAE,CAqFjB"}
1
+ {"version":3,"file":"coverage.d.ts","sourceRoot":"","sources":["../../src/feedback/coverage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGjE,eAAO,MAAM,gBAAgB,KAAK,CAAC;AAEnC,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,6EAA6E;IAC7E,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC;IACrB,oEAAoE;IACpE,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC;AAED;;;;;+EAK+E;AAC/E,wBAAgB,eAAe,CAC7B,IAAI,EAAE,SAAS,YAAY,EAAE,EAC7B,MAAM,EAAE,SAAS,QAAQ,EAAE,GAC1B,aAAa,EAAE,CA2FjB"}
@@ -15,6 +15,7 @@
15
15
  Object.defineProperty(exports, "__esModule", { value: true });
16
16
  exports.RUNG1_MIN_GRADES = void 0;
17
17
  exports.computeCoverage = computeCoverage;
18
+ const lanes_1 = require("../telemetry/lanes");
18
19
  exports.RUNG1_MIN_GRADES = 10;
19
20
  /** Attribution: a grade joins a route via its inference-subject id, or via its
20
21
  * run-subject (episode) id matching a row's run_id tag. Unmatched grades attach
@@ -31,14 +32,20 @@ function computeCoverage(rows, grades) {
31
32
  // view): bake-off replays are candidate-variant experiments, not the
32
33
  // route's production serving — counting them skews conformance/repair
33
34
  // rates with losing variants that never served a real request.
35
+ // OBS-1 L6 MUST-1: coverage is ROUTE readiness — raw passthroughs and
36
+ // recorded calls (`tags.lane` raw / external) walked no route and never
37
+ // contribute samples, conformance or a rung.
34
38
  let replayTagged = false;
39
+ let unrouted = false;
35
40
  try {
36
- replayTagged = JSON.parse(row.tagsJson).replay !== undefined;
41
+ const tags = JSON.parse(row.tagsJson);
42
+ replayTagged = tags.replay !== undefined;
43
+ unrouted = !(0, lanes_1.isRoutedLane)(tags.lane);
37
44
  }
38
45
  catch {
39
46
  replayTagged = false;
40
47
  }
41
- if (replayTagged)
48
+ if (replayTagged || unrouted)
42
49
  continue;
43
50
  const agg = byRoute.get(row.route) ?? {
44
51
  samples: 0,
package/dist/index.d.ts CHANGED
@@ -13,6 +13,7 @@ import type { ServeabilityWarning } from "./routes/serveability";
13
13
  import { type ToolRegistry } from "./prompts/tools-register";
14
14
  import type { RunStreamHandle, RunStreamOptions } from "./run/stream";
15
15
  import type { RawRunInput } from "./run/raw";
16
+ import { type RecordCallInput, type RecordCallResult } from "./run/record-call";
16
17
  import type { CapabilityLookup } from "./run/resolve";
17
18
  import { type ArtifactNamespace } from "./artifacts";
18
19
  import type { ExporterStats } from "./telemetry/exporter";
@@ -51,6 +52,8 @@ export interface Rig {
51
52
  /** Streaming variant of runRaw() — true token streaming, NO terminal-validation
52
53
  * event (the raw lane has no schema; the streamed bytes are the answer). */
53
54
  runRawStream(input: RawRunInput): RunStreamHandle;
55
+ /** OBS-1: record a provider call YOUR code made (ModelRig did not dispatch it) — one `lane=external` row, synchronous, never throws. See `run/record-call.ts`. */
56
+ recordCall(input: RecordCallInput): RecordCallResult;
54
57
  /** Attach a GRADE to a subject (inference/run/artifact) — the unified judgment
55
58
  * primitive (R1) and the SOLE judgment write API; `score` 0–1, verdict DERIVED. */
56
59
  grade(subject: GradeSubject, opts: GradeOpts): GradeRow;
@@ -128,7 +131,7 @@ export type { RigConfig, ApiExportConfig, DirectExportConfig } from "./config";
128
131
  export { stampBatch, foreignOrgGrades, INGEST_PATH, INGEST_PROTOCOL_VERSION, INGEST_PROTOCOL_VERSION_V1, DEFAULT_INGEST_URL } from "./telemetry/ingest-protocol";
129
132
  export type { IngestBatch, IngestOutcome, TableWrite, Tenancy, WireInference, WireEnvelope, WireRoute, WireRun, WireStep, WireArtifact, WireArtifactEdge, WireGrade, WireEvalCase, WireManifest, } from "./telemetry/ingest-protocol";
130
133
  export { summarizeAttemptMeta, isMetaSafeString, sanitizeMetaForWire, renderRequestForHash, reservedTagNearMisses, resolvePipelineSha, RESERVED_TAG_KEYS } from "./telemetry/attempt-meta";
131
- export type { AttemptMetaV1, RunMetaV1, FinishReason, ContextBucket, EgressReceiptV1, AttemptMetaInputs, AttemptMetaSource, ReservedTagKey, PromptDelivery } from "./telemetry/attempt-meta";
134
+ export type { AttemptMetaV1, RunMetaV1, FinishReason, ContextBucket, EgressReceiptV1, AttemptMetaInputs, AttemptMetaSource, ReservedTagKey, PromptDelivery, AttemptProvenance } from "./telemetry/attempt-meta";
132
135
  export { createTelemetryExporter } from "./telemetry/exporter";
133
136
  export type { Exporter, ExporterConfig, ExporterStats, ExportedRouteMirror } from "./telemetry/exporter";
134
137
  export { createApiSink, createDirectSink, SinkSendError } from "./telemetry/sinks";
@@ -179,6 +182,9 @@ export type { ResolvedRouteBundle } from "./routes/resolved-bundle";
179
182
  export type { ApiCallConfigFetcherConfig, CallConfigFetcher, CallConfigMode, CallConfigPin, CallConfigResolver, CallConfigResolverConfig, CallConfigSampling, CallConfigSource, ResolvedCallConfig, CallConfigExperiment, ExperimentArm, DrawArmOptions, ResolvedForRun } from "./routes/call-config";
180
183
  export { runRaw, runRawStream } from "./run/raw";
181
184
  export type { RawRunInput, RawRunDeps } from "./run/raw";
185
+ export type { RecordCallInput, RecordCallResult, RecordCallUsage } from "./run/record-call";
186
+ export { isRoutedLane, callLaneOf, RAW_LANE, EXTERNAL_LANE, RECORDED_BADGE, RECORDED_TOOLTIP } from "./telemetry/lanes";
187
+ export type { CallLane } from "./telemetry/lanes";
182
188
  export { requireRoutesDir, rawOnlyRouteFailure, RAW_ONLY_FIX_HINT } from "./run/rawonly";
183
189
  export type { ToolDefinition, ToolChoice, ToolCall, AdapterStreamEvent } from "./types/provider";
184
190
  export { PROVIDER_IDS, ALL_CAPABILITY_FLAGS } from "./types/provider";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}