pi-fabric 0.33.0 → 0.35.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 (42) hide show
  1. package/dist/compaction/branch-details.d.ts +39 -15
  2. package/dist/compaction/branch-details.d.ts.map +1 -1
  3. package/dist/compaction/branch-details.js +75 -33
  4. package/dist/compaction/branch-details.js.map +1 -1
  5. package/dist/compaction/branch-summary.d.ts +2 -2
  6. package/dist/compaction/branch-summary.d.ts.map +1 -1
  7. package/dist/compaction/branch-summary.js +14 -1
  8. package/dist/compaction/branch-summary.js.map +1 -1
  9. package/dist/compaction/hook.d.ts +8 -1
  10. package/dist/compaction/hook.d.ts.map +1 -1
  11. package/dist/compaction/hook.js +64 -27
  12. package/dist/compaction/hook.js.map +1 -1
  13. package/dist/compaction/normalize.d.ts +11 -1
  14. package/dist/compaction/normalize.d.ts.map +1 -1
  15. package/dist/compaction/normalize.js +53 -4
  16. package/dist/compaction/normalize.js.map +1 -1
  17. package/dist/compaction/projections.d.ts.map +1 -1
  18. package/dist/compaction/projections.js +69 -21
  19. package/dist/compaction/projections.js.map +1 -1
  20. package/dist/compaction/qa.d.ts.map +1 -1
  21. package/dist/compaction/qa.js +19 -1
  22. package/dist/compaction/qa.js.map +1 -1
  23. package/dist/compaction/render.js +1 -1
  24. package/dist/compaction/render.js.map +1 -1
  25. package/dist/compaction/trace-events.d.ts +1 -0
  26. package/dist/compaction/trace-events.d.ts.map +1 -1
  27. package/dist/compaction/trace-events.js +1 -0
  28. package/dist/compaction/trace-events.js.map +1 -1
  29. package/dist/fabric-exec-tool.d.ts.map +1 -1
  30. package/dist/fabric-exec-tool.js +7 -2
  31. package/dist/fabric-exec-tool.js.map +1 -1
  32. package/dist/memory/normalize.d.ts +4 -2
  33. package/dist/memory/normalize.d.ts.map +1 -1
  34. package/dist/memory/normalize.js +22 -3
  35. package/dist/memory/normalize.js.map +1 -1
  36. package/dist/ui/settings.js +2 -2
  37. package/dist/ui/settings.js.map +1 -1
  38. package/docs/certification.md +1 -1
  39. package/docs/compaction.md +42 -19
  40. package/docs/configuration.md +1 -1
  41. package/docs/memory-recall.md +5 -2
  42. package/package.json +1 -1
@@ -1,8 +1,11 @@
1
1
  import type { FabricExecutionOutcomeV1, FabricTraceJsonValue } from "../audit/trace.js";
2
2
  export declare const FABRIC_BRANCH_SUMMARY_KIND: "pi-fabric.branch-summary";
3
- export declare const FABRIC_BRANCH_SUMMARY_VERSION: 1;
3
+ declare const FABRIC_BRANCH_SUMMARY_VERSION_V1: 1;
4
+ export declare const FABRIC_BRANCH_SUMMARY_VERSION: 2;
4
5
  export declare const FABRIC_BRANCH_SUMMARY_MAX_BYTES: number;
5
6
  export declare const FABRIC_BRANCH_SUMMARY_MAX_FACTS = 256;
7
+ export declare const FABRIC_BRANCH_RUN_NAME_MAX_BYTES = 256;
8
+ export declare const FABRIC_BRANCH_RUN_DESCRIPTION_MAX_BYTES = 1024;
6
9
  interface BranchFactBase {
7
10
  entryId: string;
8
11
  subordinal: string;
@@ -34,26 +37,47 @@ export interface FabricBranchOperationFactV1 extends BranchFactBase {
34
37
  error?: string;
35
38
  result?: FabricTraceJsonValue;
36
39
  }
37
- export type FabricBranchFactV1 = FabricBranchUserFactV1 | FabricBranchCustomMessageFactV1 | FabricBranchPhaseFactV1 | FabricBranchOperationFactV1;
40
+ type FabricBranchFactV1 = FabricBranchUserFactV1 | FabricBranchCustomMessageFactV1 | FabricBranchPhaseFactV1 | FabricBranchOperationFactV1;
41
+ interface FabricBranchRunFactV2 extends BranchFactBase {
42
+ kind: "fabricRun";
43
+ name: string;
44
+ description?: string;
45
+ outcome: FabricExecutionOutcomeV1;
46
+ }
47
+ export type FabricBranchFactV2 = FabricBranchFactV1 | FabricBranchRunFactV2;
48
+ interface FabricBranchSummarySource {
49
+ firstEntryId: string;
50
+ lastEntryId: string;
51
+ entryCount: number;
52
+ /** Canonical abandoned-branch provenance. Absent only on older v1 envelopes. */
53
+ oldLeafId?: string | null;
54
+ }
55
+ interface FabricBranchSummaryRequest {
56
+ text: string;
57
+ sourceBytes: number;
58
+ truncated: boolean;
59
+ }
38
60
  export interface FabricBranchSummaryDetailsV1 {
39
61
  kind: typeof FABRIC_BRANCH_SUMMARY_KIND;
40
- version: typeof FABRIC_BRANCH_SUMMARY_VERSION;
41
- source: {
42
- firstEntryId: string;
43
- lastEntryId: string;
44
- entryCount: number;
45
- /** Canonical abandoned-branch provenance. Absent only on older v1 envelopes. */
46
- oldLeafId?: string | null;
47
- };
62
+ version: typeof FABRIC_BRANCH_SUMMARY_VERSION_V1;
63
+ source: FabricBranchSummarySource;
48
64
  facts: FabricBranchFactV1[];
49
65
  omittedFacts: number;
50
66
  sections: string[];
51
- request: {
52
- text: string;
53
- sourceBytes: number;
54
- truncated: boolean;
55
- };
67
+ request: FabricBranchSummaryRequest;
68
+ }
69
+ export interface FabricBranchSummaryDetailsV2 {
70
+ kind: typeof FABRIC_BRANCH_SUMMARY_KIND;
71
+ version: typeof FABRIC_BRANCH_SUMMARY_VERSION;
72
+ source: FabricBranchSummarySource;
73
+ facts: FabricBranchFactV2[];
74
+ omittedFacts: number;
75
+ sections: string[];
76
+ request: FabricBranchSummaryRequest;
56
77
  }
78
+ export type FabricBranchSummaryDetails = FabricBranchSummaryDetailsV1 | FabricBranchSummaryDetailsV2;
57
79
  export declare const readFabricBranchSummaryDetailsV1: (value: unknown) => FabricBranchSummaryDetailsV1 | undefined;
80
+ export declare const readFabricBranchSummaryDetailsV2: (value: unknown) => FabricBranchSummaryDetailsV2 | undefined;
81
+ export declare const readFabricBranchSummaryDetails: (value: unknown) => FabricBranchSummaryDetails | undefined;
58
82
  export {};
59
83
  //# sourceMappingURL=branch-details.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"branch-details.d.ts","sourceRoot":"","sources":["../../src/compaction/branch-details.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,wBAAwB,EACxB,oBAAoB,EACrB,MAAM,mBAAmB,CAAC;AAE3B,eAAO,MAAM,0BAA0B,EAAG,0BAAmC,CAAC;AAC9E,eAAO,MAAM,6BAA6B,EAAG,CAAU,CAAC;AACxD,eAAO,MAAM,+BAA+B,QAAa,CAAC;AAC1D,eAAO,MAAM,+BAA+B,MAAM,CAAC;AAEnD,UAAU,cAAc;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,sBAAuB,SAAQ,cAAc;IACrD,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,UAAU,+BAAgC,SAAQ,cAAc;IAC9D,IAAI,EAAE,eAAe,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,oBAAoB,CAAC;CAChC;AAED,UAAU,uBAAwB,SAAQ,cAAc;IACtD,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,2BAA4B,SAAQ,cAAc;IACjE,IAAI,EAAE,WAAW,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;IAC3C,OAAO,EAAE,wBAAwB,CAAC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,oBAAoB,CAAC;CAC/B;AAED,MAAM,MAAM,kBAAkB,GAC1B,sBAAsB,GACtB,+BAA+B,GAC/B,uBAAuB,GACvB,2BAA2B,CAAC;AAEhC,MAAM,WAAW,4BAA4B;IAC3C,IAAI,EAAE,OAAO,0BAA0B,CAAC;IACxC,OAAO,EAAE,OAAO,6BAA6B,CAAC;IAC9C,MAAM,EAAE;QACN,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;QACnB,gFAAgF;QAChF,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KAC3B,CAAC;IACF,KAAK,EAAE,kBAAkB,EAAE,CAAC;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE;QACP,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,OAAO,CAAC;KACpB,CAAC;CACH;AAwFD,eAAO,MAAM,gCAAgC,GAC3C,OAAO,OAAO,KACb,4BAA4B,GAAG,SA0BjC,CAAC"}
1
+ {"version":3,"file":"branch-details.d.ts","sourceRoot":"","sources":["../../src/compaction/branch-details.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,10 @@
1
1
  export const FABRIC_BRANCH_SUMMARY_KIND = "pi-fabric.branch-summary";
2
- export const FABRIC_BRANCH_SUMMARY_VERSION = 1;
2
+ const FABRIC_BRANCH_SUMMARY_VERSION_V1 = 1;
3
+ export const FABRIC_BRANCH_SUMMARY_VERSION = 2;
3
4
  export const FABRIC_BRANCH_SUMMARY_MAX_BYTES = 128 * 1024;
4
5
  export const FABRIC_BRANCH_SUMMARY_MAX_FACTS = 256;
6
+ export const FABRIC_BRANCH_RUN_NAME_MAX_BYTES = 256;
7
+ export const FABRIC_BRANCH_RUN_DESCRIPTION_MAX_BYTES = 1024;
5
8
  const isRecord = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
6
9
  const hasOnlyKeys = (value, keys) => Object.keys(value).every((key) => keys.includes(key));
7
10
  const MAX_DETAILS_JSON_NODES = 4096;
@@ -39,7 +42,7 @@ const validBase = (fact) => typeof fact.entryId === "string"
39
42
  && typeof fact.subordinal === "string"
40
43
  && typeof fact.address === "string"
41
44
  && fact.address === `${fact.entryId}/${fact.subordinal}`;
42
- const isFact = (value, jsonState) => {
45
+ const isFactV1 = (value, jsonState) => {
43
46
  if (!isRecord(value) || !validBase(value))
44
47
  return false;
45
48
  if (value.kind === "user") {
@@ -76,46 +79,85 @@ const isFact = (value, jsonState) => {
76
79
  && (value.error === undefined || typeof value.error === "string")
77
80
  && (value.result === undefined || isJsonValue(value.result, jsonState));
78
81
  };
82
+ const isFactV2 = (value, jsonState) => {
83
+ if (isRecord(value) && value.kind === "fabricRun") {
84
+ return validBase(value)
85
+ && typeof value.subordinal === "string"
86
+ && value.subordinal.startsWith("call:")
87
+ && value.subordinal.length > "call:".length
88
+ && hasOnlyKeys(value, [
89
+ "kind", "entryId", "subordinal", "address", "name", "description", "outcome",
90
+ ])
91
+ && typeof value.name === "string"
92
+ && value.name.trim().length > 0
93
+ && Buffer.byteLength(value.name, "utf8") <= FABRIC_BRANCH_RUN_NAME_MAX_BYTES
94
+ && (value.description === undefined
95
+ || (typeof value.description === "string"
96
+ && Buffer.byteLength(value.description, "utf8") <= FABRIC_BRANCH_RUN_DESCRIPTION_MAX_BYTES))
97
+ && outcomes.has(value.outcome);
98
+ }
99
+ return isFactV1(value, jsonState);
100
+ };
79
101
  const serializedBytes = (value) => Buffer.byteLength(JSON.stringify(value), "utf8");
102
+ const validEnvelope = (value, version, factValidator) => {
103
+ if (!hasOnlyKeys(value, [
104
+ "kind", "version", "source", "facts", "omittedFacts", "sections", "request",
105
+ ]))
106
+ return false;
107
+ if (value.kind !== FABRIC_BRANCH_SUMMARY_KIND || value.version !== version)
108
+ return false;
109
+ if (!isRecord(value.source)
110
+ || !hasOnlyKeys(value.source, ["firstEntryId", "lastEntryId", "entryCount", "oldLeafId"]))
111
+ return false;
112
+ if (typeof value.source.firstEntryId !== "string" || typeof value.source.lastEntryId !== "string")
113
+ return false;
114
+ if (!Number.isSafeInteger(value.source.entryCount) || value.source.entryCount < 0)
115
+ return false;
116
+ if (value.source.oldLeafId !== undefined
117
+ && value.source.oldLeafId !== null
118
+ && typeof value.source.oldLeafId !== "string")
119
+ return false;
120
+ const jsonState = { nodes: 0, ancestors: new Set() };
121
+ if (!Array.isArray(value.facts)
122
+ || value.facts.length > FABRIC_BRANCH_SUMMARY_MAX_FACTS
123
+ || !value.facts.every((fact) => factValidator(fact, jsonState)))
124
+ return false;
125
+ if (!Number.isSafeInteger(value.omittedFacts) || value.omittedFacts < 0)
126
+ return false;
127
+ if (!Array.isArray(value.sections)
128
+ || value.sections.length > 64
129
+ || !value.sections.every((section) => typeof section === "string"))
130
+ return false;
131
+ if (!isRecord(value.request)
132
+ || !hasOnlyKeys(value.request, ["text", "sourceBytes", "truncated"]))
133
+ return false;
134
+ if (typeof value.request.text !== "string" || typeof value.request.truncated !== "boolean")
135
+ return false;
136
+ if (!Number.isSafeInteger(value.request.sourceBytes) || value.request.sourceBytes < 0)
137
+ return false;
138
+ return serializedBytes(value) <= FABRIC_BRANCH_SUMMARY_MAX_BYTES;
139
+ };
80
140
  export const readFabricBranchSummaryDetailsV1 = (value) => {
81
141
  try {
82
- if (!isRecord(value) || !hasOnlyKeys(value, [
83
- "kind", "version", "source", "facts", "omittedFacts", "sections", "request",
84
- ]))
85
- return undefined;
86
- if (value.kind !== FABRIC_BRANCH_SUMMARY_KIND || value.version !== FABRIC_BRANCH_SUMMARY_VERSION)
87
- return undefined;
88
- if (!isRecord(value.source) || !hasOnlyKeys(value.source, ["firstEntryId", "lastEntryId", "entryCount", "oldLeafId"]))
142
+ if (!isRecord(value) || !validEnvelope(value, FABRIC_BRANCH_SUMMARY_VERSION_V1, isFactV1)) {
89
143
  return undefined;
90
- if (typeof value.source.firstEntryId !== "string" || typeof value.source.lastEntryId !== "string")
91
- return undefined;
92
- if (!Number.isSafeInteger(value.source.entryCount) || value.source.entryCount < 0)
93
- return undefined;
94
- if (value.source.oldLeafId !== undefined && value.source.oldLeafId !== null && typeof value.source.oldLeafId !== "string")
95
- return undefined;
96
- const jsonState = { nodes: 0, ancestors: new Set() };
97
- if (!Array.isArray(value.facts)
98
- || value.facts.length > FABRIC_BRANCH_SUMMARY_MAX_FACTS
99
- || !value.facts.every((fact) => isFact(fact, jsonState)))
100
- return undefined;
101
- if (!Number.isSafeInteger(value.omittedFacts) || value.omittedFacts < 0)
102
- return undefined;
103
- if (!Array.isArray(value.sections)
104
- || value.sections.length > 64
105
- || !value.sections.every((section) => typeof section === "string"))
106
- return undefined;
107
- if (!isRecord(value.request) || !hasOnlyKeys(value.request, ["text", "sourceBytes", "truncated"]))
108
- return undefined;
109
- if (typeof value.request.text !== "string" || typeof value.request.truncated !== "boolean")
110
- return undefined;
111
- if (!Number.isSafeInteger(value.request.sourceBytes) || value.request.sourceBytes < 0)
112
- return undefined;
113
- if (serializedBytes(value) > FABRIC_BRANCH_SUMMARY_MAX_BYTES)
144
+ }
145
+ return value;
146
+ }
147
+ catch {
148
+ return undefined;
149
+ }
150
+ };
151
+ export const readFabricBranchSummaryDetailsV2 = (value) => {
152
+ try {
153
+ if (!isRecord(value) || !validEnvelope(value, FABRIC_BRANCH_SUMMARY_VERSION, isFactV2)) {
114
154
  return undefined;
155
+ }
115
156
  return value;
116
157
  }
117
158
  catch {
118
159
  return undefined;
119
160
  }
120
161
  };
162
+ export const readFabricBranchSummaryDetails = (value) => readFabricBranchSummaryDetailsV2(value) ?? readFabricBranchSummaryDetailsV1(value);
121
163
  //# sourceMappingURL=branch-details.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"branch-details.js","sourceRoot":"","sources":["../../src/compaction/branch-details.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"branch-details.js","sourceRoot":"","sources":["../../src/compaction/branch-details.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  import type { SessionEntry } from "@earendil-works/pi-coding-agent";
2
- import { type FabricBranchSummaryDetailsV1 } from "./branch-details.js";
2
+ import { type FabricBranchSummaryDetailsV2 } from "./branch-details.js";
3
3
  import { type CompactionEnricher } from "./enrichers.js";
4
4
  export interface FabricBranchSummaryCompilation {
5
5
  summary: string;
6
- details: FabricBranchSummaryDetailsV1;
6
+ details: FabricBranchSummaryDetailsV2;
7
7
  }
8
8
  export declare const compileFabricBranchSummary: (entriesToSummarize: SessionEntry[], customInstructions?: string, enrichers?: readonly CompactionEnricher[], oldLeafId?: string | null) => FabricBranchSummaryCompilation | undefined;
9
9
  //# sourceMappingURL=branch-summary.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"branch-summary.d.ts","sourceRoot":"","sources":["../../src/compaction/branch-summary.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAGpE,OAAO,EAOL,KAAK,4BAA4B,EAClC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAsC,KAAK,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAwK7F,MAAM,WAAW,8BAA8B;IAC7C,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,4BAA4B,CAAC;CACvC;AAED,eAAO,MAAM,0BAA0B,GACrC,oBAAoB,YAAY,EAAE,EAClC,qBAAqB,MAAM,EAC3B,YAAW,SAAS,kBAAkB,EAAyB,EAC/D,YAAW,MAAM,GAAG,IAAW,KAC9B,8BAA8B,GAAG,SA2BnC,CAAC"}
1
+ {"version":3,"file":"branch-summary.d.ts","sourceRoot":"","sources":["../../src/compaction/branch-summary.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAGpE,OAAO,EASL,KAAK,4BAA4B,EAClC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAsC,KAAK,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAoL7F,MAAM,WAAW,8BAA8B;IAC7C,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,4BAA4B,CAAC;CACvC;AAED,eAAO,MAAM,0BAA0B,GACrC,oBAAoB,YAAY,EAAE,EAClC,qBAAqB,MAAM,EAC3B,YAAW,SAAS,kBAAkB,EAAyB,EAC/D,YAAW,MAAM,GAAG,IAAW,KAC9B,8BAA8B,GAAG,SA2BnC,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { clipUtf8, sampleAddressed } from "./bounds.js";
2
- import { FABRIC_BRANCH_SUMMARY_KIND, FABRIC_BRANCH_SUMMARY_MAX_BYTES, FABRIC_BRANCH_SUMMARY_MAX_FACTS, FABRIC_BRANCH_SUMMARY_VERSION, } from "./branch-details.js";
2
+ import { FABRIC_BRANCH_SUMMARY_KIND, FABRIC_BRANCH_RUN_DESCRIPTION_MAX_BYTES, FABRIC_BRANCH_RUN_NAME_MAX_BYTES, FABRIC_BRANCH_SUMMARY_MAX_BYTES, FABRIC_BRANCH_SUMMARY_MAX_FACTS, FABRIC_BRANCH_SUMMARY_VERSION, } from "./branch-details.js";
3
3
  import { NO_BUILTIN_ENRICHERS, runEnrichers } from "./enrichers.js";
4
4
  import { decodeCompactionInstructions } from "./instructions.js";
5
5
  import { normalizeEntries } from "./normalize.js";
@@ -82,6 +82,19 @@ const factsFromEvents = (events) => {
82
82
  phase: event.phase,
83
83
  });
84
84
  }
85
+ else if (event.kind === "fabricRun") {
86
+ facts.push({
87
+ kind: "fabricRun",
88
+ entryId: event.entryId,
89
+ subordinal: event.subordinal,
90
+ address: event.address,
91
+ name: clipUtf8(event.name, FABRIC_BRANCH_RUN_NAME_MAX_BYTES),
92
+ ...(event.description !== undefined
93
+ ? { description: clipUtf8(event.description, FABRIC_BRANCH_RUN_DESCRIPTION_MAX_BYTES) }
94
+ : {}),
95
+ outcome: event.outcome,
96
+ });
97
+ }
85
98
  else if (event.kind === "fabricOperation") {
86
99
  facts.push({
87
100
  kind: "operation",
@@ -1 +1 @@
1
- {"version":3,"file":"branch-summary.js","sourceRoot":"","sources":["../../src/compaction/branch-summary.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EACL,0BAA0B,EAC1B,+BAA+B,EAC/B,+BAA+B,EAC/B,6BAA6B,GAI9B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,oBAAoB,EAAE,YAAY,EAA2B,MAAM,gBAAgB,CAAC;AAC7F,OAAO,EAAE,4BAA4B,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAA4C,MAAM,gBAAgB,CAAC;AAC5F,OAAO,EAAE,mBAAmB,EAAiB,MAAM,kBAAkB,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,MAAM,eAAe,GAA8C;IACjE,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE;IACzC,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,qBAAqB,EAAE;IAC/C,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,mBAAmB,EAAE;IAChD,EAAE,GAAG,EAAE,aAAa,EAAE,MAAM,EAAE,uBAAuB,EAAE;IACvD,EAAE,GAAG,EAAE,cAAc,EAAE,MAAM,EAAE,iBAAiB,EAAE;IAClD,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,kBAAkB,EAAE;CAC9C,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,KAA8B,EAAoD,EAAE;IACxG,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAY,CAAC;QAC5D,OAAO,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YACnE,CAAC,CAAC,MAA8C;YAChD,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAC1B,IAAmB,EACnB,OAA+B,EAC/B,KAAc,EAC2B,EAAE;IAC3C,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa;QAAE,OAAO,SAAS,CAAC;IAClD,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5B,MAAM,UAAU,GAAG,QAAQ,IAAI,CAAC,UAAU,EAAE,CAAC;IAC7C,OAAO;QACL,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,UAAU;QACV,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,IAAI,UAAU,EAAE;QACxC,GAAG,EAAE,IAAI,CAAC,IAAI;QACd,MAAM,EAAE,IAAI,CAAC,IAAI;QACjB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,IAAI;QACJ,OAAO;QACP,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACvD,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,MAAyB,EAAwB,EAAE;IAC1E,MAAM,KAAK,GAAyB,EAAE,CAAC;IACvC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAyB,CAAC;IAC/C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU;YAAE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IACpE,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC1B,KAAK,CAAC,IAAI,CAAC;gBACT,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,UAAU,EAAE,MAAM;gBAClB,OAAO,EAAE,GAAG,KAAK,CAAC,OAAO,OAAO;gBAChC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;aACrC,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;YAC1C,KAAK,CAAC,IAAI,CAAC;gBACT,IAAI,EAAE,eAAe;gBACrB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,UAAU,EAAE,gBAAgB;gBAC5B,OAAO,EAAE,GAAG,KAAK,CAAC,OAAO,iBAAiB;gBAC1C,UAAU,EAAE,QAAQ,CAAC,KAAK,CAAC,UAAU,EAAE,GAAG,CAAC;gBAC3C,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;gBACpC,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,GAAG,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACnE,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;YACxC,KAAK,CAAC,IAAI,CAAC;gBACT,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,KAAK,EAAE,KAAK,CAAC,KAAK;aACnB,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;YAC5C,KAAK,CAAC,IAAI,CAAC;gBACT,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,GAAG,EAAE,KAAK,CAAC,GAAG;gBACd,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvD,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjD,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5D,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAChE,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,IAAI,KAAK,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;YACpE,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACxE,IAAI,CAAC,IAAI;gBAAE,SAAS;YACpB,MAAM,IAAI,GAAG,mBAAmB,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YACvH,IAAI,IAAI;gBAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACjC,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACxE,IAAI,IAAI,EAAE,CAAC;gBACT,MAAM,IAAI,GAAG,mBAAmB,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;gBAC5F,IAAI,IAAI;oBAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC7B,CAAC;iBAAM,CAAC;gBACN,MAAM,UAAU,GAAG,MAAM,CAAC;gBAC1B,KAAK,CAAC,IAAI,CAAC;oBACT,IAAI,EAAE,WAAW;oBACjB,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,UAAU;oBACV,OAAO,EAAE,GAAG,KAAK,CAAC,OAAO,IAAI,UAAU,EAAE;oBACzC,GAAG,EAAE,MAAM;oBACX,MAAM,EAAE,MAAM;oBACd,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE;oBAChC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW;oBAC/C,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACnE,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,KAAc,EAAU,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC;AAErG,MAAM,cAAc,GAAG,CACrB,aAA6B,EAC7B,KAA2B,EAC3B,QAAkB,EAClB,OAAkE,EAClE,SAAwB,EACM,EAAE;IAChC,MAAM,OAAO,GAAG,eAAe,CAAC,KAAK,EAAE,+BAA+B,CAAC,CAAC;IACxE,MAAM,OAAO,GAAiC;QAC5C,IAAI,EAAE,0BAA0B;QAChC,OAAO,EAAE,6BAA6B;QACtC,MAAM,EAAE;YACN,YAAY,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE;YACxC,WAAW,EAAE,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE;YAC3C,UAAU,EAAE,aAAa,CAAC,MAAM;YAChC,SAAS;SACV;QACD,KAAK,EAAE,OAAO,CAAC,MAAM;QACrB,YAAY,EAAE,OAAO,CAAC,OAAO;QAC7B,QAAQ;QACR,OAAO,EAAE;YACP,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,SAAS,EAAE,OAAO,CAAC,SAAS;SAC7B;KACF,CAAC;IACF,KAAK,IAAI,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,eAAe,CAAC,OAAO,CAAC,GAAG,+BAA+B,IAAI,KAAK,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;QAC7H,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAE,CAAC;QACnC,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC,MAAM,CAAC;IACjF,CAAC;IACD,OAAO,eAAe,CAAC,OAAO,CAAC,GAAG,+BAA+B,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9F,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACpD,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAChC,OAAO,CAAC,YAAY,IAAI,CAAC,CAAC;IAC5B,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAOF,MAAM,CAAC,MAAM,0BAA0B,GAAG,CACxC,kBAAkC,EAClC,kBAA2B,EAC3B,YAA2C,oBAAoB,EAC/D,YAA2B,IAAI,EACa,EAAE;IAC9C,MAAM,YAAY,GAAG,4BAA4B,CAAC,kBAAkB,CAAC,CAAC;IACtE,IAAI,CAAC,YAAY,CAAC,EAAE;QAAE,OAAO,SAAS,CAAC;IACvC,MAAM,MAAM,GAAG,gBAAgB,CAAC,kBAAkB,CAAC,CAAC;IACpD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC1C,MAAM,SAAS,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAC9C,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;IACpD,MAAM,OAAO,GAAG;QACd,IAAI,EAAE,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;QAC1C,WAAW,EAAE,YAAY,CAAC,MAAM,CAAC,WAAW;QAC5C,SAAS,EAAE,YAAY,CAAC,MAAM,CAAC,SAAS;KACzC,CAAC;IACF,MAAM,QAAQ,GAAG,eAAe;SAC7B,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;SACvD,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;IAC/B,IAAI,OAAO,CAAC,IAAI;QAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,sBAAsB,CAAC,CAAC;IAChE,MAAM,OAAO,GAAG,aAAa,CAAC,SAAS,CAAC,QAAQ,EAAE;QAChD,YAAY,EAAE,kBAAkB,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE;QAC7C,WAAW,EAAE,kBAAkB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE;QAChD,aAAa,EAAE,kBAAkB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,IAAI,EAAE;QACzD,GAAG,CAAC,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,YAAY,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5F,WAAW,EAAE,QAAQ;KACtB,CAAC,CAAC;IACH,OAAO;QACL,OAAO;QACP,OAAO,EAAE,cAAc,CAAC,kBAAkB,EAAE,eAAe,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC;KACnG,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"branch-summary.js","sourceRoot":"","sources":["../../src/compaction/branch-summary.ts"],"names":[],"mappings":"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"}
@@ -9,8 +9,9 @@ export interface FabricCompactionBudget {
9
9
  reserveTokens: number;
10
10
  keepRecentTokens: number;
11
11
  }
12
+ type FabricCompactionBindingConstraint = "continuity" | "occupancy" | "reserve" | "reduction";
12
13
  export interface FabricCompactionBudgetDetails {
13
- strategy: "adaptive";
14
+ strategy: "adaptive" | "continuity";
14
15
  contextWindow: number;
15
16
  targetContextRatio: number;
16
17
  targetContextTokens: number;
@@ -21,6 +22,12 @@ export interface FabricCompactionBudgetDetails {
21
22
  fixedOverheadTokens: number;
22
23
  retainedRawTokens: number;
23
24
  projectedTokensAfter: number;
25
+ continuityTargetTokens?: number;
26
+ occupancyCeilingTokens?: number;
27
+ safeCeilingTokens?: number;
28
+ reductionCeilingTokens?: number;
29
+ rawTailTokenBudget?: number;
30
+ bindingConstraint?: FabricCompactionBindingConstraint;
24
31
  }
25
32
  export type CutResult = {
26
33
  ok: true;
@@ -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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"}
@@ -215,7 +215,7 @@ const tokenCalibration = (branchEntries, tokensBefore, rawTokensBefore) => {
215
215
  const fixedOverheadTokens = Math.max(0, tokensBefore - tokenScale * rawTokensBefore, ...checkpoints.map((checkpoint) => checkpoint.contextTokens - tokenScale * checkpoint.rawTokens));
216
216
  return { tokenScale, fixedOverheadTokens };
217
217
  };
218
- const adaptiveCutPlan = (branchEntries, tokensBefore, budget) => {
218
+ const continuityCutPlan = (branchEntries, tokensBefore, budget) => {
219
219
  if (!Number.isFinite(budget.contextWindow) || budget.contextWindow <= 0)
220
220
  return undefined;
221
221
  const contextWindow = Math.floor(budget.contextWindow);
@@ -224,12 +224,19 @@ const adaptiveCutPlan = (branchEntries, tokensBefore, budget) => {
224
224
  const targetContextRatio = Math.max(0.25, Math.min(0.85, budget.targetContextRatio));
225
225
  const rawTokensBefore = rawContextTokens(branchEntries);
226
226
  const { tokenScale, fixedOverheadTokens } = tokenCalibration(branchEntries, tokensBefore, rawTokensBefore);
227
+ const continuityTargetTokens = Math.max(1, Math.ceil(fixedOverheadTokens + (keepRecentTokens + SUMMARY_RAW_TOKEN_BUDGET) * tokenScale));
228
+ const occupancyCeilingTokens = Math.max(1, Math.floor(contextWindow * targetContextRatio));
227
229
  const hardCeiling = Math.max(1, contextWindow - reserveTokens);
228
- const safeCeiling = Math.max(1, Math.floor(hardCeiling * HARD_CEILING_SAFETY_RATIO));
229
- const configuredTarget = Math.floor(contextWindow * targetContextRatio);
230
- const keepRecentTarget = Math.ceil(fixedOverheadTokens + (keepRecentTokens + SUMMARY_RAW_TOKEN_BUDGET) * tokenScale);
231
- const reductionCeiling = Math.max(1, Math.floor(tokensBefore * MAX_PRECOMPACTION_RATIO));
232
- const targetContextTokens = Math.min(safeCeiling, reductionCeiling, Math.max(configuredTarget, keepRecentTarget));
230
+ const safeCeilingTokens = Math.max(1, Math.floor(hardCeiling * HARD_CEILING_SAFETY_RATIO));
231
+ const reductionCeilingTokens = Math.max(1, Math.floor(tokensBefore * MAX_PRECOMPACTION_RATIO));
232
+ const constraints = [
233
+ { binding: "continuity", tokens: continuityTargetTokens },
234
+ { binding: "occupancy", tokens: occupancyCeilingTokens },
235
+ { binding: "reserve", tokens: safeCeilingTokens },
236
+ { binding: "reduction", tokens: reductionCeilingTokens },
237
+ ];
238
+ const targetContextTokens = Math.min(...constraints.map(({ tokens }) => tokens));
239
+ const bindingConstraint = constraints.find(({ tokens }) => tokens === targetContextTokens).binding;
233
240
  const rawPostBudget = Math.max(0, Math.floor((targetContextTokens - fixedOverheadTokens) / tokenScale));
234
241
  return {
235
242
  contextWindow,
@@ -240,7 +247,12 @@ const adaptiveCutPlan = (branchEntries, tokensBefore, budget) => {
240
247
  rawTokensBefore,
241
248
  tokenScale,
242
249
  fixedOverheadTokens,
243
- recentRawTokenBudget: Math.max(0, rawPostBudget - SUMMARY_RAW_TOKEN_BUDGET),
250
+ continuityTargetTokens,
251
+ occupancyCeilingTokens,
252
+ safeCeilingTokens,
253
+ reductionCeilingTokens,
254
+ rawTailTokenBudget: Math.max(0, rawPostBudget - SUMMARY_RAW_TOKEN_BUDGET),
255
+ bindingConstraint,
244
256
  };
245
257
  };
246
258
  const boundary = (summarized, firstKeptEntryId, budget) => {
@@ -258,7 +270,7 @@ const boundary = (summarized, firstKeptEntryId, budget) => {
258
270
  ...(budget ? { budget } : {}),
259
271
  };
260
272
  };
261
- const computeAdaptiveCut = (branchEntries, live, plan) => {
273
+ const computeContinuityCut = (branchEntries, live, plan) => {
262
274
  const suffixTokens = new Array(live.length + 1).fill(0);
263
275
  for (let index = live.length - 1; index >= 0; index--) {
264
276
  suffixTokens[index] = suffixTokens[index + 1] + live[index].estimatedTokens;
@@ -271,7 +283,7 @@ const computeAdaptiveCut = (branchEntries, live, plan) => {
271
283
  const item = live[index];
272
284
  if (item.branchIndex <= previousCompactionIndex)
273
285
  continue;
274
- if (!item.cutPoint || suffixTokens[index] > plan.recentRawTokenBudget)
286
+ if (!item.cutPoint || suffixTokens[index] > plan.rawTailTokenBudget)
275
287
  continue;
276
288
  if (!closureSafe(spans, item.branchIndex))
277
289
  continue;
@@ -280,7 +292,7 @@ const computeAdaptiveCut = (branchEntries, live, plan) => {
280
292
  }
281
293
  const retainedRawTokens = suffixTokens[cutIndex] ?? 0;
282
294
  const details = {
283
- strategy: "adaptive",
295
+ strategy: "continuity",
284
296
  contextWindow: plan.contextWindow,
285
297
  targetContextRatio: plan.targetContextRatio,
286
298
  targetContextTokens: plan.targetContextTokens,
@@ -290,6 +302,12 @@ const computeAdaptiveCut = (branchEntries, live, plan) => {
290
302
  tokenScale: plan.tokenScale,
291
303
  fixedOverheadTokens: plan.fixedOverheadTokens,
292
304
  retainedRawTokens,
305
+ continuityTargetTokens: plan.continuityTargetTokens,
306
+ occupancyCeilingTokens: plan.occupancyCeilingTokens,
307
+ safeCeilingTokens: plan.safeCeilingTokens,
308
+ reductionCeilingTokens: plan.reductionCeilingTokens,
309
+ rawTailTokenBudget: plan.rawTailTokenBudget,
310
+ bindingConstraint: plan.bindingConstraint,
293
311
  };
294
312
  if (cutIndex >= live.length) {
295
313
  return boundary(live.map((item) => item.entry), "", details);
@@ -301,9 +319,9 @@ export const computeCut = (branchEntries, options) => {
301
319
  if (live.length === 0)
302
320
  return { ok: false, reason: "empty" };
303
321
  if (options) {
304
- const plan = adaptiveCutPlan(branchEntries, options.tokensBefore, options.budget);
322
+ const plan = continuityCutPlan(branchEntries, options.tokensBefore, options.budget);
305
323
  if (plan)
306
- return computeAdaptiveCut(branchEntries, live, plan);
324
+ return computeContinuityCut(branchEntries, live, plan);
307
325
  }
308
326
  const lastBoundary = lastBoundaryIndex(live);
309
327
  if (lastBoundary <= 0)
@@ -325,6 +343,38 @@ const isFabricV1Details = (value) => isStringArray(value.sections)
325
343
  && typeof value.firstKeptEntryId === "string"
326
344
  && typeof value.timestamp === "string";
327
345
  const hasFiniteNumbers = (value, keys) => keys.every((key) => typeof value[key] === "number" && Number.isFinite(value[key]));
346
+ const isCompactionBudgetDetails = (value) => {
347
+ if (!isRecord(value) || (value.strategy !== "adaptive" && value.strategy !== "continuity")) {
348
+ return false;
349
+ }
350
+ if (!hasFiniteNumbers(value, [
351
+ "contextWindow",
352
+ "targetContextRatio",
353
+ "targetContextTokens",
354
+ "reserveTokens",
355
+ "keepRecentTokens",
356
+ "rawTokensBefore",
357
+ "tokenScale",
358
+ "fixedOverheadTokens",
359
+ "retainedRawTokens",
360
+ "projectedTokensAfter",
361
+ ])) {
362
+ return false;
363
+ }
364
+ if (value.strategy === "adaptive")
365
+ return true;
366
+ return hasFiniteNumbers(value, [
367
+ "continuityTargetTokens",
368
+ "occupancyCeilingTokens",
369
+ "safeCeilingTokens",
370
+ "reductionCeilingTokens",
371
+ "rawTailTokenBudget",
372
+ ])
373
+ && (value.bindingConstraint === "continuity"
374
+ || value.bindingConstraint === "occupancy"
375
+ || value.bindingConstraint === "reserve"
376
+ || value.bindingConstraint === "reduction");
377
+ };
328
378
  const isFabricV2Details = (value) => {
329
379
  if (!isStringArray(value.sections) || !isRecord(value.coverage) || !isRecord(value.counts))
330
380
  return false;
@@ -368,20 +418,7 @@ const isFabricV2Details = (value) => {
368
418
  && typeof value.stableAddresses.firstKeptEntryId === "string"
369
419
  && isEntryRange(value.stableAddresses.cumulativeSourceRange)
370
420
  && value.stableAddresses.recall === "session-entry-id-range"
371
- && (value.budget === undefined || (isRecord(value.budget)
372
- && value.budget.strategy === "adaptive"
373
- && hasFiniteNumbers(value.budget, [
374
- "contextWindow",
375
- "targetContextRatio",
376
- "targetContextTokens",
377
- "reserveTokens",
378
- "keepRecentTokens",
379
- "rawTokensBefore",
380
- "tokenScale",
381
- "fixedOverheadTokens",
382
- "retainedRawTokens",
383
- "projectedTokensAfter",
384
- ])))
421
+ && (value.budget === undefined || isCompactionBudgetDetails(value.budget))
385
422
  && typeof value.timestamp === "string";
386
423
  };
387
424
  export const fabricCompactionVersion = (details) => {
@@ -463,7 +500,7 @@ export const compileFabricSummary = (branchEntries, tokensBefore, enrichers = NO
463
500
  if (budgetDetails && budgetDetails.projectedTokensAfter > budgetDetails.targetContextTokens) {
464
501
  return {
465
502
  cancel: true,
466
- reason: "fabric: no deterministic summary fits the adaptive context target",
503
+ reason: "fabric: no deterministic summary fits the continuity context target",
467
504
  };
468
505
  }
469
506
  const versions = priorFabricVersions(branchEntries);