@seanhogg/builderforce-memory-engine 2026.9.34 → 2026.10.2

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 (189) hide show
  1. package/dist/evermind/delta_wire.d.ts +26 -2
  2. package/dist/evermind/delta_wire.d.ts.map +1 -1
  3. package/dist/evermind/delta_wire.js +46 -4
  4. package/dist/evermind/delta_wire.js.map +1 -1
  5. package/dist/evermind/index.d.ts +5 -5
  6. package/dist/evermind/index.d.ts.map +1 -1
  7. package/dist/evermind/index.js +2 -2
  8. package/dist/evermind/index.js.map +1 -1
  9. package/dist/evermind/merge.d.ts +28 -0
  10. package/dist/evermind/merge.d.ts.map +1 -1
  11. package/dist/evermind/merge.js +33 -0
  12. package/dist/evermind/merge.js.map +1 -1
  13. package/dist/evermind/ml_head.d.ts +28 -0
  14. package/dist/evermind/ml_head.d.ts.map +1 -0
  15. package/dist/evermind/ml_head.js +47 -0
  16. package/dist/evermind/ml_head.js.map +1 -0
  17. package/dist/evermind/package.d.ts +9 -0
  18. package/dist/evermind/package.d.ts.map +1 -1
  19. package/dist/evermind/package.js +20 -0
  20. package/dist/evermind/package.js.map +1 -1
  21. package/dist/index.d.ts +6 -5
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +5 -3
  24. package/dist/index.js.map +1 -1
  25. package/dist/limbic/index.d.ts +3 -0
  26. package/dist/limbic/index.d.ts.map +1 -1
  27. package/dist/limbic/index.js +3 -0
  28. package/dist/limbic/index.js.map +1 -1
  29. package/dist/limbic/limbic_model.d.ts.map +1 -1
  30. package/dist/limbic/limbic_model.js +1 -3
  31. package/dist/limbic/limbic_model.js.map +1 -1
  32. package/dist/limbic/limbic_task.d.ts +22 -0
  33. package/dist/limbic/limbic_task.d.ts.map +1 -0
  34. package/dist/limbic/limbic_task.js +45 -0
  35. package/dist/limbic/limbic_task.js.map +1 -0
  36. package/dist/limbic/limbic_trainer.d.ts +17 -30
  37. package/dist/limbic/limbic_trainer.d.ts.map +1 -1
  38. package/dist/limbic/limbic_trainer.js +38 -144
  39. package/dist/limbic/limbic_trainer.js.map +1 -1
  40. package/dist/ml/classical/anomaly_composite.d.ts +32 -0
  41. package/dist/ml/classical/anomaly_composite.d.ts.map +1 -0
  42. package/dist/ml/classical/anomaly_composite.js +29 -0
  43. package/dist/ml/classical/anomaly_composite.js.map +1 -0
  44. package/dist/ml/classical/ewma.d.ts +37 -0
  45. package/dist/ml/classical/ewma.d.ts.map +1 -0
  46. package/dist/ml/classical/ewma.js +48 -0
  47. package/dist/ml/classical/ewma.js.map +1 -0
  48. package/dist/ml/classical/gbm.d.ts +42 -0
  49. package/dist/ml/classical/gbm.d.ts.map +1 -0
  50. package/dist/ml/classical/gbm.js +117 -0
  51. package/dist/ml/classical/gbm.js.map +1 -0
  52. package/dist/ml/classical/index.d.ts +52 -0
  53. package/dist/ml/classical/index.d.ts.map +1 -0
  54. package/dist/ml/classical/index.js +49 -0
  55. package/dist/ml/classical/index.js.map +1 -0
  56. package/dist/ml/classical/isolation_forest.d.ts +37 -0
  57. package/dist/ml/classical/isolation_forest.d.ts.map +1 -0
  58. package/dist/ml/classical/isolation_forest.js +72 -0
  59. package/dist/ml/classical/isolation_forest.js.map +1 -0
  60. package/dist/ml/classical/kmeans.d.ts +31 -0
  61. package/dist/ml/classical/kmeans.d.ts.map +1 -0
  62. package/dist/ml/classical/kmeans.js +112 -0
  63. package/dist/ml/classical/kmeans.js.map +1 -0
  64. package/dist/ml/classical/knn.d.ts +51 -0
  65. package/dist/ml/classical/knn.d.ts.map +1 -0
  66. package/dist/ml/classical/knn.js +69 -0
  67. package/dist/ml/classical/knn.js.map +1 -0
  68. package/dist/ml/classical/linear.d.ts +29 -0
  69. package/dist/ml/classical/linear.d.ts.map +1 -0
  70. package/dist/ml/classical/linear.js +114 -0
  71. package/dist/ml/classical/linear.js.map +1 -0
  72. package/dist/ml/classical/logistic.d.ts +31 -0
  73. package/dist/ml/classical/logistic.d.ts.map +1 -0
  74. package/dist/ml/classical/logistic.js +111 -0
  75. package/dist/ml/classical/logistic.js.map +1 -0
  76. package/dist/ml/classical/math.d.ts +26 -0
  77. package/dist/ml/classical/math.d.ts.map +1 -0
  78. package/dist/ml/classical/math.js +90 -0
  79. package/dist/ml/classical/math.js.map +1 -0
  80. package/dist/ml/classical/naive_bayes.d.ts +28 -0
  81. package/dist/ml/classical/naive_bayes.d.ts.map +1 -0
  82. package/dist/ml/classical/naive_bayes.js +72 -0
  83. package/dist/ml/classical/naive_bayes.js.map +1 -0
  84. package/dist/ml/classical/robust_z.d.ts +38 -0
  85. package/dist/ml/classical/robust_z.d.ts.map +1 -0
  86. package/dist/ml/classical/robust_z.js +47 -0
  87. package/dist/ml/classical/robust_z.js.map +1 -0
  88. package/dist/ml/dense_head.d.ts +33 -0
  89. package/dist/ml/dense_head.d.ts.map +1 -0
  90. package/dist/ml/dense_head.js +140 -0
  91. package/dist/ml/dense_head.js.map +1 -0
  92. package/dist/ml/eval_loss.d.ts +15 -0
  93. package/dist/ml/eval_loss.d.ts.map +1 -0
  94. package/dist/ml/eval_loss.js +20 -0
  95. package/dist/ml/eval_loss.js.map +1 -0
  96. package/dist/ml/features.d.ts +25 -0
  97. package/dist/ml/features.d.ts.map +1 -0
  98. package/dist/ml/features.js +46 -0
  99. package/dist/ml/features.js.map +1 -0
  100. package/dist/ml/federate.d.ts +56 -0
  101. package/dist/ml/federate.d.ts.map +1 -0
  102. package/dist/ml/federate.js +99 -0
  103. package/dist/ml/federate.js.map +1 -0
  104. package/dist/ml/head_trainer.d.ts +78 -0
  105. package/dist/ml/head_trainer.d.ts.map +1 -0
  106. package/dist/ml/head_trainer.js +182 -0
  107. package/dist/ml/head_trainer.js.map +1 -0
  108. package/dist/ml/index.d.ts +23 -0
  109. package/dist/ml/index.d.ts.map +1 -0
  110. package/dist/ml/index.js +11 -0
  111. package/dist/ml/index.js.map +1 -0
  112. package/dist/ml/registry.d.ts +20 -0
  113. package/dist/ml/registry.d.ts.map +1 -0
  114. package/dist/ml/registry.js +43 -0
  115. package/dist/ml/registry.js.map +1 -0
  116. package/dist/ml/run.d.ts +103 -0
  117. package/dist/ml/run.d.ts.map +1 -0
  118. package/dist/ml/run.js +169 -0
  119. package/dist/ml/run.js.map +1 -0
  120. package/dist/ml/tasks/experience.d.ts +127 -0
  121. package/dist/ml/tasks/experience.d.ts.map +1 -0
  122. package/dist/ml/tasks/experience.js +213 -0
  123. package/dist/ml/tasks/experience.js.map +1 -0
  124. package/dist/ml/tasks/index.d.ts +10 -0
  125. package/dist/ml/tasks/index.d.ts.map +1 -0
  126. package/dist/ml/tasks/index.js +28 -0
  127. package/dist/ml/tasks/index.js.map +1 -0
  128. package/dist/ml/tasks/local_success.d.ts +55 -0
  129. package/dist/ml/tasks/local_success.d.ts.map +1 -0
  130. package/dist/ml/tasks/local_success.js +77 -0
  131. package/dist/ml/tasks/local_success.js.map +1 -0
  132. package/dist/ml/tasks/run_anomaly.d.ts +52 -0
  133. package/dist/ml/tasks/run_anomaly.d.ts.map +1 -0
  134. package/dist/ml/tasks/run_anomaly.js +50 -0
  135. package/dist/ml/tasks/run_anomaly.js.map +1 -0
  136. package/dist/ml/train.d.ts +59 -0
  137. package/dist/ml/train.d.ts.map +1 -0
  138. package/dist/ml/train.js +84 -0
  139. package/dist/ml/train.js.map +1 -0
  140. package/dist/ml/types.d.ts +115 -0
  141. package/dist/ml/types.d.ts.map +1 -0
  142. package/dist/ml/types.js +24 -0
  143. package/dist/ml/types.js.map +1 -0
  144. package/dist/moe/moe_model.d.ts.map +1 -1
  145. package/dist/moe/moe_model.js +1 -16
  146. package/dist/moe/moe_model.js.map +1 -1
  147. package/dist/training/cpu_ops.d.ts +2 -0
  148. package/dist/training/cpu_ops.d.ts.map +1 -1
  149. package/dist/training/cpu_ops.js +16 -0
  150. package/dist/training/cpu_ops.js.map +1 -1
  151. package/package.json +1 -1
  152. package/src/evermind/delta_wire.ts +63 -4
  153. package/src/evermind/index.ts +7 -3
  154. package/src/evermind/merge.ts +59 -0
  155. package/src/evermind/ml_head.ts +63 -0
  156. package/src/evermind/package.ts +24 -0
  157. package/src/index.ts +17 -1
  158. package/src/limbic/index.ts +5 -0
  159. package/src/limbic/limbic_model.ts +1 -4
  160. package/src/limbic/limbic_task.ts +62 -0
  161. package/src/limbic/limbic_trainer.ts +41 -208
  162. package/src/ml/classical/anomaly_composite.ts +46 -0
  163. package/src/ml/classical/ewma.ts +74 -0
  164. package/src/ml/classical/gbm.ts +144 -0
  165. package/src/ml/classical/index.ts +82 -0
  166. package/src/ml/classical/isolation_forest.ts +88 -0
  167. package/src/ml/classical/kmeans.ts +120 -0
  168. package/src/ml/classical/knn.ts +102 -0
  169. package/src/ml/classical/linear.ts +119 -0
  170. package/src/ml/classical/logistic.ts +125 -0
  171. package/src/ml/classical/math.ts +93 -0
  172. package/src/ml/classical/naive_bayes.ts +84 -0
  173. package/src/ml/classical/robust_z.ts +74 -0
  174. package/src/ml/dense_head.ts +157 -0
  175. package/src/ml/eval_loss.ts +27 -0
  176. package/src/ml/features.ts +61 -0
  177. package/src/ml/federate.ts +130 -0
  178. package/src/ml/head_trainer.ts +247 -0
  179. package/src/ml/index.ts +57 -0
  180. package/src/ml/registry.ts +44 -0
  181. package/src/ml/run.ts +222 -0
  182. package/src/ml/tasks/experience.ts +293 -0
  183. package/src/ml/tasks/index.ts +30 -0
  184. package/src/ml/tasks/local_success.ts +118 -0
  185. package/src/ml/tasks/run_anomaly.ts +84 -0
  186. package/src/ml/train.ts +120 -0
  187. package/src/ml/types.ts +135 -0
  188. package/src/moe/moe_model.ts +1 -13
  189. package/src/training/cpu_ops.ts +14 -0
@@ -24,6 +24,7 @@
24
24
  */
25
25
  import { SeededRng } from "../utils/rng.js";
26
26
  import { quantizeFp16, dequantizeFp16 } from "../utils/quantization.js";
27
+ import { softmax } from "../training/cpu_ops.js";
27
28
  export const DEFAULT_MOE_CONFIG = {
28
29
  modelDim: 64,
29
30
  hiddenDim: 128,
@@ -398,20 +399,4 @@ export class SharedExpertMoE {
398
399
  }
399
400
  }
400
401
  }
401
- /** Numerically-stable softmax over a flat array. */
402
- function softmax(logits) {
403
- let max = -Infinity;
404
- for (let i = 0; i < logits.length; i++)
405
- if (logits[i] > max)
406
- max = logits[i];
407
- const out = new Float32Array(logits.length);
408
- let sum = 0;
409
- for (let i = 0; i < logits.length; i++) {
410
- out[i] = Math.exp(logits[i] - max);
411
- sum += out[i];
412
- }
413
- for (let i = 0; i < logits.length; i++)
414
- out[i] = out[i] / sum;
415
- return out;
416
- }
417
402
  //# sourceMappingURL=moe_model.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"moe_model.js","sourceRoot":"","sources":["../../src/moe/moe_model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"moe_model.js","sourceRoot":"","sources":["../../src/moe/moe_model.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,8 @@
10
10
  /** Epsilon used by `rmsnorm_forward` in `ACTIVATIONS_WGSL`. */
11
11
  export declare const RMSNORM_EPS = 0.000001;
12
12
  export declare function sigmoid(x: number): number;
13
+ /** Numerically-stable softmax over a flat array. */
14
+ export declare function softmax(logits: ArrayLike<number>): Float32Array;
13
15
  /** SiLU(x) = x * sigmoid(x) — mirrors `silu_forward`. */
14
16
  export declare function silu(x: number): number;
15
17
  /** d/dx SiLU(x) = sigmoid(x) * (1 + x * (1 - sigmoid(x))). */
@@ -1 +1 @@
1
- {"version":3,"file":"cpu_ops.d.ts","sourceRoot":"","sources":["../../src/training/cpu_ops.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,+DAA+D;AAC/D,eAAO,MAAM,WAAW,WAAO,CAAC;AAEhC,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAEzC;AAED,yDAAyD;AACzD,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAEtC;AAED,8DAA8D;AAC9D,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAG1C;AAED,wFAAwF;AACxF,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAE1C;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CACzB,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,EACjD,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,GACnD,IAAI,CAWN;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAC1B,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,EAClD,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAC/B,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,GACrD,IAAI,CAgBN;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC1B,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EACtD,GAAG,EAAE,YAAY,EAAE,GAAG,EAAE,YAAY,EAAE,GAAG,GAAE,MAAoB,GAChE,IAAI,CASN;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC3B,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,EAAE,GAAG,EAAE,YAAY,EACrE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EACpB,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,IAAI,GAAE,MAAoB,GAC/D,IAAI,CAgBN"}
1
+ {"version":3,"file":"cpu_ops.d.ts","sourceRoot":"","sources":["../../src/training/cpu_ops.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,+DAA+D;AAC/D,eAAO,MAAM,WAAW,WAAO,CAAC;AAEhC,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAEzC;AAED,oDAAoD;AACpD,wBAAgB,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,GAAG,YAAY,CAW/D;AAED,yDAAyD;AACzD,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAEtC;AAED,8DAA8D;AAC9D,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAG1C;AAED,wFAAwF;AACxF,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAE1C;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CACzB,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,EACjD,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,GACnD,IAAI,CAWN;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAC1B,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,EAClD,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAC/B,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,GACrD,IAAI,CAgBN;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC1B,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EACtD,GAAG,EAAE,YAAY,EAAE,GAAG,EAAE,YAAY,EAAE,GAAG,GAAE,MAAoB,GAChE,IAAI,CASN;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC3B,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,EAAE,GAAG,EAAE,YAAY,EACrE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EACpB,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,IAAI,GAAE,MAAoB,GAC/D,IAAI,CAgBN"}
@@ -12,6 +12,22 @@ export const RMSNORM_EPS = 1e-6;
12
12
  export function sigmoid(x) {
13
13
  return 1 / (1 + Math.exp(-x));
14
14
  }
15
+ /** Numerically-stable softmax over a flat array. */
16
+ export function softmax(logits) {
17
+ let max = -Infinity;
18
+ for (let i = 0; i < logits.length; i++)
19
+ if (logits[i] > max)
20
+ max = logits[i];
21
+ const out = new Float32Array(logits.length);
22
+ let sum = 0;
23
+ for (let i = 0; i < logits.length; i++) {
24
+ out[i] = Math.exp(logits[i] - max);
25
+ sum += out[i];
26
+ }
27
+ for (let i = 0; i < logits.length; i++)
28
+ out[i] = out[i] / sum;
29
+ return out;
30
+ }
15
31
  /** SiLU(x) = x * sigmoid(x) — mirrors `silu_forward`. */
16
32
  export function silu(x) {
17
33
  return x / (1 + Math.exp(-x));
@@ -1 +1 @@
1
- {"version":3,"file":"cpu_ops.js","sourceRoot":"","sources":["../../src/training/cpu_ops.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cpu_ops.js","sourceRoot":"","sources":["../../src/training/cpu_ops.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seanhogg/builderforce-memory-engine",
3
- "version": "2026.9.34",
3
+ "version": "2026.10.2",
4
4
  "description": "BuilderForce Agent Memory — engine layer. TypeScript/WGSL Mamba SSM kernels, model blocks, autograd, training, and BPE tokenizer (zero runtime deps, WebGPU-native).",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",
@@ -5,7 +5,12 @@
5
5
  * against that version (`diffCheckpoints`) and ships only the sparse diff; the single
6
6
  * writer then merges it (`mergeCheckpointDiffs`) instead of running the fit.
7
7
  * Everything the PRODUCER and the WRITER must agree on lives here, once:
8
- * - the payload shape (`diff` base64 + integer `baseVersion`, optional weight/label);
8
+ * - the payload shape (`diff` base64 + integer `baseVersion`, optional weight/label,
9
+ * optional `target` naming WHICH checkpoint the diff is against — the model's own
10
+ * weights, or one trained ML head carried in the manifest's `mlHeads`);
11
+ * - which checkpoint a door merges into: a parse names its door's target (the model
12
+ * by default), so an ML-head diff can never reach the model's own merge — it would
13
+ * pass every structural check and overwrite the first n floats of the LM weights;
9
14
  * - the size cap, so a producer can fall back before it is refused;
10
15
  * - the structural check a delta must pass before it may join a merge batch.
11
16
  *
@@ -15,6 +20,7 @@
15
20
  import { deserializeRowDelta } from "../utils/delta.js";
16
21
  import { verifyCrcTrailer } from "../utils/crc32.js";
17
22
  import { base64ToBytes, bytesToBase64 } from "../utils/base64.js";
23
+ import { ML_TASK_ID_RE } from "./ml_head.js";
18
24
 
19
25
  /** Max accepted base64 delta, in characters (~8 MiB). */
20
26
  export const MAX_DELTA_B64_CHARS = 8 * 1024 * 1024;
@@ -22,6 +28,24 @@ export const MAX_DELTA_B64_CHARS = 8 * 1024 * 1024;
22
28
  /** Chars of provenance label kept — a diff carries no text, so the label is its only description. */
23
29
  export const DELTA_LABEL_MAX_CHARS = 800;
24
30
 
31
+ /** A delta's target: absent = the model's own checkpoint; `ml:<task id>` = that trained ML head. */
32
+ export const DELTA_TARGET_RE = new RegExp(`^ml:${ML_TASK_ID_RE.source.slice(1)}`);
33
+
34
+ /** The delta target of the trained head for catalog task `taskId`. */
35
+ export function mlHeadTarget(taskId: string): string {
36
+ return `ml:${taskId}`;
37
+ }
38
+
39
+ /**
40
+ * Why a delta's `target` does not belong at a door that merges into `expected`
41
+ * (undefined = the model's own checkpoint), or null when it does. The ONE target
42
+ * check: the parse and the ML-head merge both use it.
43
+ */
44
+ export function deltaTargetMismatch(target: string | undefined, expected: string | undefined): string | null {
45
+ if (target === expected) return null;
46
+ return `target ${target ?? "(model)"} does not belong here; this door merges into ${expected ?? "the model checkpoint"}`;
47
+ }
48
+
25
49
  /** Standard base64 alphabet with optional padding. */
26
50
  const BASE64_RE = /^[A-Za-z0-9+/]+={0,2}$/;
27
51
 
@@ -35,6 +59,11 @@ export interface DeltaLearnPayload {
35
59
  weight?: number;
36
60
  /** Provenance for the merged row (e.g. the run's task). */
37
61
  label?: string;
62
+ /**
63
+ * Which checkpoint the diff is against. Absent = the model's own weights (every
64
+ * delta written before heads federated); `ml:<task id>` = that trained ML head.
65
+ */
66
+ target?: string;
38
67
  }
39
68
 
40
69
  /** Why a body was refused: `invalid` (malformed) or `too-large` (over {@link MAX_DELTA_B64_CHARS}). */
@@ -42,11 +71,21 @@ export type DeltaParseResult =
42
71
  | { ok: true; payload: DeltaLearnPayload }
43
72
  | { ok: false; reason: "invalid" | "too-large"; error: string };
44
73
 
74
+ /** Which checkpoint the door calling {@link parseDeltaLearnPayload} merges into. */
75
+ export interface DeltaParseOptions {
76
+ /** Absent = the model's own checkpoint (the LM door); `ml:<task id>` = that head's door. */
77
+ target?: string;
78
+ }
79
+
45
80
  /**
46
81
  * Parse + validate a delta body. Pure — a front door calls it to refuse a bad body
47
82
  * early, and the single writer calls it again because it trusts no caller.
83
+ *
84
+ * A body whose `target` is not the door's (`opts.target`; absent = the model) is
85
+ * refused as `invalid`: the LM door never admits an ML-head delta, and a head's door
86
+ * never admits a model delta.
48
87
  */
49
- export function parseDeltaLearnPayload(raw: unknown): DeltaParseResult {
88
+ export function parseDeltaLearnPayload(raw: unknown, opts: DeltaParseOptions = {}): DeltaParseResult {
50
89
  const body = raw && typeof raw === "object" ? (raw as Record<string, unknown>) : {};
51
90
  const diff = typeof body.diff === "string" ? body.diff : "";
52
91
  const baseVersion = typeof body.baseVersion === "number" ? body.baseVersion : Number.NaN;
@@ -65,9 +104,21 @@ export function parseDeltaLearnPayload(raw: unknown): DeltaParseResult {
65
104
  }
66
105
  const weight = typeof body.weight === "number" && Number.isFinite(body.weight) && body.weight > 0 ? body.weight : undefined;
67
106
  const label = typeof body.label === "string" && body.label.trim() ? body.label.trim().slice(0, DELTA_LABEL_MAX_CHARS) : undefined;
107
+ if (body.target !== undefined && (typeof body.target !== "string" || !DELTA_TARGET_RE.test(body.target))) {
108
+ return { ok: false, reason: "invalid", error: "target, when present, must be ml:<task id>" };
109
+ }
110
+ const target = body.target as string | undefined;
111
+ const mismatch = deltaTargetMismatch(target, opts.target);
112
+ if (mismatch) return { ok: false, reason: "invalid", error: mismatch };
68
113
  return {
69
114
  ok: true,
70
- payload: { diff, baseVersion, ...(weight !== undefined ? { weight } : {}), ...(label ? { label } : {}) },
115
+ payload: {
116
+ diff,
117
+ baseVersion,
118
+ ...(weight !== undefined ? { weight } : {}),
119
+ ...(label ? { label } : {}),
120
+ ...(target ? { target } : {}),
121
+ },
71
122
  };
72
123
  }
73
124
 
@@ -75,13 +126,21 @@ export function parseDeltaLearnPayload(raw: unknown): DeltaParseResult {
75
126
  * Build the payload for one computed diff. The caller owns the size guard (compare
76
127
  * `payload.diff.length` with {@link MAX_DELTA_B64_CHARS}) so it can choose a fallback.
77
128
  */
78
- export function buildDeltaLearnPayload(diff: ArrayBuffer, baseVersion: number, weight?: number, label?: string): DeltaLearnPayload {
129
+ export function buildDeltaLearnPayload(
130
+ diff: ArrayBuffer,
131
+ baseVersion: number,
132
+ weight?: number,
133
+ label?: string,
134
+ target?: string,
135
+ ): DeltaLearnPayload {
79
136
  const trimmed = (label ?? "").trim();
137
+ if (target !== undefined && !DELTA_TARGET_RE.test(target)) throw new Error(`buildDeltaLearnPayload: bad target '${target}'`);
80
138
  return {
81
139
  diff: bytesToBase64(diff),
82
140
  baseVersion,
83
141
  ...(typeof weight === "number" && Number.isFinite(weight) && weight > 0 ? { weight } : {}),
84
142
  ...(trimmed ? { label: trimmed.slice(0, DELTA_LABEL_MAX_CHARS) } : {}),
143
+ ...(target ? { target } : {}),
85
144
  };
86
145
  }
87
146
 
@@ -11,6 +11,7 @@ export type {
11
11
  EvermindModality,
12
12
  PackageMeta,
13
13
  ValidationResult,
14
+ EvermindMlHead,
14
15
  } from "./package.js";
15
16
 
16
17
  export { adaptAndDiff, adaptPackage, EVERMIND_ADAPT_MAX_CHARS } from "./adapt.js";
@@ -21,12 +22,15 @@ export {
21
22
  buildDeltaLearnPayload,
22
23
  decodeDeltaPayload,
23
24
  deltaUnusableReason,
25
+ deltaTargetMismatch,
24
26
  MAX_DELTA_B64_CHARS,
27
+ DELTA_TARGET_RE,
28
+ mlHeadTarget,
25
29
  } from "./delta_wire.js";
26
- export type { DeltaLearnPayload, DeltaParseResult } from "./delta_wire.js";
30
+ export type { DeltaLearnPayload, DeltaParseResult, DeltaParseOptions } from "./delta_wire.js";
27
31
 
28
- export { mergeCheckpointDiffs } from "./merge.js";
29
- export type { MergeResult } from "./merge.js";
32
+ export { mergeCheckpointDiffs, mergeCheckpointDiffsGated } from "./merge.js";
33
+ export type { MergeResult, GatedMergeResult, MergeGateOptions } from "./merge.js";
30
34
 
31
35
  export { meanEvalLoss } from "./eval.js";
32
36
  export type { EvalExample, EvalTokenizer } from "./eval.js";
@@ -104,3 +104,62 @@ export function mergeCheckpointDiffs(
104
104
  const checkpoint = applyCheckpointDiff(baseCheckpoint, serializeRowDelta(merged));
105
105
  return { checkpoint, mergedRows: rows.length, contributors: parsed.length, deltaNorm: Math.sqrt(sumSq) };
106
106
  }
107
+
108
+ /** A merge that passed (or failed) its held-out regression gate. */
109
+ export interface GatedMergeResult extends MergeResult {
110
+ /** True when the merged checkpoint was kept. When false, `checkpoint` is the BASE. */
111
+ accepted: boolean;
112
+ /** Held-out loss of the base / the merged candidate (null when unscorable, including a non-finite loss). */
113
+ baseLoss: number | null;
114
+ newLoss: number | null;
115
+ /** Why the merge was refused. */
116
+ refusedReason?: "nothing-merged" | "regressed" | "unscored";
117
+ }
118
+
119
+ export interface MergeGateOptions {
120
+ /** Loss increase still accepted (absolute). Default 0 — any regression refuses. */
121
+ tolerance?: number;
122
+ /**
123
+ * Refuse when either side cannot be scored (null, NaN or ±Infinity). Default false
124
+ * here (an unscored LM merge is kept); `mergeMlHeadDeltas` defaults it to true.
125
+ */
126
+ requireEval?: boolean;
127
+ }
128
+
129
+ /**
130
+ * {@link mergeCheckpointDiffs}, then the pre/post held-out check that LM merges
131
+ * record (`meanEvalLoss` of the previous vs the merged version) — enforced: a merge
132
+ * whose held-out loss rises by more than `tolerance` is refused and the base is
133
+ * returned unchanged. `score` maps a checkpoint to its held-out loss (lower is
134
+ * better); for an LM that is `meanEvalLoss` over the reloaded model, for a trained
135
+ * ML head its task's eval loss. Still the ONE merge — this only gates it.
136
+ */
137
+ export function mergeCheckpointDiffsGated(
138
+ baseCheckpoint: ArrayBuffer,
139
+ diffs: ArrayBuffer[],
140
+ weights: number[] | undefined,
141
+ score: (checkpoint: ArrayBuffer) => number | null,
142
+ opts: MergeGateOptions = {},
143
+ ): GatedMergeResult {
144
+ const merged = mergeCheckpointDiffs(baseCheckpoint, diffs, weights);
145
+ const refuse = (refusedReason: GatedMergeResult["refusedReason"], baseLoss: number | null, newLoss: number | null): GatedMergeResult => ({
146
+ ...merged,
147
+ checkpoint: baseCheckpoint,
148
+ deltaNorm: 0,
149
+ accepted: false,
150
+ baseLoss,
151
+ newLoss,
152
+ refusedReason,
153
+ });
154
+ if (merged.mergedRows === 0) return refuse("nothing-merged", null, null);
155
+ // A non-finite loss is no measurement: NaN compares false against everything, so
156
+ // left as a number it would wave a diverged candidate straight through the gate.
157
+ const finiteOrNull = (l: number | null): number | null => (l != null && Number.isFinite(l) ? l : null);
158
+ const baseLoss = finiteOrNull(score(baseCheckpoint));
159
+ const newLoss = finiteOrNull(score(merged.checkpoint));
160
+ if (baseLoss == null || newLoss == null) {
161
+ return opts.requireEval ? refuse("unscored", baseLoss, newLoss) : { ...merged, accepted: true, baseLoss, newLoss };
162
+ }
163
+ if (newLoss > baseLoss + (opts.tolerance ?? 0)) return refuse("regressed", baseLoss, newLoss);
164
+ return { ...merged, accepted: true, baseLoss, newLoss };
165
+ }
@@ -0,0 +1,63 @@
1
+ /**
2
+ * evermind/ml_head.ts — what the `.evermind` artifact needs to know about a trained
3
+ * ML-catalog head: its manifest entry shape, its checkpoint format and its structural
4
+ * check, plus the task-id grammar the delta wire's `ml:<task>` target uses.
5
+ *
6
+ * A leaf: it imports only utils/. `evermind/package.ts` and `evermind/delta_wire.ts`
7
+ * import it, and so does `ml/` (which re-exports it) — so the dependency runs one way,
8
+ * ml → evermind, never back.
9
+ */
10
+ import { base64ToBytes } from "../utils/base64.js";
11
+ import { appendCrcTrailer, verifyCrcTrailer } from "../utils/crc32.js";
12
+
13
+ /** Task ids: lowercase dotted segments, e.g. `run.local-success`. */
14
+ export const ML_TASK_ID_RE = /^[a-z][a-z0-9-]*(\.[a-z][a-z0-9-]*)+$/;
15
+
16
+ /**
17
+ * One trained ML-catalog head carried in a model's manifest (`mlHeads`): small, so
18
+ * it rides in the manifest, and versioned, so it federates — a delta against it is
19
+ * `target: "ml:<task>"`, `baseVersion: version` on the delta wire.
20
+ */
21
+ export interface EvermindMlHead {
22
+ /** Catalog task id, e.g. `run.local-success`. */
23
+ task: string;
24
+ /** Engine key, e.g. `local:classical:logistic`. */
25
+ engine: string;
26
+ /** Integer head version — what a federated delta for it is diffed against. */
27
+ version: number;
28
+ /** What a loader needs to rebuild the predictor (e.g. `{ dim, classes }`). */
29
+ shape: Record<string, number>;
30
+ /** base64 of the CRC-trailed f32 checkpoint of the head's flat parameters. */
31
+ params: string;
32
+ /** Held-out loss of this version, when measured. */
33
+ evalLoss?: number;
34
+ }
35
+
36
+ /** A head's flat parameters as a CRC-trailed f32 checkpoint. */
37
+ export function headCheckpoint(params: ArrayLike<number>): ArrayBuffer {
38
+ const body = new ArrayBuffer(params.length * 4);
39
+ new Float32Array(body).set(Array.from(params));
40
+ return appendCrcTrailer(body);
41
+ }
42
+
43
+ /** The flat parameters of a head checkpoint. Throws on a failed CRC. */
44
+ export function headParams(checkpoint: ArrayBuffer): Float32Array {
45
+ const crc = verifyCrcTrailer(checkpoint);
46
+ if (!crc.ok) throw new Error("headParams: checkpoint failed its CRC check");
47
+ if (crc.body.byteLength % 4 !== 0) throw new Error("headParams: checkpoint is not f32");
48
+ return new Float32Array(crc.body);
49
+ }
50
+
51
+ /** Why a manifest head entry is unusable, or null (the package's validate() calls this). */
52
+ export function mlHeadUnusableReason(h: EvermindMlHead): string | null {
53
+ if (!h || typeof h.task !== "string" || typeof h.engine !== "string") return "task and engine are required";
54
+ if (!Number.isInteger(h.version) || h.version < 0) return "version must be a non-negative integer";
55
+ try {
56
+ const crc = verifyCrcTrailer(base64ToBytes(h.params));
57
+ if (!crc.hasTrailer || !crc.ok) return "params checkpoint failed its CRC check";
58
+ if (crc.body.byteLength % 4 !== 0) return "params checkpoint is not f32";
59
+ } catch {
60
+ return "params is not base64";
61
+ }
62
+ return null;
63
+ }
@@ -15,6 +15,9 @@ import { SharedExpertMoE, type MoEConfig } from "../moe/moe_model.js";
15
15
  import { EvermindLM, type EvermindLMConfig } from "../lm/evermind_lm.js";
16
16
  import { VideoRVQCodec } from "../codec/video_rvq.js";
17
17
  import { BPETokenizer } from "../tokenizer/bpe.js";
18
+ import { mlHeadUnusableReason, type EvermindMlHead } from "./ml_head.js";
19
+
20
+ export type { EvermindMlHead } from "./ml_head.js";
18
21
 
19
22
  /** First 4 bytes of a serialised package: "EVM1". */
20
23
  const PKG_MAGIC = 0x45564d31;
@@ -87,6 +90,8 @@ export interface EvermindModelManifest {
87
90
  card: EvermindModelCard;
88
91
  /** ISO timestamp, caller-supplied (the engine avoids Date for determinism). */
89
92
  createdAt?: string;
93
+ /** Trained ML-catalog heads that travel (and merge) with this model. Absent ⇒ none. */
94
+ mlHeads?: EvermindMlHead[];
90
95
  }
91
96
 
92
97
  export interface PackageMeta {
@@ -297,6 +302,17 @@ export class EvermindModelPackage {
297
302
  return new EvermindModelPackage(manifest, checkpoint, this.codec, this.tokenizer);
298
303
  }
299
304
 
305
+ /**
306
+ * This package carrying `heads` as its trained ML heads (replacing any it had);
307
+ * checkpoint, codec and tokenizer are kept. An empty list removes the field.
308
+ */
309
+ withMlHeads(heads: readonly EvermindMlHead[]): EvermindModelPackage {
310
+ const manifest: EvermindModelManifest = { ...this.manifest };
311
+ delete manifest.mlHeads;
312
+ if (heads.length) manifest.mlHeads = [...heads];
313
+ return new EvermindModelPackage(manifest, this.checkpoint, this.codec, this.tokenizer);
314
+ }
315
+
300
316
  /** Parse a `.evermind` blob. Throws on bad magic / truncation. */
301
317
  /**
302
318
  * How many leading bytes of a package hold its header and manifest, from its first
@@ -404,6 +420,13 @@ export class EvermindModelPackage {
404
420
  }
405
421
  }
406
422
  }
423
+ for (const h of this.manifest.mlHeads ?? []) {
424
+ const why = mlHeadUnusableReason(h);
425
+ if (why) errors.push(`ml head '${String(h?.task)}': ${why}`);
426
+ }
427
+ if (new Set((this.manifest.mlHeads ?? []).map((h) => h.task)).size !== (this.manifest.mlHeads ?? []).length) {
428
+ errors.push("ml heads: a task appears more than once");
429
+ }
407
430
  return { ok: errors.length === 0, errors };
408
431
  }
409
432
 
@@ -462,3 +485,4 @@ export class EvermindModelPackage {
462
485
  return { lm: this.loadLM(), codec: VideoRVQCodec.deserialize(this.codec!), modality };
463
486
  }
464
487
  }
488
+
package/src/index.ts CHANGED
@@ -43,8 +43,12 @@ export {
43
43
  buildDeltaLearnPayload,
44
44
  decodeDeltaPayload,
45
45
  deltaUnusableReason,
46
+ deltaTargetMismatch,
46
47
  MAX_DELTA_B64_CHARS,
47
48
  mergeCheckpointDiffs,
49
+ mergeCheckpointDiffsGated,
50
+ DELTA_TARGET_RE,
51
+ mlHeadTarget,
48
52
  meanEvalLoss,
49
53
  } from './evermind/index.js';
50
54
  export type {
@@ -60,7 +64,10 @@ export type {
60
64
  AdaptTokenizer,
61
65
  DeltaLearnPayload,
62
66
  DeltaParseResult,
67
+ DeltaParseOptions,
63
68
  MergeResult,
69
+ GatedMergeResult,
70
+ MergeGateOptions,
64
71
  EvalExample,
65
72
  EvalTokenizer,
66
73
  } from './evermind/index.js';
@@ -103,7 +110,7 @@ export type {
103
110
  } from './training/mamba1_cpu.js';
104
111
  export {
105
112
  linearForward, linearBackward, rmsNormForward, rmsNormBackward,
106
- silu, siluGrad, softplus, sigmoid, RMSNORM_EPS,
113
+ silu, siluGrad, softplus, sigmoid, softmax, RMSNORM_EPS,
107
114
  } from './training/cpu_ops.js';
108
115
  export {
109
116
  Tensor,
@@ -372,6 +379,9 @@ export {
372
379
  DEFAULT_LIMBIC_CONFIG,
373
380
  DEFAULT_LIMBIC_SEED,
374
381
  LimbicTrainer,
382
+ limbicHead,
383
+ LIMBIC_AFFECT_TASK,
384
+ limbicAffectPredictor,
375
385
  } from './limbic/index.js';
376
386
  export type {
377
387
  Region,
@@ -388,6 +398,8 @@ export type {
388
398
  LimbicParam,
389
399
  LimbicSample,
390
400
  LimbicTrainOptions,
401
+ LimbicAffectInput,
402
+ LimbicAffectOutput,
391
403
  } from './limbic/index.js';
392
404
 
393
405
  export { LIMBIC_AFFECT_WGSL } from './kernels/limbic_affect.js';
@@ -396,3 +408,7 @@ export { LIMBIC_AFFECT_WGSL } from './kernels/limbic_affect.js';
396
408
  // ── Experience (demonstrations, Train Once skills, runs) ─────────────────────
397
409
 
398
410
  export * from './experience/index.js';
411
+
412
+ // ── ML task catalog (non-LLM learning: registry, runner, trainer, federation) ──
413
+
414
+ export * from './ml/index.js';
@@ -54,3 +54,8 @@ export type { LimbicModelConfig, LimbicForward, LimbicParam } from "./limbic_mod
54
54
 
55
55
  export { LimbicTrainer } from "./limbic_trainer.js";
56
56
  export type { LimbicSample, LimbicTrainOptions } from "./limbic_trainer.js";
57
+ export { limbicHead } from "./limbic_trainer.js";
58
+
59
+ // The ML catalog row for the affect head (`ml/`), registered by limbic itself.
60
+ export { LIMBIC_AFFECT_TASK, limbicAffectPredictor } from "./limbic_task.js";
61
+ export type { LimbicAffectInput, LimbicAffectOutput } from "./limbic_task.js";
@@ -28,6 +28,7 @@
28
28
  * (experience, state) → affect pair is close to an independent regression.
29
29
  */
30
30
 
31
+ import { sigmoid } from "../training/cpu_ops.js";
31
32
  import { SeededRng } from "../utils/rng.js";
32
33
  import { quantizeFp16, dequantizeFp16 } from "../utils/quantization.js";
33
34
  import { LIMBIC_STATE_DIM } from "./regions.js";
@@ -86,10 +87,6 @@ const MAGIC = 0x4c4d4243; // "LMBC"
86
87
  /** Fixed default init seed — reproducible byte-identical cold start across machines. */
87
88
  export const DEFAULT_LIMBIC_SEED = 0x11b1c5ee;
88
89
 
89
- function sigmoid(x: number): number {
90
- return 1 / (1 + Math.exp(-x));
91
- }
92
-
93
90
  export class LimbicModel {
94
91
  readonly config: Required<Omit<LimbicModelConfig, "seed">>;
95
92