@mneme-ai/core 2.71.0 → 2.73.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 (38) hide show
  1. package/dist/diaspora/http_bridge.d.ts +9 -0
  2. package/dist/diaspora/http_bridge.d.ts.map +1 -1
  3. package/dist/diaspora/http_bridge.js +47 -16
  4. package/dist/diaspora/http_bridge.js.map +1 -1
  5. package/dist/polygraph/index.d.ts +4 -0
  6. package/dist/polygraph/index.d.ts.map +1 -1
  7. package/dist/polygraph/index.js +73 -14
  8. package/dist/polygraph/index.js.map +1 -1
  9. package/dist/protoplasm/super_quan/cull.d.ts +70 -0
  10. package/dist/protoplasm/super_quan/cull.d.ts.map +1 -0
  11. package/dist/protoplasm/super_quan/cull.js +218 -0
  12. package/dist/protoplasm/super_quan/cull.js.map +1 -0
  13. package/dist/protoplasm/super_quan/index.d.ts +6 -0
  14. package/dist/protoplasm/super_quan/index.d.ts.map +1 -1
  15. package/dist/protoplasm/super_quan/index.js +6 -0
  16. package/dist/protoplasm/super_quan/index.js.map +1 -1
  17. package/dist/protoplasm/super_quan/prism.d.ts +50 -0
  18. package/dist/protoplasm/super_quan/prism.d.ts.map +1 -0
  19. package/dist/protoplasm/super_quan/prism.js +231 -0
  20. package/dist/protoplasm/super_quan/prism.js.map +1 -0
  21. package/dist/protoplasm/super_quan/tide_guard.d.ts +71 -0
  22. package/dist/protoplasm/super_quan/tide_guard.d.ts.map +1 -0
  23. package/dist/protoplasm/super_quan/tide_guard.js +135 -0
  24. package/dist/protoplasm/super_quan/tide_guard.js.map +1 -0
  25. package/dist/protoplasm/super_quan/vulns2.test.d.ts +6 -0
  26. package/dist/protoplasm/super_quan/vulns2.test.d.ts.map +1 -0
  27. package/dist/protoplasm/super_quan/vulns2.test.js +164 -0
  28. package/dist/protoplasm/super_quan/vulns2.test.js.map +1 -0
  29. package/dist/release_gate/wiring_lag.d.ts.map +1 -1
  30. package/dist/release_gate/wiring_lag.js +16 -0
  31. package/dist/release_gate/wiring_lag.js.map +1 -1
  32. package/dist/truth_gate/claims.d.ts.map +1 -1
  33. package/dist/truth_gate/claims.js +28 -0
  34. package/dist/truth_gate/claims.js.map +1 -1
  35. package/dist/truth_gate/probes.d.ts.map +1 -1
  36. package/dist/truth_gate/probes.js +81 -0
  37. package/dist/truth_gate/probes.js.map +1 -1
  38. package/package.json +1 -1
@@ -23,6 +23,14 @@
23
23
  * itself is local-first.
24
24
  */
25
25
  import { type Server } from "node:http";
26
+ interface RouteCap {
27
+ perMin: number;
28
+ perSec: number;
29
+ }
30
+ /** v2.73 — test seam: reset the rate limiter (used by pinned tests). */
31
+ export declare function __resetRateLimiterForTest(): void;
32
+ /** v2.73 — introspection for tests: current caps. */
33
+ export declare function __rateCapsForTest(): Record<string, RouteCap>;
26
34
  /**
27
35
  * v2.28.1 — B11 fix. Pre-v2.28.1 a malformed JSON POST surfaced as
28
36
  * a 500 with the raw parser error (e.g. "Unexpected token } in JSON
@@ -183,4 +191,5 @@ export declare function startBridge(opts: BridgeOptions, handlers: BridgeHandler
183
191
  /** Custom GPT template -- printed to user; they upload this JSON into the
184
192
  * Custom GPT "Actions" config. */
185
193
  export declare function customGptTemplate(baseUrl: string, token: string): string;
194
+ export {};
186
195
  //# sourceMappingURL=http_bridge.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"http_bridge.d.ts","sourceRoot":"","sources":["../../src/diaspora/http_bridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http_bridge.d.ts","sourceRoot":"","sources":["../../src/diaspora/http_bridge.ts"],"names":[],"mappings":"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"}
@@ -90,15 +90,20 @@ function ensureToken(repoRoot) {
90
90
  const rateLimiter = new Map();
91
91
  /**
92
92
  * v2.28.1 — PER-ROUTE ADAPTIVE RATE LIMIT (closes B12).
93
+ * v2.73.0 — DUAL-WINDOW BURST GUARD (closes the burst-bypass vuln).
93
94
  *
94
95
  * Pre-v2.28.1: single 60/min cap for every endpoint. Streaming-AI
95
96
  * sentences blew through it at ~50 burst (B12 finding: 49/100 ok).
96
- * Health-check probes shared the same budget as the polygraph verify
97
- * route — bad neighbor problem.
98
97
  *
99
- * Fix: route-class caps. Browser-polygraph clients legitimately fire
100
- * many requests per second; ping endpoints should never be rate-
101
- * limited at all. The key now includes the route class.
98
+ * v2.28.1 fix: route-class caps. But a SINGLE 60-second window with a
99
+ * 600 cap let an attacker fire 500 requests in 98ms (≈5,100 req/sec)
100
+ * and stay under the per-MINUTE budget the rate limit was effectively
101
+ * a no-op against sub-second floods (v2.72 vuln #1).
102
+ *
103
+ * v2.73 fix: EACH route now has BOTH a per-minute sustained cap AND a
104
+ * per-second burst cap. A flood trips the per-second cap immediately;
105
+ * legitimate streaming AI (sentences arrive at human-reading pace,
106
+ * ~1-5/sec) stays well under both. Either window exceeding → 429.
102
107
  */
103
108
  function routeClass(url) {
104
109
  if (!url)
@@ -110,26 +115,52 @@ function routeClass(url) {
110
115
  return "default";
111
116
  }
112
117
  const ROUTE_CAPS = {
113
- ping: 6000, // 100/sec health probes never blocked
114
- polygraph: 600, // 10/sec streaming AI sentences
115
- default: 60, // 1/sec everything else
118
+ // health probes: generous but still burst-bounded (no infinite flood).
119
+ ping: { perMin: 6000, perSec: 200 },
120
+ // streaming AI sentences: 10/sec sustained is plenty for a human-paced
121
+ // stream; 25/sec burst absorbs a brief flurry. A 500-in-98ms flood
122
+ // (≈5,100/sec) trips perSec after the 25th request.
123
+ polygraph: { perMin: 600, perSec: 25 },
124
+ // everything else: tight.
125
+ default: { perMin: 60, perSec: 10 },
116
126
  };
117
127
  function checkRateLimit(ip, url) {
118
128
  const cls = routeClass(url);
119
- const cap = ROUTE_CAPS[cls];
129
+ const caps = ROUTE_CAPS[cls];
120
130
  const key = `${ip}|${cls}`;
121
131
  const now = Date.now();
122
- const window = 60_000;
123
- const e = rateLimiter.get(key);
124
- if (!e || now - e.windowStart > window) {
125
- rateLimiter.set(key, { count: 1, windowStart: now });
126
- return true;
132
+ let e = rateLimiter.get(key);
133
+ if (!e) {
134
+ e = { minCount: 0, minStart: now, secCount: 0, secStart: now };
135
+ rateLimiter.set(key, e);
136
+ }
137
+ // Roll the windows independently.
138
+ if (now - e.minStart > 60_000) {
139
+ e.minCount = 0;
140
+ e.minStart = now;
141
+ }
142
+ if (now - e.secStart > 1_000) {
143
+ e.secCount = 0;
144
+ e.secStart = now;
127
145
  }
128
- if (e.count >= cap)
146
+ // Reject if EITHER window is already at its cap (check before increment
147
+ // so the Nth request that would exceed is the one that gets blocked).
148
+ if (e.minCount >= caps.perMin)
129
149
  return false;
130
- e.count += 1;
150
+ if (e.secCount >= caps.perSec)
151
+ return false;
152
+ e.minCount += 1;
153
+ e.secCount += 1;
131
154
  return true;
132
155
  }
156
+ /** v2.73 — test seam: reset the rate limiter (used by pinned tests). */
157
+ export function __resetRateLimiterForTest() {
158
+ rateLimiter.clear();
159
+ }
160
+ /** v2.73 — introspection for tests: current caps. */
161
+ export function __rateCapsForTest() {
162
+ return ROUTE_CAPS;
163
+ }
133
164
  function isAuthorized(req, token) {
134
165
  const auth = req.headers["authorization"] ?? "";
135
166
  const m = /^Bearer\s+(.+)$/i.exec(auth);
@@ -1 +1 @@
1
- {"version":3,"file":"http_bridge.js","sourceRoot":"","sources":["../../src/diaspora/http_bridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http_bridge.js","sourceRoot":"","sources":["../../src/diaspora/http_bridge.ts"],"names":[],"mappings":"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"}
@@ -44,6 +44,10 @@ export interface BrowserPolygraphVerdict {
44
44
  /** v2.19.91 — Multi-lens detector results so the dashboard can render
45
45
  * the crystal-ring UI with per-lens icons + tooltips. */
46
46
  lenses?: MultiLensReport;
47
+ /** v2.73 — homograph-guard flags when the input was canonicalized
48
+ * (e.g. Arabic-Indic / fullwidth digits transliterated to ASCII).
49
+ * Empty/absent when the input was already canonical. */
50
+ homographFlags?: string[];
47
51
  }
48
52
  /** Quick heuristic: does the sentence carry "specific entities" worth
49
53
  * running through ACGV? If not, we save a round-trip and return grey.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/polygraph/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAGH,OAAO,EAAgB,KAAK,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAElF;;kCAEkC;AAClC,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,aAAa,GAAG,OAAO,GAAG,SAAS,GAAG,YAAY,GAAG,SAAS,CAAC;IACxE,KAAK,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;IAC3C,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf;8DAC0D;IAC1D,MAAM,CAAC,EAAE,eAAe,CAAC;CAC1B;AAuBD;;;;;4CAK4C;AAC5C,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAmB7D;AAED;;+EAE+E;AAC/E,wBAAgB,0BAA0B,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,EAAE,CAgBzE;AAED;;sCAEsC;AACtC,wBAAsB,qBAAqB,CAAC,KAAK,EAAE;IACjD,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAqFnC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/polygraph/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAGH,OAAO,EAAgB,KAAK,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAGlF;;kCAEkC;AAClC,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,aAAa,GAAG,OAAO,GAAG,SAAS,GAAG,YAAY,GAAG,SAAS,CAAC;IACxE,KAAK,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;IAC3C,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf;8DAC0D;IAC1D,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB;;6DAEyD;IACzD,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAuBD;;;;;4CAK4C;AAC5C,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAmB7D;AAED;;+EAE+E;AAC/E,wBAAgB,0BAA0B,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,EAAE,CAgBzE;AAED;;sCAEsC;AACtC,wBAAsB,qBAAqB,CAAC,KAAK,EAAE;IACjD,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAoJnC"}
@@ -31,6 +31,7 @@
31
31
  */
32
32
  import { runACGV } from "../squadron/acgv.js";
33
33
  import { runAllLenses } from "../polygraph_lenses/index.js";
34
+ import { canonicalize } from "../protoplasm/super_quan/homograph_guard.js";
34
35
  /** Map ACGV's internal verdict family to the friendlier 5-state used by
35
36
  * the browser. Mirrors the mapping in `mneme.truth.check` MCP tool. */
36
37
  function toFriendlyVerdict(acgv) {
@@ -107,18 +108,72 @@ export function extractVerifiableSentences(responseText) {
107
108
  * failure can't crash the bridge. */
108
109
  export async function verifyBrowserSentence(input) {
109
110
  const t0 = Date.now();
110
- const sentence = input.sentence.trim();
111
- if (!sentence) {
111
+ const rawSentence = input.sentence.trim();
112
+ if (!rawSentence) {
112
113
  return { verdict: "unknown", color: "grey", confidence: 0, oneLine: "empty sentence", latencyMs: 0, engine: "noop" };
113
114
  }
114
- if (!looksWorthVerifying(sentence)) {
115
- return {
116
- verdict: "unknown", color: "grey", confidence: 0,
117
- oneLine: "no specific entities to verify",
118
- latencyMs: Date.now() - t0, engine: "prefilter",
119
- };
115
+ // v2.73.0 — HOMOGRAPH GUARD in the CORE path (closes v2.72 vuln #2).
116
+ // Pre-v2.73 the guard was only applied in the CLI command layer
117
+ // (demo.ts / daemon.ts), so the HTTP bridge path saw Arabic-Indic
118
+ // (٢), fullwidth (2), and other Unicode-digit homographs un-normalized
119
+ // → "٢+٢=٥" slipped past the math lens (which only matches ASCII \d).
120
+ // Now BOTH the CLI and the HTTP bridge canonicalize on the SAME shared
121
+ // engine, so every downstream check (lenses + ACGV) sees ASCII digits.
122
+ let sentence = rawSentence;
123
+ let homographFlags = [];
124
+ try {
125
+ const c = canonicalize(rawSentence);
126
+ if (c.flags.length > 0 && c.canonical !== rawSentence) {
127
+ sentence = c.canonical;
128
+ homographFlags = c.flags;
129
+ }
120
130
  }
131
+ catch { /* canonicalize is best-effort — never block the polygraph */ }
121
132
  try {
133
+ // v2.73.0 — ALWAYS run the 6 micro-lenses (closes v2.72 vuln #3).
134
+ // Pre-v2.73 a "generic"/short sentence returned grey at the prefilter
135
+ // BEFORE any lens ran → the dashboard showed "0 lenses". But the
136
+ // lenses are deterministic, in-process, sub-millisecond JS — there is
137
+ // no cost reason to skip them. A short claim like "2+2=5" (under the
138
+ // 12-char prefilter floor) is exactly the kind of thing the math lens
139
+ // refutes. So lenses now run on EVERY non-empty sentence, on the
140
+ // CANONICAL form, regardless of the heavy-ACGV prefilter.
141
+ const lensReport = runAllLenses(sentence);
142
+ const worthHeavyVerify = looksWorthVerifying(sentence);
143
+ // A lens is "informative" when it fired non-grey with real weight.
144
+ const isLensInformative = lensReport.lenses.some((l) => l.color !== "grey" && l.weight >= 0.5);
145
+ // FAST PATH: the sentence isn't worth the heavier ACGV pass. We STILL
146
+ // return the full lens report (so the dashboard shows 6 lenses, not
147
+ // 0) and let a confident lens stand on its own — a deterministic math
148
+ // refutation or a world-fact miss is not "crying wolf", it is ground
149
+ // truth, so it may surface RED/GREEN even without ACGV.
150
+ if (!worthHeavyVerify) {
151
+ if (isLensInformative) {
152
+ const friendly = lensReport.rolledUpColor === "red" ? "refuted"
153
+ : lensReport.rolledUpColor === "green" ? "trustworthy"
154
+ : "mixed";
155
+ const color = lensReport.rolledUpColor === "grey" ? "yellow" : lensReport.rolledUpColor;
156
+ return {
157
+ verdict: friendly, color,
158
+ confidence: Math.min(0.9, Math.max(...lensReport.lenses.map((l) => l.weight))),
159
+ oneLine: homographFlags.length > 0 ? `${lensReport.rolledUpReason} · canonicalized (${homographFlags.join(", ")})` : lensReport.rolledUpReason,
160
+ nextAction: friendly === "refuted" ? "Do not rely on this sentence." : friendly === "trustworthy" ? "Safe to rely on." : "Ask the AI to cite a specific file / function / version.",
161
+ latencyMs: Date.now() - t0, engine: "multi-lens",
162
+ lenses: lensReport,
163
+ homographFlags: homographFlags.length > 0 ? homographFlags : undefined,
164
+ };
165
+ }
166
+ // No lens fired + not worth ACGV → genuinely-unknown, but now WITH
167
+ // the (all-grey) lens report attached so the UI shows 6 lenses.
168
+ return {
169
+ verdict: "unknown", color: "grey", confidence: 0,
170
+ oneLine: homographFlags.length > 0 ? `no specific entities to verify · canonicalized (${homographFlags.join(", ")})` : "no specific entities to verify",
171
+ latencyMs: Date.now() - t0, engine: "prefilter",
172
+ lenses: lensReport,
173
+ homographFlags: homographFlags.length > 0 ? homographFlags : undefined,
174
+ };
175
+ }
176
+ // HEAVY PATH: worth a full ACGV pass.
122
177
  // Always use propositional engine in the browser path: z3 spawns a
123
178
  // worker + can take 1-3s. The browser polygraph is per-sentence on a
124
179
  // streaming response; we MUST stay under ~300ms.
@@ -134,6 +189,8 @@ export async function verifyBrowserSentence(input) {
134
189
  verdict: "unknown", color: "grey", confidence: 0,
135
190
  oneLine: `input truncated (${truncated.split(":")[1] ?? "over cap"}) — split into smaller sentences`,
136
191
  latencyMs: Date.now() - t0, engine: "input-guard",
192
+ lenses: lensReport,
193
+ homographFlags: homographFlags.length > 0 ? homographFlags : undefined,
137
194
  };
138
195
  }
139
196
  if (unverifiable) {
@@ -142,12 +199,13 @@ export async function verifyBrowserSentence(input) {
142
199
  verdict: "unknown", color: "grey", confidence: 0,
143
200
  oneLine: `unverifiable input: ${kind.toLowerCase().replace(/_/g, " ")}`,
144
201
  latencyMs: Date.now() - t0, engine: "input-guard",
202
+ lenses: lensReport,
203
+ homographFlags: homographFlags.length > 0 ? homographFlags : undefined,
145
204
  };
146
205
  }
147
- // v2.19.91 — Run the 6 micro-lenses in parallel. If any lens fires
148
- // RED with high weight, the lens verdict overrides ACGV (lenses know
149
- // world facts ACGV doesn't).
150
- const lensReport = runAllLenses(sentence);
206
+ // v2.19.91 — lensReport (computed at the top on the canonical form).
207
+ // If any lens fires RED with high weight, the lens verdict overrides
208
+ // ACGV (lenses know world facts ACGV doesn't).
151
209
  let friendly = toFriendlyVerdict(result.verdict);
152
210
  let color = toColor(friendly);
153
211
  // Lens override: a confident lens verdict wins over a mixed ACGV.
@@ -162,14 +220,14 @@ export async function verifyBrowserSentence(input) {
162
220
  // One-liner now favours the lens reason when it's stronger than
163
221
  // ACGV's generic "mixed evidence" line.
164
222
  const lensReason = lensReport.rolledUpReason;
165
- const isLensInformative = lensReport.lenses.some((l) => l.color !== "grey" && l.weight >= 0.5);
166
- const oneLine = isLensInformative && lensReason
223
+ const baseOneLine = isLensInformative && lensReason
167
224
  ? lensReason
168
225
  : friendly === "trustworthy"
169
226
  ? `verified · ${result.verdict.toLowerCase()} (${Math.round(result.confidence * 100)}%)`
170
227
  : friendly === "refuted" || friendly === "impossible"
171
228
  ? `refuted · ${result.verdict.toLowerCase()} (${Math.round(result.confidence * 100)}%)`
172
229
  : `no specific entity to verify`;
230
+ const oneLine = homographFlags.length > 0 ? `${baseOneLine} · canonicalized (${homographFlags.join(", ")})` : baseOneLine;
173
231
  return {
174
232
  verdict: friendly,
175
233
  color,
@@ -183,6 +241,7 @@ export async function verifyBrowserSentence(input) {
183
241
  latencyMs: Date.now() - t0,
184
242
  engine: "multi-lens",
185
243
  lenses: lensReport,
244
+ homographFlags: homographFlags.length > 0 ? homographFlags : undefined,
186
245
  };
187
246
  }
188
247
  catch (e) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/polygraph/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/polygraph/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,70 @@
1
+ /**
2
+ * 💀 CULL — Process Reaper via Antibody Pattern + Quorum
3
+ *
4
+ * Closes v2.70 Vuln #4: 6 mneme node processes still alive after single
5
+ * test session → resource exhaustion over time.
6
+ *
7
+ * STRATEGY: every Mneme process writes an antibody to .mneme/cull/<pid>.beat
8
+ * containing { startedAt, processType, antibody }. On startup, every
9
+ * Mneme process runs CULL phase:
10
+ *
11
+ * 1. Scan .mneme/cull/ for all heartbeats
12
+ * 2. Filter to processes with same processType as me
13
+ * 3. Verify each is actually alive (process.kill(pid, 0))
14
+ * 4. Remove dead heartbeats (cleanup)
15
+ * 5. Apply policy: if alive count > maxPerType, cull oldest siblings
16
+ * until count == maxPerType
17
+ *
18
+ * Policy modes:
19
+ * - "youngest-wins" newer process kills older siblings (default)
20
+ * - "oldest-wins" new process refuses to start if maxPerType reached
21
+ * - "quorum" requires majority of siblings to vote out a peer
22
+ *
23
+ * Wild twist: MITOSIS BUDGET — process can split (spawn child) but the
24
+ * child inherits parent's antibody. CULL never kills siblings with
25
+ * matching parent-antibody chain.
26
+ */
27
+ export type CullPolicy = "youngest-wins" | "oldest-wins" | "quorum";
28
+ export interface CullHeartbeat {
29
+ pid: number;
30
+ ppid: number;
31
+ startedAt: string;
32
+ processType: string;
33
+ antibody: string;
34
+ parentAntibody?: string;
35
+ lastBeatAt: string;
36
+ }
37
+ export interface CullConfig {
38
+ cullDir: string;
39
+ policy: CullPolicy;
40
+ maxPerType: Record<string, number>;
41
+ staleAfterMs: number;
42
+ }
43
+ export declare const DEFAULT_CULL: CullConfig;
44
+ export interface CullReport {
45
+ scanned: number;
46
+ removedStale: number;
47
+ killedSiblings: number;
48
+ refusedToKill: number;
49
+ myPid: number;
50
+ myAntibody: string;
51
+ finalAlive: number;
52
+ policy: CullPolicy;
53
+ reasoning: string[];
54
+ hmac: string;
55
+ }
56
+ export declare class Cull {
57
+ readonly cfg: CullConfig;
58
+ constructor(cfg?: CullConfig);
59
+ /** Generate a stable per-process antibody. */
60
+ static makeAntibody(): string;
61
+ /** Write our heartbeat — call on startup + every N seconds. */
62
+ beat(processType: string, antibody: string, parentAntibody?: string): void;
63
+ /** Update lastBeatAt timestamp only. */
64
+ refresh(antibody: string): void;
65
+ /** Run CULL phase: scan, clean dead, enforce maxPerType. */
66
+ enforce(myProcessType: string, myAntibody: string): CullReport;
67
+ /** Count of alive processes by type (for monitoring). */
68
+ censusAlive(): Record<string, number>;
69
+ }
70
+ //# sourceMappingURL=cull.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cull.d.ts","sourceRoot":"","sources":["../../../src/protoplasm/super_quan/cull.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAMH,MAAM,MAAM,UAAU,GAAG,eAAe,GAAG,aAAa,GAAG,QAAQ,CAAC;AAEpE,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,UAAU,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,YAAY,EAAE,UAK1B,CAAC;AAYF,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,UAAU,CAAC;IACnB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,qBAAa,IAAI;aACa,GAAG,EAAE,UAAU;gBAAf,GAAG,GAAE,UAAyB;IAE1D,8CAA8C;IAC9C,MAAM,CAAC,YAAY,IAAI,MAAM;IAI7B,+DAA+D;IAC/D,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI;IAc1E,wCAAwC;IACxC,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAU/B,4DAA4D;IAC5D,OAAO,CAAC,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,UAAU;IAgF9D,yDAAyD;IACzD,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;CAWtC"}