@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.
Files changed (69) 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 +2 -0
  34. package/dist/index.d.ts.map +1 -1
  35. package/dist/index.js +23 -0
  36. package/dist/index.js.map +1 -1
  37. package/dist/precog/bayesian_priors.d.ts +49 -0
  38. package/dist/precog/bayesian_priors.d.ts.map +1 -0
  39. package/dist/precog/bayesian_priors.js +135 -0
  40. package/dist/precog/bayesian_priors.js.map +1 -0
  41. package/dist/precog/firewall.d.ts +72 -0
  42. package/dist/precog/firewall.d.ts.map +1 -0
  43. package/dist/precog/firewall.js +141 -0
  44. package/dist/precog/firewall.js.map +1 -0
  45. package/dist/precog/index.d.ts +54 -0
  46. package/dist/precog/index.d.ts.map +1 -0
  47. package/dist/precog/index.js +94 -0
  48. package/dist/precog/index.js.map +1 -0
  49. package/dist/precog/package_verifier.d.ts +45 -0
  50. package/dist/precog/package_verifier.d.ts.map +1 -0
  51. package/dist/precog/package_verifier.js +139 -0
  52. package/dist/precog/package_verifier.js.map +1 -0
  53. package/dist/precog/precog.test.d.ts +5 -0
  54. package/dist/precog/precog.test.d.ts.map +1 -0
  55. package/dist/precog/precog.test.js +224 -0
  56. package/dist/precog/precog.test.js.map +1 -0
  57. package/dist/precog/sha_version_verifier.d.ts +34 -0
  58. package/dist/precog/sha_version_verifier.d.ts.map +1 -0
  59. package/dist/precog/sha_version_verifier.js +131 -0
  60. package/dist/precog/sha_version_verifier.js.map +1 -0
  61. package/dist/precog/temporal_verifier.d.ts +45 -0
  62. package/dist/precog/temporal_verifier.d.ts.map +1 -0
  63. package/dist/precog/temporal_verifier.js +139 -0
  64. package/dist/precog/temporal_verifier.js.map +1 -0
  65. package/dist/precog/trust_certificate.d.ts +44 -0
  66. package/dist/precog/trust_certificate.d.ts.map +1 -0
  67. package/dist/precog/trust_certificate.js +103 -0
  68. package/dist/precog/trust_certificate.js.map +1 -0
  69. 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";
@@ -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":"AAAA,cAAc,YAAY,CAAC;AAC3B,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAC;AACtC,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAC;AAC1C,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAC;AAC9C,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAC5C,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAC5C,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAC;AAC1C,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAC;AACtC,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAC5C,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAC;AACtC,OAAO,KAAK,WAAW,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,cAAc,MAAM,2BAA2B,CAAC;AAC5D,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAC;AAC1C,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAC;AACtC,OAAO,KAAK,UAAU,MAAM,uBAAuB,CAAC;AACpD,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAC;AACxC,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAC;AACtC,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAC;AACxC,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAC;AACxC,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAC;AAC1C,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAC;AAC9C,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAC;AAC9C,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAC;AACtC,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAC5C,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAC;AAC9C,OAAO,KAAK,YAAY,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,YAAY,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,aAAa,MAAM,qBAAqB,CAAC;AAIrD,OAAO,KAAK,YAAY,MAAM,oBAAoB,CAAC;AAInD,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAC;AAK1D,OAAO,KAAK,MAAM,MAAM,cAAc,CAAC;AACvC,OAAO,KAAK,WAAW,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,WAAW,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,WAAW,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,oBAAoB,MAAM,6BAA6B,CAAC;AAIpE,OAAO,KAAK,iBAAiB,MAAM,yBAAyB,CAAC;AAK7D,OAAO,EAAE,iBAAiB,EAAE,KAAK,UAAU,EAAE,KAAK,WAAW,EAAE,KAAK,iBAAiB,EAAE,KAAK,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAIjJ,OAAO,KAAK,uBAAuB,MAAM,gCAAgC,CAAC;AAC1E,OAAO,KAAK,YAAY,MAAM,oBAAoB,CAAC;AAYnD,OAAO,KAAK,gBAAgB,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,kBAAkB,MAAM,sCAAsC,CAAC;AAC3E,OAAO,KAAK,cAAc,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,eAAe,MAAM,8BAA8B,CAAC;AAChE,OAAO,KAAK,aAAa,MAAM,+BAA+B,CAAC;AAY/D,OAAO,KAAK,oBAAoB,MAAM,6BAA6B,CAAC;AACpE,OAAO,KAAK,gBAAgB,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,iBAAiB,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,YAAY,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,cAAc,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,kBAAkB,MAAM,2BAA2B,CAAC;AAChE,OAAO,KAAK,UAAU,MAAM,wBAAwB,CAAC;AACrD,OAAO,KAAK,qBAAqB,MAAM,mCAAmC,CAAC;AAC3E,OAAO,KAAK,aAAa,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,gBAAgB,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,YAAY,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,uBAAuB,MAAM,gCAAgC,CAAC;AAI1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAOzD,OAAO,KAAK,WAAW,MAAM,mBAAmB,CAAC;AAWjD,OAAO,KAAK,cAAc,MAAM,0BAA0B,CAAC;AAC3D,OAAO,KAAK,cAAc,MAAM,0BAA0B,CAAC;AAC3D,OAAO,KAAK,aAAa,MAAM,yBAAyB,CAAC;AACzD,OAAO,KAAK,kBAAkB,MAAM,8BAA8B,CAAC;AACnE,OAAO,KAAK,aAAa,MAAM,yBAAyB,CAAC;AACzD,OAAO,KAAK,gBAAgB,MAAM,4BAA4B,CAAC;AAC/D,OAAO,KAAK,eAAe,MAAM,2BAA2B,CAAC;AAC7D,OAAO,KAAK,gBAAgB,MAAM,4BAA4B,CAAC;AAC/D,OAAO,KAAK,aAAa,MAAM,yBAAyB,CAAC;AAEzD,OAAO,KAAK,gBAAgB,MAAM,wBAAwB,CAAC;AAG3D,OAAO,KAAK,SAAS,MAAM,2BAA2B,CAAC;AAKvD,OAAO,KAAK,UAAU,MAAM,kBAAkB,CAAC;AAO/C,OAAO,KAAK,eAAe,MAAM,uBAAuB,CAAC;AAIzD,OAAO,KAAK,SAAS,MAAM,uBAAuB,CAAC;AACnD,OAAO,KAAK,UAAU,MAAM,wBAAwB,CAAC;AAMrD,OAAO,KAAK,aAAa,MAAM,qBAAqB,CAAC;AAKrD,OAAO,KAAK,gBAAgB,MAAM,wBAAwB,CAAC;AAI3D,OAAO,KAAK,WAAW,MAAM,mBAAmB,CAAC;AAKjD,OAAO,KAAK,aAAa,MAAM,qBAAqB,CAAC;AAOrD,OAAO,KAAK,aAAa,MAAM,6BAA6B,CAAC;AAO7D,OAAO,KAAK,mBAAmB,MAAM,2BAA2B,CAAC;AACjE,OAAO,KAAK,kBAAkB,MAAM,2BAA2B,CAAC;AAChE,OAAO,KAAK,eAAe,MAAM,uBAAuB,CAAC;AAKzD,OAAO,KAAK,mBAAmB,MAAM,6BAA6B,CAAC;AACnE,OAAO,KAAK,WAAW,MAAM,mBAAmB,CAAC;AAQjD,OAAO,KAAK,YAAY,MAAM,oBAAoB,CAAC;AAMnD,OAAO,KAAK,MAAM,MAAM,wBAAwB,CAAC;AAKjD,OAAO,KAAK,SAAS,MAAM,yBAAyB,CAAC;AAKrD,OAAO,KAAK,UAAU,MAAM,+BAA+B,CAAC;AAM5D,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAC;AAShD,OAAO,KAAK,gBAAgB,MAAM,wBAAwB,CAAC;AAM3D,OAAO,KAAK,qBAAqB,MAAM,8BAA8B,CAAC;AAYtE,OAAO,KAAK,IAAI,MAAM,oBAAoB,CAAC;AAC3C,OAAO,KAAK,YAAY,MAAM,6BAA6B,CAAC;AAC5D,OAAO,KAAK,iBAAiB,MAAM,kCAAkC,CAAC;AACtE,OAAO,KAAK,SAAS,MAAM,0BAA0B,CAAC;AACtD,OAAO,KAAK,cAAc,MAAM,+BAA+B,CAAC;AAChE,OAAO,KAAK,WAAW,MAAM,4BAA4B,CAAC;AAC1D,OAAO,KAAK,SAAS,MAAM,0BAA0B,CAAC;AAQtD,OAAO,KAAK,WAAW,MAAM,6BAA6B,CAAC;AAC3D,OAAO,KAAK,WAAW,MAAM,4BAA4B,CAAC;AAM1D,OAAO,KAAK,QAAQ,MAAM,yBAAyB,CAAC;AACpD,OAAO,KAAK,cAAc,MAAM,+BAA+B,CAAC;AAChE,OAAO,KAAK,SAAS,MAAM,0BAA0B,CAAC;AAMtD,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAC;AAKhD,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAC;AAKlD,OAAO,KAAK,QAAQ,MAAM,wBAAwB,CAAC;AAEnD,OAAO,KAAK,QAAQ,MAAM,wBAAwB,CAAC;AAEnD,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAEhD,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAEhD,OAAO,KAAK,aAAa,MAAM,oCAAoC,CAAC;AAEpE,OAAO,KAAK,SAAS,MAAM,0BAA0B,CAAC;AAMtD,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAQ5C,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAC;AAK9C,OAAO,KAAK,aAAa,MAAM,kCAAkC,CAAC;AAIlE,OAAO,KAAK,QAAQ,MAAM,wBAAwB,CAAC;AAKnD,OAAO,KAAK,SAAS,MAAM,0BAA0B,CAAC;AACtD,OAAO,KAAK,SAAS,MAAM,2BAA2B,CAAC;AAMvD,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAC;AAOlD,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAC;AAGlD,OAAO,KAAK,oBAAoB,MAAM,qBAAqB,CAAC;AAC5D,OAAO,KAAK,qBAAqB,MAAM,uBAAuB,CAAC;AAK/D,OAAO,KAAK,oBAAoB,MAAM,4BAA4B,CAAC;AAOnE,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAC;AAKhD,OAAO,KAAK,aAAa,MAAM,qBAAqB,CAAC;AAarD,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAU5C,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAC;AASlD,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAC;AAclD,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAC;AAM1C,OAAO,KAAK,gBAAgB,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,WAAW,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,YAAY,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAC5C,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAC;AAC1C,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,YAAY,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAC5C,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAC5C,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAChC,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAC;AAC9C,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC"}
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