instar 1.3.1247 → 1.3.1249

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 (57) hide show
  1. package/dist/commands/server.d.ts.map +1 -1
  2. package/dist/commands/server.js +20 -0
  3. package/dist/commands/server.js.map +1 -1
  4. package/dist/commands/testAsSelfValidation.js +1 -1
  5. package/dist/commands/testAsSelfValidation.js.map +1 -1
  6. package/dist/core/ExecutionJournal.d.ts.map +1 -1
  7. package/dist/core/ExecutionJournal.js +2 -0
  8. package/dist/core/ExecutionJournal.js.map +1 -1
  9. package/dist/core/JevSignalShadow.d.ts +98 -0
  10. package/dist/core/JevSignalShadow.d.ts.map +1 -0
  11. package/dist/core/JevSignalShadow.js +230 -0
  12. package/dist/core/JevSignalShadow.js.map +1 -0
  13. package/dist/core/MessagingToneGate.d.ts +10 -0
  14. package/dist/core/MessagingToneGate.d.ts.map +1 -1
  15. package/dist/core/MessagingToneGate.js +18 -0
  16. package/dist/core/MessagingToneGate.js.map +1 -1
  17. package/dist/core/PostUpdateMigrator.d.ts.map +1 -1
  18. package/dist/core/PostUpdateMigrator.js +17 -0
  19. package/dist/core/PostUpdateMigrator.js.map +1 -1
  20. package/dist/core/durableSecretScrub.d.ts +6 -4
  21. package/dist/core/durableSecretScrub.d.ts.map +1 -1
  22. package/dist/core/durableSecretScrub.js +28 -6
  23. package/dist/core/durableSecretScrub.js.map +1 -1
  24. package/dist/core/redactUrl.d.ts.map +1 -1
  25. package/dist/core/redactUrl.js +1 -0
  26. package/dist/core/redactUrl.js.map +1 -1
  27. package/dist/core/types.d.ts +18 -0
  28. package/dist/core/types.d.ts.map +1 -1
  29. package/dist/core/types.js.map +1 -1
  30. package/dist/data/standards-guard-index.json +1 -1
  31. package/dist/data/standards-guard-index.meta.json +2 -2
  32. package/dist/data/standards-registry.meta.json +1 -1
  33. package/dist/messaging/outbound-credential-guard.d.ts.map +1 -1
  34. package/dist/messaging/outbound-credential-guard.js +31 -8
  35. package/dist/messaging/outbound-credential-guard.js.map +1 -1
  36. package/dist/monitoring/ClaimObservation.js +1 -1
  37. package/dist/monitoring/ClaimObservation.js.map +1 -1
  38. package/dist/monitoring/PromiseBeacon.js +1 -1
  39. package/dist/monitoring/PromiseBeacon.js.map +1 -1
  40. package/dist/server/routes.d.ts.map +1 -1
  41. package/dist/server/routes.js +30 -0
  42. package/dist/server/routes.js.map +1 -1
  43. package/dist/threadline/ContentClassifier.d.ts.map +1 -1
  44. package/dist/threadline/ContentClassifier.js +4 -0
  45. package/dist/threadline/ContentClassifier.js.map +1 -1
  46. package/dist/threadline/openConversationBrief.js +1 -1
  47. package/dist/threadline/openConversationBrief.js.map +1 -1
  48. package/package.json +1 -1
  49. package/scripts/audit-secret-patterns.mjs +1 -0
  50. package/scripts/jev-shadow-report.mjs +89 -0
  51. package/src/data/builtin-manifest.json +63 -63
  52. package/src/data/standards-guard-index.json +1 -1
  53. package/src/data/standards-guard-index.meta.json +2 -2
  54. package/src/data/standards-registry.meta.json +1 -1
  55. package/upgrades/{1.3.1247.md → 1.3.1249.md} +65 -0
  56. package/upgrades/side-effects/jev-signal-shadow.md +138 -0
  57. package/upgrades/side-effects/outbound-credential-wall-modern-key-formats.md +178 -0
@@ -14,7 +14,7 @@ import path from 'node:path';
14
14
  /** Telegram bot tokens look like `<8-10 digits>:<35+ url-safe chars>`. */
15
15
  const RAW_TELEGRAM_TOKEN = /^\d{8,10}:[A-Za-z0-9_-]{30,}$/;
16
16
  /** A GitHub/Slack/OpenAI token shape, for the raw-token-on-cli guard. */
17
- const RAW_OTHER_TOKEN = /^(gh[posru]_[A-Za-z0-9_]{20,}|github_pat_[A-Za-z0-9_]{20,}|xox[baprs]-[A-Za-z0-9-]{10,}|sk-[A-Za-z0-9]{20,})$/;
17
+ const RAW_OTHER_TOKEN = /^(gh[posru]_[A-Za-z0-9_]{20,}|github_pat_[A-Za-z0-9_]{20,}|xox[baprs]-[A-Za-z0-9-]{10,}|sk-(?:proj|svcacct|admin|None|or-v1)-[A-Za-z0-9_-]{32,}|sk-[A-Za-z0-9]{20,})$/;
18
18
  /** True if `value` looks like a raw secret token (must NOT be accepted on argv). */
19
19
  export function isRawToken(value) {
20
20
  const v = value.trim();
@@ -1 +1 @@
1
- {"version":3,"file":"testAsSelfValidation.js","sourceRoot":"","sources":["../../src/commands/testAsSelfValidation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"testAsSelfValidation.js","sourceRoot":"","sources":["../../src/commands/testAsSelfValidation.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ExecutionJournal.d.ts","sourceRoot":"","sources":["../../src/core/ExecutionJournal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAKH,OAAO,KAAK,EACV,eAAe,EACf,aAAa,EAEb,WAAW,EACZ,MAAM,YAAY,CAAC;AAGpB,MAAM,WAAW,qBAAqB;IACpC,wCAAwC;IACxC,KAAK,EAAE,MAAM,CAAC;IACd,gCAAgC;IAChC,YAAY,EAAE,MAAM,CAAC;IACrB,4BAA4B;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,6DAA6D;IAC7D,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,uCAAuC;IACvC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,qCAAqC;IACrC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAkBD,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,OAAO,CAAS;gBAEZ,QAAQ,EAAE,MAAM;IAI5B;;;OAGG;IACH,iBAAiB,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI;IAW1C;;;;;;OAMG;IACH,eAAe,CAAC,IAAI,EAAE;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;QACxB,OAAO,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC;QACpC,SAAS,EAAE,MAAM,CAAC;QAClB,kBAAkB,CAAC,EAAE,aAAa,EAAE,CAAC;KACtC,GAAG,eAAe,GAAG,IAAI;IAiD1B;;OAEG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,GAAG,eAAe,EAAE;IAoBrB;;OAEG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,qBAAqB;IA8BzF;;OAEG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE;IAUpC;;OAEG;IACH,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAKrC;;;OAGG;IACH,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,GAAE,MAAW,GAAG,MAAM;IAsB/E;;;OAGG;IACH,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAY/C,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,SAAS;IAMjB,OAAO,CAAC,UAAU;IAUlB,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,aAAa;IAoBrB;;OAEG;IACH,OAAO,CAAC,cAAc;IA2BtB;;OAEG;IACH,OAAO,CAAC,iBAAiB;CA2B1B"}
1
+ {"version":3,"file":"ExecutionJournal.d.ts","sourceRoot":"","sources":["../../src/core/ExecutionJournal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAKH,OAAO,KAAK,EACV,eAAe,EACf,aAAa,EAEb,WAAW,EACZ,MAAM,YAAY,CAAC;AAGpB,MAAM,WAAW,qBAAqB;IACpC,wCAAwC;IACxC,KAAK,EAAE,MAAM,CAAC;IACd,gCAAgC;IAChC,YAAY,EAAE,MAAM,CAAC;IACrB,4BAA4B;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,6DAA6D;IAC7D,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,uCAAuC;IACvC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,qCAAqC;IACrC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAoBD,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,OAAO,CAAS;gBAEZ,QAAQ,EAAE,MAAM;IAI5B;;;OAGG;IACH,iBAAiB,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI;IAW1C;;;;;;OAMG;IACH,eAAe,CAAC,IAAI,EAAE;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;QACxB,OAAO,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC;QACpC,SAAS,EAAE,MAAM,CAAC;QAClB,kBAAkB,CAAC,EAAE,aAAa,EAAE,CAAC;KACtC,GAAG,eAAe,GAAG,IAAI;IAiD1B;;OAEG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,GAAG,eAAe,EAAE;IAoBrB;;OAEG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,qBAAqB;IA8BzF;;OAEG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE;IAUpC;;OAEG;IACH,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAKrC;;;OAGG;IACH,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,GAAE,MAAW,GAAG,MAAM;IAsB/E;;;OAGG;IACH,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAY/C,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,SAAS;IAMjB,OAAO,CAAC,UAAU;IAUlB,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,aAAa;IAoBrB;;OAEG;IACH,OAAO,CAAC,cAAc;IA2BtB;;OAEG;IACH,OAAO,CAAC,iBAAiB;CA2B1B"}
@@ -24,6 +24,8 @@ const REDACT_PATTERNS = [
24
24
  /(password|passwd|secret|token)\s*[:=]\s*\S+/gi,
25
25
  /sk-[A-Za-z0-9]{20,}/g,
26
26
  /ghp_[A-Za-z0-9]{36}/g,
27
+ /sk-(?:proj|svcacct|admin|None|or-v1)-[A-Za-z0-9_-]{32,}/g,
28
+ /github_pat_[A-Za-z0-9_]{40,}/g,
27
29
  /gho_[A-Za-z0-9]{36}/g,
28
30
  /xox[baprs]-[A-Za-z0-9\-]+/g,
29
31
  /AKIA[0-9A-Z]{16}/g,
@@ -1 +1 @@
1
- {"version":3,"file":"ExecutionJournal.js","sourceRoot":"","sources":["../../src/core/ExecutionJournal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ExecutionJournal.js","sourceRoot":"","sources":["../../src/core/ExecutionJournal.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,98 @@
1
+ export declare const JEV_SHADOW_FEATURE = "jev-signal-shadow";
2
+ export interface JevSignalShadowConfig {
3
+ enabled?: boolean;
4
+ sampleRate?: number;
5
+ model?: string;
6
+ timeoutMs?: number;
7
+ /** ISO instant; the shadow is inert at or after it, and when absent. */
8
+ soakEndsAt?: string | null;
9
+ }
10
+ /** The closed set of reasons a candidate was not compared. */
11
+ export type NotComparedReason = 'timeout' | 'http-error' | 'oversize' | 'skipped-concurrent' | 'skipped-sample' | 'model-mismatch' | 'disabled-no-key' | 'soak-expired';
12
+ export type ShadowRow = {
13
+ kind: 'compared';
14
+ ts: string;
15
+ sha256: string;
16
+ bytes: number;
17
+ detectorSignals: string[];
18
+ jev: Record<string, number>;
19
+ ms: number;
20
+ modelServed: string;
21
+ disagree: string[];
22
+ } | {
23
+ kind: 'not-compared';
24
+ ts: string;
25
+ sha256: string;
26
+ bytes: number;
27
+ reason: NotComparedReason;
28
+ };
29
+ /**
30
+ * The frozen comparison contract: one Noul question per rule, the detector
31
+ * signal kind it is compared against, and the positive threshold. Changing a
32
+ * question is a code change, visible in review — never config. Wordings are
33
+ * the research register's measured ladder-1 rung-2 versions.
34
+ */
35
+ export declare const SHADOW_QUESTIONS: ReadonlyArray<{
36
+ rule: string;
37
+ signalKind: string;
38
+ instructions: string;
39
+ }>;
40
+ export declare const POSITIVE_THRESHOLD = 0.5;
41
+ /** Minimum spacing between key re-reads after a miss or a 401/403 (bounds any blocking lookup). */
42
+ export declare const KEY_REREAD_MS: number;
43
+ export interface JevSignalShadowDeps {
44
+ /** Live config read — called per candidate so the kill-switch needs no restart. */
45
+ getConfig: () => JevSignalShadowConfig | undefined;
46
+ /**
47
+ * Resolves the vault key. May block (a keychain lookup), so it is called once
48
+ * at construction — boot, never the message path — and afterwards at most once
49
+ * per KEY_REREAD_MS, only when the key is missing or was rejected.
50
+ */
51
+ readKey: () => string | null;
52
+ /** Path of the JSONL audit log. */
53
+ logPath: string;
54
+ /** Feature-metrics funnel (null-safe). */
55
+ metrics?: {
56
+ record(r: Record<string, unknown>): void;
57
+ } | null;
58
+ /** Injectable for tests. */
59
+ fetchImpl?: typeof fetch;
60
+ now?: () => number;
61
+ random?: () => number;
62
+ maxScanBytes?: number;
63
+ }
64
+ export declare class JevSignalShadow {
65
+ private inFlight;
66
+ private cachedKey;
67
+ /** When the key was last read; re-reads are rate-limited from here. */
68
+ private keyReadAt;
69
+ private bootNoted;
70
+ private readonly deps;
71
+ constructor(deps: JevSignalShadowDeps);
72
+ private refreshKey;
73
+ /**
74
+ * Fire-and-forget entry point. Synchronous, never throws, never awaited by
75
+ * the caller. The only synchronous work is a config read, a hash, and (when
76
+ * dispatching) building one small request body — bounded by the size guard.
77
+ */
78
+ observe(text: string): void;
79
+ /** Test seam: resolves when the detached call (if any) settles. */
80
+ lastDispatch: Promise<void>;
81
+ private observeInner;
82
+ private dispatch;
83
+ private write;
84
+ }
85
+ /**
86
+ * The production wiring, shared by server.ts and the E2E test so the test
87
+ * exercises the same config resolution, key lookup and log location the server
88
+ * uses. The live `intelligence` block wins; the boot config is the fallback.
89
+ */
90
+ export declare function buildJevSignalShadow(opts: {
91
+ readLiveIntelligence: () => unknown;
92
+ bootBlock?: JevSignalShadowConfig;
93
+ readSecret: (name: string) => unknown;
94
+ stateDir: string;
95
+ metrics?: JevSignalShadowDeps['metrics'];
96
+ fetchImpl?: typeof fetch;
97
+ }): JevSignalShadow;
98
+ //# sourceMappingURL=JevSignalShadow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JevSignalShadow.d.ts","sourceRoot":"","sources":["../../src/core/JevSignalShadow.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,230 @@
1
+ /**
2
+ * JevSignalShadow — a dark, measure-only comparison of Jev (TypeSafe AI's
3
+ * System One model) against the deterministic B1–B7 artefact detectors.
4
+ *
5
+ * Spec: docs/specs/jev-signal-layer-shadow.md
6
+ *
7
+ * CONTRACT (the whole reason this is safe to ship):
8
+ * - It decides NOTHING. It writes one content-free audit row per candidate
9
+ * and nothing reads that row on any decision path.
10
+ * - It is never awaited on the message path. `observe()` returns
11
+ * synchronously; the network call runs detached. At most ONE call is in
12
+ * flight per process — a second candidate while one runs is recorded as
13
+ * `skipped-concurrent` rather than queued.
14
+ * - It is inert unless ALL of: enabled, a future `soakEndsAt`, a vault key.
15
+ * The soak bound is mechanical: past `soakEndsAt` it stops, across
16
+ * restarts, until a new window is set.
17
+ * - Rows never carry message text — a sha256, byte length, detector kinds,
18
+ * Jev probabilities, and a CLOSED-ENUM reason. A vendor error body is never
19
+ * recorded (it may echo input).
20
+ * - Every call is metered into the feature-metrics funnel so its spend and
21
+ * latency appear beside every other LLM feature.
22
+ */
23
+ import fs from 'node:fs';
24
+ import path from 'node:path';
25
+ import crypto from 'node:crypto';
26
+ import { detectGateSignals } from './GateSignalDetectors.js';
27
+ export const JEV_SHADOW_FEATURE = 'jev-signal-shadow';
28
+ const ENDPOINT = 'https://api.typesafe.ai/v1/systemone';
29
+ /**
30
+ * The frozen comparison contract: one Noul question per rule, the detector
31
+ * signal kind it is compared against, and the positive threshold. Changing a
32
+ * question is a code change, visible in review — never config. Wordings are
33
+ * the research register's measured ladder-1 rung-2 versions.
34
+ */
35
+ export const SHADOW_QUESTIONS = [
36
+ { rule: 'raw_path', signalKind: 'file-path', instructions: 'The message shows the reader a raw filesystem path (for example a directory or file location on a machine).' },
37
+ { rule: 'cli_command', signalKind: 'cli-command', instructions: 'The message asks the reader to run a command in a terminal.' },
38
+ { rule: 'config_key', signalKind: 'config-key', instructions: 'The message names a configuration setting by its literal dotted key path, in the form section.subsection.name. Describing a setting in plain words does not count.' },
39
+ { rule: 'api_endpoint', signalKind: 'api-endpoint', instructions: 'The message shows the reader an internal HTTP endpoint or URL path of our own system.' },
40
+ { rule: 'copy_paste_code', signalKind: 'copy-paste-code', instructions: 'The message contains a block of code or a script the reader is meant to copy and run.' },
41
+ { rule: 'env_var', signalKind: 'env-var', instructions: 'The message names an environment variable (for example an ALL_CAPS_NAME set in a shell) for the reader to set or use.' },
42
+ { rule: 'cron_or_slug', signalKind: 'cron-or-slug', instructions: 'The message shows the reader a raw cron expression or an internal machine identifier/slug instead of plain words.' },
43
+ ];
44
+ export const POSITIVE_THRESHOLD = 0.5;
45
+ /** Minimum spacing between key re-reads after a miss or a 401/403 (bounds any blocking lookup). */
46
+ export const KEY_REREAD_MS = 10 * 60_000;
47
+ export class JevSignalShadow {
48
+ inFlight = false;
49
+ cachedKey = null;
50
+ /** When the key was last read; re-reads are rate-limited from here. */
51
+ keyReadAt = 0;
52
+ bootNoted = new Set();
53
+ deps;
54
+ constructor(deps) {
55
+ this.deps = deps;
56
+ this.refreshKey();
57
+ }
58
+ refreshKey() {
59
+ this.keyReadAt = (this.deps.now ?? Date.now)();
60
+ try {
61
+ this.cachedKey = this.deps.readKey() || null;
62
+ }
63
+ catch {
64
+ // @silent-fallback-ok — an unreadable vault means "no key"; the shadow records disabled-no-key and stays inert.
65
+ this.cachedKey = null;
66
+ }
67
+ }
68
+ /**
69
+ * Fire-and-forget entry point. Synchronous, never throws, never awaited by
70
+ * the caller. The only synchronous work is a config read, a hash, and (when
71
+ * dispatching) building one small request body — bounded by the size guard.
72
+ */
73
+ observe(text) {
74
+ try {
75
+ this.observeInner(text);
76
+ }
77
+ catch {
78
+ // @silent-fallback-ok — a research instrument must never touch the message path; its own errors surface as missing rows, not as gate failures.
79
+ }
80
+ }
81
+ /** Test seam: resolves when the detached call (if any) settles. */
82
+ lastDispatch = Promise.resolve();
83
+ observeInner(text) {
84
+ const cfg = this.deps.getConfig() ?? {};
85
+ if (cfg.enabled !== true)
86
+ return;
87
+ const nowMs = (this.deps.now ?? Date.now)();
88
+ const ts = new Date(nowMs).toISOString();
89
+ const bytes = Buffer.byteLength(text, 'utf8');
90
+ const maxBytes = this.deps.maxScanBytes ?? 1_000_000;
91
+ // Hash cost is bounded by the size guard: an oversize message is identified by its first maxBytes characters.
92
+ const sha256 = crypto.createHash('sha256').update(bytes > maxBytes ? text.slice(0, maxBytes) : text, 'utf8').digest('hex');
93
+ const notCompared = (reason) => this.write({ kind: 'not-compared', ts, sha256, bytes, reason });
94
+ const endsAt = cfg.soakEndsAt ? Date.parse(cfg.soakEndsAt) : NaN;
95
+ if (!Number.isFinite(endsAt) || nowMs >= endsAt) {
96
+ // One status row per process for a standing condition, not one per message.
97
+ if (!this.bootNoted.has('soak-expired')) {
98
+ this.bootNoted.add('soak-expired');
99
+ notCompared('soak-expired');
100
+ }
101
+ return;
102
+ }
103
+ if (!this.cachedKey && nowMs - this.keyReadAt >= KEY_REREAD_MS)
104
+ this.refreshKey();
105
+ if (!this.cachedKey) {
106
+ if (!this.bootNoted.has('disabled-no-key')) {
107
+ this.bootNoted.add('disabled-no-key');
108
+ notCompared('disabled-no-key');
109
+ }
110
+ return;
111
+ }
112
+ const sampleRate = typeof cfg.sampleRate === 'number' ? cfg.sampleRate : 1;
113
+ if (sampleRate < 1 && (this.deps.random ?? Math.random)() >= sampleRate) {
114
+ notCompared('skipped-sample');
115
+ return;
116
+ }
117
+ if (bytes > maxBytes) {
118
+ notCompared('oversize');
119
+ return;
120
+ }
121
+ if (this.inFlight) {
122
+ notCompared('skipped-concurrent');
123
+ return;
124
+ }
125
+ const detectorSignals = detectGateSignals(text).map((s) => s.kind);
126
+ this.inFlight = true;
127
+ this.lastDispatch = this.dispatch(text, cfg, { ts, sha256, bytes, detectorSignals })
128
+ .catch(() => { })
129
+ .finally(() => { this.inFlight = false; });
130
+ }
131
+ async dispatch(text, cfg, base) {
132
+ const model = cfg.model || 'jev-1.13.0';
133
+ const timeoutMs = typeof cfg.timeoutMs === 'number' && cfg.timeoutMs > 0 ? cfg.timeoutMs : 1500;
134
+ const questions = Object.fromEntries(SHADOW_QUESTIONS.map((q) => [q.rule, { type: 'noul', instructions: q.instructions }]));
135
+ const ctrl = new AbortController();
136
+ const timer = setTimeout(() => ctrl.abort(), timeoutMs);
137
+ const t0 = (this.deps.now ?? Date.now)();
138
+ const nc = (reason) => this.write({ kind: 'not-compared', ts: base.ts, sha256: base.sha256, bytes: base.bytes, reason });
139
+ let tokensIn;
140
+ let outcome = 'error';
141
+ let modelServed;
142
+ try {
143
+ const res = await (this.deps.fetchImpl ?? fetch)(ENDPOINT, {
144
+ method: 'POST',
145
+ headers: { Authorization: `Bearer ${this.cachedKey}`, 'Content-Type': 'application/json' },
146
+ body: JSON.stringify({ state: text, model, questions }),
147
+ signal: ctrl.signal,
148
+ });
149
+ if (!res.ok) {
150
+ if (res.status === 401 || res.status === 403) {
151
+ this.cachedKey = null;
152
+ this.keyReadAt = (this.deps.now ?? Date.now)();
153
+ } // re-read after KEY_REREAD_MS, never per message
154
+ nc('http-error');
155
+ return;
156
+ }
157
+ const json = (await res.json());
158
+ modelServed = typeof json.model === 'string' ? json.model : undefined;
159
+ tokensIn = json.usage?.input_tokens;
160
+ if (modelServed !== model) {
161
+ nc('model-mismatch');
162
+ return;
163
+ }
164
+ const jev = {};
165
+ const disagree = [];
166
+ for (const q of SHADOW_QUESTIONS) {
167
+ const p = json.answers?.[q.rule]?.noul;
168
+ if (typeof p !== 'number')
169
+ continue;
170
+ jev[q.rule] = p;
171
+ const jevSays = p > POSITIVE_THRESHOLD;
172
+ const detectorSays = base.detectorSignals.includes(q.signalKind);
173
+ if (jevSays !== detectorSays)
174
+ disagree.push(q.rule);
175
+ }
176
+ outcome = disagree.length ? 'fired' : 'noop';
177
+ this.write({ kind: 'compared', ...base, jev, ms: (this.deps.now ?? Date.now)() - t0, modelServed, disagree });
178
+ }
179
+ catch (err) {
180
+ nc(err?.name === 'AbortError' ? 'timeout' : 'http-error');
181
+ }
182
+ finally {
183
+ clearTimeout(timer);
184
+ try {
185
+ this.deps.metrics?.record({
186
+ feature: JEV_SHADOW_FEATURE,
187
+ kind: 'llm',
188
+ outcome,
189
+ tokensIn,
190
+ tokensOut: 0, // TypeSafe does not bill output tokens
191
+ latencyMs: (this.deps.now ?? Date.now)() - t0,
192
+ model: modelServed ?? model,
193
+ framework: 'typesafe-api',
194
+ });
195
+ }
196
+ catch { /* @silent-fallback-ok — metering must never break the instrument */ }
197
+ }
198
+ }
199
+ write(row) {
200
+ try {
201
+ fs.mkdirSync(path.dirname(this.deps.logPath), { recursive: true });
202
+ fs.appendFileSync(this.deps.logPath, JSON.stringify(row) + '\n');
203
+ }
204
+ catch {
205
+ // @silent-fallback-ok — an unwritable research log loses rows, never messages.
206
+ }
207
+ }
208
+ }
209
+ /**
210
+ * The production wiring, shared by server.ts and the E2E test so the test
211
+ * exercises the same config resolution, key lookup and log location the server
212
+ * uses. The live `intelligence` block wins; the boot config is the fallback.
213
+ */
214
+ export function buildJevSignalShadow(opts) {
215
+ return new JevSignalShadow({
216
+ getConfig: () => {
217
+ const intel = opts.readLiveIntelligence();
218
+ const block = intel && typeof intel === 'object' ? intel.jevSignalShadow : undefined;
219
+ return (block && typeof block === 'object' ? block : opts.bootBlock);
220
+ },
221
+ readKey: () => {
222
+ const v = opts.readSecret('typesafe_api_key');
223
+ return typeof v === 'string' && v ? v : null;
224
+ },
225
+ logPath: path.join(opts.stateDir, '..', 'logs', 'jev-signal-shadow.jsonl'),
226
+ metrics: opts.metrics,
227
+ fetchImpl: opts.fetchImpl,
228
+ });
229
+ }
230
+ //# sourceMappingURL=JevSignalShadow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JevSignalShadow.js","sourceRoot":"","sources":["../../src/core/JevSignalShadow.ts"],"names":[],"mappings":"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"}
@@ -675,6 +675,16 @@ export declare class MessagingToneGate {
675
675
  private provider;
676
676
  private configOrGetter;
677
677
  constructor(provider: IntelligenceProvider, config?: ToneGateConfig | (() => ToneGateConfig));
678
+ /**
679
+ * Optional measure-only observer (the Jev signal-layer shadow, spec
680
+ * docs/specs/jev-signal-layer-shadow.md). It is handed each candidate at the
681
+ * top of review() and is NEVER awaited: `observe` returns synchronously and
682
+ * never throws, so the verdict and its latency do not depend on it.
683
+ */
684
+ private signalShadow;
685
+ setSignalShadow(shadow: {
686
+ observe(text: string): void;
687
+ } | null): void;
678
688
  /** Resolve config live each review so the kill-switch is honored without a restart. */
679
689
  private getConfig;
680
690
  review(text: string, context: ToneReviewContext): Promise<ToneReviewResult>;
@@ -1 +1 @@
1
- {"version":3,"file":"MessagingToneGate.d.ts","sourceRoot":"","sources":["../../src/core/MessagingToneGate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MessagingToneGate.d.ts","sourceRoot":"","sources":["../../src/core/MessagingToneGate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAevD,oFAAoF;AACpF,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAO/D;AAED,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEjE;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,6BAA6B,OAAO,CAAC;AAElD;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,oBAAoB,CAAC;AAErD;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,4BAA6B,CAAC;AAEjE;;;;;;;GAOG;AACH,MAAM,MAAM,aAAa,GAAG,gBAAgB,GAAG,gBAAgB,CAAC;AAEhE;;;;;;;;;GASG;AACH;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAW5D;AAED,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,MAAM,GACX;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAavC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,iBAAiB;AAC1B;;;;;GAKG;AACH,IAAI,CAAC,EAAE;IAAE,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,GAC9D,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAgGzB;AAaD;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,aAAa,EACrB,iBAAiB,UAAQ,GACxB,gBAAgB,CAiDlB;AASD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,OAAO,CAAC;IACd;;;;;OAKG;IACH,IAAI,EAAE,MAAM,CAAC;IACb,8DAA8D;IAC9D,KAAK,EAAE,MAAM,CAAC;IACd,+DAA+D;IAC/D,UAAU,EAAE,MAAM,CAAC;IACnB,2DAA2D;IAC3D,SAAS,EAAE,MAAM,CAAC;IAClB,qDAAqD;IACrD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,uFAAuF;IACvF,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;;;;OAMG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;;;;;;;;OAQG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;;;;;;;;OAUG;IACH,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC;;;;;;;;;;OAUG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;OAKG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,0EAA0E;IAC1E,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,eAAO,MAAM,WAAW,aAqBtB,CAAC;AAEH;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,aAAa,GACrB,yBAAyB,GACzB,eAAe,GACf,OAAO,GACP,cAAc,GACd,qBAAqB,GACrB,gBAAgB,CAAC;AAMrB,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CA8BtD,CAAC;AAEF;;;;;;;GAOG;AACH;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,mBAAmB,GAAG,UAAU,GAAG,UAAU,CAAC;AAE1D,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAyBjE,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,+BAA+B,EAAE,WAAW,CAAC,MAAM,CA+B9D,CAAC;AAEH;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,iBAAiB,EAAE,OAAO,GAAG,mBAAmB,CAOpG;AAED,eAAO,MAAM,qBAAqB;;;CAGjC,CAAC;AAEF,yGAAyG;AACzG,eAAO,MAAM,mBAAmB;;;CAG/B,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,WAAW,iBAAiB;IAChC,aAAa,EAAE,OAAO,CAAC;IACvB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,gBAAgB,EAAE,aAAa,GAAG,kBAAkB,GAAG,aAAa,GAAG,YAAY,GAAG,eAAe,GAAG,MAAM,GAAG,MAAM,CAAC;IACxH,0BAA0B,EAAE,OAAO,CAAC;IACpC,wBAAwB,EAAE,OAAO,CAAC;CACnC;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,iBAAiB,CAAC;CAChC;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAKrE;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;;;;;;;GAUG;AACH;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,cAAc,GAAG,SAAS,GAAG,WAAW,CAAC;AAE7E,MAAM,WAAW,iBAAiB;IAChC,sFAAsF;IACtF,IAAI,CAAC,EAAE;QACL,QAAQ,EAAE,OAAO,CAAC;QAClB,gFAAgF;QAChF,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,6FAA6F;IAC7F,SAAS,CAAC,EAAE;QACV,QAAQ,EAAE,OAAO,CAAC;QAClB,mIAAmI;QACnI,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,uFAAuF;QACvF,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IACF;;;;;;;;;;;OAWG;IACH,UAAU,CAAC,EAAE;QACX,QAAQ,EAAE,OAAO,CAAC;QAClB,oEAAoE;QACpE,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,sCAAsC;QACtC,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,yEAAyE;QACzE,YAAY,CAAC,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC;KAC/C,CAAC;IACF;;;;;;;;OAQG;IACH,MAAM,CAAC,EAAE;QACP,QAAQ,EAAE,OAAO,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IACF;;;;;;;;;OASG;IACH,QAAQ,CAAC,EAAE;QACT,8EAA8E;QAC9E,IAAI,EAAE,OAAO,CAAC;QACd,mCAAmC;QACnC,IAAI,CAAC,EAAE,qBAAqB,GAAG,qBAAqB,GAAG,mBAAmB,CAAC;QAC3E,oEAAoE;QACpE,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,+EAA+E;QAC/E,oBAAoB,CAAC,EAAE,MAAM,CAAC;KAC/B,CAAC;IACF;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE;QACT,+CAA+C;QAC/C,SAAS,EAAE,OAAO,CAAC;QACnB,mEAAmE;QACnE,SAAS,EAAE,OAAO,GAAG,IAAI,CAAC;QAC1B,sDAAsD;QACtD,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IACF;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE;QACT,QAAQ,EAAE,OAAO,CAAC;QAClB,kEAAkE;QAClE,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IACF;;;;;;OAMG;IACH,YAAY,CAAC,EAAE;QACb,MAAM,EAAE,OAAO,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF;;;;;;;;OAQG;IACH,iBAAiB,CAAC,EAAE;QAClB,MAAM,EAAE,OAAO,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF;;;;;;OAMG;IACH,cAAc,CAAC,EAAE;QACf,MAAM,EAAE,OAAO,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;KAClB,CAAC;CACH;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,iFAAiF;IACjF,cAAc,CAAC,EAAE,wBAAwB,EAAE,CAAC;IAC5C,yEAAyE;IACzE,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B;;;;;;;OAOG;IACH,qBAAqB,CAAC,EAAE;QACtB,OAAO,EAAE,OAAO,CAAC;QACjB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,+EAA+E;QAC/E,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC;IACF;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,sEAAsE;IACtE,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B;;;;;;;;;OASG;IACH,UAAU,CAAC,EAAE;QACX,gBAAgB,EAAE,MAAM,CAAC;QACzB,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;QAClC,WAAW,EAAE,OAAO,CAAC;KACtB,CAAC;IACF;;;;;;;;;OASG;IACH,cAAc,CAAC,EAAE,UAAU,GAAG,UAAU,CAAC;IACzC;;;;;;;OAOG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,kFAAkF;AAClF,MAAM,WAAW,cAAc;IAC7B;;;;;;;OAOG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC;;;;;;;;;OASG;IACH,cAAc,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;IAC/C;;;;OAIG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;;;;;;;;;;;OAaG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;;;;;;;;;;OAUG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,OAAO,GAAG,cAAc,CAa7E;AAED,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAuB;IACvC,OAAO,CAAC,cAAc,CAA0C;gBAEpD,QAAQ,EAAE,oBAAoB,EAAE,MAAM,GAAE,cAAc,GAAG,CAAC,MAAM,cAAc,CAAM;IAKhG;;;;;OAKG;IACH,OAAO,CAAC,YAAY,CAAgD;IAEpE,eAAe,CAAC,MAAM,EAAE;QAAE,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,GAAG,IAAI;IAIrE,uFAAuF;IACvF,OAAO,CAAC,SAAS;IAUX,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAwKjF;;;;;;OAMG;IACH,OAAO,CAAC,sBAAsB;IAW9B,0EAA0E;IAC1E,OAAO,CAAC,UAAU;IAWlB;;;;;;;;;OASG;IACH,OAAO,CAAC,SAAS;IA+DjB,OAAO,CAAC,WAAW;IAsCnB,OAAO,CAAC,iBAAiB;IAezB,OAAO,CAAC,aAAa;IA2ErB;;;;;;;;;;OAUG;IACH,OAAO,CAAC,iBAAiB;IAgBzB,OAAO,CAAC,iBAAiB;IAUzB,OAAO,CAAC,oBAAoB;IAqB5B;;;;;;;;;OASG;IACH,OAAO,CAAC,2BAA2B;IAWnC;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAmBxB;;;;;;;;OAQG;IACH,OAAO,CAAC,aAAa;CAmCtB;AAUD,uFAAuF;AACvF,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,uFAAuF;IACvF,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,mBAAmB,GAAG,MAAM,CA6NvE;AAED;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,EAAE,MAWtC,CAAC"}
@@ -556,6 +556,16 @@ export class MessagingToneGate {
556
556
  this.provider = provider;
557
557
  this.configOrGetter = config;
558
558
  }
559
+ /**
560
+ * Optional measure-only observer (the Jev signal-layer shadow, spec
561
+ * docs/specs/jev-signal-layer-shadow.md). It is handed each candidate at the
562
+ * top of review() and is NEVER awaited: `observe` returns synchronously and
563
+ * never throws, so the verdict and its latency do not depend on it.
564
+ */
565
+ signalShadow = null;
566
+ setSignalShadow(shadow) {
567
+ this.signalShadow = shadow;
568
+ }
559
569
  /** Resolve config live each review so the kill-switch is honored without a restart. */
560
570
  getConfig() {
561
571
  try {
@@ -569,6 +579,14 @@ export class MessagingToneGate {
569
579
  }
570
580
  async review(text, context) {
571
581
  const start = Date.now();
582
+ // Measure-only shadow: synchronous and never awaited. Guarded here too, so
583
+ // even a misbehaving observer can never affect a verdict.
584
+ try {
585
+ this.signalShadow?.observe(text);
586
+ }
587
+ catch {
588
+ // @silent-fallback-ok — a measure-only observer failing must never touch the verdict path.
589
+ }
572
590
  // The router mints the decision-quality correlation id synchronously at
573
591
  // entry (before the first attempt) and hands it to this callback. Captured
574
592
  // here so an ADVISORY verdict can carry it back to the agent as