pi-fabric 0.49.4 → 0.49.5
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.
- package/dist/core/capability-advisory.d.ts.map +1 -1
- package/dist/core/capability-advisory.js +279 -53
- package/dist/core/capability-advisory.js.map +1 -1
- package/dist/core/capability-fingerprint.d.ts.map +1 -1
- package/dist/core/capability-fingerprint.js +4 -0
- package/dist/core/capability-fingerprint.js.map +1 -1
- package/dist/index.js +8 -8
- package/dist/index.js.map +1 -1
- package/docs/capability-combustion.md +322 -215
- package/package.json +1 -1
|
@@ -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;
|
|
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;AAa7D,eAAO,MAAM,+BAA+B,yBAAyB,CAAC;AAyFtE,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;AAiID,qBAAa,iBAAiB;;IA0B5B,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,sBAAsB,EAAE,GAAG,IAAI;IAMtE,OAAO,CAAC,WAAW,EAAE,sBAAsB,EAAE,GAAG,IAAI;IAIpD,UAAU,IAAI,OAAO;IAIrB,KAAK,IAAI,IAAI;IAeb,qBAAqB,CACnB,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,EAC1B,eAAe,EAAE,CACf,QAAQ,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC5B,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,GACjC,IAAI;IA6EP,UAAU,IAAI,cAAc,EAAE;IAO9B,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAc1C,OAAO,IAAI,IAAI;IAiBf,QAAQ,CACN,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,8BAA8B,GACrC,wBAAwB,GAAG,SAAS;CAiTxC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { buildCapabilityIndex, capabilityPathOnlyTerms, capabilityWordCandidates, isMostlyNonLatinPrompt, splitCapabilityWords, truncateAdvisoryDescription, } from "./capability-fingerprint.js";
|
|
1
|
+
import { buildCapabilityIndex, capabilityPathOnlyTerms, capabilityWordCandidates, isMostlyNonLatinPrompt, splitCapabilityWords, tokenizeCapabilityText, truncateAdvisoryDescription, } from "./capability-fingerprint.js";
|
|
2
2
|
export const CAPABILITY_ADVISORY_CUSTOM_TYPE = "pi-fabric-capability";
|
|
3
3
|
const ADVISORY_REF_PREFIX = "extensions";
|
|
4
4
|
// MCP capability sources are namespaced "mcp:<server>" by the provider
|
|
@@ -17,6 +17,24 @@ const toolCallInput = (block) => {
|
|
|
17
17
|
? candidate
|
|
18
18
|
: undefined;
|
|
19
19
|
};
|
|
20
|
+
// Custom-message content has appeared as a plain string and as pi text blocks
|
|
21
|
+
// across transcript versions. Normalize only actual text; malformed or richer
|
|
22
|
+
// blocks carry no advisory vocabulary.
|
|
23
|
+
const customMessageText = (content) => {
|
|
24
|
+
if (typeof content === "string")
|
|
25
|
+
return content;
|
|
26
|
+
if (!Array.isArray(content))
|
|
27
|
+
return "";
|
|
28
|
+
const parts = [];
|
|
29
|
+
for (const block of content) {
|
|
30
|
+
if (typeof block !== "object" || block === null)
|
|
31
|
+
continue;
|
|
32
|
+
const { type, text } = block;
|
|
33
|
+
if (type === "text" && typeof text === "string")
|
|
34
|
+
parts.push(text);
|
|
35
|
+
}
|
|
36
|
+
return parts.join("\n");
|
|
37
|
+
};
|
|
20
38
|
// Score quantum: the weight of a source-unique term (df = 1 → 1/df = 1) — the
|
|
21
39
|
// smallest unit of unambiguous evidence the 1/df scorer can express. The weak
|
|
22
40
|
// band is exactly one quantum wide: strong = weak + one quantum of certainty.
|
|
@@ -41,13 +59,31 @@ const MAX_ADVISORY_NAMES = 3;
|
|
|
41
59
|
// τ = 2 turns — the patience/memory scale. Warmth W is the convolution of
|
|
42
60
|
// the score signal with the exponential kernel K_τ (an EWMA with retention
|
|
43
61
|
// 1 − 1/τ, half-life one turn at τ=2): first-order evidence averages over
|
|
44
|
-
// τ turns.
|
|
62
|
+
// τ turns. The phrase window projects the same scale: 2τ survivors.
|
|
63
|
+
// Smoke feedback estimates a bias, a second-order signal, so it
|
|
45
64
|
// calibrates over τ² events: step θ/τ², ceiling τ² — keeping the maximum
|
|
46
65
|
// furnace raise at exactly θ regardless of τ.
|
|
47
66
|
// Strong band ignites instantly; weak band fires when W breaches the ignition
|
|
48
67
|
// point, so single-turn collisions cool before they get there.
|
|
49
68
|
const TAU = 2;
|
|
50
69
|
const WARM_ALPHA = 1 - 1 / TAU; // 0.5
|
|
70
|
+
// Phrase locality window: two matched written words earn phrased evidence
|
|
71
|
+
// when they stand within 2τ survivors of each other in the prompt AND
|
|
72
|
+
// co-occur on one tool surface of the source (the MRF sequential-dependence
|
|
73
|
+
// clause). Words matched far apart, or across different tools of one
|
|
74
|
+
// namespace, are scatter — vocabulary collision, never phrasing.
|
|
75
|
+
const PHRASE_WINDOW = 2 * TAU; // 4
|
|
76
|
+
// Topic saturation for the script-boundary lane: a lone cross-script word
|
|
77
|
+
// certifies itself when it saturates the source's identity surfaces the way
|
|
78
|
+
// the brand does — at most one omission per τ cycle, share ≥ 1 − 1/τ.
|
|
79
|
+
const TOPIC_SHARE = 1 - 1 / TAU; // 1/2
|
|
80
|
+
// Episode gap for habituation: a written word earns an ambient-vocabulary
|
|
81
|
+
// episode (and rareness damping 1/(1 + e)) when it reappears at least τ²
|
|
82
|
+
// turns after its previous mention. Within-patience repetition stays one
|
|
83
|
+
// episode, so sustained intent never damps. Complete session relapse after
|
|
84
|
+
// τ³ turns forgives a word entirely.
|
|
85
|
+
const SESSION_GAP = TAU * TAU; // 4
|
|
86
|
+
const SESSION_RELAPSE = SESSION_GAP * TAU; // 8
|
|
51
87
|
const SMOKE_STEP = 1 / (TAU * TAU); // 0.25
|
|
52
88
|
const SMOKE_MAX = TAU * TAU; // 4
|
|
53
89
|
const WARM_FLOOR = 1e-3;
|
|
@@ -60,6 +96,53 @@ const STEER_LINE = "Steer: prefer these captured tools over re-implementing the
|
|
|
60
96
|
const SKILL_REGION = /<available_skills\b[^>]*>[\s\S]*?(?:<\/available_skills\s*>|$)|<skill\b[^>]*>[\s\S]*?(?:<\/skill\s*>|$)/g;
|
|
61
97
|
const stripSkillRegions = (prompt) => prompt.replace(SKILL_REGION, " ");
|
|
62
98
|
const estimateTokens = (text) => Math.ceil(text.length / 4);
|
|
99
|
+
// Brand tokens of a source's label: the words that name the capability
|
|
100
|
+
// itself ("pi-fovea" → {fovea}; "mcp:fal-ai" → {fal}). Two-letter tokens are
|
|
101
|
+
// excluded — "ai", "pi" are ambient vocabulary, not a deliberate reach.
|
|
102
|
+
const sourceBrandTokens = (label) => {
|
|
103
|
+
// The terminal namespace segment names the capability ("mcp:fal-ai" →
|
|
104
|
+
// "fal-ai"); a leading "mcp:" is a structural prefix, not a brand.
|
|
105
|
+
const terminal = label.includes(":") ? label.slice(label.lastIndexOf(":") + 1) : label;
|
|
106
|
+
const tokens = new Set();
|
|
107
|
+
for (const token of tokenizeCapabilityText(terminal)) {
|
|
108
|
+
if (token.length >= 3)
|
|
109
|
+
tokens.add(token);
|
|
110
|
+
}
|
|
111
|
+
return tokens;
|
|
112
|
+
};
|
|
113
|
+
// Topic saturation: the share of a source's tool identity surfaces a term
|
|
114
|
+
// lives on. Brand words saturate their namespace ("fovea" in every pi-fovea
|
|
115
|
+
// tool name); glue vocabulary covers less than half of a big catalog
|
|
116
|
+
// ("model" in 5/11 fal tools). The cutoff lives with the engine constants.
|
|
117
|
+
const topicShare = (term, source) => {
|
|
118
|
+
const total = source.names.length;
|
|
119
|
+
if (total === 0)
|
|
120
|
+
return 0;
|
|
121
|
+
let hits = 0;
|
|
122
|
+
for (const terms of source.toolTerms) {
|
|
123
|
+
if (terms?.has(term))
|
|
124
|
+
hits += 1;
|
|
125
|
+
}
|
|
126
|
+
return hits / total;
|
|
127
|
+
};
|
|
128
|
+
// Prompt locality is evaluated only after scoring one tool surface. The caller
|
|
129
|
+
// therefore supplies the co-surface clause by construction; this helper owns
|
|
130
|
+
// only the sequential-dependence clause. Keeping those operations together at
|
|
131
|
+
// the call site prevents one valid pair from certifying namespace-wide mass.
|
|
132
|
+
const hasPromptLocality = (matched) => {
|
|
133
|
+
for (let a = 0; a < matched.length; a++) {
|
|
134
|
+
for (let b = a + 1; b < matched.length; b++) {
|
|
135
|
+
const first = matched[a];
|
|
136
|
+
const second = matched[b];
|
|
137
|
+
if (first === undefined || second === undefined)
|
|
138
|
+
continue;
|
|
139
|
+
if (second.pos - first.pos > PHRASE_WINDOW)
|
|
140
|
+
break; // positions ascend
|
|
141
|
+
return true;
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
return false;
|
|
145
|
+
};
|
|
63
146
|
// pi-fovea icon/indent pattern: one flat ▪ bullet per shown tool with the
|
|
64
147
|
// fully-qualified ref, a source tag in parentheses when more than one source
|
|
65
148
|
// is in play, and the truncated description after an em dash on the rich
|
|
@@ -101,9 +184,22 @@ export class CapabilityAdvisor {
|
|
|
101
184
|
#slices = new Map();
|
|
102
185
|
#ash = new Map();
|
|
103
186
|
#warmth = new Map();
|
|
104
|
-
#
|
|
105
|
-
#hitsThisTurn = new Set();
|
|
187
|
+
#pendingFires = [];
|
|
106
188
|
#smokeStreak = 0;
|
|
189
|
+
// Habituation ledger: word → last turn seen + completed episodes. A word the
|
|
190
|
+
// user keeps returning to across long pauses is ambient vocabulary, not
|
|
191
|
+
// intent. Consecutive-turn repetition NEVER counts (sustained presence IS
|
|
192
|
+
// the weak band's ignition signature); a pause of τ² turns between
|
|
193
|
+
// appearances starts a fresh episode. Like warmth, it resets with the
|
|
194
|
+
// session ledger — ash alone is permanent.
|
|
195
|
+
#turnNo = 0;
|
|
196
|
+
#mentions = new Map();
|
|
197
|
+
// Echo ledger: every latin word we ourselves rendered in advisory content.
|
|
198
|
+
// Our own utterances must never score as intent — quoting or parroting the
|
|
199
|
+
// advisory back cannot re-derive intent from our own voice. Like ash and
|
|
200
|
+
// the fire count, this is branch-derived: reset clears it and transcript
|
|
201
|
+
// replay reconstructs exactly the current history.
|
|
202
|
+
#emitted = new Set();
|
|
107
203
|
#firedTotal = 0;
|
|
108
204
|
// Descriptor sources refresh independently (captured tools on pi tool
|
|
109
205
|
// catalog changes, MCP on descriptor-cache updates) without clobbering each
|
|
@@ -123,25 +219,31 @@ export class CapabilityAdvisor {
|
|
|
123
219
|
}
|
|
124
220
|
reset() {
|
|
125
221
|
this.#warmth.clear();
|
|
126
|
-
this.#
|
|
127
|
-
this.#
|
|
222
|
+
this.#pendingFires = [];
|
|
223
|
+
this.#turnNo = 0;
|
|
224
|
+
this.#mentions.clear();
|
|
225
|
+
this.#emitted.clear();
|
|
128
226
|
this.#smokeStreak = 0;
|
|
129
227
|
this.#firedTotal = 0;
|
|
130
228
|
}
|
|
131
|
-
//
|
|
132
|
-
// fired hints ARE
|
|
133
|
-
//
|
|
134
|
-
//
|
|
135
|
-
// current leaf,
|
|
136
|
-
// time, and a brand-new session starts with a clean urn. Warmth, smoke, and
|
|
137
|
-
// the per-session cap stay pure transients: reset() governs them.
|
|
229
|
+
// Durable advisory state derives from the session transcript, never a side
|
|
230
|
+
// store: fired hints ARE custom messages (their content is the echo ledger
|
|
231
|
+
// and each entry spends one cap unit), while organic use IS the tool calls
|
|
232
|
+
// that name captured tools. Replay rebuilds ash, echoes, and fire count at
|
|
233
|
+
// the current branch leaf. Warmth, smoke, and habituation stay transient.
|
|
138
234
|
restoreAshFromEntries(entries, nameToNamespace) {
|
|
235
|
+
// Transcript-derived state is replaced, never merged: both branch rewinds
|
|
236
|
+
// and process reloads must reproduce exactly the current history.
|
|
139
237
|
this.#ash.clear();
|
|
238
|
+
this.#emitted.clear();
|
|
239
|
+
this.#firedTotal = 0;
|
|
140
240
|
for (const entryUnknown of entries) {
|
|
141
241
|
const entry = entryUnknown;
|
|
142
242
|
const at = typeof entry.timestamp === "string" ? entry.timestamp : "";
|
|
143
243
|
if (entry.type === "custom_message" &&
|
|
144
244
|
entry.customType === CAPABILITY_ADVISORY_CUSTOM_TYPE) {
|
|
245
|
+
this.#firedTotal += 1;
|
|
246
|
+
this.#rememberEmission(customMessageText(entry.content));
|
|
145
247
|
const matches = entry.details
|
|
146
248
|
?.matches;
|
|
147
249
|
if (Array.isArray(matches)) {
|
|
@@ -177,6 +279,12 @@ export class CapabilityAdvisor {
|
|
|
177
279
|
}
|
|
178
280
|
}
|
|
179
281
|
}
|
|
282
|
+
#rememberEmission(content) {
|
|
283
|
+
for (const token of splitCapabilityWords(content)) {
|
|
284
|
+
this.#emitted.add(token);
|
|
285
|
+
this.#emitted.add(token.toLowerCase());
|
|
286
|
+
}
|
|
287
|
+
}
|
|
180
288
|
// Idempotent append: a namespace burns at most once per session history.
|
|
181
289
|
#burn(namespace, origin, at) {
|
|
182
290
|
if (this.#ash.has(namespace))
|
|
@@ -195,20 +303,35 @@ export class CapabilityAdvisor {
|
|
|
195
303
|
// the capability's information potential is already spent. Burn it as ash
|
|
196
304
|
// with origin "organic". Returns true when the ash set changed (persist it).
|
|
197
305
|
observeToolUse(namespace) {
|
|
198
|
-
|
|
199
|
-
|
|
306
|
+
// Attribution has a τ-turn grace window. A model that follows the hint on
|
|
307
|
+
// the next turn still used the advisory; closing the event at the first
|
|
308
|
+
// turn boundary manufactured smoke and needlessly hardened the furnace.
|
|
309
|
+
for (const fire of this.#pendingFires) {
|
|
310
|
+
if (fire.namespaces.has(namespace))
|
|
311
|
+
fire.used = true;
|
|
312
|
+
}
|
|
200
313
|
return this.#burn(namespace, "organic", new Date().toISOString());
|
|
201
314
|
}
|
|
202
|
-
//
|
|
203
|
-
//
|
|
204
|
-
//
|
|
315
|
+
// Resolve feedback in event order. Each fire spans its firing turn and the
|
|
316
|
+
// following turn (τ checkpoints): use anywhere in that window is clean;
|
|
317
|
+
// only an expired unused event emits one smoke quantum. Overlapping events
|
|
318
|
+
// stay independent, and the latest resolved outcome owns the final streak.
|
|
205
319
|
endTurn() {
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
320
|
+
const pending = [];
|
|
321
|
+
for (const fire of this.#pendingFires) {
|
|
322
|
+
if (fire.used) {
|
|
323
|
+
this.#smokeStreak = 0;
|
|
324
|
+
continue;
|
|
325
|
+
}
|
|
326
|
+
fire.turnsLeft -= 1;
|
|
327
|
+
if (fire.turnsLeft <= 0) {
|
|
328
|
+
this.#smokeStreak = Math.min(this.#smokeStreak + 1, SMOKE_MAX);
|
|
329
|
+
}
|
|
330
|
+
else {
|
|
331
|
+
pending.push(fire);
|
|
332
|
+
}
|
|
210
333
|
}
|
|
211
|
-
this.#
|
|
334
|
+
this.#pendingFires = pending;
|
|
212
335
|
}
|
|
213
336
|
evaluate(prompt, config) {
|
|
214
337
|
if (config.mode === "disabled")
|
|
@@ -232,12 +355,47 @@ export class CapabilityAdvisor {
|
|
|
232
355
|
// candidate readings (camelCase atoms plus the word itself). One written
|
|
233
356
|
// word is one unit of intent and of evidence: the scorer and the overlap
|
|
234
357
|
// gate below both count these, so casing a word differently never changes
|
|
235
|
-
// either count. Words with no surviving candidates drop out.
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
358
|
+
// either count. Words with no surviving candidates drop out. Echo ledger
|
|
359
|
+
// words — anything we ourselves rendered in an earlier advisory — never
|
|
360
|
+
// enter the stream: our utterances are evidence of nothing.
|
|
361
|
+
const promptWords = [];
|
|
362
|
+
for (const word of splitCapabilityWords(stripped)) {
|
|
363
|
+
const key = word.toLowerCase();
|
|
364
|
+
if (this.#emitted.has(word) || this.#emitted.has(key))
|
|
365
|
+
continue;
|
|
366
|
+
const candidates = new Set(capabilityWordCandidates(word));
|
|
367
|
+
if (candidates.size > 0)
|
|
368
|
+
promptWords.push({ key, candidates });
|
|
369
|
+
}
|
|
239
370
|
if (promptWords.length === 0 || this.#index.sourceCount === 0)
|
|
240
371
|
return undefined;
|
|
372
|
+
// Habituation ledger. Turn bump, then record: brand terms never accrue
|
|
373
|
+
// (typing a source's name is a claim, not vocabulary — it keeps its full
|
|
374
|
+
// rarity). Episodes complete only across a τ²-turn pause; consecutive
|
|
375
|
+
// repetition stays one episode, so the weak band's sustained-presence
|
|
376
|
+
// signature never damps itself. Absence of τ³ turns relapses a word to
|
|
377
|
+
// fresh: long-dead chatter is forgiven rather than fossilized.
|
|
378
|
+
this.#turnNo += 1;
|
|
379
|
+
const brandWords = new Set();
|
|
380
|
+
for (const source of this.#index.sources) {
|
|
381
|
+
for (const token of sourceBrandTokens(source.label))
|
|
382
|
+
brandWords.add(token);
|
|
383
|
+
}
|
|
384
|
+
for (const { key } of promptWords) {
|
|
385
|
+
if (brandWords.has(key))
|
|
386
|
+
continue;
|
|
387
|
+
const mention = this.#mentions.get(key);
|
|
388
|
+
if (mention === undefined) {
|
|
389
|
+
this.#mentions.set(key, { last: this.#turnNo, extra: 0 });
|
|
390
|
+
continue;
|
|
391
|
+
}
|
|
392
|
+
const gap = this.#turnNo - mention.last;
|
|
393
|
+
mention.last = this.#turnNo;
|
|
394
|
+
if (gap >= SESSION_RELAPSE)
|
|
395
|
+
mention.extra = 0;
|
|
396
|
+
else if (gap >= SESSION_GAP)
|
|
397
|
+
mention.extra += 1;
|
|
398
|
+
}
|
|
241
399
|
const pathOnlyTerms = capabilityPathOnlyTerms(stripped);
|
|
242
400
|
// Each matched written word contributes the rarity of its rarest matched
|
|
243
401
|
// reading (weight = 1/df is monotone, so max weight = min df): exactly
|
|
@@ -247,7 +405,8 @@ export class CapabilityAdvisor {
|
|
|
247
405
|
let score = 0;
|
|
248
406
|
let matchedWords = 0;
|
|
249
407
|
const contributingTerms = [];
|
|
250
|
-
|
|
408
|
+
const matched = [];
|
|
409
|
+
promptWords.forEach(({ key, candidates }, pos) => {
|
|
251
410
|
let bestWeight = 0;
|
|
252
411
|
let bestTerm;
|
|
253
412
|
for (const term of candidates) {
|
|
@@ -263,14 +422,23 @@ export class CapabilityAdvisor {
|
|
|
263
422
|
}
|
|
264
423
|
}
|
|
265
424
|
if (bestTerm === undefined)
|
|
266
|
-
|
|
425
|
+
return;
|
|
426
|
+
// Habituation damping: each completed episode (a return across a
|
|
427
|
+
// τ²-turn pause) discounts the word's rarity by one more count —
|
|
428
|
+
// weight 1/(1 + e). The matched-word count and every structural gate
|
|
429
|
+
// are untouched; only the arithmetic claim decays.
|
|
430
|
+
const extra = this.#mentions.get(key)?.extra ?? 0;
|
|
267
431
|
matchedWords += 1;
|
|
268
|
-
score += bestWeight;
|
|
432
|
+
score += bestWeight / (1 + extra);
|
|
269
433
|
contributingTerms.push(bestTerm);
|
|
270
|
-
|
|
271
|
-
|
|
434
|
+
matched.push({ pos, term: bestTerm });
|
|
435
|
+
});
|
|
436
|
+
return { score, matchedWords, contributingTerms, matched };
|
|
272
437
|
};
|
|
273
438
|
const matches = [];
|
|
439
|
+
// Per-source record of how today's fire ignited: true when this turn's
|
|
440
|
+
// evidence alone carried it (strong band), false for warmth arrivals.
|
|
441
|
+
const fireBands = new Map();
|
|
274
442
|
for (const source of this.#index.sources) {
|
|
275
443
|
if (this.#ash.has(source.namespace))
|
|
276
444
|
continue;
|
|
@@ -279,33 +447,73 @@ export class CapabilityAdvisor {
|
|
|
279
447
|
// the threshold, while 1/df keeps "two distinctive words ≈ one source"
|
|
280
448
|
// meaningful at any catalog size.
|
|
281
449
|
const unit = scoreWords((term) => source.tf.has(term));
|
|
282
|
-
const
|
|
283
|
-
|
|
284
|
-
// written words, so a lone distinctive word ("project", "recent") stays
|
|
285
|
-
// what it is — vocabulary collision, not intent. The exception: a word
|
|
286
|
-
// whose rarest reading is unique to this source (df = 1) contributes a
|
|
287
|
-
// full score quantum, the smallest unit of unambiguous evidence the
|
|
288
|
-
// scorer expresses, so a single source-unique word earns the weak band,
|
|
289
|
-
// where sustained warmth — not instant ignition — does the transience
|
|
290
|
-
// filtering, except across a script boundary (see below).
|
|
291
|
-
const hasSourceUniqueMatch = unit.contributingTerms.some((term) => this.#index.docFrequency(term) === 1);
|
|
292
|
-
if ((unit.matchedWords < 2 && !hasSourceUniqueMatch) || score < config.threshold)
|
|
450
|
+
const namespaceScore = unit.score;
|
|
451
|
+
if (namespaceScore < config.threshold)
|
|
293
452
|
continue;
|
|
294
|
-
const strong = score >= config.threshold + WEAK_MATCH_BAND;
|
|
295
453
|
// Script-boundary exception: inside non-latin prose a lone latin word
|
|
296
454
|
// cannot be a vocabulary collision — the writer had to leave their
|
|
297
|
-
// input method to type
|
|
298
|
-
//
|
|
299
|
-
//
|
|
300
|
-
//
|
|
301
|
-
|
|
455
|
+
// input method to type it. But switching input methods is only proof
|
|
456
|
+
// of deliberateness, not of intent: a teaching question about the
|
|
457
|
+
// host software ("model とは何ですか") reaches across the boundary the
|
|
458
|
+
// same way a brand does. The boundary word must therefore certify
|
|
459
|
+
// itself against the source it names: either it IS the source's brand
|
|
460
|
+
// (a ≥3-letter token of the label's terminal segment) or it saturates
|
|
461
|
+
// the source's identity surfaces at brand level (TOPIC_SHARE = 1 − 1/τ —
|
|
462
|
+
// brand shape, not glue shape). Only the gate moves; the score (and
|
|
463
|
+
// the might-match register it draws) stays.
|
|
464
|
+
const scriptSwitched = mostlyNonLatin &&
|
|
465
|
+
unit.matchedWords === 1 &&
|
|
466
|
+
unit.contributingTerms.some((term) => this.#index.docFrequency(term) === 1 &&
|
|
467
|
+
(sourceBrandTokens(source.label).has(term) ||
|
|
468
|
+
topicShare(term, source) >= TOPIC_SHARE));
|
|
469
|
+
// Lone-word starvation: one matched written word is never intent, in
|
|
470
|
+
// any latin prose. A source-unique word (df = 1) used to earn the weak
|
|
471
|
+
// band on its own, but interrogative filler ("what", "project") is
|
|
472
|
+
// source-unique in small catalogs too, and warmed fal-style namespaces
|
|
473
|
+
// to ignition inside four ordinary questions. Lone words now neither
|
|
474
|
+
// fire nor warm — with two narrow exceptions: the script boundary
|
|
475
|
+
// above, and a word that names its own source. Typing the source's
|
|
476
|
+
// brand ("fovea", "github") unaccompanied is a deliberate reach, so it
|
|
477
|
+
// keeps the weak trickle path (never instant). Ambiguous short label
|
|
478
|
+
// tokens ("ai", "pi") do not qualify.
|
|
479
|
+
const namesItself = unit.contributingTerms.some((term) => sourceBrandTokens(source.label).has(term));
|
|
480
|
+
if (unit.matchedWords < 2 && !scriptSwitched && !namesItself)
|
|
481
|
+
continue;
|
|
482
|
+
// A phrase and its mass must come from the SAME tool surface. The old
|
|
483
|
+
// Boolean locality certificate was attached to namespaceScore, so one
|
|
484
|
+
// weak local pair could launder arbitrarily many words scattered across
|
|
485
|
+
// a wide server into a strong fire. Score every surface independently
|
|
486
|
+
// and retain the strongest threshold-clearing local one. If no surface
|
|
487
|
+
// certifies, namespace-wide overlap is scatter and is bounded to q.
|
|
488
|
+
let phrasedUnit;
|
|
489
|
+
for (const toolTerms of source.toolTerms) {
|
|
490
|
+
if (toolTerms === undefined)
|
|
491
|
+
continue;
|
|
492
|
+
const candidate = scoreWords((term) => toolTerms.has(term));
|
|
493
|
+
if (candidate.score < config.threshold || !hasPromptLocality(candidate.matched)) {
|
|
494
|
+
continue;
|
|
495
|
+
}
|
|
496
|
+
if (phrasedUnit === undefined || candidate.score > phrasedUnit.score) {
|
|
497
|
+
phrasedUnit = candidate;
|
|
498
|
+
}
|
|
499
|
+
}
|
|
500
|
+
const phrased = phrasedUnit !== undefined;
|
|
501
|
+
const score = scriptSwitched
|
|
502
|
+
? namespaceScore
|
|
503
|
+
: (phrasedUnit?.score ?? Math.min(namespaceScore, SCORE_QUANTUM));
|
|
504
|
+
// The strong band ignites on one surface's phrased mass only: sφ ≥ θ + B
|
|
505
|
+
// buys instant fire. Catalog breadth cannot alter sφ; scatter remains q.
|
|
506
|
+
const strong = phrased && score >= config.threshold + WEAK_MATCH_BAND;
|
|
302
507
|
if (!strong && !scriptSwitched) {
|
|
303
|
-
// Weak band: accumulate
|
|
508
|
+
// Weak band: accumulate the effective score this turn. Same-surface
|
|
509
|
+
// phrases feed their own mass; scatter has already been capped at q,
|
|
510
|
+
// so one smoke raises θ_i above its asymptote for the session.
|
|
304
511
|
const warmth = (this.#warmth.get(source.namespace) ?? 0) + (1 - WARM_ALPHA) * score;
|
|
305
512
|
this.#warmth.set(source.namespace, warmth);
|
|
306
513
|
if (warmth < ignitionPoint)
|
|
307
514
|
continue;
|
|
308
515
|
}
|
|
516
|
+
fireBands.set(source.namespace, strong);
|
|
309
517
|
// Rank this source's tools by their own prompt-word overlap so the
|
|
310
518
|
// most relevant refs lead (e.g. openai_websearch before openai_image on
|
|
311
519
|
// a web-search prompt) instead of inherited catalog order.
|
|
@@ -320,7 +528,7 @@ export class CapabilityAdvisor {
|
|
|
320
528
|
namespace: source.namespace,
|
|
321
529
|
label: source.label,
|
|
322
530
|
score,
|
|
323
|
-
matchedTerms: unit.contributingTerms.sort((a, b) => this.#index.docFrequency(a) - this.#index.docFrequency(b)),
|
|
531
|
+
matchedTerms: (phrasedUnit ?? unit).contributingTerms.sort((a, b) => this.#index.docFrequency(a) - this.#index.docFrequency(b)),
|
|
324
532
|
names: order.map((index) => source.names[index] ?? "").filter((name) => name !== ""),
|
|
325
533
|
descriptions: order.map((index) => source.descriptions[index] ?? ""),
|
|
326
534
|
omitted: 0,
|
|
@@ -330,8 +538,14 @@ export class CapabilityAdvisor {
|
|
|
330
538
|
return undefined;
|
|
331
539
|
matches.sort((a, b) => b.score - a.score || a.namespace.localeCompare(b.namespace));
|
|
332
540
|
const included = matches.slice(0, MAX_ADVISORY_SOURCES);
|
|
541
|
+
// The register reports HOW the fire ignited, not how big the score was:
|
|
542
|
+
// "matched" only when this turn's evidence alone would have ignited on
|
|
543
|
+
// its own (phrased, above the strong bar). A fire that arrived through
|
|
544
|
+
// sustained warmth — trickle, brand reach, script boundary — reads
|
|
545
|
+
// "might match", however large the accumulated raw mass. The headline
|
|
546
|
+
// carries the fire's confidence, not its arithmetic.
|
|
333
547
|
const strong = included[0] !== undefined &&
|
|
334
|
-
included[0].
|
|
548
|
+
(fireBands.get(included[0].namespace) ?? false);
|
|
335
549
|
// Structured like fovea's sync advisories: a compact headline naming
|
|
336
550
|
// the matched sources, flat ▪ bullet rows, a Next: action pointing at
|
|
337
551
|
// the top ref, and a Steer: directive.
|
|
@@ -393,11 +607,23 @@ export class CapabilityAdvisor {
|
|
|
393
607
|
// Pathological budget: header + steer only, refs survive in details.
|
|
394
608
|
content = `${headerLine}\n${STEER_LINE}`;
|
|
395
609
|
}
|
|
610
|
+
// Echo ledger: every written word we are about to render enters the echo
|
|
611
|
+
// set. Quoting or parroting this advisory next turn cannot score — the
|
|
612
|
+
// sentences we speak must not count as the user's intent. Both surface
|
|
613
|
+
// and lowercase forms are kept, mirroring extraction's casing tolerance.
|
|
614
|
+
for (const token of splitCapabilityWords(content)) {
|
|
615
|
+
this.#emitted.add(token);
|
|
616
|
+
this.#emitted.add(token.toLowerCase());
|
|
617
|
+
}
|
|
396
618
|
for (const match of included) {
|
|
397
619
|
this.#burn(match.namespace, "fired", new Date().toISOString());
|
|
398
620
|
this.#warmth.delete(match.namespace);
|
|
399
|
-
this.#pendingFire.add(match.namespace);
|
|
400
621
|
}
|
|
622
|
+
this.#pendingFires.push({
|
|
623
|
+
namespaces: new Set(included.map((match) => match.namespace)),
|
|
624
|
+
turnsLeft: TAU,
|
|
625
|
+
used: false,
|
|
626
|
+
});
|
|
401
627
|
this.#firedTotal += 1;
|
|
402
628
|
return {
|
|
403
629
|
content,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capability-advisory.js","sourceRoot":"","sources":["../../src/core/capability-advisory.ts"],"names":[],"mappings":"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"}
|
|
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":"capability-fingerprint.d.ts","sourceRoot":"","sources":["../../src/core/capability-fingerprint.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"capability-fingerprint.d.ts","sourceRoot":"","sources":["../../src/core/capability-fingerprint.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAoB7D,MAAM,WAAW,2BAA2B;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;IACjC,EAAE,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,2BAA2B,EAAE,CAAC;IACvC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;CACpC;AAKD,eAAO,MAAM,sBAAsB,GAAI,MAAM,MAAM,KAAG,MAAM,EAQ3D,CAAC;AAWF,eAAO,MAAM,wBAAwB,GAAI,MAAM,MAAM,KAAG,MAAM,EAO7D,CAAC;AAWF,eAAO,MAAM,uBAAuB,GAAI,MAAM,MAAM,KAAG,WAAW,CAAC,MAAM,CAUxE,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,MAAM,MAAM,KAAG,MAAM,EAYzD,CAAC;AAOF,eAAO,MAAM,sBAAsB,GAAI,MAAM,MAAM,KAAG,OAOrD,CAAC;AAIF,eAAO,MAAM,qBAAqB,GAAI,WAAW,MAAM,GAAG,SAAS,KAAG,MAGvC,CAAC;AAShC,eAAO,MAAM,oBAAoB,GAC/B,aAAa,sBAAsB,EAAE,KACpC,eAmDF,CAAC;AASF,eAAO,MAAM,uBAAuB,GAAI,aAAa,MAAM,KAAG,MAG7D,CAAC;AAKF,eAAO,MAAM,2BAA2B,GAAI,aAAa,MAAM,EAAE,iBAAa,KAAG,MAMhF,CAAC"}
|
|
@@ -5,6 +5,10 @@ const CAPABILITY_STOPWORDS = new Set([
|
|
|
5
5
|
"by", "at", "from", "into", "one", "this", "that", "it", "its", "their",
|
|
6
6
|
"your", "you", "we", "i", "me", "my", "mine", "us", "is", "are", "be", "been", "current", "existing",
|
|
7
7
|
"please", "thanks",
|
|
8
|
+
// Interrogatives and question fillers: they frame every request, carry no
|
|
9
|
+
// capability intent of their own, and — worst case — collide with identity
|
|
10
|
+
// prose like "recommendations based on what you want to create".
|
|
11
|
+
"what", "how", "who", "whom", "whose", "why", "where", "which",
|
|
8
12
|
"new", "use", "used", "using", "via", "per", "each", "all", "any", "can",
|
|
9
13
|
"will", "also", "not", "no", "if", "when", "then", "else", "than", "so",
|
|
10
14
|
"such", "over", "under", "out", "up", "down", "off", "through", "during",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capability-fingerprint.js","sourceRoot":"","sources":["../../src/core/capability-fingerprint.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"capability-fingerprint.js","sourceRoot":"","sources":["../../src/core/capability-fingerprint.ts"],"names":[],"mappings":"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"}
|