@rotifer/playground 0.31.0 → 0.32.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.
@@ -4,7 +4,14 @@
4
4
  * Enforces domain whitelist, per-request timeout, response size cap,
5
5
  * and per-minute rate limiting. Genes call `gatewayFetch()` instead
6
6
  * of raw `fetch()`.
7
+ *
8
+ * SSRF hardening, the same as the WASM path (rotifer-core hybrid.rs
9
+ * `check_url` / `perform_fetch`, Hybrid Binding API §2.1): https only, no IP
10
+ * literals, and redirects followed by hand, at most MAX_REDIRECT_HOPS, each
11
+ * hop checked against the whitelist before it is requested.
7
12
  */
13
+ /** Same as rotifer-core `constants::MAX_REDIRECT_HOPS`. */
14
+ export declare const MAX_REDIRECT_HOPS = 5;
8
15
  export interface NetworkConfig {
9
16
  allowedDomains: string[];
10
17
  maxTimeoutMs: number;
@@ -23,22 +30,35 @@ export interface GatewayResponse {
23
30
  isTruncated: boolean;
24
31
  }
25
32
  export declare class NetworkGatewayError extends Error {
26
- readonly code: "DOMAIN_BLOCKED" | "RATE_LIMITED" | "TIMEOUT" | "RESPONSE_TOO_LARGE" | "NETWORK_ERROR";
27
- constructor(code: "DOMAIN_BLOCKED" | "RATE_LIMITED" | "TIMEOUT" | "RESPONSE_TOO_LARGE" | "NETWORK_ERROR", message: string);
33
+ readonly code: "DOMAIN_BLOCKED" | "INVALID_REQUEST" | "RATE_LIMITED" | "TIMEOUT" | "RESPONSE_TOO_LARGE" | "NETWORK_ERROR";
34
+ constructor(code: "DOMAIN_BLOCKED" | "INVALID_REQUEST" | "RATE_LIMITED" | "TIMEOUT" | "RESPONSE_TOO_LARGE" | "NETWORK_ERROR", message: string);
35
+ }
36
+ /** Binding-internal options, never read from a phenotype. */
37
+ export interface GatewayTestOptions {
38
+ /** Test hook, as rotifer-core's `allow_insecure_loopback`: permit plain
39
+ * http to loopback hosts and loopback IP literals. Off in every production
40
+ * path — `createGatewayFetch`, which the CLI uses, never sets it. */
41
+ allowInsecureLoopbackForTests?: boolean;
28
42
  }
29
43
  export declare class NetworkGateway {
30
44
  private config;
45
+ private allowInsecureLoopback;
31
46
  private requestTimestamps;
32
47
  private totalRequests;
33
48
  private totalBytes;
34
- constructor(config?: Partial<NetworkConfig>);
49
+ constructor(config?: Partial<NetworkConfig>, testOptions?: GatewayTestOptions);
35
50
  get stats(): {
36
51
  totalRequests: number;
37
52
  totalBytes: number;
38
53
  windowRequests: number;
39
54
  };
40
55
  fetch(url: string, options?: GatewayFetchOptions): Promise<GatewayResponse>;
41
- private validateDomain;
56
+ /** Whitelist first, then scheme and host shape. Runs for the first request
57
+ * and for every redirect hop. rotifer-core's `check_url` checks shape first;
58
+ * here a URL off the whitelist keeps the DOMAIN_BLOCKED callers have always
59
+ * had, and INVALID_REQUEST is what a whitelisted host gets over http or as
60
+ * an IP literal. Either way nothing is sent. */
61
+ private validateUrl;
42
62
  private enforceRateLimit;
43
63
  private readBodyCapped;
44
64
  }
@@ -1 +1 @@
1
- {"version":3,"file":"network-gateway.d.ts","sourceRoot":"","sources":["../../src/runtime/network-gateway.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,WAAW,aAAa;IAC5B,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,qBAAa,mBAAoB,SAAQ,KAAK;aAE1B,IAAI,EAChB,gBAAgB,GAChB,cAAc,GACd,SAAS,GACT,oBAAoB,GACpB,eAAe;gBALH,IAAI,EAChB,gBAAgB,GAChB,cAAc,GACd,SAAS,GACT,oBAAoB,GACpB,eAAe,EACnB,OAAO,EAAE,MAAM;CAKlB;AASD,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,iBAAiB,CAAgB;IACzC,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,UAAU,CAAK;gBAEX,MAAM,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC;IAI3C,IAAI,KAAK;;;;MAMR;IAEK,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,eAAe,CAAC;IAkDjF,OAAO,CAAC,cAAc;IA0BtB,OAAO,CAAC,gBAAgB;YAiBV,cAAc;CAmC7B;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC,GAC7B;IACD,YAAY,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,KAAK,OAAO,CAAC,eAAe,CAAC,CAAC;IACvF,OAAO,EAAE,cAAc,CAAC;CACzB,CAMA"}
1
+ {"version":3,"file":"network-gateway.d.ts","sourceRoot":"","sources":["../../src/runtime/network-gateway.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,2DAA2D;AAC3D,eAAO,MAAM,iBAAiB,IAAI,CAAC;AAEnC,MAAM,WAAW,aAAa;IAC5B,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,qBAAa,mBAAoB,SAAQ,KAAK;aAE1B,IAAI,EAChB,gBAAgB,GAChB,iBAAiB,GACjB,cAAc,GACd,SAAS,GACT,oBAAoB,GACpB,eAAe;gBANH,IAAI,EAChB,gBAAgB,GAChB,iBAAiB,GACjB,cAAc,GACd,SAAS,GACT,oBAAoB,GACpB,eAAe,EACnB,OAAO,EAAE,MAAM;CAKlB;AAkBD,6DAA6D;AAC7D,MAAM,WAAW,kBAAkB;IACjC;;yEAEqE;IACrE,6BAA6B,CAAC,EAAE,OAAO,CAAC;CACzC;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,qBAAqB,CAAU;IACvC,OAAO,CAAC,iBAAiB,CAAgB;IACzC,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,UAAU,CAAK;gBAEX,MAAM,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,EAAE,WAAW,GAAE,kBAAuB;IAKjF,IAAI,KAAK;;;;MAMR;IAEK,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,eAAe,CAAC;IA0FjF;;;;oDAIgD;IAChD,OAAO,CAAC,WAAW;IA6CnB,OAAO,CAAC,gBAAgB;YAiBV,cAAc;CAmC7B;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC,GAC7B;IACD,YAAY,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,KAAK,OAAO,CAAC,eAAe,CAAC,CAAC;IACvF,OAAO,EAAE,cAAc,CAAC;CACzB,CAMA"}
@@ -5,10 +5,17 @@
5
5
  * Enforces domain whitelist, per-request timeout, response size cap,
6
6
  * and per-minute rate limiting. Genes call `gatewayFetch()` instead
7
7
  * of raw `fetch()`.
8
+ *
9
+ * SSRF hardening, the same as the WASM path (rotifer-core hybrid.rs
10
+ * `check_url` / `perform_fetch`, Hybrid Binding API §2.1): https only, no IP
11
+ * literals, and redirects followed by hand, at most MAX_REDIRECT_HOPS, each
12
+ * hop checked against the whitelist before it is requested.
8
13
  */
9
14
  Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.NetworkGateway = exports.NetworkGatewayError = void 0;
15
+ exports.NetworkGateway = exports.NetworkGatewayError = exports.MAX_REDIRECT_HOPS = void 0;
11
16
  exports.createGatewayFetch = createGatewayFetch;
17
+ /** Same as rotifer-core `constants::MAX_REDIRECT_HOPS`. */
18
+ exports.MAX_REDIRECT_HOPS = 5;
12
19
  class NetworkGatewayError extends Error {
13
20
  code;
14
21
  constructor(code, message) {
@@ -24,13 +31,23 @@ const DEFAULT_CONFIG = {
24
31
  maxResponseBytes: 1_048_576, // 1 MiB
25
32
  maxRequestsPerMin: 10,
26
33
  };
34
+ /** Headers that describe a request body (fetch's "request-body-header names"),
35
+ * dropped when a redirect turns the request into a body-less GET. */
36
+ const BODY_HEADERS = new Set(["content-encoding", "content-language", "content-location", "content-type", "content-length"]);
37
+ function withoutBodyHeaders(headers) {
38
+ if (!headers)
39
+ return headers;
40
+ return Object.fromEntries(Object.entries(headers).filter(([k]) => !BODY_HEADERS.has(k.toLowerCase())));
41
+ }
27
42
  class NetworkGateway {
28
43
  config;
44
+ allowInsecureLoopback;
29
45
  requestTimestamps = [];
30
46
  totalRequests = 0;
31
47
  totalBytes = 0;
32
- constructor(config) {
48
+ constructor(config, testOptions = {}) {
33
49
  this.config = { ...DEFAULT_CONFIG, ...config };
50
+ this.allowInsecureLoopback = testOptions.allowInsecureLoopbackForTests === true;
34
51
  }
35
52
  get stats() {
36
53
  return {
@@ -40,17 +57,57 @@ class NetworkGateway {
40
57
  };
41
58
  }
42
59
  async fetch(url, options) {
43
- this.validateDomain(url);
60
+ this.validateUrl(url);
44
61
  this.enforceRateLimit();
45
62
  const controller = new AbortController();
46
63
  const timeout = setTimeout(() => controller.abort(), this.config.maxTimeoutMs);
47
64
  try {
48
- const response = await fetch(url, {
49
- method: options?.method || "POST",
50
- headers: options?.headers,
51
- body: options?.body,
52
- signal: controller.signal,
53
- });
65
+ // Redirects are followed here, not by fetch: fetch would follow a
66
+ // whitelisted host's 302 to anywhere. Every hop is checked before it
67
+ // is requested; the timeout covers the whole chain.
68
+ //
69
+ // What a hop carries follows fetch's own redirect rules, made stricter:
70
+ // - 301/302/303 turn a request that is not GET/HEAD into a GET with no
71
+ // body (and no body headers); 307/308 keep the method and body.
72
+ // - Moving to another origin (scheme, host or port) drops every header
73
+ // the gene set, not only Authorization: a key travels just as well in
74
+ // X-Api-Key or apikey, and the next host is someone else even when
75
+ // it matches the same *.domain wildcard.
76
+ let current = url;
77
+ let method = options?.method || "POST";
78
+ let requestHeaders = options?.headers;
79
+ let body = options?.body;
80
+ let response;
81
+ for (let hop = 0; hop <= exports.MAX_REDIRECT_HOPS; hop++) {
82
+ if (hop > 0)
83
+ this.validateUrl(current);
84
+ response = await fetch(current, {
85
+ method,
86
+ headers: requestHeaders,
87
+ body,
88
+ signal: controller.signal,
89
+ redirect: "manual",
90
+ });
91
+ const location = response.headers.get("location");
92
+ if (response.status < 300 || response.status >= 400 || !location)
93
+ break;
94
+ if (hop === exports.MAX_REDIRECT_HOPS) {
95
+ await response.body?.cancel();
96
+ throw new NetworkGatewayError("NETWORK_ERROR", `Request to ${url} failed: more than ${exports.MAX_REDIRECT_HOPS} redirects`);
97
+ }
98
+ await response.body?.cancel();
99
+ const next = new URL(location, current);
100
+ if ([301, 302, 303].includes(response.status) && method !== "GET" && method !== "HEAD") {
101
+ method = "GET";
102
+ body = undefined;
103
+ requestHeaders = withoutBodyHeaders(requestHeaders);
104
+ }
105
+ if (next.origin !== new URL(current).origin)
106
+ requestHeaders = undefined;
107
+ current = next.toString();
108
+ }
109
+ if (!response)
110
+ throw new Error("no response");
54
111
  const { text, isTruncated } = await this.readBodyCapped(response);
55
112
  this.totalRequests++;
56
113
  this.totalBytes += text.length;
@@ -66,6 +123,8 @@ class NetworkGateway {
66
123
  };
67
124
  }
68
125
  catch (err) {
126
+ if (err instanceof NetworkGatewayError)
127
+ throw err;
69
128
  if (err.name === "AbortError") {
70
129
  throw new NetworkGatewayError("TIMEOUT", `Request to ${url} timed out after ${this.config.maxTimeoutMs}ms`);
71
130
  }
@@ -75,14 +134,20 @@ class NetworkGateway {
75
134
  clearTimeout(timeout);
76
135
  }
77
136
  }
78
- validateDomain(url) {
79
- let hostname;
137
+ /** Whitelist first, then scheme and host shape. Runs for the first request
138
+ * and for every redirect hop. rotifer-core's `check_url` checks shape first;
139
+ * here a URL off the whitelist keeps the DOMAIN_BLOCKED callers have always
140
+ * had, and INVALID_REQUEST is what a whitelisted host gets over http or as
141
+ * an IP literal. Either way nothing is sent. */
142
+ validateUrl(url) {
143
+ let parsed;
80
144
  try {
81
- hostname = new URL(url).hostname;
145
+ parsed = new URL(url);
82
146
  }
83
147
  catch {
84
148
  throw new NetworkGatewayError("DOMAIN_BLOCKED", `Invalid URL: ${url}`);
85
149
  }
150
+ const hostname = parsed.hostname;
86
151
  const isAllowed = this.config.allowedDomains.some((d) => {
87
152
  if (d.startsWith("*.")) {
88
153
  return hostname.endsWith(d.slice(1)) || hostname === d.slice(2);
@@ -92,6 +157,15 @@ class NetworkGateway {
92
157
  if (!isAllowed) {
93
158
  throw new NetworkGatewayError("DOMAIN_BLOCKED", `Domain "${hostname}" is not in the allowed list: [${this.config.allowedDomains.join(", ")}]`);
94
159
  }
160
+ const isIpLiteral = /^\d{1,3}(\.\d{1,3}){3}$/.test(hostname) || hostname.startsWith("[");
161
+ const isLoopback = hostname === "localhost" || hostname === "[::1]" || /^127\.\d{1,3}\.\d{1,3}\.\d{1,3}$/.test(hostname);
162
+ const isLoopbackAdmitted = this.allowInsecureLoopback && isLoopback;
163
+ if (parsed.protocol !== "https:" && !(parsed.protocol === "http:" && isLoopbackAdmitted)) {
164
+ throw new NetworkGatewayError("INVALID_REQUEST", `Only https is allowed: ${parsed.protocol}//${hostname}`);
165
+ }
166
+ if (isIpLiteral && !isLoopbackAdmitted) {
167
+ throw new NetworkGatewayError("INVALID_REQUEST", `IP addresses are not allowed, use a host name: ${hostname}`);
168
+ }
95
169
  }
96
170
  enforceRateLimit() {
97
171
  const now = Date.now();
@@ -1 +1 @@
1
- {"version":3,"file":"network-gateway.js","sourceRoot":"","sources":["../../src/runtime/network-gateway.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"network-gateway.js","sourceRoot":"","sources":["../../src/runtime/network-gateway.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"gate.d.ts","sourceRoot":"","sources":["../../src/testsuite/gate.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEvD;;;;;;;;;GASG;AAEH,MAAM,MAAM,WAAW,GACnB;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACrC;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,GACzD;IAAE,MAAM,EAAE,gBAAgB,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAoBjD,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE;QAAE,WAAW,CAAC,EAAE,OAAO,CAAC;QAAC,YAAY,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAC7D;oDACgD;IAChD,GAAG,EAAE,UAAU,GAAG,IAAI,CAAC;CACxB;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,SAAS,GAAG,WAAW,CAoEjE;AAMD;;;;;kBAKkB;AAClB,wBAAgB,kBAAkB,CAAC,CAAC,EAAE;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GAAG,UAAU,CAMb;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAUhE;AAED,wBAAsB,cAAc,CAClC,aAAa,EAAE,MAAM,EACrB,EAAE,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GACpC,OAAO,CAAC;IAAE,MAAM,EAAE,UAAU,CAAA;CAAE,GAAG;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CA2CvD"}
1
+ {"version":3,"file":"gate.d.ts","sourceRoot":"","sources":["../../src/testsuite/gate.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEvD;;;;;;;;;GASG;AAEH,MAAM,MAAM,WAAW,GACnB;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACrC;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,GACzD;IAAE,MAAM,EAAE,gBAAgB,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAoBjD,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE;QAAE,WAAW,CAAC,EAAE,OAAO,CAAC;QAAC,YAAY,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAC7D;oDACgD;IAChD,GAAG,EAAE,UAAU,GAAG,IAAI,CAAC;CACxB;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,SAAS,GAAG,WAAW,CAyEjE;AAMD;;;;;kBAKkB;AAClB,wBAAgB,kBAAkB,CAAC,CAAC,EAAE;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GAAG,UAAU,CAMb;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAUhE;AAED,wBAAsB,cAAc,CAClC,aAAa,EAAE,MAAM,EACrB,EAAE,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GACpC,OAAO,CAAC;IAAE,MAAM,EAAE,UAAU,CAAA;CAAE,GAAG;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CA2CvD"}
@@ -57,11 +57,15 @@ function evaluatePublishGate(input) {
57
57
  inputSchema: input.phenotype.inputSchema ?? null,
58
58
  outputSchema: input.phenotype.outputSchema ?? null,
59
59
  run: input.run,
60
+ fidelity: input.fidelity,
60
61
  });
61
62
  if (report.gatePassed) {
63
+ // A retried property iteration is part of the verdict: say so.
64
+ const retried = report.results.find((r) => r.testId === "t1-property-schema-legality" && r.details?.includes("retried"));
62
65
  return {
63
66
  status: "passed",
64
- details: `T1 satisfied — ${report.results.filter((r) => r.passed).length}/${report.results.length} checks`,
67
+ details: `T1 satisfied — ${report.results.filter((r) => r.passed).length}/${report.results.length} checks` +
68
+ (retried ? ` (${retried.details})` : ""),
65
69
  };
66
70
  }
67
71
  const req = report.requirements;
@@ -1 +1 @@
1
- {"version":3,"file":"gate.js","sourceRoot":"","sources":["../../src/testsuite/gate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gate.js","sourceRoot":"","sources":["../../src/testsuite/gate.ts"],"names":[],"mappings":"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"}
@@ -76,17 +76,9 @@ export declare function runPositive(c: ClassifiedCase, run: GeneRunner, outputVa
76
76
  * source-linker through.
77
77
  */
78
78
  export declare function runNegative(c: ClassifiedCase, run: GeneRunner, ajv: Ajv): TestResult;
79
- /**
80
- * §47.4 Schema Legality, run as §47.5's third T1 requirement: generated inputs
81
- * must always produce output conforming to outputSchema.
82
- *
83
- * The seed is what makes a failure actionable — the same seed replays the same
84
- * inputs, so a property failure can be reproduced rather than merely observed.
85
- * When the suite gives no seed one is derived from nothing but a constant, so
86
- * two runs of an unseeded suite still agree; randomness across runs would make
87
- * the gate flaky and the flake would be blamed on the Gene.
88
- */
89
- export declare function runProperty(suite: TestSuite, inputSchema: Record<string, unknown> | null, run: GeneRunner, outputValidator: ValidateFunction | null): TestResult;
79
+ export declare function runProperty(suite: TestSuite, inputSchema: Record<string, unknown> | null, run: GeneRunner, outputValidator: ValidateFunction | null, options?: {
80
+ retryNetworkFailures?: boolean;
81
+ }): TestResult;
90
82
  export interface T1Report {
91
83
  results: TestResult[];
92
84
  classified: ClassifiedCase[];
@@ -103,6 +95,9 @@ export declare function runT1(suite: TestSuite, opts: {
103
95
  inputSchema: Record<string, unknown> | null;
104
96
  outputSchema: Record<string, unknown> | null;
105
97
  run: GeneRunner;
98
+ /** The Gene's declared fidelity. A Hybrid Gene's property iterations may
99
+ * be retried once after a network failure (see runProperty). */
100
+ fidelity?: string;
106
101
  }): T1Report;
107
102
  /** Stable id for a report, for callers that persist results. */
108
103
  export declare function newTestRunId(): string;
@@ -1 +1 @@
1
- {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/testsuite/run.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,KAAK,CAAC;AAE5C,OAAO,KAAK,EACV,cAAc,EACd,QAAQ,EACR,UAAU,EACV,SAAS,EACV,MAAM,YAAY,CAAC;AAGpB,2EAA2E;AAC3E,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAE1C;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACzB,yDAAyD;IACzD,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,+EAA+E;IAC/E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;oDAEgD;IAChD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,MAAM,UAAU,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,MAAM,KAAK,UAAU,CAAC;AAE5E;;;;;;;;;;;;GAYG;AACH,wBAAgB,QAAQ,CACtB,SAAS,EAAE,QAAQ,EAAE,EACrB,cAAc,EAAE,gBAAgB,GAAG,IAAI,GACtC,cAAc,EAAE,CA2BlB;AA4CD;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CACzB,CAAC,EAAE,cAAc,EACjB,GAAG,EAAE,UAAU,EACf,eAAe,EAAE,gBAAgB,GAAG,IAAI,EACxC,GAAG,EAAE,GAAG,GACP,UAAU,CA2CZ;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,WAAW,CACzB,CAAC,EAAE,cAAc,EACjB,GAAG,EAAE,UAAU,EACf,GAAG,EAAE,GAAG,GACP,UAAU,CAmDZ;AAED;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,SAAS,EAChB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,EAC3C,GAAG,EAAE,UAAU,EACf,eAAe,EAAE,gBAAgB,GAAG,IAAI,GACvC,UAAU,CAkCZ;AAED,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,UAAU,EAAE,cAAc,EAAE,CAAC;IAC7B,8DAA8D;IAC9D,YAAY,EAAE;QACZ,QAAQ,EAAE,OAAO,CAAC;QAClB,QAAQ,EAAE,OAAO,CAAC;QAClB,QAAQ,EAAE,OAAO,CAAC;KACnB,CAAC;IACF,gFAAgF;IAChF,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,wBAAgB,KAAK,CACnB,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE;IACJ,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC5C,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC7C,GAAG,EAAE,UAAU,CAAC;CACjB,GACA,QAAQ,CA2DV;AAED,gEAAgE;AAChE,wBAAgB,YAAY,IAAI,MAAM,CAErC"}
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/testsuite/run.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,KAAK,CAAC;AAE5C,OAAO,KAAK,EACV,cAAc,EACd,QAAQ,EACR,UAAU,EACV,SAAS,EACV,MAAM,YAAY,CAAC;AAGpB,2EAA2E;AAC3E,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAE1C;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACzB,yDAAyD;IACzD,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,+EAA+E;IAC/E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;oDAEgD;IAChD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,MAAM,UAAU,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,MAAM,KAAK,UAAU,CAAC;AAE5E;;;;;;;;;;;;GAYG;AACH,wBAAgB,QAAQ,CACtB,SAAS,EAAE,QAAQ,EAAE,EACrB,cAAc,EAAE,gBAAgB,GAAG,IAAI,GACtC,cAAc,EAAE,CA2BlB;AA4CD;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CACzB,CAAC,EAAE,cAAc,EACjB,GAAG,EAAE,UAAU,EACf,eAAe,EAAE,gBAAgB,GAAG,IAAI,EACxC,GAAG,EAAE,GAAG,GACP,UAAU,CA2CZ;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,WAAW,CACzB,CAAC,EAAE,cAAc,EACjB,GAAG,EAAE,UAAU,EACf,GAAG,EAAE,GAAG,GACP,UAAU,CAmDZ;AAmBD,wBAAgB,WAAW,CACzB,KAAK,EAAE,SAAS,EAChB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,EAC3C,GAAG,EAAE,UAAU,EACf,eAAe,EAAE,gBAAgB,GAAG,IAAI,EACxC,OAAO,GAAE;IAAE,oBAAoB,CAAC,EAAE,OAAO,CAAA;CAAO,GAC/C,UAAU,CAwDZ;AAED,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,UAAU,EAAE,cAAc,EAAE,CAAC;IAC7B,8DAA8D;IAC9D,YAAY,EAAE;QACZ,QAAQ,EAAE,OAAO,CAAC;QAClB,QAAQ,EAAE,OAAO,CAAC;QAClB,QAAQ,EAAE,OAAO,CAAC;KACnB,CAAC;IACF,gFAAgF;IAChF,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,wBAAgB,KAAK,CACnB,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE;IACJ,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC5C,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC7C,GAAG,EAAE,UAAU,CAAC;IAChB;oEACgE;IAChE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GACA,QAAQ,CA6DV;AAED,gEAAgE;AAChE,wBAAgB,YAAY,IAAI,MAAM,CAErC"}
@@ -218,7 +218,13 @@ function runNegative(c, run, ajv) {
218
218
  * two runs of an unseeded suite still agree; randomness across runs would make
219
219
  * the gate flaky and the flake would be blamed on the Gene.
220
220
  */
221
- function runProperty(suite, inputSchema, run, outputValidator) {
221
+ /**
222
+ * Host codes that mean the network failed, not the Gene: -4 timeout, -5
223
+ * network, -7 the run's request limit (Hybrid Binding API §5). Matched on the
224
+ * code the sandbox reports, so -50 or a Gene's own -201 never count.
225
+ */
226
+ const NETWORK_FAILURE = /gene returned error code: (-4|-5|-7)(?![0-9])/;
227
+ function runProperty(suite, inputSchema, run, outputValidator, options = {}) {
222
228
  const started = Date.now();
223
229
  const id = "t1-property-schema-legality";
224
230
  const iterations = suite.config?.fuzzIterations ?? exports.DEFAULT_FUZZ_ITERATIONS;
@@ -229,9 +235,25 @@ function runProperty(suite, inputSchema, run, outputValidator) {
229
235
  if (!outputValidator) {
230
236
  return fail(id, started, "Gene declares no outputSchema, so schema legality cannot be asserted");
231
237
  }
238
+ const retries = [];
232
239
  for (let i = 0; i < iterations; i++) {
233
240
  const input = (0, generate_js_1.generateTestInput)(inputSchema, seed + i);
234
- const outcome = run(input);
241
+ let outcome = run(input);
242
+ // A Hybrid Gene's request can fail on the network alone, and a run with
243
+ // no output says nothing about schema legality. Such an iteration gets
244
+ // one more run with the same input; everything else is final.
245
+ const network = !outcome.success && options.retryNetworkFailures
246
+ ? NETWORK_FAILURE.exec(outcome.errorMessage ?? "")
247
+ : null;
248
+ if (network) {
249
+ const first = outcome.errorMessage;
250
+ outcome = run(input);
251
+ if (!outcome.success) {
252
+ return fail(id, started, `iteration ${i + 1}/${iterations} did not produce output after one retry: ` +
253
+ `first ${first}; then ${outcome.errorMessage ?? "no message"}`, `reproduce with seed ${seed}, input ${JSON.stringify(input).slice(0, 200)}`);
254
+ }
255
+ retries.push(`iteration ${i + 1} was retried once after ${network[1]} (${first})`);
256
+ }
235
257
  if (!outcome.success) {
236
258
  return fail(id, started, `iteration ${i + 1}/${iterations} did not produce output: ${outcome.errorMessage ?? "no message"}`, `reproduce with seed ${seed}, input ${JSON.stringify(input).slice(0, 200)}`);
237
259
  }
@@ -239,7 +261,8 @@ function runProperty(suite, inputSchema, run, outputValidator) {
239
261
  return fail(id, started, `iteration ${i + 1}/${iterations} produced output violating outputSchema`, `reproduce with seed ${seed}, input ${JSON.stringify(input).slice(0, 200)}`);
240
262
  }
241
263
  }
242
- return pass(id, started, `${iterations} generated inputs all produced schema-legal output (seed ${seed})`);
264
+ const retried = retries.length > 0 ? `; ${retries.join("; ")}` : "";
265
+ return pass(id, started, `${iterations} generated inputs all produced schema-legal output (seed ${seed})${retried}`);
243
266
  }
244
267
  function runT1(suite, opts) {
245
268
  const ajv = new ajv_1.default({ allErrors: true, strict: false });
@@ -266,7 +289,9 @@ function runT1(suite, opts) {
266
289
  ? runPositive(c, opts.run, outputValidator, ajv)
267
290
  : runNegative(c, opts.run, ajv));
268
291
  }
269
- const property = runProperty(suite, opts.inputSchema, opts.run, outputValidator);
292
+ const property = runProperty(suite, opts.inputSchema, opts.run, outputValidator, {
293
+ retryNetworkFailures: opts.fidelity === "Hybrid",
294
+ });
270
295
  results.push(property);
271
296
  const hasPassingPositive = classified.some((c, i) => c.kind === "positive" && results[i].passed);
272
297
  const hasPassingNegative = classified.some((c, i) => c.kind === "negative" && results[i].passed);
@@ -1 +1 @@
1
- {"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/testsuite/run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/testsuite/run.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,13 @@
1
1
  /**
2
- * The §5.1 fitness formula, in one place.
2
+ * The §5.1 fitness formula, in one place, normalized to [0, 1] (ADR-346):
3
+ *
4
+ * F(g) = S_r · log₂(1 + C_util) · (1 + R_rob)/2 · L_score · Cost_score
5
+ *
6
+ * Five factors, each in [0, 1], so F(g) is in [0, 1] with no cap; the maximum,
7
+ * exactly 1, is S_r = C_util = R_rob = 1 at zero latency and cost. This equals
8
+ * the ADR-318 D2 form divided by 2·ln 2, but is written as the product so the
9
+ * maximum comes out as exactly 1 rather than as a quotient that could round
10
+ * past it. The spec's original statement was
3
11
  *
4
12
  * F(g) = [S_r · ln(1 + C_util) · (1 + R_rob)] / [L · Resource_Cost]
5
13
  *
@@ -25,6 +33,14 @@
25
33
  * and every gene slower than a second pinned at the 1.0 cap. The regression
26
34
  * tests in `tests/unit/fitness-formula.test.ts` hold the direction.
27
35
  */
36
+ /**
37
+ * Which formula `computeBaseFitness` implements, numbered as rotifer-core's
38
+ * `fitness::FORMULA_VERSION`: 1 additive, 2 multiplicative in (0, 2·ln 2]
39
+ * (ADR-318 D2), 3 multiplicative normalized to [0, 1] (ADR-346). Sent with
40
+ * every Arena upload as `formula_version`, so the registry can tell the scales
41
+ * apart.
42
+ */
43
+ export declare const FITNESS_FORMULA_VERSION = 3;
28
44
  /**
29
45
  * Fallback L_ref: latency at which L_score halves when no season median is
30
46
  * available. `[N]` — provisional, uncalibrated.
@@ -46,8 +62,8 @@ export declare const LATENCY_SCALE_MS = 1000;
46
62
  * sandbox runs each over the bundled Native corpus burn 1.2M–83M fuel
47
63
  * (url-extractor 1.22M, debugger 1.44M, citation-manager 1.80M,
48
64
  * particle-spatial 83.3M), so at a 10k scale every real gene lands at a
49
- * Cost_score of 0.008 or below and F(g) collapses to ~0.003 — far under
50
- * τ = 0.3. While it divided, the same mismatch was invisible: it inflated F(g)
65
+ * Cost_score of 0.008 or below and F(g) collapses to ~0.002 — far under
66
+ * any admission threshold. While it divided, the same mismatch was invisible: it inflated F(g)
51
67
  * past the 1.0 cap instead. This is why `arena submit` does not gate on F(g)
52
68
  * while `hasCompleteFitnessInputs` is false: a threshold comparison against a
53
69
  * provisional scale is not an admission decision. Picking new values is a
@@ -117,7 +133,7 @@ export interface FitnessInputs {
117
133
  }
118
134
  export interface FitnessBreakdown {
119
135
  /**
120
- * F(g), in (0, 2·ln 2] ≈ (0, 1.386].
136
+ * F(g), in [0, 1] (ADR-346).
121
137
  *
122
138
  * Not capped. The old `min(1.0)` was there because dividing by the
123
139
  * efficiency scores made the value unbounded — with them multiplied the
@@ -1 +1 @@
1
- {"version":3,"file":"fitness-formula.d.ts","sourceRoot":"","sources":["../../src/utils/fitness-formula.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH;;;;;;;;;GASG;AACH,eAAO,MAAM,gBAAgB,OAAO,CAAC;AACrC;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,oBAAoB,QAAS,CAAC;AAE3C,4EAA4E;AAC5E,MAAM,WAAW,cAAc;IAC7B,8BAA8B;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,+BAA+B;IAC/B,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,wEAAwE;AACxE,eAAO,MAAM,kBAAkB,EAAE,QAAQ,CAAC,cAAc,CAGtD,CAAC;AAEH,0FAA0F;AAC1F,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,cAAc,GAAG,OAAO,CAKpE;AAED,4FAA4F;AAC5F,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;;;;GAKG;AACH,eAAO,MAAM,0BAA0B,+BAA+B,CAAC;AAEvE,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,cAAc,CAAC;IACtB,MAAM,EAAE,eAAe,GAAG,UAAU,CAAC;IACrC;;;;;;;;OAQG;IACH,YAAY,EAAE,OAAO,CAAC;IACtB,6DAA6D;IAC7D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;GAIG;AACH,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,GACvF,OAAO,CAAC,iBAAiB,CAAC,CAuC5B;AAED,MAAM,WAAW,aAAa;IAC5B,gEAAgE;IAChE,WAAW,EAAE,MAAM,CAAC;IACpB,2EAA2E;IAC3E,YAAY,EAAE,MAAM,CAAC;IACrB,qDAAqD;IACrD,eAAe,EAAE,MAAM,CAAC;IACxB,+CAA+C;IAC/C,QAAQ,EAAE,MAAM,CAAC;IACjB,gDAAgD;IAChD,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B;;;;;;;;OAQG;IACH,KAAK,EAAE,MAAM,CAAC;IACd,2EAA2E;IAC3E,YAAY,EAAE,MAAM,CAAC;IACrB,wEAAwE;IACxE,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED,iFAAiF;AACjF,wBAAgB,eAAe,CAAC,YAAY,EAAE,MAAM,EAAE,YAAY,GAAE,MAAyB,GAAG,MAAM,CAErG;AAED,oFAAoF;AACpF,wBAAgB,qBAAqB,CAAC,eAAe,EAAE,MAAM,EAAE,OAAO,GAAE,MAA6B,GAAG,MAAM,CAE7G;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,aAAa,EACrB,SAAS,GAAE,cAAmC,GAC7C,gBAAgB,CAWlB"}
1
+ {"version":3,"file":"fitness-formula.d.ts","sourceRoot":"","sources":["../../src/utils/fitness-formula.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,uBAAuB,IAAI,CAAC;AAEzC;;;;;;;;;GASG;AACH,eAAO,MAAM,gBAAgB,OAAO,CAAC;AACrC;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,oBAAoB,QAAS,CAAC;AAE3C,4EAA4E;AAC5E,MAAM,WAAW,cAAc;IAC7B,8BAA8B;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,+BAA+B;IAC/B,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,wEAAwE;AACxE,eAAO,MAAM,kBAAkB,EAAE,QAAQ,CAAC,cAAc,CAGtD,CAAC;AAEH,0FAA0F;AAC1F,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,cAAc,GAAG,OAAO,CAKpE;AAED,4FAA4F;AAC5F,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;;;;GAKG;AACH,eAAO,MAAM,0BAA0B,+BAA+B,CAAC;AAEvE,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,cAAc,CAAC;IACtB,MAAM,EAAE,eAAe,GAAG,UAAU,CAAC;IACrC;;;;;;;;OAQG;IACH,YAAY,EAAE,OAAO,CAAC;IACtB,6DAA6D;IAC7D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;GAIG;AACH,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,GACvF,OAAO,CAAC,iBAAiB,CAAC,CAuC5B;AAED,MAAM,WAAW,aAAa;IAC5B,gEAAgE;IAChE,WAAW,EAAE,MAAM,CAAC;IACpB,2EAA2E;IAC3E,YAAY,EAAE,MAAM,CAAC;IACrB,qDAAqD;IACrD,eAAe,EAAE,MAAM,CAAC;IACxB,+CAA+C;IAC/C,QAAQ,EAAE,MAAM,CAAC;IACjB,gDAAgD;IAChD,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B;;;;;;;;OAQG;IACH,KAAK,EAAE,MAAM,CAAC;IACd,2EAA2E;IAC3E,YAAY,EAAE,MAAM,CAAC;IACrB,wEAAwE;IACxE,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED,iFAAiF;AACjF,wBAAgB,eAAe,CAAC,YAAY,EAAE,MAAM,EAAE,YAAY,GAAE,MAAyB,GAAG,MAAM,CAErG;AAED,oFAAoF;AACpF,wBAAgB,qBAAqB,CAAC,eAAe,EAAE,MAAM,EAAE,OAAO,GAAE,MAA6B,GAAG,MAAM,CAE7G;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,aAAa,EACrB,SAAS,GAAE,cAAmC,GAC7C,gBAAgB,CAalB"}
@@ -1,6 +1,14 @@
1
1
  "use strict";
2
2
  /**
3
- * The §5.1 fitness formula, in one place.
3
+ * The §5.1 fitness formula, in one place, normalized to [0, 1] (ADR-346):
4
+ *
5
+ * F(g) = S_r · log₂(1 + C_util) · (1 + R_rob)/2 · L_score · Cost_score
6
+ *
7
+ * Five factors, each in [0, 1], so F(g) is in [0, 1] with no cap; the maximum,
8
+ * exactly 1, is S_r = C_util = R_rob = 1 at zero latency and cost. This equals
9
+ * the ADR-318 D2 form divided by 2·ln 2, but is written as the product so the
10
+ * maximum comes out as exactly 1 rather than as a quotient that could round
11
+ * past it. The spec's original statement was
4
12
  *
5
13
  * F(g) = [S_r · ln(1 + C_util) · (1 + R_rob)] / [L · Resource_Cost]
6
14
  *
@@ -27,12 +35,20 @@
27
35
  * tests in `tests/unit/fitness-formula.test.ts` hold the direction.
28
36
  */
29
37
  Object.defineProperty(exports, "__esModule", { value: true });
30
- exports.REFERENCE_FUNCTION_MISSING = exports.FALLBACK_REFERENCE = exports.RESOURCE_SCALE_UNITS = exports.LATENCY_SCALE_MS = void 0;
38
+ exports.REFERENCE_FUNCTION_MISSING = exports.FALLBACK_REFERENCE = exports.RESOURCE_SCALE_UNITS = exports.LATENCY_SCALE_MS = exports.FITNESS_FORMULA_VERSION = void 0;
31
39
  exports.isUsableReference = isUsableReference;
32
40
  exports.resolveFitnessReference = resolveFitnessReference;
33
41
  exports.latencyScoreFor = latencyScoreFor;
34
42
  exports.resourceEfficiencyFor = resourceEfficiencyFor;
35
43
  exports.computeBaseFitness = computeBaseFitness;
44
+ /**
45
+ * Which formula `computeBaseFitness` implements, numbered as rotifer-core's
46
+ * `fitness::FORMULA_VERSION`: 1 additive, 2 multiplicative in (0, 2·ln 2]
47
+ * (ADR-318 D2), 3 multiplicative normalized to [0, 1] (ADR-346). Sent with
48
+ * every Arena upload as `formula_version`, so the registry can tell the scales
49
+ * apart.
50
+ */
51
+ exports.FITNESS_FORMULA_VERSION = 3;
36
52
  /**
37
53
  * Fallback L_ref: latency at which L_score halves when no season median is
38
54
  * available. `[N]` — provisional, uncalibrated.
@@ -54,8 +70,8 @@ exports.LATENCY_SCALE_MS = 1000;
54
70
  * sandbox runs each over the bundled Native corpus burn 1.2M–83M fuel
55
71
  * (url-extractor 1.22M, debugger 1.44M, citation-manager 1.80M,
56
72
  * particle-spatial 83.3M), so at a 10k scale every real gene lands at a
57
- * Cost_score of 0.008 or below and F(g) collapses to ~0.003 — far under
58
- * τ = 0.3. While it divided, the same mismatch was invisible: it inflated F(g)
73
+ * Cost_score of 0.008 or below and F(g) collapses to ~0.002 — far under
74
+ * any admission threshold. While it divided, the same mismatch was invisible: it inflated F(g)
59
75
  * past the 1.0 cap instead. This is why `arena submit` does not gate on F(g)
60
76
  * while `hasCompleteFitnessInputs` is false: a threshold comparison against a
61
77
  * provisional scale is not an admission decision. Picking new values is a
@@ -144,10 +160,12 @@ function computeBaseFitness(inputs, reference = exports.FALLBACK_REFERENCE) {
144
160
  const scale = isUsableReference(reference) ? reference : exports.FALLBACK_REFERENCE;
145
161
  const latencyScore = latencyScoreFor(inputs.avgLatencyMs, scale.latencyMs);
146
162
  const resourceEfficiency = resourceEfficiencyFor(inputs.avgResourceCost, scale.resourceCost);
147
- const quality = inputs.successRate * Math.log1p(inputs.coverage) * (1 + inputs.robustness);
163
+ // Each factor is in [0, 1]: log₂(1 + C) is 1 at C = 1 and (1 + R)/2 is 1 at
164
+ // R = 1 — exactly, which keeps the product's maximum at exactly 1.
165
+ const quality = inputs.successRate * Math.log2(1 + inputs.coverage) * ((1 + inputs.robustness) / 2);
148
166
  // Multiplied, not divided: L_score and Cost_score are already inverted, so
149
167
  // multiplying by them is what makes slower and costlier score lower. No cap —
150
- // every factor is bounded, so the product is too.
168
+ // every factor is in [0, 1], so the product is too.
151
169
  const value = quality * latencyScore * resourceEfficiency;
152
170
  return { value, latencyScore, resourceEfficiency };
153
171
  }
@@ -1 +1 @@
1
- {"version":3,"file":"fitness-formula.js","sourceRoot":"","sources":["../../src/utils/fitness-formula.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fitness-formula.js","sourceRoot":"","sources":["../../src/utils/fitness-formula.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rotifer/playground",
3
- "version": "0.31.0",
3
+ "version": "0.32.1",
4
4
  "description": "Rotifer Protocol Playground — local development environment for gene development, Arena competition, and protocol simulation",
5
5
  "license": "Apache-2.0",
6
6
  "author": "Rotifer Protocol Contributors",
@@ -92,10 +92,10 @@
92
92
  },
93
93
  "optionalDependencies": {
94
94
  "@rolldown/binding-linux-x64-gnu": "1.1.1",
95
- "@rotifer/playground-darwin-arm64": "0.31.0",
96
- "@rotifer/playground-darwin-x64": "0.31.0",
97
- "@rotifer/playground-linux-x64-gnu": "0.31.0",
98
- "@rotifer/playground-win32-x64-msvc": "0.31.0"
95
+ "@rotifer/playground-darwin-arm64": "0.32.1",
96
+ "@rotifer/playground-darwin-x64": "0.32.1",
97
+ "@rotifer/playground-linux-x64-gnu": "0.32.1",
98
+ "@rotifer/playground-win32-x64-msvc": "0.32.1"
99
99
  },
100
100
  "engines": {
101
101
  "node": ">=22.18.0"