@mneme-ai/core 1.68.0 → 1.69.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 (37) hide show
  1. package/dist/hyperscan/bench.d.ts +32 -0
  2. package/dist/hyperscan/bench.d.ts.map +1 -0
  3. package/dist/hyperscan/bench.js +81 -0
  4. package/dist/hyperscan/bench.js.map +1 -0
  5. package/dist/hyperscan/cross_citation.d.ts +51 -0
  6. package/dist/hyperscan/cross_citation.d.ts.map +1 -0
  7. package/dist/hyperscan/cross_citation.js +140 -0
  8. package/dist/hyperscan/cross_citation.js.map +1 -0
  9. package/dist/hyperscan/cross_source_qa.d.ts +49 -0
  10. package/dist/hyperscan/cross_source_qa.d.ts.map +1 -0
  11. package/dist/hyperscan/cross_source_qa.js +219 -0
  12. package/dist/hyperscan/cross_source_qa.js.map +1 -0
  13. package/dist/hyperscan/hyperscan.test.d.ts +5 -0
  14. package/dist/hyperscan/hyperscan.test.d.ts.map +1 -0
  15. package/dist/hyperscan/hyperscan.test.js +191 -0
  16. package/dist/hyperscan/hyperscan.test.js.map +1 -0
  17. package/dist/hyperscan/hyperscan_molecule.d.ts +76 -0
  18. package/dist/hyperscan/hyperscan_molecule.d.ts.map +1 -0
  19. package/dist/hyperscan/hyperscan_molecule.js +144 -0
  20. package/dist/hyperscan/hyperscan_molecule.js.map +1 -0
  21. package/dist/hyperscan/index.d.ts +26 -0
  22. package/dist/hyperscan/index.d.ts.map +1 -0
  23. package/dist/hyperscan/index.js +26 -0
  24. package/dist/hyperscan/index.js.map +1 -0
  25. package/dist/hyperscan/nucleus_dust_htc.d.ts +71 -0
  26. package/dist/hyperscan/nucleus_dust_htc.d.ts.map +1 -0
  27. package/dist/hyperscan/nucleus_dust_htc.js +242 -0
  28. package/dist/hyperscan/nucleus_dust_htc.js.map +1 -0
  29. package/dist/hyperscan/prose_shadow.d.ts +50 -0
  30. package/dist/hyperscan/prose_shadow.d.ts.map +1 -0
  31. package/dist/hyperscan/prose_shadow.js +225 -0
  32. package/dist/hyperscan/prose_shadow.js.map +1 -0
  33. package/dist/index.d.ts +1 -0
  34. package/dist/index.d.ts.map +1 -1
  35. package/dist/index.js +10 -0
  36. package/dist/index.js.map +1 -1
  37. 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,7 @@ 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 hyperscan from "./hyperscan/index.js";
137
138
  export * as ascension from "./ascension/index.js";
138
139
  export * as aegis from "./aegis/index.js";
139
140
  export * as universalAdapter from "./universal/adapter.js";
@@ -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,16 @@ 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.69 -- HYPERSCAN PROTOCOL. Four wild axes that close the prose-scan
376
+ // gap + Q&A trust gap + HTC coverage gap, plus a shape-shifting
377
+ // molecule (textForm / vectorForm / structuralForm / temporalForm)
378
+ // queryable via 5 mixed retrieval algorithms (cosine / jaccard /
379
+ // structural / temporal / hybrid). Every axis is measurable.
380
+ // H1 prose shadow scan entity extraction from prose claims
381
+ // H2 cross-citation every named entity needs codebase evidence
382
+ // H3 cross-source Q&A fuse retrieval across 5 source kinds
383
+ // H4 nucleus dust HTC auto-populate coverage 0% -> >=80%
384
+ export * as hyperscan from "./hyperscan/index.js";
375
385
  // v1.68 -- ASCENSION PROTOCOL. Six wild moves that push 3 existing
376
386
  // metrics toward 100% + close 3 root-cause residuals:
377
387
  // ASC-1 circadian heartbeat per-hour-of-week baseline