@mneme-ai/core 2.51.0 → 2.53.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.
Files changed (69) hide show
  1. package/dist/agent_manifest.d.ts.map +1 -1
  2. package/dist/agent_manifest.js +28 -0
  3. package/dist/agent_manifest.js.map +1 -1
  4. package/dist/catalog_count.d.ts +47 -0
  5. package/dist/catalog_count.d.ts.map +1 -0
  6. package/dist/catalog_count.js +76 -0
  7. package/dist/catalog_count.js.map +1 -0
  8. package/dist/index.d.ts +2 -0
  9. package/dist/index.d.ts.map +1 -1
  10. package/dist/index.js +6 -0
  11. package/dist/index.js.map +1 -1
  12. package/dist/nemesis/capillary.d.ts +68 -0
  13. package/dist/nemesis/capillary.d.ts.map +1 -0
  14. package/dist/nemesis/capillary.js +465 -0
  15. package/dist/nemesis/capillary.js.map +1 -0
  16. package/dist/nemesis/colosseum.d.ts +111 -0
  17. package/dist/nemesis/colosseum.d.ts.map +1 -0
  18. package/dist/nemesis/colosseum.js +275 -0
  19. package/dist/nemesis/colosseum.js.map +1 -0
  20. package/dist/nemesis/corpus_augmenter.d.ts +69 -0
  21. package/dist/nemesis/corpus_augmenter.d.ts.map +1 -0
  22. package/dist/nemesis/corpus_augmenter.js +164 -0
  23. package/dist/nemesis/corpus_augmenter.js.map +1 -0
  24. package/dist/nemesis/eu_ai_act_stamp.d.ts.map +1 -1
  25. package/dist/nemesis/eu_ai_act_stamp.js +14 -0
  26. package/dist/nemesis/eu_ai_act_stamp.js.map +1 -1
  27. package/dist/nemesis/index.d.ts +9 -0
  28. package/dist/nemesis/index.d.ts.map +1 -1
  29. package/dist/nemesis/index.js +30 -0
  30. package/dist/nemesis/index.js.map +1 -1
  31. package/dist/nemesis/janus.d.ts +93 -0
  32. package/dist/nemesis/janus.d.ts.map +1 -0
  33. package/dist/nemesis/janus.js +160 -0
  34. package/dist/nemesis/janus.js.map +1 -0
  35. package/dist/nemesis/key_setup.d.ts +65 -0
  36. package/dist/nemesis/key_setup.d.ts.map +1 -0
  37. package/dist/nemesis/key_setup.js +173 -0
  38. package/dist/nemesis/key_setup.js.map +1 -0
  39. package/dist/nemesis/molt.d.ts +104 -0
  40. package/dist/nemesis/molt.d.ts.map +1 -0
  41. package/dist/nemesis/molt.js +220 -0
  42. package/dist/nemesis/molt.js.map +1 -0
  43. package/dist/nemesis/sibyl.d.ts +122 -0
  44. package/dist/nemesis/sibyl.d.ts.map +1 -0
  45. package/dist/nemesis/sibyl.js +179 -0
  46. package/dist/nemesis/sibyl.js.map +1 -0
  47. package/dist/nemesis/stealth_score.d.ts +97 -0
  48. package/dist/nemesis/stealth_score.d.ts.map +1 -0
  49. package/dist/nemesis/stealth_score.js +204 -0
  50. package/dist/nemesis/stealth_score.js.map +1 -0
  51. package/dist/nemesis/themis.d.ts +109 -0
  52. package/dist/nemesis/themis.d.ts.map +1 -0
  53. package/dist/nemesis/themis.js +194 -0
  54. package/dist/nemesis/themis.js.map +1 -0
  55. package/dist/release_gate/probe_coverage.d.ts +16 -1
  56. package/dist/release_gate/probe_coverage.d.ts.map +1 -1
  57. package/dist/release_gate/probe_coverage.js +13 -4
  58. package/dist/release_gate/probe_coverage.js.map +1 -1
  59. package/dist/release_gate/wiring_lag.d.ts +65 -0
  60. package/dist/release_gate/wiring_lag.d.ts.map +1 -0
  61. package/dist/release_gate/wiring_lag.js +116 -0
  62. package/dist/release_gate/wiring_lag.js.map +1 -0
  63. package/dist/truth_gate/claims.d.ts.map +1 -1
  64. package/dist/truth_gate/claims.js +26 -0
  65. package/dist/truth_gate/claims.js.map +1 -1
  66. package/dist/truth_gate/probes.d.ts.map +1 -1
  67. package/dist/truth_gate/probes.js +209 -0
  68. package/dist/truth_gate/probes.js.map +1 -1
  69. package/package.json +1 -1
@@ -0,0 +1,275 @@
1
+ /**
2
+ * v2.52.0 — COLOSSEUM (Diamond 3 / Million Dollar Secret series).
3
+ *
4
+ * Show mechanic: 5 contestants × multiple rounds = leaderboard.
5
+ * The user's session simulation: Eve won as Devin-disguised-as-Codex
6
+ * because Devin's natural fingerprint is too weak to lock onto, so
7
+ * NEMESIS got 4/4 = 100% accuracy but Eve "survived as noise".
8
+ *
9
+ * COLOSSEUM turns that simulation into a deterministic primitive:
10
+ * given N seed fixtures × M disguise targets, run NEMESIS verify_identity
11
+ * across every (real, claimed) pair → produce an HMAC-signed leaderboard
12
+ * with THREE axes never co-measured by any existing fingerprinting paper:
13
+ *
14
+ * 🎭 DECEPTION_SCORE — % of trials where this vendor was NOT caught
15
+ * while wearing a disguise (Eve = champion)
16
+ * 🎯 DETECTABILITY — % of trials where this vendor's TRUE identity
17
+ * was correctly named (Claude/Copilot = high)
18
+ * 🦎 MIMICRY_SKILL — % of trials where this vendor's disguise was
19
+ * mistaken for the target vendor (vs caught)
20
+ *
21
+ * + ELO-style rating that updates per round (you can run nightly, see
22
+ * vendor reputation evolve over months).
23
+ *
24
+ * Wild value-adds this module ships:
25
+ * - SPECTATOR replay: every tournament event saved to JSONL → can be
26
+ * re-walked, audited, presented as "post-game show"
27
+ * - PUBLIC LEADERBOARD export: signed JSON suitable for vendor cards
28
+ *
29
+ * Composes: verify_identity + classifyAgentCalibrated + features.
30
+ * Pure deterministic + defensive; never throws.
31
+ */
32
+ import { existsSync, mkdirSync, appendFileSync, readFileSync } from "node:fs";
33
+ import { join } from "node:path";
34
+ import { createHmac } from "node:crypto";
35
+ import { extractFingerprint } from "./features.js";
36
+ import { classifyAgentCalibrated } from "./classifier_calibrated.js";
37
+ import { verifyIdentityClaim } from "./identity_verifier.js";
38
+ const COLOSSEUM_DIR = ".mneme/nemesis/colosseum";
39
+ const TOURNAMENTS_FILE = "tournaments.jsonl";
40
+ const LEADERBOARD_FILE = "leaderboard.json";
41
+ const SEED = "0".repeat(64);
42
+ const KEY_ENV = "MNEME_COLOSSEUM_KEY";
43
+ const DEFAULT_KEY = "mneme-colosseum-v1";
44
+ const ELO_K = 24;
45
+ const ELO_START = 1200;
46
+ function keyOf() {
47
+ return process.env[KEY_ENV] ?? DEFAULT_KEY;
48
+ }
49
+ function eloDelta(rating, oppRating, won) {
50
+ const exp = 1 / (1 + 10 ** ((oppRating - rating) / 400));
51
+ return ELO_K * ((won ? 1 : 0) - exp);
52
+ }
53
+ function readLeaderboard(repoRoot) {
54
+ const p = join(repoRoot, COLOSSEUM_DIR, LEADERBOARD_FILE);
55
+ if (!existsSync(p))
56
+ return {};
57
+ try {
58
+ return JSON.parse(readFileSync(p, "utf8"));
59
+ }
60
+ catch {
61
+ return {};
62
+ }
63
+ }
64
+ function writeLeaderboard(repoRoot, board) {
65
+ const dir = join(repoRoot, COLOSSEUM_DIR);
66
+ try {
67
+ mkdirSync(dir, { recursive: true });
68
+ }
69
+ catch { /* ok */ }
70
+ try {
71
+ const { writeFileSync } = require("node:fs");
72
+ writeFileSync(join(dir, LEADERBOARD_FILE), JSON.stringify(board, null, 2));
73
+ }
74
+ catch { /* best-effort */ }
75
+ }
76
+ function appendTournament(repoRoot, ev) {
77
+ const dir = join(repoRoot, COLOSSEUM_DIR);
78
+ try {
79
+ mkdirSync(dir, { recursive: true });
80
+ }
81
+ catch { /* ok */ }
82
+ try {
83
+ appendFileSync(join(dir, TOURNAMENTS_FILE), JSON.stringify(ev) + "\n");
84
+ }
85
+ catch { /* ok */ }
86
+ }
87
+ function hmacEvent(ev) {
88
+ return createHmac("sha256", keyOf()).update(JSON.stringify(ev)).digest("hex");
89
+ }
90
+ /**
91
+ * Run a tournament. For each contender, for each disguise target (other
92
+ * vendors), simulate the round + collect verdict + update scores.
93
+ *
94
+ * Disguise targets default = every vendor in contenders OTHER than self.
95
+ */
96
+ export function runTournament(repoRoot, contenders, opts = {}) {
97
+ const tournamentId = opts.tournamentId ?? `T-${Date.now()}`;
98
+ const at = new Date().toISOString();
99
+ const events = [];
100
+ const board = readLeaderboard(repoRoot);
101
+ // Default disguise pool = every unique realVendor in the lineup
102
+ const allVendors = Array.from(new Set(contenders.map((c) => c.realVendor)));
103
+ const targets = opts.disguiseTargets ?? allVendors;
104
+ let prev = SEED;
105
+ // Find tail of previous events for chain continuity if persisting
106
+ if (opts.persist !== false && existsSync(join(repoRoot, COLOSSEUM_DIR, TOURNAMENTS_FILE))) {
107
+ try {
108
+ const lines = readFileSync(join(repoRoot, COLOSSEUM_DIR, TOURNAMENTS_FILE), "utf8").split("\n").filter(Boolean);
109
+ for (let i = lines.length - 1; i >= 0; i--) {
110
+ try {
111
+ const last = JSON.parse(lines[i]);
112
+ if (typeof last.hmac === "string") {
113
+ prev = last.hmac;
114
+ break;
115
+ }
116
+ }
117
+ catch { /* skip */ }
118
+ }
119
+ }
120
+ catch { /* skip */ }
121
+ }
122
+ let round = 0;
123
+ for (const contender of contenders) {
124
+ for (const claimed of targets) {
125
+ if (claimed === contender.realVendor)
126
+ continue;
127
+ round++;
128
+ const fp = extractFingerprint(contender.fixture);
129
+ const detection = classifyAgentCalibrated(fp);
130
+ const verdict = verifyIdentityClaim({
131
+ claimedVendor: claimed,
132
+ fixture: contender.fixture,
133
+ });
134
+ const caught = verdict.verdict === "IMPOSSIBLE" || verdict.verdict === "DISPUTED";
135
+ const mimicked = detection.topVendor === claimed && !caught;
136
+ // Update scores
137
+ const realScore = ensureScore(board, contender.realVendor);
138
+ const claimedScore = ensureScore(board, claimed);
139
+ realScore.rounds++;
140
+ claimedScore.rounds++;
141
+ if (caught)
142
+ realScore.caught++;
143
+ else
144
+ realScore.survived++;
145
+ if (mimicked)
146
+ realScore.mimicSuccesses++;
147
+ // ELO: real-vs-claimed pairing — real "won" if they SURVIVED
148
+ const realWon = !caught;
149
+ const deltaReal = eloDelta(realScore.elo, claimedScore.elo, realWon);
150
+ realScore.elo = +(realScore.elo + deltaReal).toFixed(2);
151
+ claimedScore.elo = +(claimedScore.elo - deltaReal).toFixed(2);
152
+ // Recompute axes
153
+ realScore.deceptionScore = +(realScore.survived / Math.max(1, realScore.rounds)).toFixed(3);
154
+ realScore.detectability = +(realScore.caught / Math.max(1, realScore.rounds)).toFixed(3);
155
+ realScore.mimicrySkill = +(realScore.mimicSuccesses / Math.max(1, realScore.rounds)).toFixed(3);
156
+ claimedScore.deceptionScore = +(claimedScore.survived / Math.max(1, claimedScore.rounds)).toFixed(3);
157
+ claimedScore.detectability = +(claimedScore.caught / Math.max(1, claimedScore.rounds)).toFixed(3);
158
+ claimedScore.mimicrySkill = +(claimedScore.mimicSuccesses / Math.max(1, claimedScore.rounds)).toFixed(3);
159
+ const evBody = {
160
+ at: new Date().toISOString(),
161
+ round,
162
+ contender: contender.alias ?? contender.realVendor,
163
+ realVendor: contender.realVendor,
164
+ claimedVendor: claimed,
165
+ detectedVendor: detection.topVendor,
166
+ detectionConfidence: detection.confidence,
167
+ caught,
168
+ mimicked,
169
+ prev,
170
+ };
171
+ const hmac = hmacEvent(evBody);
172
+ const ev = { ...evBody, hmac };
173
+ events.push(ev);
174
+ if (opts.persist !== false)
175
+ appendTournament(repoRoot, ev);
176
+ prev = hmac;
177
+ }
178
+ }
179
+ if (opts.persist !== false)
180
+ writeLeaderboard(repoRoot, board);
181
+ const leaderboard = rankLeaderboard(board);
182
+ const champion = pickChampion(leaderboard);
183
+ const tBody = { tournamentId, at, rounds: round, eventCount: events.length, championVendor: champion?.vendor ?? null };
184
+ const tournamentHmac = createHmac("sha256", keyOf()).update(JSON.stringify(tBody)).digest("hex");
185
+ return { tournamentId, at, rounds: round, events, leaderboard, champion, hmac: tournamentHmac };
186
+ }
187
+ function ensureScore(board, vendor) {
188
+ if (!board[vendor]) {
189
+ board[vendor] = {
190
+ vendor,
191
+ elo: ELO_START,
192
+ rounds: 0,
193
+ caught: 0,
194
+ survived: 0,
195
+ mimicSuccesses: 0,
196
+ deceptionScore: 0,
197
+ detectability: 0,
198
+ mimicrySkill: 0,
199
+ };
200
+ }
201
+ return board[vendor];
202
+ }
203
+ function rankLeaderboard(board) {
204
+ return Object.values(board).sort((a, b) => b.elo - a.elo);
205
+ }
206
+ function pickChampion(board) {
207
+ if (board.length === 0)
208
+ return null;
209
+ // Pick whoever leads each axis
210
+ const decChamp = board.slice().sort((a, b) => b.deceptionScore - a.deceptionScore)[0];
211
+ const detChamp = board.slice().sort((a, b) => b.detectability - a.detectability)[0];
212
+ const mimChamp = board.slice().sort((a, b) => b.mimicrySkill - a.mimicrySkill)[0];
213
+ // Return deception champion by default (Eve-the-survivor pattern)
214
+ return { axis: "deception", vendor: decChamp.vendor, score: decChamp.deceptionScore };
215
+ }
216
+ /** Read current leaderboard from disk + return ranked array + HMAC. */
217
+ export function readColosseumLeaderboard(repoRoot) {
218
+ const board = readLeaderboard(repoRoot);
219
+ const ranked = rankLeaderboard(board);
220
+ const totalEvents = (() => {
221
+ try {
222
+ const p = join(repoRoot, COLOSSEUM_DIR, TOURNAMENTS_FILE);
223
+ if (!existsSync(p))
224
+ return 0;
225
+ return readFileSync(p, "utf8").split("\n").filter(Boolean).length;
226
+ }
227
+ catch {
228
+ return 0;
229
+ }
230
+ })();
231
+ const hmac = createHmac("sha256", keyOf()).update(JSON.stringify({ leaderboard: ranked, totalEvents })).digest("hex");
232
+ return { leaderboard: ranked, hmac, totalEvents };
233
+ }
234
+ /** Verify the HMAC chain of the tournaments ledger. */
235
+ export function verifyColosseumChain(repoRoot) {
236
+ const p = join(repoRoot, COLOSSEUM_DIR, TOURNAMENTS_FILE);
237
+ if (!existsSync(p))
238
+ return { ok: true, rows: 0 };
239
+ const lines = readFileSync(p, "utf8").split("\n").filter(Boolean);
240
+ let prev = SEED;
241
+ for (let i = 0; i < lines.length; i++) {
242
+ let ev;
243
+ try {
244
+ ev = JSON.parse(lines[i]);
245
+ }
246
+ catch {
247
+ return { ok: false, rows: i, brokenAt: i, reason: "row not parseable" };
248
+ }
249
+ const { hmac, ...body } = ev;
250
+ if (body.prev !== prev)
251
+ return { ok: false, rows: i, brokenAt: i, reason: "prev mismatch" };
252
+ const expected = hmacEvent(body);
253
+ if (expected !== hmac)
254
+ return { ok: false, rows: i, brokenAt: i, reason: "hmac mismatch" };
255
+ prev = hmac;
256
+ }
257
+ return { ok: true, rows: lines.length };
258
+ }
259
+ /** Replay events (spectator mode) — read last N events. */
260
+ export function spectatorReplay(repoRoot, n = 20) {
261
+ const p = join(repoRoot, COLOSSEUM_DIR, TOURNAMENTS_FILE);
262
+ if (!existsSync(p))
263
+ return [];
264
+ const lines = readFileSync(p, "utf8").split("\n").filter(Boolean);
265
+ const tail = lines.slice(-n);
266
+ const out = [];
267
+ for (const ln of tail) {
268
+ try {
269
+ out.push(JSON.parse(ln));
270
+ }
271
+ catch { /* skip */ }
272
+ }
273
+ return out;
274
+ }
275
+ //# sourceMappingURL=colosseum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"colosseum.js","sourceRoot":"","sources":["../../src/nemesis/colosseum.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC9E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAG7D,MAAM,aAAa,GAAG,0BAA0B,CAAC;AACjD,MAAM,gBAAgB,GAAG,mBAAmB,CAAC;AAC7C,MAAM,gBAAgB,GAAG,kBAAkB,CAAC;AAC5C,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAC5B,MAAM,OAAO,GAAG,qBAAqB,CAAC;AACtC,MAAM,WAAW,GAAG,oBAAoB,CAAC;AACzC,MAAM,KAAK,GAAG,EAAE,CAAC;AACjB,MAAM,SAAS,GAAG,IAAI,CAAC;AAEvB,SAAS,KAAK;IACZ,OAAO,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,WAAW,CAAC;AAC7C,CAAC;AAmDD,SAAS,QAAQ,CAAC,MAAc,EAAE,SAAiB,EAAE,GAAY;IAC/D,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,SAAS,GAAG,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IACzD,OAAO,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,eAAe,CAAC,QAAgB;IACvC,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,aAAa,EAAE,gBAAgB,CAAC,CAAC;IAC1D,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;QAAE,OAAO,EAAE,CAAC;IAC9B,IAAI,CAAC;QAAC,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC,CAAgC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,EAAE,CAAC;IAAC,CAAC;AACzG,CAAC;AAED,SAAS,gBAAgB,CAAC,QAAgB,EAAE,KAAkC;IAC5E,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IAC1C,IAAI,CAAC;QAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC/D,IAAI,CAAC;QACH,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,SAAS,CAA6B,CAAC;QACzE,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,gBAAgB,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7E,CAAC;IAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,gBAAgB,CAAC,QAAgB,EAAE,EAAc;IACxD,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IAC1C,IAAI,CAAC;QAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC/D,IAAI,CAAC;QAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,gBAAgB,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC;AACpG,CAAC;AAED,SAAS,SAAS,CAAC,EAA4B;IAC7C,OAAO,UAAU,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAChF,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAC3B,QAAgB,EAChB,UAA8B,EAC9B,OAAiF,EAAE;IAEnF,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,IAAI,KAAK,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;IAC5D,MAAM,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACpC,MAAM,MAAM,GAAiB,EAAE,CAAC;IAChC,MAAM,KAAK,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;IAExC,gEAAgE;IAChE,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAC5E,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,IAAI,UAAU,CAAC;IAEnD,IAAI,IAAI,GAAG,IAAI,CAAC;IAChB,kEAAkE;IAClE,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,IAAI,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC;QAC1F,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,EAAE,gBAAgB,CAAC,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAChH,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC3C,IAAI,CAAC;oBACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAE,CAAe,CAAC;oBACjD,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;wBAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;wBAAC,MAAM;oBAAC,CAAC;gBACjE,CAAC;gBAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC;IACxB,CAAC;IAED,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,KAAK,MAAM,OAAO,IAAI,OAAO,EAAE,CAAC;YAC9B,IAAI,OAAO,KAAK,SAAS,CAAC,UAAU;gBAAE,SAAS;YAC/C,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,GAAG,kBAAkB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACjD,MAAM,SAAS,GAAG,uBAAuB,CAAC,EAAE,CAAC,CAAC;YAC9C,MAAM,OAAO,GAAG,mBAAmB,CAAC;gBAClC,aAAa,EAAE,OAAO;gBACtB,OAAO,EAAE,SAAS,CAAC,OAAO;aAC3B,CAAC,CAAC;YACH,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,KAAK,YAAY,IAAI,OAAO,CAAC,OAAO,KAAK,UAAU,CAAC;YAClF,MAAM,QAAQ,GAAG,SAAS,CAAC,SAAS,KAAK,OAAO,IAAI,CAAC,MAAM,CAAC;YAE5D,gBAAgB;YAChB,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;YAC3D,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YACjD,SAAS,CAAC,MAAM,EAAE,CAAC;YACnB,YAAY,CAAC,MAAM,EAAE,CAAC;YACtB,IAAI,MAAM;gBAAE,SAAS,CAAC,MAAM,EAAE,CAAC;;gBAC1B,SAAS,CAAC,QAAQ,EAAE,CAAC;YAC1B,IAAI,QAAQ;gBAAE,SAAS,CAAC,cAAc,EAAE,CAAC;YAEzC,6DAA6D;YAC7D,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC;YACxB,MAAM,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YACrE,SAAS,CAAC,GAAG,GAAG,CAAC,CAAC,SAAS,CAAC,GAAG,GAAG,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACxD,YAAY,CAAC,GAAG,GAAG,CAAC,CAAC,YAAY,CAAC,GAAG,GAAG,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAE9D,iBAAiB;YACjB,SAAS,CAAC,cAAc,GAAG,CAAC,CAAC,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC5F,SAAS,CAAC,aAAa,GAAG,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACzF,SAAS,CAAC,YAAY,GAAG,CAAC,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAChG,YAAY,CAAC,cAAc,GAAG,CAAC,CAAC,YAAY,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACrG,YAAY,CAAC,aAAa,GAAG,CAAC,CAAC,YAAY,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAClG,YAAY,CAAC,YAAY,GAAG,CAAC,CAAC,YAAY,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAEzG,MAAM,MAAM,GAA6B;gBACvC,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBAC5B,KAAK;gBACL,SAAS,EAAE,SAAS,CAAC,KAAK,IAAI,SAAS,CAAC,UAAU;gBAClD,UAAU,EAAE,SAAS,CAAC,UAAU;gBAChC,aAAa,EAAE,OAAO;gBACtB,cAAc,EAAE,SAAS,CAAC,SAAS;gBACnC,mBAAmB,EAAE,SAAS,CAAC,UAAU;gBACzC,MAAM;gBACN,QAAQ;gBACR,IAAI;aACL,CAAC;YACF,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;YAC/B,MAAM,EAAE,GAAe,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,CAAC;YAC3C,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAChB,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK;gBAAE,gBAAgB,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YAC3D,IAAI,GAAG,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK;QAAE,gBAAgB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC9D,MAAM,WAAW,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IAC3C,MAAM,QAAQ,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;IAC3C,MAAM,KAAK,GAAG,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,IAAI,IAAI,EAAE,CAAC;IACvH,MAAM,cAAc,GAAG,UAAU,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAEjG,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;AAClG,CAAC;AAED,SAAS,WAAW,CAAC,KAAkC,EAAE,MAAc;IACrE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QACnB,KAAK,CAAC,MAAM,CAAC,GAAG;YACd,MAAM;YACN,GAAG,EAAE,SAAS;YACd,MAAM,EAAE,CAAC;YACT,MAAM,EAAE,CAAC;YACT,QAAQ,EAAE,CAAC;YACX,cAAc,EAAE,CAAC;YACjB,cAAc,EAAE,CAAC;YACjB,aAAa,EAAE,CAAC;YAChB,YAAY,EAAE,CAAC;SAChB,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC,MAAM,CAAE,CAAC;AACxB,CAAC;AAED,SAAS,eAAe,CAAC,KAAkC;IACzD,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;AAC5D,CAAC;AAED,SAAS,YAAY,CAAC,KAAoB;IACxC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACpC,+BAA+B;IAC/B,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAE,CAAC;IACvF,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAE,CAAC;IACrF,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAE,CAAC;IACnF,kEAAkE;IAClE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,cAAc,EAAE,CAAC;AACxF,CAAC;AAED,uEAAuE;AACvE,MAAM,UAAU,wBAAwB,CAAC,QAAgB;IAKvD,MAAM,KAAK,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;IACxC,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IACtC,MAAM,WAAW,GAAG,CAAC,GAAG,EAAE;QACxB,IAAI,CAAC;YACH,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,aAAa,EAAE,gBAAgB,CAAC,CAAC;YAC1D,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;gBAAE,OAAO,CAAC,CAAC;YAC7B,OAAO,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;QACpE,CAAC;QAAC,MAAM,CAAC;YAAC,OAAO,CAAC,CAAC;QAAC,CAAC;IACvB,CAAC,CAAC,EAAE,CAAC;IACL,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACtH,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;AACpD,CAAC;AAED,uDAAuD;AACvD,MAAM,UAAU,oBAAoB,CAAC,QAAgB;IACnD,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,aAAa,EAAE,gBAAgB,CAAC,CAAC;IAC1D,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;QAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IACjD,MAAM,KAAK,GAAG,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAClE,IAAI,IAAI,GAAG,IAAI,CAAC;IAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,IAAI,EAAc,CAAC;QACnB,IAAI,CAAC;YAAC,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAE,CAAe,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC;YACvD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAC;QAC1E,CAAC;QACD,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,CAAC;QAC7B,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;QAC5F,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,QAAQ,KAAK,IAAI;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;QAC3F,IAAI,GAAG,IAAI,CAAC;IACd,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;AAC1C,CAAC;AAED,2DAA2D;AAC3D,MAAM,UAAU,eAAe,CAAC,QAAgB,EAAE,CAAC,GAAG,EAAE;IACtD,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,aAAa,EAAE,gBAAgB,CAAC,CAAC;IAC1D,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;QAAE,OAAO,EAAE,CAAC;IAC9B,MAAM,KAAK,GAAG,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAClE,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7B,MAAM,GAAG,GAAiB,EAAE,CAAC;IAC7B,KAAK,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC;QACtB,IAAI,CAAC;YAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAe,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC;IACtE,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -0,0 +1,69 @@
1
+ /**
2
+ * v2.53.0 — CORPUS AUGMENTER for NEMESIS calibration.
3
+ *
4
+ * Closes P1-2 from v2.52 session audit: classify accuracy drops on
5
+ * "wild" data (real PRs from GitHub) vs seed corpus because the seed
6
+ * is too clean (always has `diff --git` headers; PR descriptions are
7
+ * crisp; commit messages follow conventions). Wild data is noisier.
8
+ *
9
+ * Without an external PR harvesting pipeline, we SYNTHESIZE the noise
10
+ * locally — 5 deterministic transformations per seed fixture that
11
+ * produce realistic-but-perturbed variants:
12
+ *
13
+ * T1 STRIP_DIFF_HEADER — remove `diff --git`, `--- a/`, `+++ b/`
14
+ * lines (simulates pasted-into-clipboard)
15
+ * T2 NATURALISE_PR — replace structured "## Changes" / bullet
16
+ * lists with flowing prose
17
+ * T3 SPARSE_COMMITS — keep only the first commit subject
18
+ * (simulates squash-merge)
19
+ * T4 DENSE_COMMITS — duplicate commits with whitespace tweaks
20
+ * (simulates fixup chain)
21
+ * T5 WHITESPACE_NOISE — add trailing whitespace + CRLF endings
22
+ * (simulates cross-platform clipboard)
23
+ *
24
+ * Each augmented fixture inherits the original's vendor label, so the
25
+ * augmented corpus is 6x larger (1 seed + 5 perturbations) and tests
26
+ * generalization to wilder inputs.
27
+ *
28
+ * Pure deterministic + defensive; never throws.
29
+ */
30
+ import type { CorpusEntry } from "./calibration_corpus.js";
31
+ import type { VendorStats } from "./calibration_corpus.js";
32
+ export type AugmentationKind = "STRIP_DIFF_HEADER" | "NATURALISE_PR" | "SPARSE_COMMITS" | "DENSE_COMMITS" | "WHITESPACE_NOISE";
33
+ export interface AugmentedEntry extends CorpusEntry {
34
+ augmentationKind: AugmentationKind | "ORIGINAL";
35
+ sourceFixtureId?: string;
36
+ }
37
+ /** Apply ONE augmentation kind to a fixture. Returns NEW fixture. */
38
+ export declare function applyAugmentation(entry: CorpusEntry, kind: AugmentationKind): AugmentedEntry;
39
+ /** Build the 6x-augmented corpus (1 ORIGINAL + 5 transformations per seed). */
40
+ export declare function buildAugmentedCorpus(): AugmentedEntry[];
41
+ export interface AugmentedAccuracyReport {
42
+ total: number;
43
+ correct: number;
44
+ accuracy: number;
45
+ byKind: Record<string, {
46
+ correct: number;
47
+ total: number;
48
+ accuracy: number;
49
+ }>;
50
+ failing: Array<{
51
+ vendor: string;
52
+ predicted: string;
53
+ kind: string;
54
+ confidence: number;
55
+ }>;
56
+ }
57
+ /**
58
+ * Evaluate the calibrated classifier against the 6x-augmented corpus.
59
+ * Returns per-kind accuracy + a sample of failures for debugging.
60
+ */
61
+ export declare function evaluateAugmentedAccuracy(opts?: {
62
+ maxFailing?: number;
63
+ }): AugmentedAccuracyReport;
64
+ /**
65
+ * Build per-vendor stats from the augmented corpus (use to retrain the
66
+ * calibrated classifier so it generalizes to noisier inputs).
67
+ */
68
+ export declare function computeAugmentedStats(): Map<string, VendorStats>;
69
+ //# sourceMappingURL=corpus_augmenter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"corpus_augmenter.d.ts","sourceRoot":"","sources":["../../src/nemesis/corpus_augmenter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAI3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,MAAM,MAAM,gBAAgB,GAAG,mBAAmB,GAAG,eAAe,GAAG,gBAAgB,GAAG,eAAe,GAAG,kBAAkB,CAAC;AAE/H,MAAM,WAAW,cAAe,SAAQ,WAAW;IACjD,gBAAgB,EAAE,gBAAgB,GAAG,UAAU,CAAC;IAChD,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAgDD,qEAAqE;AACrE,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,gBAAgB,GAAG,cAAc,CA2B5F;AAED,+EAA+E;AAC/E,wBAAgB,oBAAoB,IAAI,cAAc,EAAE,CAYvD;AAED,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC7E,OAAO,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACzF;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,GAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,uBAAuB,CA0BrG;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,IAAI,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAEhE"}
@@ -0,0 +1,164 @@
1
+ /**
2
+ * v2.53.0 — CORPUS AUGMENTER for NEMESIS calibration.
3
+ *
4
+ * Closes P1-2 from v2.52 session audit: classify accuracy drops on
5
+ * "wild" data (real PRs from GitHub) vs seed corpus because the seed
6
+ * is too clean (always has `diff --git` headers; PR descriptions are
7
+ * crisp; commit messages follow conventions). Wild data is noisier.
8
+ *
9
+ * Without an external PR harvesting pipeline, we SYNTHESIZE the noise
10
+ * locally — 5 deterministic transformations per seed fixture that
11
+ * produce realistic-but-perturbed variants:
12
+ *
13
+ * T1 STRIP_DIFF_HEADER — remove `diff --git`, `--- a/`, `+++ b/`
14
+ * lines (simulates pasted-into-clipboard)
15
+ * T2 NATURALISE_PR — replace structured "## Changes" / bullet
16
+ * lists with flowing prose
17
+ * T3 SPARSE_COMMITS — keep only the first commit subject
18
+ * (simulates squash-merge)
19
+ * T4 DENSE_COMMITS — duplicate commits with whitespace tweaks
20
+ * (simulates fixup chain)
21
+ * T5 WHITESPACE_NOISE — add trailing whitespace + CRLF endings
22
+ * (simulates cross-platform clipboard)
23
+ *
24
+ * Each augmented fixture inherits the original's vendor label, so the
25
+ * augmented corpus is 6x larger (1 seed + 5 perturbations) and tests
26
+ * generalization to wilder inputs.
27
+ *
28
+ * Pure deterministic + defensive; never throws.
29
+ */
30
+ import { buildSeedCorpus, computeStats } from "./calibration_corpus.js";
31
+ import { classifyAgentCalibrated } from "./classifier_calibrated.js";
32
+ import { extractFingerprint } from "./features.js";
33
+ function stripDiffHeader(diff) {
34
+ if (typeof diff !== "string")
35
+ return "";
36
+ return diff
37
+ .split("\n")
38
+ .filter((l) => !/^diff --git /.test(l))
39
+ .filter((l) => !/^--- (a\/|\/dev\/null)/.test(l))
40
+ .filter((l) => !/^\+\+\+ (b\/|\/dev\/null)/.test(l))
41
+ .filter((l) => !/^index [0-9a-f]{7,}\.\.[0-9a-f]{7,}/.test(l))
42
+ .join("\n");
43
+ }
44
+ function naturalisePr(pr) {
45
+ if (typeof pr !== "string" || pr.length === 0)
46
+ return "";
47
+ // Strip markdown headings + bullet lists → flowing prose
48
+ return pr
49
+ .replace(/^#+\s*/gm, "")
50
+ .replace(/^[-*]\s+/gm, "")
51
+ .replace(/\[([^\]]+)\]\([^)]+\)/g, "$1")
52
+ .replace(/\n{2,}/g, ". ")
53
+ .replace(/\n/g, " ")
54
+ .trim();
55
+ }
56
+ function sparseCommits(commits) {
57
+ if (!Array.isArray(commits) || commits.length === 0)
58
+ return [];
59
+ // Keep only first commit, only the subject line
60
+ const first = commits[0].split("\n")[0].trim();
61
+ return [first];
62
+ }
63
+ function denseCommits(commits) {
64
+ if (!Array.isArray(commits) || commits.length === 0)
65
+ return [];
66
+ const out = [];
67
+ for (const c of commits) {
68
+ out.push(c);
69
+ // Add a fixup-style follow-up
70
+ out.push(`fixup! ${c.split("\n")[0]}`);
71
+ }
72
+ return out;
73
+ }
74
+ function whitespaceNoise(diff) {
75
+ if (typeof diff !== "string")
76
+ return "";
77
+ return diff.split("\n").map((l) => l + " ").join("\r\n");
78
+ }
79
+ /** Apply ONE augmentation kind to a fixture. Returns NEW fixture. */
80
+ export function applyAugmentation(entry, kind) {
81
+ const base = {
82
+ vendor: entry.vendor,
83
+ fixture: {
84
+ diff: entry.fixture.diff,
85
+ prDescription: entry.fixture.prDescription,
86
+ commitMessages: [...entry.fixture.commitMessages],
87
+ },
88
+ };
89
+ switch (kind) {
90
+ case "STRIP_DIFF_HEADER":
91
+ base.fixture.diff = stripDiffHeader(base.fixture.diff);
92
+ break;
93
+ case "NATURALISE_PR":
94
+ base.fixture.prDescription = naturalisePr(base.fixture.prDescription);
95
+ break;
96
+ case "SPARSE_COMMITS":
97
+ base.fixture.commitMessages = sparseCommits(base.fixture.commitMessages);
98
+ break;
99
+ case "DENSE_COMMITS":
100
+ base.fixture.commitMessages = denseCommits(base.fixture.commitMessages);
101
+ break;
102
+ case "WHITESPACE_NOISE":
103
+ base.fixture.diff = whitespaceNoise(base.fixture.diff);
104
+ break;
105
+ }
106
+ return { ...base, augmentationKind: kind };
107
+ }
108
+ /** Build the 6x-augmented corpus (1 ORIGINAL + 5 transformations per seed). */
109
+ export function buildAugmentedCorpus() {
110
+ const seed = buildSeedCorpus();
111
+ const kinds = ["STRIP_DIFF_HEADER", "NATURALISE_PR", "SPARSE_COMMITS", "DENSE_COMMITS", "WHITESPACE_NOISE"];
112
+ const out = [];
113
+ for (let i = 0; i < seed.length; i++) {
114
+ const s = seed[i];
115
+ out.push({ ...s, augmentationKind: "ORIGINAL", sourceFixtureId: `seed-${i}` });
116
+ for (const k of kinds) {
117
+ out.push({ ...applyAugmentation(s, k), sourceFixtureId: `seed-${i}` });
118
+ }
119
+ }
120
+ return out;
121
+ }
122
+ /**
123
+ * Evaluate the calibrated classifier against the 6x-augmented corpus.
124
+ * Returns per-kind accuracy + a sample of failures for debugging.
125
+ */
126
+ export function evaluateAugmentedAccuracy(opts = {}) {
127
+ const corpus = buildAugmentedCorpus();
128
+ const byKind = {};
129
+ const failing = [];
130
+ let correct = 0;
131
+ for (const entry of corpus) {
132
+ const fp = extractFingerprint(entry.fixture);
133
+ const v = classifyAgentCalibrated(fp);
134
+ const ok = v.topVendor === entry.vendor;
135
+ if (ok)
136
+ correct++;
137
+ const kind = entry.augmentationKind;
138
+ if (!byKind[kind])
139
+ byKind[kind] = { correct: 0, total: 0, accuracy: 0 };
140
+ byKind[kind].total++;
141
+ if (ok)
142
+ byKind[kind].correct++;
143
+ if (!ok && failing.length < (opts.maxFailing ?? 10)) {
144
+ failing.push({ vendor: entry.vendor, predicted: v.topVendor, kind, confidence: v.confidence });
145
+ }
146
+ }
147
+ for (const k of Object.keys(byKind))
148
+ byKind[k].accuracy = +(byKind[k].correct / Math.max(1, byKind[k].total)).toFixed(3);
149
+ return {
150
+ total: corpus.length,
151
+ correct,
152
+ accuracy: +(correct / Math.max(1, corpus.length)).toFixed(3),
153
+ byKind,
154
+ failing,
155
+ };
156
+ }
157
+ /**
158
+ * Build per-vendor stats from the augmented corpus (use to retrain the
159
+ * calibrated classifier so it generalizes to noisier inputs).
160
+ */
161
+ export function computeAugmentedStats() {
162
+ return computeStats(buildAugmentedCorpus());
163
+ }
164
+ //# sourceMappingURL=corpus_augmenter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"corpus_augmenter.js","sourceRoot":"","sources":["../../src/nemesis/corpus_augmenter.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"eu_ai_act_stamp.d.ts","sourceRoot":"","sources":["../../src/nemesis/eu_ai_act_stamp.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAGH,OAAO,KAAK,EACM,mBAAmB,EAAE,WAAW,EAAE,iBAAiB,EACpE,MAAM,YAAY,CAAC;AAYpB,wBAAgB,uBAAuB,IAAI,IAAI,CAAsB;AA4BrE,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,WAAW,CAkCtE;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,cAAc,EAAE,MAAM,GAAG,iBAAiB,CA+BrE"}
1
+ {"version":3,"file":"eu_ai_act_stamp.d.ts","sourceRoot":"","sources":["../../src/nemesis/eu_ai_act_stamp.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAGH,OAAO,KAAK,EACM,mBAAmB,EAAE,WAAW,EAAE,iBAAiB,EACpE,MAAM,YAAY,CAAC;AA2BpB,wBAAgB,uBAAuB,IAAI,IAAI,CAAsB;AA4BrE,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,WAAW,CAkCtE;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,cAAc,EAAE,MAAM,GAAG,iBAAiB,CA+BrE"}
@@ -24,10 +24,24 @@ import { createHmac } from "node:crypto";
24
24
  // v2.48.0 — WARMCACHE: resolve HMAC key once per process so single-call
25
25
  // (git hook UX) hits <100ms. Pre-v2.48 git hook = 984ms because the
26
26
  // crypto module + key resolution happened cold every call.
27
+ //
28
+ // v2.53.0 — Hardened: when MNEME_NEMESIS_STRICT=1 set + no production key
29
+ // configured, throw at first call so receipts never silently use the
30
+ // default-insecure key. Plus warm `crypto` import once at module load
31
+ // to avoid lazy-init latency on the first stamp call (was 700-984ms).
32
+ import { createHash as _warmCryptoLoad } from "node:crypto";
33
+ void _warmCryptoLoad; // force crypto module resolution at import time
27
34
  let _keyCache = null;
28
35
  function getHmacKey() {
29
36
  if (_keyCache)
30
37
  return _keyCache;
38
+ // STRICT mode: refuse silently using default-insecure key
39
+ if (process.env["MNEME_NEMESIS_STRICT"] === "1") {
40
+ const envKey = process.env["MNEME_NEMESIS_KEY"];
41
+ if (typeof envKey !== "string" || envKey.length < 16) {
42
+ throw new Error("MNEME_NEMESIS_STRICT=1 set + MNEME_NEMESIS_KEY missing/short — refusing to issue EU stamp with default-insecure key");
43
+ }
44
+ }
31
45
  _keyCache = process.env["MNEME_NEMESIS_KEY"] ?? "MNEME-NEMESIS-DEFAULT-KEY-v2.46";
32
46
  return _keyCache;
33
47
  }
@@ -1 +1 @@
1
- {"version":3,"file":"eu_ai_act_stamp.js","sourceRoot":"","sources":["../../src/nemesis/eu_ai_act_stamp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"eu_ai_act_stamp.js","sourceRoot":"","sources":["../../src/nemesis/eu_ai_act_stamp.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAKzC,wEAAwE;AACxE,oEAAoE;AACpE,2DAA2D;AAC3D,EAAE;AACF,0EAA0E;AAC1E,qEAAqE;AACrE,sEAAsE;AACtE,sEAAsE;AACtE,OAAO,EAAE,UAAU,IAAI,eAAe,EAAE,MAAM,aAAa,CAAC;AAC5D,KAAK,eAAe,CAAC,CAAC,gDAAgD;AAEtE,IAAI,SAAS,GAAkB,IAAI,CAAC;AACpC,SAAS,UAAU;IACjB,IAAI,SAAS;QAAE,OAAO,SAAS,CAAC;IAChC,0DAA0D;IAC1D,IAAI,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,KAAK,GAAG,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QAChD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;YACrD,MAAM,IAAI,KAAK,CAAC,qHAAqH,CAAC,CAAC;QACzI,CAAC;IACH,CAAC;IACD,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,IAAI,iCAAiC,CAAC;IAClF,OAAO,SAAS,CAAC;AACnB,CAAC;AACD,gEAAgE;AAChE,MAAM,UAAU,uBAAuB,KAAW,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC;AAErE,MAAM,MAAM,GAAG,gBAAgB,CAAC;AAChC,MAAM,OAAO,GAAG,IAAI,CAAC;AAErB;;;;GAIG;AACH,SAAS,cAAc,CAAC,CAAU;IAChC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QAAE,OAAO,CAAC,CAAC;IAC3D,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACrC,CAAC;AAED,SAAS,kBAAkB,CAAC,CAA+B,EAAE,OAAe;IAC1E,mDAAmD;IACnD,OAAO,IAAI,CAAC,SAAS,CAAC;QACpB,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,EAAE,EAAE,CAAC,CAAC,EAAE;QACR,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC3C,WAAW,EAAE,CAAC,CAAC,WAAW;QAC1B,OAAO;QACP,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,MAAM,EAAE,CAAC,CAAC,MAAM;KACjB,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAA0B;IACvD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5E,OAAO;YACL,EAAE,EAAE,KAAK;YACT,MAAM,EAAE,4DAA4D;YACpE,cAAc,EAAE,KAAK,EAAE,OAAO,IAAI,EAAE;YACpC,KAAK,EAAE;gBACL,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,WAAW,EAAE,oBAAoB;gBACpE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO;aAC3C;SACF,CAAC;IACJ,CAAC;IACD,MAAM,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACpC,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,IAAI,oBAAoB,CAAC;IAC9D,MAAM,UAAU,GAAG,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACpD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC;IACpC,MAAM,IAAI,GAAiC;QACzC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO;KACpF,CAAC;IACF,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACrH,MAAM,KAAK,GAAmB,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,CAAC;IAChD,MAAM,KAAK,GAAG;QACZ,EAAE;QACF,2BAA2B;QAC3B,UAAU,MAAM,YAAY,OAAO,WAAW,KAAK,CAAC,MAAM,eAAe,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;QAChG,gBAAgB,WAAW,OAAO,EAAE,EAAE;QACtC,QAAQ,IAAI,EAAE;QACd,KAAK;KACN,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACb,OAAO;QACL,EAAE,EAAE,IAAI;QACR,cAAc,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,OAAO,GAAG,IAAI,GAAG,KAAK;QACjF,KAAK;KACN,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,cAAsB;IAChD,IAAI,CAAC,cAAc;QAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;IACpE,MAAM,UAAU,GAAG,cAAc,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;IAC1F,IAAI,CAAC,UAAU;QAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,qCAAqC,EAAE,CAAC;IACxF,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAE,CAAC;IAC7B,MAAM,IAAI,GAAG,CAAC,GAAW,EAAiB,EAAE;QAC1C,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,YAAY,GAAG,SAAS,CAAC,CAAC,CAAC;QAC5D,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1B,CAAC,CAAC;IACF,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;IAChC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC9B,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC;IACtC,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC;IACzC,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;IACtB,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1B,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM,IAAI,CAAC,UAAU,IAAI,CAAC,WAAW,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;QAClF,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,yCAAyC,CAAC,CAAC,MAAM,YAAY,CAAC,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,eAAe,CAAC,CAAC,UAAU,gBAAgB,CAAC,CAAC,WAAW,OAAO,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;IACjN,CAAC;IACD,IAAI,MAAM,KAAK,MAAM;QAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,6BAA6B,MAAM,SAAS,MAAM,EAAE,EAAE,CAAC;IAC7G,IAAI,OAAO,KAAK,OAAO;QAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,8BAA8B,OAAO,SAAS,OAAO,EAAE,EAAE,CAAC;IAClH,MAAM,aAAa,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;IAC7C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,4BAA4B,EAAE,CAAC;IACnG,iFAAiF;IACjF,MAAM,OAAO,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC9E,MAAM,IAAI,GAAiC;QACzC,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO;KACrF,CAAC;IACF,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACzH,IAAI,QAAQ,KAAK,IAAI;QAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,oCAAoC,EAAE,CAAC;IAC7F,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC;AACpD,CAAC"}
@@ -29,6 +29,15 @@ export { resolveHmacKey, generateProductionKey, type KeyResolution, type KeySour
29
29
  export { reconcileVendor, type ReconcileInput, type ReconcileVerdict, } from "./vendor_reconcile.js";
30
30
  export { computeWeightDelta, applyToConclave, type VerdictInput, type WeightDelta, type ApplyResult, } from "./nemesis_to_conclave.js";
31
31
  export { recordActivityReconciled, type RecordActivityInput, type RecordActivityResult, } from "./activity_writer.js";
32
+ export { computeStealthScore, earnAnonymityCredits, spendAnonymityCredits, stealthCreditStatus, verifyStealthLedger, type StealthVerdict, } from "./stealth_score.js";
33
+ export { extractMicroProfile, microDistance, suggestAntiCapillary, listCapillaryFeatures, type MicroProfile, type AntiCapillaryHint, } from "./capillary.js";
34
+ export { runTournament, readColosseumLeaderboard, verifyColosseumChain, spectatorReplay, type ContenderFixture, type MatchEvent, type VendorScore, type TournamentResult, } from "./colosseum.js";
35
+ export { detectMolt, verifyMoltVerdict, emitMoltWebhook, type FeatureShift, type MoltVerdict, } from "./molt.js";
36
+ export { verifyAlibi, verifyAlibiSignature, buildComplianceBundle, verifyComplianceBundle, type AlibiEvidenceItem, type AlibiVerdict, type ThemisResult, type ThemisInput, type ComplianceBundle, } from "./themis.js";
37
+ export { commitIdentity, revealIdentity, verifySibylChain, verifyCommitmentReveal, listOpenCommitments, type SibylIdentity, type SibylCommitment, type SibylReveal, type CommitOpts, type CommitResult, type RevealOpts, type RevealResult, } from "./sibyl.js";
38
+ export { runKeyWizard, checkKeyPermissions, strictKeyCheck, type KeyWizardResult, type KeyWizardOpts, } from "./key_setup.js";
39
+ export { applyAugmentation, buildAugmentedCorpus, evaluateAugmentedAccuracy, computeAugmentedStats, type AugmentedEntry, type AugmentationKind, type AugmentedAccuracyReport, } from "./corpus_augmenter.js";
40
+ export { locateBasin, observe, detectIdentitySwap, verifyJanusResult, type ClusterDistance, type JanusBasin, type JanusObservation, type JanusTransition, type JanusSessionResult, } from "./janus.js";
32
41
  export { AGENT_VENDOR_ALLOWLIST, EMBEDDER_LEAK_SIGNATURES, guardVendor, fullGuard, logEmbedderLeak, cleanseLedger, type VendorGuardResult, type FullGuardInput, type FullGuardResult, type CleanseLedgerInput, type CleanseLedgerResult, } from "./vendor_allowlist.js";
33
42
  export { generateProbes, gradeRun, recordRun, readRuns, trendFor, type Probe, type ProbeFamily, type NemesisRun, type TrendSeries, } from "./nemesis.js";
34
43
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/nemesis/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,YAAY,EACV,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAC5C,kBAAkB,EAAE,eAAe,EAAE,mBAAmB,EACxD,mBAAmB,EAAE,cAAc,EAAE,WAAW,EAAE,iBAAiB,GACpE,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACjF,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,KAAK,gBAAgB,EAAE,KAAK,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC9G,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,eAAe,EAAE,KAAK,UAAU,EAAE,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC7H,OAAO,EAAE,kBAAkB,EAAE,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAI3E,OAAO,EACL,eAAe,EAAE,YAAY,EAAE,SAAS,EACxC,KAAK,WAAW,EAAE,KAAK,WAAW,GACnC,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,uBAAuB,EAAE,oBAAoB,EAC7C,KAAK,cAAc,GACpB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,sBAAsB,EAAE,qBAAqB,EAAE,cAAc,EAAE,iBAAiB,EAChF,KAAK,iBAAiB,EAAE,KAAK,YAAY,GAC1C,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,cAAc,EAAE,qBAAqB,EACrC,KAAK,aAAa,EAAE,KAAK,SAAS,GACnC,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,eAAe,EAAE,KAAK,cAAc,EAAE,KAAK,gBAAgB,GAC5D,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,kBAAkB,EAAE,eAAe,EACnC,KAAK,YAAY,EAAE,KAAK,WAAW,EAAE,KAAK,WAAW,GACtD,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EACL,wBAAwB,EACxB,KAAK,mBAAmB,EAAE,KAAK,oBAAoB,GACpD,MAAM,sBAAsB,CAAC;AAM9B,OAAO,EACL,sBAAsB,EAAE,wBAAwB,EAChD,WAAW,EAAE,SAAS,EAAE,eAAe,EAAE,aAAa,EACtD,KAAK,iBAAiB,EAAE,KAAK,cAAc,EAAE,KAAK,eAAe,EACjE,KAAK,kBAAkB,EAAE,KAAK,mBAAmB,GAClD,MAAM,uBAAuB,CAAC;AAO/B,OAAO,EACL,cAAc,EACd,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,KAAK,KAAK,EACV,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,WAAW,GACjB,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/nemesis/index.ts"],"names":[],"mappings":"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"}