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.
Files changed (103) hide show
  1. package/.grok-plugin/plugin.json +1 -1
  2. package/.opencode/skills/orchestrator/SKILL.md +7 -7
  3. package/.xray/features.json +11 -1
  4. package/.xray/features.schema.json +17 -0
  5. package/AGENTS-consumer.md +1 -1
  6. package/AGENTS.md +1 -1
  7. package/README.md +2 -2
  8. package/SKILLS.md +1 -1
  9. package/dist/AGENTS.md +1 -1
  10. package/dist/CHANGELOG.md +44 -1
  11. package/dist/README.md +2 -2
  12. package/dist/SKILLS.md +1 -1
  13. package/dist/cli/index.js +131 -100
  14. package/dist/core/features-config.d.ts +4 -0
  15. package/dist/core/features-config.js +10 -0
  16. package/dist/inference/inference-accumulator.d.ts +2 -0
  17. package/dist/inference/inference-accumulator.js +110 -6
  18. package/dist/inference/inference-cycle.d.ts +12 -0
  19. package/dist/inference/inference-cycle.js +159 -16
  20. package/dist/inference/inference-proposal-generator.js +206 -5
  21. package/dist/inference/inference-run-gate.d.ts +8 -0
  22. package/dist/inference/inference-run-gate.js +10 -0
  23. package/dist/inference/session-capture.d.ts +31 -0
  24. package/dist/inference/session-capture.js +277 -1
  25. package/dist/integrations/cursor/hooks/pre-compact.js +89 -1
  26. package/dist/integrations/governance/index.d.ts +5 -0
  27. package/dist/integrations/governance/index.js +22 -2
  28. package/dist/integrations/governance/types.d.ts +11 -0
  29. package/dist/integrations/governance/types.js +16 -0
  30. package/dist/integrations/hooks/plates.cjs +165 -0
  31. package/dist/integrations/hooks/station-hook-runtime.cjs +29 -11
  32. package/dist/integrations/hooks/station-memory-ingest.mjs +109 -42
  33. package/dist/integrations/openclaw/plugin/xray-pre-tool/package.json +1 -1
  34. package/dist/mcps/governance.server.d.ts +2 -0
  35. package/dist/mcps/governance.server.js +12 -1
  36. package/dist/mcps/researcher-confidence.d.ts +5 -1
  37. package/dist/mcps/researcher-confidence.js +37 -0
  38. package/dist/mcps/researcher.server.js +2 -2
  39. package/dist/memory-routing/index.d.ts +1 -1
  40. package/dist/memory-routing/index.js +1 -1
  41. package/dist/memory-routing/lesson-pickup.d.ts +2 -0
  42. package/dist/memory-routing/lesson-pickup.js +57 -0
  43. package/dist/memory-routing/plates.d.ts +16 -0
  44. package/dist/memory-routing/plates.js +71 -0
  45. package/dist/memory-routing/provider-loader.d.ts +5 -0
  46. package/dist/memory-routing/provider-loader.js +46 -0
  47. package/dist/memory-routing/provider-registry.d.ts +7 -2
  48. package/dist/memory-routing/provider-registry.js +26 -6
  49. package/dist/memory-routing/record-lesson.d.ts +16 -0
  50. package/dist/memory-routing/record-lesson.js +26 -0
  51. package/dist/memory-routing/types.d.ts +17 -0
  52. package/dist/memory-routing/types.js +2 -1
  53. package/dist/nucleus/thin-dispatch.d.ts +2 -0
  54. package/dist/nucleus/thin-dispatch.js +3 -2
  55. package/dist/processors/implementations/inference-improvement-processor.d.ts +5 -0
  56. package/dist/processors/implementations/inference-improvement-processor.js +101 -2
  57. package/dist/processors/implementations/storytelling-trigger-processor.js +1 -11
  58. package/dist/processors/processor-manager.d.ts +1 -1
  59. package/dist/processors/processor-manager.js +52 -20
  60. package/dist/skills/orchestrator/SKILL.md +7 -7
  61. package/llms.txt +1 -1
  62. package/package.json +1 -1
  63. package/scripts/foundry/plant/skills/mill/SKILL.md +1 -1
  64. package/scripts/foundry/reconcile-version.mjs +23 -1
  65. package/scripts/foundry/release.mjs +1 -1
  66. package/scripts/foundry/version-manager.mjs +53 -0
  67. package/scripts/node/consumer-install-smoke.mjs +3 -3
  68. package/src/integrations/openclaw/plugin/xray-pre-tool/package.json +1 -1
  69. package/src/mcps/governance.server.ts +12 -1
  70. package/src/mcps/researcher-confidence.ts +56 -3
  71. package/src/mcps/researcher.server.ts +4 -5
  72. package/src/skills/orchestrator/SKILL.md +7 -7
  73. package/vendor/@0xray/repertoire/README.md +3 -1
  74. package/vendor/@0xray/repertoire/data/stack-overlay.json +4 -4
  75. package/vendor/@0xray/repertoire/data/subject-overlay.json +3 -3
  76. package/vendor/@0xray/repertoire/dist/RepertoireService.d.ts +4 -0
  77. package/vendor/@0xray/repertoire/dist/RepertoireService.d.ts.map +1 -1
  78. package/vendor/@0xray/repertoire/dist/RepertoireService.js +4 -4
  79. package/vendor/@0xray/repertoire/dist/RepertoireService.js.map +1 -1
  80. package/vendor/@0xray/repertoire/dist/ingestion/xray-session-ingester.d.ts.map +1 -1
  81. package/vendor/@0xray/repertoire/dist/ingestion/xray-session-ingester.js.map +1 -1
  82. package/vendor/@0xray/repertoire/dist/orchestrator-bridge/confidence-gate.d.ts.map +1 -1
  83. package/vendor/@0xray/repertoire/dist/orchestrator-bridge/confidence-gate.js +5 -0
  84. package/vendor/@0xray/repertoire/dist/orchestrator-bridge/confidence-gate.js.map +1 -1
  85. package/vendor/@0xray/repertoire/dist/orchestrator-bridge/signal-injector.d.ts.map +1 -1
  86. package/vendor/@0xray/repertoire/dist/orchestrator-bridge/signal-injector.js +16 -0
  87. package/vendor/@0xray/repertoire/dist/orchestrator-bridge/signal-injector.js.map +1 -1
  88. package/vendor/@0xray/repertoire/dist/paths.d.ts +3 -3
  89. package/vendor/@0xray/repertoire/dist/paths.d.ts.map +1 -1
  90. package/vendor/@0xray/repertoire/dist/paths.js.map +1 -1
  91. package/vendor/@0xray/repertoire/dist/provider/memory-routing-provider.d.ts +11 -0
  92. package/vendor/@0xray/repertoire/dist/provider/memory-routing-provider.d.ts.map +1 -1
  93. package/vendor/@0xray/repertoire/dist/provider/memory-routing-provider.js +2 -0
  94. package/vendor/@0xray/repertoire/dist/provider/memory-routing-provider.js.map +1 -1
  95. package/vendor/@0xray/repertoire/dist/registry/CuratedSignalsManager.d.ts +74 -4
  96. package/vendor/@0xray/repertoire/dist/registry/CuratedSignalsManager.d.ts.map +1 -1
  97. package/vendor/@0xray/repertoire/dist/registry/CuratedSignalsManager.js +431 -13
  98. package/vendor/@0xray/repertoire/dist/registry/CuratedSignalsManager.js.map +1 -1
  99. package/vendor/@0xray/repertoire/dist/types.d.ts +21 -0
  100. package/vendor/@0xray/repertoire/dist/types.d.ts.map +1 -1
  101. package/vendor/@0xray/repertoire/package.json +1 -1
  102. package/xray/features.json +11 -1
  103. 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
- export const FEEDBACK_SUCCESS_CONFIDENCE_BOOST = 0.002;
7
- export const FEEDBACK_FAILURE_CONFIDENCE_PENALTY = 0.005;
8
- export const FEEDBACK_MIN_CONFIDENCE = DEFAULT_PROMOTION_MIN_CONFIDENCE;
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 requires the signal id, or the id with
138
- * hyphens read as spaces. Two definition words are not a match.
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
- if (!signalNameInText(text, signal.name))
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 totalConfidence = (previous?.avg_confidence ?? 0) * (observationCount - 1) + match.confidence;
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: totalConfidence / observationCount,
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: (previous?.governance_forced_count ?? 0) + (options.governanceForced ? 1 : 0),
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
- const signal = data.signals.find((candidate) => candidate.name === signalName);
327
- if (!signal)
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 {