@reicek/neataptic-ts 0.1.24 → 0.1.26

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 (215) hide show
  1. package/.github/copilot-instructions.md +11 -0
  2. package/.github/skills/trace-analyzer-extension/SKILL.md +3 -3
  3. package/.github/skills/trace-analyzer-extension/assets/extension-checklist.md +1 -1
  4. package/.github/skills/trace-analyzer-extension/references/analyzer-extension-workflow.md +1 -1
  5. package/.github/skills/trace-audit-reporting/SKILL.md +3 -3
  6. package/.github/skills/trace-audit-reporting/references/trace-analysis-workflow.md +1 -1
  7. package/.github/workflows/ci.yml +3 -3
  8. package/.github/workflows/deploy-pages.yml +6 -6
  9. package/.github/workflows/manual_release_pipeline.yml +3 -3
  10. package/.github/workflows/publish.yml +18 -19
  11. package/.github/workflows/release_dispatch.yml +3 -3
  12. package/package.json +26 -20
  13. package/plans/Flappy_Bird_Folder_Documentation_Pass.md +4 -4
  14. package/plans/README.md +24 -0
  15. package/plans/Roadmap.md +62 -40
  16. package/plans/analyze-trace-solid-split.plans.md +66 -0
  17. package/plans/architecture-solid-split.plans.md +9 -15
  18. package/plans/asciiMaze-typescript-repair.plans.md +1 -1
  19. package/plans/generate-docs-solid-split.plans.md +87 -0
  20. package/plans/methods-docs.plans.md +25 -1
  21. package/plans/methods-solid-split.plans.md +14 -14
  22. package/plans/neat-docs.plans.md +9 -1
  23. package/plans/neat-test-surface-repair.plans.md +1 -1
  24. package/plans/render-docs-html-solid-split.plans.md +68 -0
  25. package/plans/src-no-explicit-any-cleanup.plans.md +1 -1
  26. package/plans/utils-docs.plans.md +6 -1
  27. package/scripts/analyze-trace/analyze-trace.analysis.ts +479 -0
  28. package/scripts/analyze-trace/analyze-trace.constants.ts +35 -0
  29. package/scripts/analyze-trace/analyze-trace.io.ts +69 -0
  30. package/scripts/analyze-trace/analyze-trace.report.ts +100 -0
  31. package/scripts/analyze-trace/analyze-trace.shared.ts +116 -0
  32. package/scripts/analyze-trace/analyze-trace.ts +45 -0
  33. package/scripts/analyze-trace/analyze-trace.types.ts +72 -0
  34. package/scripts/assets/theme.css +80 -23
  35. package/scripts/copy-examples.ts +239 -0
  36. package/scripts/export-onnx.ts +223 -0
  37. package/scripts/generate-bench-tables.ts +378 -37
  38. package/scripts/generate-docs/generate-docs.constants.ts +107 -0
  39. package/scripts/generate-docs/generate-docs.order.ts +355 -0
  40. package/scripts/generate-docs/generate-docs.state.ts +31 -0
  41. package/scripts/generate-docs/generate-docs.targets.ts +165 -0
  42. package/scripts/generate-docs/generate-docs.ts +63 -0
  43. package/scripts/generate-docs/generate-docs.types.ts +112 -0
  44. package/scripts/generate-docs/output/generate-docs.output.folder-index.utils.ts +167 -0
  45. package/scripts/generate-docs/output/generate-docs.output.ordering.utils.ts +353 -0
  46. package/scripts/generate-docs/output/generate-docs.output.readme.utils.ts +420 -0
  47. package/scripts/generate-docs/output/generate-docs.output.ts +123 -0
  48. package/scripts/generate-docs/output/generate-docs.output.warnings.utils.ts +219 -0
  49. package/scripts/generate-docs/symbols/generate-docs.symbols.collection.utils.ts +365 -0
  50. package/scripts/generate-docs/symbols/generate-docs.symbols.jsdoc.utils.ts +373 -0
  51. package/scripts/generate-docs/symbols/generate-docs.symbols.normalize.utils.ts +155 -0
  52. package/scripts/generate-docs/symbols/generate-docs.symbols.render.utils.ts +149 -0
  53. package/scripts/generate-docs/symbols/generate-docs.symbols.signature.utils.ts +289 -0
  54. package/scripts/generate-docs/symbols/generate-docs.symbols.ts +11 -0
  55. package/scripts/mermaid-cli.mjs +102 -22
  56. package/scripts/mermaid-cli.ts +736 -0
  57. package/scripts/render-docs-html/render-docs-html.assets.ts +54 -0
  58. package/scripts/render-docs-html/render-docs-html.mermaid.ts +245 -0
  59. package/scripts/{render-docs-html.sidebar.ts → render-docs-html/render-docs-html.navigation.ts} +141 -144
  60. package/scripts/render-docs-html/render-docs-html.pages.ts +333 -0
  61. package/scripts/render-docs-html/render-docs-html.shared.ts +333 -0
  62. package/scripts/render-docs-html/render-docs-html.types.ts +42 -0
  63. package/scripts/render-docs-html.ts +23 -587
  64. package/scripts/run-docs.ts +238 -0
  65. package/scripts/write-dist-docs-pkg.ts +40 -0
  66. package/src/README.md +75 -75
  67. package/src/architecture/connection/README.md +5 -5
  68. package/src/architecture/layer/README.md +508 -508
  69. package/src/architecture/network/README.md +1458 -1458
  70. package/src/architecture/network/activate/README.md +694 -694
  71. package/src/architecture/network/bootstrap/README.md +77 -77
  72. package/src/architecture/network/connect/README.md +74 -74
  73. package/src/architecture/network/deterministic/README.md +135 -135
  74. package/src/architecture/network/evolve/README.md +364 -364
  75. package/src/architecture/network/gating/README.md +130 -130
  76. package/src/architecture/network/genetic/README.md +399 -399
  77. package/src/architecture/network/mutate/README.md +897 -897
  78. package/src/architecture/network/onnx/README.md +720 -720
  79. package/src/architecture/network/onnx/export/README.md +728 -728
  80. package/src/architecture/network/onnx/export/layers/README.md +450 -450
  81. package/src/architecture/network/onnx/import/README.md +618 -618
  82. package/src/architecture/network/onnx/schema/README.md +32 -32
  83. package/src/architecture/network/prune/README.md +245 -245
  84. package/src/architecture/network/remove/README.md +135 -135
  85. package/src/architecture/network/runtime/README.md +106 -106
  86. package/src/architecture/network/serialize/README.md +542 -542
  87. package/src/architecture/network/slab/README.md +608 -608
  88. package/src/architecture/network/standalone/README.md +212 -212
  89. package/src/architecture/network/stats/README.md +84 -84
  90. package/src/architecture/network/topology/README.md +465 -465
  91. package/src/architecture/network/training/README.md +200 -200
  92. package/src/architecture/node/README.md +5 -5
  93. package/src/architecture/nodePool/README.md +14 -14
  94. package/src/methods/README.md +99 -99
  95. package/src/methods/activation/README.md +189 -189
  96. package/src/methods/cost/README.md +131 -131
  97. package/src/methods/rate/README.md +86 -86
  98. package/src/multithreading/README.md +77 -77
  99. package/src/multithreading/workers/browser/README.md +8 -8
  100. package/src/multithreading/workers/node/README.md +8 -8
  101. package/src/neat/README.md +148 -148
  102. package/src/neat/adaptive/README.md +120 -120
  103. package/src/neat/adaptive/acceptance/README.md +40 -40
  104. package/src/neat/adaptive/complexity/README.md +137 -137
  105. package/src/neat/adaptive/core/README.md +197 -197
  106. package/src/neat/adaptive/lineage/README.md +90 -90
  107. package/src/neat/adaptive/mutation/README.md +284 -284
  108. package/src/neat/compat/README.md +43 -43
  109. package/src/neat/compat/core/README.md +90 -90
  110. package/src/neat/diversity/README.md +35 -35
  111. package/src/neat/diversity/core/README.md +88 -88
  112. package/src/neat/evaluate/README.md +85 -85
  113. package/src/neat/evaluate/auto-distance/README.md +75 -75
  114. package/src/neat/evaluate/entropy-compat/README.md +37 -37
  115. package/src/neat/evaluate/entropy-sharing/README.md +43 -43
  116. package/src/neat/evaluate/fitness/README.md +23 -23
  117. package/src/neat/evaluate/novelty/README.md +120 -120
  118. package/src/neat/evaluate/objectives/README.md +17 -17
  119. package/src/neat/evaluate/shared/README.md +94 -94
  120. package/src/neat/evolve/README.md +96 -96
  121. package/src/neat/evolve/adaptive/README.md +60 -60
  122. package/src/neat/evolve/objectives/README.md +63 -63
  123. package/src/neat/evolve/offspring/README.md +56 -56
  124. package/src/neat/evolve/population/README.md +171 -171
  125. package/src/neat/evolve/runtime/README.md +79 -79
  126. package/src/neat/evolve/speciation/README.md +74 -74
  127. package/src/neat/evolve/warnings/README.md +10 -10
  128. package/src/neat/export/README.md +114 -114
  129. package/src/neat/helpers/README.md +50 -50
  130. package/src/neat/init/README.md +9 -9
  131. package/src/neat/lineage/core/README.md +101 -101
  132. package/src/neat/multiobjective/category/README.md +74 -74
  133. package/src/neat/multiobjective/crowding/README.md +272 -272
  134. package/src/neat/multiobjective/dominance/README.md +171 -171
  135. package/src/neat/multiobjective/fronts/README.md +68 -68
  136. package/src/neat/multiobjective/metrics/README.md +43 -43
  137. package/src/neat/multiobjective/objectives/README.md +31 -31
  138. package/src/neat/multiobjective/shared/README.md +27 -27
  139. package/src/neat/mutation/README.md +97 -97
  140. package/src/neat/mutation/add-conn/README.md +115 -115
  141. package/src/neat/mutation/add-node/README.md +126 -126
  142. package/src/neat/mutation/flow/README.md +149 -149
  143. package/src/neat/mutation/repair/README.md +185 -185
  144. package/src/neat/mutation/select/README.md +117 -117
  145. package/src/neat/mutation/shared/README.md +32 -32
  146. package/src/neat/objectives/README.md +25 -25
  147. package/src/neat/objectives/core/README.md +67 -67
  148. package/src/neat/pruning/README.md +40 -40
  149. package/src/neat/pruning/core/README.md +171 -171
  150. package/src/neat/pruning/facade/README.md +32 -32
  151. package/src/neat/rng/README.md +104 -104
  152. package/src/neat/rng/core/README.md +137 -137
  153. package/src/neat/rng/facade/README.md +50 -50
  154. package/src/neat/selection/README.md +111 -111
  155. package/src/neat/selection/core/README.md +227 -227
  156. package/src/neat/selection/facade/README.md +61 -61
  157. package/src/neat/shared/README.md +163 -163
  158. package/src/neat/speciation/README.md +31 -31
  159. package/src/neat/speciation/threshold/README.md +35 -35
  160. package/src/neat/species/README.md +25 -25
  161. package/src/neat/species/core/README.md +20 -20
  162. package/src/neat/species/core/shared/README.md +18 -18
  163. package/src/neat/species/history/context/README.md +22 -22
  164. package/src/neat/telemetry/accessors/README.md +58 -58
  165. package/src/neat/telemetry/exports/README.md +233 -233
  166. package/src/neat/telemetry/facade/README.md +252 -252
  167. package/src/neat/telemetry/facade/archive/README.md +57 -57
  168. package/src/neat/telemetry/facade/buffer/README.md +43 -43
  169. package/src/neat/telemetry/facade/lineage/README.md +12 -12
  170. package/src/neat/telemetry/facade/objectives/README.md +44 -44
  171. package/src/neat/telemetry/facade/runtime/README.md +26 -26
  172. package/src/neat/telemetry/facade/species/README.md +27 -27
  173. package/src/neat/telemetry/metrics/README.md +696 -696
  174. package/src/neat/telemetry/recorder/README.md +57 -57
  175. package/src/neat/telemetry/types/README.md +32 -32
  176. package/src/neat/topology-intent/README.md +75 -75
  177. package/src/utils/README.md +193 -193
  178. package/test/examples/asciiMaze/browser-entry/README.md +92 -92
  179. package/test/examples/asciiMaze/dashboardManager/README.md +109 -109
  180. package/test/examples/asciiMaze/dashboardManager/telemetry/README.md +28 -28
  181. package/test/examples/asciiMaze/evolutionEngine/README.md +1527 -1527
  182. package/test/examples/asciiMaze/mazeMovement/README.md +105 -105
  183. package/test/examples/asciiMaze/mazeMovement/finalization/README.md +16 -16
  184. package/test/examples/asciiMaze/mazeMovement/policy/README.md +57 -57
  185. package/test/examples/asciiMaze/mazeMovement/runtime/README.md +52 -52
  186. package/test/examples/asciiMaze/mazeMovement/shaping/README.md +46 -46
  187. package/test/examples/flappy_bird/browser-entry/README.md +508 -508
  188. package/test/examples/flappy_bird/browser-entry/host/README.md +101 -101
  189. package/test/examples/flappy_bird/browser-entry/host/resize/README.md +144 -144
  190. package/test/examples/flappy_bird/browser-entry/network-view/README.md +194 -194
  191. package/test/examples/flappy_bird/browser-entry/playback/README.md +278 -278
  192. package/test/examples/flappy_bird/browser-entry/playback/background/README.md +129 -129
  193. package/test/examples/flappy_bird/browser-entry/playback/background/ground-grid/README.md +502 -502
  194. package/test/examples/flappy_bird/browser-entry/playback/frame-render/README.md +139 -139
  195. package/test/examples/flappy_bird/browser-entry/playback/snapshot/README.md +10 -10
  196. package/test/examples/flappy_bird/browser-entry/playback/trail/README.md +43 -43
  197. package/test/examples/flappy_bird/browser-entry/playback/worker-channel/README.md +30 -30
  198. package/test/examples/flappy_bird/browser-entry/runtime/README.md +59 -59
  199. package/test/examples/flappy_bird/browser-entry/visualization/README.md +276 -276
  200. package/test/examples/flappy_bird/browser-entry/worker-channel/README.md +16 -16
  201. package/test/examples/flappy_bird/constants/README.md +1070 -1070
  202. package/test/examples/flappy_bird/environment/README.md +22 -22
  203. package/test/examples/flappy_bird/evaluation/README.md +32 -32
  204. package/test/examples/flappy_bird/evaluation/rollout/README.md +141 -141
  205. package/test/examples/flappy_bird/flappy-evolution-worker/README.md +425 -425
  206. package/test/examples/flappy_bird/simulation-shared/README.md +170 -170
  207. package/test/examples/flappy_bird/simulation-shared/observation/README.md +109 -109
  208. package/test/examples/flappy_bird/trainer/README.md +325 -325
  209. package/test/examples/flappy_bird/trainer/evaluation/README.md +74 -74
  210. package/scripts/analyze-trace.ts +0 -590
  211. package/scripts/copy-examples.mjs +0 -114
  212. package/scripts/export-onnx.mjs +0 -86
  213. package/scripts/generate-bench-tables.mjs +0 -182
  214. package/scripts/generate-docs.ts +0 -2900
  215. package/scripts/write-dist-docs-pkg.mjs +0 -16
@@ -178,83 +178,53 @@ The helper flow is intentionally compact:
178
178
  3. resolve thresholds and adjustment magnitude,
179
179
  4. route the adjustment into epsilon or lineage-pressure mode.
180
180
 
181
- ### isCooldownSatisfied
181
+ ### applyEpsilonAdjustment
182
182
 
183
183
  ```ts
184
- isCooldownSatisfied(
184
+ applyEpsilonAdjustment(
185
185
  engine: NeatLikeWithAdaptive,
186
- config: { enabled?: boolean | undefined; cooldown?: number | undefined; lowThreshold?: number | undefined; highThreshold?: number | undefined; adjust?: number | undefined; mode?: string | undefined; },
187
- ): boolean
186
+ ancestorUniq: number,
187
+ thresholds: { lowThreshold: number; highThreshold: number; },
188
+ adjustMagnitude: number,
189
+ ): void
188
190
  ```
189
191
 
190
- Determine whether the cooldown window has elapsed.
192
+ Apply dominance-epsilon adjustments when configured.
191
193
 
192
- Cooldowns prevent the controller from thrashing lineage policy on every
193
- generation. Once an adjustment has been recorded, later generations must wait
194
- for the configured gap before another nudge is allowed.
194
+ Epsilon mode nudges the multi-objective dominance tolerance when ancestry is
195
+ too uniform or too diffuse. That lets later Pareto comparisons become slightly
196
+ more or less permissive without changing the current generation directly.
195
197
 
196
198
  Parameters:
197
199
  - `engine` - - NEAT engine instance.
198
- - `config` - - Ancestor uniqueness adaptive configuration.
200
+ - `ancestorUniq` - - Current ancestor uniqueness metric.
201
+ - `thresholds` - - Threshold bounds for decisions.
202
+ - `adjustMagnitude` - - Adjustment magnitude.
199
203
 
200
- Returns: True when adjustment is allowed.
204
+ Returns: Nothing.
201
205
 
202
- ### extractAncestorUniqueness
206
+ ### applyLineagePressureAdjustment
203
207
 
204
208
  ```ts
205
- extractAncestorUniqueness(
209
+ applyLineagePressureAdjustment(
206
210
  engine: NeatLikeWithAdaptive,
207
- ): number | undefined
211
+ ancestorUniq: number,
212
+ thresholds: { lowThreshold: number; highThreshold: number; },
213
+ ): void
208
214
  ```
209
215
 
210
- Extract the latest ancestor-uniqueness metric from telemetry.
216
+ Apply lineage pressure strength adjustments.
211
217
 
212
- Lineage adaptation only trusts the most recent telemetry snapshot because it
213
- represents the latest scored generation. Missing or non-numeric lineage
214
- evidence simply disables the adjustment for that cycle.
218
+ Lineage-pressure mode keeps the feedback inside the ancestry-based selection
219
+ settings themselves. Low uniqueness increases spread pressure, while high
220
+ uniqueness relaxes it so the search does not over-penalize related genomes.
215
221
 
216
222
  Parameters:
217
223
  - `engine` - - NEAT engine instance.
224
+ - `ancestorUniq` - - Current ancestor uniqueness metric.
225
+ - `thresholds` - - Threshold bounds for decisions.
218
226
 
219
- Returns: Ancestor uniqueness value or undefined when missing.
220
-
221
- ### resolveUniquenessThresholds
222
-
223
- ```ts
224
- resolveUniquenessThresholds(
225
- config: { enabled?: boolean | undefined; cooldown?: number | undefined; lowThreshold?: number | undefined; highThreshold?: number | undefined; adjust?: number | undefined; mode?: string | undefined; },
226
- ): { lowThreshold: number; highThreshold: number; }
227
- ```
228
-
229
- Resolve thresholds for ancestor-uniqueness decisions.
230
-
231
- These bounds define the acceptable ancestry-diversity band. Values below the
232
- lower threshold suggest the population is converging onto similar family
233
- trees, while values above the upper threshold suggest diversity pressure may
234
- already be stronger than needed.
235
-
236
- Parameters:
237
- - `config` - - Ancestor uniqueness adaptive configuration.
238
-
239
- Returns: Threshold bounds.
240
-
241
- ### resolveAdjustmentMagnitude
242
-
243
- ```ts
244
- resolveAdjustmentMagnitude(
245
- config: { enabled?: boolean | undefined; cooldown?: number | undefined; lowThreshold?: number | undefined; highThreshold?: number | undefined; adjust?: number | undefined; mode?: string | undefined; },
246
- ): number
247
- ```
248
-
249
- Resolve adjustment magnitude for nudging controlled parameters.
250
-
251
- Magnitude resolution keeps defaulting logic away from the mode-specific
252
- adjusters so those helpers can focus on policy semantics.
253
-
254
- Parameters:
255
- - `config` - - Ancestor uniqueness adaptive configuration.
256
-
257
- Returns: Adjustment magnitude.
227
+ Returns: Nothing.
258
228
 
259
229
  ### applyUniquenessAdjustment
260
230
 
@@ -283,72 +253,64 @@ Parameters:
283
253
 
284
254
  Returns: Nothing.
285
255
 
286
- ### applyEpsilonAdjustment
256
+ ### ensureLineagePressureState
287
257
 
288
258
  ```ts
289
- applyEpsilonAdjustment(
259
+ ensureLineagePressureState(
290
260
  engine: NeatLikeWithAdaptive,
291
- ancestorUniq: number,
292
- thresholds: { lowThreshold: number; highThreshold: number; },
293
- adjustMagnitude: number,
294
- ): void
261
+ ): { enabled?: boolean | undefined; mode?: string | undefined; strength?: number | undefined; }
295
262
  ```
296
263
 
297
- Apply dominance-epsilon adjustments when configured.
264
+ Ensure lineage pressure state is available.
298
265
 
299
- Epsilon mode nudges the multi-objective dominance tolerance when ancestry is
300
- too uniform or too diffuse. That lets later Pareto comparisons become slightly
301
- more or less permissive without changing the current generation directly.
266
+ Some runs do not seed lineage-pressure options up front. This helper creates a
267
+ minimal spread-oriented state only when lineage-feedback mode actually needs
268
+ one.
302
269
 
303
270
  Parameters:
304
271
  - `engine` - - NEAT engine instance.
305
- - `ancestorUniq` - - Current ancestor uniqueness metric.
306
- - `thresholds` - - Threshold bounds for decisions.
307
- - `adjustMagnitude` - - Adjustment magnitude.
308
272
 
309
- Returns: Nothing.
273
+ Returns: Lineage pressure configuration object.
310
274
 
311
- ### applyLineagePressureAdjustment
275
+ ### extractAncestorUniqueness
312
276
 
313
277
  ```ts
314
- applyLineagePressureAdjustment(
278
+ extractAncestorUniqueness(
315
279
  engine: NeatLikeWithAdaptive,
316
- ancestorUniq: number,
317
- thresholds: { lowThreshold: number; highThreshold: number; },
318
- ): void
280
+ ): number | undefined
319
281
  ```
320
282
 
321
- Apply lineage pressure strength adjustments.
283
+ Extract the latest ancestor-uniqueness metric from telemetry.
322
284
 
323
- Lineage-pressure mode keeps the feedback inside the ancestry-based selection
324
- settings themselves. Low uniqueness increases spread pressure, while high
325
- uniqueness relaxes it so the search does not over-penalize related genomes.
285
+ Lineage adaptation only trusts the most recent telemetry snapshot because it
286
+ represents the latest scored generation. Missing or non-numeric lineage
287
+ evidence simply disables the adjustment for that cycle.
326
288
 
327
289
  Parameters:
328
290
  - `engine` - - NEAT engine instance.
329
- - `ancestorUniq` - - Current ancestor uniqueness metric.
330
- - `thresholds` - - Threshold bounds for decisions.
331
291
 
332
- Returns: Nothing.
292
+ Returns: Ancestor uniqueness value or undefined when missing.
333
293
 
334
- ### ensureLineagePressureState
294
+ ### isCooldownSatisfied
335
295
 
336
296
  ```ts
337
- ensureLineagePressureState(
297
+ isCooldownSatisfied(
338
298
  engine: NeatLikeWithAdaptive,
339
- ): { enabled?: boolean | undefined; mode?: string | undefined; strength?: number | undefined; }
299
+ config: { enabled?: boolean | undefined; cooldown?: number | undefined; lowThreshold?: number | undefined; highThreshold?: number | undefined; adjust?: number | undefined; mode?: string | undefined; },
300
+ ): boolean
340
301
  ```
341
302
 
342
- Ensure lineage pressure state is available.
303
+ Determine whether the cooldown window has elapsed.
343
304
 
344
- Some runs do not seed lineage-pressure options up front. This helper creates a
345
- minimal spread-oriented state only when lineage-feedback mode actually needs
346
- one.
305
+ Cooldowns prevent the controller from thrashing lineage policy on every
306
+ generation. Once an adjustment has been recorded, later generations must wait
307
+ for the configured gap before another nudge is allowed.
347
308
 
348
309
  Parameters:
349
310
  - `engine` - - NEAT engine instance.
311
+ - `config` - - Ancestor uniqueness adaptive configuration.
350
312
 
351
- Returns: Lineage pressure configuration object.
313
+ Returns: True when adjustment is allowed.
352
314
 
353
315
  ### recordAdjustment
354
316
 
@@ -367,3 +329,41 @@ Parameters:
367
329
  - `engine` - - NEAT engine instance.
368
330
 
369
331
  Returns: Nothing.
332
+
333
+ ### resolveAdjustmentMagnitude
334
+
335
+ ```ts
336
+ resolveAdjustmentMagnitude(
337
+ config: { enabled?: boolean | undefined; cooldown?: number | undefined; lowThreshold?: number | undefined; highThreshold?: number | undefined; adjust?: number | undefined; mode?: string | undefined; },
338
+ ): number
339
+ ```
340
+
341
+ Resolve adjustment magnitude for nudging controlled parameters.
342
+
343
+ Magnitude resolution keeps defaulting logic away from the mode-specific
344
+ adjusters so those helpers can focus on policy semantics.
345
+
346
+ Parameters:
347
+ - `config` - - Ancestor uniqueness adaptive configuration.
348
+
349
+ Returns: Adjustment magnitude.
350
+
351
+ ### resolveUniquenessThresholds
352
+
353
+ ```ts
354
+ resolveUniquenessThresholds(
355
+ config: { enabled?: boolean | undefined; cooldown?: number | undefined; lowThreshold?: number | undefined; highThreshold?: number | undefined; adjust?: number | undefined; mode?: string | undefined; },
356
+ ): { lowThreshold: number; highThreshold: number; }
357
+ ```
358
+
359
+ Resolve thresholds for ancestor-uniqueness decisions.
360
+
361
+ These bounds define the acceptable ancestry-diversity band. Values below the
362
+ lower threshold suggest the population is converging onto similar family
363
+ trees, while values above the upper threshold suggest diversity pressure may
364
+ already be stronger than needed.
365
+
366
+ Parameters:
367
+ - `config` - - Ancestor uniqueness adaptive configuration.
368
+
369
+ Returns: Threshold bounds.