0xray 4.0.22 → 4.0.24
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/.grok-plugin/plugin.json +1 -1
- package/.opencode/skills/orchestrator/SKILL.md +7 -7
- package/.xray/features.json +11 -1
- package/.xray/features.schema.json +17 -0
- package/AGENTS-consumer.md +1 -1
- package/AGENTS.md +1 -1
- package/README.md +2 -2
- package/SKILLS.md +1 -1
- package/dist/AGENTS.md +1 -1
- package/dist/CHANGELOG.md +44 -1
- package/dist/README.md +2 -2
- package/dist/SKILLS.md +1 -1
- package/dist/cli/index.js +131 -100
- package/dist/core/features-config.d.ts +4 -0
- package/dist/core/features-config.js +10 -0
- package/dist/inference/inference-accumulator.d.ts +2 -0
- package/dist/inference/inference-accumulator.js +110 -6
- package/dist/inference/inference-cycle.d.ts +12 -0
- package/dist/inference/inference-cycle.js +159 -16
- package/dist/inference/inference-proposal-generator.js +206 -5
- package/dist/inference/inference-run-gate.d.ts +8 -0
- package/dist/inference/inference-run-gate.js +10 -0
- package/dist/inference/session-capture.d.ts +31 -0
- package/dist/inference/session-capture.js +277 -1
- package/dist/integrations/cursor/hooks/pre-compact.js +89 -1
- package/dist/integrations/governance/index.d.ts +5 -0
- package/dist/integrations/governance/index.js +22 -2
- package/dist/integrations/governance/types.d.ts +11 -0
- package/dist/integrations/governance/types.js +16 -0
- package/dist/integrations/hooks/plates.cjs +165 -0
- package/dist/integrations/hooks/station-hook-runtime.cjs +29 -11
- package/dist/integrations/hooks/station-memory-ingest.mjs +109 -42
- package/dist/integrations/openclaw/plugin/xray-pre-tool/package.json +1 -1
- package/dist/mcps/governance.server.d.ts +2 -0
- package/dist/mcps/governance.server.js +12 -1
- package/dist/mcps/researcher-confidence.d.ts +5 -1
- package/dist/mcps/researcher-confidence.js +37 -0
- package/dist/mcps/researcher.server.js +2 -2
- package/dist/memory-routing/index.d.ts +1 -1
- package/dist/memory-routing/index.js +1 -1
- package/dist/memory-routing/lesson-pickup.d.ts +2 -0
- package/dist/memory-routing/lesson-pickup.js +57 -0
- package/dist/memory-routing/plates.d.ts +16 -0
- package/dist/memory-routing/plates.js +71 -0
- package/dist/memory-routing/provider-loader.d.ts +5 -0
- package/dist/memory-routing/provider-loader.js +46 -0
- package/dist/memory-routing/provider-registry.d.ts +7 -2
- package/dist/memory-routing/provider-registry.js +26 -6
- package/dist/memory-routing/record-lesson.d.ts +16 -0
- package/dist/memory-routing/record-lesson.js +26 -0
- package/dist/memory-routing/types.d.ts +17 -0
- package/dist/memory-routing/types.js +2 -1
- package/dist/nucleus/thin-dispatch.d.ts +2 -0
- package/dist/nucleus/thin-dispatch.js +3 -2
- package/dist/processors/implementations/inference-improvement-processor.d.ts +5 -0
- package/dist/processors/implementations/inference-improvement-processor.js +101 -2
- package/dist/processors/implementations/storytelling-trigger-processor.js +1 -11
- package/dist/processors/processor-manager.d.ts +1 -1
- package/dist/processors/processor-manager.js +52 -20
- package/dist/skills/orchestrator/SKILL.md +7 -7
- package/llms.txt +1 -1
- package/package.json +1 -1
- package/scripts/foundry/plant/skills/mill/SKILL.md +1 -1
- package/scripts/foundry/reconcile-version.mjs +23 -1
- package/scripts/foundry/release.mjs +1 -1
- package/scripts/foundry/version-manager.mjs +53 -0
- package/scripts/node/consumer-install-smoke.mjs +3 -3
- package/src/integrations/openclaw/plugin/xray-pre-tool/package.json +1 -1
- package/src/mcps/governance.server.ts +12 -1
- package/src/mcps/researcher-confidence.ts +56 -3
- package/src/mcps/researcher.server.ts +4 -5
- package/src/skills/orchestrator/SKILL.md +7 -7
- package/vendor/@0xray/repertoire/README.md +3 -1
- package/vendor/@0xray/repertoire/data/stack-overlay.json +4 -4
- package/vendor/@0xray/repertoire/data/subject-overlay.json +3 -3
- package/vendor/@0xray/repertoire/dist/RepertoireService.d.ts +4 -0
- package/vendor/@0xray/repertoire/dist/RepertoireService.d.ts.map +1 -1
- package/vendor/@0xray/repertoire/dist/RepertoireService.js +4 -4
- package/vendor/@0xray/repertoire/dist/RepertoireService.js.map +1 -1
- package/vendor/@0xray/repertoire/dist/ingestion/xray-session-ingester.d.ts.map +1 -1
- package/vendor/@0xray/repertoire/dist/ingestion/xray-session-ingester.js.map +1 -1
- package/vendor/@0xray/repertoire/dist/orchestrator-bridge/confidence-gate.d.ts.map +1 -1
- package/vendor/@0xray/repertoire/dist/orchestrator-bridge/confidence-gate.js +5 -0
- package/vendor/@0xray/repertoire/dist/orchestrator-bridge/confidence-gate.js.map +1 -1
- package/vendor/@0xray/repertoire/dist/orchestrator-bridge/signal-injector.d.ts.map +1 -1
- package/vendor/@0xray/repertoire/dist/orchestrator-bridge/signal-injector.js +16 -0
- package/vendor/@0xray/repertoire/dist/orchestrator-bridge/signal-injector.js.map +1 -1
- package/vendor/@0xray/repertoire/dist/paths.d.ts +3 -3
- package/vendor/@0xray/repertoire/dist/paths.d.ts.map +1 -1
- package/vendor/@0xray/repertoire/dist/paths.js.map +1 -1
- package/vendor/@0xray/repertoire/dist/provider/memory-routing-provider.d.ts +11 -0
- package/vendor/@0xray/repertoire/dist/provider/memory-routing-provider.d.ts.map +1 -1
- package/vendor/@0xray/repertoire/dist/provider/memory-routing-provider.js +2 -0
- package/vendor/@0xray/repertoire/dist/provider/memory-routing-provider.js.map +1 -1
- package/vendor/@0xray/repertoire/dist/registry/CuratedSignalsManager.d.ts +74 -4
- package/vendor/@0xray/repertoire/dist/registry/CuratedSignalsManager.d.ts.map +1 -1
- package/vendor/@0xray/repertoire/dist/registry/CuratedSignalsManager.js +431 -13
- package/vendor/@0xray/repertoire/dist/registry/CuratedSignalsManager.js.map +1 -1
- package/vendor/@0xray/repertoire/dist/types.d.ts +21 -0
- package/vendor/@0xray/repertoire/dist/types.d.ts.map +1 -1
- package/vendor/@0xray/repertoire/package.json +1 -1
- package/xray/features.json +11 -1
- package/xray/features.schema.json +17 -0
|
@@ -1,11 +1,154 @@
|
|
|
1
1
|
import { readFileSync, writeFileSync, existsSync } from 'node:fs';
|
|
2
|
+
import { dirname, join } from 'node:path';
|
|
2
3
|
import { DEFAULT_SIGNALS_PATH, hydrateWritableSignals, isFactorySeedFile, isGenericFieldObservedDefinition, } from '../paths.js';
|
|
3
4
|
import { effectiveSignalConfidence, shouldDemoteValidatedSignal, } from './confidence-decay.js';
|
|
4
5
|
export const DEFAULT_PROMOTION_MIN_CONFIDENCE = 0.55;
|
|
5
6
|
export const DEFAULT_PROMOTION_MIN_OBSERVATIONS = 2;
|
|
6
|
-
|
|
7
|
-
export const
|
|
8
|
-
export const
|
|
7
|
+
/** One outcome moves routing. A 0.002 nudge on a floor average does not. */
|
|
8
|
+
export const FEEDBACK_SUCCESS_CONFIDENCE_BOOST = 0.1;
|
|
9
|
+
export const FEEDBACK_FAILURE_CONFIDENCE_PENALTY = 0.1;
|
|
10
|
+
/** Failure may drop below the promotion gate so the law leaves the next decision. */
|
|
11
|
+
export const FEEDBACK_MIN_CONFIDENCE = 0;
|
|
12
|
+
/** Consecutive definition content words that count as a paraphrase of the law. */
|
|
13
|
+
export const LAW_CLAUSE_SPAN = 4;
|
|
14
|
+
const LEARNED_CONVICTION_FILE = 'learned-conviction.json';
|
|
15
|
+
const CLAUSE_STOP = new Set([
|
|
16
|
+
'a', 'an', 'the', 'only', 'just', 'not', 'never', 'always', 'and', 'or', 'of', 'to', 'for',
|
|
17
|
+
'on', 'in', 'with', 'from', 'by', 'is', 'are', 'be', 'this', 'that', 'it', 'as', 'at', 'do',
|
|
18
|
+
'does', 'into', 'than', 'then', 'so', 'if', 'but', 'its', 'their', 'was', 'were',
|
|
19
|
+
]);
|
|
20
|
+
export function isConfidenceFloor(value, gate = DEFAULT_PROMOTION_MIN_CONFIDENCE) {
|
|
21
|
+
return Math.abs(value - gate) <= 1e-4;
|
|
22
|
+
}
|
|
23
|
+
export function clauseTokens(text) {
|
|
24
|
+
return text
|
|
25
|
+
.toLowerCase()
|
|
26
|
+
.split(/[^a-z0-9]+/)
|
|
27
|
+
.filter((word) => word.length >= 3 && !CLAUSE_STOP.has(word));
|
|
28
|
+
}
|
|
29
|
+
function isSubsequence(window, query) {
|
|
30
|
+
let index = 0;
|
|
31
|
+
for (const word of window) {
|
|
32
|
+
while (index < query.length && query[index] !== word)
|
|
33
|
+
index += 1;
|
|
34
|
+
if (index >= query.length)
|
|
35
|
+
return false;
|
|
36
|
+
index += 1;
|
|
37
|
+
}
|
|
38
|
+
return true;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* A paraphrase is four consecutive definition content words, in order, inside a
|
|
42
|
+
* short query window (twice the clause). Two stray words are not a clause.
|
|
43
|
+
* The same words scattered through a long diary are not a clause.
|
|
44
|
+
*/
|
|
45
|
+
export function lawClauseInText(definition, text, span = LAW_CLAUSE_SPAN) {
|
|
46
|
+
const law = clauseTokens(definition);
|
|
47
|
+
const query = clauseTokens(text);
|
|
48
|
+
if (law.length < span || query.length < span)
|
|
49
|
+
return false;
|
|
50
|
+
const room = span * 2;
|
|
51
|
+
for (let start = 0; start + span <= law.length; start += 1) {
|
|
52
|
+
const window = law.slice(start, start + span);
|
|
53
|
+
for (let at = 0; at < query.length; at += 1) {
|
|
54
|
+
const slice = query.slice(at, at + room);
|
|
55
|
+
if (slice.length < span)
|
|
56
|
+
break;
|
|
57
|
+
if (isSubsequence(window, slice))
|
|
58
|
+
return true;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
return false;
|
|
62
|
+
}
|
|
63
|
+
function evidenceWeight(previous, gate) {
|
|
64
|
+
if (!previous)
|
|
65
|
+
return 0;
|
|
66
|
+
if (typeof previous.evidence_count === 'number')
|
|
67
|
+
return previous.evidence_count;
|
|
68
|
+
if (previous.avg_confidence > gate + 1e-4)
|
|
69
|
+
return previous.observation_count;
|
|
70
|
+
return 0;
|
|
71
|
+
}
|
|
72
|
+
/** Historical averages with no counter still count as one piece of evidence. */
|
|
73
|
+
function seededEvidenceCount(evidence) {
|
|
74
|
+
return typeof evidence === 'number' && evidence > 0 ? evidence : 1;
|
|
75
|
+
}
|
|
76
|
+
function validLessons(value) {
|
|
77
|
+
if (!Array.isArray(value))
|
|
78
|
+
return [];
|
|
79
|
+
const lessons = [];
|
|
80
|
+
for (const item of value) {
|
|
81
|
+
if (!item || typeof item !== 'object')
|
|
82
|
+
continue;
|
|
83
|
+
const row = item;
|
|
84
|
+
if (typeof row.taskId !== 'string' || row.taskId.length === 0)
|
|
85
|
+
continue;
|
|
86
|
+
if (row.decision !== 'success' && row.decision !== 'failure')
|
|
87
|
+
continue;
|
|
88
|
+
if (typeof row.text !== 'string' || typeof row.at !== 'string')
|
|
89
|
+
continue;
|
|
90
|
+
lessons.push({ taskId: row.taskId, decision: row.decision, text: row.text, at: row.at });
|
|
91
|
+
}
|
|
92
|
+
return lessons;
|
|
93
|
+
}
|
|
94
|
+
function validLessonIds(value) {
|
|
95
|
+
if (!Array.isArray(value))
|
|
96
|
+
return [];
|
|
97
|
+
return value.filter((item) => typeof item === 'string' && item.length > 0);
|
|
98
|
+
}
|
|
99
|
+
function convictionRecord(stats, signal, prior) {
|
|
100
|
+
const lessons = signal.lessons?.length ? signal.lessons : prior?.lessons;
|
|
101
|
+
const retainedSource = signal.retained_lesson_ids?.length
|
|
102
|
+
? signal.retained_lesson_ids
|
|
103
|
+
: prior?.retained_lesson_ids;
|
|
104
|
+
const retained = retainedSource?.length ? capRetainedIds(retainedSource) : undefined;
|
|
105
|
+
const row = {
|
|
106
|
+
avg_confidence: stats.avg_confidence,
|
|
107
|
+
evidence_count: seededEvidenceCount(stats.evidence_count),
|
|
108
|
+
updated_at: stats.last_seen,
|
|
109
|
+
};
|
|
110
|
+
if (lessons?.length)
|
|
111
|
+
row.lessons = lessons;
|
|
112
|
+
if (retained?.length)
|
|
113
|
+
row.retained_lesson_ids = retained;
|
|
114
|
+
return row;
|
|
115
|
+
}
|
|
116
|
+
export function isAboveConfidenceFloor(value, gate = DEFAULT_PROMOTION_MIN_CONFIDENCE) {
|
|
117
|
+
return value > gate && !isConfidenceFloor(value, gate);
|
|
118
|
+
}
|
|
119
|
+
/** Hot lines kept on a law. Older lines leave only after their task id is in the ledger. */
|
|
120
|
+
export const LESSON_LINE_CAP = 20;
|
|
121
|
+
/**
|
|
122
|
+
* Aged task ids kept so a replay does not step the average.
|
|
123
|
+
* Insertion order, oldest first. Same size as the hot window: past this cap the oldest id leaves.
|
|
124
|
+
* Alphabetical order is not age, so the ledger is not sorted.
|
|
125
|
+
*/
|
|
126
|
+
export const RETAINED_LESSON_ID_CAP = LESSON_LINE_CAP;
|
|
127
|
+
/**
|
|
128
|
+
* Proposed signals minted from speech (`tags` includes `learned`).
|
|
129
|
+
* One lesson-window of room past the hot lines, so unnamed speech can land and then the
|
|
130
|
+
* lowest confidence leaves, then the oldest last_seen. Factory signals and anything not
|
|
131
|
+
* proposed-and-learned stay.
|
|
132
|
+
*/
|
|
133
|
+
export const LEARNED_SIGNAL_CAP = 24;
|
|
134
|
+
export const LESSON_TEXT_CAP = 400;
|
|
135
|
+
/** Keep insertion order. Drop the oldest ids once the ledger is past the cap. */
|
|
136
|
+
function capRetainedIds(ids) {
|
|
137
|
+
const ordered = [];
|
|
138
|
+
const seen = new Set();
|
|
139
|
+
for (const id of ids) {
|
|
140
|
+
if (seen.has(id))
|
|
141
|
+
continue;
|
|
142
|
+
seen.add(id);
|
|
143
|
+
ordered.push(id);
|
|
144
|
+
}
|
|
145
|
+
if (ordered.length <= RETAINED_LESSON_ID_CAP)
|
|
146
|
+
return ordered;
|
|
147
|
+
return ordered.slice(ordered.length - RETAINED_LESSON_ID_CAP);
|
|
148
|
+
}
|
|
149
|
+
function isSpeechMint(signal) {
|
|
150
|
+
return signal.status === 'proposed' && signal.tags.includes('learned');
|
|
151
|
+
}
|
|
9
152
|
const FIELD_PRIMITIVE_NAME = /^[A-Za-z][A-Za-z0-9_-]{2,119}$/;
|
|
10
153
|
/**
|
|
11
154
|
* The diary names a law only when it contains the signal id, or the id with
|
|
@@ -82,6 +225,11 @@ export class CuratedSignalsManager {
|
|
|
82
225
|
filePath;
|
|
83
226
|
constructor(filePath) {
|
|
84
227
|
this.filePath = filePath ?? hydrateWritableSignals(DEFAULT_SIGNALS_PATH);
|
|
228
|
+
this.restoreLearnedConviction();
|
|
229
|
+
this.seedLearnedConviction();
|
|
230
|
+
}
|
|
231
|
+
learnedConvictionPath() {
|
|
232
|
+
return join(dirname(this.filePath), LEARNED_CONVICTION_FILE);
|
|
85
233
|
}
|
|
86
234
|
load() {
|
|
87
235
|
if (!existsSync(this.filePath)) {
|
|
@@ -134,17 +282,20 @@ export class CuratedSignalsManager {
|
|
|
134
282
|
return this.load().signals.filter((s) => s.priority === priority);
|
|
135
283
|
}
|
|
136
284
|
/**
|
|
137
|
-
* Score text against signals. A hit
|
|
138
|
-
*
|
|
285
|
+
* Score text against signals. A hit is the signal id, the id with hyphens
|
|
286
|
+
* read as spaces, or a consecutive definition clause. Two definition words
|
|
287
|
+
* are not a match.
|
|
139
288
|
*/
|
|
140
289
|
matchByText(text, minScore = 2) {
|
|
141
290
|
const normalized = text.toLowerCase();
|
|
142
291
|
const matches = [];
|
|
143
292
|
for (const signal of this.load().signals) {
|
|
144
|
-
|
|
293
|
+
const named = signalNameInText(text, signal.name);
|
|
294
|
+
const clause = !named && lawClauseInText(signal.definition, text);
|
|
295
|
+
if (!named && !clause)
|
|
145
296
|
continue;
|
|
146
|
-
const matchedOn = ['name'];
|
|
147
|
-
let score = 5;
|
|
297
|
+
const matchedOn = named ? ['name'] : ['definition'];
|
|
298
|
+
let score = named ? 5 : 4;
|
|
148
299
|
for (const tag of signal.tags) {
|
|
149
300
|
if (normalized.includes(tag.toLowerCase())) {
|
|
150
301
|
score += 3;
|
|
@@ -248,13 +399,38 @@ export class CuratedSignalsManager {
|
|
|
248
399
|
}
|
|
249
400
|
const previous = signal.observation_stats;
|
|
250
401
|
const observationCount = (previous?.observation_count ?? 0) + 1;
|
|
251
|
-
const
|
|
402
|
+
const forced = (previous?.governance_forced_count ?? 0) + (options.governanceForced ? 1 : 0);
|
|
403
|
+
const atFloor = isConfidenceFloor(match.confidence, minConfidence);
|
|
404
|
+
if (atFloor) {
|
|
405
|
+
signal.observation_stats = previous
|
|
406
|
+
? {
|
|
407
|
+
...previous,
|
|
408
|
+
observation_count: observationCount,
|
|
409
|
+
last_seen: now,
|
|
410
|
+
governance_forced_count: forced,
|
|
411
|
+
evidence_count: evidenceWeight(previous, minConfidence),
|
|
412
|
+
}
|
|
413
|
+
: {
|
|
414
|
+
observation_count: observationCount,
|
|
415
|
+
avg_confidence: match.confidence,
|
|
416
|
+
max_confidence: match.confidence,
|
|
417
|
+
last_seen: now,
|
|
418
|
+
governance_forced_count: forced,
|
|
419
|
+
evidence_count: 0,
|
|
420
|
+
};
|
|
421
|
+
updated.push(signal.name);
|
|
422
|
+
continue;
|
|
423
|
+
}
|
|
424
|
+
const weight = evidenceWeight(previous, minConfidence);
|
|
425
|
+
const evidenceCount = weight + 1;
|
|
426
|
+
const priorAvg = weight > 0 && previous ? previous.avg_confidence : 0;
|
|
252
427
|
signal.observation_stats = {
|
|
253
428
|
observation_count: observationCount,
|
|
254
|
-
avg_confidence:
|
|
429
|
+
avg_confidence: (priorAvg * weight + match.confidence) / evidenceCount,
|
|
255
430
|
max_confidence: Math.max(previous?.max_confidence ?? 0, match.confidence),
|
|
256
431
|
last_seen: now,
|
|
257
|
-
governance_forced_count:
|
|
432
|
+
governance_forced_count: forced,
|
|
433
|
+
evidence_count: evidenceCount,
|
|
258
434
|
};
|
|
259
435
|
updated.push(signal.name);
|
|
260
436
|
}
|
|
@@ -323,9 +499,40 @@ export class CuratedSignalsManager {
|
|
|
323
499
|
const signalNames = [...new Set(entry.repertoireSignals.filter(Boolean))];
|
|
324
500
|
const results = [];
|
|
325
501
|
for (const signalName of signalNames) {
|
|
326
|
-
|
|
327
|
-
|
|
502
|
+
let signal = data.signals.find((candidate) => candidate.name === signalName);
|
|
503
|
+
const lessonText = typeof entry.lesson === 'string' ? entry.lesson.trim().slice(0, LESSON_TEXT_CAP) : '';
|
|
504
|
+
if (!signal) {
|
|
505
|
+
if (lessonText.length === 0)
|
|
506
|
+
continue;
|
|
507
|
+
signal = {
|
|
508
|
+
name: signalName,
|
|
509
|
+
definition: lessonText,
|
|
510
|
+
tags: ['learned'],
|
|
511
|
+
priority: 'medium',
|
|
512
|
+
status: 'proposed',
|
|
513
|
+
evaluation_criteria: lessonText,
|
|
514
|
+
validation_experiment: 'A later task that resembles this situation retrieves the line.',
|
|
515
|
+
master_index_integration: 'Learned from speech that named no stored signal.',
|
|
516
|
+
implementation_notes: '',
|
|
517
|
+
observation_stats: {
|
|
518
|
+
observation_count: 1,
|
|
519
|
+
avg_confidence: DEFAULT_PROMOTION_MIN_CONFIDENCE,
|
|
520
|
+
max_confidence: DEFAULT_PROMOTION_MIN_CONFIDENCE,
|
|
521
|
+
last_seen: now,
|
|
522
|
+
governance_forced_count: 0,
|
|
523
|
+
evidence_count: 1,
|
|
524
|
+
},
|
|
525
|
+
};
|
|
526
|
+
data.signals.push(signal);
|
|
527
|
+
}
|
|
528
|
+
if (this.rememberLesson(signal, {
|
|
529
|
+
taskId: entry.taskId,
|
|
530
|
+
decision: entry.success ? 'success' : 'failure',
|
|
531
|
+
text: lessonText,
|
|
532
|
+
at: now,
|
|
533
|
+
}) === 'already') {
|
|
328
534
|
continue;
|
|
535
|
+
}
|
|
329
536
|
const previousAvg = signal.observation_stats?.avg_confidence ?? null;
|
|
330
537
|
const previousFeedback = signal.feedback_stats;
|
|
331
538
|
const outcomeCount = (previousFeedback?.outcome_count ?? 0) + 1;
|
|
@@ -344,11 +551,14 @@ export class CuratedSignalsManager {
|
|
|
344
551
|
? FEEDBACK_SUCCESS_CONFIDENCE_BOOST
|
|
345
552
|
: -FEEDBACK_FAILURE_CONFIDENCE_PENALTY;
|
|
346
553
|
const next = Math.max(FEEDBACK_MIN_CONFIDENCE, Math.min(1, signal.observation_stats.avg_confidence + delta));
|
|
554
|
+
const weight = evidenceWeight(signal.observation_stats, DEFAULT_PROMOTION_MIN_CONFIDENCE);
|
|
347
555
|
signal.observation_stats = {
|
|
348
556
|
...signal.observation_stats,
|
|
349
557
|
avg_confidence: next,
|
|
558
|
+
evidence_count: weight > 0 ? weight : 1,
|
|
350
559
|
last_seen: now,
|
|
351
560
|
};
|
|
561
|
+
this.writeLearnedConviction(signal.name, signal.observation_stats, signal);
|
|
352
562
|
}
|
|
353
563
|
results.push({
|
|
354
564
|
signalName,
|
|
@@ -358,10 +568,218 @@ export class CuratedSignalsManager {
|
|
|
358
568
|
});
|
|
359
569
|
}
|
|
360
570
|
if (results.length > 0) {
|
|
571
|
+
const evicted = this.evictSpeechMints(data);
|
|
361
572
|
this.save(data);
|
|
573
|
+
this.dropLearnedConviction(evicted);
|
|
362
574
|
}
|
|
363
575
|
return results;
|
|
364
576
|
}
|
|
577
|
+
/**
|
|
578
|
+
* Shed proposed speech mints past LEARNED_SIGNAL_CAP.
|
|
579
|
+
* Lowest confidence leaves first, then the oldest last_seen. Factory laws stay.
|
|
580
|
+
*/
|
|
581
|
+
evictSpeechMints(data) {
|
|
582
|
+
const minted = data.signals.filter(isSpeechMint);
|
|
583
|
+
if (minted.length <= LEARNED_SIGNAL_CAP)
|
|
584
|
+
return [];
|
|
585
|
+
const ranked = [...minted].sort((left, right) => {
|
|
586
|
+
const leftConfidence = left.observation_stats?.avg_confidence ?? 0;
|
|
587
|
+
const rightConfidence = right.observation_stats?.avg_confidence ?? 0;
|
|
588
|
+
if (leftConfidence !== rightConfidence)
|
|
589
|
+
return leftConfidence - rightConfidence;
|
|
590
|
+
const leftSeen = left.observation_stats?.last_seen ?? left.first_seen ?? '';
|
|
591
|
+
const rightSeen = right.observation_stats?.last_seen ?? right.first_seen ?? '';
|
|
592
|
+
if (leftSeen !== rightSeen)
|
|
593
|
+
return leftSeen < rightSeen ? -1 : 1;
|
|
594
|
+
if (left.name === right.name)
|
|
595
|
+
return 0;
|
|
596
|
+
return left.name < right.name ? -1 : 1;
|
|
597
|
+
});
|
|
598
|
+
const dropped = ranked.slice(0, minted.length - LEARNED_SIGNAL_CAP).map((signal) => signal.name);
|
|
599
|
+
const dropNames = new Set(dropped);
|
|
600
|
+
data.signals = data.signals.filter((signal) => !dropNames.has(signal.name));
|
|
601
|
+
return dropped;
|
|
602
|
+
}
|
|
603
|
+
dropLearnedConviction(names) {
|
|
604
|
+
if (names.length === 0 || isFactorySeedFile(this.filePath))
|
|
605
|
+
return;
|
|
606
|
+
const file = this.readLearnedConvictionFile();
|
|
607
|
+
let dirty = false;
|
|
608
|
+
for (const name of names) {
|
|
609
|
+
if (file.signals[name]) {
|
|
610
|
+
delete file.signals[name];
|
|
611
|
+
dirty = true;
|
|
612
|
+
}
|
|
613
|
+
}
|
|
614
|
+
if (dirty)
|
|
615
|
+
this.writeLearnedConvictionFile(file);
|
|
616
|
+
}
|
|
617
|
+
/**
|
|
618
|
+
* Append one graded line. A task id already on the law, or still in the capped
|
|
619
|
+
* ledger, does not move the average and does not append again.
|
|
620
|
+
* Past the hot cap, the oldest line leaves only after its id is in the ledger.
|
|
621
|
+
* Past the ledger cap, the oldest id leaves. Order is recency, not alphabetical.
|
|
622
|
+
*/
|
|
623
|
+
rememberLesson(signal, line) {
|
|
624
|
+
if (!line.taskId)
|
|
625
|
+
return 'already';
|
|
626
|
+
const lessons = [...(signal.lessons ?? [])];
|
|
627
|
+
const retained = [...(signal.retained_lesson_ids ?? [])];
|
|
628
|
+
if (lessons.some((stored) => stored.taskId === line.taskId) || retained.includes(line.taskId)) {
|
|
629
|
+
return 'already';
|
|
630
|
+
}
|
|
631
|
+
lessons.push(line);
|
|
632
|
+
const overflow = lessons.length - LESSON_LINE_CAP;
|
|
633
|
+
if (overflow > 0) {
|
|
634
|
+
for (const aged of lessons.splice(0, overflow)) {
|
|
635
|
+
if (!retained.includes(aged.taskId))
|
|
636
|
+
retained.push(aged.taskId);
|
|
637
|
+
}
|
|
638
|
+
}
|
|
639
|
+
const capped = capRetainedIds(retained);
|
|
640
|
+
signal.lessons = lessons;
|
|
641
|
+
if (capped.length > 0)
|
|
642
|
+
signal.retained_lesson_ids = capped;
|
|
643
|
+
return 'stored';
|
|
644
|
+
}
|
|
645
|
+
/**
|
|
646
|
+
* Conviction that left the 0.55 floor. Not the observation counter.
|
|
647
|
+
* Graded lines sit beside the average. A wake that copies the overlay floor
|
|
648
|
+
* back onto dest restores both.
|
|
649
|
+
*/
|
|
650
|
+
writeLearnedConviction(name, stats, signal) {
|
|
651
|
+
if (isFactorySeedFile(this.filePath))
|
|
652
|
+
return;
|
|
653
|
+
const file = this.readLearnedConvictionFile();
|
|
654
|
+
file.signals[name] = convictionRecord(stats, signal, file.signals[name]);
|
|
655
|
+
this.writeLearnedConvictionFile(file);
|
|
656
|
+
}
|
|
657
|
+
/**
|
|
658
|
+
* Averages already above the floor survive a flatten even when no new
|
|
659
|
+
* feedback has run. Floor names, including float dust at 0.55, stay out.
|
|
660
|
+
*/
|
|
661
|
+
seedLearnedConviction() {
|
|
662
|
+
if (isFactorySeedFile(this.filePath) || !existsSync(this.filePath))
|
|
663
|
+
return [];
|
|
664
|
+
const data = this.load();
|
|
665
|
+
const learned = this.readLearnedConvictionFile();
|
|
666
|
+
const seeded = [];
|
|
667
|
+
let destDirty = false;
|
|
668
|
+
for (const signal of data.signals) {
|
|
669
|
+
const stats = signal.observation_stats;
|
|
670
|
+
if (!stats || !isAboveConfidenceFloor(stats.avg_confidence))
|
|
671
|
+
continue;
|
|
672
|
+
const evidence = seededEvidenceCount(stats.evidence_count);
|
|
673
|
+
if (stats.evidence_count !== evidence) {
|
|
674
|
+
signal.observation_stats = { ...stats, evidence_count: evidence };
|
|
675
|
+
destDirty = true;
|
|
676
|
+
}
|
|
677
|
+
const current = signal.observation_stats;
|
|
678
|
+
if (!current)
|
|
679
|
+
continue;
|
|
680
|
+
const row = learned.signals[signal.name];
|
|
681
|
+
const rowAvg = row && typeof row.avg_confidence === 'number' ? row.avg_confidence : undefined;
|
|
682
|
+
const missing = rowAvg === undefined;
|
|
683
|
+
const higher = rowAvg !== undefined && current.avg_confidence > rowAvg + 1e-4;
|
|
684
|
+
const rowEvidence = row && typeof row.evidence_count === 'number' && row.evidence_count > 0
|
|
685
|
+
? row.evidence_count
|
|
686
|
+
: undefined;
|
|
687
|
+
const nextLessons = signal.lessons?.length ? signal.lessons : validLessons(row?.lessons);
|
|
688
|
+
const nextRetained = signal.retained_lesson_ids?.length
|
|
689
|
+
? signal.retained_lesson_ids
|
|
690
|
+
: validLessonIds(row?.retained_lesson_ids);
|
|
691
|
+
const sameLessons = JSON.stringify(nextLessons) === JSON.stringify(validLessons(row?.lessons));
|
|
692
|
+
const sameRetained = JSON.stringify(nextRetained) === JSON.stringify(validLessonIds(row?.retained_lesson_ids));
|
|
693
|
+
if (!missing && !higher && rowEvidence !== undefined && sameLessons && sameRetained)
|
|
694
|
+
continue;
|
|
695
|
+
const keptAvg = !missing && !higher && rowAvg !== undefined ? rowAvg : current.avg_confidence;
|
|
696
|
+
learned.signals[signal.name] = convictionRecord({ ...current, avg_confidence: keptAvg }, { lessons: nextLessons, retained_lesson_ids: nextRetained });
|
|
697
|
+
seeded.push(signal.name);
|
|
698
|
+
}
|
|
699
|
+
if (seeded.length > 0)
|
|
700
|
+
this.writeLearnedConvictionFile(learned);
|
|
701
|
+
if (destDirty)
|
|
702
|
+
this.save(data);
|
|
703
|
+
return seeded;
|
|
704
|
+
}
|
|
705
|
+
readLearnedConvictionFile() {
|
|
706
|
+
const empty = { schema_version: '1', signals: {} };
|
|
707
|
+
const path = this.learnedConvictionPath();
|
|
708
|
+
if (!existsSync(path))
|
|
709
|
+
return empty;
|
|
710
|
+
try {
|
|
711
|
+
const parsed = JSON.parse(readFileSync(path, 'utf8'));
|
|
712
|
+
if (parsed &&
|
|
713
|
+
parsed.signals &&
|
|
714
|
+
typeof parsed.signals === 'object' &&
|
|
715
|
+
!Array.isArray(parsed.signals)) {
|
|
716
|
+
return { schema_version: '1', signals: parsed.signals };
|
|
717
|
+
}
|
|
718
|
+
}
|
|
719
|
+
catch {
|
|
720
|
+
return empty;
|
|
721
|
+
}
|
|
722
|
+
return empty;
|
|
723
|
+
}
|
|
724
|
+
writeLearnedConvictionFile(file) {
|
|
725
|
+
const body = { schema_version: '1', signals: file.signals };
|
|
726
|
+
writeFileSync(this.learnedConvictionPath(), `${JSON.stringify(body, null, 2)}\n`);
|
|
727
|
+
}
|
|
728
|
+
restoreLearnedConviction() {
|
|
729
|
+
if (isFactorySeedFile(this.filePath) || !existsSync(this.filePath))
|
|
730
|
+
return [];
|
|
731
|
+
const path = this.learnedConvictionPath();
|
|
732
|
+
if (!existsSync(path))
|
|
733
|
+
return [];
|
|
734
|
+
let learned;
|
|
735
|
+
try {
|
|
736
|
+
learned = JSON.parse(readFileSync(path, 'utf8'));
|
|
737
|
+
}
|
|
738
|
+
catch {
|
|
739
|
+
return [];
|
|
740
|
+
}
|
|
741
|
+
if (!learned?.signals || typeof learned.signals !== 'object' || Array.isArray(learned.signals)) {
|
|
742
|
+
return [];
|
|
743
|
+
}
|
|
744
|
+
const data = this.load();
|
|
745
|
+
const restored = [];
|
|
746
|
+
for (const [name, row] of Object.entries(learned.signals)) {
|
|
747
|
+
if (!row || typeof row.avg_confidence !== 'number')
|
|
748
|
+
continue;
|
|
749
|
+
if (isConfidenceFloor(row.avg_confidence))
|
|
750
|
+
continue;
|
|
751
|
+
const signal = data.signals.find((entry) => entry.name === name);
|
|
752
|
+
const stats = signal?.observation_stats;
|
|
753
|
+
if (!signal || !stats)
|
|
754
|
+
continue;
|
|
755
|
+
const learnedLessons = validLessons(row.lessons);
|
|
756
|
+
const learnedIds = validLessonIds(row.retained_lesson_ids);
|
|
757
|
+
const avgOnFloor = isConfidenceFloor(stats.avg_confidence);
|
|
758
|
+
const destHasLessons = (signal.lessons?.length ?? 0) > 0;
|
|
759
|
+
const destLedgerEmpty = (signal.retained_lesson_ids?.length ?? 0) === 0;
|
|
760
|
+
const ledgerMissing = destLedgerEmpty && learnedIds.length > 0;
|
|
761
|
+
if (!avgOnFloor && destHasLessons && !ledgerMissing)
|
|
762
|
+
continue;
|
|
763
|
+
if (!avgOnFloor && !destHasLessons && learnedLessons.length === 0 && learnedIds.length === 0)
|
|
764
|
+
continue;
|
|
765
|
+
if (avgOnFloor) {
|
|
766
|
+
signal.observation_stats = {
|
|
767
|
+
...stats,
|
|
768
|
+
avg_confidence: row.avg_confidence,
|
|
769
|
+
evidence_count: typeof row.evidence_count === 'number' ? row.evidence_count : stats.evidence_count,
|
|
770
|
+
};
|
|
771
|
+
}
|
|
772
|
+
if (!destHasLessons && learnedLessons.length > 0)
|
|
773
|
+
signal.lessons = learnedLessons;
|
|
774
|
+
if ((signal.retained_lesson_ids?.length ?? 0) === 0 && learnedIds.length > 0) {
|
|
775
|
+
signal.retained_lesson_ids = capRetainedIds(learnedIds);
|
|
776
|
+
}
|
|
777
|
+
restored.push(name);
|
|
778
|
+
}
|
|
779
|
+
if (restored.length > 0)
|
|
780
|
+
this.save(data);
|
|
781
|
+
return restored;
|
|
782
|
+
}
|
|
365
783
|
createEmptyFile() {
|
|
366
784
|
return {
|
|
367
785
|
description: 'Curated high-signal primitives for Repertoire',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CuratedSignalsManager.js","sourceRoot":"","sources":["../../src/registry/CuratedSignalsManager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CuratedSignalsManager.js","sourceRoot":"","sources":["../../src/registry/CuratedSignalsManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -41,6 +41,8 @@ export interface SignalObservationStats {
|
|
|
41
41
|
max_confidence: number;
|
|
42
42
|
last_seen: string;
|
|
43
43
|
governance_forced_count: number;
|
|
44
|
+
/** Samples strictly above the 0.55 gate. Floor sightings do not increment this. */
|
|
45
|
+
evidence_count?: number;
|
|
44
46
|
}
|
|
45
47
|
export interface SignalFeedbackStats {
|
|
46
48
|
outcome_count: number;
|
|
@@ -52,6 +54,13 @@ export interface SignalFeedbackStats {
|
|
|
52
54
|
last_duration_ms?: number;
|
|
53
55
|
last_seen: string;
|
|
54
56
|
}
|
|
57
|
+
/** One graded turn under a named law. The text is the memory. The average stays the conviction. */
|
|
58
|
+
export interface SignalLesson {
|
|
59
|
+
taskId: string;
|
|
60
|
+
decision: 'success' | 'failure';
|
|
61
|
+
text: string;
|
|
62
|
+
at: string;
|
|
63
|
+
}
|
|
55
64
|
export interface WeightedPrimitive {
|
|
56
65
|
name: string;
|
|
57
66
|
weightedScore: number;
|
|
@@ -74,6 +83,10 @@ export interface CuratedSignal {
|
|
|
74
83
|
implementation_notes: string;
|
|
75
84
|
observation_stats?: SignalObservationStats;
|
|
76
85
|
feedback_stats?: SignalFeedbackStats;
|
|
86
|
+
/** Graded lines still inside the hot window. */
|
|
87
|
+
lessons?: SignalLesson[];
|
|
88
|
+
/** Task ids whose lines aged out, oldest first, capped. A replay does not step the average. */
|
|
89
|
+
retained_lesson_ids?: string[];
|
|
77
90
|
}
|
|
78
91
|
export interface CuratedSignalsFile {
|
|
79
92
|
description: string;
|
|
@@ -139,6 +152,12 @@ export interface RepertoireRoutingContext {
|
|
|
139
152
|
signalConfidences: Record<string, number>;
|
|
140
153
|
avgMatchConfidence: number;
|
|
141
154
|
highConfidenceTrapPresent: boolean;
|
|
155
|
+
/** Laws above the floor, with the graded lines a wake reads. */
|
|
156
|
+
lessons?: Array<{
|
|
157
|
+
name: string;
|
|
158
|
+
definition: string;
|
|
159
|
+
lines: SignalLesson[];
|
|
160
|
+
}>;
|
|
142
161
|
}
|
|
143
162
|
export interface RepertoireInheritedContext {
|
|
144
163
|
matchedSignals: Array<{
|
|
@@ -177,6 +196,8 @@ export interface OrchestratorFeedbackEntry {
|
|
|
177
196
|
success: boolean;
|
|
178
197
|
durationMs: number;
|
|
179
198
|
dynamoResult?: DynamoResult;
|
|
199
|
+
/** Approaches, solutions, or the wrong turn from the sessions that named the law. */
|
|
200
|
+
lesson?: string;
|
|
180
201
|
}
|
|
181
202
|
/** Minimal types mirroring 0xRay orchestrator — kept local to avoid hard dependency */
|
|
182
203
|
export interface AgentCapability {
|