omp-fabric 1.16.0 → 1.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/dist/chunks/{chunk-3U5ZVAIX.js → chunk-7OAFYAJC.js} +2 -2
  3. package/dist/chunks/{chunk-N2MMGFMD.js → chunk-C5JMLDIM.js} +2 -2
  4. package/dist/chunks/{chunk-XJMS4223.js → chunk-I3XEFTXH.js} +9 -11
  5. package/dist/chunks/chunk-I3XEFTXH.js.map +7 -0
  6. package/dist/chunks/{chunk-BSUEBCAM.js → chunk-QZJB7QTM.js} +2 -2
  7. package/dist/chunks/{chunk-BSUEBCAM.js.map → chunk-QZJB7QTM.js.map} +2 -2
  8. package/dist/chunks/{chunk-3NWBU3K7.js → chunk-VYB7ROEH.js} +2 -2
  9. package/dist/chunks/{chunk-D2ET33NE.js → chunk-WMB6QCWX.js} +2 -5
  10. package/dist/chunks/{chunk-D2ET33NE.js.map → chunk-WMB6QCWX.js.map} +2 -2
  11. package/dist/chunks/{chunk-ARRZTY7E.js → chunk-Z7N4PVTM.js} +2 -2
  12. package/dist/compaction/hook.d.ts +0 -2
  13. package/dist/compaction/hook.d.ts.map +1 -1
  14. package/dist/compaction/hook.js +1 -1
  15. package/dist/compaction/lcm-maintenance.d.ts +7 -7
  16. package/dist/compaction/lcm-maintenance.d.ts.map +1 -1
  17. package/dist/compaction/lcm-runtime.d.ts +4 -7
  18. package/dist/compaction/lcm-runtime.d.ts.map +1 -1
  19. package/dist/compaction/lcm-runtime.js +60 -58
  20. package/dist/compaction/lcm-runtime.js.map +2 -2
  21. package/dist/fabric-runtime-state.d.ts +0 -1
  22. package/dist/fabric-runtime-state.d.ts.map +1 -1
  23. package/dist/fabric-runtime-state.js +5 -5
  24. package/dist/fabric-runtime-state.js.map +2 -2
  25. package/dist/index.js +3 -3
  26. package/dist/memory/lcm-adapter.d.ts +0 -3
  27. package/dist/memory/lcm-adapter.d.ts.map +1 -1
  28. package/dist/providers/memory-provider.js +1 -1
  29. package/dist/residency/host.js +4 -4
  30. package/dist/residency/omp-entry.js +4 -4
  31. package/dist/storage/lcm-ledger.d.ts +1 -0
  32. package/dist/storage/lcm-ledger.d.ts.map +1 -1
  33. package/dist/ui/lcm-dashboard.js +1 -1
  34. package/dist/ui/lcm-panel.js +1 -1
  35. package/docs/compaction.md +10 -0
  36. package/package.json +1 -1
  37. package/dist/chunks/chunk-XJMS4223.js.map +0 -7
  38. /package/dist/chunks/{chunk-3U5ZVAIX.js.map → chunk-7OAFYAJC.js.map} +0 -0
  39. /package/dist/chunks/{chunk-N2MMGFMD.js.map → chunk-C5JMLDIM.js.map} +0 -0
  40. /package/dist/chunks/{chunk-3NWBU3K7.js.map → chunk-VYB7ROEH.js.map} +0 -0
  41. /package/dist/chunks/{chunk-ARRZTY7E.js.map → chunk-Z7N4PVTM.js.map} +0 -0
@@ -12,7 +12,7 @@ import {
12
12
  buildThinkingDigest,
13
13
  snapshotHandoffSession,
14
14
  thinkingTransferPolicy
15
- } from "./chunk-N2MMGFMD.js";
15
+ } from "./chunk-C5JMLDIM.js";
16
16
  import {
17
17
  isFabricThinking
18
18
  } from "./chunk-SKYNDRW5.js";
@@ -2803,4 +2803,4 @@ export {
2803
2803
  resolveFabricIdentity,
2804
2804
  MainAgentController
2805
2805
  };
2806
- //# sourceMappingURL=chunk-ARRZTY7E.js.map
2806
+ //# sourceMappingURL=chunk-Z7N4PVTM.js.map
@@ -91,7 +91,6 @@ export declare const compileFabricSummary: (branchEntries: SessionEntry[], token
91
91
  export interface LcmCompactionInput {
92
92
  branchEntries: readonly SessionEntry[];
93
93
  sessionId: string;
94
- branch: string | null;
95
94
  firstKeptEntryId: string;
96
95
  tokensBefore: number;
97
96
  customInstructions?: string;
@@ -101,7 +100,6 @@ export interface LcmCompactionOutput {
101
100
  firstKeptEntryId: string;
102
101
  tokensBefore: number;
103
102
  source: "ready-frontier" | "emergency";
104
- branch: string | null;
105
103
  details?: unknown;
106
104
  }
107
105
  interface LcmCompactionOptions {
@@ -1 +1 @@
1
- {"version":3,"file":"hook.d.ts","sourceRoot":"","sources":["../../src/compaction/hook.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hook.d.ts","sourceRoot":"","sources":["../../src/compaction/hook.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ import {
4
4
  fabricCompactionVersion,
5
5
  rawContextTokens,
6
6
  registerCompactionHook
7
- } from "../chunks/chunk-D2ET33NE.js";
7
+ } from "../chunks/chunk-WMB6QCWX.js";
8
8
  import "../chunks/chunk-3J7BKUNG.js";
9
9
  import "../chunks/chunk-E4HNDTLM.js";
10
10
  import "../chunks/chunk-3XPR2AZL.js";
@@ -13,7 +13,6 @@ export interface LcmNode {
13
13
  nodeId: string;
14
14
  projectKey: string;
15
15
  sessionId: string;
16
- branch: string | null;
17
16
  kind: "leaf" | "condensed";
18
17
  sources: LcmSourceRef[];
19
18
  children: string[];
@@ -100,12 +99,13 @@ export declare class LcmMaintenance {
100
99
  modelHash: string;
101
100
  createdAt: number;
102
101
  }>;
103
- selectUpgrades(sessionId?: string, activeSources?: ReadonlySet<string>, branch?: string | null, limit?: number): LcmNode[];
102
+ selectUpgrades(sessionId?: string, activeSources?: ReadonlySet<string>, limit?: number): LcmNode[];
104
103
  ancestorsOf(nodeId: string): string[];
105
104
  reopen(nodeId: string, force?: boolean): LcmJob;
106
105
  listNodes(limit?: number, offset?: number): LcmNode[];
107
106
  getNode(nodeId: string): LcmNode | undefined;
108
- getFrontier(sessionId?: string, branch?: string | null, activeSources?: ReadonlySet<string>): LcmNode[];
107
+ /** Scoped by the live source set when given; drops a condensed child and a contained node. */
108
+ getFrontier(sessionId?: string, activeSources?: ReadonlySet<string>): LcmNode[];
109
109
  recentJobs(limit?: number): LcmJob[];
110
110
  listJobs(limit?: number): LcmJob[];
111
111
  jobForNode(nodeId: string): LcmJob | undefined;
@@ -117,10 +117,10 @@ export declare class LcmMaintenance {
117
117
  retryFailedJobs(): LcmJob[];
118
118
  recoverLegacyContentionRetirements(): LcmJob[];
119
119
  recordFailure(job: LcmJob, error: unknown): LcmJob | undefined;
120
- selectLeaf(entries?: RawEntry[], branch?: string | null): RawEntry[];
121
- selectCondensation(sessionId?: string, activeSources?: ReadonlySet<string>, branch?: string | null): LcmNode[];
122
- createLeaf(entries?: RawEntry[]): LcmNode | undefined;
123
- createCondensed(children?: LcmNode[]): LcmNode | undefined;
120
+ selectLeaf(entries?: RawEntry[], activeSources?: ReadonlySet<string>): RawEntry[];
121
+ selectCondensation(sessionId?: string, activeSources?: ReadonlySet<string>): LcmNode[];
122
+ createLeaf(entries: RawEntry[]): LcmNode | undefined;
123
+ createCondensed(children: LcmNode[]): LcmNode | undefined;
124
124
  private validateSources;
125
125
  private sourceKey;
126
126
  private publish;
@@ -1 +1 @@
1
- {"version":3,"file":"lcm-maintenance.d.ts","sourceRoot":"","sources":["../../src/compaction/lcm-maintenance.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lcm-maintenance.d.ts","sourceRoot":"","sources":["../../src/compaction/lcm-maintenance.ts"],"names":[],"mappings":"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"}
@@ -133,6 +133,7 @@ export declare class LcmRuntime {
133
133
  private frontierCache;
134
134
  /** One frontier walk shared by preview, coverage, and the coverage map. */
135
135
  private frontierSnapshot;
136
+ /** Content identity, so a fork keeps the summaries built over the entries it inherited. */
136
137
  private sourceKey;
137
138
  /** Assembles what a compaction would serve now. Reads only; it never persists a node. */
138
139
  preview(): LcmPreview;
@@ -155,9 +156,8 @@ export declare class LcmRuntime {
155
156
  };
156
157
  memoryContext(): {
157
158
  summaries: {
158
- listNodes: ({ sessionId, branch, limit }: {
159
+ listNodes: ({ sessionId, limit }: {
159
160
  sessionId?: string;
160
- branch?: string | null;
161
161
  limit: number;
162
162
  }) => {
163
163
  text: string;
@@ -169,7 +169,6 @@ export declare class LcmRuntime {
169
169
  nodeId: string;
170
170
  projectKey: string;
171
171
  sessionId: string;
172
- branch: string | null;
173
172
  kind: "leaf" | "condensed";
174
173
  children: string[];
175
174
  depth: number;
@@ -189,7 +188,6 @@ export declare class LcmRuntime {
189
188
  nodeId: string;
190
189
  projectKey: string;
191
190
  sessionId: string;
192
- branch: string | null;
193
191
  kind: "leaf" | "condensed";
194
192
  children: string[];
195
193
  depth: number;
@@ -200,8 +198,7 @@ export declare class LcmRuntime {
200
198
  createdAt: number;
201
199
  } | undefined;
202
200
  };
203
- branchForSession: (sessionId: string) => {
204
- branch: string | null;
201
+ branchForSession: () => {
205
202
  activeSourceKeys: string[];
206
203
  ready: boolean;
207
204
  } | undefined;
@@ -214,7 +211,7 @@ export declare class LcmRuntime {
214
211
  searchRaw: (options: Parameters<LcmLedger["searchRaw"]>[1]) => import("../storage/lcm-ledger.js").LcmSearchPage;
215
212
  };
216
213
  };
217
- frontier(sessionId?: string, branch?: string | null): LcmNode[];
214
+ frontier(sessionId?: string): LcmNode[];
218
215
  raw(sessionId?: string): RawEntry[];
219
216
  shutdown(): Promise<void>;
220
217
  }
@@ -1 +1 @@
1
- {"version":3,"file":"lcm-runtime.d.ts","sourceRoot":"","sources":["../../src/compaction/lcm-runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lcm-runtime.d.ts","sourceRoot":"","sources":["../../src/compaction/lcm-runtime.ts"],"names":[],"mappings":"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"}
@@ -517,8 +517,8 @@ ALTER TABLE summary_node_revisions_next RENAME TO summary_node_revisions;`);
517
517
  readRawKeys(projectKey = this.project.key, sessionId, limit = 1e5) {
518
518
  this.guard();
519
519
  this.assertProjectKey(projectKey);
520
- const rows = sessionId ? this.db.prepare("SELECT session_id, entry_id, revision FROM raw_entries WHERE project_key=? AND session_id=? ORDER BY created_at,revision,rowid LIMIT ?").all(projectKey, sessionId, limit) : this.db.prepare("SELECT session_id, entry_id, revision FROM raw_entries WHERE project_key=? ORDER BY created_at,session_id,entry_id,revision LIMIT ?").all(projectKey, limit);
521
- return rows.map((row) => ({ sessionId: row.session_id, entryId: row.entry_id, revision: Number(row.revision) }));
520
+ const rows = sessionId ? this.db.prepare("SELECT session_id, entry_id, revision, content_hash FROM raw_entries WHERE project_key=? AND session_id=? ORDER BY created_at,revision,rowid LIMIT ?").all(projectKey, sessionId, limit) : this.db.prepare("SELECT session_id, entry_id, revision, content_hash FROM raw_entries WHERE project_key=? ORDER BY created_at,session_id,entry_id,revision LIMIT ?").all(projectKey, limit);
521
+ return rows.map((row) => ({ sessionId: row.session_id, entryId: row.entry_id, revision: Number(row.revision), contentHash: row.content_hash }));
522
522
  }
523
523
  /** Total stored payload bytes for one session, as a single aggregate. */
524
524
  payloadBytes(projectKey = this.project.key, sessionId) {
@@ -1082,8 +1082,8 @@ var LcmMaintenance = class {
1082
1082
  revisionsOf(nodeId) {
1083
1083
  return this.ledger.readOnly((db) => db.prepare("SELECT revision, text, model_hash, created_at FROM summary_node_revisions WHERE node_id=? AND project_key=? ORDER BY revision").all(nodeId, this.projectKey).map((row) => ({ revision: Number(row.revision), text: row.text, modelHash: row.model_hash, createdAt: Number(row.created_at) })));
1084
1084
  }
1085
- selectUpgrades(sessionId, activeSources, branch, limit = 1) {
1086
- return this.listNodes(1e5).filter((node) => node.state === "ready" && node.modelHash === "emergency" && node.policyHash === this.policyHash && (!sessionId || node.sessionId === sessionId) && (branch === void 0 || node.branch === branch || node.branch === null) && (!activeSources || node.sources.every((source) => activeSources.has(this.sourceKey(source))))).sort((left, right) => left.depth - right.depth || left.nodeId.localeCompare(right.nodeId)).slice(0, limit);
1085
+ selectUpgrades(sessionId, activeSources, limit = 1) {
1086
+ return this.listNodes(1e5).filter((node) => node.state === "ready" && node.modelHash === "emergency" && node.policyHash === this.policyHash && (!sessionId || node.sessionId === sessionId) && (!activeSources || node.sources.every((source) => activeSources.has(this.sourceKey(source))))).sort((left, right) => left.depth - right.depth || left.nodeId.localeCompare(right.nodeId)).slice(0, limit);
1087
1087
  }
1088
1088
  ancestorsOf(nodeId) {
1089
1089
  return this.ledger.readOnly((db) => {
@@ -1132,10 +1132,26 @@ var LcmMaintenance = class {
1132
1132
  return node;
1133
1133
  });
1134
1134
  }
1135
- getFrontier(sessionId, branch, activeSources) {
1136
- const nodes = this.listNodes(1e5).filter((n) => n.state === "ready" && n.policyHash === this.policyHash && (!sessionId || n.sessionId === sessionId) && (branch === void 0 || n.branch === branch || n.branch === null) && (!activeSources || n.sources.every((s) => activeSources.has(this.sourceKey(s)))));
1137
- const covered = new Set(nodes.flatMap((n) => n.children));
1138
- return nodes.filter((n) => !covered.has(n.nodeId));
1135
+ /** Scoped by the live source set when given; drops a condensed child and a contained node. */
1136
+ getFrontier(sessionId, activeSources) {
1137
+ const nodes = this.listNodes(1e5).filter((n) => n.state === "ready" && n.policyHash === this.policyHash && (!sessionId || activeSources !== void 0 || n.sessionId === sessionId) && (!activeSources || n.sources.every((s) => activeSources.has(this.sourceKey(s)))));
1138
+ const condensed = new Set(nodes.flatMap((n) => n.children));
1139
+ const standing = nodes.filter((n) => !condensed.has(n.nodeId));
1140
+ const ranked = [...standing].sort((a, b) => b.sources.length - a.sources.length || a.nodeId.localeCompare(b.nodeId));
1141
+ const kept = [];
1142
+ const shadowed = /* @__PURE__ */ new Set();
1143
+ for (const node of ranked) {
1144
+ const keys = node.sources.map((s) => this.sourceKey(s));
1145
+ if (kept.some((other) => {
1146
+ const held = new Set(other.sources.map((s) => this.sourceKey(s)));
1147
+ return keys.every((key) => held.has(key));
1148
+ })) {
1149
+ shadowed.add(node.nodeId);
1150
+ continue;
1151
+ }
1152
+ kept.push(node);
1153
+ }
1154
+ return standing.filter((n) => !shadowed.has(n.nodeId));
1139
1155
  }
1140
1156
  recentJobs(limit = 200) {
1141
1157
  return this.ledger.readOnly((db) => db.prepare("SELECT payload FROM maintenance_jobs WHERE project_key=? ORDER BY CASE status WHEN 'failed' THEN 0 WHEN 'running' THEN 1 WHEN 'pending' THEN 2 ELSE 3 END, updated_at DESC LIMIT ?").all(this.projectKey, limit).map((r) => {
@@ -1248,12 +1264,12 @@ var LcmMaintenance = class {
1248
1264
  return next;
1249
1265
  });
1250
1266
  }
1251
- selectLeaf(entries = this.ledger.readRaw(this.projectKey), branch) {
1267
+ selectLeaf(entries = this.ledger.readRaw(this.projectKey), activeSources) {
1252
1268
  const first = entries[0];
1253
1269
  if (!first) return [];
1254
- const nodes = this.listNodes(1e5).filter((n) => n.state !== "failed" && n.policyHash === this.policyHash && n.sessionId === first.sessionId && (branch === void 0 || n.branch === branch || n.branch === null));
1270
+ const nodes = this.listNodes(1e5).filter((n) => n.state !== "failed" && n.policyHash === this.policyHash && (n.sessionId === first.sessionId || activeSources !== void 0 && n.state === "ready") && (!activeSources || n.sources.every((s) => activeSources.has(this.sourceKey(s)))));
1255
1271
  const covered = new Set(nodes.flatMap((n) => n.sources.map((s) => this.sourceKey(s))));
1256
- const candidates = entries.filter((e) => e.sessionId === first.sessionId && (branch === void 0 || e.branch === branch || e.branch === null) && !covered.has(this.sourceKey(e)));
1272
+ const candidates = entries.filter((e) => e.sessionId === first.sessionId && !covered.has(this.sourceKey(e)));
1257
1273
  const picked = [];
1258
1274
  let chars = 0;
1259
1275
  for (const entry of candidates) {
@@ -1265,8 +1281,8 @@ var LcmMaintenance = class {
1265
1281
  }
1266
1282
  return picked;
1267
1283
  }
1268
- selectCondensation(sessionId, activeSources, branch) {
1269
- const nodes = this.listNodes(1e5).filter((n) => n.state === "ready" && n.policyHash === this.policyHash && (!sessionId || n.sessionId === sessionId) && (!activeSources || n.sources.every((s) => activeSources.has(this.sourceKey(s)))) && (branch === void 0 || n.branch === branch || n.branch === null));
1284
+ selectCondensation(sessionId, activeSources) {
1285
+ const nodes = this.listNodes(1e5).filter((n) => n.state === "ready" && n.policyHash === this.policyHash && (!sessionId || n.sessionId === sessionId) && (!activeSources || n.sources.every((s) => activeSources.has(this.sourceKey(s)))));
1270
1286
  const eligible = new Set(nodes.map((n) => n.nodeId));
1271
1287
  const edges = this.ledger.readOnly((db) => db.prepare("SELECT e.parent_id,e.child_id FROM summary_edges e JOIN summary_nodes parent ON parent.node_id=e.parent_id AND parent.project_key=? JOIN summary_nodes child ON child.node_id=e.child_id AND child.project_key=parent.project_key WHERE parent.project_key=?").all(this.projectKey, this.projectKey));
1272
1288
  const consumed = new Set(edges.filter((e) => eligible.has(e.parent_id)).map((e) => e.child_id));
@@ -1278,11 +1294,8 @@ var LcmMaintenance = class {
1278
1294
  if (depth > 0 && sameDepth.length < 2) return [];
1279
1295
  return candidates.filter((n) => n.projectKey === first.projectKey && n.sessionId === first.sessionId && n.depth === depth).sort((a, b) => a.nodeId.localeCompare(b.nodeId)).slice(0, this.maxChildren);
1280
1296
  }
1281
- createLeaf(entries = this.selectLeaf()) {
1297
+ createLeaf(entries) {
1282
1298
  if (!entries.length) return void 0;
1283
- const branches = new Set(entries.map((entry) => entry.branch).filter((value) => typeof value === "string"));
1284
- if (branches.size > 1) throw new Error("cross-branch ranges");
1285
- const branch = [...branches][0] ?? null;
1286
1299
  const source = entries.map((e, index) => {
1287
1300
  if (e.projectKey !== this.projectKey) throw new Error("entry project does not match ledger project");
1288
1301
  const payload = parse(e.payloadJson);
@@ -1291,23 +1304,20 @@ var LcmMaintenance = class {
1291
1304
  return { sessionId: e.sessionId, entryId: e.entryId, revision: e.revision, payloadHash: rawHash(e) };
1292
1305
  });
1293
1306
  this.validateSources(source);
1294
- const node = { nodeId: `leaf:${hash3({ projectKey: this.projectKey, source, branch, policyHash: this.policyHash })}`, projectKey: this.projectKey, sessionId: entries[0].sessionId, branch, kind: "leaf", sources: source, children: [], depth: 0, sourceHash: hash3(source.map((s) => s.payloadHash)), policyHash: this.policyHash, modelHash: "", state: "pending", createdAt: this.now() };
1307
+ const node = { nodeId: `leaf:${hash3({ projectKey: this.projectKey, source, policyHash: this.policyHash })}`, projectKey: this.projectKey, sessionId: entries[0].sessionId, kind: "leaf", sources: source, children: [], depth: 0, sourceHash: hash3(source.map((s) => s.payloadHash)), policyHash: this.policyHash, modelHash: "", state: "pending", createdAt: this.now() };
1295
1308
  this.publish(node);
1296
1309
  return node;
1297
1310
  }
1298
- createCondensed(children = this.selectCondensation()) {
1311
+ createCondensed(children) {
1299
1312
  if (!children.length) return void 0;
1300
1313
  if (children.some((c) => c.state !== "ready")) throw new Error("condensation requires ready children");
1301
- if (new Set(children.map((c) => c.sessionId)).size !== 1 || new Set(children.map((c) => c.depth)).size !== 1) throw new Error("cross-branch ranges");
1314
+ if (new Set(children.map((c) => c.sessionId)).size !== 1 || new Set(children.map((c) => c.depth)).size !== 1) throw new Error("mixed session or depth");
1302
1315
  const storedChildren = children.map((child) => this.getNode(child.nodeId));
1303
1316
  if (storedChildren.some((child) => !child || child.projectKey !== this.projectKey)) throw new Error("child project does not match ledger project");
1304
1317
  if (storedChildren.some((child, index) => JSON.stringify(child) !== JSON.stringify(children[index]))) throw new Error("child payload changed");
1305
- const concreteBranches = new Set(storedChildren.map((c) => c.branch).filter((value) => typeof value === "string"));
1306
- if (concreteBranches.size > 1) throw new Error("cross-branch ranges");
1307
- const branch = [...concreteBranches][0] ?? null;
1308
1318
  const source = [...new Map(storedChildren.flatMap((c) => c.sources).map((value) => [this.sourceKey(value), value])).values()];
1309
1319
  this.validateSources(source);
1310
- const node = { nodeId: `condensed:${hash3({ projectKey: this.projectKey, children: storedChildren.map((c) => c.nodeId), branch, policyHash: this.policyHash })}`, projectKey: this.projectKey, sessionId: children[0].sessionId, branch, kind: "condensed", sources: source, children: children.map((c) => c.nodeId), depth: Math.max(...children.map((c) => c.depth)) + 1, sourceHash: hash3(children.map((c) => c.sourceHash)), policyHash: this.policyHash, modelHash: "", state: "pending", createdAt: this.now() };
1320
+ const node = { nodeId: `condensed:${hash3({ projectKey: this.projectKey, children: storedChildren.map((c) => c.nodeId), policyHash: this.policyHash })}`, projectKey: this.projectKey, sessionId: children[0].sessionId, kind: "condensed", sources: source, children: children.map((c) => c.nodeId), depth: Math.max(...children.map((c) => c.depth)) + 1, sourceHash: hash3(children.map((c) => c.sourceHash)), policyHash: this.policyHash, modelHash: "", state: "pending", createdAt: this.now() };
1311
1321
  this.publish(node);
1312
1322
  return node;
1313
1323
  }
@@ -1320,7 +1330,7 @@ var LcmMaintenance = class {
1320
1330
  if (new Set(source.map((s) => s.sessionId)).size !== 1) throw new Error("cross-session ranges");
1321
1331
  }
1322
1332
  sourceKey(source) {
1323
- return `${source.sessionId}:${source.entryId}:${source.revision}`;
1333
+ return `${source.entryId}:${source.payloadHash}`;
1324
1334
  }
1325
1335
  publish(node) {
1326
1336
  this.ledger.transaction((db) => {
@@ -1724,7 +1734,7 @@ var LcmRuntime = class {
1724
1734
  if (!previous || previous.revision < entry.revision) latest.set(entry.entryId, entry);
1725
1735
  }
1726
1736
  this.activeSources = new Set(
1727
- [...latest.values()].map((entry) => `${entry.sessionId}:${entry.entryId}:${entry.revision}`)
1737
+ [...latest.values()].map((entry) => this.sourceKey(entry))
1728
1738
  );
1729
1739
  this.activeSessionId = sessionId;
1730
1740
  this.invalidateFrontier();
@@ -1768,7 +1778,6 @@ var LcmRuntime = class {
1768
1778
  if (this.closed) return;
1769
1779
  const entries = this.context.sessionManager.getBranch();
1770
1780
  const sessionId = this.context.sessionManager.getSessionId();
1771
- const branch = this.context.sessionManager.getLeafId();
1772
1781
  const recorded = this.context.sessionManager.getRecordedCwd?.();
1773
1782
  if (this.persistedSessionId !== sessionId) {
1774
1783
  this.persisted = /* @__PURE__ */ new WeakMap();
@@ -1795,10 +1804,9 @@ var LcmRuntime = class {
1795
1804
  content: message ? JSON.stringify(message.content ?? "") : payloadJson,
1796
1805
  payloadJson,
1797
1806
  parentEntryId: entry.parentId ?? null,
1798
- branch,
1799
1807
  ...recorded || this.context.cwd ? { recordedCwd: recorded || this.context.cwd } : {}
1800
1808
  });
1801
- const key = `${sessionId}:${stored.entryId}:${stored.revision}`;
1809
+ const key = this.sourceKey(stored);
1802
1810
  this.persisted.set(entry, { key, contentHash });
1803
1811
  active.add(key);
1804
1812
  }
@@ -1886,7 +1894,7 @@ var LcmRuntime = class {
1886
1894
  try {
1887
1895
  if (!this.maintenance.withinBudget(sessionId)) return void 0;
1888
1896
  if (this.maintenanceOccupancyReached()) return "occupancy";
1889
- if (this.actionableJobs(sessionId, this.context.sessionManager.getLeafId(), 1).length > 0) return "jobs";
1897
+ if (this.actionableJobs(sessionId, 1).length > 0) return "jobs";
1890
1898
  const { active, covered } = this.coverage();
1891
1899
  return active - covered >= Math.max(1, this.options.maxLeafEntries ?? DEFAULT_LEAF_ENTRIES) ? "backlog" : void 0;
1892
1900
  } catch (error) {
@@ -1918,13 +1926,12 @@ var LcmRuntime = class {
1918
1926
  this.degradedError = error;
1919
1927
  });
1920
1928
  }
1921
- actionableJobs(sessionId, branch, limit) {
1929
+ actionableJobs(sessionId, limit) {
1922
1930
  const found = [];
1923
1931
  if (limit <= 0) return found;
1924
1932
  for (const job of this.maintenance.claimableJobs(sessionId, CLAIMABLE_JOB_LIMIT)) {
1925
1933
  const node = this.maintenance.getNode(job.nodeId);
1926
1934
  if (!node || node.sessionId !== sessionId) continue;
1927
- if (branch !== null && node.branch !== branch && node.branch !== null) continue;
1928
1935
  if (!node.sources.every((source) => this.activeSources.has(this.sourceKey(source)))) continue;
1929
1936
  found.push({ job, node });
1930
1937
  if (found.length >= limit) break;
@@ -1960,7 +1967,7 @@ var LcmRuntime = class {
1960
1967
  const passes = Math.max(1, this.options.maxMaintenancePasses ?? 4);
1961
1968
  const runDeadline = Date.now() + Math.max(1, this.options.maintenanceRunSeconds ?? 60) * 1e3;
1962
1969
  const raw = this.ledger.readRaw(this.projectKey, sessionId).filter(
1963
- (entry) => this.activeSources.has(`${entry.sessionId}:${entry.entryId}:${entry.revision}`)
1970
+ (entry) => this.activeSources.has(this.sourceKey(entry))
1964
1971
  );
1965
1972
  const inputFor = (node) => {
1966
1973
  if (node.kind === "condensed") return node.children.map((id) => this.maintenance.getNode(id)?.text ?? "").filter(Boolean).join("\n\n");
@@ -2000,7 +2007,7 @@ var LcmRuntime = class {
2000
2007
  };
2001
2008
  this.reclaimExpiredLeases();
2002
2009
  for (let pass = 0; pass < passes && !this.closed && Date.now() < runDeadline; pass += 1) {
2003
- const leafCandidate = this.maintenance.createLeaf(this.maintenance.selectLeaf(raw, this.context.sessionManager.getLeafId()));
2010
+ const leafCandidate = this.maintenance.createLeaf(this.maintenance.selectLeaf(raw, this.activeSources));
2004
2011
  const leaf = leafCandidate ? this.maintenance.getNode(leafCandidate.nodeId) : void 0;
2005
2012
  const batch = [];
2006
2013
  const queued = /* @__PURE__ */ new Set();
@@ -2011,13 +2018,13 @@ var LcmRuntime = class {
2011
2018
  queued.add(job.jobId);
2012
2019
  }
2013
2020
  }
2014
- const pending = this.actionableJobs(sessionId, this.context.sessionManager.getLeafId(), passes);
2021
+ const pending = this.actionableJobs(sessionId, passes);
2015
2022
  for (const item of pending) if (!queued.has(item.job.jobId)) {
2016
2023
  queued.add(item.job.jobId);
2017
2024
  batch.push(item);
2018
2025
  }
2019
2026
  await dispatch(batch);
2020
- const children = this.maintenance.selectCondensation(sessionId, this.activeSources, this.context.sessionManager.getLeafId());
2027
+ const children = this.maintenance.selectCondensation(sessionId, this.activeSources);
2021
2028
  if (children.length >= fanIn) {
2022
2029
  const node = this.maintenance.createCondensed(children);
2023
2030
  if (node) {
@@ -2026,7 +2033,7 @@ var LcmRuntime = class {
2026
2033
  }
2027
2034
  }
2028
2035
  if (!leaf && pending.length === 0 && children.length < fanIn) {
2029
- const upgrades = this.maintenance.selectUpgrades(sessionId, this.activeSources, this.context.sessionManager.getLeafId(), 1);
2036
+ const upgrades = this.maintenance.selectUpgrades(sessionId, this.activeSources, 1);
2030
2037
  const upgrade = upgrades[0];
2031
2038
  if (!upgrade) break;
2032
2039
  const job = this.maintenance.reopen(upgrade.nodeId);
@@ -2056,8 +2063,7 @@ var LcmRuntime = class {
2056
2063
  role: message?.role ?? entry.type,
2057
2064
  content: message ? JSON.stringify(message.content ?? "") : payloadJson,
2058
2065
  payloadJson,
2059
- parentEntryId: entry.parentId ?? null,
2060
- branch: input.branch
2066
+ parentEntryId: entry.parentId ?? null
2061
2067
  });
2062
2068
  persistedEntries.set(`${entry.id}:${stored.payloadHash}`, stored);
2063
2069
  }
@@ -2071,18 +2077,17 @@ var LcmRuntime = class {
2071
2077
  if (!stored) throw new Error("compaction source was not persisted");
2072
2078
  return stored;
2073
2079
  });
2074
- const activeSources = new Set(selectedStored.map((entry) => `${entry.sessionId}:${entry.entryId}:${entry.revision}`));
2075
- const frontier = this.maintenance.getFrontier(input.sessionId, input.branch, activeSources);
2076
- const coveredSources = new Set(frontier.flatMap((node) => node.sources.map((source) => `${source.sessionId}:${source.entryId}:${source.revision}`)));
2080
+ const activeSources = new Set(selectedStored.map((entry) => this.sourceKey(entry)));
2081
+ const frontier = this.maintenance.getFrontier(input.sessionId, activeSources);
2082
+ const coveredSources = new Set(frontier.flatMap((node) => node.sources.map((source) => this.sourceKey(source))));
2077
2083
  const summary = renderAddressedFrontier(frontier, requestLines);
2078
2084
  const instructionDetails = instructions.ok && (instructions.requestLines.length > 0 || instructions.policy.preserveCount > 0) ? { instructionPolicy: instructions.policy } : void 0;
2079
- if (summary && selectedStored.every((entry) => coveredSources.has(`${entry.sessionId}:${entry.entryId}:${entry.revision}`))) {
2085
+ if (summary && selectedStored.every((entry) => coveredSources.has(this.sourceKey(entry)))) {
2080
2086
  return {
2081
2087
  summary,
2082
2088
  firstKeptEntryId: input.firstKeptEntryId,
2083
2089
  tokensBefore: input.tokensBefore,
2084
2090
  source: "ready-frontier",
2085
- branch: input.branch,
2086
2091
  ...instructionDetails ? { details: instructionDetails } : {}
2087
2092
  };
2088
2093
  }
@@ -2094,14 +2099,13 @@ var LcmRuntime = class {
2094
2099
  if (!leaf) throw new Error("LCM emergency fallback node was not created");
2095
2100
  const persisted = this.maintenance.getNode(leaf.nodeId);
2096
2101
  if (persisted?.state === "ready") {
2097
- if (persisted.branch !== input.branch || JSON.stringify(persisted.sources) !== JSON.stringify(sources)) throw new Error("LCM emergency fallback provenance mismatch");
2102
+ if (JSON.stringify(persisted.sources) !== JSON.stringify(sources)) throw new Error("LCM emergency fallback provenance mismatch");
2098
2103
  if (!persisted.text) throw new Error("LCM emergency fallback text is missing");
2099
2104
  return {
2100
2105
  summary: persisted.text,
2101
2106
  firstKeptEntryId: input.firstKeptEntryId,
2102
2107
  tokensBefore: input.tokensBefore,
2103
2108
  source: "emergency",
2104
- branch: input.branch,
2105
2109
  ...instructionDetails ? { details: instructionDetails } : {}
2106
2110
  };
2107
2111
  }
@@ -2114,7 +2118,6 @@ var LcmRuntime = class {
2114
2118
  firstKeptEntryId: input.firstKeptEntryId,
2115
2119
  tokensBefore: input.tokensBefore,
2116
2120
  source: "emergency",
2117
- branch: input.branch,
2118
2121
  ...instructionDetails ? { details: instructionDetails } : {}
2119
2122
  };
2120
2123
  } catch (error) {
@@ -2124,7 +2127,6 @@ var LcmRuntime = class {
2124
2127
  firstKeptEntryId: input.firstKeptEntryId,
2125
2128
  tokensBefore: input.tokensBefore,
2126
2129
  source: "emergency",
2127
- branch: input.branch,
2128
2130
  ...instructionDetails ? { details: instructionDetails } : {}
2129
2131
  };
2130
2132
  }
@@ -2284,18 +2286,18 @@ var LcmRuntime = class {
2284
2286
  /** One frontier walk shared by preview, coverage, and the coverage map. */
2285
2287
  frontierSnapshot() {
2286
2288
  const sessionId = this.activeSessionId ?? "";
2287
- const branch = this.context.sessionManager.getLeafId();
2288
2289
  const cached = this.frontierCache;
2289
- if (cached && cached.sessionId === sessionId && cached.branch === branch && Date.now() - cached.at < 250) {
2290
+ if (cached && cached.sessionId === sessionId && Date.now() - cached.at < 250) {
2290
2291
  return { nodes: cached.nodes, covered: cached.covered };
2291
2292
  }
2292
- const nodes = sessionId ? this.maintenance.getFrontier(sessionId, branch, this.activeSources) : [];
2293
+ const nodes = sessionId ? this.maintenance.getFrontier(sessionId, this.activeSources) : [];
2293
2294
  const covered = new Set(nodes.flatMap((node) => node.sources.map((source) => this.sourceKey(source))));
2294
- this.frontierCache = { at: Date.now(), sessionId, branch, nodes, covered };
2295
+ this.frontierCache = { at: Date.now(), sessionId, nodes, covered };
2295
2296
  return { nodes, covered };
2296
2297
  }
2298
+ /** Content identity, so a fork keeps the summaries built over the entries it inherited. */
2297
2299
  sourceKey(source) {
2298
- return `${source.sessionId}:${source.entryId}:${source.revision}`;
2300
+ return `${source.entryId}:${source.payloadHash}`;
2299
2301
  }
2300
2302
  /** Assembles what a compaction would serve now. Reads only; it never persists a node. */
2301
2303
  preview() {
@@ -2318,7 +2320,7 @@ var LcmRuntime = class {
2318
2320
  if (!sessionId) return [];
2319
2321
  const { covered } = this.frontierSnapshot();
2320
2322
  return this.ledger.readRawKeys(this.projectKey, sessionId, limit).map((entry) => {
2321
- const key = this.sourceKey(entry);
2323
+ const key = this.sourceKey({ entryId: entry.entryId, payloadHash: entry.contentHash });
2322
2324
  return { key, covered: covered.has(key) };
2323
2325
  });
2324
2326
  }
@@ -2358,17 +2360,17 @@ var LcmRuntime = class {
2358
2360
  },
2359
2361
  ...this.activeSessionId === void 0 ? {} : { currentSessionId: this.activeSessionId },
2360
2362
  summaries: {
2361
- listNodes: ({ sessionId, branch, limit }) => this.maintenance.getFrontier(sessionId, branch, sessionId === this.activeSessionId ? this.activeSources : void 0).slice(0, limit).map((node) => ({ ...node, text: node.text ?? "", sources: node.sources.map((source) => ({ entryId: source.entryId, revision: source.revision, contentHash: source.payloadHash })) })),
2363
+ listNodes: ({ sessionId, limit }) => this.maintenance.getFrontier(sessionId, sessionId === this.activeSessionId ? this.activeSources : void 0).slice(0, limit).map((node) => ({ ...node, text: node.text ?? "", sources: node.sources.map((source) => ({ entryId: source.entryId, revision: source.revision, contentHash: source.payloadHash })) })),
2362
2364
  getNode: (nodeId) => {
2363
2365
  const node = this.maintenance.getNode(nodeId);
2364
2366
  return node ? { ...node, text: node.text ?? "", sources: node.sources.map((source) => ({ entryId: source.entryId, revision: source.revision, contentHash: source.payloadHash })) } : void 0;
2365
2367
  }
2366
2368
  },
2367
- branchForSession: (sessionId) => sessionId === this.activeSessionId ? { branch: this.context.sessionManager.getLeafId(), activeSourceKeys: [...this.activeSources], ready: this.status === "healthy" } : void 0
2369
+ branchForSession: () => this.activeSessionId === void 0 ? void 0 : { activeSourceKeys: [...this.activeSources], ready: this.status === "healthy" }
2368
2370
  };
2369
2371
  }
2370
- frontier(sessionId, branch) {
2371
- return this.maintenance.getFrontier(sessionId, branch, sessionId === this.activeSessionId ? this.activeSources : void 0);
2372
+ frontier(sessionId) {
2373
+ return this.maintenance.getFrontier(sessionId, sessionId === this.activeSessionId ? this.activeSources : void 0);
2372
2374
  }
2373
2375
  raw(sessionId) {
2374
2376
  return this.ledger.readRaw(this.projectKey, sessionId);