pi-fabric 0.44.12 → 0.44.14

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.
@@ -27,7 +27,7 @@ export declare class CapabilityAdvisor {
27
27
  #private;
28
28
  refresh(descriptors: FabricActionDescriptor[]): void;
29
29
  reset(): void;
30
- hydrate(records: Iterable<CapabilityBurn>): void;
30
+ restoreAshFromEntries(entries: Iterable<unknown>, nameToNamespace: (toolName: string) => string | undefined): void;
31
31
  ashRecords(): CapabilityBurn[];
32
32
  observeToolUse(namespace: string): boolean;
33
33
  endTurn(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"capability-advisory.d.ts","sourceRoot":"","sources":["../../src/core/capability-advisory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,cAAc,CAAC;AACnE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAQ7D,eAAO,MAAM,+BAA+B,yBAAyB,CAAC;AA+BtE,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE;QAAE,OAAO,EAAE,uBAAuB,EAAE,CAAA;KAAE,CAAC;CACjD;AAED,KAAK,oBAAoB,GAAG,OAAO,GAAG,SAAS,CAAC;AAMhD,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,oBAAoB,CAAC;IAC7B,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAoBD,qBAAa,iBAAiB;;IAS5B,OAAO,CAAC,WAAW,EAAE,sBAAsB,EAAE,GAAG,IAAI;IAIpD,KAAK,IAAI,IAAI;IAYb,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,cAAc,CAAC,GAAG,IAAI;IAIhD,UAAU,IAAI,cAAc,EAAE;IAO9B,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAc1C,OAAO,IAAI,IAAI;IASf,QAAQ,CACN,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,8BAA8B,GACrC,wBAAwB,GAAG,SAAS;CAyKxC"}
1
+ {"version":3,"file":"capability-advisory.d.ts","sourceRoot":"","sources":["../../src/core/capability-advisory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,cAAc,CAAC;AACnE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAQ7D,eAAO,MAAM,+BAA+B,yBAAyB,CAAC;AA+BtE,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE;QAAE,OAAO,EAAE,uBAAuB,EAAE,CAAA;KAAE,CAAC;CACjD;AAED,KAAK,oBAAoB,GAAG,OAAO,GAAG,SAAS,CAAC;AAMhD,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,oBAAoB,CAAC;IAC7B,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAgED,qBAAa,iBAAiB;;IAS5B,OAAO,CAAC,WAAW,EAAE,sBAAsB,EAAE,GAAG,IAAI;IAIpD,KAAK,IAAI,IAAI;IAeb,qBAAqB,CACnB,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,EAC1B,eAAe,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,GACxD,IAAI;IAyDP,UAAU,IAAI,cAAc,EAAE;IAO9B,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAQ1C,OAAO,IAAI,IAAI;IASf,QAAQ,CACN,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,8BAA8B,GACrC,wBAAwB,GAAG,SAAS;CA6JxC"}
@@ -37,7 +37,40 @@ const STEER_LINE = "Steer: prefer these captured tools over re-implementing the
37
37
  const SKILL_REGION = /<available_skills\b[^>]*>[\s\S]*?(?:<\/available_skills\s*>|$)|<skill\b[^>]*>[\s\S]*?(?:<\/skill\s*>|$)/g;
38
38
  const stripSkillRegions = (prompt) => prompt.replace(SKILL_REGION, " ");
39
39
  const estimateTokens = (text) => Math.ceil(text.length / 4);
40
- const formatRef = (name, description) => `${ADVISORY_REF_PREFIX}.${name} (${truncateAdvisoryDescription(description)})`;
40
+ // One source = one tree block: the source label, then one row per shown tool
41
+ // (name, then the truncated description after an em-dash on the rich rung),
42
+ // then a leaf counting — and naming — the tools that didn't make the cut.
43
+ const renderTree = (blocks, withDescriptions) => {
44
+ const lines = [];
45
+ for (const block of blocks) {
46
+ lines.push(` ${block.label}`);
47
+ const rows = block.names.map((name, index) => {
48
+ const ref = `${ADVISORY_REF_PREFIX}.${name}`;
49
+ const description = block.descriptions[index] ?? "";
50
+ return withDescriptions && description
51
+ ? `${ref} — ${truncateAdvisoryDescription(description)}`
52
+ : ref;
53
+ });
54
+ if (block.leftoverNames.length > 0) {
55
+ const listed = block.leftoverNames.slice(0, 3).join(", ");
56
+ rows.push(`+${block.leftoverNames.length} more: ${listed}${block.leftoverNames.length > 3 ? ", …" : ""}`);
57
+ }
58
+ rows.forEach((row, index) => {
59
+ lines.push(` ${index === rows.length - 1 ? "└─" : "├─"} ${row}`);
60
+ });
61
+ }
62
+ return lines;
63
+ };
64
+ // Leanest non-trivial rung: one line per source, bare refs with leftovers
65
+ // inline — the actionable identity of each capability, no prose.
66
+ const renderFlat = (blocks) => blocks.map((block) => {
67
+ const refs = block.names.map((name) => `${ADVISORY_REF_PREFIX}.${name}`);
68
+ const listed = block.leftoverNames.slice(0, 3).join(", ");
69
+ const leftover = block.leftoverNames.length > 0
70
+ ? `, +${block.leftoverNames.length} more: ${listed}${block.leftoverNames.length > 3 ? ", …" : ""}`
71
+ : "";
72
+ return ` ${block.label} — ${refs.join(", ")}${leftover}`;
73
+ });
41
74
  export class CapabilityAdvisor {
42
75
  #index = buildCapabilityIndex([]);
43
76
  #ash = new Map();
@@ -56,12 +89,59 @@ export class CapabilityAdvisor {
56
89
  this.#smokeStreak = 0;
57
90
  this.#firedTotal = 0;
58
91
  }
59
- // Machine-global persistence: hydrate with prior ash at session start so
60
- // already-spent capabilities stay quiet across restarts. Warmth, smoke, and
61
- // the per-session cap stay session-local transients govern ignition, only
62
- // the ash is durable.
63
- hydrate(records) {
64
- this.#ash = new Map([...records].map((record) => [record.namespace, record]));
92
+ // Ash is derived from the session transcript, never stored beside it:
93
+ // fired hints ARE their own custom messages, organic use IS the tool calls
94
+ // that named captured toolsboth are already persisted entries. Replay a
95
+ // branch (ctx.sessionManager.getBranch()) to rebuild ash exactly up to the
96
+ // current leaf, so forks and /tree rewinds see ashes up to that point in
97
+ // time, and a brand-new session starts with a clean urn. Warmth, smoke, and
98
+ // the per-session cap stay pure transients: reset() governs them.
99
+ restoreAshFromEntries(entries, nameToNamespace) {
100
+ this.#ash.clear();
101
+ for (const entryUnknown of entries) {
102
+ const entry = entryUnknown;
103
+ const at = typeof entry.timestamp === "string" ? entry.timestamp : "";
104
+ if (entry.type === "custom_message" &&
105
+ entry.customType === CAPABILITY_ADVISORY_CUSTOM_TYPE) {
106
+ const matches = entry.details
107
+ ?.matches;
108
+ if (Array.isArray(matches)) {
109
+ for (const match of matches) {
110
+ const namespace = match
111
+ ?.namespace;
112
+ if (typeof namespace === "string" && namespace.length > 0) {
113
+ this.#burn(namespace, "fired", at);
114
+ }
115
+ }
116
+ }
117
+ continue;
118
+ }
119
+ if (entry.type === "message") {
120
+ const message = entry.message;
121
+ if (message?.role !== "assistant" || !Array.isArray(message.content)) {
122
+ continue;
123
+ }
124
+ for (const block of message.content) {
125
+ const { type, name } = block;
126
+ if (type !== "toolCall" || typeof name !== "string")
127
+ continue;
128
+ const namespace = nameToNamespace(name);
129
+ if (namespace !== undefined)
130
+ this.#burn(namespace, "organic", at);
131
+ }
132
+ }
133
+ }
134
+ }
135
+ // Idempotent append: a namespace burns at most once per session history.
136
+ #burn(namespace, origin, at) {
137
+ if (this.#ash.has(namespace))
138
+ return false;
139
+ this.#ash.set(namespace, {
140
+ namespace,
141
+ origin,
142
+ at: at.length > 0 ? at : new Date().toISOString(),
143
+ });
144
+ return true;
65
145
  }
66
146
  ashRecords() {
67
147
  return [...this.#ash.values()];
@@ -72,14 +152,7 @@ export class CapabilityAdvisor {
72
152
  observeToolUse(namespace) {
73
153
  if (this.#pendingFire.has(namespace))
74
154
  this.#hitsThisTurn.add(namespace);
75
- if (this.#ash.has(namespace))
76
- return false;
77
- this.#ash.set(namespace, {
78
- namespace,
79
- origin: "organic",
80
- at: new Date().toISOString(),
81
- });
82
- return true;
155
+ return this.#burn(namespace, "organic", new Date().toISOString());
83
156
  }
84
157
  // Furnace feedback, evaluated once per turn (turn_end event). A fire whose
85
158
  // namespaces saw no tool use is smoke; a used fire is clean combustion and
@@ -179,57 +252,52 @@ export class CapabilityAdvisor {
179
252
  const header = included[0] !== undefined && included[0].score >= config.threshold + WEAK_MATCH_BAND
180
253
  ? BASE_HEADER
181
254
  : WEAK_HEADER;
182
- // Structured like fovea's sync advisories: headline, grouped candidate
183
- // lines, a Next: action pointing at the top ref, and a Steer: directive.
184
- const lines = [`${header} prompt terms matched captured tools.`, "Candidates:"];
255
+ // Structured like fovea's sync advisories: headline, a tree of
256
+ // candidates grouped by source, a Next: action pointing at the top ref,
257
+ // and a Steer: directive.
258
+ const headerLine = `${header} prompt terms matched captured tools.`;
259
+ const blocks = [];
185
260
  let shown = 0;
186
261
  for (const match of included) {
187
- const total = match.names.length;
188
- const refs = [];
189
262
  const cappedNames = [];
190
263
  const cappedDescriptions = [];
191
- for (let index = 0; index < total; index++) {
264
+ for (let index = 0; index < match.names.length; index++) {
192
265
  const name = match.names[index];
193
266
  if (name !== undefined &&
194
267
  cappedNames.length < MAX_NAMES_PER_SOURCE &&
195
268
  shown < MAX_ADVISORY_NAMES) {
196
- refs.push(formatRef(name, match.descriptions[index] ?? ""));
197
269
  cappedNames.push(name);
198
270
  cappedDescriptions.push(match.descriptions[index] ?? "");
199
271
  shown++;
200
272
  }
201
273
  }
202
- match.omitted = total - cappedNames.length;
274
+ match.omitted = match.names.length - cappedNames.length;
275
+ const leftoverNames = match.names.slice(cappedNames.length);
203
276
  match.names = cappedNames;
204
277
  match.descriptions = cappedDescriptions;
205
- lines.push(` ${match.label} — ${refs.join(", ")}${match.omitted > 0 ? `, +${match.omitted} more` : ""}`);
206
- }
207
- const topName = included[0]?.names[0];
208
- let nextLine = "";
209
- if (topName !== undefined) {
210
- nextLine = `Next: tools.describe('${topName}') for its schema, then ${ADVISORY_REF_PREFIX}.${topName}({…}) inside fabric_exec.`;
278
+ blocks.push({
279
+ label: match.label,
280
+ names: cappedNames,
281
+ descriptions: cappedDescriptions,
282
+ leftoverNames,
283
+ });
211
284
  }
212
- // Budget squeeze (fovea pattern): drop trailing candidate lines first,
213
- // then bare-name refs, then the Next: line, always keeping the header and
214
- // steer. Details keep the full (pre-squeeze) picture regardless.
215
- const sourceCount = lines.length - 2; // headline + "Candidates:" at index 0-1
285
+ const topName = blocks[0]?.names[0];
286
+ const nextLine = topName === undefined
287
+ ? ""
288
+ : `Next: tools.describe('${topName}') for its schema, then ${ADVISORY_REF_PREFIX}.${topName}({…}) inside fabric_exec.`;
289
+ // Budget squeeze (fovea pattern): walk the ladder until a rung fits —
290
+ // tree with descriptions → tree, names only → flat names-only per source
291
+ // (dropping Next: alongside the tree) → header + steer as the floor.
292
+ // Details keep the full (pre-squeeze) picture regardless.
293
+ const rungs = [
294
+ [...renderTree(blocks, true), ...(nextLine ? [nextLine] : [])],
295
+ [...renderTree(blocks, false), ...(nextLine ? [nextLine] : [])],
296
+ renderFlat(blocks),
297
+ ];
216
298
  let content = "";
217
- for (let drop = 0; drop <= sourceCount + 1; drop++) {
218
- const kept = lines.slice(0, 2 + Math.max(0, sourceCount - drop));
219
- const descriptionFree = drop > sourceCount;
220
- const rendered = descriptionFree
221
- ? [
222
- ...kept.slice(0, 2),
223
- ...included.map((match) => ` ${match.label} — ${match.names
224
- .map((name) => `${ADVISORY_REF_PREFIX}.${name}`)
225
- .join(", ")}`),
226
- ]
227
- : kept;
228
- const parts = [...rendered];
229
- if (!descriptionFree && nextLine)
230
- parts.push(nextLine);
231
- parts.push(STEER_LINE);
232
- const candidate = parts.join("\n");
299
+ for (const rung of rungs) {
300
+ const candidate = [headerLine, "Candidates:", ...rung, STEER_LINE].join("\n");
233
301
  if (estimateTokens(candidate) <= config.budget) {
234
302
  content = candidate;
235
303
  break;
@@ -237,14 +305,10 @@ export class CapabilityAdvisor {
237
305
  }
238
306
  if (!content) {
239
307
  // Pathological budget: header + steer only, refs survive in details.
240
- content = `${lines[0] ?? BASE_HEADER}\n${STEER_LINE}`;
308
+ content = `${headerLine}\n${STEER_LINE}`;
241
309
  }
242
310
  for (const match of included) {
243
- this.#ash.set(match.namespace, {
244
- namespace: match.namespace,
245
- origin: "fired",
246
- at: new Date().toISOString(),
247
- });
311
+ this.#burn(match.namespace, "fired", new Date().toISOString());
248
312
  this.#warmth.delete(match.namespace);
249
313
  this.#pendingFire.add(match.namespace);
250
314
  }
@@ -1 +1 @@
1
- {"version":3,"file":"capability-advisory.js","sourceRoot":"","sources":["../../src/core/capability-advisory.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,2BAA2B,GAE5B,MAAM,6BAA6B,CAAC;AAErC,MAAM,CAAC,MAAM,+BAA+B,GAAG,sBAAsB,CAAC;AACtE,MAAM,mBAAmB,GAAG,YAAY,CAAC;AACzC,8EAA8E;AAC9E,8EAA8E;AAC9E,8EAA8E;AAC9E,MAAM,aAAa,GAAG,CAAC,CAAC;AACxB,MAAM,eAAe,GAAG,aAAa,CAAC;AACtC,MAAM,oBAAoB,GAAG,CAAC,CAAC;AAC/B,MAAM,oBAAoB,GAAG,CAAC,CAAC;AAC/B,MAAM,kBAAkB,GAAG,CAAC,CAAC;AAC7B,MAAM,WAAW,GAAG,0BAA0B,CAAC;AAC/C,MAAM,WAAW,GAAG,2CAA2C,CAAC;AAEhE,6EAA6E;AAC7E,8EAA8E;AAC9E,kDAAkD;AAClD,uCAAuC;AACvC,8EAA8E;AAC9E,6EAA6E;AAC7E,4EAA4E;AAC5E,2EAA2E;AAC3E,2EAA2E;AAC3E,gDAAgD;AAChD,8EAA8E;AAC9E,+DAA+D;AAC/D,MAAM,GAAG,GAAG,CAAC,CAAC;AACd,MAAM,UAAU,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM;AACtC,MAAM,UAAU,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,OAAO;AAC3C,MAAM,SAAS,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,IAAI;AACjC,MAAM,UAAU,GAAG,IAAI,CAAC;AA8BxB,MAAM,UAAU,GACd,6FAA6F,CAAC;AAEhG,+DAA+D;AAC/D,2EAA2E;AAC3E,6EAA6E;AAC7E,4EAA4E;AAC5E,2EAA2E;AAC3E,MAAM,YAAY,GAChB,0GAA0G,CAAC;AAE7G,MAAM,iBAAiB,GAAG,CAAC,MAAc,EAAU,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;AAExF,MAAM,cAAc,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAE5E,MAAM,SAAS,GAAG,CAAC,IAAY,EAAE,WAAmB,EAAU,EAAE,CAC9D,GAAG,mBAAmB,IAAI,IAAI,KAAK,2BAA2B,CAAC,WAAW,CAAC,GAAG,CAAC;AAEjF,MAAM,OAAO,iBAAiB;IAC5B,MAAM,GAAoB,oBAAoB,CAAC,EAAE,CAAC,CAAC;IACnD,IAAI,GAAG,IAAI,GAAG,EAA0B,CAAC;IACzC,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;IACpC,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;IACjC,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,YAAY,GAAG,CAAC,CAAC;IACjB,WAAW,GAAG,CAAC,CAAC;IAEhB,OAAO,CAAC,WAAqC;QAC3C,IAAI,CAAC,MAAM,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC;IAClD,CAAC;IAED,KAAK;QACH,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACrB,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QAC1B,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QAC3B,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;IACvB,CAAC;IAED,yEAAyE;IACzE,4EAA4E;IAC5E,4EAA4E;IAC5E,sBAAsB;IACtB,OAAO,CAAC,OAAiC;QACvC,IAAI,CAAC,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IAChF,CAAC;IAED,UAAU;QACR,OAAO,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IACjC,CAAC;IAED,yEAAyE;IACzE,0EAA0E;IAC1E,6EAA6E;IAC7E,cAAc,CAAC,SAAiB;QAC9B,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC;YAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACxE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC;YAAE,OAAO,KAAK,CAAC;QAC3C,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE;YACvB,SAAS;YACT,MAAM,EAAE,SAAS;YACjB,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SAC7B,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,2EAA2E;IAC3E,2EAA2E;IAC3E,gEAAgE;IAChE,OAAO;QACL,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAC/B,MAAM,SAAS,GAAG,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;YAChG,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,EAAE,SAAS,CAAC,CAAC;YAC/E,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QAC5B,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;IAC7B,CAAC;IAED,QAAQ,CACN,MAAc,EACd,MAAsC;QAEtC,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU;YAAE,OAAO,SAAS,CAAC;QACjD,IAAI,IAAI,CAAC,WAAW,IAAI,MAAM,CAAC,aAAa;YAAE,OAAO,SAAS,CAAC;QAE/D,qEAAqE;QACrE,KAAK,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAChD,MAAM,OAAO,GAAG,OAAO,GAAG,UAAU,CAAC;YACrC,IAAI,OAAO,GAAG,UAAU;gBAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;;gBACpD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC5C,CAAC;QACD,sEAAsE;QACtE,sDAAsD;QACtD,MAAM,aAAa,GAAG,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC,GAAG,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC;QAE9E,MAAM,WAAW,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,sBAAsB,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACpF,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QAEhF,MAAM,OAAO,GAA8B,EAAE,CAAC;QAC9C,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACzC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC;gBAAE,SAAS;YAC9C,wEAAwE;YACxE,yEAAyE;YACzE,uEAAuE;YACvE,kCAAkC;YAClC,MAAM,YAAY,GAAa,EAAE,CAAC;YAClC,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;gBAC/B,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC;oBAAE,SAAS;gBACnC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACxB,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;gBACjD,IAAI,SAAS,GAAG,CAAC;oBAAE,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;YAC5C,CAAC;YACD,yEAAyE;YACzE,uEAAuE;YACvE,6CAA6C;YAC7C,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,GAAG,MAAM,CAAC,SAAS;gBAAE,SAAS;YAElE,MAAM,MAAM,GAAG,KAAK,IAAI,MAAM,CAAC,SAAS,GAAG,eAAe,CAAC;YAC3D,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,qEAAqE;gBACrE,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,GAAG,KAAK,CAAC;gBACpF,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;gBAC3C,IAAI,MAAM,GAAG,aAAa;oBAAE,SAAS;YACvC,CAAC;YAED,wEAAwE;YACxE,qEAAqE;YACrE,yDAAyD;YACzD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBAChE,MAAM,OAAO,GAAG,CAAC,KAAa,EAAU,EAAE;oBACxC,IAAI,SAAS,GAAG,CAAC,CAAC;oBAClB,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;oBACtC,IAAI,CAAC,KAAK;wBAAE,OAAO,CAAC,CAAC;oBACrB,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;wBAC/B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;4BAAE,SAAS;wBAC/B,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;wBACjD,IAAI,SAAS,GAAG,CAAC;4BAAE,SAAS,IAAI,CAAC,GAAG,SAAS,CAAC;oBAChD,CAAC;oBACD,OAAO,SAAS,CAAC;gBACnB,CAAC,CAAC;gBACF,OAAO,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC1C,CAAC,CAAC,CAAC;YACH,OAAO,CAAC,IAAI,CAAC;gBACX,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,KAAK;gBACL,YAAY,EAAE,YAAY,CAAC,IAAI,CAC7B,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CACpE;gBACD,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC;gBACpF,YAAY,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;gBACpE,OAAO,EAAE,CAAC;aACX,CAAC,CAAC;QACL,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QAC3C,OAAO,CAAC,IAAI,CACV,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CACtE,CAAC;QACF,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,oBAAoB,CAAC,CAAC;QACxD,MAAM,MAAM,GACV,QAAQ,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,MAAM,CAAC,SAAS,GAAG,eAAe;YAClF,CAAC,CAAC,WAAW;YACb,CAAC,CAAC,WAAW,CAAC;QAElB,uEAAuE;QACvE,yEAAyE;QACzE,MAAM,KAAK,GAAa,CAAC,GAAG,MAAM,uCAAuC,EAAE,aAAa,CAAC,CAAC;QAC1F,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;YACjC,MAAM,IAAI,GAAa,EAAE,CAAC;YAC1B,MAAM,WAAW,GAAa,EAAE,CAAC;YACjC,MAAM,kBAAkB,GAAa,EAAE,CAAC;YACxC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC;gBAC3C,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAChC,IACE,IAAI,KAAK,SAAS;oBAClB,WAAW,CAAC,MAAM,GAAG,oBAAoB;oBACzC,KAAK,GAAG,kBAAkB,EAC1B,CAAC;oBACD,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;oBAC5D,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACvB,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;oBACzD,KAAK,EAAE,CAAC;gBACV,CAAC;YACH,CAAC;YACD,KAAK,CAAC,OAAO,GAAG,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC;YAC3C,KAAK,CAAC,KAAK,GAAG,WAAW,CAAC;YAC1B,KAAK,CAAC,YAAY,GAAG,kBAAkB,CAAC;YACxC,KAAK,CAAC,IAAI,CACR,KAAK,KAAK,CAAC,KAAK,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAC9F,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QACtC,IAAI,QAAQ,GAAG,EAAE,CAAC;QAClB,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,QAAQ,GAAG,yBAAyB,OAAO,2BAA2B,mBAAmB,IAAI,OAAO,2BAA2B,CAAC;QAClI,CAAC;QAED,uEAAuE;QACvE,0EAA0E;QAC1E,iEAAiE;QACjE,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,wCAAwC;QAC9E,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,IAAI,WAAW,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC;YACnD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC;YACjE,MAAM,eAAe,GAAG,IAAI,GAAG,WAAW,CAAC;YAC3C,MAAM,QAAQ,GAAG,eAAe;gBAC9B,CAAC,CAAC;oBACE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;oBACnB,GAAG,QAAQ,CAAC,GAAG,CACb,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,KAAK,CAAC,KAAK,MAAM,KAAK,CAAC,KAAK;yBAC9B,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,mBAAmB,IAAI,IAAI,EAAE,CAAC;yBAC/C,IAAI,CAAC,IAAI,CAAC,EAAE,CAClB;iBACF;gBACH,CAAC,CAAC,IAAI,CAAC;YACT,MAAM,KAAK,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC;YAC5B,IAAI,CAAC,eAAe,IAAI,QAAQ;gBAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACvD,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACvB,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnC,IAAI,cAAc,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAC/C,OAAO,GAAG,SAAS,CAAC;gBACpB,MAAM;YACR,CAAC;QACH,CAAC;QACD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,qEAAqE;YACrE,OAAO,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,WAAW,KAAK,UAAU,EAAE,CAAC;QACxD,CAAC;QAED,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;YAC7B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE;gBAC7B,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,MAAM,EAAE,OAAO;gBACf,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aAC7B,CAAC,CAAC;YACH,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YACrC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACzC,CAAC;QACD,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC;QACtB,OAAO;YACL,OAAO;YACP,OAAO,EAAE,MAAM,CAAC,IAAI,KAAK,SAAS;YAClC,OAAO,EAAE,EAAE,OAAO,EAAE,WAAW,CAAC,QAAQ,CAAC,EAAE;SAC5C,CAAC;IACJ,CAAC;CACF;AAED,MAAM,WAAW,GAAG,CAAC,OAAkC,EAA6B,EAAE,CACpF,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"capability-advisory.js","sourceRoot":"","sources":["../../src/core/capability-advisory.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,YAAY,EAEb,MAAM,iCAAiC,CAAC;AAkGzC,wBAA8B,QAAQ,CAAC,EAAE,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CA0gBtE;AAED,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,YAAY,EAEb,MAAM,iCAAiC,CAAC;AA8FzC,wBAA8B,QAAQ,CAAC,EAAE,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CA0hBtE;AAED,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC"}
package/dist/index.js CHANGED
@@ -14,7 +14,6 @@ import { restoreSkillsForFullCodePrompt } from "./core/skill-prompt.js";
14
14
  import { FabricDirectToolApproval, mergeFabricApprovalUsage, } from "./core/direct-tool-approval.js";
15
15
  import { buildSkillReferenceGuidance } from "./core/skill-references.js";
16
16
  import { CAPABILITY_ADVISORY_CUSTOM_TYPE, CapabilityAdvisor, } from "./core/capability-advisory.js";
17
- import { loadCapabilityAdvisoryState, saveCapabilityAdvisoryState, } from "./core/capability-advisory-store.js";
18
17
  import { capturedToolNamespace, listCapturedToolDescriptors, } from "./providers/captured-tools-provider.js";
19
18
  import { createFabricExecTool } from "./fabric-exec-tool.js";
20
19
  import { FabricState } from "./fabric-state.js";
@@ -61,11 +60,10 @@ export default async function piFabric(pi) {
61
60
  const capabilityAdvisor = new CapabilityAdvisor();
62
61
  const state = new FabricState(pi, capturedTools, (entry) => {
63
62
  // Organic discovery: the model found and used the namespace on its own —
64
- // burn it as ash so no future hint wastes the fire. Persist immediately.
63
+ // burn it as ash so no future hint wastes the fire. Nothing to persist:
64
+ // the tool call itself is the transcript entry a future replay recovers.
65
65
  try {
66
- if (capabilityAdvisor.observeToolUse(capturedToolNamespace(entry))) {
67
- saveCapabilityAdvisoryState(capabilityAdvisor.ashRecords());
68
- }
66
+ capabilityAdvisor.observeToolUse(capturedToolNamespace(entry));
69
67
  }
70
68
  catch {
71
69
  // Advisory bookkeeping only.
@@ -207,15 +205,24 @@ export default async function piFabric(pi) {
207
205
  return undefined;
208
206
  });
209
207
  };
208
+ // Ash is derived state, never stored beside the session: replay the
209
+ // current branch's transcript entries (hints persist as pi-fabric-capability
210
+ // custom messages, organic use as tool calls naming captured tools).
211
+ const refreshAdvisorAsh = (context) => {
212
+ capabilityAdvisor.restoreAshFromEntries(context.sessionManager?.getBranch?.() ?? [], (toolName) => {
213
+ const captured = capturedTools.get(toolName);
214
+ return captured === undefined
215
+ ? undefined
216
+ : capturedToolNamespace(captured);
217
+ });
218
+ };
210
219
  pi.on("session_start", async (_event, context) => {
211
220
  pendingHandoffs.clear();
212
221
  directToolApproval.clear();
213
222
  fabricUi.stop();
214
223
  suspendToolCapture();
215
- // Advisory fire-once state is durable: a restarted session reloads which
216
- // capabilities were already hinted instead of re-hinting them.
217
224
  capabilityAdvisor.reset();
218
- capabilityAdvisor.hydrate(loadCapabilityAdvisoryState());
225
+ refreshAdvisorAsh(context);
219
226
  if (!compatibilityWarningShown) {
220
227
  compatibilityWarningShown = true;
221
228
  const warning = piHostCompatibilityWarning();
@@ -237,6 +244,13 @@ export default async function piFabric(pi) {
237
244
  fabricUi.start(context);
238
245
  installHaltOnEscape(context);
239
246
  });
247
+ // Branch changes move the leaf: ashes must track the branch exactly, so a
248
+ // rewind re-exposes capabilities whose burns live only in abandoned paths.
249
+ pi.on("session_tree", async (_event, context) => {
250
+ capabilityAdvisor.reset();
251
+ refreshAdvisorAsh(context);
252
+ return undefined;
253
+ });
240
254
  pi.on("input", async (event, context) => {
241
255
  if (!state.initialized)
242
256
  return;
@@ -448,14 +462,9 @@ export default async function piFabric(pi) {
448
462
  const advisory = captureSnapshot?.enabled === true && captureSnapshot.hideFromModel
449
463
  ? capabilityAdvisor.evaluate(event.prompt, captureSnapshot.advisory)
450
464
  : undefined;
451
- if (advisory) {
452
- try {
453
- saveCapabilityAdvisoryState(capabilityAdvisor.ashRecords());
454
- }
455
- catch {
456
- // Persistence is best-effort; a failed write must not block the turn.
457
- }
458
- }
465
+ // No separate persistence: ash already lives in memory, and the custom
466
+ // message below is the transcript record a session replay recovers after
467
+ // a reload.
459
468
  return {
460
469
  systemPrompt: `${systemPrompt}\n\n${guidance}`,
461
470
  ...(advisory
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAEL,oBAAoB,GACrB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,qCAAqC,EAAE,MAAM,iCAAiC,CAAC;AACxF,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,4BAA4B,EAAE,MAAM,0BAA0B,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EACL,iCAAiC,EACjC,oBAAoB,EACpB,4BAA4B,GAC7B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,qBAAqB,EACrB,0BAA0B,GAC3B,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,4BAA4B,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,EACL,8BAA8B,EAC9B,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,4BAA4B,EAC5B,iCAAiC,GAClC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,8BAA8B,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EACL,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AACzE,OAAO,EACL,+BAA+B,EAC/B,iBAAiB,GAClB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,qBAAqB,EACrB,2BAA2B,GAC5B,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,EACL,8BAA8B,GAE/B,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,2EAA2E;AAC3E,6EAA6E;AAC7E,+EAA+E;AAC/E,yEAAyE;AACzE,6EAA6E;AAC7E,4DAA4D;AAC5D,MAAM,2BAA2B,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AACjF,MAAM,iBAAiB,GAAG,IAAI,CAAC,OAAO,CACpC,IAAI,CAAC,OAAO,CAAC,2BAA2B,CAAC,EACzC,IAAI,EACJ,QAAQ,CACT,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,KAAc,EAA0C,EAAE;IAClF,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC1F,MAAM,YAAY,GAAG,KAA4C,CAAC;IAClE,MAAM,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAC;IACvC,IACE,YAAY,CAAC,OAAO,KAAK,CAAC;QAC1B,OAAO,QAAQ,KAAK,QAAQ;QAC5B,QAAQ,KAAK,IAAI;QACjB,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ;QACjC,OAAO,QAAQ,CAAC,WAAW,KAAK,QAAQ;QACxC,OAAO,QAAQ,CAAC,IAAI,KAAK,UAAU;QACnC,OAAO,QAAQ,CAAC,QAAQ,KAAK,UAAU;QACvC,OAAO,QAAQ,CAAC,MAAM,KAAK,UAAU,EACrC,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,YAA0C,CAAC;AACpD,CAAC,CAAC;AAEF,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,QAAQ,CAAC,EAAgB;IACrD,MAAM,mBAAmB,GAAG,0BAA0B,EAAE,CAAC;IACzD,MAAM,aAAa,GAA6B,oBAAoB,CAAC;IACrE,IAAI,yBAAyB,GAAG,KAAK,CAAC;IACtC,qBAAqB,CACnB,mBAAmB,CAAC,UAAU,EAC9B,mBAAmB,CAAC,kBAAkB,CACvC,CAAC;IACF,MAAM,aAAa,GAAG,IAAI,mBAAmB,EAAE,CAAC;IAChD,MAAM,iBAAiB,GAAG,IAAI,iBAAiB,EAAE,CAAC;IAClD,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC,EAAE,EAAE,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE;QACzD,yEAAyE;QACzE,wEAAwE;QACxE,yEAAyE;QACzE,IAAI,CAAC;YACH,iBAAiB,CAAC,cAAc,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC;QACjE,CAAC;QAAC,MAAM,CAAC;YACP,6BAA6B;QAC/B,CAAC;IACH,CAAC,CAAC,CAAC;IACH,MAAM,kBAAkB,GAAG,IAAI,wBAAwB,CACrD,EAAE,EACF,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,EAClB,KAAK,CAAC,gBAAgB,CACvB,CAAC;IACF,MAAM,eAAe,GAAG,IAAI,GAAG,EAAgC,CAAC;IAChE,MAAM,aAAa,GAAG,IAAI,mBAAmB,CAAC,EAAE,CAAC,CAAC;IAClD,MAAM,QAAQ,GAAG,IAAI,kBAAkB,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC;IAEpE,MAAM,aAAa,GAAG,GAAG,EAAE,CAAC,0BAA0B,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACrE,MAAM,oBAAoB,GAAG,GAAY,EAAE,CACzC,KAAK,CAAC,MAAM,CAAC,YAAY,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC;IACtE,2EAA2E;IAC3E,2EAA2E;IAC3E,MAAM,uBAAuB,GAAG,GAAgB,EAAE;QAChD,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,aAAa,EAAE,CAAC,WAAW,CAAC,CAAC;QACrD,OAAO,IAAI,GAAG,CACZ,aAAa,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CACrF,CAAC;IACJ,CAAC,CAAC;IACF,0EAA0E;IAC1E,6EAA6E;IAC7E,2EAA2E;IAC3E,2EAA2E;IAC3E,qEAAqE;IACrE,MAAM,EAAE,QAAQ,EAAE,qBAAqB,EAAE,QAAQ,EAAE,yBAAyB,EAAE,GAC5E,8BAA8B,CAAC;QAC7B,KAAK,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,WAAW;QAC9B,MAAM,EAAE,GAAG,EAAE;YACX,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;YAC/B,OAAO,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,aAAa,IAAI,oBAAoB,EAAE,CAAC;QAC1E,CAAC;QACD,WAAW,EAAE,uBAAuB;QACpC,KAAK,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC;KACrD,CAAC,CAAC;IAEL,MAAM,+BAA+B,GAAG,EAAE,CAAC,MAAM,CAAC,EAAE,CAClD,8BAA8B,EAC9B,CAAC,KAAc,EAAE,EAAE;QACjB,MAAM,YAAY,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAC7C,IAAI,CAAC,YAAY;YAAE,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC9E,KAAK,CAAC,gBAAgB,CACpB,YAAY,CAAC,QAAQ,EACrB,YAAY,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,YAAY,CAAC,SAAS,EAAE,CAClF,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,EAAE,CAAC,EAAE,CAAC,oBAAoB,EAAE,KAAK,IAAI,EAAE;QACrC,IAAI,UAAU,CAAC,iBAAiB,CAAC;YAAE,OAAO,EAAE,UAAU,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC;QAC9E,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,oBAAoB,CACrC,KAAK,EACL,mBAAmB,EACnB,eAAe,EACf,aAAa,CACd,CAAC;IACF,MAAM,0BAA0B,GAAG,GAAS,EAAE;QAC5C,MAAM,CAAC,MAAM,CAAC,mBAAmB,EAAE,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAC7D,qBAAqB,CACnB,mBAAmB,CAAC,UAAU,EAC9B,mBAAmB,CAAC,kBAAkB,CACvC,CAAC;IACJ,CAAC,CAAC;IACF,MAAM,mBAAmB,GAAG,IAAI,mBAAmB,CACjD,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,CAAC,WAAW,EAAE,EAAE,2BAA2B,CAAC,EACzE,GAAG,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,EAChE,GAAG,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,SAAS,CACzD,CAAC;IAEF,MAAM,qBAAqB,GAAG;QAC5B,GAAG,eAAe,CAAC,qBAAqB,CAAC,OAAO,CAAC;QACjD,OAAO,EAAE,KAAK;QACd,aAAa,EAAE,KAAK;KACrB,CAAC;IACF,MAAM,WAAW,GAAG,MAAM,4BAA4B,CAAC;QACrD,gBAAgB,EAAE,UAAU;QAC5B,OAAO,EAAE,aAAa;QACtB,aAAa,EAAE,qBAAqB;QACpC,gBAAgB,EAAE,GAAG,EAAE;YACrB,yBAAyB,EAAE,CAAC;YAC5B,iBAAiB,CAAC,OAAO,CAAC,2BAA2B,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAC/E,CAAC;KACF,CAAC,CAAC;IACH,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;IAE5B,MAAM,eAAe,GAAG,GAAS,EAAE;QACjC,WAAW,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC,CAAC;QACvC,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QAC5B,aAAa,CAAC,KAAK,CACjB,oBAAoB,EAAE,EACtB,oBAAoB,EAAE,CAAC,CAAC,CAAC,uBAAuB,EAAE,CAAC,CAAC,CAAC,SAAS,CAC/D,CAAC;IACJ,CAAC,CAAC;IACF,MAAM,kBAAkB,GAAG,GAAS,EAAE;QACpC,WAAW,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC;IAC/C,CAAC,CAAC;IAEF,0EAA0E;IAC1E,6EAA6E;IAC7E,2EAA2E;IAC3E,6EAA6E;IAC7E,+EAA+E;IAC/E,4EAA4E;IAC5E,0EAA0E;IAC1E,yEAAyE;IACzE,0EAA0E;IAC1E,SAAS;IACT,IAAI,uBAAiD,CAAC;IACtD,MAAM,qBAAqB,GAAG,GAAS,EAAE;QACvC,uBAAuB,EAAE,EAAE,CAAC;QAC5B,uBAAuB,GAAG,SAAS,CAAC;IACtC,CAAC,CAAC;IACF,MAAM,mBAAmB,GAAG,CAAC,OAAyB,EAAQ,EAAE;QAC9D,qBAAqB,EAAE,CAAC;QACxB,IAAI,OAAO,CAAC,IAAI,KAAK,KAAK;YAAE,OAAO;QACnC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,YAAY,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QACxE,IAAI,OAAO,OAAO,CAAC,EAAE,CAAC,eAAe,KAAK,UAAU;YAAE,OAAO;QAC7D,MAAM,GAAG,GAAG,MAAM,CAAC;QACnB,MAAM,WAAW,GAAG,EAAE,CAAC;QACvB,IAAI,QAAoC,CAAC;QACzC,MAAM,OAAO,GAAG,GAAS,EAAE;YACzB,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO;gBAAE,OAAO;YAC7D,IAAI,MAAM,GAAG,CAAC,CAAC;YACf,IAAI,CAAC;gBACH,oEAAoE;gBACpE,sEAAsE;gBACtE,gEAAgE;gBAChE,gEAAgE;gBAChE,oBAAoB;gBACpB,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM;oBAAE,OAAO;gBAChC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC;YACzC,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO;YACT,CAAC;YACD,kEAAkE;YAClE,6DAA6D;YAC7D,0BAA0B;YAC1B,IAAI,MAAM,KAAK,CAAC;gBAAE,OAAO;YACzB,OAAO,CAAC,EAAE,CAAC,MAAM,CACf,kBAAkB,MAAM,SAAS,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,kCAAkC,EAC1F,SAAS,CACV,CAAC;QACJ,CAAC,CAAC;QACF,uBAAuB,GAAG,OAAO,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,IAAY,EAAE,EAAE;YACpE,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACjB,IAAI,QAAQ;oBAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;gBACrC,QAAQ,GAAG,UAAU,CAAC,GAAG,EAAE;oBACzB,QAAQ,GAAG,SAAS,CAAC;oBACrB,OAAO,EAAE,CAAC;gBACZ,CAAC,EAAE,WAAW,CAAC,CAAC;gBAChB,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC;gBACnB,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,yEAAyE;YACzE,kEAAkE;YAClE,IAAI,QAAQ,EAAE,CAAC;gBACb,YAAY,CAAC,QAAQ,CAAC,CAAC;gBACvB,QAAQ,GAAG,SAAS,CAAC;YACvB,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,oEAAoE;IACpE,6EAA6E;IAC7E,qEAAqE;IACrE,MAAM,iBAAiB,GAAG,CAAC,OAAyB,EAAQ,EAAE;QAC5D,iBAAiB,CAAC,qBAAqB,CACrC,OAAO,CAAC,cAAc,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,EAC3C,CAAC,QAAQ,EAAE,EAAE;YACX,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC7C,OAAO,QAAQ,KAAK,SAAS;gBAC3B,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;QACtC,CAAC,CACF,CAAC;IACJ,CAAC,CAAC;IAEF,EAAE,CAAC,EAAE,CAAC,eAAe,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE;QAC/C,eAAe,CAAC,KAAK,EAAE,CAAC;QACxB,kBAAkB,CAAC,KAAK,EAAE,CAAC;QAC3B,QAAQ,CAAC,IAAI,EAAE,CAAC;QAChB,kBAAkB,EAAE,CAAC;QACrB,iBAAiB,CAAC,KAAK,EAAE,CAAC;QAC1B,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAC3B,IAAI,CAAC,yBAAyB,EAAE,CAAC;YAC/B,yBAAyB,GAAG,IAAI,CAAC;YACjC,MAAM,OAAO,GAAG,0BAA0B,EAAE,CAAC;YAC7C,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,CAAC,IAAI,CAAC,eAAe,OAAO,EAAE,CAAC,CAAC;gBACvC,IAAI,OAAO,CAAC,KAAK;oBAAE,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC;QACD,MAAM,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAChC,IAAI,CAAC;YACH,0BAA0B,EAAE,CAAC;YAC7B,MAAM,CAAC,MAAM,CACX,UAAU,EACV,oBAAoB,CAAC,KAAK,EAAE,mBAAmB,EAAE,eAAe,EAAE,aAAa,CAAC,CACjF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,sDAAsD,EAAE,KAAK,CAAC,CAAC;QAC9E,CAAC;QACD,eAAe,EAAE,CAAC;QAClB,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACxB,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,0EAA0E;IAC1E,2EAA2E;IAC3E,EAAE,CAAC,EAAE,CAAC,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE;QAC9C,iBAAiB,CAAC,KAAK,EAAE,CAAC;QAC1B,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAC3B,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QACtC,IAAI,CAAC,KAAK,CAAC,WAAW;YAAE,OAAO;QAC/B,KAAK,CAAC,OAAO,CAAC,WAAW,CACvB,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE,EACrC,KAAK,CAAC,IAAI,CACX,CAAC;QACF,MAAM,KAAK,CAAC,oBAAoB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,EAAE,CAAC,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;QACnC,IAAI,KAAK,CAAC,WAAW;YAAE,MAAM,KAAK,CAAC,oBAAoB,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;IACnF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,EAAE,CAAC,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;QACjC,IAAI,KAAK,CAAC,WAAW;YAAE,MAAM,KAAK,CAAC,oBAAoB,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IACjF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,EAAE,CAAC,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QACzC,IAAI,CAAC,KAAK,CAAC,WAAW;YAAE,OAAO;QAC/B,2EAA2E;QAC3E,iBAAiB,CAAC,OAAO,EAAE,CAAC;QAC5B,MAAM,KAAK,CAAC,oBAAoB,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,EAAE,CAAC,eAAe,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAC9C,IAAI,CAAC,KAAK,CAAC,WAAW;YAAE,OAAO;QAC/B,MAAM,SAAS,GAAG,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACxD,MAAM,cAAc,GAAG,MAAM,oBAAoB,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE;YAC5E,eAAe,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe;YACrD,OAAO,EAAE,KAAK,CAAC,OAAO;SACvB,CAAC,CAAC;QACH,IAAI,CAAC,cAAc,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC3D,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACtC,OAAO,CAAC,EAAE,CAAC,SAAS,CAClB,gBAAgB,EAChB,MAAM,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,WAAW,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CACjE,CAAC;QACJ,CAAC;QACD,0EAA0E;QAC1E,gFAAgF;QAChF,0EAA0E;QAC1E,2EAA2E;QAC3E,6DAA6D;QAC7D,MAAM,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACzC,MAAM,4BAA4B,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QAC1D,MAAM,KAAK,CAAC,oBAAoB,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CACpC,mBAAmB,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;IAEhD,oEAAoE;IACpE,4EAA4E;IAC5E,EAAE,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,mBAAmB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;IAEvE,EAAE,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACtC,IAAI,KAAK,CAAC,QAAQ,KAAK,MAAM,IAAI,KAAK,CAAC,OAAO;YAAE,OAAO,SAAS,CAAC;QACjE,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACzC,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM;gBAAE,OAAO,IAAI,CAAC;YACtC,MAAM,IAAI,GAAG,4BAA4B,CACvC,IAAI,CAAC,IAAI,EACT,KAAK,CAAC,KAAK,EACX,OAAO,CAAC,GAAG,CACZ,CAAC;YACF,IAAI,IAAI,KAAK,IAAI,CAAC,IAAI;gBAAE,OAAO,IAAI,CAAC;YACpC,OAAO,GAAG,IAAI,CAAC;YACf,OAAO,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QACH,OAAO,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE;QAC7B,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,YAAY;YAAE,OAAO,SAAS,CAAC;QAC1D,MAAM,OAAO,GAAG,KAAK,CAAC,OAAqD,CAAC;QAC5E,MAAM,KAAK,GAAG,kBAAkB,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC/D,IAAI,CAAC,KAAK;YAAE,OAAO,SAAS,CAAC;QAC7B,OAAO;YACL,OAAO,EAAE;gBACP,GAAG,OAAO;gBACV,KAAK,EAAE,wBAAwB,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;aACtD;SACF,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,+EAA+E;IAC/E,8EAA8E;IAC9E,+EAA+E;IAC/E,6EAA6E;IAC7E,EAAE,CAAC,EAAE,CAAC,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAC5C,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,YAAY;YAAE,OAAO,SAAS,CAAC;QAC1D,MAAM,OAAO,GAAG,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC9D,IAAI,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,KAAK,aAAa;YAAE,OAAO,SAAS,CAAC;QAC3E,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAEjD,MAAM,eAAe,GAAG,KAAK,CAAC,OAAiC,CAAC;QAChE,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,oBAAoB,CAC9C,OAAO,EACP,eAAe,EACf,OAAO,CACR,CAAC;QACF,MAAM,SAAS,GAAG,iBAAiB,CACjC,OAAO,EACP,OAAO,CAAC,YAAY,EACpB,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CACrC,CAAC;QACF,MAAM,MAAM,GAAG,cAAc,CAC3B,SAAS,CAAC,IAAI,IAAI,aAAa,EAC/B,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CACrC,CAAC;QACF,sEAAsE;QACtE,sEAAsE;QACtE,MAAM,IAAI,GAAG,4BAA4B,CACvC,MAAM,EACN,OAAO,EACP,OAAO,EACP,KAAK,CAAC,OAAO,EACb,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE,CACtC,CAAC;QACF,MAAM,iBAAiB,GAAG,OAAO,CAAC,SAAS,KAAK,IAAI,IAAI,OAAO,CAAC,SAAS,KAAK,IAAI,CAAC;QACnF,MAAM,OAAO,GACX,OAAO,KAAK,CAAC,OAAO,CAAC,OAAO,KAAK,QAAQ;YACzC,KAAK,CAAC,OAAO,CAAC,OAAO,KAAK,IAAI;YAC9B,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;YACrC,SAAS,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO;YAChC,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE;YAC1D,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAC5B,OAAO;YACL,OAAO,EAAE;gBACP,GAAG,KAAK,CAAC,OAAO;gBAChB,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;gBACjC,OAAO;gBACP,OAAO,EAAE,CAAC,iBAAiB;aAC5B;SACF,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,EAAE,CAAC,oBAAoB,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QACnD,IAAI,CAAC,KAAK,CAAC,WAAW;YAAE,OAAO;QAC/B,KAAK,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAChC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAClB,KAAK,CAAC,iBAAiB,CAAC,YAAY,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;YACtD,MAAM,KAAK,CAAC,oBAAoB,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,EAAE,CAAC,iBAAiB,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAChD,IAAI,CAAC,KAAK,CAAC,WAAW;YAAE,OAAO;QAC/B,MAAM,KAAK,CAAC,oBAAoB,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,0EAA0E;IAC1E,uEAAuE;IACvE,iDAAiD;IACjD,sBAAsB,CAAC,EAAE,EAAE;QACzB,SAAS,EAAE,GAAG,EAAE,CACd,KAAK,CAAC,WAAW;YACf,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM;YAChC,CAAC,CAAC,qBAAqB,CAAC,UAAU,CAAC,MAAM;QAC7C,qBAAqB,EAAE,GAAG,EAAE,CAC1B,KAAK,CAAC,WAAW;YACf,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,kBAAkB;YAC5C,CAAC,CAAC,qBAAqB,CAAC,UAAU,CAAC,kBAAkB;QACzD,wBAAwB,EAAE,CAAC,QAAQ,EAAE,EAAE,CACrC,KAAK,CAAC,WAAW;YACf,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC;YAC9C,CAAC,CAAC,qBAAqB,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC;QAC3D,kBAAkB,EAAE,CAAC,QAAQ,EAAE,EAAE,CAC/B,KAAK,CAAC,WAAW;YACf,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC,QAAQ,CAAC;YACnD,CAAC,CAAC,qBAAqB,CAAC,UAAU,CAAC,eAAe,CAAC,QAAQ,CAAC;KACjE,CAAC,CAAC;IAEH,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QAClC,MAAM,SAAS,GAAG,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACxD,MAAM,YAAY,GAAG,iCAAiC,CACpD,KAAK,CAAC,QAAQ,EACd,CAAC,cAAc,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW;YACnC,KAAK,CAAC,OAAO,CAAC,kBAAkB,CAAC,SAAS,EAAE,cAAc,CAAC,CAC9D,CAAC;QACF,IAAI,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC;QACnC,MAAM,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;YACrD,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM;gBAAE,OAAO,OAAO,CAAC;YAC5C,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;gBACxC,MAAM,OAAO,GAAG,iCAAiC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBACnE,IAAI,OAAO,KAAK,OAAO,CAAC,OAAO;oBAAE,OAAO,OAAO,CAAC;gBAChD,OAAO,GAAG,IAAI,CAAC;gBACf,OAAO,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,CAAC;YACjC,CAAC;YACD,IAAI,cAAc,GAAG,KAAK,CAAC;YAC3B,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC3C,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM;oBAAE,OAAO,IAAI,CAAC;gBACtC,MAAM,IAAI,GAAG,iCAAiC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC1D,IAAI,IAAI,KAAK,IAAI,CAAC,IAAI;oBAAE,OAAO,IAAI,CAAC;gBACpC,OAAO,GAAG,IAAI,CAAC;gBACf,cAAc,GAAG,IAAI,CAAC;gBACtB,OAAO,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,CAAC;YAC3B,CAAC,CAAC,CAAC;YACH,OAAO,cAAc,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;QAC5D,CAAC,CAAC,CAAC;QACH,OAAO,OAAO,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,EAAE,CAAC,oBAAoB,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;QAC1C,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW;YACpC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY;YAC3B,CAAC,CAAC,qBAAqB,CAAC,YAAY,CAAC;QACvC,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW;YAClC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI;YAC1B,CAAC,CAAC,qBAAqB,CAAC,MAAM,CAAC,IAAI,CAAC;QACtC,MAAM,qBAAqB,GAAG,YAAY,IAAI,UAAU,KAAK,SAAS,CAAC;QACvE,IAAI,CAAC,EAAE,CAAC,cAAc,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;YAAE,OAAO;QACzD,MAAM,MAAM,GAAG,KAAK,CAAC,mBAAmB,CAAC,MAAM,IAAI,EAAE,CAAC;QACtD,0EAA0E;QAC1E,0EAA0E;QAC1E,uDAAuD;QACvD,MAAM,YAAY,GAAG,qBAAqB;YACxC,CAAC,CAAC,8BAA8B,CAAC,KAAK,CAAC,YAAY,EAAE,MAAM,CAAC;YAC5D,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC;QACvB,uEAAuE;QACvE,wEAAwE;QACxE,uEAAuE;QACvE,MAAM,sBAAsB,GAAG,qBAAqB;YAClD,CAAC,CAAC,2BAA2B,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC;YACnD,CAAC,CAAC,SAAS,CAAC;QACd,MAAM,QAAQ,GAAG,CAAC,qBAAqB;YACrC,CAAC,CAAC,qnCAAqnC;YACvnC,CAAC,CAAC,gfAAgf,CAAC;cACjf,CAAC,UAAU,KAAK,SAAS;gBACzB,CAAC,CAAC,6VAA6V;gBAC/V,CAAC,CAAC,UAAU,KAAK,OAAO;oBACtB,CAAC,CAAC,4GAA4G;oBAC9G,CAAC,CAAC,EAAE,CAAC;cACP,CAAC,sBAAsB,CAAC,CAAC,CAAC,OAAO,sBAAsB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACpE,uEAAuE;QACvE,uEAAuE;QACvE,sEAAsE;QACtE,wEAAwE;QACxE,yEAAyE;QACzE,MAAM,eAAe,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QACxE,MAAM,QAAQ,GACZ,eAAe,EAAE,OAAO,KAAK,IAAI,IAAI,eAAe,CAAC,aAAa;YAChE,CAAC,CAAC,iBAAiB,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,eAAe,CAAC,QAAQ,CAAC;YACpE,CAAC,CAAC,SAAS,CAAC;QAChB,uEAAuE;QACvE,yEAAyE;QACzE,YAAY;QACZ,OAAO;YACL,YAAY,EAAE,GAAG,YAAY,OAAO,QAAQ,EAAE;YAC9C,GAAG,CAAC,QAAQ;gBACV,CAAC,CAAC;oBACE,OAAO,EAAE;wBACP,UAAU,EAAE,+BAA+B;wBAC3C,OAAO,EAAE,QAAQ,CAAC,OAAO;wBACzB,OAAO,EAAE,QAAQ,CAAC,OAAO;wBACzB,OAAO,EAAE,QAAQ,CAAC,OAAO;qBAC1B;iBACF;gBACH,CAAC,CAAC,EAAE,CAAC;SACR,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,qCAAqC,CAAC,EAAE,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QACtE,IAAI,CAAC,KAAK,CAAC,WAAW;YAAE,OAAO;QAC/B,KAAK,CAAC,iBAAiB,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,EAAE,CAAC,kBAAkB,EAAE,KAAK,IAAI,EAAE;QACnC,+BAA+B,EAAE,CAAC;QAClC,IAAI,CAAC;YACH,eAAe,CAAC,KAAK,EAAE,CAAC;YACxB,kBAAkB,CAAC,KAAK,EAAE,CAAC;YAC3B,qBAAqB,EAAE,CAAC;YACxB,QAAQ,CAAC,IAAI,EAAE,CAAC;YAChB,kBAAkB,EAAE,CAAC;YACrB,aAAa,CAAC,OAAO,EAAE,CAAC;YACxB,mBAAmB,CAAC,KAAK,EAAE,CAAC;YAC5B,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAC;QACzB,CAAC;gBAAS,CAAC;YACT,WAAW,CAAC,OAAO,EAAE,CAAC;QACxB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,2EAA2E;IAC3E,+EAA+E;IAC/E,2EAA2E;IAC3E,4CAA4C;IAC5C,EAAE,CAAC,EAAE,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAC/B,qBAAqB,EAAE,CAAC;IAC1B,CAAC,CAAC,CAAC;IAEH,qBAAqB,CAAC,EAAE,EAAE;QACxB,KAAK;QACL,QAAQ;QACR,aAAa;QACb,eAAe;QACf,kBAAkB;QAClB,0BAA0B;KAC3B,CAAC,CAAC;AACL,CAAC;AAED,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC"}
@@ -27,7 +27,7 @@ each source's corpus is its tools' names plus descriptions. A prompt scores
27
27
  against each unburned source as the sum of matched-term weights:
28
28
 
29
29
  $$
30
- s(p, j) = \sum_{t \in T(p) \cap T(j)} \frac{1}{\mathrm{df}(t)}, \qquad \mathrm{df}(t) = \bigl|\{ j : t \in T(j) \bigr\|
30
+ s(p, j) = \sum_{t \in T(p) \cap T(j)} \frac{1}{\mathrm{df}(t)}, \qquad \mathrm{df}(t) = \Bigl|\{ j : t \in T(j) \}\Bigr|
31
31
  $$
32
32
 
33
33
  The weight is *plain* $1/\mathrm{df}$, not $\ln(N/\mathrm{df})$ tf-idf. Classic idf
@@ -121,29 +121,42 @@ With the default fixture terms, "query the results table please" scores
121
121
  $s = 1.333$ (weak band): the EWMA crosses $0.9$ only on the second tidy prompt,
122
122
  and cool-off while the user edits code delays the fire as intended.
123
123
 
124
- ## Ash: permanent suppression with provenance
124
+ ## Ash: session-scoped suppression the transcript is the ledger
125
125
 
126
- Fired namespaces are burned. The record (ash) is append-only and machine-global,
127
- persisted at `<agent-dir>/fabric/capability-advisories.json`:
126
+ Fired namespaces are burned, and the burn record lives in the session's own
127
+ transcript there is no side store:
128
128
 
129
- ```json
130
- { "format": 2, "burned": [
131
- { "namespace": "extension:pi-websearch", "origin": "fired", "at": "2026-08-10T16:00:00.000Z" },
132
- { "namespace": "extension:pi-fovea", "origin": "organic" } ] }
133
- ```
129
+ - `fired` — the hint itself is the record: every advisory is emitted as a
130
+ `pi-fabric-capability` custom-message entry whose `details` name the
131
+ namespaces shown. Burning happened *when the paper entered the fire*, and
132
+ the transcript is the fire.
133
+ - `organic` — the model invoked a captured tool from that namespace *without
134
+ a hint*. The tool call is already a transcript entry; the capability's
135
+ information potential was spent by discovery, so we burn it preemptively
136
+ (organic-discovery poisoning: the same one-way door, entered from the other
137
+ side).
134
138
 
135
- Provenance is in `origin`:
139
+ Ash is *derived*, never stored: on `session_start` and on every branch switch
140
+ (`session_tree`) the advisor replays the current branch's entries
141
+ (`ctx.sessionManager.getBranch()`) and re-marks both burn kinds, with
142
+ provenance (`origin`) and wall time (`at`, taken from the entry's own
143
+ timestamp) rebuilt from the transcript:
136
144
 
137
- - `fired` — a hint was emitted for this capability.
138
- - `organic` the model invoked a captured tool from that namespace *without a
139
- hint*. The capability's information potential is already spent; a hint would
140
- be redundant, so we burn it preemptively. This is organic-discovery poisoning:
141
- the same one-way door as a fire, entered from the other side.
145
+ ```json
146
+ { "namespace": "extension:pi-websearch", "origin": "fired", "at": "2026-08-10T16:00:00.000Z" }
147
+ { "namespace": "extension:pi-fovea", "origin": "organic", "at": "2026-08-10T16:12:11.000Z" }
148
+ ```
142
149
 
143
- You don't unburn paper. Ash is never reclaimed: no expires, no release path, no
144
- defrost knob. `reset()` clears things that are inherently session-local (warmth,
145
- smoke streak, per-session cap) but never ash; `hydrate()` loads it on session
146
- start.
150
+ Thermodynamic consequence: the ash set is exactly "burns that happened up to
151
+ the current point in this branch's history." Fork a session and the fork
152
+ replays ashes up to the fork point; rewind with `/tree` and capabilities whose
153
+ burns live only in the abandoned future burn *back into paper* — you don't
154
+ unburn paper, but undoing time restores what hadn't happened yet. A new
155
+ session is a fresh urn: nothing carries across sessions, because the learner
156
+ the hint was meant for (the model's context) doesn't either. Within a session
157
+ there's still no release path: no expires, no defrost knob — `reset()` clears
158
+ only what is inherently transient (warmth, smoke streak, per-session cap),
159
+ never ash.
147
160
 
148
161
  ## Furnace feedback
149
162
 
@@ -153,7 +166,7 @@ before the turn closed? A fire that the model ignored is smoke; a streak of
153
166
  smoke raises the weak-band ignition point:
154
167
 
155
168
  $$
156
- \theta_i = \theta \cdot \bigl(1 + \tfrac{n}{\tau^2}\bigr), \qquad 0 \leq n \leq \tau^2 \quad (\tau = 2: \\ \text{step } 0.25\theta,\ \text{cap } 4)
169
+ \theta_i = \theta \cdot \bigl(1 + n / \tau^2\bigr), \qquad 0 \leq n \leq \tau^2
157
170
  $$
158
171
 
159
172
  where $n$ is the consecutive no-use streak (capped at 4, so ignition never
@@ -162,15 +175,15 @@ zero — clean combustion keeps the furnace responsive. Smoke feedback only rais
162
175
  the *weak-band* ignition bar; strong matches still ignite instantly, because if
163
176
  the evidence is that unambiguous the furnace's skepticism isn't invited.
164
177
 
165
- Transient feedback lives session-locally too: smoke is lifted by the first clean
166
- burn, and unlike ash it doesn't persist across sessions (organic poisoning
167
- covers the durable learning).
178
+ Transient feedback lives session-locally too: smoke is lifted by the first
179
+ clean burn. Like everything else in this model, it does not cross sessions
180
+ the new session brings a fresh transcript, hence a fresh urn.
168
181
 
169
182
  ## Per-session cap
170
183
 
171
184
  $\leq$ `maxPerSession` fires per session regardless of model behavior (default
172
185
  3). Unchanged from the pre-combustion design; the cap guards against prompt
173
- storms in a single session, ash guards against repetition across sessions.
186
+ storms in a single session, and ash guards against repetition within it.
174
187
 
175
188
  ## Summary
176
189
 
@@ -234,7 +234,7 @@ Fabric risk classes are `read`, `write`, `execute`, `network`, and `agent`; appr
234
234
  - Captured and directly registered tools default to the conservative `execute` risk because Pi tool definitions do not declare effects. Add exact tool-name overrides under `capture.risks`. Fovea's verified graph-navigation tools (`fovea_sketch`, `fovea_focus`, `fovea_dwell`, and `fovea_impact`) are read-only exceptions and default to `read`.
235
235
  - Set `capture.hideFromModel` to `false` to index non-core extension tools without hiding them from the model's active set.
236
236
  - `capture.keepVisible` names stay in both Fabric and Pi's model-facing active set, except that Pi core names are always Fabric-owned in full code mode.
237
- - `capture.advisory` injects a capability hint at `before_agent_start` when the prompt's terms match a captured source's tf-idf fingerprint (names + descriptions grouped by source namespace, no manifest declarations needed). `mode: "enabled"` (default) renders the hint in the transcript, `"hidden"` delivers it to the model only, and `"disabled"` turns it off. Each capability fires at most once — the fired set persists in `<agent-dir>/fabric/capability-advisories.json` across session restarts; `maxPerSession` (default 3) caps hints within a session, `threshold` (default 0.9) tunes sensitivity, `maxPerSession` (default 3) caps hints within a session, `threshold` (default 0.9) tunes sensitivity, and `budget` (default 512, clamped 128–8192 — same range as [pi-fovea](https://github.com/monotykamary/pi-fovea)'s `sync.budget`) caps the advisory text in tokens (estimated as chars/4; detail lines squeeze out first, `header + steer` are always kept). The matcher follows a combustion model: 1/df-weighted term scoring, strong matches fire instantly, weak matches accumulate warmth ($W \leftarrow \frac{1}{2}W + \frac{1}{2}s$; ignites at $W \geq$ threshold), each namespace's fire-set is durable *ash* (`fired` or `organic` — organic covers tools you used without a hint) persisted in `<agent-dir>/fabric/capability-advisories.json` across restarts, and ignored fires push smoke streaks that raise the weak-band ignition point by $\theta/\tau^2$ per streak ($0.25\theta$ at the internal memory scale $\tau = 2$ — every internal constant projects from $\tau$ and the score quantum $q = 1$). See [docs/capability-combustion.md](docs/capability-combustion.md) for the full math. Skill markup pi expands into the prompt (`<available_skills>`/`<skill>` blocks) is stripped before matching so a loaded skill cannot trigger its own hint. The hint follows fovea's structured shape: headline, `Candidates:` refs grouped by source, a `Next:` schema/action line for the top ref, and a `Steer:` directive.
237
+ - `capture.advisory` injects a capability hint at `before_agent_start` when the prompt's terms match a captured source's tf-idf fingerprint (names + descriptions grouped by source namespace, no manifest declarations needed). `mode: "enabled"` (default) renders the hint in the transcript, `"hidden"` delivers it to the model only, and `"disabled"` turns it off. Each capability fires at most once per session ash is derived from the session transcript itself (a fired hint is its own custom-message entry; organic use is its own tool call), so reloads and `/tree` branch rewinds replay ashes exactly up to the current point, and a brand-new session starts with a clean urn; `maxPerSession` (default 3) caps hints within a session, `threshold` (default 0.9) tunes sensitivity, `maxPerSession` (default 3) caps hints within a session, `threshold` (default 0.9) tunes sensitivity, and `budget` (default 512, clamped 128–8192 — same range as [pi-fovea](https://github.com/monotykamary/pi-fovea)'s `sync.budget`) caps the advisory text in tokens (estimated as chars/4; rendering walks a degradation ladder — indented tool tree with descriptions → names-only tree → flat per-source lines → `header + steer` until a rung fits; the ladder keeps leftover tool names in a `+N more:` leaf so they stay addressable). The matcher follows a combustion model: 1/df-weighted term scoring, strong matches fire instantly, weak matches accumulate warmth ($W \leftarrow \frac{1}{2}W + \frac{1}{2}s$; ignites at $W \geq$ threshold), each namespace's fire-set is durable *ash* (`fired` or `organic` — organic covers tools you used without a hint) persisted in `<agent-dir>/fabric/capability-advisories.json` across restarts, and ignored fires push smoke streaks that raise the weak-band ignition point by $\theta/\tau^2$ per streak ($0.25\theta$ at the internal memory scale $\tau = 2$ — every internal constant projects from $\tau$ and the score quantum $q = 1$). See [docs/capability-combustion.md](docs/capability-combustion.md) for the full math. Skill markup pi expands into the prompt (`<available_skills>`/`<skill>` blocks) is stripped before matching so a loaded skill cannot trigger its own hint. The hint follows fovea's structured shape: headline, `Candidates:` refs grouped by source, a `Next:` schema/action line for the top ref, and a `Steer:` directive.
238
238
  - An `ask` policy emits a warning notification and opens an explicit **Allow once** / **Allow for this session** / **Deny** permission prompt, matching Claude-style approval scopes. **Allow once** authorizes only the requested action. **Allow for this session** authorizes that risk class until the current Pi session ends. The TUI uses an inline wizard; RPC clients receive the equivalent `select` dialog.
239
239
  - Concurrent requests are serialized so a one-time approval never silently widens to sibling calls. Session-wide grants are shared between native calls and `fabric_exec`. Escape, dismissal, unavailable interactive UI, and session restart all fail closed.
240
240
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pi-fabric",
3
- "version": "0.44.12",
3
+ "version": "0.44.14",
4
4
  "description": "A programmable tool and agent runtime for Pi",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,4 +0,0 @@
1
- import type { CapabilityBurn } from "./capability-advisory.js";
2
- export declare const loadCapabilityAdvisoryState: (filePath?: string) => CapabilityBurn[];
3
- export declare const saveCapabilityAdvisoryState: (burned: Iterable<CapabilityBurn>, filePath?: string) => void;
4
- //# sourceMappingURL=capability-advisory-store.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"capability-advisory-store.d.ts","sourceRoot":"","sources":["../../src/core/capability-advisory-store.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAyB/D,eAAO,MAAM,2BAA2B,GAAI,WAAW,MAAM,KAAG,cAAc,EA2B7E,CAAC;AAEF,eAAO,MAAM,2BAA2B,GACtC,QAAQ,QAAQ,CAAC,cAAc,CAAC,EAChC,WAAW,MAAM,KAChB,IAGF,CAAC"}
@@ -1,46 +0,0 @@
1
- import { randomUUID } from "node:crypto";
2
- import fs from "node:fs";
3
- import path from "node:path";
4
- import { getAgentDir } from "@earendil-works/pi-coding-agent";
5
- const ADVISORY_STATE_FILENAME = "capability-advisories.json";
6
- const defaultStatePath = () =>
7
- // Sits beside the global actor registry: fired capability hints belong to
8
- // the user's machine-global agent dir so once-fired advisories stay quiet
9
- // across session restarts in every project.
10
- path.join(getAgentDir(), "fabric", ADVISORY_STATE_FILENAME);
11
- const atomicWriteJson = (filePath, value) => {
12
- fs.mkdirSync(path.dirname(filePath), { recursive: true, mode: 0o700 });
13
- const temporaryPath = `${filePath}.${process.pid}.${randomUUID()}.tmp`;
14
- fs.writeFileSync(temporaryPath, JSON.stringify(value, null, 2), {
15
- encoding: "utf8",
16
- mode: 0o600,
17
- });
18
- fs.renameSync(temporaryPath, filePath);
19
- };
20
- export const loadCapabilityAdvisoryState = (filePath) => {
21
- try {
22
- const raw = JSON.parse(fs.readFileSync(filePath ?? defaultStatePath(), "utf8"));
23
- if (raw.format === 2 && Array.isArray(raw.burned)) {
24
- return raw.burned.filter((entry) => typeof entry === "object" &&
25
- entry !== null &&
26
- typeof entry.namespace === "string" &&
27
- (entry.origin === "fired" ||
28
- entry.origin === "organic"));
29
- }
30
- if (raw.format === 1 && Array.isArray(raw.fired)) {
31
- return raw.fired
32
- .filter((entry) => typeof entry === "string")
33
- .map((namespace) => ({ namespace, origin: "fired" }));
34
- }
35
- return [];
36
- }
37
- catch {
38
- // Missing or corrupt state means nothing has burned yet.
39
- return [];
40
- }
41
- };
42
- export const saveCapabilityAdvisoryState = (burned, filePath) => {
43
- const document = { format: 2, burned: [...burned] };
44
- atomicWriteJson(filePath ?? defaultStatePath(), document);
45
- };
46
- //# sourceMappingURL=capability-advisory-store.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"capability-advisory-store.js","sourceRoot":"","sources":["../../src/core/capability-advisory-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAE9D,MAAM,uBAAuB,GAAG,4BAA4B,CAAC;AAW7D,MAAM,gBAAgB,GAAG,GAAW,EAAE;AACpC,0EAA0E;AAC1E,0EAA0E;AAC1E,4CAA4C;AAC5C,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,QAAQ,EAAE,uBAAuB,CAAC,CAAC;AAE9D,MAAM,eAAe,GAAG,CAAC,QAAgB,EAAE,KAAc,EAAQ,EAAE;IACjE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACvE,MAAM,aAAa,GAAG,GAAG,QAAQ,IAAI,OAAO,CAAC,GAAG,IAAI,UAAU,EAAE,MAAM,CAAC;IACvE,EAAE,CAAC,aAAa,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;QAC9D,QAAQ,EAAE,MAAM;QAChB,IAAI,EAAE,KAAK;KACZ,CAAC,CAAC;IACH,EAAE,CAAC,UAAU,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;AACzC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,QAAiB,EAAoB,EAAE;IACjF,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,IAAI,gBAAgB,EAAE,EAAE,MAAM,CAAC,CAI7E,CAAC;QACF,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YAClD,OAAO,GAAG,CAAC,MAAM,CAAC,MAAM,CACtB,CAAC,KAAK,EAA2B,EAAE,CACjC,OAAO,KAAK,KAAK,QAAQ;gBACzB,KAAK,KAAK,IAAI;gBACd,OAAQ,KAAwB,CAAC,SAAS,KAAK,QAAQ;gBACvD,CAAE,KAAwB,CAAC,MAAM,KAAK,OAAO;oBAC1C,KAAwB,CAAC,MAAM,KAAK,SAAS,CAAC,CACpD,CAAC;QACJ,CAAC;QACD,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACjD,OAAO,GAAG,CAAC,KAAK;iBACb,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC;iBAC7D,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,OAAgB,EAAE,CAAC,CAAC,CAAC;QACnE,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAAC,MAAM,CAAC;QACP,yDAAyD;QACzD,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,2BAA2B,GAAG,CACzC,MAAgC,EAChC,QAAiB,EACX,EAAE;IACR,MAAM,QAAQ,GAA2B,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC;IAC5E,eAAe,CAAC,QAAQ,IAAI,gBAAgB,EAAE,EAAE,QAAQ,CAAC,CAAC;AAC5D,CAAC,CAAC"}