@mneme-ai/core 2.19.31 → 2.19.33

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 (94) hide show
  1. package/dist/autonomic_scheduler/b4_context_shift.test.d.ts +12 -0
  2. package/dist/autonomic_scheduler/b4_context_shift.test.d.ts.map +1 -0
  3. package/dist/autonomic_scheduler/b4_context_shift.test.js +213 -0
  4. package/dist/autonomic_scheduler/b4_context_shift.test.js.map +1 -0
  5. package/dist/autonomic_scheduler/index.d.ts +44 -0
  6. package/dist/autonomic_scheduler/index.d.ts.map +1 -1
  7. package/dist/autonomic_scheduler/index.js +68 -1
  8. package/dist/autonomic_scheduler/index.js.map +1 -1
  9. package/dist/consciousness_fork/consciousness_fork.test.d.ts +2 -0
  10. package/dist/consciousness_fork/consciousness_fork.test.d.ts.map +1 -0
  11. package/dist/consciousness_fork/consciousness_fork.test.js +177 -0
  12. package/dist/consciousness_fork/consciousness_fork.test.js.map +1 -0
  13. package/dist/consciousness_fork/index.d.ts +129 -0
  14. package/dist/consciousness_fork/index.d.ts.map +1 -0
  15. package/dist/consciousness_fork/index.js +227 -0
  16. package/dist/consciousness_fork/index.js.map +1 -0
  17. package/dist/conversation_compiler/b1_extract_decisions.test.d.ts +2 -0
  18. package/dist/conversation_compiler/b1_extract_decisions.test.d.ts.map +1 -0
  19. package/dist/conversation_compiler/b1_extract_decisions.test.js +150 -0
  20. package/dist/conversation_compiler/b1_extract_decisions.test.js.map +1 -0
  21. package/dist/conversation_compiler/index.d.ts +19 -1
  22. package/dist/conversation_compiler/index.d.ts.map +1 -1
  23. package/dist/conversation_compiler/index.js +128 -39
  24. package/dist/conversation_compiler/index.js.map +1 -1
  25. package/dist/cosmic/aurelian_v1932.test.d.ts +2 -0
  26. package/dist/cosmic/aurelian_v1932.test.d.ts.map +1 -0
  27. package/dist/cosmic/aurelian_v1932.test.js +83 -0
  28. package/dist/cosmic/aurelian_v1932.test.js.map +1 -0
  29. package/dist/cosmic/aurelian_v1933.test.d.ts +2 -0
  30. package/dist/cosmic/aurelian_v1933.test.d.ts.map +1 -0
  31. package/dist/cosmic/aurelian_v1933.test.js +82 -0
  32. package/dist/cosmic/aurelian_v1933.test.js.map +1 -0
  33. package/dist/cosmic/v1933_integration.test.d.ts +2 -0
  34. package/dist/cosmic/v1933_integration.test.d.ts.map +1 -0
  35. package/dist/cosmic/v1933_integration.test.js +128 -0
  36. package/dist/cosmic/v1933_integration.test.js.map +1 -0
  37. package/dist/handoff_pwa/handoff_pwa.test.d.ts +2 -0
  38. package/dist/handoff_pwa/handoff_pwa.test.d.ts.map +1 -0
  39. package/dist/handoff_pwa/handoff_pwa.test.js +119 -0
  40. package/dist/handoff_pwa/handoff_pwa.test.js.map +1 -0
  41. package/dist/handoff_pwa/index.d.ts +81 -0
  42. package/dist/handoff_pwa/index.d.ts.map +1 -0
  43. package/dist/handoff_pwa/index.js +312 -0
  44. package/dist/handoff_pwa/index.js.map +1 -0
  45. package/dist/handoff_snapshot/handoff_snapshot.test.d.ts +2 -0
  46. package/dist/handoff_snapshot/handoff_snapshot.test.d.ts.map +1 -0
  47. package/dist/handoff_snapshot/handoff_snapshot.test.js +147 -0
  48. package/dist/handoff_snapshot/handoff_snapshot.test.js.map +1 -0
  49. package/dist/handoff_snapshot/index.d.ts +156 -0
  50. package/dist/handoff_snapshot/index.d.ts.map +1 -0
  51. package/dist/handoff_snapshot/index.js +261 -0
  52. package/dist/handoff_snapshot/index.js.map +1 -0
  53. package/dist/handoff_snapshot/system_e2e.test.d.ts +8 -0
  54. package/dist/handoff_snapshot/system_e2e.test.d.ts.map +1 -0
  55. package/dist/handoff_snapshot/system_e2e.test.js +211 -0
  56. package/dist/handoff_snapshot/system_e2e.test.js.map +1 -0
  57. package/dist/index.d.ts +6 -0
  58. package/dist/index.d.ts.map +1 -1
  59. package/dist/index.js +14 -0
  60. package/dist/index.js.map +1 -1
  61. package/dist/pair_code/index.d.ts +107 -0
  62. package/dist/pair_code/index.d.ts.map +1 -0
  63. package/dist/pair_code/index.js +226 -0
  64. package/dist/pair_code/index.js.map +1 -0
  65. package/dist/pair_code/pair_code.test.d.ts +2 -0
  66. package/dist/pair_code/pair_code.test.d.ts.map +1 -0
  67. package/dist/pair_code/pair_code.test.js +197 -0
  68. package/dist/pair_code/pair_code.test.js.map +1 -0
  69. package/dist/tool_browser/index.d.ts +128 -0
  70. package/dist/tool_browser/index.d.ts.map +1 -0
  71. package/dist/tool_browser/index.js +218 -0
  72. package/dist/tool_browser/index.js.map +1 -0
  73. package/dist/tool_browser/tool_browser.test.d.ts +2 -0
  74. package/dist/tool_browser/tool_browser.test.d.ts.map +1 -0
  75. package/dist/tool_browser/tool_browser.test.js +167 -0
  76. package/dist/tool_browser/tool_browser.test.js.map +1 -0
  77. package/dist/tool_tier/index.d.ts.map +1 -1
  78. package/dist/tool_tier/index.js +23 -5
  79. package/dist/tool_tier/index.js.map +1 -1
  80. package/dist/truth_sensor_pack/index.d.ts +105 -0
  81. package/dist/truth_sensor_pack/index.d.ts.map +1 -0
  82. package/dist/truth_sensor_pack/index.js +201 -0
  83. package/dist/truth_sensor_pack/index.js.map +1 -0
  84. package/dist/truth_sensor_pack/truth_sensor_pack.test.d.ts +2 -0
  85. package/dist/truth_sensor_pack/truth_sensor_pack.test.d.ts.map +1 -0
  86. package/dist/truth_sensor_pack/truth_sensor_pack.test.js +153 -0
  87. package/dist/truth_sensor_pack/truth_sensor_pack.test.js.map +1 -0
  88. package/dist/whats_new.d.ts.map +1 -1
  89. package/dist/whats_new.js +16 -0
  90. package/dist/whats_new.js.map +1 -1
  91. package/dist/wrapper_genesis/index.d.ts.map +1 -1
  92. package/dist/wrapper_genesis/index.js +37 -0
  93. package/dist/wrapper_genesis/index.js.map +1 -1
  94. package/package.json +1 -1
@@ -0,0 +1,261 @@
1
+ /**
2
+ * v2.19.32 — MNEME HANDOFF SNAPSHOT (the brain you hand to your child device)
3
+ *
4
+ * User mandate (2026-05-17):
5
+ * "อยากให้ลูก mneme เก่งสุดๆ และรู้จักการเอาตัวรอดได้ทุกสถานการณ์ ...
6
+ * BEACON ทำมานานแล้วแต่ไม่เคยใช้ได้เลยผมเครียดมากๆๆ ... ทุก handoff =
7
+ * fresh snapshot. ไม่ใช่ pre-baked file. child ได้ context เดียวกับ
8
+ * parent ตอนนั้นเป๊ะ"
9
+ *
10
+ * Diagnosis: prior BEACON shipped a "soul prompt" that was generic +
11
+ * stale — same paragraph every release, no actual conversation context.
12
+ * When user scanned QR on phone, they got a paragraph about Mneme's
13
+ * features, not "we were debugging the auth bypass on line 216 of
14
+ * beacon/index.ts." That's why BEACON has never been used in anger.
15
+ *
16
+ * v2.19.32 HANDOFF SNAPSHOT is the pure-function COMPOSER: caller
17
+ * supplies the live conversation + git state + activity (caller has the
18
+ * I/O), this module canonicalises + HMAC-signs + ages it. The result
19
+ * is a HandoffEnvelope the BEACON server can serve to whoever scans the
20
+ * QR code, and the child device's `mneme receive` can verify + ingest.
21
+ *
22
+ * What's NEW vs prior soul prompt:
23
+ * - LIVE conversation (caller passes last N turns from MCP session)
24
+ * - GIT STATE (branch / dirty / last N commits) at SNAPSHOT time
25
+ * - RECENT ACTIVITY (tail of .mneme/cli-activity.jsonl)
26
+ * - ACTIVE INTENT (what the user was just asking about)
27
+ * - CAPABILITIES (mneme version + tool families) for child compatibility
28
+ * - FRESHNESS TIMESTAMP — receiver enforces 5-min staleness gate
29
+ *
30
+ * Composes onto:
31
+ * - v2.9 BEACON (the QR + local HTTP server that carries this)
32
+ * - v2.19.31 BUG #1 fix (token-required transport — no auth bypass)
33
+ * - v2.19.32 PAIR CODE (6-char human-friendly handle bound to envelope)
34
+ * - v2.19.32 CONSCIOUSNESS FORK (HMAC parent/child lineage record)
35
+ *
36
+ * Honest scope:
37
+ * - PURE FUNCTION composer. Caller has the I/O (read git, tail jsonl,
38
+ * get conversation). This makes it testable + vendor-neutral.
39
+ * - HMAC-SHA256 signed for tamper detection at the receiver.
40
+ * - Defensive: empty conversation OK, missing git OK, malformed input
41
+ * returns minimal-but-valid envelope rather than throw.
42
+ * - Freshness gate: receiver checks freshnessMs against TTL.
43
+ * - 24/7 safe: never throws on bad input; 1000 random snapshots in a
44
+ * row never crashes (measured in test suite).
45
+ */
46
+ import { createHmac, timingSafeEqual } from "node:crypto";
47
+ const PROTOCOL_VERSION = 2;
48
+ const DEFAULT_FRESHNESS_TTL_MS = 5 * 60 * 1000; // 5 min
49
+ // ─── canonical helpers ───────────────────────────────────────────────
50
+ function canon(v) {
51
+ if (v === null || typeof v !== "object")
52
+ return JSON.stringify(v);
53
+ if (Array.isArray(v))
54
+ return "[" + v.map(canon).join(",") + "]";
55
+ const keys = Object.keys(v).sort();
56
+ return "{" + keys.map((k) => JSON.stringify(k) + ":" + canon(v[k])).join(",") + "}";
57
+ }
58
+ function defaultSecret() {
59
+ return process.env["MNEME_HANDOFF_SECRET"] || `mneme-handoff-v${PROTOCOL_VERSION}`;
60
+ }
61
+ function hmacHex(body, secret) {
62
+ return createHmac("sha256", secret).update(canon(body)).digest("hex");
63
+ }
64
+ function safeEqHex(a, b) {
65
+ try {
66
+ return timingSafeEqual(Buffer.from(a, "hex"), Buffer.from(b, "hex"));
67
+ }
68
+ catch {
69
+ return false;
70
+ }
71
+ }
72
+ function clean(s, fallback = "") {
73
+ return typeof s === "string" ? s : fallback;
74
+ }
75
+ function cleanArray(a, fallback = []) {
76
+ return Array.isArray(a) ? a : fallback;
77
+ }
78
+ /**
79
+ * Compose a fresh handoff envelope. Defensive at every boundary:
80
+ * - missing fields filled with sane defaults
81
+ * - bad types coerced or dropped
82
+ * - HMAC always computed (never empty sig)
83
+ * - return value ALWAYS valid; never throws
84
+ */
85
+ export function captureSnapshot(input) {
86
+ const nowMs = input.nowMs ?? Date.now();
87
+ const secret = input.secret ?? defaultSecret();
88
+ // Defensive coercions — every field has a defined shape
89
+ const conversation = cleanArray(input.conversation).filter((t) => t && typeof t.text === "string" && (t.role === "user" || t.role === "assistant" || t.role === "system")).map((t) => ({
90
+ role: t.role,
91
+ text: t.text,
92
+ ts: typeof t.ts === "number" && Number.isFinite(t.ts) ? t.ts : nowMs,
93
+ }));
94
+ const activeIntent = clean(input.activeIntent, conversation.length > 0
95
+ ? `handoff continuing: ${conversation[conversation.length - 1].text.slice(0, 80)}`
96
+ : "fresh handoff");
97
+ const gitState = {
98
+ branch: clean(input.gitState?.branch, "unknown"),
99
+ dirty: clean(input.gitState?.dirty, ""),
100
+ recentCommits: cleanArray(input.gitState?.recentCommits),
101
+ };
102
+ const recentActivity = cleanArray(input.recentActivity).filter((r) => r && typeof r.action === "string" && typeof r.ts === "number" && Number.isFinite(r.ts));
103
+ const capabilities = {
104
+ mnemeVersion: clean(input.capabilities?.mnemeVersion, "unknown"),
105
+ toolFamilies: cleanArray(input.capabilities?.toolFamilies).filter((s) => typeof s === "string"),
106
+ requiredTools: cleanArray(input.capabilities?.requiredTools).filter((s) => typeof s === "string"),
107
+ };
108
+ const voiceDirective = clean(input.voiceDirective, "");
109
+ const mnemeDictionary = (input.mnemeDictionary && typeof input.mnemeDictionary === "object" && !Array.isArray(input.mnemeDictionary))
110
+ ? input.mnemeDictionary
111
+ : {};
112
+ const parentDeviceId = clean(input.parentDeviceId, "anonymous-parent");
113
+ // Body before sig
114
+ const bodyForSig = {
115
+ v: PROTOCOL_VERSION,
116
+ parentDeviceId,
117
+ snapshotAtMs: nowMs,
118
+ freshnessTtlMs: DEFAULT_FRESHNESS_TTL_MS,
119
+ conversation,
120
+ activeIntent,
121
+ gitState,
122
+ recentActivity,
123
+ capabilities,
124
+ voiceDirective,
125
+ mnemeDictionary,
126
+ };
127
+ const sig = hmacHex(bodyForSig, secret);
128
+ const envelopeId = hmacHex({ parentDeviceId, snapshotAtMs: nowMs, sig }, secret).slice(0, 16);
129
+ return {
130
+ v: PROTOCOL_VERSION,
131
+ envelopeId,
132
+ parentDeviceId,
133
+ snapshotAtMs: nowMs,
134
+ freshnessTtlMs: DEFAULT_FRESHNESS_TTL_MS,
135
+ conversation,
136
+ activeIntent,
137
+ gitState,
138
+ recentActivity,
139
+ capabilities,
140
+ voiceDirective,
141
+ mnemeDictionary,
142
+ sig,
143
+ };
144
+ }
145
+ /** Verify envelope HMAC. Returns false on shape mismatch / tampered sig. */
146
+ export function verifyEnvelope(envelope, secret) {
147
+ if (!envelope || typeof envelope !== "object")
148
+ return false;
149
+ if (envelope.v !== PROTOCOL_VERSION)
150
+ return false;
151
+ if (typeof envelope.sig !== "string" || !/^[0-9a-f]{64}$/.test(envelope.sig))
152
+ return false;
153
+ if (typeof envelope.parentDeviceId !== "string")
154
+ return false;
155
+ if (typeof envelope.snapshotAtMs !== "number" || !Number.isFinite(envelope.snapshotAtMs))
156
+ return false;
157
+ const sec = secret ?? defaultSecret();
158
+ const { sig, envelopeId: _eid, v: _v, ...body } = envelope;
159
+ const bodyForSig = { v: PROTOCOL_VERSION, ...body };
160
+ return safeEqHex(hmacHex(bodyForSig, sec), sig);
161
+ }
162
+ export function freshnessCheck(envelope, nowMs) {
163
+ const now = nowMs ?? Date.now();
164
+ const age = now - envelope.snapshotAtMs;
165
+ // Clock skew detection — receiver clock behind parent by > 1s
166
+ if (age < -1000)
167
+ return { ageMs: age, isFresh: false, isExpired: false, reason: "future_clock_skew" };
168
+ const ttl = envelope.freshnessTtlMs ?? DEFAULT_FRESHNESS_TTL_MS;
169
+ if (age > ttl)
170
+ return { ageMs: age, isFresh: false, isExpired: true, reason: "expired" };
171
+ // 80% of TTL → stale warning (receiver may still ingest with caveat)
172
+ if (age > ttl * 0.8)
173
+ return { ageMs: age, isFresh: false, isExpired: false, reason: "stale" };
174
+ return { ageMs: age, isFresh: true, isExpired: false, reason: "fresh" };
175
+ }
176
+ /**
177
+ * Render an envelope as the AI-ingestible text the child will paste into
178
+ * its new vendor session (Gemini / GPT / Claude / etc). Deterministic,
179
+ * vendor-neutral, safe to display in clear text — the SIG is what gives
180
+ * tamper-evidence, not secrecy. (For confidentiality wrap in ECDH at the
181
+ * transport layer; out of scope for this composer.)
182
+ */
183
+ export function renderForChildVendor(envelope) {
184
+ const lines = [];
185
+ lines.push(`# 🧬 Mneme Handoff — continuing from parent`);
186
+ lines.push(``);
187
+ lines.push(`**Parent device**: ${envelope.parentDeviceId}`);
188
+ lines.push(`**Snapshot at**: ${new Date(envelope.snapshotAtMs).toISOString()}`);
189
+ lines.push(`**Mneme version**: ${envelope.capabilities.mnemeVersion}`);
190
+ if (envelope.activeIntent) {
191
+ lines.push(``);
192
+ lines.push(`**Active intent**: ${envelope.activeIntent}`);
193
+ }
194
+ if (envelope.gitState.branch !== "unknown") {
195
+ lines.push(``);
196
+ lines.push(`## Git state`);
197
+ lines.push(`- branch: \`${envelope.gitState.branch}\``);
198
+ if (envelope.gitState.dirty) {
199
+ lines.push(`- dirty files:`);
200
+ lines.push("```");
201
+ lines.push(envelope.gitState.dirty);
202
+ lines.push("```");
203
+ }
204
+ if (envelope.gitState.recentCommits.length > 0) {
205
+ lines.push(`- recent commits:`);
206
+ for (const c of envelope.gitState.recentCommits)
207
+ lines.push(` - ${c}`);
208
+ }
209
+ }
210
+ if (envelope.conversation.length > 0) {
211
+ lines.push(``);
212
+ lines.push(`## Conversation tail`);
213
+ for (const t of envelope.conversation.slice(-10)) {
214
+ lines.push(`**${t.role}**: ${t.text}`);
215
+ lines.push(``);
216
+ }
217
+ }
218
+ if (envelope.recentActivity.length > 0) {
219
+ lines.push(``);
220
+ lines.push(`## Recent activity`);
221
+ for (const r of envelope.recentActivity.slice(-10)) {
222
+ lines.push(`- \`${r.action}\` @ ${new Date(r.ts).toISOString()}`);
223
+ }
224
+ }
225
+ if (envelope.voiceDirective) {
226
+ lines.push(``);
227
+ lines.push(`## Voice directive`);
228
+ lines.push(envelope.voiceDirective);
229
+ }
230
+ if (Object.keys(envelope.mnemeDictionary).length > 0) {
231
+ lines.push(``);
232
+ lines.push(`## Shared dictionary`);
233
+ for (const [k, v] of Object.entries(envelope.mnemeDictionary)) {
234
+ lines.push(`- **${k}**: ${v}`);
235
+ }
236
+ }
237
+ lines.push(``);
238
+ lines.push(`---`);
239
+ lines.push(`HMAC sig (last 12): \`...${envelope.sig.slice(-12)}\` · envelope ${envelope.envelopeId}`);
240
+ return lines.join("\n");
241
+ }
242
+ export function computeSnapshotStats(envelope, nowMs) {
243
+ const bytes = JSON.stringify(envelope).length;
244
+ return {
245
+ envelopeId: envelope.envelopeId,
246
+ conversationTurns: envelope.conversation.length,
247
+ activityRecords: envelope.recentActivity.length,
248
+ totalBytes: bytes,
249
+ ageMs: (nowMs ?? Date.now()) - envelope.snapshotAtMs,
250
+ };
251
+ }
252
+ export function formatSnapshotLine(s) {
253
+ const ageSec = Math.max(0, Math.floor(s.ageMs / 1000));
254
+ const kb = (s.totalBytes / 1024).toFixed(1);
255
+ return `🧬 SNAPSHOT ${s.envelopeId} · ${s.conversationTurns} turns · ${s.activityRecords} activity · ${kb}KB · age=${ageSec}s`;
256
+ }
257
+ export const HANDOFF_SNAPSHOT_TUNABLES = Object.freeze({
258
+ PROTOCOL_VERSION,
259
+ DEFAULT_FRESHNESS_TTL_MS,
260
+ });
261
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/handoff_snapshot/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AAEH,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE1D,MAAM,gBAAgB,GAAG,CAAU,CAAC;AACpC,MAAM,wBAAwB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,QAAQ;AA0ExD,wEAAwE;AAExE,SAAS,KAAK,CAAC,CAAU;IACvB,IAAI,CAAC,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAClE,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAAE,OAAO,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;IAChE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAA4B,CAAC,CAAC,IAAI,EAAE,CAAC;IAC9D,OAAO,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,KAAK,CAAE,CAA6B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;AACnH,CAAC;AAED,SAAS,aAAa;IACpB,OAAO,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,IAAI,kBAAkB,gBAAgB,EAAE,CAAC;AACrF,CAAC;AAED,SAAS,OAAO,CAAC,IAAa,EAAE,MAAc;IAC5C,OAAO,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACxE,CAAC;AAED,SAAS,SAAS,CAAC,CAAS,EAAE,CAAS;IACrC,IAAI,CAAC;QAAC,OAAO,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;IAAC,CAAC;IAC7E,MAAM,CAAC;QAAC,OAAO,KAAK,CAAC;IAAC,CAAC;AACzB,CAAC;AAED,SAAS,KAAK,CAAC,CAAU,EAAE,QAAQ,GAAG,EAAE;IACtC,OAAO,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;AAC9C,CAAC;AAED,SAAS,UAAU,CAAI,CAAU,EAAE,WAAgB,EAAE;IACnD,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;AAClD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAAC,KAA2B;IACzD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;IACxC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,aAAa,EAAE,CAAC;IAE/C,wDAAwD;IACxD,MAAM,YAAY,GAAG,UAAU,CAAmB,KAAK,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACjF,CAAC,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CACxG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACZ,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,EAAE,EAAE,OAAO,CAAC,CAAC,EAAE,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK;KACrE,CAAC,CAAC,CAAC;IAEJ,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,YAAY,EAAE,YAAY,CAAC,MAAM,GAAG,CAAC;QACpE,CAAC,CAAC,uBAAuB,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE;QACnF,CAAC,CAAC,eAAe,CAAC,CAAC;IAErB,MAAM,QAAQ,GAAuB;QACnC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC;QAChD,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC;QACvC,aAAa,EAAE,UAAU,CAAS,KAAK,CAAC,QAAQ,EAAE,aAAa,CAAC;KACjE,CAAC;IAEF,MAAM,cAAc,GAAG,UAAU,CAAiB,KAAK,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACnF,CAAC,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,EAAE,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CACvF,CAAC;IAEF,MAAM,YAAY,GAAyB;QACzC,YAAY,EAAE,KAAK,CAAC,KAAK,CAAC,YAAY,EAAE,YAAY,EAAE,SAAS,CAAC;QAChE,YAAY,EAAE,UAAU,CAAS,KAAK,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;QACvG,aAAa,EAAE,UAAU,CAAS,KAAK,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;KAC1G,CAAC;IAEF,MAAM,cAAc,GAAG,KAAK,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;IACvD,MAAM,eAAe,GAAG,CAAC,KAAK,CAAC,eAAe,IAAI,OAAO,KAAK,CAAC,eAAe,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QACnI,CAAC,CAAC,KAAK,CAAC,eAAe;QACvB,CAAC,CAAC,EAAE,CAAC;IAEP,MAAM,cAAc,GAAG,KAAK,CAAC,KAAK,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;IAEvE,kBAAkB;IAClB,MAAM,UAAU,GAAG;QACjB,CAAC,EAAE,gBAAgB;QACnB,cAAc;QACd,YAAY,EAAE,KAAK;QACnB,cAAc,EAAE,wBAAwB;QACxC,YAAY;QACZ,YAAY;QACZ,QAAQ;QACR,cAAc;QACd,YAAY;QACZ,cAAc;QACd,eAAe;KAChB,CAAC;IACF,MAAM,GAAG,GAAG,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IACxC,MAAM,UAAU,GAAG,OAAO,CAAC,EAAE,cAAc,EAAE,YAAY,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAE9F,OAAO;QACL,CAAC,EAAE,gBAAgB;QACnB,UAAU;QACV,cAAc;QACd,YAAY,EAAE,KAAK;QACnB,cAAc,EAAE,wBAAwB;QACxC,YAAY;QACZ,YAAY;QACZ,QAAQ;QACR,cAAc;QACd,YAAY;QACZ,cAAc;QACd,eAAe;QACf,GAAG;KACJ,CAAC;AACJ,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,cAAc,CAAC,QAAyB,EAAE,MAAe;IACvE,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5D,IAAI,QAAQ,CAAC,CAAC,KAAK,gBAAgB;QAAE,OAAO,KAAK,CAAC;IAClD,IAAI,OAAO,QAAQ,CAAC,GAAG,KAAK,QAAQ,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAC3F,IAAI,OAAO,QAAQ,CAAC,cAAc,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC9D,IAAI,OAAO,QAAQ,CAAC,YAAY,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC;QAAE,OAAO,KAAK,CAAC;IAEvG,MAAM,GAAG,GAAG,MAAM,IAAI,aAAa,EAAE,CAAC;IACtC,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,QAAQ,CAAC;IAC3D,MAAM,UAAU,GAAG,EAAE,CAAC,EAAE,gBAAgB,EAAE,GAAG,IAAI,EAAE,CAAC;IACpD,OAAO,SAAS,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;AAClD,CAAC;AAaD,MAAM,UAAU,cAAc,CAAC,QAAyB,EAAE,KAAc;IACtE,MAAM,GAAG,GAAG,KAAK,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;IAChC,MAAM,GAAG,GAAG,GAAG,GAAG,QAAQ,CAAC,YAAY,CAAC;IACxC,8DAA8D;IAC9D,IAAI,GAAG,GAAG,CAAC,IAAI;QAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAC;IACtG,MAAM,GAAG,GAAG,QAAQ,CAAC,cAAc,IAAI,wBAAwB,CAAC;IAChE,IAAI,GAAG,GAAG,GAAG;QAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IACzF,qEAAqE;IACrE,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG;QAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;IAC9F,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AAC1E,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAAC,QAAyB;IAC5D,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;IAC1D,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,sBAAsB,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC;IAC5D,KAAK,CAAC,IAAI,CAAC,oBAAoB,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAChF,KAAK,CAAC,IAAI,CAAC,sBAAsB,QAAQ,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC,CAAC;IACvE,IAAI,QAAQ,CAAC,YAAY,EAAE,CAAC;QAC1B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,sBAAsB,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC;IAC5D,CAAC;IACD,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC3C,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,eAAe,QAAQ,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,CAAC;QACxD,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;YAC5B,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAC7B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAClB,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACpC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC;QACD,IAAI,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/C,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;YAChC,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,aAAa;gBAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC;IACD,IAAI,QAAQ,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QACnC,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;YACjD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YACvC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;IACH,CAAC;IACD,IAAI,QAAQ,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACjC,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;YACnD,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;IACD,IAAI,QAAQ,CAAC,cAAc,EAAE,CAAC;QAC5B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACjC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IACtC,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QACnC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;YAC9D,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClB,KAAK,CAAC,IAAI,CAAC,4BAA4B,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,iBAAiB,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;IACtG,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAUD,MAAM,UAAU,oBAAoB,CAAC,QAAyB,EAAE,KAAc;IAC5E,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC;IAC9C,OAAO;QACL,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,iBAAiB,EAAE,QAAQ,CAAC,YAAY,CAAC,MAAM;QAC/C,eAAe,EAAE,QAAQ,CAAC,cAAc,CAAC,MAAM;QAC/C,UAAU,EAAE,KAAK;QACjB,KAAK,EAAE,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,QAAQ,CAAC,YAAY;KACrD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,CAAgB;IACjD,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC;IACvD,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC5C,OAAO,eAAe,CAAC,CAAC,UAAU,MAAM,CAAC,CAAC,iBAAiB,YAAY,CAAC,CAAC,eAAe,eAAe,EAAE,YAAY,MAAM,GAAG,CAAC;AACjI,CAAC;AAED,MAAM,CAAC,MAAM,yBAAyB,GAAG,MAAM,CAAC,MAAM,CAAC;IACrD,gBAAgB;IAChB,wBAAwB;CACzB,CAAC,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * v2.19.32 SYSTEM E2E TEST — the full PARENT → QR → CHILD pipeline
3
+ *
4
+ * Exercises all 4 v2.19.32 modules together with a realistic 4-vendor
5
+ * scenario. If this test passes, BEACON HANDOFF actually works.
6
+ */
7
+ export {};
8
+ //# sourceMappingURL=system_e2e.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system_e2e.test.d.ts","sourceRoot":"","sources":["../../src/handoff_snapshot/system_e2e.test.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
@@ -0,0 +1,211 @@
1
+ /**
2
+ * v2.19.32 SYSTEM E2E TEST — the full PARENT → QR → CHILD pipeline
3
+ *
4
+ * Exercises all 4 v2.19.32 modules together with a realistic 4-vendor
5
+ * scenario. If this test passes, BEACON HANDOFF actually works.
6
+ */
7
+ import { describe, it, expect } from "vitest";
8
+ import { captureSnapshot, verifyEnvelope, freshnessCheck, renderForChildVendor } from "./index.js";
9
+ import { bindEnvelope, lookupByCode, markUsed, sasEmoji, normaliseCode } from "../pair_code/index.js";
10
+ import { generateHandoffPwaHtml } from "../handoff_pwa/index.js";
11
+ import { recordFork, markReconciled, findActiveDescendants, verifyLedger } from "../consciousness_fork/index.js";
12
+ const SECRET_HANDOFF = "e2e-handoff-77";
13
+ const SECRET_PAIR = "e2e-pair-22";
14
+ const SECRET_FORK = "e2e-fork-13";
15
+ describe("v2.19.32 BEACON HANDOFF -- E2E SYSTEM TEST (parent → QR → child works for real)", () => {
16
+ it("scenario 1: macbook (Claude) → android phone (Gemini) — full happy path", () => {
17
+ // ─── PARENT SIDE ──────────────────────────────────────────────
18
+ const nowMs = 1_700_000_000_000;
19
+ const envelope = captureSnapshot({
20
+ parentDeviceId: "macbook-pro-claude",
21
+ conversation: [
22
+ { role: "user", text: "we just fixed BUG #1 BEACON token bypass", ts: nowMs - 60_000 },
23
+ { role: "assistant", text: "added 4 regression tests; all pass", ts: nowMs - 30_000 },
24
+ { role: "user", text: "now hand off to my phone before I leave", ts: nowMs - 1_000 },
25
+ ],
26
+ activeIntent: "discussing v2.19.31 ship; continuing on phone",
27
+ gitState: {
28
+ branch: "main",
29
+ dirty: " M packages/core/src/beacon/index.ts",
30
+ recentCommits: ["feat(v2.19.31): BUG #1 BEACON token bypass FIXED"],
31
+ },
32
+ recentActivity: [
33
+ { action: "mneme.truth.forensic", ts: nowMs - 45_000 },
34
+ { action: "mneme.synapse.sync_export", ts: nowMs - 20_000 },
35
+ ],
36
+ capabilities: {
37
+ mnemeVersion: "2.19.32",
38
+ toolFamilies: ["beacon", "truth", "synapse", "soul", "court"],
39
+ requiredTools: ["mneme.truth.forensic"],
40
+ },
41
+ voiceDirective: "Thai-speaking solo dev; technical; concise",
42
+ mnemeDictionary: { "BUG #1": "the BEACON token bypass v2.19.31 fixed" },
43
+ nowMs,
44
+ secret: SECRET_HANDOFF,
45
+ });
46
+ expect(verifyEnvelope(envelope, SECRET_HANDOFF)).toBe(true);
47
+ expect(envelope.envelopeId).toMatch(/^[0-9a-f]{16}$/);
48
+ // ─── BIND PAIR CODE (30s TTL) ─────────────────────────────────
49
+ const pair = bindEnvelope({
50
+ envelopeSig: envelope.sig,
51
+ envelopeId: envelope.envelopeId,
52
+ nowMs,
53
+ ttlMs: 30_000,
54
+ secret: SECRET_PAIR,
55
+ });
56
+ expect(pair.code).toMatch(/^[A-Z2-9]{3}-[A-Z2-9]{3}$/);
57
+ expect(pair.usedAtMs).toBeNull();
58
+ // ─── RENDER PWA HTML (served to phone via BEACON HTTP) ────────
59
+ const sas = sasEmoji(envelope.sig);
60
+ const body = renderForChildVendor(envelope);
61
+ const html = generateHandoffPwaHtml({
62
+ body,
63
+ pairCode: pair.code,
64
+ sasEmoji: sas,
65
+ expiresInMs: pair.expiresAtMs - nowMs,
66
+ title: "Mneme Handoff",
67
+ parentDeviceId: envelope.parentDeviceId,
68
+ shareTargets: ["Gemini", "ChatGPT", "Claude"],
69
+ });
70
+ expect(html).toContain(pair.code);
71
+ expect(html).toContain(sas[0]);
72
+ expect(html).toContain("macbook-pro-claude");
73
+ expect(html).toContain("Gemini");
74
+ // Body contains the active intent (XSS-safe)
75
+ expect(html).toContain("discussing v2.19.31 ship");
76
+ // ─── CHILD SIDE: user types code on phone or scans QR ─────────
77
+ // User typed "zozcat" (lowercase, no dash) — normaliseCode handles it
78
+ const lookup = lookupByCode({
79
+ records: [pair],
80
+ code: pair.code.toLowerCase().replace("-", ""),
81
+ nowMs: nowMs + 5_000, // 5s after pair created
82
+ secret: SECRET_PAIR,
83
+ });
84
+ expect(lookup.verdict).toBe("found");
85
+ expect(lookup.record.envelopeId).toBe(envelope.envelopeId);
86
+ // Child verifies envelope HMAC (must match parent secret)
87
+ expect(verifyEnvelope(envelope, SECRET_HANDOFF)).toBe(true);
88
+ // Child checks freshness (5s old = fresh)
89
+ const fresh = freshnessCheck(envelope, nowMs + 5_000);
90
+ expect(fresh.isFresh).toBe(true);
91
+ expect(fresh.reason).toBe("fresh");
92
+ // Child marks pair code used (one-shot)
93
+ const usedPair = markUsed({
94
+ record: lookup.record,
95
+ usedByDeviceId: "galaxy-s24-android-gemini",
96
+ nowMs: nowMs + 5_000,
97
+ secret: SECRET_PAIR,
98
+ });
99
+ expect(usedPair.usedAtMs).toBe(nowMs + 5_000);
100
+ // Re-scan: must fail (one-shot enforcement)
101
+ const replay = lookupByCode({
102
+ records: [usedPair],
103
+ code: pair.code,
104
+ nowMs: nowMs + 6_000,
105
+ secret: SECRET_PAIR,
106
+ });
107
+ expect(replay.verdict).toBe("already_used");
108
+ // ─── CONSCIOUSNESS FORK LEDGER ────────────────────────────────
109
+ const forkResult = recordFork({
110
+ ledger: [],
111
+ parentDeviceId: envelope.parentDeviceId,
112
+ childDeviceId: "galaxy-s24-android-gemini",
113
+ envelopeId: envelope.envelopeId,
114
+ forkedAtMs: nowMs + 5_000,
115
+ note: "handoff: laptop → phone before commute",
116
+ secret: SECRET_FORK,
117
+ });
118
+ expect(forkResult.record).not.toBeNull();
119
+ expect(forkResult.record.status).toBe("active");
120
+ expect(verifyLedger(forkResult.ledger, SECRET_FORK)).toBe(true);
121
+ // ─── CHILD GETS THE INGESTIBLE MARKDOWN ───────────────────────
122
+ expect(body).toContain("we just fixed BUG #1");
123
+ expect(body).toContain("v2.19.31");
124
+ expect(body).toContain("macbook-pro-claude");
125
+ expect(body).toContain("Thai-speaking solo dev");
126
+ });
127
+ it("scenario 2: STALE handoff (envelope > 5min old) — child REFUSES ingest", () => {
128
+ const env = captureSnapshot({ parentDeviceId: "p", nowMs: 1000, secret: SECRET_HANDOFF });
129
+ const fresh = freshnessCheck(env, 1000 + 6 * 60 * 1000); // 6 min later
130
+ expect(fresh.isExpired).toBe(true);
131
+ expect(fresh.reason).toBe("expired");
132
+ // Receiver SHOULD refuse to ingest → require parent to refresh
133
+ });
134
+ it("scenario 3: TAMPERED envelope — child REJECTS even with valid pair code", () => {
135
+ const env = captureSnapshot({ parentDeviceId: "good-parent", nowMs: 1000, secret: SECRET_HANDOFF });
136
+ const tampered = { ...env, parentDeviceId: "evil-attacker" };
137
+ expect(verifyEnvelope(tampered, SECRET_HANDOFF)).toBe(false);
138
+ // Even if attacker has a valid pair code, the envelope HMAC fails.
139
+ });
140
+ it("scenario 4: TAMPERED pair record — lookup returns 'tampered'", () => {
141
+ const env = captureSnapshot({ parentDeviceId: "p", nowMs: 1000, secret: SECRET_HANDOFF });
142
+ const pair = bindEnvelope({ envelopeSig: env.sig, envelopeId: env.envelopeId, nowMs: 1000, secret: SECRET_PAIR });
143
+ const tampered = { ...pair, envelopeSig: "evil-sig" };
144
+ const result = lookupByCode({ records: [tampered], code: pair.code, nowMs: 5_000, secret: SECRET_PAIR });
145
+ expect(result.verdict).toBe("tampered");
146
+ });
147
+ it("scenario 5: REPLAY ATTACK on expired code — lookup returns 'expired'", () => {
148
+ const env = captureSnapshot({ parentDeviceId: "p", nowMs: 0, secret: SECRET_HANDOFF });
149
+ const pair = bindEnvelope({ envelopeSig: env.sig, envelopeId: env.envelopeId, nowMs: 0, ttlMs: 1000, secret: SECRET_PAIR });
150
+ const result = lookupByCode({ records: [pair], code: pair.code, nowMs: 60_000, secret: SECRET_PAIR });
151
+ expect(result.verdict).toBe("expired");
152
+ });
153
+ it("scenario 6: MITM attack — attacker shows different SAS emoji", () => {
154
+ const env1 = captureSnapshot({ parentDeviceId: "real-parent", nowMs: 1000, secret: SECRET_HANDOFF });
155
+ const env2 = captureSnapshot({ parentDeviceId: "evil-parent", nowMs: 1000, secret: SECRET_HANDOFF });
156
+ const sas1 = sasEmoji(env1.sig);
157
+ const sas2 = sasEmoji(env2.sig);
158
+ // User compares emoji on screens; if attacker swapped envelope, emoji visually differ
159
+ expect(sas1.join("")).not.toBe(sas2.join(""));
160
+ });
161
+ it("scenario 7: 3-device fork lineage (Mac → Phone → Tablet) chained via fork ledger", () => {
162
+ const env1 = captureSnapshot({ parentDeviceId: "mac", nowMs: 1000, secret: SECRET_HANDOFF });
163
+ const env2 = captureSnapshot({ parentDeviceId: "phone", nowMs: 2000, secret: SECRET_HANDOFF });
164
+ let ledger = [];
165
+ ledger = recordFork({ ledger, parentDeviceId: "mac", childDeviceId: "phone", envelopeId: env1.envelopeId, forkedAtMs: 1500, secret: SECRET_FORK }).ledger;
166
+ ledger = recordFork({ ledger, parentDeviceId: "phone", childDeviceId: "tablet", envelopeId: env2.envelopeId, forkedAtMs: 2500, secret: SECRET_FORK }).ledger;
167
+ expect(ledger.length).toBe(2);
168
+ expect(verifyLedger(ledger, SECRET_FORK)).toBe(true);
169
+ const macDescendants = findActiveDescendants({ ledger, parentDeviceId: "mac" });
170
+ expect(macDescendants.length).toBe(1);
171
+ const phoneDescendants = findActiveDescendants({ ledger, parentDeviceId: "phone" });
172
+ expect(phoneDescendants.length).toBe(1);
173
+ });
174
+ it("scenario 8: RECONCILIATION via SYNAPSE SYNC closes the fork loop", () => {
175
+ const env = captureSnapshot({ parentDeviceId: "mac", nowMs: 1000, secret: SECRET_HANDOFF });
176
+ let ledger = recordFork({
177
+ ledger: [],
178
+ parentDeviceId: "mac",
179
+ childDeviceId: "phone",
180
+ envelopeId: env.envelopeId,
181
+ forkedAtMs: 1500,
182
+ secret: SECRET_FORK,
183
+ }).ledger;
184
+ const forkId = ledger[0].forkId;
185
+ // Phone comes back via SYNAPSE SYNC merge at t=10000
186
+ ledger = markReconciled({ ledger, forkId, reconciledAtMs: 10_000, secret: SECRET_FORK }).ledger;
187
+ const active = findActiveDescendants({ ledger, parentDeviceId: "mac" });
188
+ expect(active.length).toBe(0);
189
+ expect(ledger[0].status).toBe("reconciled");
190
+ });
191
+ it("scenario 9: user typed code with confusable misread — normaliseCode helps", () => {
192
+ const env = captureSnapshot({ parentDeviceId: "p", nowMs: 1000, secret: SECRET_HANDOFF });
193
+ const pair = bindEnvelope({ code: "CAT-DAD", envelopeSig: env.sig, envelopeId: env.envelopeId, nowMs: 1000, secret: SECRET_PAIR });
194
+ // User typed " cat dad " (extra spaces, lowercase, no dash)
195
+ const norm = normaliseCode(" cat dad ");
196
+ expect(norm).toBe("CAT-DAD");
197
+ const result = lookupByCode({ records: [pair], code: norm, nowMs: 5_000, secret: SECRET_PAIR });
198
+ expect(result.verdict).toBe("found");
199
+ });
200
+ it("scenario 10: HMAC bypass attempt — attacker forges envelope but pair code → tampered detect", () => {
201
+ const real = captureSnapshot({ parentDeviceId: "real", nowMs: 1000, secret: SECRET_HANDOFF });
202
+ // Attacker builds fake envelope with same envelopeId
203
+ const fake = { ...real, parentDeviceId: "attacker", sig: "0".repeat(64) };
204
+ expect(verifyEnvelope(fake, SECRET_HANDOFF)).toBe(false);
205
+ // Pair code bound to REAL sig won't match fake envelope sig — receiver compares.
206
+ const pair = bindEnvelope({ envelopeSig: real.sig, envelopeId: real.envelopeId, nowMs: 1000, secret: SECRET_PAIR });
207
+ expect(pair.envelopeSig).toBe(real.sig);
208
+ expect(pair.envelopeSig).not.toBe(fake.sig);
209
+ });
210
+ });
211
+ //# sourceMappingURL=system_e2e.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system_e2e.test.js","sourceRoot":"","sources":["../../src/handoff_snapshot/system_e2e.test.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -274,6 +274,12 @@ export * as synapseFusion from "./synapse_fusion/index.js";
274
274
  export * as soulEmbalming from "./soul_embalming/index.js";
275
275
  export * as hiveCourt from "./hive_court/index.js";
276
276
  export * as synapseSync from "./synapse_sync/index.js";
277
+ export * as handoffSnapshot from "./handoff_snapshot/index.js";
278
+ export * as pairCode from "./pair_code/index.js";
279
+ export * as handoffPwa from "./handoff_pwa/index.js";
280
+ export * as consciousnessFork from "./consciousness_fork/index.js";
281
+ export * as truthSensorPack from "./truth_sensor_pack/index.js";
282
+ export * as toolBrowser from "./tool_browser/index.js";
277
283
  export * as wrapperGenesplicing from "./wrapper_genesplicing/index.js";
278
284
  export * as wrapperGenesis from "./wrapper_genesis/index.js";
279
285
  export * as dreamConsolidation from "./dream_consolidation/index.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
@@ -769,6 +769,20 @@ export * as hiveCourt from "./hive_court/index.js";
769
769
  // CRDT last-strongest-wins merge for mobile + laptop + desktop unified brain.
770
770
  // HMAC-signed envelopes + DIASPORA-shaped transport adapter.
771
771
  export * as synapseSync from "./synapse_sync/index.js";
772
+ // v2.19.32 BEACON HANDOFF — fresh-context QR transfer (parent → child device)
773
+ // - handoffSnapshot: pure-fn composer of conversation+git+activity envelope
774
+ // - pairCode: 6-char human-friendly + SAS emoji + one-shot lifecycle
775
+ // - handoffPwa: device-adaptive HTML PWA with Web Share + deep links
776
+ // - consciousnessFork: HMAC-chained parent/child fork lineage (wild axis)
777
+ export * as handoffSnapshot from "./handoff_snapshot/index.js";
778
+ export * as pairCode from "./pair_code/index.js";
779
+ export * as handoffPwa from "./handoff_pwa/index.js";
780
+ export * as consciousnessFork from "./consciousness_fork/index.js";
781
+ // v2.19.33 POLISH + DISCOVERABILITY (B1/B2/B3/B4 user-audit fixes)
782
+ // - truthSensorPack: default zero-config sensor stack for truth.check_multi
783
+ // - toolBrowser: paginated catalog browse + repo-aware tool suggest
784
+ export * as truthSensorPack from "./truth_sensor_pack/index.js";
785
+ export * as toolBrowser from "./tool_browser/index.js";
772
786
  // v2.19.9 — WRAPPER GENESPLICING (runtime chimera composition)
773
787
  // Splice N existing tools into a chimera with TTL + 3 composers
774
788
  // (sequential pipe / fan_out parallel / first_success cascade).