@mneme-ai/core 2.12.0 → 2.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cosmic/aurelian.bench.d.ts +25 -0
- package/dist/cosmic/aurelian.bench.d.ts.map +1 -0
- package/dist/cosmic/aurelian.bench.js +127 -0
- package/dist/cosmic/aurelian.bench.js.map +1 -0
- package/dist/cosmic/aurelian_audit.d.ts +112 -0
- package/dist/cosmic/aurelian_audit.d.ts.map +1 -0
- package/dist/cosmic/aurelian_audit.js +236 -0
- package/dist/cosmic/aurelian_audit.js.map +1 -0
- package/dist/cosmic/aurelian_recheck.test.d.ts +25 -0
- package/dist/cosmic/aurelian_recheck.test.d.ts.map +1 -0
- package/dist/cosmic/aurelian_recheck.test.js +127 -0
- package/dist/cosmic/aurelian_recheck.test.js.map +1 -0
- package/dist/cosmic/benchmark.d.ts +47 -0
- package/dist/cosmic/benchmark.d.ts.map +1 -0
- package/dist/cosmic/benchmark.js +162 -0
- package/dist/cosmic/benchmark.js.map +1 -0
- package/dist/cosmic/choir.d.ts +93 -0
- package/dist/cosmic/choir.d.ts.map +1 -0
- package/dist/cosmic/choir.js +140 -0
- package/dist/cosmic/choir.js.map +1 -0
- package/dist/cosmic/diff.d.ts +41 -0
- package/dist/cosmic/diff.d.ts.map +1 -0
- package/dist/cosmic/diff.js +154 -0
- package/dist/cosmic/diff.js.map +1 -0
- package/dist/cosmic/echo_commit.d.ts +79 -0
- package/dist/cosmic/echo_commit.d.ts.map +1 -0
- package/dist/cosmic/echo_commit.js +108 -0
- package/dist/cosmic/echo_commit.js.map +1 -0
- package/dist/cosmic/echo_commit.test.d.ts +2 -0
- package/dist/cosmic/echo_commit.test.d.ts.map +1 -0
- package/dist/cosmic/echo_commit.test.js +81 -0
- package/dist/cosmic/echo_commit.test.js.map +1 -0
- package/dist/cosmic/index.d.ts +32 -0
- package/dist/cosmic/index.d.ts.map +1 -1
- package/dist/cosmic/index.js +94 -19
- package/dist/cosmic/index.js.map +1 -1
- package/dist/cosmic/v213.test.d.ts +2 -0
- package/dist/cosmic/v213.test.d.ts.map +1 -0
- package/dist/cosmic/v213.test.js +267 -0
- package/dist/cosmic/v213.test.js.map +1 -0
- package/package.json +1 -1
package/dist/cosmic/index.js
CHANGED
|
@@ -43,12 +43,24 @@ export function mintSession(input) {
|
|
|
43
43
|
serverUrl: base,
|
|
44
44
|
};
|
|
45
45
|
}
|
|
46
|
-
/** Sign an HMAC bearer for a request body.
|
|
47
|
-
|
|
46
|
+
/** Sign an HMAC bearer for a request body. v2.13: include the timestamp
|
|
47
|
+
* in the canonical string so the server can enforce a NONCE-WINDOW (~120s)
|
|
48
|
+
* and reject replays. The ts is sent as an X-Cosmic-Ts header so the
|
|
49
|
+
* server reproduces the same canonical. ts=undefined falls back to the
|
|
50
|
+
* v2.11/v2.12 legacy canonical for backwards compatibility. */
|
|
51
|
+
function signBearer(method, path, body, secret, ts) {
|
|
48
52
|
const bodyHash = createHash("sha256").update(body).digest("hex");
|
|
49
|
-
const canon = `${method} ${path} ${bodyHash}`;
|
|
53
|
+
const canon = ts === undefined ? `${method} ${path} ${bodyHash}` : `${method} ${path} ${bodyHash} ${ts}`;
|
|
50
54
|
return createHmac("sha256", secret).update(canon).digest("hex");
|
|
51
55
|
}
|
|
56
|
+
/** Helper that builds standard signed headers including the v2.13 nonce. */
|
|
57
|
+
function signedHeaders(method, path, body, secret) {
|
|
58
|
+
const ts = Date.now();
|
|
59
|
+
return {
|
|
60
|
+
"authorization": `Bearer ${signBearer(method, path, body, secret, ts)}`,
|
|
61
|
+
"x-cosmic-ts": String(ts),
|
|
62
|
+
};
|
|
63
|
+
}
|
|
52
64
|
/** Publish state to COSMIC. First call uploads adminSecretHash; later
|
|
53
65
|
* calls auth via HMAC-SHA256 bearer. Returns the chain signatures so
|
|
54
66
|
* the caller can verify integrity. */
|
|
@@ -58,14 +70,13 @@ export async function publishToCosmic(input) {
|
|
|
58
70
|
return { ok: false, error: "no fetch" };
|
|
59
71
|
const path = `/api/v1/sessions/${input.session.token}`;
|
|
60
72
|
const url = `${input.session.serverUrl}${path}`;
|
|
61
|
-
// First publish: include adminSecretHash so the server can store it
|
|
62
|
-
// and verify subsequent requests. Subsequent publishes auth via HMAC
|
|
63
|
-
// over the body hash.
|
|
64
73
|
const body = JSON.stringify({ state: input.state, adminSecretHash: input.session.adminSecretHash });
|
|
65
|
-
|
|
66
|
-
//
|
|
67
|
-
|
|
68
|
-
|
|
74
|
+
// v2.13: NONCE-WINDOW HMAC. signedHeaders() adds X-Cosmic-Ts so the
|
|
75
|
+
// server can reject replays (>120s old).
|
|
76
|
+
const headers = {
|
|
77
|
+
"content-type": "application/json",
|
|
78
|
+
...signedHeaders("POST", path, body, input.session.adminSecretHash),
|
|
79
|
+
};
|
|
69
80
|
try {
|
|
70
81
|
const r = await fetchFn(url, { method: "POST", headers, body });
|
|
71
82
|
const json = await r.json().catch(() => ({}));
|
|
@@ -85,9 +96,7 @@ export async function revokeCosmic(session, fetchOverride) {
|
|
|
85
96
|
return { ok: false, error: "no fetch" };
|
|
86
97
|
const path = `/api/v1/sessions/${session.token}/revoke`;
|
|
87
98
|
const body = "";
|
|
88
|
-
const headers =
|
|
89
|
-
"authorization": `Bearer ${signBearer("POST", path, body, session.adminSecretHash)}`,
|
|
90
|
-
};
|
|
99
|
+
const headers = signedHeaders("POST", path, body, session.adminSecretHash);
|
|
91
100
|
try {
|
|
92
101
|
const r = await fetchFn(`${session.serverUrl}${path}`, { method: "POST", headers, body });
|
|
93
102
|
if (!r.ok) {
|
|
@@ -138,9 +147,7 @@ export async function heartbeatCosmic(session, fetchOverride) {
|
|
|
138
147
|
return { ok: false, error: "no fetch" };
|
|
139
148
|
const path = `/api/v1/sessions/${session.token}/heartbeat`;
|
|
140
149
|
const body = "";
|
|
141
|
-
const headers =
|
|
142
|
-
"authorization": `Bearer ${signBearer("POST", path, body, session.adminSecretHash)}`,
|
|
143
|
-
};
|
|
150
|
+
const headers = signedHeaders("POST", path, body, session.adminSecretHash);
|
|
144
151
|
try {
|
|
145
152
|
const r = await fetchFn(`${session.serverUrl}${path}`, { method: "POST", headers, body });
|
|
146
153
|
const j = await r.json().catch(() => ({}));
|
|
@@ -182,9 +189,7 @@ export async function readInbox(session, opts = {}) {
|
|
|
182
189
|
if (typeof fetchFn !== "function")
|
|
183
190
|
return { ok: false, error: "no fetch" };
|
|
184
191
|
const path = `/api/v1/sessions/${session.token}/inbox`;
|
|
185
|
-
const headers =
|
|
186
|
-
"authorization": `Bearer ${signBearer("GET", path, "", session.adminSecretHash)}`,
|
|
187
|
-
};
|
|
192
|
+
const headers = signedHeaders("GET", path, "", session.adminSecretHash);
|
|
188
193
|
if (opts.drain)
|
|
189
194
|
headers["x-drain"] = "1";
|
|
190
195
|
try {
|
|
@@ -198,6 +203,68 @@ export async function readInbox(session, opts = {}) {
|
|
|
198
203
|
return { ok: false, error: e.message.slice(0, 200) };
|
|
199
204
|
}
|
|
200
205
|
}
|
|
206
|
+
// ====================================================================
|
|
207
|
+
// v2.13.0 NOBEL-tier helpers — incremental publish + ETag + DEAD MAN'S HAND.
|
|
208
|
+
// ====================================================================
|
|
209
|
+
/** Publish an incremental JSON Patch instead of full state. The caller
|
|
210
|
+
* supplies prevState (what they last successfully published) and the
|
|
211
|
+
* basedOnSig the server returned. The server applies the patch on top
|
|
212
|
+
* of its current state and returns 409 if basedOnSig is stale.
|
|
213
|
+
*
|
|
214
|
+
* Falls back to a full publish automatically if the patch is no smaller
|
|
215
|
+
* than the full body (see patchIsWorthIt). */
|
|
216
|
+
export async function publishIncrementalToCosmic(input) {
|
|
217
|
+
const { makePatch, patchIsWorthIt } = await import("./diff.js");
|
|
218
|
+
const fetchFn = input.fetchOverride ?? globalThis.fetch;
|
|
219
|
+
if (typeof fetchFn !== "function")
|
|
220
|
+
return { ok: false, error: "no fetch" };
|
|
221
|
+
const patch = makePatch(input.prevState, input.nextState);
|
|
222
|
+
const fullBody = JSON.stringify({ state: input.nextState, adminSecretHash: input.session.adminSecretHash });
|
|
223
|
+
const patchBody = JSON.stringify({ patch, basedOnSig: input.basedOnSig, adminSecretHash: input.session.adminSecretHash });
|
|
224
|
+
const useFullForm = patch.length === 0 || !patchIsWorthIt(Buffer.byteLength(fullBody, "utf8"), Buffer.byteLength(patchBody, "utf8"));
|
|
225
|
+
const body = useFullForm ? fullBody : patchBody;
|
|
226
|
+
const path = `/api/v1/sessions/${input.session.token}`;
|
|
227
|
+
const headers = {
|
|
228
|
+
"content-type": "application/json",
|
|
229
|
+
...signedHeaders("POST", path, body, input.session.adminSecretHash),
|
|
230
|
+
};
|
|
231
|
+
try {
|
|
232
|
+
const r = await fetchFn(`${input.session.serverUrl}${path}`, { method: "POST", headers, body });
|
|
233
|
+
const json = await r.json().catch(() => ({}));
|
|
234
|
+
if (!r.ok)
|
|
235
|
+
return { ok: false, error: json.error ?? `HTTP ${r.status}`, mode: useFullForm ? "full" : "patch" };
|
|
236
|
+
const j = json;
|
|
237
|
+
return { ok: true, count: j.count, prevSig: j.prevSig ?? null, newSig: j.newSig, mode: useFullForm ? "full" : "patch" };
|
|
238
|
+
}
|
|
239
|
+
catch (e) {
|
|
240
|
+
return { ok: false, error: e.message.slice(0, 200), mode: useFullForm ? "full" : "patch" };
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
/** Conditional read using ETag: server returns 304 (not_modified) when
|
|
244
|
+
* state hasn't changed. Saves ~99% bandwidth on poll cycles. */
|
|
245
|
+
export async function readCosmicWithEtag(jsonUrl, prevEtag, fetchOverride) {
|
|
246
|
+
const fetchFn = fetchOverride ?? globalThis.fetch;
|
|
247
|
+
if (typeof fetchFn !== "function")
|
|
248
|
+
return { ok: false, error: "no fetch" };
|
|
249
|
+
const headers = {};
|
|
250
|
+
if (prevEtag)
|
|
251
|
+
headers["if-none-match"] = prevEtag;
|
|
252
|
+
try {
|
|
253
|
+
const r = await fetchFn(jsonUrl, { headers });
|
|
254
|
+
if (r.status === 304)
|
|
255
|
+
return { ok: true, notModified: true, etag: prevEtag ?? undefined };
|
|
256
|
+
if (!r.ok) {
|
|
257
|
+
if (r.status === 404)
|
|
258
|
+
return { ok: false, error: "session not found (revoked / evicted)" };
|
|
259
|
+
return { ok: false, error: `HTTP ${r.status}` };
|
|
260
|
+
}
|
|
261
|
+
const j = await r.json();
|
|
262
|
+
return { ok: true, notModified: false, state: j.state, etag: r.headers.get("etag") ?? undefined, rescueUrl: j.rescueUrl ?? null, zombie: j.zombie };
|
|
263
|
+
}
|
|
264
|
+
catch (e) {
|
|
265
|
+
return { ok: false, error: e.message.slice(0, 200) };
|
|
266
|
+
}
|
|
267
|
+
}
|
|
201
268
|
/** Open Google-Docs-style watcher list. Anyone with the token can see
|
|
202
269
|
* who else is reading + what vendor they appear to be. Useful for the
|
|
203
270
|
* parent AI to know if the receiver actually opened the URL. */
|
|
@@ -217,4 +284,12 @@ export async function getCosmicPresence(jsonUrl, fetchOverride) {
|
|
|
217
284
|
return { ok: false, error: e.message.slice(0, 200) };
|
|
218
285
|
}
|
|
219
286
|
}
|
|
287
|
+
// ====================================================================
|
|
288
|
+
// v2.13.0 module re-exports — composed cosmic surface.
|
|
289
|
+
// ====================================================================
|
|
290
|
+
export * as diff from "./diff.js";
|
|
291
|
+
export * as choir from "./choir.js";
|
|
292
|
+
export * as echoCommit from "./echo_commit.js";
|
|
293
|
+
export * as audit from "./aurelian_audit.js";
|
|
294
|
+
export * as benchmark from "./benchmark.js";
|
|
220
295
|
//# sourceMappingURL=index.js.map
|
package/dist/cosmic/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cosmic/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAyBlE;4CAC4C;AAC5C,MAAM,UAAU,WAAW,CAAC,KAAgB;IAC1C,MAAM,KAAK,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC/C,MAAM,eAAe,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC1E,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACjD,OAAO;QACL,KAAK;QACL,MAAM;QACN,eAAe;QACf,SAAS,EAAE,GAAG,IAAI,aAAa,KAAK,EAAE;QACtC,OAAO,EAAE,GAAG,IAAI,oBAAoB,KAAK,OAAO;QAChD,MAAM,EAAE,GAAG,IAAI,aAAa,KAAK,MAAM;QACvC,SAAS,EAAE,IAAI;KAChB,CAAC;AACJ,CAAC;AAED,wEAAwE;AACxE,SAAS,UAAU,CAAC,MAAc,EAAE,IAAY,EAAE,IAAY,EAAE,MAAc;IAC5E,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACjE,MAAM,KAAK,GAAG,GAAG,MAAM,IAAI,IAAI,IAAI,QAAQ,EAAE,CAAC;IAC9C,OAAO,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAClE,CAAC;AAkBD;;uCAEuC;AACvC,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,KAAmB;IACvD,MAAM,OAAO,GAAG,KAAK,CAAC,aAAa,IAAI,UAAU,CAAC,KAAK,CAAC;IACxD,IAAI,OAAO,OAAO,KAAK,UAAU;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;IAC3E,MAAM,IAAI,GAAG,oBAAoB,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IACvD,MAAM,GAAG,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI,EAAE,CAAC;IAChD,oEAAoE;IACpE,qEAAqE;IACrE,sBAAsB;IACtB,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;IACpG,MAAM,OAAO,GAA2B,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC;IAC/E,8EAA8E;IAC9E,gDAAgD;IAChD,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;IACrG,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAChE,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC9C,IAAI,CAAC,CAAC,CAAC,EAAE;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAG,IAA2B,CAAC,KAAK,IAAI,QAAQ,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;QACjG,MAAM,CAAC,GAAG,IAAoE,CAAC;QAC/E,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,IAAI,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;IACpF,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAG,CAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;IAClE,CAAC;AACH,CAAC;AAED,wDAAwD;AACxD,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,OAAsB,EAAE,aAA4B;IACrF,MAAM,OAAO,GAAG,aAAa,IAAI,UAAU,CAAC,KAAK,CAAC;IAClD,IAAI,OAAO,OAAO,KAAK,UAAU;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;IAC3E,MAAM,IAAI,GAAG,oBAAoB,OAAO,CAAC,KAAK,SAAS,CAAC;IACxD,MAAM,IAAI,GAAG,EAAE,CAAC;IAChB,MAAM,OAAO,GAA2B;QACtC,eAAe,EAAE,UAAU,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,eAAe,CAAC,EAAE;KACrF,CAAC;IACF,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1F,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YACV,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC3C,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAG,CAAwB,CAAC,KAAK,IAAI,QAAQ,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;QACrF,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IACtB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAG,CAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;IAClE,CAAC;AACH,CAAC;AAED;4CAC4C;AAC5C,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,OAAe,EAAE,aAA4B;IAQ5E,MAAM,OAAO,GAAG,aAAa,IAAI,UAAU,CAAC,KAAK,CAAC;IAClD,IAAI,OAAO,OAAO,KAAK,UAAU;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;IAC3E,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;QACjC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YACV,IAAI,CAAC,CAAC,MAAM,KAAK,GAAG;gBAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,uCAAuC,EAAE,CAAC;YAC3F,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;QAClD,CAAC;QACD,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,EAAyG,CAAC;QAChI,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,YAAY,EAAE,aAAa,EAAE,CAAC,CAAC,aAAa,EAAE,CAAC;IACpH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAG,CAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;IAClE,CAAC;AACH,CAAC;AAED,uEAAuE;AACvE,MAAM,UAAU,qBAAqB,CAAC,OAAsB,EAAE,UAA0B;IACtF,MAAM,GAAG,GAAG,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,UAAU,CAAC,KAAK,QAAQ,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;IACxG,OAAO,YAAY,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,GAAG,MAAM,OAAO,CAAC,SAAS,EAAE,CAAC;AACjF,CAAC;AAED,uEAAuE;AACvE,4EAA4E;AAC5E,uEAAuE;AAEvE;;;sCAGsC;AACtC,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,OAAsB,EACtB,aAA4B;IAE5B,MAAM,OAAO,GAAG,aAAa,IAAI,UAAU,CAAC,KAAK,CAAC;IAClD,IAAI,OAAO,OAAO,KAAK,UAAU;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;IAC3E,MAAM,IAAI,GAAG,oBAAoB,OAAO,CAAC,KAAK,YAAY,CAAC;IAC3D,MAAM,IAAI,GAAG,EAAE,CAAC;IAChB,MAAM,OAAO,GAA2B;QACtC,eAAe,EAAE,UAAU,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,eAAe,CAAC,EAAE;KACrF,CAAC;IACF,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1F,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAsD,CAAC;QAChG,IAAI,CAAC,CAAC,CAAC,EAAE;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,QAAQ,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;QACtE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;IAClD,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAG,CAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;IAClE,CAAC;AACH,CAAC;AAQD;;uEAEuE;AACvE,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,OAAe,EACf,IAAY,EACZ,aAA4B;IAE5B,MAAM,OAAO,GAAG,aAAa,IAAI,UAAU,CAAC,KAAK,CAAC;IAClD,IAAI,OAAO,OAAO,KAAK,UAAU;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;IAC3E,yEAAyE;IACzE,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IACtD,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE;YAChC,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,YAAY,EAAE;YACzC,IAAI;SACL,CAAC,CAAC;QACH,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAuC,CAAC;QACjF,IAAI,CAAC,CAAC,CAAC,EAAE;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,QAAQ,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;QACtE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;IACtC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAG,CAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;IAClE,CAAC;AACH,CAAC;AAED,6DAA6D;AAC7D,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,OAAsB,EACtB,OAA0D,EAAE;IAE5D,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,IAAI,UAAU,CAAC,KAAK,CAAC;IACvD,IAAI,OAAO,OAAO,KAAK,UAAU;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;IAC3E,MAAM,IAAI,GAAG,oBAAoB,OAAO,CAAC,KAAK,QAAQ,CAAC;IACvD,MAAM,OAAO,GAA2B;QACtC,eAAe,EAAE,UAAU,UAAU,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,CAAC,eAAe,CAAC,EAAE;KAClF,CAAC;IACF,IAAI,IAAI,CAAC,KAAK;QAAE,OAAO,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC;IACzC,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QACpE,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAgF,CAAC;QAC1H,IAAI,CAAC,CAAC,CAAC,EAAE;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,QAAQ,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;QACtE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;IAC1E,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAG,CAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;IAClE,CAAC;AACH,CAAC;AAID;;iEAEiE;AACjE,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,OAAe,EACf,aAA4B;IAU5B,MAAM,OAAO,GAAG,aAAa,IAAI,UAAU,CAAC,KAAK,CAAC;IAClD,IAAI,OAAO,OAAO,KAAK,UAAU;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;IAC3E,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IAC5D,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,CAAC;QACrC,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAGxC,CAAC;QACF,IAAI,CAAC,CAAC,CAAC,EAAE;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,QAAQ,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;QACtE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,YAAY,EAAE,aAAa,EAAE,CAAC,CAAC,aAAa,EAAE,eAAe,EAAE,CAAC,CAAC,eAAe,EAAE,CAAC;IAChK,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAG,CAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;IAClE,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cosmic/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"v213.test.d.ts","sourceRoot":"","sources":["../../src/cosmic/v213.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,267 @@
|
|
|
1
|
+
import { describe, it, expect } from "vitest";
|
|
2
|
+
import { makePatch, applyPatch, patchIsWorthIt } from "./diff.js";
|
|
3
|
+
import { mintChoirSession, publishToChoir, readFromChoir, exportChoirManifest } from "./choir.js";
|
|
4
|
+
import { auditFeature, renderScorecard, rollupVerdict, deltaPctToScore, improvementPct } from "./aurelian_audit.js";
|
|
5
|
+
import { benchmarkJsonPatch, benchmarkEtag, benchmarkBrotli, benchmarkNonceWindow, benchmarkInboxRateLimit, benchmarkDeadMansHand, benchmarkCelestialChoir, benchmarkEchoFromCommits, } from "./benchmark.js";
|
|
6
|
+
describe("v2.13 · JSON Patch (RFC 6902 subset)", () => {
|
|
7
|
+
it("produces empty patch for identical objects", () => {
|
|
8
|
+
expect(makePatch({ a: 1, b: 2 }, { a: 1, b: 2 })).toEqual([]);
|
|
9
|
+
});
|
|
10
|
+
it("produces a single replace for scalar change", () => {
|
|
11
|
+
const p = makePatch({ a: 1 }, { a: 2 });
|
|
12
|
+
expect(p).toEqual([{ op: "replace", path: "/a", value: 2 }]);
|
|
13
|
+
});
|
|
14
|
+
it("handles add + remove + replace in one diff", () => {
|
|
15
|
+
const p = makePatch({ a: 1, b: 2 }, { a: 99, c: 3 });
|
|
16
|
+
expect(p).toContainEqual({ op: "replace", path: "/a", value: 99 });
|
|
17
|
+
expect(p).toContainEqual({ op: "remove", path: "/b" });
|
|
18
|
+
expect(p).toContainEqual({ op: "add", path: "/c", value: 3 });
|
|
19
|
+
});
|
|
20
|
+
it("recurses into nested objects", () => {
|
|
21
|
+
const p = makePatch({ nested: { a: 1, b: 2 } }, { nested: { a: 1, b: 99 } });
|
|
22
|
+
expect(p).toEqual([{ op: "replace", path: "/nested/b", value: 99 }]);
|
|
23
|
+
});
|
|
24
|
+
it("escapes ~ and / in keys per RFC 6901", () => {
|
|
25
|
+
const p = makePatch({ "a/b": 1 }, { "a/b": 2 });
|
|
26
|
+
expect(p[0].path).toBe("/a~1b");
|
|
27
|
+
});
|
|
28
|
+
it("applyPatch round-trips arbitrary state", () => {
|
|
29
|
+
const before = { v: "2.12", commits: [1, 2], meta: { x: true } };
|
|
30
|
+
const after = { v: "2.13", commits: [1, 2, 3], meta: { x: false, y: 1 } };
|
|
31
|
+
const patch = makePatch(before, after);
|
|
32
|
+
expect(applyPatch(before, patch)).toEqual(after);
|
|
33
|
+
});
|
|
34
|
+
it("patchIsWorthIt rejects negligible savings", () => {
|
|
35
|
+
expect(patchIsWorthIt(1000, 999)).toBe(false);
|
|
36
|
+
expect(patchIsWorthIt(1000, 600)).toBe(true);
|
|
37
|
+
expect(patchIsWorthIt(1000, 850)).toBe(false); // 15% saving, < threshold
|
|
38
|
+
expect(patchIsWorthIt(2000, 1700)).toBe(true); // 300 byte saving
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
describe("v2.13 · CELESTIAL CHOIR (multi-server quorum)", () => {
|
|
42
|
+
it("mints one session per seat", () => {
|
|
43
|
+
const choir = mintChoirSession([
|
|
44
|
+
{ serverUrl: "https://a.example.com" },
|
|
45
|
+
{ serverUrl: "https://b.example.com" },
|
|
46
|
+
{ serverUrl: "https://c.example.com" },
|
|
47
|
+
]);
|
|
48
|
+
expect(choir.seats).toHaveLength(3);
|
|
49
|
+
const tokens = new Set(choir.seats.map((s) => s.session.token));
|
|
50
|
+
expect(tokens.size).toBe(3); // all distinct
|
|
51
|
+
});
|
|
52
|
+
it("publishes in parallel and computes quorum on majority success", async () => {
|
|
53
|
+
const f = (async (url) => {
|
|
54
|
+
const u = String(url);
|
|
55
|
+
if (u.includes("a.example"))
|
|
56
|
+
return new Response(JSON.stringify({ ok: true, count: 1, prevSig: null, newSig: "sigA" }), { status: 201 });
|
|
57
|
+
if (u.includes("b.example"))
|
|
58
|
+
return new Response(JSON.stringify({ ok: true, count: 1, prevSig: null, newSig: "sigB" }), { status: 201 });
|
|
59
|
+
return new Response(JSON.stringify({ error: "down" }), { status: 503 });
|
|
60
|
+
});
|
|
61
|
+
const choir = mintChoirSession([
|
|
62
|
+
{ serverUrl: "https://a.example.com" },
|
|
63
|
+
{ serverUrl: "https://b.example.com" },
|
|
64
|
+
{ serverUrl: "https://c.example.com" },
|
|
65
|
+
]);
|
|
66
|
+
const r = await publishToChoir(choir, { v: "2.13" }, f);
|
|
67
|
+
expect(r.total).toBe(3);
|
|
68
|
+
expect(r.succeeded).toBe(2);
|
|
69
|
+
expect(r.failed).toBe(1);
|
|
70
|
+
expect(r.quorumReached).toBe(true); // 2/3 > 50%
|
|
71
|
+
});
|
|
72
|
+
it("reads with strict majority quorum, flags disagreers", async () => {
|
|
73
|
+
const choir = mintChoirSession([
|
|
74
|
+
{ serverUrl: "https://a.example.com" },
|
|
75
|
+
{ serverUrl: "https://b.example.com" },
|
|
76
|
+
{ serverUrl: "https://c.example.com" },
|
|
77
|
+
]);
|
|
78
|
+
const f = (async (url) => {
|
|
79
|
+
const u = String(url);
|
|
80
|
+
// a + b agree on {v:"2.13"}, c lies and says {v:"2.12"}
|
|
81
|
+
if (u.includes("a.example") || u.includes("b.example")) {
|
|
82
|
+
return new Response(JSON.stringify({ state: { v: "2.13" }, lastPublishTs: 1, publishCount: 1 }), { status: 200 });
|
|
83
|
+
}
|
|
84
|
+
return new Response(JSON.stringify({ state: { v: "2.12" }, lastPublishTs: 1, publishCount: 1 }), { status: 200 });
|
|
85
|
+
});
|
|
86
|
+
const r = await readFromChoir(choir, f);
|
|
87
|
+
expect(r.quorumReached).toBe(true);
|
|
88
|
+
expect(r.agree).toBe(2);
|
|
89
|
+
expect(r.disagree).toBe(1);
|
|
90
|
+
expect(r.state.v).toBe("2.13");
|
|
91
|
+
const disagreer = r.perSeat.find((s) => s.serverUrl.includes("c.example"));
|
|
92
|
+
expect(disagreer.agreed).toBe(false);
|
|
93
|
+
});
|
|
94
|
+
it("read returns no quorum when all servers disagree", async () => {
|
|
95
|
+
const choir = mintChoirSession([
|
|
96
|
+
{ serverUrl: "https://a.example.com" },
|
|
97
|
+
{ serverUrl: "https://b.example.com" },
|
|
98
|
+
{ serverUrl: "https://c.example.com" },
|
|
99
|
+
]);
|
|
100
|
+
let i = 0;
|
|
101
|
+
const f = (async () => {
|
|
102
|
+
i++;
|
|
103
|
+
return new Response(JSON.stringify({ state: { v: `vendor-${i}` }, lastPublishTs: 1, publishCount: 1 }), { status: 200 });
|
|
104
|
+
});
|
|
105
|
+
const r = await readFromChoir(choir, f);
|
|
106
|
+
expect(r.quorumReached).toBe(false);
|
|
107
|
+
expect(r.state).toBeUndefined();
|
|
108
|
+
});
|
|
109
|
+
it("manifest exports stable structure for soul-prompt embedding", () => {
|
|
110
|
+
const choir = mintChoirSession([{ serverUrl: "https://a.example.com" }, { serverUrl: "https://b.example.com", weight: 2 }]);
|
|
111
|
+
const m = exportChoirManifest(choir);
|
|
112
|
+
expect(m.v).toBe(1);
|
|
113
|
+
expect(m.seats).toHaveLength(2);
|
|
114
|
+
expect(m.seats[1].weight).toBe(2);
|
|
115
|
+
});
|
|
116
|
+
});
|
|
117
|
+
describe("v2.13 · AURELIAN AUDITOR (self-grading)", () => {
|
|
118
|
+
it("improvementPct: 50% reduction in lower-is-better", () => {
|
|
119
|
+
expect(improvementPct({ metric: "x", before: 100, after: 50, unit: "b", betterIs: "lower" })).toBe(50);
|
|
120
|
+
});
|
|
121
|
+
it("improvementPct: 100% increase in higher-is-better", () => {
|
|
122
|
+
expect(improvementPct({ metric: "x", before: 100, after: 200, unit: "x", betterIs: "higher" })).toBe(100);
|
|
123
|
+
});
|
|
124
|
+
it("deltaPctToScore monotonic in the expected ranges", () => {
|
|
125
|
+
expect(deltaPctToScore(0)).toBe(50);
|
|
126
|
+
expect(deltaPctToScore(25)).toBe(80); // pass threshold
|
|
127
|
+
expect(deltaPctToScore(100)).toBeGreaterThanOrEqual(95);
|
|
128
|
+
expect(deltaPctToScore(-25)).toBeLessThan(20);
|
|
129
|
+
});
|
|
130
|
+
it("auditFeature emits SHIP when all axes ≥80", () => {
|
|
131
|
+
const card = auditFeature({
|
|
132
|
+
feature: "test-ship",
|
|
133
|
+
category: "perf",
|
|
134
|
+
measurements: [{ metric: "bytes", before: 1000, after: 100, unit: "bytes", betterIs: "lower" }],
|
|
135
|
+
worldClassEvidence: "Beats RFC-7232 conditional GET by combining ETag with HMAC-chained newSig — no industry server does both. Verified against the spec benchmark with a 95% bandwidth reduction (rps↓ 60).",
|
|
136
|
+
wisdomEvidence: "Composes orthogonally with the existing publish path; the abstraction is removable cleanly without leaking; root cause is bandwidth waste, not a workaround. Additive only — invariants preserved.",
|
|
137
|
+
wildnessEvidence: "No AI handoff vendor (chatgpt, claude, gemini, cursor, copilot, perplexity) has cosmic-style ETag-on-state. Nothing in the field combines this with HMAC chain — first of its kind.",
|
|
138
|
+
});
|
|
139
|
+
expect(card.verdict).toBe("SHIP");
|
|
140
|
+
expect(card.scores.delta).toBeGreaterThanOrEqual(80);
|
|
141
|
+
expect(card.scores.worldClass).toBeGreaterThanOrEqual(80);
|
|
142
|
+
expect(card.scores.wisdom).toBeGreaterThanOrEqual(80);
|
|
143
|
+
expect(card.scores.wildness).toBeGreaterThanOrEqual(80);
|
|
144
|
+
});
|
|
145
|
+
it("auditFeature emits LOOP_BACK when an axis is 60-79", () => {
|
|
146
|
+
// Solid measurements + decent length but missing concrete numbers / vendor names → mid-range scores.
|
|
147
|
+
const card = auditFeature({
|
|
148
|
+
feature: "weak-evidence",
|
|
149
|
+
category: "perf",
|
|
150
|
+
measurements: [{ metric: "bytes", before: 1000, after: 100, unit: "bytes", betterIs: "lower" }],
|
|
151
|
+
worldClassEvidence: "It is generally a good improvement over what was previously available in this area of the system.",
|
|
152
|
+
wisdomEvidence: "Reasonable change without major leaks; could be cleaner but acceptable for this revision pass.",
|
|
153
|
+
wildnessEvidence: "Unusual approach not commonly seen in this layer of the stack within similar systems we have looked at.",
|
|
154
|
+
});
|
|
155
|
+
expect(card.verdict).toBe("LOOP_BACK");
|
|
156
|
+
});
|
|
157
|
+
it("auditFeature emits REJECT when an axis < 60", () => {
|
|
158
|
+
// Regression measurement → delta score collapses well below 60.
|
|
159
|
+
const card = auditFeature({
|
|
160
|
+
feature: "regression",
|
|
161
|
+
category: "perf",
|
|
162
|
+
measurements: [{ metric: "bytes", before: 100, after: 200, unit: "bytes", betterIs: "lower" }],
|
|
163
|
+
worldClassEvidence: "x",
|
|
164
|
+
wisdomEvidence: "x",
|
|
165
|
+
wildnessEvidence: "x",
|
|
166
|
+
});
|
|
167
|
+
expect(card.verdict).toBe("REJECT");
|
|
168
|
+
});
|
|
169
|
+
it("renderScorecard produces stable text output", () => {
|
|
170
|
+
const card = auditFeature({
|
|
171
|
+
feature: "render-test",
|
|
172
|
+
category: "perf",
|
|
173
|
+
measurements: [{ metric: "ms", before: 100, after: 50, unit: "ms", betterIs: "lower" }],
|
|
174
|
+
worldClassEvidence: "x".repeat(120),
|
|
175
|
+
wisdomEvidence: "y".repeat(120),
|
|
176
|
+
wildnessEvidence: "z".repeat(120),
|
|
177
|
+
});
|
|
178
|
+
const text = renderScorecard(card);
|
|
179
|
+
expect(text).toContain("AURELIAN");
|
|
180
|
+
expect(text).toContain("render-test");
|
|
181
|
+
expect(text).toContain("delta=");
|
|
182
|
+
});
|
|
183
|
+
it("rollupVerdict aggregates correctly across cards", () => {
|
|
184
|
+
const ship = auditFeature({
|
|
185
|
+
feature: "a", category: "perf",
|
|
186
|
+
measurements: [{ metric: "x", before: 100, after: 1, unit: "bytes", betterIs: "lower" }],
|
|
187
|
+
worldClassEvidence: "Beats every industry-standard implementation by 100x — no vendor does this. Cited: RFC standard, beats SOTA benchmark by 99% measured (req/min↓).",
|
|
188
|
+
wisdomEvidence: "Composes orthogonally with existing publish path; removable cleanly; root cause is the bandwidth-waste invariant — not a hack. Decouples cleanly. Additive only.",
|
|
189
|
+
wildnessEvidence: "No AI vendor (chatgpt, claude, gemini, cursor, copilot, openai, anthropic) has this. First-of-its-kind 100x reduction. Nothing in the field comes close.",
|
|
190
|
+
});
|
|
191
|
+
const loop = auditFeature({
|
|
192
|
+
feature: "b", category: "perf",
|
|
193
|
+
measurements: [{ metric: "x", before: 100, after: 90, unit: "bytes", betterIs: "lower" }], // 10% — gives delta in 60-79 range
|
|
194
|
+
worldClassEvidence: "It is generally an improvement over what existed before in this part of the system stack today.",
|
|
195
|
+
wisdomEvidence: "Reasonable change without leaks; could be cleaner but acceptable for this revision pass overall.",
|
|
196
|
+
wildnessEvidence: "Unusual approach not commonly seen in this layer of the stack within similar systems we have seen.",
|
|
197
|
+
});
|
|
198
|
+
const r = rollupVerdict([ship, loop]);
|
|
199
|
+
expect(r.verdict).toBe("LOOP_BACK");
|
|
200
|
+
expect(r.ship).toBe(1);
|
|
201
|
+
expect(r.loop).toBe(1);
|
|
202
|
+
});
|
|
203
|
+
});
|
|
204
|
+
describe("v2.13 · benchmark harness produces concrete numbers", () => {
|
|
205
|
+
it("JSON Patch wins big on realistic cosmic state (single-field change)", () => {
|
|
206
|
+
// Realistic cosmic state: ~30 commits + history + notes. ~4KB payload.
|
|
207
|
+
const baseState = {
|
|
208
|
+
v: "2.12.0",
|
|
209
|
+
commits: Array.from({ length: 30 }, (_, i) => ({ sha: "a".repeat(40), subject: `feat: change ${i}`, ts: Date.now() + i })),
|
|
210
|
+
notes: "x".repeat(800),
|
|
211
|
+
meta: { live: true, daemon: "running" },
|
|
212
|
+
};
|
|
213
|
+
const after = { ...baseState, v: "2.13.0" }; // only the version bumped
|
|
214
|
+
const m = benchmarkJsonPatch(baseState, after);
|
|
215
|
+
const sizeMetric = m.find((x) => x.metric.includes("payload"));
|
|
216
|
+
// Patch should be at least 10x smaller than full state for a 1-field change.
|
|
217
|
+
expect(sizeMetric.after * 10).toBeLessThan(sizeMetric.before);
|
|
218
|
+
const fidelity = m.find((x) => x.metric.includes("fidelity"));
|
|
219
|
+
expect(fidelity.after).toBe(100);
|
|
220
|
+
});
|
|
221
|
+
it("ETag saves ≥95% on 100-poll cycle of 2KB unchanged state", () => {
|
|
222
|
+
// 2KB payload + 100 polls is the realistic daemon-poller scenario.
|
|
223
|
+
const m = benchmarkEtag(2048, 100)[0];
|
|
224
|
+
const pct = ((m.before - m.after) / m.before) * 100;
|
|
225
|
+
expect(pct).toBeGreaterThan(95);
|
|
226
|
+
});
|
|
227
|
+
it("ETag still beats raw fetch by >90% even on smaller workloads", () => {
|
|
228
|
+
// Sanity: even 1KB × 60 polls should save ≥90%.
|
|
229
|
+
const m = benchmarkEtag(1024, 60)[0];
|
|
230
|
+
const pct = ((m.before - m.after) / m.before) * 100;
|
|
231
|
+
expect(pct).toBeGreaterThan(90);
|
|
232
|
+
});
|
|
233
|
+
it("Brotli compresses meaningfully better than gzip on JSON payloads", () => {
|
|
234
|
+
const payload = JSON.stringify({
|
|
235
|
+
mneme: "2.13.0", commits: Array.from({ length: 50 }, (_, i) => `${"a".repeat(40)}-${i}`),
|
|
236
|
+
authors: ["alice", "bob"], notes: "x".repeat(500),
|
|
237
|
+
});
|
|
238
|
+
const m = benchmarkBrotli(payload);
|
|
239
|
+
const sizeMetric = m[0];
|
|
240
|
+
// Brotli should beat gzip by some non-trivial margin on this corpus.
|
|
241
|
+
expect(sizeMetric.after).toBeLessThan(sizeMetric.before);
|
|
242
|
+
});
|
|
243
|
+
it("nonce-window benchmark proves replay defense reduction", () => {
|
|
244
|
+
const m = benchmarkNonceWindow(120)[0];
|
|
245
|
+
expect(m.before).toBe(86400);
|
|
246
|
+
expect(m.after).toBe(120);
|
|
247
|
+
});
|
|
248
|
+
it("inbox rate-limit benchmark proves bound", () => {
|
|
249
|
+
const m = benchmarkInboxRateLimit(60)[0];
|
|
250
|
+
expect(m.after).toBeLessThan(m.before);
|
|
251
|
+
});
|
|
252
|
+
it("dead-man's-hand MTTR benchmark", () => {
|
|
253
|
+
const m = benchmarkDeadMansHand(60)[0];
|
|
254
|
+
expect(m.after).toBeLessThan(m.before / 100);
|
|
255
|
+
});
|
|
256
|
+
it("CELESTIAL CHOIR fault tolerance scales with seats", () => {
|
|
257
|
+
const m = benchmarkCelestialChoir(3);
|
|
258
|
+
expect(m[0].after).toBe(2); // 3 seats → tolerate 2 failures
|
|
259
|
+
expect(m[1].after).toBe(3);
|
|
260
|
+
});
|
|
261
|
+
it("ECHO-FROM-COMMITS recovers state offline", () => {
|
|
262
|
+
const m = benchmarkEchoFromCommits()[0];
|
|
263
|
+
expect(m.before).toBe(0);
|
|
264
|
+
expect(m.after).toBe(100);
|
|
265
|
+
});
|
|
266
|
+
});
|
|
267
|
+
//# sourceMappingURL=v213.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"v213.test.js","sourceRoot":"","sources":["../../src/cosmic/v213.test.ts"],"names":[],"mappings":"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"}
|