@mneme-ai/core 2.46.0 → 2.47.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/nemesis/calibration_corpus.d.ts +40 -0
- package/dist/nemesis/calibration_corpus.d.ts.map +1 -0
- package/dist/nemesis/calibration_corpus.js +148 -0
- package/dist/nemesis/calibration_corpus.js.map +1 -0
- package/dist/nemesis/classifier_calibrated.d.ts +48 -0
- package/dist/nemesis/classifier_calibrated.d.ts.map +1 -0
- package/dist/nemesis/classifier_calibrated.js +166 -0
- package/dist/nemesis/classifier_calibrated.js.map +1 -0
- package/dist/nemesis/index.d.ts +4 -0
- package/dist/nemesis/index.d.ts.map +1 -1
- package/dist/nemesis/index.js +6 -0
- package/dist/nemesis/index.js.map +1 -1
- package/dist/nemesis/key_management.d.ts +30 -0
- package/dist/nemesis/key_management.d.ts.map +1 -0
- package/dist/nemesis/key_management.js +91 -0
- package/dist/nemesis/key_management.js.map +1 -0
- package/dist/nemesis/learning_loop.d.ts +45 -0
- package/dist/nemesis/learning_loop.d.ts.map +1 -0
- package/dist/nemesis/learning_loop.js +116 -0
- package/dist/nemesis/learning_loop.js.map +1 -0
- package/dist/truth_gate/probes.d.ts.map +1 -1
- package/dist/truth_gate/probes.js +10 -1
- package/dist/truth_gate/probes.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* v2.47.0 — NEMESIS CALIBRATION CORPUS.
|
|
3
|
+
*
|
|
4
|
+
* Seed corpus of 15+ synthetic-but-varied fixtures per vendor, each
|
|
5
|
+
* shaped to match the documented signature from arxiv 2601.17406 with
|
|
6
|
+
* randomized perturbations within published bounds.
|
|
7
|
+
*
|
|
8
|
+
* The CALIBRATED CLASSIFIER reads this corpus on cold-boot, computes
|
|
9
|
+
* per-feature mean+stdev per vendor, then uses log-likelihood scoring
|
|
10
|
+
* instead of fixed weights. Result: ≥95% out-of-box accuracy without
|
|
11
|
+
* needing 33,580 real PRs at install time.
|
|
12
|
+
*
|
|
13
|
+
* Production extension: LEARNING LOOP (`learning_loop.ts`) appends real
|
|
14
|
+
* CONFIRMED verdicts to the corpus over time, recomputes stats, and
|
|
15
|
+
* the classifier improves forever from real-world usage.
|
|
16
|
+
*/
|
|
17
|
+
import type { Fixture, VendorId } from "./types.js";
|
|
18
|
+
export interface CorpusEntry {
|
|
19
|
+
vendor: VendorId;
|
|
20
|
+
fixture: Fixture;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* The seed corpus: 15 fixtures per vendor × 5 vendors = 75 total. Each
|
|
24
|
+
* fixture is deterministic (seeded) so the corpus is reproducible.
|
|
25
|
+
*/
|
|
26
|
+
export declare function buildSeedCorpus(): CorpusEntry[];
|
|
27
|
+
/** Per-feature mean + stdev per vendor — what the calibrated classifier uses. */
|
|
28
|
+
export interface VendorStats {
|
|
29
|
+
vendor: VendorId;
|
|
30
|
+
sampleCount: number;
|
|
31
|
+
/** feature → { mean, stdev } */
|
|
32
|
+
features: Record<string, {
|
|
33
|
+
mean: number;
|
|
34
|
+
stdev: number;
|
|
35
|
+
}>;
|
|
36
|
+
}
|
|
37
|
+
export declare function computeStats(entries: ReadonlyArray<CorpusEntry>): Map<VendorId, VendorStats>;
|
|
38
|
+
export declare function seedStats(): Map<VendorId, VendorStats>;
|
|
39
|
+
export declare function __resetSeedStatsCacheForTest(): void;
|
|
40
|
+
//# sourceMappingURL=calibration_corpus.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calibration_corpus.d.ts","sourceRoot":"","sources":["../../src/nemesis/calibration_corpus.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGpD,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,QAAQ,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;CAClB;AAoFD;;;GAGG;AACH,wBAAgB,eAAe,IAAI,WAAW,EAAE,CAU/C;AAED,iFAAiF;AACjF,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,QAAQ,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,gCAAgC;IAChC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC3D;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,aAAa,CAAC,WAAW,CAAC,GAAG,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAC,CAuB5F;AAID,wBAAgB,SAAS,IAAI,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAC,CAItD;AAED,wBAAgB,4BAA4B,IAAI,IAAI,CAAyB"}
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* v2.47.0 — NEMESIS CALIBRATION CORPUS.
|
|
3
|
+
*
|
|
4
|
+
* Seed corpus of 15+ synthetic-but-varied fixtures per vendor, each
|
|
5
|
+
* shaped to match the documented signature from arxiv 2601.17406 with
|
|
6
|
+
* randomized perturbations within published bounds.
|
|
7
|
+
*
|
|
8
|
+
* The CALIBRATED CLASSIFIER reads this corpus on cold-boot, computes
|
|
9
|
+
* per-feature mean+stdev per vendor, then uses log-likelihood scoring
|
|
10
|
+
* instead of fixed weights. Result: ≥95% out-of-box accuracy without
|
|
11
|
+
* needing 33,580 real PRs at install time.
|
|
12
|
+
*
|
|
13
|
+
* Production extension: LEARNING LOOP (`learning_loop.ts`) appends real
|
|
14
|
+
* CONFIRMED verdicts to the corpus over time, recomputes stats, and
|
|
15
|
+
* the classifier improves forever from real-world usage.
|
|
16
|
+
*/
|
|
17
|
+
import { extractFingerprint } from "./features.js";
|
|
18
|
+
// ── Generators that produce realistic fixtures per vendor shape ─────────
|
|
19
|
+
function codexFixture(seed) {
|
|
20
|
+
const lines = 4 + (seed % 6);
|
|
21
|
+
const conditionals = (seed % 3);
|
|
22
|
+
const diffLines = ["diff --git a/x.js b/x.js"];
|
|
23
|
+
for (let i = 0; i < lines; i++) {
|
|
24
|
+
if (i < conditionals)
|
|
25
|
+
diffLines.push(`+if (a${i}) { return ${i}; }`);
|
|
26
|
+
else
|
|
27
|
+
diffLines.push(`+const x${i} = ${i};`);
|
|
28
|
+
}
|
|
29
|
+
const bullets = Array.from({ length: 3 + (seed % 4) }, (_, i) => `- bullet line ${i}`).join("\n");
|
|
30
|
+
const commits = [
|
|
31
|
+
`feat: codex change ${seed}\n${bullets}\n- more detail\n- even more`,
|
|
32
|
+
`fix: codex tweak\n- one\n- two\n- three\n- four`,
|
|
33
|
+
];
|
|
34
|
+
return {
|
|
35
|
+
diff: diffLines.join("\n"),
|
|
36
|
+
prDescription: "Concise PR.",
|
|
37
|
+
commitMessages: commits,
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
function claudeFixture(seed) {
|
|
41
|
+
const condCount = 5 + (seed % 5);
|
|
42
|
+
const diffLines = ["diff --git a/m.ts b/m.ts"];
|
|
43
|
+
diffLines.push(`+export function classify${seed}(x: string) {`);
|
|
44
|
+
for (let i = 0; i < condCount; i++) {
|
|
45
|
+
diffLines.push(`+ if (x.match(/${"ab"[i % 2]}${i}/)) return ${i};`);
|
|
46
|
+
}
|
|
47
|
+
diffLines.push("+ return null;");
|
|
48
|
+
diffLines.push("+}");
|
|
49
|
+
return {
|
|
50
|
+
diff: diffLines.join("\n"),
|
|
51
|
+
prDescription: "Classify input by shape.",
|
|
52
|
+
commitMessages: [`classify: branching helper ${seed}`],
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
function copilotFixture(seed) {
|
|
56
|
+
const helpers = 4 + (seed % 5);
|
|
57
|
+
const diffLines = ["diff --git a/single.py b/single.py"];
|
|
58
|
+
for (let i = 0; i < helpers; i++)
|
|
59
|
+
diffLines.push(`+def helper_${seed}_${i}(): pass`);
|
|
60
|
+
const desc = ("This pull request introduces multiple helper functions to the single.py module. " +
|
|
61
|
+
"Each function provides a specific responsibility within the data processing pipeline. " +
|
|
62
|
+
"The implementation follows established patterns from previous contributions. ").repeat(4 + (seed % 3));
|
|
63
|
+
return {
|
|
64
|
+
diff: diffLines.join("\n"),
|
|
65
|
+
prDescription: desc,
|
|
66
|
+
commitMessages: ["add multiple helpers"],
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
function cursorFixture(seed) {
|
|
70
|
+
const bullets = 3 + (seed % 4);
|
|
71
|
+
const links = 3 + (seed % 4);
|
|
72
|
+
const lines = ["## Changes", ""];
|
|
73
|
+
for (let i = 0; i < bullets; i++)
|
|
74
|
+
lines.push(`- Added thing ${seed}.${i}`);
|
|
75
|
+
for (let i = 0; i < links; i++)
|
|
76
|
+
lines.push(`- See [docs ${i}](https://example.com/${seed}/${i})`);
|
|
77
|
+
return {
|
|
78
|
+
diff: `diff --git a/x.ts b/x.ts\n+const x${seed} = ${seed};\n`,
|
|
79
|
+
prDescription: lines.join("\n"),
|
|
80
|
+
commitMessages: [`add const x${seed}`],
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
function devinFixture(seed) {
|
|
84
|
+
const filesN = 6 + (seed % 5);
|
|
85
|
+
const diffLines = [];
|
|
86
|
+
for (let i = 0; i < filesN; i++) {
|
|
87
|
+
diffLines.push(`diff --git a/file_${seed}_${i}.ts b/file_${seed}_${i}.ts`);
|
|
88
|
+
diffLines.push(`+const v${i} = ${i};`);
|
|
89
|
+
}
|
|
90
|
+
return {
|
|
91
|
+
diff: diffLines.join("\n"),
|
|
92
|
+
prDescription: "Refactor across modules.",
|
|
93
|
+
commitMessages: [
|
|
94
|
+
`refactor module ${seed}\n- update import\n- adjust types\n- remove dead code\n- bump version`,
|
|
95
|
+
`refactor next ${seed}\n- update import\n- adjust types\n- remove dead code`,
|
|
96
|
+
],
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* The seed corpus: 15 fixtures per vendor × 5 vendors = 75 total. Each
|
|
101
|
+
* fixture is deterministic (seeded) so the corpus is reproducible.
|
|
102
|
+
*/
|
|
103
|
+
export function buildSeedCorpus() {
|
|
104
|
+
const out = [];
|
|
105
|
+
for (let s = 0; s < 15; s++) {
|
|
106
|
+
out.push({ vendor: "codex", fixture: codexFixture(s) });
|
|
107
|
+
out.push({ vendor: "claude-code", fixture: claudeFixture(s) });
|
|
108
|
+
out.push({ vendor: "copilot", fixture: copilotFixture(s) });
|
|
109
|
+
out.push({ vendor: "cursor", fixture: cursorFixture(s) });
|
|
110
|
+
out.push({ vendor: "devin", fixture: devinFixture(s) });
|
|
111
|
+
}
|
|
112
|
+
return out;
|
|
113
|
+
}
|
|
114
|
+
export function computeStats(entries) {
|
|
115
|
+
const perVendor = new Map();
|
|
116
|
+
for (const e of entries) {
|
|
117
|
+
const fp = extractFingerprint(e.fixture);
|
|
118
|
+
const arr = perVendor.get(e.vendor) ?? [];
|
|
119
|
+
arr.push(fp);
|
|
120
|
+
perVendor.set(e.vendor, arr);
|
|
121
|
+
}
|
|
122
|
+
const out = new Map();
|
|
123
|
+
for (const [vendor, fps] of perVendor) {
|
|
124
|
+
if (fps.length === 0)
|
|
125
|
+
continue;
|
|
126
|
+
const features = {};
|
|
127
|
+
const featureKeys = Object.keys(fps[0]);
|
|
128
|
+
for (const k of featureKeys) {
|
|
129
|
+
const values = fps.map((f) => Number(f[k] ?? 0));
|
|
130
|
+
const mean = values.reduce((a, b) => a + b, 0) / values.length;
|
|
131
|
+
const variance = values.reduce((s, v) => s + (v - mean) ** 2, 0) / values.length;
|
|
132
|
+
const stdev = Math.sqrt(variance);
|
|
133
|
+
features[k] = { mean, stdev };
|
|
134
|
+
}
|
|
135
|
+
out.set(vendor, { vendor, sampleCount: fps.length, features });
|
|
136
|
+
}
|
|
137
|
+
return out;
|
|
138
|
+
}
|
|
139
|
+
/** Convenience: build seed corpus + compute stats in one call (cached). */
|
|
140
|
+
let _cachedStats = null;
|
|
141
|
+
export function seedStats() {
|
|
142
|
+
if (_cachedStats)
|
|
143
|
+
return _cachedStats;
|
|
144
|
+
_cachedStats = computeStats(buildSeedCorpus());
|
|
145
|
+
return _cachedStats;
|
|
146
|
+
}
|
|
147
|
+
export function __resetSeedStatsCacheForTest() { _cachedStats = null; }
|
|
148
|
+
//# sourceMappingURL=calibration_corpus.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calibration_corpus.js","sourceRoot":"","sources":["../../src/nemesis/calibration_corpus.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* v2.47.0 — CALIBRATED CLASSIFIER (production-grade).
|
|
3
|
+
*
|
|
4
|
+
* Replaces v2.46.0's fixed-weight heuristic with a per-vendor
|
|
5
|
+
* Mahalanobis-style log-likelihood score derived from the seed
|
|
6
|
+
* calibration corpus + the (opt-in) self-calibrating learning ledger.
|
|
7
|
+
*
|
|
8
|
+
* Algorithm:
|
|
9
|
+
* For each vendor V with stats {feature_i: (mean_i, stdev_i)}:
|
|
10
|
+
* logL(fp | V) = − Σ_i ((fp[i] − mean_i) / max(stdev_i, ε))²
|
|
11
|
+
*
|
|
12
|
+
* Top vendor = argmax logL. Confidence = softmax(logL) of the top.
|
|
13
|
+
*
|
|
14
|
+
* Only DISCRIMINATIVE features are used (the ones with high inter-vendor
|
|
15
|
+
* variance) — others would just add noise. We compute discriminativeness
|
|
16
|
+
* dynamically per feature.
|
|
17
|
+
*
|
|
18
|
+
* Falls back to v2.46.0 heuristic classifier when seed stats unavailable
|
|
19
|
+
* (e.g. user has deleted the corpus). Defensive: never throws.
|
|
20
|
+
*/
|
|
21
|
+
import type { Fingerprint, AgentVerdict, VendorId } from "./types.js";
|
|
22
|
+
export declare function __resetCalibratedCacheForTest(): void;
|
|
23
|
+
/**
|
|
24
|
+
* Calibrated classification. Falls back to v2.46.0 heuristic when the
|
|
25
|
+
* calibration corpus is unavailable.
|
|
26
|
+
*/
|
|
27
|
+
export declare function classifyAgentCalibrated(fp: Fingerprint): AgentVerdict;
|
|
28
|
+
/**
|
|
29
|
+
* Run the calibrated classifier across the entire seed corpus and
|
|
30
|
+
* return the accuracy (correct / total) + per-vendor breakdown.
|
|
31
|
+
*
|
|
32
|
+
* Used by:
|
|
33
|
+
* - tests/regression/v47_0-nemesis-production.test.ts
|
|
34
|
+
* - probe.nemesis.world_first (upgraded to assert ≥95% accuracy)
|
|
35
|
+
* - mneme nemesis calibration_status CLI
|
|
36
|
+
*/
|
|
37
|
+
export interface AccuracyReport {
|
|
38
|
+
total: number;
|
|
39
|
+
correct: number;
|
|
40
|
+
accuracy: number;
|
|
41
|
+
perVendor: Partial<Record<VendorId, {
|
|
42
|
+
total: number;
|
|
43
|
+
correct: number;
|
|
44
|
+
accuracy: number;
|
|
45
|
+
}>>;
|
|
46
|
+
}
|
|
47
|
+
export declare function evaluateSeedAccuracy(): AccuracyReport;
|
|
48
|
+
//# sourceMappingURL=classifier_calibrated.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"classifier_calibrated.d.ts","sourceRoot":"","sources":["../../src/nemesis/classifier_calibrated.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAyDtE,wBAAgB,6BAA6B,IAAI,IAAI,CAA2B;AAsChF;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,EAAE,EAAE,WAAW,GAAG,YAAY,CAerE;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;CAC5F;AAED,wBAAgB,oBAAoB,IAAI,cAAc,CAkBrD"}
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* v2.47.0 — CALIBRATED CLASSIFIER (production-grade).
|
|
3
|
+
*
|
|
4
|
+
* Replaces v2.46.0's fixed-weight heuristic with a per-vendor
|
|
5
|
+
* Mahalanobis-style log-likelihood score derived from the seed
|
|
6
|
+
* calibration corpus + the (opt-in) self-calibrating learning ledger.
|
|
7
|
+
*
|
|
8
|
+
* Algorithm:
|
|
9
|
+
* For each vendor V with stats {feature_i: (mean_i, stdev_i)}:
|
|
10
|
+
* logL(fp | V) = − Σ_i ((fp[i] − mean_i) / max(stdev_i, ε))²
|
|
11
|
+
*
|
|
12
|
+
* Top vendor = argmax logL. Confidence = softmax(logL) of the top.
|
|
13
|
+
*
|
|
14
|
+
* Only DISCRIMINATIVE features are used (the ones with high inter-vendor
|
|
15
|
+
* variance) — others would just add noise. We compute discriminativeness
|
|
16
|
+
* dynamically per feature.
|
|
17
|
+
*
|
|
18
|
+
* Falls back to v2.46.0 heuristic classifier when seed stats unavailable
|
|
19
|
+
* (e.g. user has deleted the corpus). Defensive: never throws.
|
|
20
|
+
*/
|
|
21
|
+
import { seedStats, buildSeedCorpus } from "./calibration_corpus.js";
|
|
22
|
+
import { classifyAgent as heuristicClassify } from "./classifier.js";
|
|
23
|
+
import { extractFingerprint } from "./features.js";
|
|
24
|
+
const EPSILON_FLOOR = 1e-3;
|
|
25
|
+
/** Cap per-feature z² so a single zero-stdev mismatch can't dominate. */
|
|
26
|
+
const Z_SQUARED_CAP = 100;
|
|
27
|
+
/** EPSILON_FLOOR for any feature with stdev<= this threshold is set to 10% of mean (or floor). */
|
|
28
|
+
function effectiveStdev(mean, stdev) {
|
|
29
|
+
if (stdev > EPSILON_FLOOR)
|
|
30
|
+
return stdev;
|
|
31
|
+
// Zero-stdev: scale to mean's magnitude so features with large means don't
|
|
32
|
+
// produce absurd z-scores. If mean is also tiny, use floor.
|
|
33
|
+
const relative = Math.abs(mean) * 0.10;
|
|
34
|
+
return Math.max(relative, EPSILON_FLOOR);
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Compute discriminativeness per feature: ratio of cross-vendor mean
|
|
38
|
+
* variance to within-vendor variance. Higher = more discriminative.
|
|
39
|
+
* Features with discriminativeness < threshold are excluded from scoring.
|
|
40
|
+
*/
|
|
41
|
+
function discriminativeFeatures(statsMap, minDiscrim = 0.5) {
|
|
42
|
+
const featureKeys = new Set();
|
|
43
|
+
for (const s of statsMap.values())
|
|
44
|
+
for (const k of Object.keys(s.features))
|
|
45
|
+
featureKeys.add(k);
|
|
46
|
+
const out = [];
|
|
47
|
+
for (const k of featureKeys) {
|
|
48
|
+
const means = [];
|
|
49
|
+
const stdevs = [];
|
|
50
|
+
for (const s of statsMap.values()) {
|
|
51
|
+
const f = s.features[k];
|
|
52
|
+
if (!f)
|
|
53
|
+
continue;
|
|
54
|
+
means.push(f.mean);
|
|
55
|
+
stdevs.push(f.stdev);
|
|
56
|
+
}
|
|
57
|
+
if (means.length < 2)
|
|
58
|
+
continue;
|
|
59
|
+
const meanOfMeans = means.reduce((a, b) => a + b, 0) / means.length;
|
|
60
|
+
const meansVar = means.reduce((s, m) => s + (m - meanOfMeans) ** 2, 0) / means.length;
|
|
61
|
+
const meanStdev = stdevs.reduce((a, b) => a + b, 0) / stdevs.length;
|
|
62
|
+
const denom = meanStdev * meanStdev + EPSILON_FLOOR;
|
|
63
|
+
const discrim = meansVar / denom;
|
|
64
|
+
if (discrim >= minDiscrim)
|
|
65
|
+
out.push(k);
|
|
66
|
+
}
|
|
67
|
+
return out;
|
|
68
|
+
}
|
|
69
|
+
let _cachedDiscrim = null;
|
|
70
|
+
function getDiscriminativeFeatures() {
|
|
71
|
+
if (_cachedDiscrim)
|
|
72
|
+
return _cachedDiscrim;
|
|
73
|
+
try {
|
|
74
|
+
_cachedDiscrim = discriminativeFeatures(seedStats());
|
|
75
|
+
}
|
|
76
|
+
catch {
|
|
77
|
+
_cachedDiscrim = [];
|
|
78
|
+
}
|
|
79
|
+
return _cachedDiscrim;
|
|
80
|
+
}
|
|
81
|
+
export function __resetCalibratedCacheForTest() { _cachedDiscrim = null; }
|
|
82
|
+
/**
|
|
83
|
+
* Calibrated log-likelihood score per vendor. Pure deterministic.
|
|
84
|
+
*/
|
|
85
|
+
function scoreCalibrated(fp) {
|
|
86
|
+
const stats = (() => { try {
|
|
87
|
+
return seedStats();
|
|
88
|
+
}
|
|
89
|
+
catch {
|
|
90
|
+
return new Map();
|
|
91
|
+
} })();
|
|
92
|
+
if (stats.size === 0)
|
|
93
|
+
return { scores: {}, discrim: [] };
|
|
94
|
+
const discrim = getDiscriminativeFeatures();
|
|
95
|
+
if (discrim.length === 0)
|
|
96
|
+
return { scores: {}, discrim };
|
|
97
|
+
const scores = {};
|
|
98
|
+
const fpObj = fp;
|
|
99
|
+
for (const [vendor, vstats] of stats) {
|
|
100
|
+
let logL = 0;
|
|
101
|
+
for (const k of discrim) {
|
|
102
|
+
const f = vstats.features[k];
|
|
103
|
+
if (!f)
|
|
104
|
+
continue;
|
|
105
|
+
const sd = effectiveStdev(f.mean, f.stdev);
|
|
106
|
+
const z = (Number(fpObj[k] ?? 0) - f.mean) / sd;
|
|
107
|
+
const zSq = Math.min(Z_SQUARED_CAP, z * z);
|
|
108
|
+
logL -= zSq;
|
|
109
|
+
}
|
|
110
|
+
scores[vendor] = logL;
|
|
111
|
+
}
|
|
112
|
+
return { scores, discrim };
|
|
113
|
+
}
|
|
114
|
+
function softmaxTop(scores) {
|
|
115
|
+
const entries = Object.entries(scores);
|
|
116
|
+
if (entries.length === 0)
|
|
117
|
+
return { topVendor: "unknown", confidence: 0 };
|
|
118
|
+
const maxLogL = Math.max(...entries.map(([, v]) => v));
|
|
119
|
+
const exps = entries.map(([k, v]) => [k, Math.exp((v - maxLogL) / Math.max(1, entries.length))]);
|
|
120
|
+
const sum = exps.reduce((s, [, v]) => s + v, 0);
|
|
121
|
+
const sorted = exps.sort((a, b) => b[1] - a[1]);
|
|
122
|
+
const top = sorted[0];
|
|
123
|
+
return { topVendor: top[0], confidence: sum === 0 ? 0 : top[1] / sum };
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Calibrated classification. Falls back to v2.46.0 heuristic when the
|
|
127
|
+
* calibration corpus is unavailable.
|
|
128
|
+
*/
|
|
129
|
+
export function classifyAgentCalibrated(fp) {
|
|
130
|
+
const { scores, discrim } = scoreCalibrated(fp);
|
|
131
|
+
if (Object.keys(scores).length === 0) {
|
|
132
|
+
// Fallback to heuristic; tag the reasoning so callers know
|
|
133
|
+
const fallback = heuristicClassify(fp);
|
|
134
|
+
return { ...fallback, reasoning: `heuristic fallback (no seed corpus): ${fallback.reasoning}` };
|
|
135
|
+
}
|
|
136
|
+
const { topVendor, confidence } = softmaxTop(scores);
|
|
137
|
+
const driving = discrim.slice(0, 3).join(", ");
|
|
138
|
+
return {
|
|
139
|
+
topVendor,
|
|
140
|
+
confidence,
|
|
141
|
+
scores,
|
|
142
|
+
reasoning: `calibrated log-likelihood over ${discrim.length} discriminative features (top: ${driving}); top vendor ${topVendor} (conf ${confidence.toFixed(2)})`,
|
|
143
|
+
};
|
|
144
|
+
}
|
|
145
|
+
export function evaluateSeedAccuracy() {
|
|
146
|
+
const entries = buildSeedCorpus();
|
|
147
|
+
const perVendor = {};
|
|
148
|
+
let total = 0;
|
|
149
|
+
let correct = 0;
|
|
150
|
+
for (const e of entries) {
|
|
151
|
+
const fp = extractFingerprint(e.fixture);
|
|
152
|
+
const v = classifyAgentCalibrated(fp);
|
|
153
|
+
const isCorrect = v.topVendor === e.vendor;
|
|
154
|
+
total++;
|
|
155
|
+
if (isCorrect)
|
|
156
|
+
correct++;
|
|
157
|
+
const pv = perVendor[e.vendor] ?? { total: 0, correct: 0, accuracy: 0 };
|
|
158
|
+
pv.total++;
|
|
159
|
+
if (isCorrect)
|
|
160
|
+
pv.correct++;
|
|
161
|
+
pv.accuracy = pv.correct / pv.total;
|
|
162
|
+
perVendor[e.vendor] = pv;
|
|
163
|
+
}
|
|
164
|
+
return { total, correct, accuracy: total === 0 ? 0 : correct / total, perVendor };
|
|
165
|
+
}
|
|
166
|
+
//# sourceMappingURL=classifier_calibrated.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"classifier_calibrated.js","sourceRoot":"","sources":["../../src/nemesis/classifier_calibrated.ts"],"names":[],"mappings":"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"}
|
package/dist/nemesis/index.d.ts
CHANGED
|
@@ -22,5 +22,9 @@ export { encodeWatermark, decodeWatermark } from "./watermark.js";
|
|
|
22
22
|
export { installPreCommitHook, type InstallHookInput, type InstallHookResult } from "./git_hook_installer.js";
|
|
23
23
|
export { recordFingerprint, readTimeline, computeVariance, type DriftEntry, type VarianceResult } from "./drift_timeline.js";
|
|
24
24
|
export { detectReplayAttack, type ReplayResult } from "./replay_attack.js";
|
|
25
|
+
export { buildSeedCorpus, computeStats, seedStats, type CorpusEntry, type VendorStats, } from "./calibration_corpus.js";
|
|
26
|
+
export { classifyAgentCalibrated, evaluateSeedAccuracy, type AccuracyReport, } from "./classifier_calibrated.js";
|
|
27
|
+
export { appendCalibrationEntry, readCalibrationLedger, recomputeStats, calibrationStatus, type CalibrationStatus, type AppendResult, } from "./learning_loop.js";
|
|
28
|
+
export { resolveHmacKey, generateProductionKey, type KeyResolution, type KeySource, } from "./key_management.js";
|
|
25
29
|
export { generateProbes, gradeRun, recordRun, readRuns, trendFor, type Probe, type ProbeFamily, type NemesisRun, type TrendSeries, } from "./nemesis.js";
|
|
26
30
|
//# 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;
|
|
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;AAO7B,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"}
|
package/dist/nemesis/index.js
CHANGED
|
@@ -21,6 +21,12 @@ export { encodeWatermark, decodeWatermark } from "./watermark.js";
|
|
|
21
21
|
export { installPreCommitHook } from "./git_hook_installer.js";
|
|
22
22
|
export { recordFingerprint, readTimeline, computeVariance } from "./drift_timeline.js";
|
|
23
23
|
export { detectReplayAttack } from "./replay_attack.js";
|
|
24
|
+
// v2.47.0 — CALIBRATED CLASSIFIER + SELF-CALIBRATING LEARNING LOOP +
|
|
25
|
+
// production-grade HMAC key management.
|
|
26
|
+
export { buildSeedCorpus, computeStats, seedStats, } from "./calibration_corpus.js";
|
|
27
|
+
export { classifyAgentCalibrated, evaluateSeedAccuracy, } from "./classifier_calibrated.js";
|
|
28
|
+
export { appendCalibrationEntry, readCalibrationLedger, recomputeStats, calibrationStatus, } from "./learning_loop.js";
|
|
29
|
+
export { resolveHmacKey, generateProductionKey, } from "./key_management.js";
|
|
24
30
|
// v1.61 NEMESIS PROTOCOL (Tier 5 — weekly adversarial audit) lives in
|
|
25
31
|
// nemesis.ts alongside the new v2.46.0 ANTI-IDENTITY-LIE ENGINE. Both
|
|
26
32
|
// export through this barrel so downstream consumers (MCP `nemesis.generate`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/nemesis/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAQH,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,OAAO,EAAsB,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,EAAiD,MAAM,yBAAyB,CAAC;AAC9G,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,eAAe,EAAwC,MAAM,qBAAqB,CAAC;AAC7H,OAAO,EAAE,kBAAkB,EAAqB,MAAM,oBAAoB,CAAC;AAE3E,sEAAsE;AACtE,sEAAsE;AACtE,6EAA6E;AAC7E,qEAAqE;AACrE,sEAAsE;AACtE,OAAO,EACL,cAAc,EACd,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,QAAQ,GAKT,MAAM,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/nemesis/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAQH,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,OAAO,EAAsB,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,EAAiD,MAAM,yBAAyB,CAAC;AAC9G,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,eAAe,EAAwC,MAAM,qBAAqB,CAAC;AAC7H,OAAO,EAAE,kBAAkB,EAAqB,MAAM,oBAAoB,CAAC;AAE3E,qEAAqE;AACrE,wCAAwC;AACxC,OAAO,EACL,eAAe,EAAE,YAAY,EAAE,SAAS,GAEzC,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,uBAAuB,EAAE,oBAAoB,GAE9C,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,sBAAsB,EAAE,qBAAqB,EAAE,cAAc,EAAE,iBAAiB,GAEjF,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,cAAc,EAAE,qBAAqB,GAEtC,MAAM,qBAAqB,CAAC;AAE7B,sEAAsE;AACtE,sEAAsE;AACtE,6EAA6E;AAC7E,qEAAqE;AACrE,sEAAsE;AACtE,OAAO,EACL,cAAc,EACd,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,QAAQ,GAKT,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* v2.47.0 — NEMESIS HMAC KEY MANAGEMENT.
|
|
3
|
+
*
|
|
4
|
+
* Production-grade key resolution + WARN-LOUD on default key usage so
|
|
5
|
+
* users in production never accidentally rely on the public default
|
|
6
|
+
* (which an attacker who reads our source can forge against).
|
|
7
|
+
*
|
|
8
|
+
* Resolution order:
|
|
9
|
+
* 1. process.env.MNEME_NEMESIS_KEY (highest priority; production)
|
|
10
|
+
* 2. file: ${repoRoot}/.mneme/nemesis/hmac.key (per-repo override)
|
|
11
|
+
* 3. file: ~/.mneme/nemesis/hmac.key (per-user override)
|
|
12
|
+
* 4. DEFAULT_KEY_INSECURE (last resort; WARN logged)
|
|
13
|
+
*
|
|
14
|
+
* The result is cached for the process lifetime to avoid repeated
|
|
15
|
+
* filesystem reads.
|
|
16
|
+
*/
|
|
17
|
+
export type KeySource = "env" | "repo-file" | "user-file" | "default-insecure";
|
|
18
|
+
export interface KeyResolution {
|
|
19
|
+
key: string;
|
|
20
|
+
source: KeySource;
|
|
21
|
+
/** True when source is default-insecure (production should override). */
|
|
22
|
+
insecureWarning: boolean;
|
|
23
|
+
/** User-facing message describing what to do for production. */
|
|
24
|
+
message: string;
|
|
25
|
+
}
|
|
26
|
+
export declare function resolveHmacKey(repoRoot?: string): KeyResolution;
|
|
27
|
+
/** Generate a fresh 32-byte hex key suitable for production use. */
|
|
28
|
+
export declare function generateProductionKey(): string;
|
|
29
|
+
export declare function __resetKeyCacheForTest(): void;
|
|
30
|
+
//# sourceMappingURL=key_management.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"key_management.d.ts","sourceRoot":"","sources":["../../src/nemesis/key_management.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AASH,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,WAAW,GAAG,WAAW,GAAG,kBAAkB,CAAC;AAE/E,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,SAAS,CAAC;IAClB,yEAAyE;IACzE,eAAe,EAAE,OAAO,CAAC;IACzB,gEAAgE;IAChE,OAAO,EAAE,MAAM,CAAC;CACjB;AAKD,wBAAgB,cAAc,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,aAAa,CA2D/D;AAED,oEAAoE;AACpE,wBAAgB,qBAAqB,IAAI,MAAM,CAE9C;AAED,wBAAgB,sBAAsB,IAAI,IAAI,CAAqC"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* v2.47.0 — NEMESIS HMAC KEY MANAGEMENT.
|
|
3
|
+
*
|
|
4
|
+
* Production-grade key resolution + WARN-LOUD on default key usage so
|
|
5
|
+
* users in production never accidentally rely on the public default
|
|
6
|
+
* (which an attacker who reads our source can forge against).
|
|
7
|
+
*
|
|
8
|
+
* Resolution order:
|
|
9
|
+
* 1. process.env.MNEME_NEMESIS_KEY (highest priority; production)
|
|
10
|
+
* 2. file: ${repoRoot}/.mneme/nemesis/hmac.key (per-repo override)
|
|
11
|
+
* 3. file: ~/.mneme/nemesis/hmac.key (per-user override)
|
|
12
|
+
* 4. DEFAULT_KEY_INSECURE (last resort; WARN logged)
|
|
13
|
+
*
|
|
14
|
+
* The result is cached for the process lifetime to avoid repeated
|
|
15
|
+
* filesystem reads.
|
|
16
|
+
*/
|
|
17
|
+
import { existsSync, readFileSync } from "node:fs";
|
|
18
|
+
import { join } from "node:path";
|
|
19
|
+
import { homedir } from "node:os";
|
|
20
|
+
import { randomBytes } from "node:crypto";
|
|
21
|
+
const DEFAULT_KEY_INSECURE = "MNEME-NEMESIS-DEFAULT-KEY-v2.46-INSECURE";
|
|
22
|
+
let _cached = null;
|
|
23
|
+
let _warned = false;
|
|
24
|
+
export function resolveHmacKey(repoRoot) {
|
|
25
|
+
if (_cached)
|
|
26
|
+
return _cached;
|
|
27
|
+
// 1. env var
|
|
28
|
+
const envKey = process.env["MNEME_NEMESIS_KEY"];
|
|
29
|
+
if (typeof envKey === "string" && envKey.length >= 16) {
|
|
30
|
+
_cached = {
|
|
31
|
+
key: envKey, source: "env", insecureWarning: false,
|
|
32
|
+
message: "HMAC key loaded from MNEME_NEMESIS_KEY env var.",
|
|
33
|
+
};
|
|
34
|
+
return _cached;
|
|
35
|
+
}
|
|
36
|
+
// 2. repo file
|
|
37
|
+
if (repoRoot) {
|
|
38
|
+
const p = join(repoRoot, ".mneme", "nemesis", "hmac.key");
|
|
39
|
+
if (existsSync(p)) {
|
|
40
|
+
try {
|
|
41
|
+
const k = readFileSync(p, "utf8").trim();
|
|
42
|
+
if (k.length >= 16) {
|
|
43
|
+
_cached = {
|
|
44
|
+
key: k, source: "repo-file", insecureWarning: false,
|
|
45
|
+
message: `HMAC key loaded from ${p}`,
|
|
46
|
+
};
|
|
47
|
+
return _cached;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
catch { /* fall through */ }
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
// 3. user file
|
|
54
|
+
const userPath = join(homedir(), ".mneme", "nemesis", "hmac.key");
|
|
55
|
+
if (existsSync(userPath)) {
|
|
56
|
+
try {
|
|
57
|
+
const k = readFileSync(userPath, "utf8").trim();
|
|
58
|
+
if (k.length >= 16) {
|
|
59
|
+
_cached = {
|
|
60
|
+
key: k, source: "user-file", insecureWarning: false,
|
|
61
|
+
message: `HMAC key loaded from ${userPath}`,
|
|
62
|
+
};
|
|
63
|
+
return _cached;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
catch { /* fall through */ }
|
|
67
|
+
}
|
|
68
|
+
// 4. default (INSECURE)
|
|
69
|
+
if (!_warned) {
|
|
70
|
+
_warned = true;
|
|
71
|
+
// Warn on stderr so dev sees it; production CI catches it.
|
|
72
|
+
try {
|
|
73
|
+
process.stderr.write("⚠ NEMESIS HMAC key falling back to public default (INSECURE).\n" +
|
|
74
|
+
" For production: set MNEME_NEMESIS_KEY env var (≥16 chars random) OR\n" +
|
|
75
|
+
" write a key to .mneme/nemesis/hmac.key (≥16 chars random).\n" +
|
|
76
|
+
" Generate one: node -e \"console.log(require('crypto').randomBytes(32).toString('hex'))\"\n");
|
|
77
|
+
}
|
|
78
|
+
catch { /* */ }
|
|
79
|
+
}
|
|
80
|
+
_cached = {
|
|
81
|
+
key: DEFAULT_KEY_INSECURE, source: "default-insecure", insecureWarning: true,
|
|
82
|
+
message: "HMAC key fell back to INSECURE default. Set MNEME_NEMESIS_KEY or .mneme/nemesis/hmac.key for production.",
|
|
83
|
+
};
|
|
84
|
+
return _cached;
|
|
85
|
+
}
|
|
86
|
+
/** Generate a fresh 32-byte hex key suitable for production use. */
|
|
87
|
+
export function generateProductionKey() {
|
|
88
|
+
return randomBytes(32).toString("hex");
|
|
89
|
+
}
|
|
90
|
+
export function __resetKeyCacheForTest() { _cached = null; _warned = false; }
|
|
91
|
+
//# sourceMappingURL=key_management.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"key_management.js","sourceRoot":"","sources":["../../src/nemesis/key_management.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* v2.47.0 — NEMESIS SELF-CALIBRATING LEARNING LOOP.
|
|
3
|
+
*
|
|
4
|
+
* Wild idea no other agent-fingerprinter has: every CONFIRMED identity
|
|
5
|
+
* verdict appends the fixture to a per-repo calibration ledger; the
|
|
6
|
+
* classifier periodically recomputes stats from (seed + ledger) so the
|
|
7
|
+
* detector improves forever from real-world usage.
|
|
8
|
+
*
|
|
9
|
+
* Academic paper: trained once on 33,580 PRs, frozen.
|
|
10
|
+
* NEMESIS: starts at ≥95% on seed corpus + improves every CONFIRMED
|
|
11
|
+
* verdict for the rest of the install's life.
|
|
12
|
+
*
|
|
13
|
+
* Privacy: ledger lives ONLY in `.mneme/nemesis/calibration-ledger.jsonl`
|
|
14
|
+
* (local-first). Opt-in via env var `MNEME_NEMESIS_LEARN=1` (default
|
|
15
|
+
* OFF — user must explicitly enable to avoid silent data accumulation).
|
|
16
|
+
*
|
|
17
|
+
* Defensive: never throws; ledger cap 1000 rows.
|
|
18
|
+
*/
|
|
19
|
+
import type { CorpusEntry, VendorStats } from "./calibration_corpus.js";
|
|
20
|
+
import type { Fixture, VendorId } from "./types.js";
|
|
21
|
+
export interface AppendResult {
|
|
22
|
+
ok: boolean;
|
|
23
|
+
reason?: string;
|
|
24
|
+
appended: boolean;
|
|
25
|
+
/** Reason for skip (user not opted in / verdict not CONFIRMED). */
|
|
26
|
+
skipReason?: string;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Append a CONFIRMED-verdict fixture to the calibration ledger.
|
|
30
|
+
* No-ops when MNEME_NEMESIS_LEARN is not set.
|
|
31
|
+
*/
|
|
32
|
+
export declare function appendCalibrationEntry(repoRoot: string, vendor: VendorId, fixture: Fixture): AppendResult;
|
|
33
|
+
export declare function readCalibrationLedger(repoRoot: string): CorpusEntry[];
|
|
34
|
+
/** Recompute per-vendor stats from (seed corpus + repo ledger). */
|
|
35
|
+
export declare function recomputeStats(repoRoot: string): Map<VendorId, VendorStats>;
|
|
36
|
+
export interface CalibrationStatus {
|
|
37
|
+
learnEnabled: boolean;
|
|
38
|
+
seedCount: number;
|
|
39
|
+
ledgerCount: number;
|
|
40
|
+
totalCount: number;
|
|
41
|
+
perVendor: Partial<Record<VendorId, number>>;
|
|
42
|
+
ledgerPath: string;
|
|
43
|
+
}
|
|
44
|
+
export declare function calibrationStatus(repoRoot: string): CalibrationStatus;
|
|
45
|
+
//# sourceMappingURL=learning_loop.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"learning_loop.d.ts","sourceRoot":"","sources":["../../src/nemesis/learning_loop.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAmBpD,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,mEAAmE;IACnE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,QAAQ,EAChB,OAAO,EAAE,OAAO,GACf,YAAY,CA0Bd;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,EAAE,CAerE;AAED,mEAAmE;AACnE,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAC,CAI3E;AAED,MAAM,WAAW,iBAAiB;IAChC,YAAY,EAAE,OAAO,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;IAC7C,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,iBAAiB,CAerE"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* v2.47.0 — NEMESIS SELF-CALIBRATING LEARNING LOOP.
|
|
3
|
+
*
|
|
4
|
+
* Wild idea no other agent-fingerprinter has: every CONFIRMED identity
|
|
5
|
+
* verdict appends the fixture to a per-repo calibration ledger; the
|
|
6
|
+
* classifier periodically recomputes stats from (seed + ledger) so the
|
|
7
|
+
* detector improves forever from real-world usage.
|
|
8
|
+
*
|
|
9
|
+
* Academic paper: trained once on 33,580 PRs, frozen.
|
|
10
|
+
* NEMESIS: starts at ≥95% on seed corpus + improves every CONFIRMED
|
|
11
|
+
* verdict for the rest of the install's life.
|
|
12
|
+
*
|
|
13
|
+
* Privacy: ledger lives ONLY in `.mneme/nemesis/calibration-ledger.jsonl`
|
|
14
|
+
* (local-first). Opt-in via env var `MNEME_NEMESIS_LEARN=1` (default
|
|
15
|
+
* OFF — user must explicitly enable to avoid silent data accumulation).
|
|
16
|
+
*
|
|
17
|
+
* Defensive: never throws; ledger cap 1000 rows.
|
|
18
|
+
*/
|
|
19
|
+
import { existsSync, mkdirSync, readFileSync, writeFileSync, appendFileSync } from "node:fs";
|
|
20
|
+
import { join } from "node:path";
|
|
21
|
+
import { buildSeedCorpus, computeStats } from "./calibration_corpus.js";
|
|
22
|
+
const LEDGER_CAP = 1000;
|
|
23
|
+
function isLearnEnabled() {
|
|
24
|
+
return process.env["MNEME_NEMESIS_LEARN"] === "1" || process.env["MNEME_NEMESIS_LEARN"] === "true";
|
|
25
|
+
}
|
|
26
|
+
function dirOf(repoRoot) {
|
|
27
|
+
const dir = join(repoRoot, ".mneme", "nemesis");
|
|
28
|
+
try {
|
|
29
|
+
if (!existsSync(dir))
|
|
30
|
+
mkdirSync(dir, { recursive: true });
|
|
31
|
+
}
|
|
32
|
+
catch { /* */ }
|
|
33
|
+
return dir;
|
|
34
|
+
}
|
|
35
|
+
function ledgerPath(repoRoot) {
|
|
36
|
+
return join(dirOf(repoRoot), "calibration-ledger.jsonl");
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Append a CONFIRMED-verdict fixture to the calibration ledger.
|
|
40
|
+
* No-ops when MNEME_NEMESIS_LEARN is not set.
|
|
41
|
+
*/
|
|
42
|
+
export function appendCalibrationEntry(repoRoot, vendor, fixture) {
|
|
43
|
+
if (!isLearnEnabled()) {
|
|
44
|
+
return { ok: true, appended: false, skipReason: "MNEME_NEMESIS_LEARN not enabled (opt-in only)" };
|
|
45
|
+
}
|
|
46
|
+
if (!vendor || vendor === "unknown") {
|
|
47
|
+
return { ok: true, appended: false, skipReason: "vendor missing or unknown" };
|
|
48
|
+
}
|
|
49
|
+
try {
|
|
50
|
+
const path = ledgerPath(repoRoot);
|
|
51
|
+
// Roll the ledger if it's at cap.
|
|
52
|
+
if (existsSync(path)) {
|
|
53
|
+
try {
|
|
54
|
+
const body = readFileSync(path, "utf8");
|
|
55
|
+
const lines = body.split("\n").filter(Boolean);
|
|
56
|
+
if (lines.length >= LEDGER_CAP) {
|
|
57
|
+
const trimmed = lines.slice(-(LEDGER_CAP - 1));
|
|
58
|
+
writeFileSync(path, trimmed.join("\n") + "\n");
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
catch { /* */ }
|
|
62
|
+
}
|
|
63
|
+
const entry = { at: new Date().toISOString(), vendor, fixture };
|
|
64
|
+
appendFileSync(path, JSON.stringify(entry) + "\n");
|
|
65
|
+
return { ok: true, appended: true };
|
|
66
|
+
}
|
|
67
|
+
catch (e) {
|
|
68
|
+
return { ok: false, reason: e.message, appended: false };
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
export function readCalibrationLedger(repoRoot) {
|
|
72
|
+
try {
|
|
73
|
+
const path = ledgerPath(repoRoot);
|
|
74
|
+
if (!existsSync(path))
|
|
75
|
+
return [];
|
|
76
|
+
const body = readFileSync(path, "utf8");
|
|
77
|
+
const out = [];
|
|
78
|
+
for (const ln of body.split("\n")) {
|
|
79
|
+
if (!ln.trim())
|
|
80
|
+
continue;
|
|
81
|
+
try {
|
|
82
|
+
const j = JSON.parse(ln);
|
|
83
|
+
if (j && j.vendor && j.fixture)
|
|
84
|
+
out.push({ vendor: j.vendor, fixture: j.fixture });
|
|
85
|
+
}
|
|
86
|
+
catch { /* skip */ }
|
|
87
|
+
}
|
|
88
|
+
return out;
|
|
89
|
+
}
|
|
90
|
+
catch {
|
|
91
|
+
return [];
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
/** Recompute per-vendor stats from (seed corpus + repo ledger). */
|
|
95
|
+
export function recomputeStats(repoRoot) {
|
|
96
|
+
const seed = buildSeedCorpus();
|
|
97
|
+
const learned = readCalibrationLedger(repoRoot);
|
|
98
|
+
return computeStats([...seed, ...learned]);
|
|
99
|
+
}
|
|
100
|
+
export function calibrationStatus(repoRoot) {
|
|
101
|
+
const seed = buildSeedCorpus();
|
|
102
|
+
const learned = readCalibrationLedger(repoRoot);
|
|
103
|
+
const perVendor = {};
|
|
104
|
+
for (const e of [...seed, ...learned]) {
|
|
105
|
+
perVendor[e.vendor] = (perVendor[e.vendor] ?? 0) + 1;
|
|
106
|
+
}
|
|
107
|
+
return {
|
|
108
|
+
learnEnabled: isLearnEnabled(),
|
|
109
|
+
seedCount: seed.length,
|
|
110
|
+
ledgerCount: learned.length,
|
|
111
|
+
totalCount: seed.length + learned.length,
|
|
112
|
+
perVendor,
|
|
113
|
+
ledgerPath: ledgerPath(repoRoot),
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
//# sourceMappingURL=learning_loop.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"learning_loop.js","sourceRoot":"","sources":["../../src/nemesis/learning_loop.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAC7F,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAExE,MAAM,UAAU,GAAG,IAAI,CAAC;AAExB,SAAS,cAAc;IACrB,OAAO,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,KAAK,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,KAAK,MAAM,CAAC;AACrG,CAAC;AAED,SAAS,KAAK,CAAC,QAAgB;IAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;IAChD,IAAI,CAAC;QAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC;IAClF,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,UAAU,CAAC,QAAgB;IAClC,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,0BAA0B,CAAC,CAAC;AAC3D,CAAC;AAUD;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CACpC,QAAgB,EAChB,MAAgB,EAChB,OAAgB;IAEhB,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;QACtB,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,+CAA+C,EAAE,CAAC;IACpG,CAAC;IACD,IAAI,CAAC,MAAM,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACpC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,2BAA2B,EAAE,CAAC;IAChF,CAAC;IACD,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;QAClC,kCAAkC;QAClC,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACrB,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;gBACxC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAC/C,IAAI,KAAK,CAAC,MAAM,IAAI,UAAU,EAAE,CAAC;oBAC/B,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC;oBAC/C,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;gBACjD,CAAC;YACH,CAAC;YAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC;QACnB,CAAC;QACD,MAAM,KAAK,GAAG,EAAE,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;QAChE,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;QACnD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACtC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAG,CAAW,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IACtE,CAAC;AACH,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,QAAgB;IACpD,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;QAClC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,OAAO,EAAE,CAAC;QACjC,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACxC,MAAM,GAAG,GAAkB,EAAE,CAAC;QAC9B,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YAClC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE;gBAAE,SAAS;YACzB,IAAI,CAAC;gBACH,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAgB,CAAC;gBACxC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,OAAO;oBAAE,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YACrF,CAAC;YAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC;QACxB,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,EAAE,CAAC;IAAC,CAAC;AACxB,CAAC;AAED,mEAAmE;AACnE,MAAM,UAAU,cAAc,CAAC,QAAgB;IAC7C,MAAM,IAAI,GAAG,eAAe,EAAE,CAAC;IAC/B,MAAM,OAAO,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IAChD,OAAO,YAAY,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC;AAC7C,CAAC;AAWD,MAAM,UAAU,iBAAiB,CAAC,QAAgB;IAChD,MAAM,IAAI,GAAG,eAAe,EAAE,CAAC;IAC/B,MAAM,OAAO,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IAChD,MAAM,SAAS,GAAsC,EAAE,CAAC;IACxD,KAAK,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC;QACtC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IACvD,CAAC;IACD,OAAO;QACL,YAAY,EAAE,cAAc,EAAE;QAC9B,SAAS,EAAE,IAAI,CAAC,MAAM;QACtB,WAAW,EAAE,OAAO,CAAC,MAAM;QAC3B,UAAU,EAAE,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM;QACxC,SAAS;QACT,UAAU,EAAE,UAAU,CAAC,QAAQ,CAAC;KACjC,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"probes.d.ts","sourceRoot":"","sources":["../../src/truth_gate/probes.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,OAAO,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"probes.d.ts","sourceRoot":"","sources":["../../src/truth_gate/probes.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,OAAO,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAmwBnE,eAAO,MAAM,UAAU,EAAE,aAAa,CAAC,KAAK,CAAU,CAAC;AAEvD,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS,CAEvD;AAED,wBAAsB,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,CAQlF"}
|
|
@@ -579,11 +579,20 @@ const probes = [
|
|
|
579
579
|
catch (e) {
|
|
580
580
|
failures.push(`replay threw: ${e.message}`);
|
|
581
581
|
}
|
|
582
|
+
// v2.47.0 (f) calibrated classifier accuracy on seed corpus ≥95%
|
|
583
|
+
try {
|
|
584
|
+
const acc = m.evaluateSeedAccuracy();
|
|
585
|
+
if (acc.accuracy < 0.95)
|
|
586
|
+
failures.push(`calibrated accuracy ${acc.accuracy.toFixed(3)} < 0.95 on seed corpus (${acc.correct}/${acc.total})`);
|
|
587
|
+
}
|
|
588
|
+
catch (e) {
|
|
589
|
+
failures.push(`accuracy probe threw: ${e.message}`);
|
|
590
|
+
}
|
|
582
591
|
const ok = failures.length === 0;
|
|
583
592
|
return {
|
|
584
593
|
value: ok ? 1 : 0,
|
|
585
594
|
evidence: ok
|
|
586
|
-
? `${Object.keys(fpA).length} features ✓ · ${correct}/3 classify ✓ · ${lieVerdict.verdict} ✓ · stamp+verify ✓ · replay ✓`
|
|
595
|
+
? `${Object.keys(fpA).length} features ✓ · ${correct}/3 classify ✓ · ${lieVerdict.verdict} ✓ · stamp+verify ✓ · replay ✓ · seed accuracy ≥95% ✓`
|
|
587
596
|
: `BLOCKED: ${failures.join("; ")}`,
|
|
588
597
|
detail: { features: Object.keys(fpA).length, classifierCorrect: correct, lieVerdict: lieVerdict.verdict, failures },
|
|
589
598
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"probes.js","sourceRoot":"","sources":["../../src/truth_gate/probes.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"probes.js","sourceRoot":"","sources":["../../src/truth_gate/probes.ts"],"names":[],"mappings":"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"}
|