@mneme-ai/core 1.68.0 → 1.70.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/hyperscan/bench.d.ts +32 -0
- package/dist/hyperscan/bench.d.ts.map +1 -0
- package/dist/hyperscan/bench.js +81 -0
- package/dist/hyperscan/bench.js.map +1 -0
- package/dist/hyperscan/cross_citation.d.ts +51 -0
- package/dist/hyperscan/cross_citation.d.ts.map +1 -0
- package/dist/hyperscan/cross_citation.js +140 -0
- package/dist/hyperscan/cross_citation.js.map +1 -0
- package/dist/hyperscan/cross_source_qa.d.ts +49 -0
- package/dist/hyperscan/cross_source_qa.d.ts.map +1 -0
- package/dist/hyperscan/cross_source_qa.js +219 -0
- package/dist/hyperscan/cross_source_qa.js.map +1 -0
- package/dist/hyperscan/hyperscan.test.d.ts +5 -0
- package/dist/hyperscan/hyperscan.test.d.ts.map +1 -0
- package/dist/hyperscan/hyperscan.test.js +191 -0
- package/dist/hyperscan/hyperscan.test.js.map +1 -0
- package/dist/hyperscan/hyperscan_molecule.d.ts +76 -0
- package/dist/hyperscan/hyperscan_molecule.d.ts.map +1 -0
- package/dist/hyperscan/hyperscan_molecule.js +144 -0
- package/dist/hyperscan/hyperscan_molecule.js.map +1 -0
- package/dist/hyperscan/index.d.ts +26 -0
- package/dist/hyperscan/index.d.ts.map +1 -0
- package/dist/hyperscan/index.js +26 -0
- package/dist/hyperscan/index.js.map +1 -0
- package/dist/hyperscan/nucleus_dust_htc.d.ts +71 -0
- package/dist/hyperscan/nucleus_dust_htc.d.ts.map +1 -0
- package/dist/hyperscan/nucleus_dust_htc.js +242 -0
- package/dist/hyperscan/nucleus_dust_htc.js.map +1 -0
- package/dist/hyperscan/prose_shadow.d.ts +50 -0
- package/dist/hyperscan/prose_shadow.d.ts.map +1 -0
- package/dist/hyperscan/prose_shadow.js +225 -0
- package/dist/hyperscan/prose_shadow.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +23 -0
- package/dist/index.js.map +1 -1
- package/dist/precog/bayesian_priors.d.ts +49 -0
- package/dist/precog/bayesian_priors.d.ts.map +1 -0
- package/dist/precog/bayesian_priors.js +135 -0
- package/dist/precog/bayesian_priors.js.map +1 -0
- package/dist/precog/firewall.d.ts +72 -0
- package/dist/precog/firewall.d.ts.map +1 -0
- package/dist/precog/firewall.js +141 -0
- package/dist/precog/firewall.js.map +1 -0
- package/dist/precog/index.d.ts +54 -0
- package/dist/precog/index.d.ts.map +1 -0
- package/dist/precog/index.js +94 -0
- package/dist/precog/index.js.map +1 -0
- package/dist/precog/package_verifier.d.ts +45 -0
- package/dist/precog/package_verifier.d.ts.map +1 -0
- package/dist/precog/package_verifier.js +139 -0
- package/dist/precog/package_verifier.js.map +1 -0
- package/dist/precog/precog.test.d.ts +5 -0
- package/dist/precog/precog.test.d.ts.map +1 -0
- package/dist/precog/precog.test.js +224 -0
- package/dist/precog/precog.test.js.map +1 -0
- package/dist/precog/sha_version_verifier.d.ts +34 -0
- package/dist/precog/sha_version_verifier.d.ts.map +1 -0
- package/dist/precog/sha_version_verifier.js +131 -0
- package/dist/precog/sha_version_verifier.js.map +1 -0
- package/dist/precog/temporal_verifier.d.ts +45 -0
- package/dist/precog/temporal_verifier.d.ts.map +1 -0
- package/dist/precog/temporal_verifier.js +139 -0
- package/dist/precog/temporal_verifier.js.map +1 -0
- package/dist/precog/trust_certificate.d.ts +44 -0
- package/dist/precog/trust_certificate.d.ts.map +1 -0
- package/dist/precog/trust_certificate.js +103 -0
- package/dist/precog/trust_certificate.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,242 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* v1.69.0 -- HYPERSCAN H4: NUCLEUS DUST HTC.
|
|
3
|
+
*
|
|
4
|
+
* Wild idea: HTC's coverage is 0% on fresh repos because the user
|
|
5
|
+
* must manually run `htc-build populate Layer 1`. We make it automatic.
|
|
6
|
+
*
|
|
7
|
+
* "Nucleus dust" -- every observable artifact gets compressed into a
|
|
8
|
+
* tiny HTC molecule on the fly, NO manual step. The DUST accumulates
|
|
9
|
+
* silently as Mneme runs.
|
|
10
|
+
*
|
|
11
|
+
* - Every commit subject -> Layer 1 abstract (heuristic, no LLM)
|
|
12
|
+
* - Every file's top docstring -> Layer 1 abstract for the file
|
|
13
|
+
* - Auto-cluster by token-similarity into Layer 2
|
|
14
|
+
* - Concatenate Layer 2 into Layer 3 (memoir) on demand
|
|
15
|
+
*
|
|
16
|
+
* Layer 1 abstracts are HEURISTIC (no LLM call) -- "feat(area): summary"
|
|
17
|
+
* commits already carry their condensation. For prose commits we
|
|
18
|
+
* truncate to 30 tokens. This is a "free path" alternative to the
|
|
19
|
+
* LLM-driven layer.
|
|
20
|
+
*
|
|
21
|
+
* Coverage tracking: total abstracts / (total commits + total source
|
|
22
|
+
* files). Targets >= 80% on any healthy repo.
|
|
23
|
+
*/
|
|
24
|
+
import { existsSync, readFileSync, readdirSync, statSync, writeFileSync, mkdirSync } from "node:fs";
|
|
25
|
+
import { join } from "node:path";
|
|
26
|
+
import { execSync } from "node:child_process";
|
|
27
|
+
import { createHash } from "node:crypto";
|
|
28
|
+
const DUST_DIR = ".mneme/hyperscan/htc-dust";
|
|
29
|
+
const ABSTRACTS_FILE = ".mneme/hyperscan/htc-dust/abstracts.jsonl";
|
|
30
|
+
const CLUSTERS_FILE = ".mneme/hyperscan/htc-dust/clusters.json";
|
|
31
|
+
const COVERAGE_FILE = ".mneme/hyperscan/htc-dust/coverage.json";
|
|
32
|
+
function ensureDir(repoRoot) {
|
|
33
|
+
const d = join(repoRoot, DUST_DIR);
|
|
34
|
+
if (!existsSync(d))
|
|
35
|
+
mkdirSync(d, { recursive: true });
|
|
36
|
+
}
|
|
37
|
+
function estTokenCount(s) {
|
|
38
|
+
return Math.max(1, Math.round(s.split(/\s+/).length * 1.3));
|
|
39
|
+
}
|
|
40
|
+
/** Heuristic Layer-1 abstract for a commit subject. */
|
|
41
|
+
function abstractCommit(subject, body) {
|
|
42
|
+
// Conventional commit lines are already abstract-shaped.
|
|
43
|
+
if (/^[a-z]+(\([\w-]+\))?:/.test(subject)) {
|
|
44
|
+
return subject.split("\n")[0].slice(0, 140);
|
|
45
|
+
}
|
|
46
|
+
// Otherwise: take first sentence of subject + first line of body.
|
|
47
|
+
const firstSent = subject.split(/(?<=[.!?])\s+/)[0];
|
|
48
|
+
if (body) {
|
|
49
|
+
const firstBodyLine = body.split("\n").find((l) => l.trim().length > 0) ?? "";
|
|
50
|
+
return `${firstSent} (${firstBodyLine.slice(0, 80)})`.slice(0, 140);
|
|
51
|
+
}
|
|
52
|
+
return firstSent.slice(0, 140);
|
|
53
|
+
}
|
|
54
|
+
/** Heuristic Layer-1 abstract for a source-file docstring. */
|
|
55
|
+
function abstractDocstring(path, doc) {
|
|
56
|
+
const fname = path.split(/[\\/]/).pop();
|
|
57
|
+
// Take the first non-empty meaningful line.
|
|
58
|
+
const firstLine = doc.split("\n").map((l) => l.trim()).find((l) => l && !l.startsWith("*") && !/^v\d/.test(l)) ?? doc.slice(0, 80);
|
|
59
|
+
return `${fname}: ${firstLine.slice(0, 100)}`.slice(0, 140);
|
|
60
|
+
}
|
|
61
|
+
function walkSourceFiles(repoRoot, max = 500) {
|
|
62
|
+
const out = [];
|
|
63
|
+
const skip = new Set(["node_modules", ".git", "dist", "build", ".mneme", "coverage"]);
|
|
64
|
+
const walk = (dir) => {
|
|
65
|
+
if (out.length >= max)
|
|
66
|
+
return;
|
|
67
|
+
let entries = [];
|
|
68
|
+
try {
|
|
69
|
+
entries = readdirSync(dir);
|
|
70
|
+
}
|
|
71
|
+
catch {
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
for (const e of entries) {
|
|
75
|
+
if (skip.has(e))
|
|
76
|
+
continue;
|
|
77
|
+
const p = join(dir, e);
|
|
78
|
+
try {
|
|
79
|
+
const s = statSync(p);
|
|
80
|
+
if (s.isDirectory())
|
|
81
|
+
walk(p);
|
|
82
|
+
else if (/\.ts$/.test(e)) {
|
|
83
|
+
try {
|
|
84
|
+
out.push({ path: p, content: readFileSync(p, "utf8") });
|
|
85
|
+
}
|
|
86
|
+
catch { /* */ }
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
catch { /* */ }
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
walk(repoRoot);
|
|
93
|
+
return out;
|
|
94
|
+
}
|
|
95
|
+
function readCommits(repoRoot, max = 500) {
|
|
96
|
+
try {
|
|
97
|
+
const r = execSync(`git -C "${repoRoot}" log --max-count=${max} --pretty=format:%H%x09%s%x09%b%n---COMMIT---`, { encoding: "utf8", stdio: ["ignore", "pipe", "ignore"], timeout: 5000 });
|
|
98
|
+
return r.split(/\n---COMMIT---\n/).map((row) => {
|
|
99
|
+
const [hash, subject, ...rest] = row.split("\t");
|
|
100
|
+
if (!hash || !subject)
|
|
101
|
+
return null;
|
|
102
|
+
return { hash, subject, body: rest.join("\t") };
|
|
103
|
+
}).filter((x) => x !== null);
|
|
104
|
+
}
|
|
105
|
+
catch {
|
|
106
|
+
return [];
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
/** Idempotent: generates abstracts for everything not yet covered. */
|
|
110
|
+
export function generateDust(repoRoot, opts) {
|
|
111
|
+
ensureDir(repoRoot);
|
|
112
|
+
const existing = readAbstracts(repoRoot);
|
|
113
|
+
const existingIds = new Set(existing.map((a) => a.id));
|
|
114
|
+
const newAbstracts = [];
|
|
115
|
+
const ts = new Date().toISOString();
|
|
116
|
+
for (const c of readCommits(repoRoot, opts?.maxCommits ?? 500)) {
|
|
117
|
+
const id = createHash("sha256").update(`commit|${c.hash}`).digest("hex").slice(0, 16);
|
|
118
|
+
if (existingIds.has(id))
|
|
119
|
+
continue;
|
|
120
|
+
const abs = abstractCommit(c.subject, c.body);
|
|
121
|
+
newAbstracts.push({
|
|
122
|
+
id,
|
|
123
|
+
source: { kind: "commit", ref: c.hash },
|
|
124
|
+
abstract: abs,
|
|
125
|
+
tokenCount: estTokenCount(abs),
|
|
126
|
+
generatedAt: ts,
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
for (const f of walkSourceFiles(repoRoot, opts?.maxFiles ?? 500)) {
|
|
130
|
+
const m = f.content.match(/^\s*\/\*\*([\s\S]*?)\*\//);
|
|
131
|
+
if (!m)
|
|
132
|
+
continue;
|
|
133
|
+
const id = createHash("sha256").update(`file|${f.path}`).digest("hex").slice(0, 16);
|
|
134
|
+
if (existingIds.has(id))
|
|
135
|
+
continue;
|
|
136
|
+
const abs = abstractDocstring(f.path, m[1]);
|
|
137
|
+
newAbstracts.push({
|
|
138
|
+
id,
|
|
139
|
+
source: { kind: "file-docstring", ref: f.path.replace(repoRoot, "").replace(/^[/\\]/, "") },
|
|
140
|
+
abstract: abs,
|
|
141
|
+
tokenCount: estTokenCount(abs),
|
|
142
|
+
generatedAt: ts,
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
if (newAbstracts.length > 0) {
|
|
146
|
+
const fs = require("node:fs");
|
|
147
|
+
fs.appendFileSync(join(repoRoot, ABSTRACTS_FILE), newAbstracts.map((a) => JSON.stringify(a)).join("\n") + "\n", "utf8");
|
|
148
|
+
}
|
|
149
|
+
return { added: newAbstracts.length, abstracts: newAbstracts };
|
|
150
|
+
}
|
|
151
|
+
export function readAbstracts(repoRoot) {
|
|
152
|
+
const p = join(repoRoot, ABSTRACTS_FILE);
|
|
153
|
+
if (!existsSync(p))
|
|
154
|
+
return [];
|
|
155
|
+
const out = [];
|
|
156
|
+
try {
|
|
157
|
+
for (const line of readFileSync(p, "utf8").split("\n")) {
|
|
158
|
+
if (!line.trim())
|
|
159
|
+
continue;
|
|
160
|
+
try {
|
|
161
|
+
out.push(JSON.parse(line));
|
|
162
|
+
}
|
|
163
|
+
catch { /* */ }
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
catch { /* */ }
|
|
167
|
+
return out;
|
|
168
|
+
}
|
|
169
|
+
/** Compute coverage = abstracts / (commits + source files). */
|
|
170
|
+
export function computeCoverage(repoRoot) {
|
|
171
|
+
const commits = readCommits(repoRoot);
|
|
172
|
+
const files = walkSourceFiles(repoRoot);
|
|
173
|
+
const abstracts = readAbstracts(repoRoot);
|
|
174
|
+
const totalCommits = commits.length;
|
|
175
|
+
const totalFiles = files.filter((f) => /\/\*\*/.test(f.content.slice(0, 200))).length;
|
|
176
|
+
const denominator = Math.max(1, totalCommits + totalFiles);
|
|
177
|
+
const coveragePct = (abstracts.length / denominator) * 100;
|
|
178
|
+
const stats = {
|
|
179
|
+
totalCommits,
|
|
180
|
+
totalFiles,
|
|
181
|
+
abstractsGenerated: abstracts.length,
|
|
182
|
+
coveragePct,
|
|
183
|
+
updatedAt: new Date().toISOString(),
|
|
184
|
+
};
|
|
185
|
+
try {
|
|
186
|
+
ensureDir(repoRoot);
|
|
187
|
+
writeFileSync(join(repoRoot, COVERAGE_FILE), JSON.stringify(stats, null, 2) + "\n", "utf8");
|
|
188
|
+
}
|
|
189
|
+
catch { /* */ }
|
|
190
|
+
return stats;
|
|
191
|
+
}
|
|
192
|
+
/** Auto-cluster abstracts by token overlap. Lightweight; no LLM. */
|
|
193
|
+
export function clusterDust(repoRoot, opts) {
|
|
194
|
+
const threshold = opts?.jaccardThreshold ?? 0.3;
|
|
195
|
+
const maxClusters = opts?.maxClusters ?? 50;
|
|
196
|
+
const abstracts = readAbstracts(repoRoot);
|
|
197
|
+
const remaining = new Set(abstracts.map((a) => a.id));
|
|
198
|
+
const idToTokens = new Map();
|
|
199
|
+
for (const a of abstracts) {
|
|
200
|
+
idToTokens.set(a.id, new Set((a.abstract.toLowerCase().match(/[a-z][a-z0-9_-]+/g) ?? []).filter((t) => t.length >= 4)));
|
|
201
|
+
}
|
|
202
|
+
const clusters = [];
|
|
203
|
+
for (const seed of abstracts) {
|
|
204
|
+
if (!remaining.has(seed.id) || clusters.length >= maxClusters)
|
|
205
|
+
continue;
|
|
206
|
+
const seedTokens = idToTokens.get(seed.id);
|
|
207
|
+
const members = [seed.id];
|
|
208
|
+
remaining.delete(seed.id);
|
|
209
|
+
for (const other of abstracts) {
|
|
210
|
+
if (!remaining.has(other.id))
|
|
211
|
+
continue;
|
|
212
|
+
const otherTokens = idToTokens.get(other.id);
|
|
213
|
+
const inter = [...seedTokens].filter((t) => otherTokens.has(t)).length;
|
|
214
|
+
const union = seedTokens.size + otherTokens.size - inter;
|
|
215
|
+
const jac = union === 0 ? 0 : inter / union;
|
|
216
|
+
if (jac >= threshold) {
|
|
217
|
+
members.push(other.id);
|
|
218
|
+
remaining.delete(other.id);
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
// Cluster label: most-frequent meaningful token across members.
|
|
222
|
+
const tokenFreq = new Map();
|
|
223
|
+
for (const id of members) {
|
|
224
|
+
for (const t of idToTokens.get(id) ?? [])
|
|
225
|
+
tokenFreq.set(t, (tokenFreq.get(t) ?? 0) + 1);
|
|
226
|
+
}
|
|
227
|
+
const label = [...tokenFreq.entries()].sort((a, b) => b[1] - a[1])[0]?.[0] ?? "general";
|
|
228
|
+
clusters.push({
|
|
229
|
+
clusterId: `cluster-${clusters.length}`,
|
|
230
|
+
label,
|
|
231
|
+
memberIds: members,
|
|
232
|
+
tokenCount: members.length * 5,
|
|
233
|
+
});
|
|
234
|
+
}
|
|
235
|
+
try {
|
|
236
|
+
ensureDir(repoRoot);
|
|
237
|
+
writeFileSync(join(repoRoot, CLUSTERS_FILE), JSON.stringify(clusters, null, 2) + "\n", "utf8");
|
|
238
|
+
}
|
|
239
|
+
catch { /* */ }
|
|
240
|
+
return clusters;
|
|
241
|
+
}
|
|
242
|
+
//# sourceMappingURL=nucleus_dust_htc.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nucleus_dust_htc.js","sourceRoot":"","sources":["../../src/hyperscan/nucleus_dust_htc.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* v1.69.0 -- HYPERSCAN H1: PROSE SHADOW SCAN.
|
|
3
|
+
*
|
|
4
|
+
* Wild idea: the v1.65 antivirus catches claims with syntax markers
|
|
5
|
+
* (parens, file-extensions, version strings). It MISSES prose like:
|
|
6
|
+
*
|
|
7
|
+
* "wraith-utils-2099 is integrated for caching" -- fake npm package
|
|
8
|
+
* "Sentry catches our errors" -- general service name
|
|
9
|
+
* "we use Datadog for APM" -- general service name
|
|
10
|
+
* "RustCrypto's libcrypto powers our hash" -- fake library claim
|
|
11
|
+
*
|
|
12
|
+
* Prose Shadow extracts ENTITY CANDIDATES from any text using three
|
|
13
|
+
* mixed algorithms (title-case detector + package-shape pattern +
|
|
14
|
+
* acronym matcher) and verifies each against:
|
|
15
|
+
*
|
|
16
|
+
* 1. Local citations -- does this name appear in package.json,
|
|
17
|
+
* imports, env vars, or source files?
|
|
18
|
+
* 2. Domain authority -- is it a known real service? (curated bank)
|
|
19
|
+
* 3. Negation triggers -- does the prose attribute behavior to a
|
|
20
|
+
* name that fails grounding?
|
|
21
|
+
*
|
|
22
|
+
* Output: list of suspect ENTITIES (not just regex matches) with a
|
|
23
|
+
* confidence band. This is the missing class the user identified.
|
|
24
|
+
*/
|
|
25
|
+
export interface EntityCandidate {
|
|
26
|
+
surface: string;
|
|
27
|
+
kind: "title-cased" | "package-shape" | "acronym" | "domain-suffixed";
|
|
28
|
+
/** Position in original text. */
|
|
29
|
+
offset: number;
|
|
30
|
+
}
|
|
31
|
+
export interface ProseSuspect {
|
|
32
|
+
entity: string;
|
|
33
|
+
kind: EntityCandidate["kind"];
|
|
34
|
+
/** Why this entity is suspect (none-of-our-evidence-supports-it / not-in-deps / etc.). */
|
|
35
|
+
reason: string;
|
|
36
|
+
/** 0..1; higher = stronger suspicion. */
|
|
37
|
+
confidence: number;
|
|
38
|
+
/** Citation hits found (helps caller decide). */
|
|
39
|
+
citationsFound: string[];
|
|
40
|
+
}
|
|
41
|
+
export interface ProseScanReport {
|
|
42
|
+
entitiesExtracted: number;
|
|
43
|
+
suspects: ProseSuspect[];
|
|
44
|
+
/** Whitelisted "known-real" entities the prose mentions. */
|
|
45
|
+
recognized: string[];
|
|
46
|
+
ms: number;
|
|
47
|
+
}
|
|
48
|
+
export declare function extractEntities(text: string): EntityCandidate[];
|
|
49
|
+
export declare function proseScan(repoRoot: string, claim: string): ProseScanReport;
|
|
50
|
+
//# sourceMappingURL=prose_shadow.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prose_shadow.d.ts","sourceRoot":"","sources":["../../src/hyperscan/prose_shadow.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAKH,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,aAAa,GAAG,eAAe,GAAG,SAAS,GAAG,iBAAiB,CAAC;IACtE,iCAAiC;IACjC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;IAC9B,0FAA0F;IAC1F,MAAM,EAAE,MAAM,CAAC;IACf,yCAAyC;IACzC,UAAU,EAAE,MAAM,CAAC;IACnB,iDAAiD;IACjD,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,eAAe;IAC9B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,4DAA4D;IAC5D,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,EAAE,EAAE,MAAM,CAAC;CACZ;AA6CD,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,EAAE,CAiB/D;AA4ED,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,eAAe,CAuC1E"}
|
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* v1.69.0 -- HYPERSCAN H1: PROSE SHADOW SCAN.
|
|
3
|
+
*
|
|
4
|
+
* Wild idea: the v1.65 antivirus catches claims with syntax markers
|
|
5
|
+
* (parens, file-extensions, version strings). It MISSES prose like:
|
|
6
|
+
*
|
|
7
|
+
* "wraith-utils-2099 is integrated for caching" -- fake npm package
|
|
8
|
+
* "Sentry catches our errors" -- general service name
|
|
9
|
+
* "we use Datadog for APM" -- general service name
|
|
10
|
+
* "RustCrypto's libcrypto powers our hash" -- fake library claim
|
|
11
|
+
*
|
|
12
|
+
* Prose Shadow extracts ENTITY CANDIDATES from any text using three
|
|
13
|
+
* mixed algorithms (title-case detector + package-shape pattern +
|
|
14
|
+
* acronym matcher) and verifies each against:
|
|
15
|
+
*
|
|
16
|
+
* 1. Local citations -- does this name appear in package.json,
|
|
17
|
+
* imports, env vars, or source files?
|
|
18
|
+
* 2. Domain authority -- is it a known real service? (curated bank)
|
|
19
|
+
* 3. Negation triggers -- does the prose attribute behavior to a
|
|
20
|
+
* name that fails grounding?
|
|
21
|
+
*
|
|
22
|
+
* Output: list of suspect ENTITIES (not just regex matches) with a
|
|
23
|
+
* confidence band. This is the missing class the user identified.
|
|
24
|
+
*/
|
|
25
|
+
import { existsSync, readFileSync, readdirSync, statSync } from "node:fs";
|
|
26
|
+
import { join } from "node:path";
|
|
27
|
+
/** Curated list of real, widely-known services / libraries. Mneme
|
|
28
|
+
* treats a name in this list as definitionally "grounded" -- not a
|
|
29
|
+
* suspect even when no codebase citation exists. */
|
|
30
|
+
const KNOWN_REAL_NAMES = new Set([
|
|
31
|
+
// Observability
|
|
32
|
+
"sentry", "datadog", "newrelic", "splunk", "grafana", "prometheus",
|
|
33
|
+
// Auth / identity
|
|
34
|
+
"auth0", "okta", "keycloak", "cognito", "firebase",
|
|
35
|
+
// Cloud
|
|
36
|
+
"aws", "azure", "gcp", "cloudflare", "digitalocean", "heroku", "vercel", "netlify",
|
|
37
|
+
// Databases
|
|
38
|
+
"postgres", "postgresql", "mysql", "mongodb", "redis", "sqlite", "supabase",
|
|
39
|
+
// CI
|
|
40
|
+
"github", "gitlab", "bitbucket", "jenkins", "circleci", "travisci",
|
|
41
|
+
// Languages / runtimes
|
|
42
|
+
"node", "deno", "bun", "rust", "go", "python", "java",
|
|
43
|
+
// Common libs / frameworks
|
|
44
|
+
"react", "vue", "angular", "svelte", "express", "fastify", "nextjs", "nuxt",
|
|
45
|
+
"vite", "webpack", "rollup", "esbuild", "vitest", "jest", "mocha", "playwright",
|
|
46
|
+
"tailwind", "typescript", "eslint", "prettier",
|
|
47
|
+
// AI / ML
|
|
48
|
+
"openai", "anthropic", "claude", "gpt", "llama", "ollama", "huggingface",
|
|
49
|
+
// Tools we know
|
|
50
|
+
"mneme",
|
|
51
|
+
// Universal tech acronyms (treated as concepts, not suspects)
|
|
52
|
+
"ui", "ux", "db", "dom", "cli", "gui", "tui", "sdk", "ide", "vm", "os",
|
|
53
|
+
"tcp", "udp", "ip", "ssl", "tls", "ssh", "dns", "cdn", "lan", "wan",
|
|
54
|
+
"io", "fs",
|
|
55
|
+
]);
|
|
56
|
+
/** Stop-list of common words that LOOK like entities but aren't. */
|
|
57
|
+
const STOPWORDS_ENT = new Set([
|
|
58
|
+
"The", "This", "That", "These", "Those", "I", "We", "You", "They",
|
|
59
|
+
"Mneme", "AI", "API", "URL", "URI", "JSON", "HTML", "CSS", "SQL", "REST",
|
|
60
|
+
"Run", "Get", "Set", "Add", "Use", "Make", "New", "Old",
|
|
61
|
+
"Note", "Tip", "Warning", "Error",
|
|
62
|
+
]);
|
|
63
|
+
const PACKAGE_SHAPE = /\b([a-z][a-z0-9-]+(?:-[a-z0-9-]+){1,}(?:-[0-9]+)?)\b/g;
|
|
64
|
+
const TITLE_CASED = /(?<![./@\w])([A-Z][a-z]{2,}(?:[A-Z][a-z]+){0,3})\b/g;
|
|
65
|
+
const ACRONYM = /(?<![./@\w])([A-Z]{2,5})\b/g;
|
|
66
|
+
const DOMAIN_SUFFIXED = /\b([\w-]+\.(io|dev|cloud|ai|net|com|sh)(?!\w))/gi;
|
|
67
|
+
export function extractEntities(text) {
|
|
68
|
+
const out = [];
|
|
69
|
+
const seen = new Set();
|
|
70
|
+
const push = (m, kind) => {
|
|
71
|
+
const surface = m[1] ?? m[0];
|
|
72
|
+
if (!surface)
|
|
73
|
+
return;
|
|
74
|
+
if (STOPWORDS_ENT.has(surface))
|
|
75
|
+
return;
|
|
76
|
+
const key = `${kind}|${surface.toLowerCase()}`;
|
|
77
|
+
if (seen.has(key))
|
|
78
|
+
return;
|
|
79
|
+
seen.add(key);
|
|
80
|
+
out.push({ surface, kind, offset: m.index });
|
|
81
|
+
};
|
|
82
|
+
for (const m of text.matchAll(TITLE_CASED))
|
|
83
|
+
push(m, "title-cased");
|
|
84
|
+
for (const m of text.matchAll(PACKAGE_SHAPE))
|
|
85
|
+
push(m, "package-shape");
|
|
86
|
+
for (const m of text.matchAll(ACRONYM))
|
|
87
|
+
push(m, "acronym");
|
|
88
|
+
for (const m of text.matchAll(DOMAIN_SUFFIXED))
|
|
89
|
+
push(m, "domain-suffixed");
|
|
90
|
+
return out;
|
|
91
|
+
}
|
|
92
|
+
function loadHaystack(repoRoot, maxFiles = 200) {
|
|
93
|
+
const packageNames = new Set();
|
|
94
|
+
const importedModules = new Set();
|
|
95
|
+
const fileContents = new Map();
|
|
96
|
+
// package.json dependencies.
|
|
97
|
+
const pkgPath = join(repoRoot, "package.json");
|
|
98
|
+
if (existsSync(pkgPath)) {
|
|
99
|
+
try {
|
|
100
|
+
const pkg = JSON.parse(readFileSync(pkgPath, "utf8"));
|
|
101
|
+
for (const key of ["dependencies", "devDependencies", "peerDependencies"]) {
|
|
102
|
+
const deps = pkg[key];
|
|
103
|
+
if (deps)
|
|
104
|
+
for (const name of Object.keys(deps))
|
|
105
|
+
packageNames.add(name.toLowerCase());
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
catch { /* */ }
|
|
109
|
+
}
|
|
110
|
+
// Walk source files, scan imports.
|
|
111
|
+
const skip = new Set(["node_modules", ".git", "dist", "build", ".mneme", "coverage"]);
|
|
112
|
+
const importRe = /(?:from|require)\s*\(?\s*["']([^"']+)["']/g;
|
|
113
|
+
const walk = (dir) => {
|
|
114
|
+
if (fileContents.size >= maxFiles)
|
|
115
|
+
return;
|
|
116
|
+
let entries = [];
|
|
117
|
+
try {
|
|
118
|
+
entries = readdirSync(dir);
|
|
119
|
+
}
|
|
120
|
+
catch {
|
|
121
|
+
return;
|
|
122
|
+
}
|
|
123
|
+
for (const e of entries) {
|
|
124
|
+
if (skip.has(e))
|
|
125
|
+
continue;
|
|
126
|
+
const p = join(dir, e);
|
|
127
|
+
try {
|
|
128
|
+
const s = statSync(p);
|
|
129
|
+
if (s.isDirectory())
|
|
130
|
+
walk(p);
|
|
131
|
+
else if (/\.(ts|tsx|js|mjs|cjs|jsx|json|md|yml|yaml)$/.test(e)) {
|
|
132
|
+
let content = "";
|
|
133
|
+
try {
|
|
134
|
+
content = readFileSync(p, "utf8");
|
|
135
|
+
}
|
|
136
|
+
catch {
|
|
137
|
+
continue;
|
|
138
|
+
}
|
|
139
|
+
fileContents.set(p, content);
|
|
140
|
+
for (const m of content.matchAll(importRe)) {
|
|
141
|
+
const mod = m[1].split("/")[0].toLowerCase();
|
|
142
|
+
if (mod)
|
|
143
|
+
importedModules.add(mod);
|
|
144
|
+
}
|
|
145
|
+
if (fileContents.size >= maxFiles)
|
|
146
|
+
return;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
catch { /* */ }
|
|
150
|
+
}
|
|
151
|
+
};
|
|
152
|
+
walk(repoRoot);
|
|
153
|
+
return { packageNames, importedModules, fileContents };
|
|
154
|
+
}
|
|
155
|
+
function findCitations(entity, haystack) {
|
|
156
|
+
const lower = entity.toLowerCase();
|
|
157
|
+
const out = [];
|
|
158
|
+
if (haystack.packageNames.has(lower))
|
|
159
|
+
out.push(`package.json:${lower}`);
|
|
160
|
+
if (haystack.importedModules.has(lower))
|
|
161
|
+
out.push(`import:${lower}`);
|
|
162
|
+
// Cross-package name (@scope/name) check.
|
|
163
|
+
for (const pkgName of haystack.packageNames) {
|
|
164
|
+
if (pkgName.includes(lower) && pkgName !== lower)
|
|
165
|
+
out.push(`package.json-substring:${pkgName}`);
|
|
166
|
+
}
|
|
167
|
+
// File content scan with word-boundary on a sample of files.
|
|
168
|
+
const re = new RegExp(`\\b${entity.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")}\\b`, "i");
|
|
169
|
+
let scanned = 0;
|
|
170
|
+
for (const [path, content] of haystack.fileContents) {
|
|
171
|
+
if (scanned >= 40)
|
|
172
|
+
break;
|
|
173
|
+
scanned += 1;
|
|
174
|
+
if (re.test(content)) {
|
|
175
|
+
out.push(`file:${path.split(/[\\/]/).pop()}`);
|
|
176
|
+
if (out.length > 5)
|
|
177
|
+
break;
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
return out;
|
|
181
|
+
}
|
|
182
|
+
export function proseScan(repoRoot, claim) {
|
|
183
|
+
const t0 = Date.now();
|
|
184
|
+
const haystack = loadHaystack(repoRoot);
|
|
185
|
+
const entities = extractEntities(claim);
|
|
186
|
+
const suspects = [];
|
|
187
|
+
const recognized = [];
|
|
188
|
+
for (const ent of entities) {
|
|
189
|
+
const surfaceLower = ent.surface.toLowerCase();
|
|
190
|
+
if (KNOWN_REAL_NAMES.has(surfaceLower)) {
|
|
191
|
+
recognized.push(ent.surface);
|
|
192
|
+
continue;
|
|
193
|
+
}
|
|
194
|
+
const citations = findCitations(ent.surface, haystack);
|
|
195
|
+
if (citations.length === 0) {
|
|
196
|
+
// Mix of heuristics: package-shape with digits + no citation = very suspicious.
|
|
197
|
+
let confidence = 0.5;
|
|
198
|
+
let reason;
|
|
199
|
+
if (ent.kind === "package-shape" && /\d/.test(ent.surface)) {
|
|
200
|
+
confidence = 0.9;
|
|
201
|
+
reason = `Package-shaped name "${ent.surface}" contains digits, not in deps, no source citation.`;
|
|
202
|
+
}
|
|
203
|
+
else if (ent.kind === "domain-suffixed") {
|
|
204
|
+
confidence = 0.8;
|
|
205
|
+
reason = `Domain-suffixed entity "${ent.surface}" has no citation in repo.`;
|
|
206
|
+
}
|
|
207
|
+
else if (ent.kind === "title-cased") {
|
|
208
|
+
confidence = 0.55;
|
|
209
|
+
reason = `Capitalized noun "${ent.surface}" has no codebase citation; unknown service.`;
|
|
210
|
+
}
|
|
211
|
+
else {
|
|
212
|
+
confidence = 0.6;
|
|
213
|
+
reason = `Acronym "${ent.surface}" has no codebase citation.`;
|
|
214
|
+
}
|
|
215
|
+
suspects.push({ entity: ent.surface, kind: ent.kind, reason, confidence, citationsFound: [] });
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
return {
|
|
219
|
+
entitiesExtracted: entities.length,
|
|
220
|
+
suspects,
|
|
221
|
+
recognized,
|
|
222
|
+
ms: Date.now() - t0,
|
|
223
|
+
};
|
|
224
|
+
}
|
|
225
|
+
//# sourceMappingURL=prose_shadow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prose_shadow.js","sourceRoot":"","sources":["../../src/hyperscan/prose_shadow.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -134,6 +134,8 @@ export * as powerAutonomousShadow from "./powers/p7_shadow.js";
|
|
|
134
134
|
export * as embedderAutodiagnose from "./embedder_autodiagnose.js";
|
|
135
135
|
export * as autarchy from "./autarchy/index.js";
|
|
136
136
|
export * as agentAnnounce from "./agent_announce.js";
|
|
137
|
+
export * as precog from "./precog/index.js";
|
|
138
|
+
export * as hyperscan from "./hyperscan/index.js";
|
|
137
139
|
export * as ascension from "./ascension/index.js";
|
|
138
140
|
export * as aegis from "./aegis/index.js";
|
|
139
141
|
export * as universalAdapter from "./universal/adapter.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -372,6 +372,29 @@ export * as autarchy from "./autarchy/index.js";
|
|
|
372
372
|
// caretaker auto-syncs CLAUDE.md / AGENTS.md / .cursor/rules so the
|
|
373
373
|
// AI agent in the user's editor learns about new MCP tools instantly.
|
|
374
374
|
export * as agentAnnounce from "./agent_announce.js";
|
|
375
|
+
// v1.70 -- PRECOG FIREWALL. Paradigm shift: from DETECT-AFTER to
|
|
376
|
+
// PREVENT-BEFORE. Every AI claim flowing through Mneme is intercepted
|
|
377
|
+
// at the MCP boundary, verified against ACTUAL repo state (git, fs,
|
|
378
|
+
// package.json, CHANGELOG), and either CERTIFIED or auto-hedged with
|
|
379
|
+
// a named cause. Position: AI tools that connect via MCP become
|
|
380
|
+
// structurally incapable of hallucinating.
|
|
381
|
+
// P1 package verifier npm / import / install refs
|
|
382
|
+
// P2 SHA/version/email git rev-list / tags / authors
|
|
383
|
+
// P3 temporal verifier "last week" -> git log range
|
|
384
|
+
// P4 firewall intercept + auto-hedge + verdict
|
|
385
|
+
// P5 trust certificate HMAC-signed proof
|
|
386
|
+
// P6 Bayesian repo priors per-repo failure-shape memory
|
|
387
|
+
export * as precog from "./precog/index.js";
|
|
388
|
+
// v1.69 -- HYPERSCAN PROTOCOL. Four wild axes that close the prose-scan
|
|
389
|
+
// gap + Q&A trust gap + HTC coverage gap, plus a shape-shifting
|
|
390
|
+
// molecule (textForm / vectorForm / structuralForm / temporalForm)
|
|
391
|
+
// queryable via 5 mixed retrieval algorithms (cosine / jaccard /
|
|
392
|
+
// structural / temporal / hybrid). Every axis is measurable.
|
|
393
|
+
// H1 prose shadow scan entity extraction from prose claims
|
|
394
|
+
// H2 cross-citation every named entity needs codebase evidence
|
|
395
|
+
// H3 cross-source Q&A fuse retrieval across 5 source kinds
|
|
396
|
+
// H4 nucleus dust HTC auto-populate coverage 0% -> >=80%
|
|
397
|
+
export * as hyperscan from "./hyperscan/index.js";
|
|
375
398
|
// v1.68 -- ASCENSION PROTOCOL. Six wild moves that push 3 existing
|
|
376
399
|
// metrics toward 100% + close 3 root-cause residuals:
|
|
377
400
|
// ASC-1 circadian heartbeat per-hour-of-week baseline
|