@rubytech/create-realagent 1.0.832 → 1.0.833

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 (74) hide show
  1. package/dist/index.js +131 -9
  2. package/package.json +1 -1
  3. package/payload/platform/lib/admins-write/dist/index.d.ts +87 -0
  4. package/payload/platform/lib/admins-write/dist/index.d.ts.map +1 -0
  5. package/payload/platform/lib/admins-write/dist/index.js +248 -0
  6. package/payload/platform/lib/admins-write/dist/index.js.map +1 -0
  7. package/payload/platform/lib/admins-write/src/index.ts +311 -0
  8. package/payload/platform/lib/admins-write/tsconfig.json +8 -0
  9. package/payload/platform/neo4j/migrations/009-conversation-archive-title.ts +197 -0
  10. package/payload/platform/neo4j/schema.cypher +1 -1
  11. package/payload/platform/package.json +2 -2
  12. package/payload/platform/plugins/admin/PLUGIN.md +1 -1
  13. package/payload/platform/plugins/admin/mcp/dist/index.js +37 -44
  14. package/payload/platform/plugins/admin/mcp/dist/index.js.map +1 -1
  15. package/payload/platform/plugins/docs/references/internals.md +4 -3
  16. package/payload/platform/plugins/memory/bin/conversation-archive-ingest.mjs +215 -43
  17. package/payload/platform/plugins/memory/bin/conversation-archive-ingest.sh +7 -2
  18. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/llm-classifier.test.js +75 -0
  19. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/llm-classifier.test.js.map +1 -1
  20. package/payload/platform/plugins/memory/mcp/dist/lib/llm-classifier.d.ts +16 -10
  21. package/payload/platform/plugins/memory/mcp/dist/lib/llm-classifier.d.ts.map +1 -1
  22. package/payload/platform/plugins/memory/mcp/dist/lib/llm-classifier.js +155 -100
  23. package/payload/platform/plugins/memory/mcp/dist/lib/llm-classifier.js.map +1 -1
  24. package/payload/platform/plugins/memory/mcp/dist/lib/llm-ranker.d.ts +13 -5
  25. package/payload/platform/plugins/memory/mcp/dist/lib/llm-ranker.d.ts.map +1 -1
  26. package/payload/platform/plugins/memory/mcp/dist/lib/llm-ranker.js +53 -59
  27. package/payload/platform/plugins/memory/mcp/dist/lib/llm-ranker.js.map +1 -1
  28. package/payload/platform/plugins/memory/mcp/dist/tools/memory-ingest.d.ts +24 -7
  29. package/payload/platform/plugins/memory/mcp/dist/tools/memory-ingest.d.ts.map +1 -1
  30. package/payload/platform/plugins/memory/mcp/dist/tools/memory-ingest.js +23 -5
  31. package/payload/platform/plugins/memory/mcp/dist/tools/memory-ingest.js.map +1 -1
  32. package/payload/platform/plugins/memory/skills/conversation-archive/SKILL.md +28 -8
  33. package/payload/platform/scripts/lib/resolve-account-dir.sh +3 -1
  34. package/payload/platform/scripts/migrate-import.sh +3 -1
  35. package/payload/platform/scripts/seed-neo4j.sh +13 -3
  36. package/payload/server/chunk-CRAIGEXY.js +654 -0
  37. package/payload/server/chunk-I2NOLBQA.js +2123 -0
  38. package/payload/server/chunk-IVTESKFR.js +9961 -0
  39. package/payload/server/chunk-KD3XP4IK.js +1116 -0
  40. package/payload/server/chunk-OJZPS4BL.js +367 -0
  41. package/payload/server/client-pool-J5BCVVI2.js +32 -0
  42. package/payload/server/cloudflare-task-tracker-XCUO4N74.js +19 -0
  43. package/payload/server/maxy-edge.js +6 -5
  44. package/payload/server/neo4j-migrations-5AN2U3YO.js +664 -0
  45. package/payload/server/public/assets/{admin-BNwPsMhJ.js → admin-CgGQafDG.js} +1 -1
  46. package/payload/server/public/assets/{graph-N_Bw-8oT.js → graph-BlrcvwWP.js} +1 -1
  47. package/payload/server/public/assets/{page-BKLGP-th.js → page-ClTUYMK8.js} +1 -1
  48. package/payload/server/public/graph.html +2 -2
  49. package/payload/server/public/index.html +2 -2
  50. package/payload/server/server.js +373 -167
  51. package/payload/platform/plugins/admin/mcp/dist/lib/review-tools.d.ts +0 -31
  52. package/payload/platform/plugins/admin/mcp/dist/lib/review-tools.d.ts.map +0 -1
  53. package/payload/platform/plugins/admin/mcp/dist/lib/review-tools.js +0 -666
  54. package/payload/platform/plugins/admin/mcp/dist/lib/review-tools.js.map +0 -1
  55. package/payload/platform/plugins/memory/mcp/dist/lib/semantic-chunker.d.ts +0 -61
  56. package/payload/platform/plugins/memory/mcp/dist/lib/semantic-chunker.d.ts.map +0 -1
  57. package/payload/platform/plugins/memory/mcp/dist/lib/semantic-chunker.js +0 -266
  58. package/payload/platform/plugins/memory/mcp/dist/lib/semantic-chunker.js.map +0 -1
  59. package/payload/platform/plugins/memory/mcp/dist/tools/whatsapp-export-insight-pass.d.ts +0 -27
  60. package/payload/platform/plugins/memory/mcp/dist/tools/whatsapp-export-insight-pass.d.ts.map +0 -1
  61. package/payload/platform/plugins/memory/mcp/dist/tools/whatsapp-export-insight-pass.js +0 -477
  62. package/payload/platform/plugins/memory/mcp/dist/tools/whatsapp-export-insight-pass.js.map +0 -1
  63. package/payload/platform/plugins/memory/mcp/dist/tools/whatsapp-export-insight-write.d.ts +0 -27
  64. package/payload/platform/plugins/memory/mcp/dist/tools/whatsapp-export-insight-write.d.ts.map +0 -1
  65. package/payload/platform/plugins/memory/mcp/dist/tools/whatsapp-export-insight-write.js +0 -160
  66. package/payload/platform/plugins/memory/mcp/dist/tools/whatsapp-export-insight-write.js.map +0 -1
  67. package/payload/platform/plugins/memory/mcp/dist/tools/whatsapp-export-parse.d.ts +0 -10
  68. package/payload/platform/plugins/memory/mcp/dist/tools/whatsapp-export-parse.d.ts.map +0 -1
  69. package/payload/platform/plugins/memory/mcp/dist/tools/whatsapp-export-parse.js +0 -29
  70. package/payload/platform/plugins/memory/mcp/dist/tools/whatsapp-export-parse.js.map +0 -1
  71. package/payload/platform/plugins/memory/mcp/dist/tools/whatsapp-export-preview.d.ts +0 -28
  72. package/payload/platform/plugins/memory/mcp/dist/tools/whatsapp-export-preview.d.ts.map +0 -1
  73. package/payload/platform/plugins/memory/mcp/dist/tools/whatsapp-export-preview.js +0 -34
  74. package/payload/platform/plugins/memory/mcp/dist/tools/whatsapp-export-preview.js.map +0 -1
@@ -3,9 +3,10 @@
3
3
  *
4
4
  * Given a pool of candidate entities (from memory-search) and a natural-language
5
5
  * ranking criterion, returns a ranked ordering with per-item reasoning. When the
6
- * LLM is unavailable (no API key, network error, malformed response, or all
7
- * hallucinated nodeIds), returns a fallback reason that callers use to produce
8
- * an unranked result with a visible "[Ranking unavailable: ...]" notice.
6
+ * LLM is unavailable (missing OAuth credentials, network error, schema-violating
7
+ * `tool_use.input`, or all hallucinated nodeIds), returns an error reason that
8
+ * callers use to produce an unranked result with a visible
9
+ * "[Ranking unavailable: ...]" notice.
9
10
  *
10
11
  * Trust boundary: the `criteria` string comes from an agent (admin, public, or
11
12
  * workflow). The system prompt explicitly sandboxes it as a ranking directive —
@@ -13,8 +14,13 @@
13
14
  * same pattern as email/screening.ts.
14
15
  *
15
16
  * Hallucination defence: Haiku only sees nodeIds from the candidate pool, and
16
- * the parser discards any nodeId in its response that is not in the input set.
17
- * If all rankings are hallucinated, we fall back.
17
+ * the post-validator discards any nodeId in its response that is not in the
18
+ * input set. If all rankings are hallucinated, we return an error.
19
+ *
20
+ * Output is structured by construction: forced tool-use against
21
+ * `RankerOutputTool.input_schema` so Anthropic validates the response shape at
22
+ * the API boundary. Markdown-fence and malformed-JSON failure modes are
23
+ * impossible under this contract.
18
24
  */
19
25
  import { callOauthLlm } from "../../../../../lib/oauth-llm/dist/index.js";
20
26
  import { HAIKU_MODEL } from "../../../../../lib/models/dist/index.js";
@@ -35,9 +41,37 @@ Rules:
35
41
  - Only use nodeIds from the candidate list. Never invent a nodeId.
36
42
  - The "rank" field is 1-indexed where 1 = most important. Lower numbers rank higher.
37
43
  - Keep each "reasoning" string short (one sentence, under 300 characters). Ground it in properties or relationships from the candidate — do not invent facts.
38
- - Respond with ONLY a JSON object in this exact shape, no prose, no markdown fences:
39
- {"rankings": [{"nodeId": "...", "rank": 1, "reasoning": "..."}, ...]}
40
- - If no candidate meaningfully matches the criterion, return {"rankings": []}.`;
44
+ - If no candidate meaningfully matches the criterion, return an empty rankings array.
45
+ - Call the \`emit_ranker_output\` tool with the structured ranking. Do not emit any text response.`;
46
+ // ---------------------------------------------------------------------------
47
+ // Task 898 — structured tool-use schema for the ranker.
48
+ //
49
+ // Forces Haiku to emit rankings as `tool_use.input` matching this schema.
50
+ // Anthropic validates structurally; the post-validator handles semantic
51
+ // constraints (nodeId membership in the candidate pool, dedup, capping).
52
+ // ---------------------------------------------------------------------------
53
+ export const RankerOutputTool = {
54
+ name: "emit_ranker_output",
55
+ description: "Emit the structured entity ranking — rankings[] of nodeId + 1-indexed rank + short reasoning grounded in candidate properties.",
56
+ input_schema: {
57
+ type: "object",
58
+ required: ["rankings"],
59
+ properties: {
60
+ rankings: {
61
+ type: "array",
62
+ items: {
63
+ type: "object",
64
+ required: ["nodeId", "rank", "reasoning"],
65
+ properties: {
66
+ nodeId: { type: "string" },
67
+ rank: { type: "number" },
68
+ reasoning: { type: "string", maxLength: REASONING_MAX_CHARS },
69
+ },
70
+ },
71
+ },
72
+ },
73
+ },
74
+ };
41
75
  // ---------------------------------------------------------------------------
42
76
  // Helpers
43
77
  // ---------------------------------------------------------------------------
@@ -74,25 +108,6 @@ function formatCandidates(candidates) {
74
108
  });
75
109
  return JSON.stringify(items, null, 2);
76
110
  }
77
- /**
78
- * Strip a balanced markdown fence (Task 897 sub-scope G):
79
- * { kind: "ok", json } when the text was bare JSON or fully fenced.
80
- * { kind: "truncated", reason } when the text opens a fence but never closes
81
- * it — the structural fingerprint of `max_tokens` mid-response.
82
- */
83
- function extractJson(raw) {
84
- const trimmed = raw.trim();
85
- const balanced = trimmed.match(/^```(?:json)?\s*([\s\S]*?)```$/);
86
- if (balanced)
87
- return { kind: "ok", json: balanced[1].trim() };
88
- if (/^```(?:json)?/.test(trimmed) && !/```\s*$/.test(trimmed)) {
89
- return {
90
- kind: "truncated",
91
- reason: "response-truncated: opening ``` fence with no closing — model likely hit max_tokens mid-response",
92
- };
93
- }
94
- return { kind: "ok", json: trimmed };
95
- }
96
111
  /** Cap a reasoning string at REASONING_MAX_CHARS, preserving a trailing ellipsis. */
97
112
  function capReasoning(reasoning) {
98
113
  const cleaned = reasoning.trim();
@@ -138,50 +153,29 @@ export async function rankCandidates(candidates, criteria, accountId) {
138
153
  "Return the JSON object now.",
139
154
  ].join("\n");
140
155
  process.stderr.write(`[memory-rank] [${accountId}] calling haiku (candidates=${candidates.length})\n`);
156
+ // Task 898 — forced tool-use for structured output. Anthropic validates
157
+ // `tool_use.input` against `RankerOutputTool.input_schema` at the API
158
+ // boundary, removing the markdown-fence / malformed-JSON / truncated-fence
159
+ // failure modes by construction.
141
160
  const llmResult = await callOauthLlm({
142
161
  model: HAIKU_MODEL,
143
162
  system: SYSTEM_PROMPT,
144
163
  userMessage,
145
164
  maxTokens: MAX_OUTPUT_TOKENS,
165
+ tools: [RankerOutputTool],
166
+ toolChoiceName: RankerOutputTool.name,
146
167
  });
147
168
  if (llmResult.kind === "fallback") {
148
169
  logError(accountId, `${llmResult.cause}: ${llmResult.reason}`);
149
170
  return { kind: "error", reason: llmResult.reason };
150
171
  }
151
- const responseText = llmResult.text;
152
172
  const stopReason = llmResult.stopReason ?? "(unknown)";
153
173
  const outputTokens = llmResult.outputTokens ?? -1;
154
- // --- Parse response ---
155
- // Task 897 sub-scope G one-sided fence = truncation fingerprint.
156
- const fence = extractJson(responseText);
157
- if (fence.kind === "truncated") {
158
- logError(accountId, `${fence.reason} stop-reason=${stopReason} output-tokens=${outputTokens} len=${responseText.length}`);
159
- return { kind: "error", reason: "Haiku response truncated mid-fence (likely max_tokens hit)" };
160
- }
161
- const jsonText = fence.json;
162
- let parsed;
163
- try {
164
- parsed = JSON.parse(jsonText);
165
- }
166
- catch (err) {
167
- // Task 896 clause 5: mirrors llm-classifier — diagnostic payload on parse
168
- // failure (parser message, raw length, fence-stripped flag, head + tail
169
- // of the pre-strip text) so malformed JSON names its actual cause.
170
- const message = err instanceof Error ? err.message : String(err);
171
- const fenceStripped = jsonText !== responseText;
172
- logError(accountId, `malformed JSON: parse-error=${JSON.stringify(message)} len=${responseText.length} fence-stripped=${fenceStripped} ` +
173
- `pre-strip-head=${JSON.stringify(responseText.slice(0, 200))} ` +
174
- `pre-strip-tail=${JSON.stringify(responseText.slice(-200))}`);
175
- return { kind: "error", reason: "Haiku returned malformed JSON" };
176
- }
177
- if (typeof parsed !== "object" ||
178
- parsed === null ||
179
- !("rankings" in parsed) ||
180
- !Array.isArray(parsed.rankings)) {
181
- logError(accountId, "schema mismatch (missing rankings array)");
182
- return { kind: "error", reason: "invalid response schema" };
183
- }
184
- const rawRankings = parsed.rankings;
174
+ process.stderr.write(`[memory-rank] [${accountId}] structured-output ok stop-reason=${stopReason} output-tokens=${outputTokens}\n`);
175
+ // Schema enforces `rankings: array<...>`, so the structural shape is
176
+ // guaranteed. The post-validator below handles semantic constraints —
177
+ // nodeId membership in the candidate pool, dedup, and reasoning cap.
178
+ const rawRankings = Array.isArray(llmResult.input.rankings) ? llmResult.input.rankings : [];
185
179
  const validNodeIds = new Set(candidates.map((c) => c.nodeId));
186
180
  const seenNodeIds = new Set();
187
181
  const rankings = [];
@@ -1 +1 @@
1
- {"version":3,"file":"llm-ranker.js","sourceRoot":"","sources":["../../src/lib/llm-ranker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"llm-ranker.js","sourceRoot":"","sources":["../../src/lib/llm-ranker.ts"],"names":[],"mappings":"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"}
@@ -72,14 +72,25 @@ export interface IngestParams {
72
72
  /** Task 900 sub-scope E — per-session checkpointing.
73
73
  *
74
74
  * When the bin calls `memoryIngest` once per session (instead of once per
75
- * archive), the cleanup-by-archiveSha256 step at line ~976 must run only on
76
- * the FIRST session of a run. Otherwise session N+1's call would delete
77
- * session N's just-written chunks (same conversationIdentity + same
78
- * archiveSha256). Default `true` preserves the pre-Task-900 single-call
79
- * contract for any non-bin caller; the conversation-archive bin sets this
80
- * to `(sessionIndex === 0)`. Has no effect when
81
- * parentLabel='KnowledgeDocument'. */
75
+ * archive), the cleanup-by-archiveSha256 step must run only on the FIRST
76
+ * session of a run. Otherwise session N+1's call would delete session N's
77
+ * just-written chunks (same conversationIdentity + same archiveSha256).
78
+ *
79
+ * Task 902 sub-scope B — additionally gated on the bin's `--rebuild`
80
+ * flag. Without `--rebuild`, re-issuing the bin on the same export bytes
81
+ * is a no-op; the bin sets `cleanupPriorChunks=false` for every session.
82
+ * With `--rebuild`, the bin sets `cleanupPriorChunks=true` only on the
83
+ * first session. Has no effect when parentLabel='KnowledgeDocument'. */
82
84
  cleanupPriorChunks?: boolean;
85
+ /** Task 902 sub-scope A — stable title for `:ConversationArchive`.
86
+ * Computed once per ingest by the bin from `(source, ownerName,
87
+ * otherParticipantNames, firstMessageAt, lastMessageAt)`. Written ON
88
+ * CREATE; on MATCH the existing `title` is preserved (COALESCE) so
89
+ * re-ingests never overwrite a stable label. UI display-helpers prefers
90
+ * `title` over `summary` for :ConversationArchive — the per-session
91
+ * counter strings that used to lock `summary` to "Session 1/N: …" are
92
+ * gone. Has no effect when parentLabel='KnowledgeDocument'. */
93
+ archiveTitle?: string;
83
94
  }
84
95
  /** Per-kind count breakdown the writer returns to the skill. */
85
96
  export interface KindBreakdown {
@@ -107,6 +118,12 @@ export interface IngestResult {
107
118
  orphanCandidates: OrphanCandidate[];
108
119
  documentSummary: string;
109
120
  keywords?: string[];
121
+ /** Task 902 sub-scope E — count of prior :Section:Conversation chunks
122
+ * deleted by the cleanup-by-archiveSha256 step. Always 0 unless the
123
+ * caller passed `cleanupPriorChunks=true`. The bin surfaces this as a
124
+ * heartbeat WARN line so a destructive `--rebuild` is operator-visible
125
+ * (defence-in-depth — `--rebuild` is the only legitimate trigger). */
126
+ cleanedPriorChunks?: number;
110
127
  }
111
128
  export declare function memoryIngest(params: IngestParams): Promise<IngestResult>;
112
129
  //# sourceMappingURL=memory-ingest.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"memory-ingest.d.ts","sourceRoot":"","sources":["../../src/tools/memory-ingest.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,iBAAiB,EAEjB,gBAAgB,EAChB,eAAe,EAChB,MAAM,0BAA0B,CAAC;AAQlC,OAAO,EAAwB,KAAK,kBAAkB,EAAE,MAAM,0CAA0C,CAAC;AAiDzG,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB;;;;;;OAMG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,mBAAmB,GAAG,qBAAqB,CAAC;IAC1D,eAAe,EAAE,MAAM,CAAC;IACxB;;;;;OAKG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB,+EAA+E;IAC/E,WAAW,EAAE,MAAM,CAAC;IACpB,8DAA8D;IAC9D,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B,qEAAqE;IACrE,aAAa,CAAC,EAAE,gBAAgB,CAAC,eAAe,CAAC,CAAC;IAClD,mFAAmF;IACnF,gBAAgB,CAAC,EAAE,eAAe,EAAE,CAAC;IACrC,wDAAwD;IACxD,KAAK,EAAE,MAAM,CAAC;IACd,uEAAuE;IACvE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6DAA6D;IAC7D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2DAA2D;IAC3D,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,yFAAyF;IACzF,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,4CAA4C;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAC;IAOnB;;oEAEgE;IAChE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;mDAC+C;IAC/C,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;sBAEkB;IAClB,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC;yFACqF;IACrF,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B;;qCAEiC;IACjC,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;IACjC;;;;6EAIyE;IACzE,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B;;;;;;;;;2CASuC;IACvC,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,gEAAgE;AAChE,MAAM,WAAW,aAAa;IAC5B,8EAA8E;IAC9E,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;CACxB;AAED,sDAAsD;AACtD,MAAM,WAAW,aAAa;IAC5B,+EAA+E;IAC/E,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,YAAY;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,oCAAoC;IACpC,YAAY,EAAE,MAAM,CAAC;IACrB,+EAA+E;IAC/E,aAAa,EAAE,aAAa,CAAC;IAC7B,mFAAmF;IACnF,aAAa,EAAE,aAAa,CAAC;IAC7B,8EAA8E;IAC9E,YAAY,EAAE,MAAM,CAAC;IACrB,0CAA0C;IAC1C,eAAe,EAAE,MAAM,CAAC;IACxB,kFAAkF;IAClF,gBAAgB,EAAE,eAAe,EAAE,CAAC;IACpC,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAuDD,wBAAsB,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CAmY9E"}
1
+ {"version":3,"file":"memory-ingest.d.ts","sourceRoot":"","sources":["../../src/tools/memory-ingest.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,iBAAiB,EAEjB,gBAAgB,EAChB,eAAe,EAChB,MAAM,0BAA0B,CAAC;AAQlC,OAAO,EAAwB,KAAK,kBAAkB,EAAE,MAAM,0CAA0C,CAAC;AAiDzG,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB;;;;;;OAMG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,mBAAmB,GAAG,qBAAqB,CAAC;IAC1D,eAAe,EAAE,MAAM,CAAC;IACxB;;;;;OAKG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB,+EAA+E;IAC/E,WAAW,EAAE,MAAM,CAAC;IACpB,8DAA8D;IAC9D,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B,qEAAqE;IACrE,aAAa,CAAC,EAAE,gBAAgB,CAAC,eAAe,CAAC,CAAC;IAClD,mFAAmF;IACnF,gBAAgB,CAAC,EAAE,eAAe,EAAE,CAAC;IACrC,wDAAwD;IACxD,KAAK,EAAE,MAAM,CAAC;IACd,uEAAuE;IACvE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6DAA6D;IAC7D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2DAA2D;IAC3D,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,yFAAyF;IACzF,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,4CAA4C;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAC;IAOnB;;oEAEgE;IAChE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;mDAC+C;IAC/C,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;sBAEkB;IAClB,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC;yFACqF;IACrF,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B;;qCAEiC;IACjC,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;IACjC;;;;6EAIyE;IACzE,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B;;;;;;;;;;;6EAWyE;IACzE,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B;;;;;;;oEAOgE;IAChE,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,gEAAgE;AAChE,MAAM,WAAW,aAAa;IAC5B,8EAA8E;IAC9E,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;CACxB;AAED,sDAAsD;AACtD,MAAM,WAAW,aAAa;IAC5B,+EAA+E;IAC/E,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,YAAY;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,oCAAoC;IACpC,YAAY,EAAE,MAAM,CAAC;IACrB,+EAA+E;IAC/E,aAAa,EAAE,aAAa,CAAC;IAC7B,mFAAmF;IACnF,aAAa,EAAE,aAAa,CAAC;IAC7B,8EAA8E;IAC9E,YAAY,EAAE,MAAM,CAAC;IACrB,0CAA0C;IAC1C,eAAe,EAAE,MAAM,CAAC;IACxB,kFAAkF;IAClF,gBAAgB,EAAE,eAAe,EAAE,CAAC;IACpC,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB;;;;2EAIuE;IACvE,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAuDD,wBAAsB,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CAmY9E"}
@@ -561,7 +561,14 @@ async function writeRelatedNode(opts) {
561
561
  const CHAT_PROVENANCE_AGENT = "conversation-archive";
562
562
  async function ingestConversationArchive(params) {
563
563
  const { accountId, attachmentId: conversationIdentity, // semantic rename per parentLabel
564
- documentSummary, sections, scope, documentKeywords: rawDocKeywords, userKeywords: rawUserKeywords, sessionId, archiveSha256, archiveSourceFile, lastIngestedMessageHash, lastIngestedMessageAt, participantElementIds = [], source, cleanupPriorChunks = true, } = params;
564
+ documentSummary, sections, scope, documentKeywords: rawDocKeywords, userKeywords: rawUserKeywords, sessionId, archiveSha256, archiveSourceFile, lastIngestedMessageHash, lastIngestedMessageAt, participantElementIds = [], source,
565
+ // Task 902 sub-scope B — default `false` is the non-destructive contract.
566
+ // The Task 894 bin previously defaulted this to `true` (cleanup-on-every-
567
+ // run-by-archiveSha256), which combined with `--session-gap-hours` to
568
+ // silently destroy 138 chunks during the Adam Mackay re-gap. Default
569
+ // `false` means cleanup never fires unless the caller explicitly opts in;
570
+ // the bin only opts in under `--rebuild` AND on the first session.
571
+ cleanupPriorChunks = false, archiveTitle, } = params;
565
572
  if (!scope) {
566
573
  throw new Error("scope is required");
567
574
  }
@@ -604,9 +611,16 @@ async function ingestConversationArchive(params) {
604
611
  // 2. MERGE :ConversationArchive on conversationIdentity. ON CREATE stamps
605
612
  // immutable identity props; ON MATCH bumps the cursor + last-ingest
606
613
  // timestamps so the next delta-append run finds the right point.
614
+ //
615
+ // Task 902 sub-scope A — `a.title` is the stable label for the parent.
616
+ // ON CREATE sets it; ON MATCH uses COALESCE so an existing title is
617
+ // NEVER overwritten (re-ingests must produce the same title anyway,
618
+ // but the COALESCE makes the contract explicit). UI prefers `title`
619
+ // via display-helpers' :ConversationArchive branch.
607
620
  const archiveResult = await dbSession.run(`MERGE (a:ConversationArchive { conversationIdentity: $conversationIdentity })
608
621
  ON CREATE SET a.accountId = $accountId,
609
622
  a.scope = $scope,
623
+ a.title = $archiveTitle,
610
624
  a.summary = $documentSummary,
611
625
  a.keywords = $keywords,
612
626
  a.embedding = $archiveEmbedding,
@@ -616,6 +630,7 @@ async function ingestConversationArchive(params) {
616
630
  a.createdByAgent = $createdByAgent,
617
631
  a.source = $source
618
632
  SET a.updatedAt = $updatedAt,
633
+ a.title = COALESCE(a.title, $archiveTitle),
619
634
  a.lastIngestedMessageHash = $lastIngestedMessageHash,
620
635
  a.lastIngestedMessageAt = $lastIngestedMessageAt,
621
636
  a.lastIngestedBySession = $sessionId,
@@ -624,6 +639,7 @@ async function ingestConversationArchive(params) {
624
639
  conversationIdentity,
625
640
  accountId,
626
641
  scope,
642
+ archiveTitle: archiveTitle ?? null,
627
643
  documentSummary,
628
644
  keywords: keywords ?? [],
629
645
  archiveEmbedding,
@@ -648,18 +664,19 @@ async function ingestConversationArchive(params) {
648
664
  // E: skipped on per-session calls after the first, or this would
649
665
  // delete the chunks that earlier sessions in the same run just wrote
650
666
  // (matching conversationIdentity + matching archiveSha256).
667
+ let cleanedPriorChunks = 0;
651
668
  if (cleanupPriorChunks) {
652
669
  const cleanup = await dbSession.run(`MATCH (a:ConversationArchive { conversationIdentity: $conversationIdentity })
653
670
  -[hs:HAS_SECTION]->(c:Section:Conversation { archiveSha256: $archiveSha256 })
654
671
  DETACH DELETE c
655
672
  RETURN count(c) AS removed`, { conversationIdentity, archiveSha256 });
656
- const removed = cleanup.records[0]?.get("removed")?.toNumber?.() ?? 0;
657
- if (removed > 0) {
658
- log("cleanup", `dropped ${removed} prior chunks for this archiveSha256`);
673
+ cleanedPriorChunks = cleanup.records[0]?.get("removed")?.toNumber?.() ?? 0;
674
+ if (cleanedPriorChunks > 0) {
675
+ log("cleanup", `dropped ${cleanedPriorChunks} prior chunks for this archiveSha256`);
659
676
  }
660
677
  }
661
678
  else {
662
- log("cleanup-skipped", `cleanupPriorChunks=false (per-session call after the first)`);
679
+ log("cleanup-skipped", `cleanupPriorChunks=false (default non-destructive contract only --rebuild's first session sets true)`);
663
680
  }
664
681
  // 4. Find existing tail of NEXT chain (if any). Delta-append wires the
665
682
  // new first chunk after this tail; first-ever ingest finds nothing.
@@ -781,6 +798,7 @@ async function ingestConversationArchive(params) {
781
798
  orphanCandidates: [],
782
799
  documentSummary,
783
800
  keywords,
801
+ cleanedPriorChunks,
784
802
  };
785
803
  }
786
804
  finally {
@@ -1 +1 @@
1
- {"version":3,"file":"memory-ingest.js","sourceRoot":"","sources":["../../src/tools/memory-ingest.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,8CAA8C,CAAC;AAO3E,OAAO,EACL,sBAAsB,EACtB,wBAAwB,EACxB,sBAAsB,EACtB,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,oBAAoB,EAA2B,MAAM,0CAA0C,CAAC;AAEzG,8EAA8E;AAC9E,8EAA8E;AAC9E,kBAAkB;AAClB,EAAE;AACF,6EAA6E;AAC7E,wFAAwF;AACxF,6FAA6F;AAC7F,uFAAuF;AACvF,yFAAyF;AACzF,6FAA6F;AAC7F,2FAA2F;AAC3F,EAAE;AACF,6EAA6E;AAC7E,0EAA0E;AAC1E,0EAA0E;AAC1E,sEAAsE;AACtE,gEAAgE;AAChE,EAAE;AACF,2DAA2D;AAC3D,gGAAgG;AAChG,6FAA6F;AAC7F,EAAE;AACF,+EAA+E;AAC/E,yEAAyE;AACzE,iCAAiC;AACjC,EAAE;AACF,mEAAmE;AACnE,yEAAyE;AACzE,0BAA0B;AAC1B,8EAA8E;AAE9E,MAAM,cAAc,GAAG,GAAG,CAAC;AAC3B,MAAM,gBAAgB,GAAG,iBAAiB,CAAC;AAC3C,MAAM,iBAAiB,GAAG,UAAU,CAAC;AAErC,yEAAyE;AACzE,MAAM,kBAAkB,GAAwB,IAAI,GAAG,CAAC,sBAAsB,CAAC,CAAC;AAChF,oEAAoE;AACpE,MAAM,oBAAoB,GAAwB,IAAI,GAAG,CAAC,qBAAqB,CAAC,CAAC;AACjF,0EAA0E;AAC1E,MAAM,mBAAmB,GAAwB,IAAI,GAAG,CAAC;IACvD,GAAG,sBAAsB;IACzB,GAAG,wBAAwB;IAC3B,GAAG,sBAAsB;IACzB,kBAAkB;CACnB,CAAC,CAAC;AAwHH,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E,SAAS,iBAAiB,CAAC,GAAyB;IAClD,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACxC,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AAChE,CAAC;AAED;;;;GAIG;AACH,SAAS,WAAW,CAAC,IAAY,EAAE,UAAmC;IACpE,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,cAAc;YACjB,OAAO,OAAO,UAAU,CAAC,IAAI,KAAK,QAAQ,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE;gBAClE,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAG,UAAU,CAAC,IAAe,CAAC,IAAI,EAAE,EAAE;gBAC5D,CAAC,CAAC,IAAI,CAAC;QACX,KAAK,QAAQ;YACX,IAAI,OAAO,UAAU,CAAC,KAAK,KAAK,QAAQ,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;gBACpE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAG,UAAU,CAAC,KAAgB,CAAC,IAAI,EAAE,EAAE,CAAC;YACtE,CAAC;YACD,IAAI,OAAO,UAAU,CAAC,SAAS,KAAK,QAAQ,IAAI,UAAU,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC;gBAC5E,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,EAAG,UAAU,CAAC,SAAoB,CAAC,IAAI,EAAE,EAAE,CAAC;YAC9E,CAAC;YACD,OAAO,IAAI,CAAC;QACd,KAAK,aAAa;YAChB,OAAO,OAAO,UAAU,CAAC,IAAI,KAAK,QAAQ,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE;gBAClE,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAG,UAAU,CAAC,IAAe,CAAC,IAAI,EAAE,EAAE;gBAC5D,CAAC,CAAC,IAAI,CAAC;QACX,KAAK,YAAY;YACf,OAAO,OAAO,UAAU,CAAC,IAAI,KAAK,QAAQ,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE;gBAClE,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAG,UAAU,CAAC,IAAe,CAAC,IAAI,EAAE,EAAE;gBAC5D,CAAC,CAAC,IAAI,CAAC;QACX;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,SAAwB,EAAE,IAAY;IACtD,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;AAC/C,CAAC;AAED,SAAS,QAAQ,CAAC,SAAwB,EAAE,QAAgB;IAC1D,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;AACvD,CAAC;AAED,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,MAAoB;IACrD,2EAA2E;IAC3E,6EAA6E;IAC7E,8DAA8D;IAC9D,yEAAyE;IACzE,+DAA+D;IAC/D,IAAI,MAAM,CAAC,WAAW,KAAK,qBAAqB,EAAE,CAAC;QACjD,OAAO,yBAAyB,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC;IAED,MAAM,EACJ,SAAS,EACT,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,WAAW,EACX,QAAQ,EACR,aAAa,GAAG,EAAE,EAClB,gBAAgB,GAAG,EAAE,EACrB,KAAK,EACL,SAAS,EACT,UAAU,EACV,gBAAgB,EAAE,cAAc,EAChC,YAAY,EAAE,eAAe,EAC7B,SAAS,GACV,GAAG,MAAM,CAAC;IAEX,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,oFAAoF,CAAC,CAAC;IACxG,CAAC;IACD,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,8GAA8G,CAAC,CAAC;IAClI,CAAC;IACD,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;IAC/E,CAAC;IAED,MAAM,QAAQ,GAAG,CAAC,GAAG,EAAE;QACrB,MAAM,CAAC,GAAG,iBAAiB,CAAC,eAAe,CAAC,CAAC;QAC7C,MAAM,CAAC,GAAG,iBAAiB,CAAC,cAAc,CAAC,CAAC;QAC5C,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QACvD,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,EAAE,CAAC;IAEL,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACtB,MAAM,GAAG,GAAG,CAAC,KAAa,EAAE,MAAe,EAAE,EAAE,CAC7C,OAAO,CAAC,KAAK,CACX,oBAAoB,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAC/G,CAAC;IAEJ,GAAG,CAAC,OAAO,EAAE,GAAG,QAAQ,CAAC,MAAM,oBAAoB,KAAK,YAAY,WAAW,EAAE,CAAC,CAAC;IAEnF,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAC9C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CACb,2CAA2C,YAAY,KAAK;YAC1D,mCAAmC,CACtC,CAAC;IACJ,CAAC;IACD,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IAElC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;IACtC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAErC,+DAA+D;IAC/D,MAAM,YAAY,GAAa,CAAC,eAAe,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACjF,GAAG,CAAC,WAAW,EAAE,GAAG,YAAY,CAAC,MAAM,QAAQ,CAAC,CAAC;IACjD,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,YAAY,CAAC,CAAC;IAClD,GAAG,CAAC,UAAU,EAAE,GAAG,UAAU,CAAC,MAAM,UAAU,CAAC,CAAC;IAChD,MAAM,YAAY,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IAEnC,MAAM,SAAS,GAAG,UAAU,EAAE,CAAC;IAC/B,IAAI,cAAc,GAAG,EAAE,CAAC;IACxB,MAAM,aAAa,GAAkB,EAAE,CAAC;IACxC,MAAM,aAAa,GAAkB,EAAE,CAAC;IACxC,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,eAAe,GAAG,CAAC,CAAC;IAExB,IAAI,CAAC;QACH,yEAAyE;QACzE,8DAA8D;QAC9D,MAAM,UAAU,GAAG,MAAM,SAAS,CAAC,GAAG,CACpC;;;;0CAIoC,EACpC,EAAE,SAAS,EAAE,YAAY,EAAE,CAC5B,CAAC;QACF,IAAI,UAAU,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAW,CAAC;YACvD,MAAM,WAAW,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;YACrE,GAAG,CAAC,SAAS,EAAE,gDAAgD,GAAG,EAAE,CAAC,CAAC;QACxE,CAAC;QAED,qEAAqE;QACrE,uEAAuE;QACvE,mEAAmE;QACnE,MAAM,YAAY,GAAa,EAAE,CAAC;QAClC,MAAM,cAAc,GAA4B,EAAE,CAAC;QACnD,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,YAAY,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;YAC9C,cAAc,CAAC,SAAS,GAAG,SAAS,CAAC;QACvC,CAAC;QACD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,YAAY,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;YAChD,cAAc,CAAC,UAAU,GAAG,UAAU,CAAC;QACzC,CAAC;QACD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,YAAY,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;YAC5C,cAAc,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACrC,CAAC;QACD,MAAM,iBAAiB,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAExF,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,GAAG,CACnC;;;;;;;;;;aAUO,iBAAiB;;qCAEO,EAC/B;YACE,YAAY;YACZ,SAAS;YACT,QAAQ;YACR,QAAQ;YACR,eAAe;YACf,YAAY,EAAE,QAAQ,CAAC,MAAM;YAC7B,KAAK;YACL,SAAS,EAAE,YAAY;YACvB,SAAS,EAAE,GAAG;YACd,SAAS,EAAE,GAAG;YACd,GAAG,cAAc;SAClB,CACF,CAAC;QACF,cAAc,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAW,CAAC;QAC9D,OAAO,CAAC,KAAK,CACX,0CAA0C,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,iBAAiB,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,UAAU,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CACnJ,CAAC;QAEF,0EAA0E;QAC1E,sEAAsE;QACtE,gFAAgF;QAChF,MAAM,OAAO,GAAG,MAAM,sBAAsB,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QACtE,IAAI,OAAO,CAAC,QAAQ,GAAG,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,KAAK,GAAG,CAAC,IAAI,OAAO,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC;YAC9F,GAAG,CACD,SAAS,EACT,WAAW,OAAO,CAAC,QAAQ,cAAc,OAAO,CAAC,MAAM,YAAY,OAAO,CAAC,KAAK,WAAW,OAAO,CAAC,UAAU,aAAa,CAC3H,CAAC;QACJ,CAAC;QAED,0EAA0E;QAC1E,4DAA4D;QAC5D,IAAI,iBAAiB,GAAkB,IAAI,CAAC;QAE5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC5B,MAAM,aAAa,GAAG,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,qCAAqC;YAE9E,MAAM,SAAS,GAAG;gBAChB,SAAS;gBACT,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC;gBAClD,QAAQ,EAAE,CAAC;gBACX,KAAK;gBACL,SAAS,EAAE,aAAa;gBACxB,SAAS,EAAE,GAAG;gBACd,SAAS,EAAE,GAAG;gBACd,cAAc,EAAE,gBAAgB;gBAChC,eAAe,EAAE,gBAAgB;gBACjC,gBAAgB,EAAE,SAAS,IAAI,EAAE;gBACjC,MAAM,EAAE,iBAAiB;gBACzB,gBAAgB,EAAE,YAAY;aAC/B,CAAC;YAEF,2EAA2E;YAC3E,IAAI,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC3C,MAAM,YAAY,GAAG,MAAM,mBAAmB,CAC5C,SAAS,EACT,OAAO,EACP,SAAS,EACT,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,SAAS,IAAI,EAAE,EACf,GAAG,CACJ,CAAC;gBACF,eAAe,IAAI,CAAC,CAAC;gBACrB,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;gBACtC,IAAI,OAAO,CAAC,UAAU;oBAAE,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;gBACzE,iBAAiB,GAAG,IAAI,CAAC,CAAC,sCAAsC;gBAChE,oEAAoE;gBACpE,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAClD,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;wBACtC,MAAM,mBAAmB,CACvB,SAAS,EACT,YAAY,EACZ,OAAO,EACP,SAAS,EACT,GAAG,EACH,SAAS,IAAI,EAAE,EACf,YAAY,CACb,CAAC;wBACF,YAAY,IAAI,CAAC,CAAC;wBAClB,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC7C,CAAC;gBACH,CAAC;gBACD,SAAS;YACX,CAAC;YAED,6EAA6E;YAC7E,0CAA0C;YAC1C,MAAM,kBAAkB,GAAG,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACjE,MAAM,aAAa,GAAG,kBAAkB,IAAI,OAAO,CAAC,IAAI,KAAK,kBAAkB;gBAC7E,CAAC,CAAC,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC;gBAC3B,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,kBAAkB;oBACnC,CAAC,CAAC,CAAC,SAAS,EAAE,OAAO,CAAC;oBACtB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,0DAA0D;YAE7E,wEAAwE;YACxE,+DAA+D;YAC/D,gEAAgE;YAChE,MAAM,YAAY,GAA4B;gBAC5C,GAAG,OAAO,CAAC,UAAU;gBACrB,GAAG,SAAS;gBACZ,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,kBAAkB,IAAI,OAAO,CAAC,gBAAgB;oBACjE,CAAC,CAAC,EAAE,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,EAAE;oBAChD,CAAC,CAAC,EAAE,CAAC;aACR,CAAC;YAEF,MAAM,WAAW,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACnE,MAAM,aAAa,GAAG,MAAM,SAAS,CAAC,GAAG,CACvC,aAAa,WAAW;;;;;;;;;;uCAUO,EAC/B;gBACE,KAAK,EAAE,YAAY;gBACnB,KAAK,EAAE,cAAc;gBACrB,cAAc,EAAE,gBAAgB;gBAChC,gBAAgB,EAAE,SAAS,IAAI,EAAE;gBACjC,MAAM,EAAE,iBAAiB;gBACzB,gBAAgB,EAAE,YAAY;gBAC9B,SAAS,EAAE,GAAG;aACf,CACF,CAAC;YACF,MAAM,SAAS,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAW,CAAC;YACnE,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;YACtC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;YAEvC,mCAAmC;YACnC,IAAI,iBAAiB,EAAE,CAAC;gBACtB,MAAM,SAAS,CAAC,GAAG,CACjB;;;;;;;+CAOqC,EACrC;oBACE,IAAI,EAAE,iBAAiB;oBACvB,GAAG,EAAE,SAAS;oBACd,cAAc,EAAE,gBAAgB;oBAChC,gBAAgB,EAAE,SAAS,IAAI,EAAE;oBACjC,MAAM,EAAE,iBAAiB;oBACzB,gBAAgB,EAAE,YAAY;oBAC9B,SAAS,EAAE,GAAG;iBACf,CACF,CAAC;gBACF,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;YAClC,CAAC;YACD,iBAAiB,GAAG,SAAS,CAAC;YAE9B,qEAAqE;YACrE,0CAA0C;YAC1C,IAAI,OAAO,CAAC,UAAU,IAAI,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC/D,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC;gBAC/C,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;gBACzC,MAAM,SAAS,GAAG;oBAChB,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,UAAU,IAAI,EAAE,CAAC;oBACxC,cAAc,EAAE,gBAAgB;oBAChC,gBAAgB,EAAE,SAAS,IAAI,EAAE;oBACjC,MAAM,EAAE,iBAAiB;oBACzB,gBAAgB,EAAE,YAAY;oBAC9B,SAAS,EAAE,GAAG;iBACf,CAAC;gBACF,MAAM,MAAM,GAAG,SAAS,KAAK,aAAa;oBACxC,CAAC,CAAC,cAAc,WAAW;;kCAEH,QAAQ;oCACN;oBAC1B,CAAC,CAAC,cAAc,WAAW;;kCAEH,QAAQ;oCACN,CAAC;gBAC7B,MAAM,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC;gBACzF,QAAQ,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;YACpC,CAAC;YAED,wEAAwE;YACxE,yEAAyE;YACzE,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAClD,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;oBACtC,MAAM,mBAAmB,CACvB,SAAS,EACT,SAAS,EACT,OAAO,EACP,SAAS,EACT,GAAG,EACH,SAAS,IAAI,EAAE,EACf,YAAY,CACb,CAAC;oBACF,YAAY,IAAI,CAAC,CAAC;oBAClB,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC7C,CAAC;YACH,CAAC;QACH,CAAC;QAED,gFAAgF;QAChF,sEAAsE;QACtE,6DAA6D;QAC7D,IAAI,aAAa,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9C,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC5F,OAAO,CAAC,KAAK,CACX,uCAAuC,aAAa,CAAC,MAAM,UAAU,YAAY,EAAE,CACpF,CAAC;YACF,KAAK,MAAM,OAAO,IAAI,aAAa,EAAE,CAAC;gBACpC,MAAM,iBAAiB,CACrB,SAAS,EACT,cAAc,EACd,OAAO,EACP,SAAS,EACT,GAAG,EACH,SAAS,IAAI,EAAE,EACf,YAAY,CACb,CAAC;gBACF,YAAY,IAAI,CAAC,CAAC;gBAClB,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;YACxC,CAAC;QACH,CAAC;QAED,GAAG,CACD,YAAY,EACZ,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,QAAQ,CAAC,MAAM,UAAU,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,UAAU,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,YAAY,YAAY,YAAY,gBAAgB,CAAC,MAAM,EAAE,CAC1M,CAAC;QACF,OAAO,CAAC,KAAK,CACX,4BAA4B,QAAQ,CAAC,MAAM,UAAU,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,UAAU,eAAe,CAAC,aAAa,CAAC,UAAU,eAAe,CAAC,aAAa,CAAC,YAAY,gBAAgB,CAAC,MAAM,UAAU,cAAc,EAAE,CACnO,CAAC;QACF,KAAK,MAAM,MAAM,IAAI,gBAAgB,EAAE,CAAC;YACtC,OAAO,CAAC,KAAK,CACX,2CAA2C,MAAM,CAAC,IAAI,UAAU,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CACvI,CAAC;QACJ,CAAC;QAED,OAAO;YACL,cAAc;YACd,YAAY,EAAE,QAAQ,CAAC,MAAM;YAC7B,aAAa;YACb,aAAa;YACb,YAAY;YACZ,eAAe;YACf,gBAAgB;YAChB,eAAe;YACf,QAAQ;SACT,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAClC,MAAM,SAAS,CAAC,KAAK,EAAE,CAAC;QACxB,GAAG,CAAC,UAAU,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,6EAA6E;AAC7E,eAAe;AACf,8EAA8E;AAE9E,KAAK,UAAU,mBAAmB,CAChC,SAAkB,EAClB,OAA0B,EAC1B,SAAkC,EAClC,YAAoB,EACpB,WAAmB,EACnB,YAAoB,EACpB,SAAiB,EACjB,GAAW;IAEX,MAAM,KAAK,GAAG,EAAE,GAAG,OAAO,CAAC,UAAU,EAAE,GAAG,SAAS,EAAE,CAAC;IACtD,MAAM,CAAC,GAAG,MAAM,SAAS,CAAC,GAAG,CAC3B,eAAe,OAAO,CAAC,IAAI;;mCAEI,EAC/B,EAAE,KAAK,EAAE,CACV,CAAC;IACF,MAAM,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAW,CAAC;IAEpD,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;QACvB,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC;QAC/C,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;QACzC,MAAM,SAAS,GAAG;YAChB,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,UAAU,IAAI,EAAE,CAAC;YACxC,cAAc,EAAE,gBAAgB;YAChC,gBAAgB,EAAE,SAAS;YAC3B,MAAM,EAAE,iBAAiB;YACzB,gBAAgB,EAAE,YAAY;YAC9B,SAAS,EAAE,GAAG;SACf,CAAC;QACF,MAAM,MAAM,GAAG,SAAS,KAAK,aAAa;YACxC,CAAC,CAAC,cAAc,WAAW;;8BAEH,QAAQ;gCACN;YAC1B,CAAC,CAAC,cAAc,WAAW;;8BAEH,QAAQ;gCACN,CAAC;QAC7B,MAAM,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE;YAC1B,QAAQ,EAAE,YAAY;YACtB,MAAM;YACN,SAAS,EAAE,SAAS,CAAC,SAAS;YAC9B,SAAS;SACV,CAAC,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,mBAAmB,CAChC,SAAkB,EAClB,UAAkB,EAClB,OAA0B,EAC1B,SAAiB,EACjB,GAAW,EACX,SAAiB,EACjB,YAAoB;IAEpB,MAAM,aAAa,GAAG,MAAM,gBAAgB,CAAC;QAC3C,OAAO,EAAE,SAAS;QAClB,SAAS;QACT,OAAO;QACP,GAAG;QACH,SAAS;KACV,CAAC,CAAC;IACH,MAAM,SAAS,CAAC,GAAG,CACjB;;0BAEsB,OAAO,CAAC,IAAI,CAAC,IAAI;4BACf,EACxB;QACE,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,SAAS,KAAK,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa;QACrE,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,SAAS,KAAK,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU;QACrE,SAAS,EAAE;YACT,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC;YAClC,cAAc,EAAE,gBAAgB;YAChC,gBAAgB,EAAE,SAAS;YAC3B,MAAM,EAAE,iBAAiB;YACzB,gBAAgB,EAAE,YAAY;YAC9B,SAAS,EAAE,GAAG;SACf;KACF,CACF,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC9B,SAAkB,EAClB,cAAsB,EACtB,OAA+D,EAC/D,SAAiB,EACjB,GAAW,EACX,SAAiB,EACjB,YAAoB;IAEpB,2EAA2E;IAC3E,wEAAwE;IACxE,mDAAmD;IACnD,MAAM,SAAS,GAAsB;QACnC,IAAI,EAAE,OAAO,CAAC,UAAU;QACxB,UAAU,EAAE,OAAO,CAAC,gBAAgB;QACpC,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE;QAC1D,KAAK,EAAE,OAAO,CAAC,KAAK,KAAK,KAAK;KAC/B,CAAC;IACF,MAAM,YAAY,GAAG,MAAM,gBAAgB,CAAC;QAC1C,OAAO,EAAE,SAAS;QAClB,SAAS;QACT,OAAO,EAAE,SAAS;QAClB,GAAG;QACH,SAAS;KACV,CAAC,CAAC;IACH,MAAM,SAAS,CAAC,GAAG,CACjB;;0BAEsB,OAAO,CAAC,IAAI;;;;;4CAKM,EACxC;QACE,KAAK,EAAE,cAAc;QACrB,QAAQ,EAAE,YAAY;QACtB,cAAc,EAAE,gBAAgB;QAChC,gBAAgB,EAAE,SAAS;QAC3B,MAAM,EAAE,iBAAiB;QACzB,gBAAgB,EAAE,YAAY;QAC9B,SAAS,EAAE,GAAG;KACf,CACF,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,CAAyB;IAChD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAClC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACtC,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACxD,CAAC;AAcD,KAAK,UAAU,gBAAgB,CAAC,IAAwB;IACtD,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;IAE7D,yEAAyE;IACzE,0EAA0E;IAC1E,MAAM,WAAW,GACf,OAAO,OAAO,CAAC,UAAU,CAAC,IAAI,KAAK,QAAQ;QACzC,CAAC,CAAE,OAAO,CAAC,UAAU,CAAC,IAAe;QACrC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;IAC9D,MAAM,gBAAgB,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,CAAC;IAElD,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAEhG,IAAI,QAAQ,EAAE,CAAC;QACb,kEAAkE;QAClE,qEAAqE;QACrE,+DAA+D;QAC/D,sDAAsD;QACtD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAC9B,cAAc,OAAO,CAAC,IAAI,iCAAiC,QAAQ,CAAC,GAAG;;;;;;;;;;qCAUxC,EAC/B;YACE,SAAS;YACT,UAAU,EAAE,QAAQ,CAAC,KAAK;YAC1B,WAAW,EAAE,EAAE,GAAG,OAAO,CAAC,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE;YAClE,SAAS,EAAE,gBAAgB;YAC3B,SAAS,EAAE,GAAG;YACd,cAAc,EAAE,gBAAgB;YAChC,gBAAgB,EAAE,SAAS,IAAI,EAAE;YACjC,MAAM,EAAE,iBAAiB;SAC1B,CACF,CAAC;QACF,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAW,CAAC;IACnD,CAAC;IAED,sEAAsE;IACtE,yEAAyE;IACzE,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAC9B,eAAe,OAAO,CAAC,IAAI;;mCAEI,EAC/B;QACE,KAAK,EAAE;YACL,GAAG,OAAO,CAAC,UAAU;YACrB,SAAS;YACT,KAAK,EAAE,QAAQ;YACf,SAAS,EAAE,gBAAgB;YAC3B,SAAS,EAAE,GAAG;YACd,SAAS,EAAE,GAAG;YACd,cAAc,EAAE,gBAAgB;YAChC,eAAe,EAAE,gBAAgB;YACjC,gBAAgB,EAAE,SAAS,IAAI,EAAE;YACjC,MAAM,EAAE,iBAAiB;SAC1B;KACF,CACF,CAAC;IACF,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAW,CAAC;AACnD,CAAC;AAED,8EAA8E;AAC9E,4DAA4D;AAC5D,EAAE;AACF,6EAA6E;AAC7E,4EAA4E;AAC5E,qEAAqE;AACrE,kFAAkF;AAClF,EAAE;AACF,gFAAgF;AAChF,4EAA4E;AAC5E,sEAAsE;AACtE,mCAAmC;AACnC,8EAA8E;AAE9E,4EAA4E;AAC5E,4EAA4E;AAC5E,iDAAiD;AACjD,MAAM,qBAAqB,GAAG,sBAAsB,CAAC;AAErD,KAAK,UAAU,yBAAyB,CACtC,MAAoB;IAEpB,MAAM,EACJ,SAAS,EACT,YAAY,EAAE,oBAAoB,EAAE,kCAAkC;IACtE,eAAe,EACf,QAAQ,EACR,KAAK,EACL,gBAAgB,EAAE,cAAc,EAChC,YAAY,EAAE,eAAe,EAC7B,SAAS,EACT,aAAa,EACb,iBAAiB,EACjB,uBAAuB,EACvB,qBAAqB,EACrB,qBAAqB,GAAG,EAAE,EAC1B,MAAM,EACN,kBAAkB,GAAG,IAAI,GAC1B,GAAG,MAAM,CAAC;IAEX,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACvC,CAAC;IACD,IAAI,CAAC,MAAM,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7C,MAAM,IAAI,KAAK,CACb,oGAAoG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAC/H,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,aAAa,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC;QAC5C,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;IACrF,CAAC;IACD,IAAI,CAAC,iBAAiB,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,EAAE,CAAC;QACpD,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;IACzF,CAAC;IACD,IAAI,CAAC,uBAAuB,IAAI,CAAC,uBAAuB,CAAC,IAAI,EAAE,EAAE,CAAC;QAChE,MAAM,IAAI,KAAK,CAAC,2EAA2E,CAAC,CAAC;IAC/F,CAAC;IACD,IAAI,CAAC,qBAAqB,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,EAAE,CAAC;QAC5D,MAAM,IAAI,KAAK,CAAC,yEAAyE,CAAC,CAAC;IAC7F,CAAC;IAED,MAAM,QAAQ,GAAG,CAAC,GAAG,EAAE;QACrB,MAAM,CAAC,GAAG,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACrF,MAAM,CAAC,GAAG,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACpF,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QACvD,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,EAAE,CAAC;IAEL,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACtB,MAAM,GAAG,GAAG,CAAC,KAAa,EAAE,MAAe,EAAE,EAAE,CAC7C,OAAO,CAAC,KAAK,CACX,uBAAuB,oBAAoB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAC1H,CAAC;IAEJ,GAAG,CAAC,OAAO,EAAE,GAAG,QAAQ,CAAC,MAAM,0BAA0B,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,KAAK,EAAE,CAAC,CAAC;IAEvG,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrC,MAAM,SAAS,GAAG,UAAU,EAAE,CAAC;IAC/B,IAAI,aAAa,GAAG,EAAE,CAAC;IACvB,MAAM,aAAa,GAAkB,EAAE,CAAC;IACxC,MAAM,aAAa,GAAkB,EAAE,CAAC;IAExC,IAAI,CAAC;QACH,6DAA6D;QAC7D,MAAM,YAAY,GAAa,CAAC,eAAe,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QACjF,GAAG,CAAC,WAAW,EAAE,GAAG,YAAY,CAAC,MAAM,QAAQ,CAAC,CAAC;QACjD,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,YAAY,CAAC,CAAC;QAClD,MAAM,gBAAgB,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QAEvC,0EAA0E;QAC1E,uEAAuE;QACvE,oEAAoE;QACpE,MAAM,aAAa,GAAG,MAAM,SAAS,CAAC,GAAG,CACvC;;;;;;;;;;;;;;;;2DAgBqD,EACrD;YACE,oBAAoB;YACpB,SAAS;YACT,KAAK;YACL,eAAe;YACf,QAAQ,EAAE,QAAQ,IAAI,EAAE;YACxB,gBAAgB;YAChB,iBAAiB;YACjB,SAAS,EAAE,GAAG;YACd,SAAS,EAAE,GAAG;YACd,SAAS,EAAE,SAAS,IAAI,EAAE;YAC1B,cAAc,EAAE,qBAAqB;YACrC,MAAM,EAAE,MAAM;YACd,uBAAuB;YACvB,qBAAqB;YACrB,aAAa;SACd,CACF,CAAC;QACF,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC;YAClE,MAAM,IAAI,KAAK,CAAC,gFAAgF,CAAC,CAAC;QACpG,CAAC;QACD,aAAa,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAW,CAAC;QACjE,GAAG,CAAC,gBAAgB,EAAE,UAAU,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;QAE9D,wEAAwE;QACxE,yEAAyE;QACzE,0EAA0E;QAC1E,oEAAoE;QACpE,wEAAwE;QACxE,+DAA+D;QAC/D,IAAI,kBAAkB,EAAE,CAAC;YACvB,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,GAAG,CACjC;;;oCAG4B,EAC5B,EAAE,oBAAoB,EAAE,aAAa,EAAE,CACxC,CAAC;YACF,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,EAAE,IAAI,CAAC,CAAC;YACtE,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;gBAChB,GAAG,CAAC,SAAS,EAAE,WAAW,OAAO,sCAAsC,CAAC,CAAC;YAC3E,CAAC;QACH,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,iBAAiB,EAAE,6DAA6D,CAAC,CAAC;QACxF,CAAC;QAED,uEAAuE;QACvE,uEAAuE;QACvE,MAAM,UAAU,GAAG,MAAM,SAAS,CAAC,GAAG,CACpC;;;6CAGuC,EACvC,EAAE,oBAAoB,EAAE,CACzB,CAAC;QACF,IAAI,eAAe,GAAkB,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC;QAClF,IAAI,eAAe,EAAE,CAAC;YACpB,GAAG,CAAC,YAAY,EAAE,uCAAuC,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;QAC3F,CAAC;QAED,oDAAoD;QACpD,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,IAAI,gBAAgB,GAAG,CAAC,CAAC;QACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC5B,MAAM,aAAa,GAAG,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACxC,MAAM,SAAS,GAAG;gBAChB,SAAS;gBACT,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC;gBAClD,QAAQ,EAAE,CAAC;gBACX,KAAK;gBACL,SAAS,EAAE,aAAa;gBACxB,SAAS,EAAE,GAAG;gBACd,SAAS,EAAE,GAAG;gBACd,cAAc,EAAE,qBAAqB;gBACrC,eAAe,EAAE,qBAAqB;gBACtC,gBAAgB,EAAE,SAAS,IAAI,EAAE;gBACjC,MAAM,EAAE,MAAM;gBACd,aAAa;gBACb,iBAAiB;aAClB,CAAC;YACF,MAAM,UAAU,GAAG,EAAE,GAAG,OAAO,CAAC,UAAU,EAAE,GAAG,SAAS,EAAE,CAAC;YAC3D,MAAM,CAAC,GAAG,MAAM,SAAS,CAAC,GAAG,CAC3B;;;;;;;;;;uCAU+B,EAC/B;gBACE,KAAK,EAAE,UAAU;gBACjB,oBAAoB;gBACpB,cAAc,EAAE,qBAAqB;gBACrC,gBAAgB,EAAE,SAAS,IAAI,EAAE;gBACjC,MAAM,EAAE,MAAM;gBACd,aAAa;gBACb,SAAS,EAAE,GAAG;aACf,CACF,CAAC;YACF,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAW,CAAC;YACrD,aAAa,EAAE,CAAC;YAChB,QAAQ,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;YACxC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;YAEvC,IAAI,eAAe,EAAE,CAAC;gBACpB,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,GAAG,CACjC;;;;;;;;sCAQ4B,EAC5B;oBACE,IAAI,EAAE,eAAe;oBACrB,GAAG,EAAE,OAAO;oBACZ,cAAc,EAAE,qBAAqB;oBACrC,gBAAgB,EAAE,SAAS,IAAI,EAAE;oBACjC,MAAM,EAAE,MAAM;oBACd,aAAa;oBACb,SAAS,EAAE,GAAG;iBACf,CACF,CAAC;gBACF,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC;oBAC3D,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;gBACpF,CAAC;gBACD,gBAAgB,EAAE,CAAC;gBACnB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;YAClC,CAAC;YACD,eAAe,GAAG,OAAO,CAAC;QAC5B,CAAC;QAED,0EAA0E;QAC1E,sEAAsE;QACtE,IAAI,sBAAsB,GAAG,CAAC,CAAC;QAC/B,KAAK,MAAM,MAAM,IAAI,qBAAqB,EAAE,CAAC;YAC3C,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,GAAG,CAC9B;;;;;;;mCAO2B,EAC3B;gBACE,oBAAoB;gBACpB,MAAM;gBACN,cAAc,EAAE,qBAAqB;gBACrC,gBAAgB,EAAE,SAAS,IAAI,EAAE;gBACjC,MAAM,EAAE,MAAM;gBACd,SAAS,EAAE,GAAG;aACf,CACF,CAAC;YACF,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,EAAE,IAAI,CAAC,CAAC;YACjE,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CACb,qDAAqD,MAAM,qEAAqE,CACjI,CAAC;YACJ,CAAC;YACD,sBAAsB,EAAE,CAAC;YACzB,QAAQ,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC;QAC5C,CAAC;QAED,GAAG,CACD,YAAY,EACZ,WAAW,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,aAAa,eAAe,gBAAgB,iBAAiB,sBAAsB,EAAE,CACtI,CAAC;QAEF,OAAO;YACL,cAAc,EAAE,aAAa;YAC7B,YAAY,EAAE,aAAa;YAC3B,aAAa;YACb,aAAa;YACb,YAAY,EAAE,CAAC;YACf,eAAe,EAAE,CAAC;YAClB,gBAAgB,EAAE,EAAE;YACpB,eAAe;YACf,QAAQ;SACT,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,MAAM,SAAS,CAAC,KAAK,EAAE,CAAC;QACxB,GAAG,CAAC,UAAU,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"memory-ingest.js","sourceRoot":"","sources":["../../src/tools/memory-ingest.ts"],"names":[],"mappings":"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"}
@@ -69,7 +69,10 @@ Capture that path. The progress file lives at `data/accounts/$ACCOUNT_ID/logs/co
69
69
  Optional flags:
70
70
  - `--timezone <iana>` — IANA zone for timestamps (default `Europe/London`).
71
71
  - `--date-format <DD/MM/YY|MM/DD/YY|DD/MM/YYYY|MM/DD/YYYY>` — WhatsApp only; override auto-detect for ambiguous locales.
72
- - `--session-gap-hours <N>` — gap threshold (in hours) used to split parsed messages into sessions for chunking (default `12`).
72
+
73
+ Sessions split deterministically at 8h gap (fixed code constant — Task 902). The pre-902 `--session-gap-hours` flag is removed: chunked chat-mode classify (Task 902 sub-scope C) absorbs oversize sessions internally so the gap value is no longer an operational lever. Passing the legacy flag FAILs at `phase=argv`.
74
+
75
+ `--rebuild` (operator-issued only; never agent-autonomous — see Doctrine below): treats the run as first-ingest, deletes prior `:Section:Conversation` chunks for THIS export's `archiveSha256`, and re-classifies the entire archive. The skipped-cursor-lookup means a `--rebuild` and a fresh-export-with-different-bytes are operationally equivalent — one is destructive on identifiable bytes, the other is additive.
73
76
 
74
77
  ### Heartbeat protocol
75
78
 
@@ -79,9 +82,19 @@ Every 30 s while the background bash is live:
79
82
  tail -n 100 <progress-file>
80
83
  ```
81
84
 
82
- Surface fresh `[conversation-archive] classify-session sessionIndex=K/N ...` lines as chat tokens — one chat line per fresh progress line. The SDK silence timer resets on every output token; a 30 s poll cadence keeps the silence wall (180 s) untripped on a steady classify loop.
85
+ The bin emits one **derived** progress line per session boundary; the agent surfaces those (and only those) as chat tokens.
86
+
87
+ Grep contract — surface ONLY these line shapes to operator chat:
88
+
89
+ | Line shape (bin emits) | Surface as |
90
+ |---|---|
91
+ | `[conversation-archive] progress sessionIndex=K/N pct=P chunks-so-far=X elapsed-ms=M` | `Classifying session K/N (P%) — chunks so far X — elapsed <Ms>` |
92
+ | `[conversation-archive] WARN cleanup-dropped chunks=N archiveSha256=<sha>` | **WARN** `cleanup-dropped chunks=N — prior data deleted (only legitimate under --rebuild; STOP and verify if not)` |
93
+ | `[conversation-archive] FAIL phase=…` | verbatim + yield (do not retry) |
83
94
 
84
- If the tail returns no NEW lines for 60 s while the bg pid is still live: surface the last progress line verbatim to the operator, and stop polling until they direct otherwise. **Do not blind-reissue the bash.**
95
+ Suppress all other `[conversation-archive] …` lines (raw `classify-session`, `session-committed`, `cleanup-skipped`, etc.) they remain on disk for diagnosis but are not operator-stream noise. The bin's `progress` line is computed deterministically (Task 902 sub-scope F): per-tick percentage arithmetic and running totals come from one place, not from agent prose-rule arithmetic which drifts.
96
+
97
+ If the tail returns no NEW `progress` line for 60 s while the bg pid is still live: surface one `still on session K/N (P%) — last update <Δ>s ago` and stop emitting until the next advance. Forbidden: emitting "polling progress file" or any meta-status the operator did not request. Forbidden: blind-reissue of the bash.
85
98
 
86
99
  ### Resume after silent stall
87
100
 
@@ -93,11 +106,12 @@ Forbidden: blind-reissue without reading the progress file first.
93
106
  - Picks the normaliser for `--source`. WhatsApp: locates `_chat.txt` (zip / dir / direct file), parses deterministically, computes `archiveSha256`. Other sources interpret the path according to their own format.
94
107
  - Validates every distinct parsed senderName against the closed set of `{owner, participants...}` candidate names. Any miss LOUD-FAILs `parser-miss reason="senderName=<verbatim> not in confirmed participant set ..."`.
95
108
  - Computes `conversationIdentity` from accountId + sorted participant elementIds.
96
- - Looks up any prior `:ConversationArchive` carrying that identity → reads `lastIngestedMessageHash`. If found, slices parsed lines after the cursor (delta-append). Cursor not found → `FAIL delta-cursor-missing`. Cursor at last line → empty-delta noop (exit 0, no writes).
97
- - Sessionizes the delta lines at the operator-supplied gap-hours boundary.
98
- - For each session: renders as turn-attributed text (`[ts] Sender: body\n…`) and calls `memory-classify` with `mode='chat'`. Returns one or more `:Section:Conversation` chunk specs.
109
+ - **Without `--rebuild`** (default): looks up any prior `:ConversationArchive` carrying that identity → reads `lastIngestedMessageHash`. If found, slices parsed lines after the cursor (delta-append). Cursor not found → `FAIL delta-cursor-missing`. Cursor at last line → empty-delta noop (exit 0, no writes; existing chunk count surfaced in JSON summary). **With `--rebuild`** (Task 902 sub-scope B): skips the prior-cursor lookup entirely; every line is treated as first-ingest delta; the first session's `memory-ingest` deletes prior chunks for THIS `archiveSha256` and the new cursor overwrites the stale one in the same MERGE.
110
+ - Sessionizes the delta lines at the fixed 8h gap (Task 902 sub-scope D — code constant, no flag).
111
+ - Computes the stable archive `title` once (Task 902 sub-scope A): `<source> · <owner> <others> · <YYYY-MM-DD>→<YYYY-MM-DD>`.
112
+ - For each session: renders as turn-attributed text (`[ts] Sender: body\n…`) and calls `memory-classify` with `mode='chat'`. Oversize sessions dispatch to the chunked-chat path (Task 902 sub-scope C) — sessionize size is no longer an operator concern. Returns one or more `:Section:Conversation` chunk specs.
99
113
  - **Per-session checkpoint** (Task 900 sub-scope E): immediately after each successful classify, calls `memory-ingest` for THAT session's chunks AND advances `lastIngestedMessageHash` / `lastIngestedMessageAt` on the parent `:ConversationArchive` to the last message of that session — atomic (chunk writes + cursor advance happen inside one Cypher transaction). A kill mid-loop leaves the cursor at session N-1's last message; re-issuing with the same argv and `--session-id` resumes from session N onward without re-classifying prior sessions.
100
- - Server MERGEs the parent on `conversationIdentity`, MERGEs `:PARTICIPANT_IN` edges, CREATEs new chunks, extends the `:NEXT` chain from its tail. The cleanup-by-`archiveSha256` step (drops THIS export's prior chunks) runs only on the FIRST per-session call of a run; subsequent sessions skip cleanup or they would delete chunks just written. Every node and edge stamps `source=<enum>` and `createdByAgent='conversation-archive'`.
114
+ - Server MERGEs the parent on `conversationIdentity` (writing `title` ON CREATE and COALESCE-on-MATCH so a stable title is never overwritten), MERGEs `:PARTICIPANT_IN` edges, CREATEs new chunks, extends the `:NEXT` chain from its tail. The cleanup-by-`archiveSha256` step runs ONLY when `--rebuild` is set AND only on the FIRST per-session call of a run. Every node and edge stamps `source=<enum>` and `createdByAgent='conversation-archive'`.
101
115
 
102
116
  NO insight pass runs. Phase 2 (operator-driven `:Observation` / `:Task` / `:Preference` derivation against chunks) is its own follow-up task — and applies uniformly to every source once chunks exist.
103
117
 
@@ -143,8 +157,14 @@ For an empty-delta re-import (`delta.kind === "empty-delta"`): emit only message
143
157
 
144
158
  ## Idempotency
145
159
 
146
- - **Re-running the same export bytes** is a no-op: the cleanup-by-`archiveSha256` step drops THIS export's prior chunks and re-creates them with identical content. `:NEXT` chain length unchanged.
160
+ - **Re-running the same export bytes is a no-op by default** (Task 902 sub-scope B). The bin reports the existing chunk count and exits 0; cursor and chunks are unchanged. The pre-902 contract that ran cleanup-by-`archiveSha256` on every same-bytes re-run was the destructive primitive that combined with `--session-gap-hours` to silently destroy 138 chunks (Adam Mackay incident, 2026-05-04).
147
161
  - **Re-running with appended messages** (a fresh export from the same chat with new messages at the tail): cursor lookup finds the prior `lastIngestedMessageHash`, slices new messages, sessionizes only those, and appends new chunks at the tail of the existing `:NEXT` chain. Pre-existing chunks are never touched.
162
+ - **Destructive rebuild** requires the explicit `--rebuild` flag — and only the operator may pass it (see Doctrine below). With `--rebuild`, the bin treats the run as first-ingest, the FIRST session's writer cleans prior chunks for the matching `archiveSha256`, the cursor is overwritten by that session's MERGE, and the heartbeat surfaces a WARN line so the destructive action is operator-visible.
163
+
164
+ ## Doctrine
165
+
166
+ - **`--rebuild` is operator-issued only.** The agent must NEVER propose `--rebuild` as a fix for any FAIL phase, classifier error, oversize-session report, or partial-state recovery. The operator must type `--rebuild` themselves. Agent-autonomous `--rebuild` would re-introduce the silent-partial-wipe surface that Task 902 closed; the flag exists exclusively for operators reasoning about identifiable export bytes they want to re-classify.
167
+ - **Use a fresh export** (different `archiveSha256`) for every legitimate re-classify case the agent surfaces. Same-bytes re-classify is the operator's call, not the agent's.
148
168
 
149
169
  ## Verification (post-write)
150
170
 
@@ -8,7 +8,9 @@
8
8
  #
9
9
  # Contract (inputs via env vars):
10
10
  # ACCOUNTS_DIR — {installDir}/data/accounts
11
- # USERS_FILE — {installDir}/platform/config/users.json
11
+ # USERS_FILE — $HOME/<brand.configDir>/users.json (Task 904 — was
12
+ # {installDir}/platform/config/users.json pre-Task-904, but
13
+ # that path lived in the installer's wipe zone)
12
14
  #
13
15
  # Contract (outputs via env vars):
14
16
  # ACCOUNT_ID — resolved uuid (existing kept, or freshly minted)
@@ -376,7 +376,9 @@ if [ -f "$PINS_FILE" ]; then
376
376
  # users.json from .admin-pin, but only at install time — and install runs
377
377
  # before this script writes .admin-pin. Self-contained migration writes
378
378
  # users.json directly, mirroring seed-neo4j.sh's migration branch.
379
- USERS_FILE="$INSTALL_DIR/platform/config/users.json"
379
+ # Task 904 — write to the persistent location (outside the install wipe
380
+ # zone) so subsequent installs do not overwrite this row with a stale backup.
381
+ USERS_FILE="$PIN_DIR/users.json"
380
382
  if [ ! -f "$USERS_FILE" ]; then
381
383
  USER_ID="$(cat /proc/sys/kernel/random/uuid 2>/dev/null || python3 -c 'import uuid; print(uuid.uuid4())')"
382
384
  PIN_HASH="$(cat "$PIN_DIR/.admin-pin")"
@@ -50,7 +50,15 @@ CYPHER_SHELL="cypher-shell"
50
50
  # no identity match aborts loud; .trash/ is operator-emptied, never auto-cleaned.
51
51
  # shellcheck source=lib/resolve-account-dir.sh
52
52
  . "$SCRIPT_DIR/lib/resolve-account-dir.sh"
53
- USERS_FILE="$PROJECT_DIR/config/users.json" resolve_and_sweep_account_dir
53
+ # Resolve brand-aware persistent users.json path before the resolver runs.
54
+ # Mirrors the resolution lower in this file (around the post-Task-904 USERS_FILE
55
+ # block); duplicated here because resolve_and_sweep_account_dir runs first.
56
+ _RESOLVER_CONFIG_DIR_NAME=".maxy"
57
+ if [ -f "$PROJECT_DIR/config/brand.json" ]; then
58
+ _RESOLVER_BRAND_CFG_DIR=$(python3 -c "import json; print(json.load(open('$PROJECT_DIR/config/brand.json')).get('configDir',''))" 2>/dev/null || true)
59
+ [ -n "$_RESOLVER_BRAND_CFG_DIR" ] && _RESOLVER_CONFIG_DIR_NAME="$_RESOLVER_BRAND_CFG_DIR"
60
+ fi
61
+ USERS_FILE="$HOME/$_RESOLVER_CONFIG_DIR_NAME/users.json" resolve_and_sweep_account_dir
54
62
 
55
63
  mkdir -p "$ACCOUNT_DIR/agents/admin" "$ACCOUNT_DIR/.claude" "$ACCOUNT_DIR/specialists/.claude-plugin" "$ACCOUNT_DIR/specialists/agents"
56
64
 
@@ -376,9 +384,8 @@ echo " Account $ACCOUNT_ID at $ACCOUNT_DIR"
376
384
  # ------------------------------------------------------------------
377
385
 
378
386
  CONFIG_DIR="$PROJECT_DIR/config"
379
- USERS_FILE="$CONFIG_DIR/users.json"
380
387
 
381
- # Resolve the brand-specific config directory for .admin-pin location.
388
+ # Resolve the brand-specific config directory.
382
389
  # Mirrors the logic in platform/ui/app/lib/paths.ts.
383
390
  _CONFIG_DIR_NAME=".maxy"
384
391
  if [ -f "$CONFIG_DIR/brand.json" ]; then
@@ -386,6 +393,9 @@ if [ -f "$CONFIG_DIR/brand.json" ]; then
386
393
  [ -n "$_BRAND_CFG_DIR" ] && _CONFIG_DIR_NAME="$_BRAND_CFG_DIR"
387
394
  fi
388
395
  ADMIN_PIN_FILE="$HOME/$_CONFIG_DIR_NAME/.admin-pin"
396
+ # Task 904 — users.json lives under $HOME/$_CONFIG_DIR_NAME, not the wipe zone.
397
+ USERS_FILE="$HOME/$_CONFIG_DIR_NAME/users.json"
398
+ mkdir -p "$HOME/$_CONFIG_DIR_NAME"
389
399
 
390
400
  # Only create users.json if it doesn't exist AND .admin-pin exists (migration case).
391
401
  # Fresh installs: users.json is created by set-pin POST during onboarding.