@reicek/neataptic-ts 0.1.23 → 0.1.25
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/.github/agents/boundary-mapper.agent.md +23 -0
- package/.github/agents/docs-scout.agent.md +27 -1
- package/.github/agents/plan-scout.agent.md +18 -0
- package/.github/agents/solid-split.agent.md +36 -20
- package/.github/copilot-instructions.md +108 -101
- package/.github/skills/educational-docs/SKILL.md +604 -0
- package/.github/skills/educational-docs/assets/external-sources-and-media.md +118 -0
- package/.github/skills/educational-docs/assets/mermaid-diagram-playbook.md +763 -0
- package/.github/skills/educational-docs/assets/readme-tone-model.md +74 -0
- package/.github/skills/educational-docs/assets/source-mapping-checklist.md +60 -0
- package/.github/skills/educational-docs/assets/visual-style-guide.md +165 -0
- package/.github/skills/plan-alignment/SKILL.md +114 -0
- package/.github/skills/solid-split/SKILL.md +426 -0
- package/.github/skills/{solid-split-playbook → solid-split}/assets/docs-checklist.md +8 -2
- package/.github/skills/{solid-split-playbook → solid-split}/assets/split-workflow-checklist.md +2 -2
- package/.github/skills/test-fix-workflow/SKILL.md +105 -0
- package/.github/skills/trace-analyzer-extension/SKILL.md +5 -0
- package/.github/skills/trace-audit-reporting/SKILL.md +9 -0
- package/.github/skills/tracker-handoff/SKILL.md +153 -0
- package/.github/workflows/ci.yml +3 -3
- package/.github/workflows/deploy-pages.yml +6 -6
- package/.github/workflows/manual_release_pipeline.yml +3 -3
- package/.github/workflows/publish.yml +18 -19
- package/.github/workflows/release_dispatch.yml +3 -3
- package/README.md +84 -1610
- package/eslint.config.mjs +1 -1
- package/jest.config.mjs +1 -3
- package/nn.jpg +0 -0
- package/package.json +37 -32
- package/plans/Architecture_Primitives_Node_Group_Layer.md +2 -0
- package/plans/Browser_Build_and_CDN_Distribution.md +2 -0
- package/plans/Construct_From_Parts_Graph_Assembly.md +2 -0
- package/plans/ES2023 migration +2 -0
- package/plans/Evolution_Training_Interoperability_Contracts.md +2 -0
- package/plans/Flappy_Bird_Folder_Documentation_Pass.md +67 -3
- package/plans/HyperEvoDevoMorphoNEAT.md +2 -0
- package/plans/Interactive_Examples_and_Learning_Path.md +2 -0
- package/plans/Memory_Optimization.md +2 -0
- package/plans/Network_Visualization_Export_Schema.md +2 -0
- package/plans/ONNX_EXPORT_PLAN.md +2 -0
- package/plans/Population_Save_Resume_and_Checkpointing.md +2 -0
- package/plans/Preconfigured_Architectures_MLP_LSTM_GRU_NARX.md +2 -0
- package/plans/README.md +9 -0
- package/plans/Roadmap.md +92 -25
- package/plans/Stable_Activation_Ordering_and_Explicit_IO_Roles.md +2 -0
- package/plans/Standalone_Inference_Export.md +2 -0
- package/plans/Turnkey_Multithread_Evaluation_API.md +2 -0
- package/plans/Worker_Friendly_Network_Serialization_Fastpath.md +2 -0
- package/plans/architecture-solid-split.plans.md +675 -0
- package/plans/asciiMaze-typescript-repair.plans.md +42 -0
- package/plans/methods-docs.plans.md +173 -0
- package/plans/methods-solid-split.plans.md +78 -0
- package/plans/neat-docs.plans.md +68 -0
- package/plans/neat-test-surface-repair.plans.md +38 -0
- package/plans/neat.plans.md +4 -2
- package/plans/src-no-explicit-any-cleanup.plans.md +175 -0
- package/plans/utils-docs.plans.md +44 -0
- package/scripts/assets/theme.css +532 -55
- package/scripts/generate-docs.ts +1491 -114
- package/scripts/mermaid-cli.mjs +158 -0
- package/scripts/render-docs-html.sidebar.ts +513 -0
- package/scripts/render-docs-html.ts +391 -90
- package/src/README.md +2284 -924
- package/src/architecture/README.md +19 -2102
- package/src/architecture/activationArrayPool/README.md +35 -0
- package/src/architecture/activationArrayPool/activationArrayPool.ts +185 -0
- package/src/architecture/activationArrayPool.ts +6 -136
- package/src/architecture/architect/README.md +198 -0
- package/src/architecture/architect/architect.ts +550 -0
- package/src/architecture/architect.ts +5 -641
- package/src/architecture/connection/README.md +260 -0
- package/src/architecture/connection/connection.ts +455 -0
- package/src/architecture/connection.ts +4 -397
- package/src/architecture/docs.order.json +35 -0
- package/src/architecture/group/README.md +193 -0
- package/src/architecture/group/group.ts +506 -0
- package/src/architecture/group.ts +5 -417
- package/src/architecture/layer/README.md +1101 -458
- package/src/architecture/layer/layer.activation.utils.ts +1 -1
- package/src/architecture/layer/layer.connection.utils.ts +2 -2
- package/src/architecture/layer/layer.factory.core.utils.ts +2 -2
- package/src/architecture/layer/layer.factory.experimental.utils.ts +1 -1
- package/src/architecture/layer/layer.factory.normalization.utils.ts +1 -1
- package/src/architecture/layer/layer.factory.recurrent.utils.ts +3 -7
- package/src/architecture/layer/layer.guard.utils.ts +1 -1
- package/src/architecture/layer/layer.ts +488 -0
- package/src/architecture/layer/layer.utils.types.ts +2 -2
- package/src/architecture/layer.ts +4 -470
- package/src/architecture/network/README.md +2559 -1276
- package/src/architecture/network/activate/README.md +1001 -522
- package/src/architecture/network/activate/network.activate.contexts.utils.ts +1 -1
- package/src/architecture/network/activate/network.activate.core.utils.ts +4 -4
- package/src/architecture/network/activate/network.activate.notrace.utils.ts +1 -1
- package/src/architecture/network/activate/network.activate.raw.utils.ts +1 -1
- package/src/architecture/network/activate/network.activate.utils.ts +3 -3
- package/src/architecture/network/activate/network.activate.utils.types.ts +2 -2
- package/src/architecture/network/bootstrap/README.md +207 -0
- package/src/architecture/network/bootstrap/network.bootstrap.utils.ts +295 -0
- package/src/architecture/network/connect/README.md +146 -60
- package/src/architecture/network/connect/network.connect.create.utils.ts +1 -1
- package/src/architecture/network/connect/network.connect.remove.utils.ts +1 -1
- package/src/architecture/network/connect/network.connect.utils.ts +2 -2
- package/src/architecture/network/deterministic/README.md +236 -113
- package/src/architecture/network/deterministic/network.deterministic.lifecycle.utils.ts +1 -1
- package/src/architecture/network/deterministic/network.deterministic.setup.utils.ts +2 -2
- package/src/architecture/network/deterministic/network.deterministic.state.utils.ts +2 -2
- package/src/architecture/network/deterministic/network.deterministic.utils.ts +2 -2
- package/src/architecture/network/docs.order.json +8 -0
- package/src/architecture/network/evolve/README.md +550 -261
- package/src/architecture/network/evolve/network.evolve.finalize.utils.ts +1 -1
- package/src/architecture/network/evolve/network.evolve.fitness.utils.ts +1 -1
- package/src/architecture/network/evolve/network.evolve.loop.utils.ts +1 -1
- package/src/architecture/network/evolve/network.evolve.setup.utils.ts +1 -1
- package/src/architecture/network/evolve/network.evolve.utils.ts +1 -1
- package/src/architecture/network/gating/README.md +221 -111
- package/src/architecture/network/gating/network.gating.gate.utils.ts +1 -1
- package/src/architecture/network/gating/network.gating.remove.utils.ts +2 -2
- package/src/architecture/network/gating/network.gating.utils.ts +2 -2
- package/src/architecture/network/genetic/README.md +624 -287
- package/src/architecture/network/genetic/network.genetic.setup.utils.ts +2 -2
- package/src/architecture/network/genetic/network.genetic.utils.ts +1 -1
- package/src/architecture/network/mutate/README.md +1248 -653
- package/src/architecture/network/mutate/network.mutate.dispatch.utils.ts +1 -1
- package/src/architecture/network/mutate/network.mutate.handlers.utils.ts +15 -42
- package/src/architecture/network/mutate/network.mutate.public.utils.ts +60 -0
- package/src/architecture/network/mutate/network.mutate.utils.ts +1 -1
- package/src/architecture/network/mutate/network.mutate.utils.types.ts +0 -5
- package/src/architecture/network/network.ts +1153 -0
- package/src/architecture/network/network.types.ts +102 -8
- package/src/architecture/network/network.utils.ts +22 -15
- package/src/architecture/network/onnx/README.md +1039 -3171
- package/src/architecture/network/onnx/docs.order.json +13 -0
- package/src/architecture/network/onnx/export/README.md +1691 -0
- package/src/architecture/network/onnx/export/layers/README.md +1121 -0
- package/src/architecture/network/onnx/{network.onnx.export-conv.utils.ts → export/layers/network.onnx.export-conv.utils.ts} +35 -7
- package/src/architecture/network/onnx/{network.onnx.export-dense.utils.ts → export/layers/network.onnx.export-dense.utils.ts} +42 -9
- package/src/architecture/network/onnx/{network.onnx.export-layer-common.utils.ts → export/layers/network.onnx.export-layer-common.utils.ts} +22 -16
- package/src/architecture/network/onnx/{network.onnx.export-layer-graph.utils.ts → export/layers/network.onnx.export-layer-graph.utils.ts} +51 -4
- package/src/architecture/network/onnx/{network.onnx.export-recurrent.utils.ts → export/layers/network.onnx.export-recurrent.utils.ts} +27 -6
- package/src/architecture/network/onnx/{network.onnx.export-build.utils.ts → export/network.onnx.export-build.utils.ts} +5 -5
- package/src/architecture/network/onnx/{network.onnx.export-flow.utils.ts → export/network.onnx.export-flow.utils.ts} +3 -2
- package/src/architecture/network/onnx/{network.onnx.export-orchestrators.utils.ts → export/network.onnx.export-orchestrators.utils.ts} +9 -5
- package/src/architecture/network/onnx/{network.onnx.export-postprocess.utils.ts → export/network.onnx.export-postprocess.utils.ts} +11 -7
- package/src/architecture/network/onnx/{network.onnx.export-setup.utils.ts → export/network.onnx.export-setup.utils.ts} +9 -7
- package/src/architecture/network/onnx/export/network.onnx.export.types.ts +734 -0
- package/src/architecture/network/onnx/import/README.md +1515 -0
- package/src/architecture/network/onnx/import/docs.order.json +15 -0
- package/src/architecture/network/onnx/{network.onnx.import-activations.utils.ts → import/network.onnx.import-activations.utils.ts} +3 -3
- package/src/architecture/network/onnx/{network.onnx.import-flow.utils.ts → import/network.onnx.import-flow.utils.ts} +25 -5
- package/src/architecture/network/onnx/import/network.onnx.import-fused-recurrent.types.ts +101 -0
- package/src/architecture/network/onnx/{network.onnx.import-fused-recurrent.utils.ts → import/network.onnx.import-fused-recurrent.utils.ts} +10 -6
- package/src/architecture/network/onnx/import/network.onnx.import-orchestrators.types.ts +74 -0
- package/src/architecture/network/onnx/{network.onnx.import-orchestrators.utils.ts → import/network.onnx.import-orchestrators.utils.ts} +9 -7
- package/src/architecture/network/onnx/import/network.onnx.import-weights.types.ts +189 -0
- package/src/architecture/network/onnx/{network.onnx.import-weights.utils.ts → import/network.onnx.import-weights.utils.ts} +11 -7
- package/src/architecture/network/onnx/import/network.onnx.runtime-load.types.ts +52 -0
- package/src/architecture/network/onnx/{network.onnx.runtime-load.utils.ts → import/network.onnx.runtime-load.utils.ts} +2 -2
- package/src/architecture/network/onnx/network.onnx.layer-analysis.utils.ts +1 -1
- package/src/architecture/network/onnx/network.onnx.ts +20 -5
- package/src/architecture/network/onnx/network.onnx.utils.ts +32 -11
- package/src/architecture/network/onnx/network.onnx.utils.types.ts +172 -1195
- package/src/architecture/network/onnx/schema/README.md +120 -0
- package/src/architecture/network/onnx/schema/network.onnx.schema.types.ts +202 -0
- package/src/architecture/network/prune/README.md +453 -210
- package/src/architecture/network/prune/network.prune.evolutionary.utils.ts +1 -1
- package/src/architecture/network/prune/network.prune.regrowth.utils.ts +1 -1
- package/src/architecture/network/prune/network.prune.schedule.utils.ts +1 -1
- package/src/architecture/network/prune/network.prune.sparsity.utils.ts +1 -1
- package/src/architecture/network/prune/network.prune.utils.ts +16 -19
- package/src/architecture/network/remove/README.md +267 -132
- package/src/architecture/network/remove/network.remove.finalize.utils.ts +1 -1
- package/src/architecture/network/remove/network.remove.reconnect.utils.ts +1 -1
- package/src/architecture/network/remove/network.remove.snapshot.utils.ts +1 -1
- package/src/architecture/network/remove/network.remove.utils.ts +2 -2
- package/src/architecture/network/remove/network.remove.utils.types.ts +1 -1
- package/src/architecture/network/remove/network.remove.validation.utils.ts +1 -1
- package/src/architecture/network/runtime/README.md +332 -0
- package/src/architecture/network/runtime/network.runtime.controls.utils.ts +301 -0
- package/src/architecture/network/runtime/network.runtime.diagnostics.utils.ts +150 -0
- package/src/architecture/network/serialize/README.md +903 -359
- package/src/architecture/network/serialize/network.serialize.activation.utils.ts +1 -1
- package/src/architecture/network/serialize/network.serialize.public.utils.ts +28 -0
- package/src/architecture/network/serialize/network.serialize.runtime.utils.ts +1 -1
- package/src/architecture/network/serialize/network.serialize.utils.ts +1 -1
- package/src/architecture/network/slab/README.md +907 -492
- package/src/architecture/network/slab/network.slab.activate.utils.ts +1 -1
- package/src/architecture/network/slab/network.slab.adjacency.helpers.utils.ts +1 -1
- package/src/architecture/network/slab/network.slab.fast-path.helpers.utils.ts +2 -2
- package/src/architecture/network/slab/network.slab.rebuild.helpers.utils.ts +2 -2
- package/src/architecture/network/slab/network.slab.shared.helpers.utils.ts +1 -1
- package/src/architecture/network/slab/network.slab.utils.ts +3 -3
- package/src/architecture/network/slab/network.slab.utils.types.ts +1 -1
- package/src/architecture/network/slab/network.slab.view.utils.ts +1 -1
- package/src/architecture/network/standalone/README.md +401 -161
- package/src/architecture/network/standalone/network.standalone.utils.setup.ts +1 -1
- package/src/architecture/network/standalone/network.standalone.utils.ts +1 -1
- package/src/architecture/network/stats/README.md +152 -64
- package/src/architecture/network/stats/network.stats.test.utils.ts +1 -1
- package/src/architecture/network/stats/network.stats.utils.ts +5 -4
- package/src/architecture/network/topology/README.md +773 -280
- package/src/architecture/network/topology/network.topology.architecture.utils.ts +55 -1
- package/src/architecture/network/topology/network.topology.contract.utils.ts +78 -0
- package/src/architecture/network/topology/network.topology.factory.utils.ts +5 -1
- package/src/architecture/network/topology/network.topology.utils.ts +19 -3
- package/src/architecture/network/topology/network.topology.utils.types.ts +1 -1
- package/src/architecture/network/training/README.md +385 -158
- package/src/architecture/network/training/network.training.backprop.utils.ts +1 -1
- package/src/architecture/network/training/network.training.finalize.utils.ts +1 -1
- package/src/architecture/network/training/network.training.gradient-clip.utils.ts +1 -1
- package/src/architecture/network/training/network.training.loop.utils.ts +1 -1
- package/src/architecture/network/training/network.training.utils.ts +1 -1
- package/src/architecture/network/training/network.training.utils.types.ts +1 -1
- package/src/architecture/network.ts +18 -1744
- package/src/architecture/node/README.md +464 -0
- package/src/architecture/node/node.ts +1338 -0
- package/src/architecture/node.ts +4 -1317
- package/src/architecture/nodePool/README.md +78 -0
- package/src/architecture/nodePool/nodePool.ts +169 -0
- package/src/architecture/nodePool.ts +12 -150
- package/src/architecture/onnx.ts +7 -0
- package/src/methods/README.md +533 -982
- package/src/methods/activation/README.md +639 -0
- package/src/methods/{activation.ts → activation/activation.ts} +104 -11
- package/src/methods/{activation.utils.ts → activation/activation.utils.ts} +147 -1
- package/src/methods/activation/docs.order.json +7 -0
- package/src/methods/connection/README.md +97 -0
- package/src/methods/connection/connection.ts +100 -0
- package/src/methods/cost/README.md +509 -0
- package/src/methods/{cost.ts → cost/cost.ts} +56 -0
- package/src/methods/{cost.utils.ts → cost/cost.utils.ts} +1 -1
- package/src/methods/cost/docs.order.json +7 -0
- package/src/methods/crossover/README.md +52 -0
- package/src/methods/{crossover.ts → crossover/crossover.ts} +56 -0
- package/src/methods/docs.order.json +16 -0
- package/src/methods/gating/README.md +52 -0
- package/src/methods/gating/gating.ts +106 -0
- package/src/methods/methods.ts +58 -8
- package/src/methods/mutation/README.md +123 -0
- package/src/methods/{mutation.ts → mutation/mutation.ts} +87 -7
- package/src/methods/rate/README.md +490 -0
- package/src/methods/rate/docs.order.json +7 -0
- package/src/methods/{rate.ts → rate/rate.ts} +85 -4
- package/src/methods/{rate.utils.ts → rate/rate.utils.ts} +3 -3
- package/src/methods/selection/README.md +60 -0
- package/src/methods/{selection.ts → selection/selection.ts} +64 -0
- package/src/multithreading/README.md +281 -95
- package/src/multithreading/multi.ts +2 -2
- package/src/multithreading/workers/README.md +8 -6
- package/src/multithreading/workers/browser/README.md +21 -11
- package/src/multithreading/workers/node/README.md +52 -20
- package/src/neat/README.md +397 -10476
- package/src/neat/adaptive/README.md +281 -0
- package/src/neat/adaptive/acceptance/README.md +361 -0
- package/src/neat/adaptive/acceptance/adaptive.acceptance.ts +46 -0
- package/src/neat/{neat.adaptive.minimal-criterion.utils.ts → adaptive/acceptance/adaptive.minimal-criterion.utils.ts} +59 -5
- package/src/neat/{neat.adaptive.ts → adaptive/adaptive.ts} +103 -54
- package/src/neat/adaptive/complexity/README.md +519 -0
- package/src/neat/adaptive/complexity/adaptive.complexity.ts +42 -0
- package/src/neat/{neat.adaptive.complexity.utils.ts → adaptive/complexity/adaptive.complexity.utils.ts} +72 -10
- package/src/neat/{neat.adaptive.phases.utils.ts → adaptive/complexity/adaptive.phases.utils.ts} +27 -4
- package/src/neat/adaptive/core/README.md +587 -0
- package/src/neat/adaptive/core/adaptive.core.constants.ts +160 -0
- package/src/neat/adaptive/core/adaptive.core.ts +33 -0
- package/src/neat/{neat.adaptive.shared.ts → adaptive/core/adaptive.core.types.ts} +114 -134
- package/src/neat/adaptive/lineage/README.md +369 -0
- package/src/neat/{neat.adaptive.ancestor-uniqueness.utils.ts → adaptive/lineage/adaptive.ancestor-uniqueness.utils.ts} +59 -6
- package/src/neat/adaptive/lineage/adaptive.lineage.ts +49 -0
- package/src/neat/adaptive/mutation/README.md +754 -0
- package/src/neat/adaptive/mutation/adaptive.mutation.ts +51 -0
- package/src/neat/{neat.adaptive.mutation.utils.ts → adaptive/mutation/adaptive.mutation.utils.ts} +98 -4
- package/src/neat/{neat.adaptive.operator.utils.ts → adaptive/mutation/adaptive.operator.utils.ts} +30 -3
- package/src/neat/cache/README.md +156 -0
- package/src/neat/cache/cache.ts +79 -0
- package/src/neat/cache/core/README.md +151 -0
- package/src/neat/cache/core/cache.constants.ts +70 -0
- package/src/neat/cache/core/cache.core.ts +89 -0
- package/src/neat/compat/README.md +186 -0
- package/src/neat/compat/compat.ts +222 -0
- package/src/neat/compat/core/README.md +257 -0
- package/src/neat/{neat.compat.utils.ts → compat/core/compat.core.ts} +92 -102
- package/src/neat/compat/core/compat.types.ts +122 -0
- package/src/neat/diversity/README.md +160 -0
- package/src/neat/diversity/core/README.md +242 -0
- package/src/neat/diversity/core/diversity.core.ts +278 -0
- package/src/neat/diversity/core/diversity.types.ts +114 -0
- package/src/neat/diversity/diversity.ts +170 -0
- package/src/neat/evaluate/README.md +268 -0
- package/src/neat/evaluate/auto-distance/README.md +242 -0
- package/src/neat/evaluate/auto-distance/evaluate.auto-distance.ts +328 -0
- package/src/neat/evaluate/entropy-compat/README.md +128 -0
- package/src/neat/evaluate/entropy-compat/evaluate.entropy-compat.ts +163 -0
- package/src/neat/evaluate/entropy-sharing/README.md +147 -0
- package/src/neat/evaluate/entropy-sharing/evaluate.entropy-sharing.ts +179 -0
- package/src/neat/evaluate/evaluate.ts +158 -0
- package/src/neat/evaluate/fitness/README.md +90 -0
- package/src/neat/evaluate/fitness/evaluate.fitness.ts +104 -0
- package/src/neat/evaluate/novelty/README.md +281 -0
- package/src/neat/evaluate/novelty/evaluate.novelty.ts +348 -0
- package/src/neat/evaluate/objectives/README.md +112 -0
- package/src/neat/evaluate/objectives/evaluate.objectives.ts +121 -0
- package/src/neat/evaluate/shared/README.md +248 -0
- package/src/neat/evaluate/shared/evaluate.constants.ts +191 -0
- package/src/neat/{neat.evaluate.utils.types.ts → evaluate/shared/evaluate.types.ts} +112 -14
- package/src/neat/evaluate/speciation/README.md +138 -0
- package/src/neat/evaluate/speciation/evaluate.speciation.ts +144 -0
- package/src/neat/evolve/README.md +360 -0
- package/src/neat/evolve/adaptive/README.md +219 -0
- package/src/neat/evolve/adaptive/evolve.adaptive.utils.ts +324 -0
- package/src/neat/{neat.evolve.ts → evolve/evolve.ts} +204 -80
- package/src/neat/{neat.evolve.types.ts → evolve/evolve.types.ts} +92 -5
- package/src/neat/evolve/objectives/README.md +204 -0
- package/src/neat/{neat.evolve.objectives.utils.ts → evolve/objectives/evolve.objectives.utils.ts} +129 -24
- package/src/neat/evolve/offspring/README.md +145 -0
- package/src/neat/evolve/offspring/evolve.offspring.constants.ts +44 -0
- package/src/neat/evolve/offspring/evolve.offspring.utils.ts +163 -0
- package/src/neat/evolve/population/README.md +477 -0
- package/src/neat/{neat.evolve.population.utils.ts → evolve/population/evolve.population.utils.ts} +258 -40
- package/src/neat/evolve/runtime/README.md +188 -0
- package/src/neat/evolve/runtime/evolve.runtime.utils.ts +215 -0
- package/src/neat/evolve/speciation/README.md +227 -0
- package/src/neat/evolve/speciation/evolve.speciation.utils.ts +359 -0
- package/src/neat/evolve/telemetry/README.md +133 -0
- package/src/neat/evolve/telemetry/evolve.telemetry.utils.ts +143 -0
- package/src/neat/evolve/warnings/README.md +43 -0
- package/src/neat/evolve/warnings/evolve.warnings.utils.ts +48 -0
- package/src/neat/export/README.md +289 -0
- package/src/neat/{neat.export.ts → export/neat.export.ts} +127 -45
- package/src/neat/harness/README.md +136 -0
- package/src/neat/harness/neat.harness.types.ts +144 -0
- package/src/neat/helpers/README.md +232 -0
- package/src/neat/helpers/neat.helpers.ts +408 -0
- package/src/neat/init/README.md +140 -0
- package/src/neat/init/neat.init.ts +375 -0
- package/src/neat/lineage/README.md +141 -0
- package/src/neat/lineage/core/README.md +292 -0
- package/src/neat/lineage/core/lineage.core.ts +372 -0
- package/src/neat/lineage/core/lineage.types.ts +105 -0
- package/src/neat/lineage/lineage.ts +163 -0
- package/src/neat/maintenance/README.md +78 -0
- package/src/neat/maintenance/facade/README.md +143 -0
- package/src/neat/maintenance/facade/maintenance.facade.ts +168 -0
- package/src/neat/maintenance/maintenance.ts +80 -0
- package/src/neat/multiobjective/README.md +90 -0
- package/src/neat/multiobjective/archive/README.md +81 -0
- package/src/neat/multiobjective/archive/multiobjective.archive.ts +100 -0
- package/src/neat/multiobjective/category/README.md +208 -0
- package/src/neat/{neat.multiobjective.category.utils.ts → multiobjective/category/multiobjective.category.ts} +109 -18
- package/src/neat/multiobjective/crowding/README.md +516 -0
- package/src/neat/{neat.multiobjective.crowding.utils.ts → multiobjective/crowding/multiobjective.crowding.ts} +105 -3
- package/src/neat/multiobjective/dominance/README.md +426 -0
- package/src/neat/{neat.multiobjective.dominance.utils.ts → multiobjective/dominance/multiobjective.dominance.ts} +110 -4
- package/src/neat/multiobjective/fronts/README.md +222 -0
- package/src/neat/{neat.multiobjective.fronts.utils.ts → multiobjective/fronts/multiobjective.fronts.ts} +82 -4
- package/src/neat/multiobjective/metrics/README.md +140 -0
- package/src/neat/multiobjective/metrics/multiobjective.metrics.ts +153 -0
- package/src/neat/multiobjective/multiobjective.ts +140 -0
- package/src/neat/multiobjective/objectives/README.md +113 -0
- package/src/neat/{neat.multiobjective.objectives.utils.ts → multiobjective/objectives/multiobjective.objectives.ts} +42 -2
- package/src/neat/multiobjective/shared/README.md +85 -0
- package/src/neat/multiobjective/shared/multiobjective.types.ts +155 -0
- package/src/neat/mutation/README.md +282 -0
- package/src/neat/mutation/add-conn/README.md +271 -0
- package/src/neat/{neat.mutation.add-conn.utils.ts → mutation/add-conn/mutation.add-conn.ts} +87 -6
- package/src/neat/mutation/add-node/README.md +293 -0
- package/src/neat/{neat.mutation.add-node.utils.ts → mutation/add-node/mutation.add-node.ts} +97 -8
- package/src/neat/mutation/flow/README.md +379 -0
- package/src/neat/{neat.mutation.flow.utils.ts → mutation/flow/mutation.flow.ts} +147 -6
- package/src/neat/mutation/mutation.ts +482 -0
- package/src/neat/mutation/repair/README.md +497 -0
- package/src/neat/{neat.mutation.dead-ends.utils.ts → mutation/repair/mutation.dead-ends.ts} +75 -9
- package/src/neat/{neat.mutation.min-hidden.utils.ts → mutation/repair/mutation.min-hidden.ts} +73 -7
- package/src/neat/mutation/select/README.md +285 -0
- package/src/neat/{neat.mutation.select.utils.ts → mutation/select/mutation.select.ts} +102 -4
- package/src/neat/mutation/shared/README.md +109 -0
- package/src/neat/{neat.mutation.types.ts → mutation/shared/mutation.types.ts} +77 -4
- package/src/neat/neat.constants.ts +116 -7
- package/src/neat/neat.defaults.constants.ts +183 -0
- package/src/neat/neat.diversity.ts +5 -53
- package/src/neat/neat.lineage.ts +2 -134
- package/src/neat/neat.types.ts +59 -791
- package/src/neat/objectives/README.md +142 -0
- package/src/neat/objectives/core/README.md +288 -0
- package/src/neat/objectives/core/objectives.core.ts +273 -0
- package/src/neat/objectives/core/objectives.types.ts +63 -0
- package/src/neat/objectives/objectives.ts +175 -0
- package/src/neat/pruning/README.md +120 -0
- package/src/neat/pruning/core/README.md +420 -0
- package/src/neat/pruning/core/pruning.core.ts +410 -0
- package/src/neat/pruning/core/pruning.types.ts +104 -0
- package/src/neat/pruning/facade/README.md +121 -0
- package/src/neat/pruning/facade/pruning.facade.ts +124 -0
- package/src/neat/pruning/pruning.ts +192 -0
- package/src/neat/rng/README.md +323 -0
- package/src/neat/rng/core/README.md +503 -0
- package/src/neat/rng/core/rng.constants.ts +44 -0
- package/src/neat/rng/core/rng.core.ts +27 -0
- package/src/neat/rng/core/rng.types.ts +87 -0
- package/src/neat/rng/core/rng.utils.ts +238 -0
- package/src/neat/rng/facade/README.md +162 -0
- package/src/neat/rng/facade/rng.facade.ts +150 -0
- package/src/neat/rng/rng.ts +88 -0
- package/src/neat/selection/README.md +307 -0
- package/src/neat/selection/core/README.md +546 -0
- package/src/neat/selection/core/selection.core.ts +580 -0
- package/src/neat/selection/core/selection.types.ts +120 -0
- package/src/neat/selection/facade/README.md +180 -0
- package/src/neat/selection/facade/selection.facade.ts +177 -0
- package/src/neat/selection/selection.ts +255 -0
- package/src/neat/shared/README.md +361 -0
- package/src/neat/shared/neat.shared.types.ts +1120 -0
- package/src/neat/speciation/README.md +171 -0
- package/src/neat/speciation/assignment/README.md +274 -0
- package/src/neat/speciation/assignment/docs.order.json +12 -0
- package/src/neat/speciation/assignment/speciation.assignment.utils.ts +325 -0
- package/src/neat/speciation/history/README.md +254 -0
- package/src/neat/speciation/history/docs.order.json +12 -0
- package/src/neat/speciation/history/speciation.history.utils.ts +449 -0
- package/src/neat/speciation/shared/README.md +313 -0
- package/src/neat/speciation/shared/docs.order.json +31 -0
- package/src/neat/speciation/shared/speciation.shared.ts +393 -0
- package/src/neat/speciation/sharing/README.md +131 -0
- package/src/neat/speciation/sharing/speciation.sharing.utils.ts +287 -0
- package/src/neat/speciation/speciation.ts +243 -0
- package/src/neat/speciation/threshold/README.md +189 -0
- package/src/neat/speciation/threshold/speciation.threshold.utils.ts +310 -0
- package/src/neat/species/README.md +113 -0
- package/src/neat/species/core/README.md +92 -0
- package/src/neat/species/core/augmentation/README.md +60 -0
- package/src/neat/species/core/augmentation/species.core.augmentation.ts +109 -0
- package/src/neat/species/core/shared/README.md +92 -0
- package/src/neat/species/core/shared/species.core.shared.ts +154 -0
- package/src/neat/species/core/species.core.ts +92 -0
- package/src/neat/species/history/README.md +102 -0
- package/src/neat/species/history/context/README.md +86 -0
- package/src/neat/species/history/context/species.history.context.ts +112 -0
- package/src/neat/species/history/read/README.md +74 -0
- package/src/neat/species/history/read/species.history.read.ts +86 -0
- package/src/neat/species/history/species.history.ts +105 -0
- package/src/neat/species/species.ts +114 -0
- package/src/neat/species/stats/README.md +91 -0
- package/src/neat/species/stats/species.stats.ts +109 -0
- package/src/neat/telemetry/README.md +44 -0
- package/src/neat/telemetry/accessors/README.md +183 -0
- package/src/neat/telemetry/accessors/telemetry.accessors.ts +168 -0
- package/src/neat/telemetry/exports/README.md +600 -0
- package/src/neat/telemetry/exports/telemetry.exports.ts +549 -0
- package/src/neat/{neat.telemetry.exports.utils.ts → telemetry/exports/telemetry.exports.utils.ts} +76 -2
- package/src/neat/telemetry/facade/README.md +582 -0
- package/src/neat/telemetry/facade/archive/README.md +173 -0
- package/src/neat/telemetry/facade/archive/telemetry.facade.archive.ts +175 -0
- package/src/neat/telemetry/facade/buffer/README.md +141 -0
- package/src/neat/telemetry/facade/buffer/telemetry.facade.buffer.ts +132 -0
- package/src/neat/telemetry/facade/lineage/README.md +87 -0
- package/src/neat/telemetry/facade/lineage/telemetry.facade.lineage.ts +93 -0
- package/src/neat/telemetry/facade/novelty/README.md +79 -0
- package/src/neat/telemetry/facade/novelty/telemetry.facade.novelty.ts +70 -0
- package/src/neat/telemetry/facade/objectives/README.md +161 -0
- package/src/neat/telemetry/facade/objectives/telemetry.facade.objectives.ts +163 -0
- package/src/neat/telemetry/facade/operator-stats/README.md +62 -0
- package/src/neat/telemetry/facade/operator-stats/telemetry.facade.operator-stats.ts +63 -0
- package/src/neat/telemetry/facade/runtime/README.md +96 -0
- package/src/neat/telemetry/facade/runtime/telemetry.facade.runtime.ts +104 -0
- package/src/neat/telemetry/facade/species/README.md +165 -0
- package/src/neat/telemetry/facade/species/telemetry.facade.species.ts +171 -0
- package/src/neat/telemetry/facade/telemetry.facade.ts +555 -0
- package/src/neat/telemetry/metrics/README.md +1717 -0
- package/src/neat/{neat.telemetry.complexity.utils.ts → telemetry/metrics/telemetry.metrics.complexity.ts} +5 -2
- package/src/neat/{neat.telemetry.diversity.utils.ts → telemetry/metrics/telemetry.metrics.diversity.ts} +2 -2
- package/src/neat/{neat.telemetry.entropy.utils.ts → telemetry/metrics/telemetry.metrics.entropy.ts} +1 -1
- package/src/neat/{neat.telemetry.lineage.utils.ts → telemetry/metrics/telemetry.metrics.lineage.ts} +4 -4
- package/src/neat/{neat.telemetry.objectives.utils.ts → telemetry/metrics/telemetry.metrics.objectives.ts} +3 -3
- package/src/neat/{neat.telemetry.operator.utils.ts → telemetry/metrics/telemetry.metrics.operator.ts} +4 -1
- package/src/neat/{neat.telemetry.performance.utils.ts → telemetry/metrics/telemetry.metrics.performance.ts} +2 -2
- package/src/neat/{neat.telemetry.rng.utils.ts → telemetry/metrics/telemetry.metrics.rng.ts} +2 -2
- package/src/neat/{neat.telemetry.selection.utils.ts → telemetry/metrics/telemetry.metrics.selection.ts} +3 -3
- package/src/neat/telemetry/metrics/telemetry.metrics.ts +60 -0
- package/src/neat/telemetry/recorder/README.md +220 -0
- package/src/neat/{neat.telemetry.ts → telemetry/recorder/telemetry.recorder.ts} +91 -30
- package/src/neat/telemetry/runtime/README.md +106 -0
- package/src/neat/telemetry/runtime/telemetry.runtime.ts +119 -0
- package/src/neat/telemetry/telemetry.ts +46 -0
- package/src/neat/telemetry/types/README.md +85 -0
- package/src/neat/telemetry/types/telemetry.types.ts +121 -0
- package/src/neat/topology-intent/README.md +225 -0
- package/src/neat/topology-intent/neat.topology-intent.ts +305 -0
- package/src/neat.ts +710 -405
- package/src/utils/README.md +367 -114
- package/src/utils/memory.ts +74 -10
- package/src/utils/memory.utils.ts +77 -4
- package/test/architecture/node.test.ts +2 -2
- package/test/examples/README.md +168 -0
- package/test/examples/asciiMaze/README.md +263 -253
- package/test/examples/asciiMaze/asciiMaze.e2e.test.ts +4 -3
- package/test/examples/asciiMaze/browser-entry/README.md +316 -57
- package/test/examples/asciiMaze/browser-entry/browser-entry.globals.services.ts +7 -4
- package/test/examples/asciiMaze/browser-entry/browser-entry.host.services.ts +1 -1
- package/test/examples/asciiMaze/browser-entry/browser-entry.ts +16 -0
- package/test/examples/asciiMaze/browser-entry.ts +5 -0
- package/test/examples/asciiMaze/dashboardManager/README.md +182 -101
- package/test/examples/asciiMaze/dashboardManager/archive/README.md +25 -1
- package/test/examples/asciiMaze/dashboardManager/archive/dashboardManager.archive.services.ts +17 -0
- package/test/examples/asciiMaze/dashboardManager/dashboardManager.types.ts +1 -1
- package/test/examples/asciiMaze/dashboardManager/live/README.md +28 -1
- package/test/examples/asciiMaze/dashboardManager/live/dashboardManager.live.services.ts +22 -0
- package/test/examples/asciiMaze/dashboardManager/telemetry/README.md +60 -21
- package/test/examples/asciiMaze/dashboardManager/telemetry/dashboardManager.telemetry.services.ts +20 -0
- package/test/examples/asciiMaze/evolutionEngine/README.md +3471 -567
- package/test/examples/asciiMaze/evolutionEngine/engineState.types.ts +10 -3
- package/test/examples/asciiMaze/evolutionEngine/evolutionEngine.constants.ts +95 -0
- package/test/examples/asciiMaze/evolutionEngine/evolutionEngine.services.ts +93 -0
- package/test/examples/asciiMaze/evolutionEngine/evolutionEngine.types.ts +74 -5
- package/test/examples/asciiMaze/evolutionEngine/evolutionEngine.utils.ts +123 -0
- package/test/examples/asciiMaze/evolutionEngine/evolutionLoop.ts +58 -86
- package/test/examples/asciiMaze/evolutionEngine/neatConfiguration.ts +29 -17
- package/test/examples/asciiMaze/evolutionEngine/networkInspection.ts +19 -38
- package/test/examples/asciiMaze/evolutionEngine/optionsAndSetup.ts +96 -36
- package/test/examples/asciiMaze/evolutionEngine/populationDynamics.ts +194 -180
- package/test/examples/asciiMaze/evolutionEngine/populationPruning.ts +47 -54
- package/test/examples/asciiMaze/evolutionEngine/sampling.ts +18 -3
- package/test/examples/asciiMaze/evolutionEngine/telemetryMetrics.ts +24 -17
- package/test/examples/asciiMaze/evolutionEngine/trainingWarmStart.ts +83 -52
- package/test/examples/asciiMaze/evolutionEngine.ts +119 -231
- package/test/examples/asciiMaze/index.ts +30 -7
- package/test/examples/asciiMaze/mazeMovement/README.md +221 -108
- package/test/examples/asciiMaze/mazeMovement/finalization/README.md +44 -17
- package/test/examples/asciiMaze/mazeMovement/finalization/mazeMovement.finalization.ts +13 -1
- package/test/examples/asciiMaze/mazeMovement/policy/README.md +98 -46
- package/test/examples/asciiMaze/mazeMovement/policy/mazeMovement.policy.ts +13 -2
- package/test/examples/asciiMaze/mazeMovement/runtime/README.md +93 -43
- package/test/examples/asciiMaze/mazeMovement/runtime/mazeMovement.runtime.ts +13 -2
- package/test/examples/asciiMaze/mazeMovement/shaping/README.md +115 -44
- package/test/examples/asciiMaze/mazeMovement/shaping/mazeMovement.shaping.ts +13 -2
- package/test/examples/asciiMaze/mazeVisualization.ts +2 -2
- package/test/examples/flappy_bird/README.md +201 -136
- package/test/examples/flappy_bird/browser-entry/README.md +891 -553
- package/test/examples/flappy_bird/browser-entry/browser-entry.observation.utils.ts +0 -1
- package/test/examples/flappy_bird/browser-entry/browser-entry.ts +24 -0
- package/test/examples/flappy_bird/browser-entry/browser-entry.types.ts +20 -0
- package/test/examples/flappy_bird/browser-entry/browser-entry.worker.types.ts +1 -0
- package/test/examples/flappy_bird/browser-entry/docs.order.json +15 -0
- package/test/examples/flappy_bird/browser-entry/host/README.md +296 -134
- package/test/examples/flappy_bird/browser-entry/host/docs.order.json +15 -0
- package/test/examples/flappy_bird/browser-entry/host/host.ts +13 -9
- package/test/examples/flappy_bird/browser-entry/host/resize/README.md +278 -119
- package/test/examples/flappy_bird/browser-entry/host/resize/docs.order.json +10 -0
- package/test/examples/flappy_bird/browser-entry/host/resize/host.resize.service.ts +18 -3
- package/test/examples/flappy_bird/browser-entry/network-view/README.md +401 -190
- package/test/examples/flappy_bird/browser-entry/network-view/docs.order.json +12 -0
- package/test/examples/flappy_bird/browser-entry/network-view/network-view.ts +31 -53
- package/test/examples/flappy_bird/browser-entry/playback/README.md +844 -450
- package/test/examples/flappy_bird/browser-entry/playback/background/README.md +324 -117
- package/test/examples/flappy_bird/browser-entry/playback/background/docs.order.json +16 -0
- package/test/examples/flappy_bird/browser-entry/playback/background/ground-grid/README.md +935 -497
- package/test/examples/flappy_bird/browser-entry/playback/background/ground-grid/docs.order.json +22 -0
- package/test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.geometry.utils.ts +0 -3
- package/test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.pulse.utils.test.ts +2 -2
- package/test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.pulse.utils.ts +0 -2
- package/test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.services.ts +1 -4
- package/test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.ts +16 -3
- package/test/examples/flappy_bird/browser-entry/playback/background/playback.background.ts +16 -4
- package/test/examples/flappy_bird/browser-entry/playback/docs.order.json +23 -0
- package/test/examples/flappy_bird/browser-entry/playback/frame-render/README.md +490 -149
- package/test/examples/flappy_bird/browser-entry/playback/frame-render/docs.order.json +14 -0
- package/test/examples/flappy_bird/browser-entry/playback/frame-render/playback.frame-render.service.ts +19 -7
- package/test/examples/flappy_bird/browser-entry/playback/frame-render/playback.frame-render.services.ts +0 -23
- package/test/examples/flappy_bird/browser-entry/playback/playback.iteration.services.test.ts +136 -0
- package/test/examples/flappy_bird/browser-entry/playback/playback.iteration.services.ts +64 -0
- package/test/examples/flappy_bird/browser-entry/playback/playback.orchestration.types.ts +12 -0
- package/test/examples/flappy_bird/browser-entry/playback/playback.session.services.ts +1 -0
- package/test/examples/flappy_bird/browser-entry/playback/playback.ts +18 -1
- package/test/examples/flappy_bird/browser-entry/playback/snapshot/README.md +75 -16
- package/test/examples/flappy_bird/browser-entry/playback/snapshot/docs.order.json +7 -0
- package/test/examples/flappy_bird/browser-entry/playback/snapshot/playback.snapshot.services.ts +18 -0
- package/test/examples/flappy_bird/browser-entry/playback/trail/README.md +96 -28
- package/test/examples/flappy_bird/browser-entry/playback/trail/docs.order.json +7 -0
- package/test/examples/flappy_bird/browser-entry/playback/trail/playback.trail.history.services.ts +14 -2
- package/test/examples/flappy_bird/browser-entry/playback/trail/playback.trail.opacity.utils.ts +21 -0
- package/test/examples/flappy_bird/browser-entry/playback/worker-channel/README.md +79 -22
- package/test/examples/flappy_bird/browser-entry/playback/worker-channel/docs.order.json +8 -0
- package/test/examples/flappy_bird/browser-entry/playback/worker-channel/playback.worker-channel.types.ts +8 -0
- package/test/examples/flappy_bird/browser-entry/runtime/README.md +300 -130
- package/test/examples/flappy_bird/browser-entry/runtime/docs.order.json +14 -0
- package/test/examples/flappy_bird/browser-entry/runtime/runtime.evolution-loop.service.ts +52 -0
- package/test/examples/flappy_bird/browser-entry/runtime/runtime.ts +19 -6
- package/test/examples/flappy_bird/browser-entry/visualization/README.md +544 -249
- package/test/examples/flappy_bird/browser-entry/visualization/docs.order.json +13 -0
- package/test/examples/flappy_bird/browser-entry/visualization/visualization.ts +10 -0
- package/test/examples/flappy_bird/browser-entry/visualization/visualization.types.ts +4 -0
- package/test/examples/flappy_bird/browser-entry/worker-channel/README.md +198 -119
- package/test/examples/flappy_bird/browser-entry/worker-channel/docs.order.json +12 -0
- package/test/examples/flappy_bird/browser-entry/worker-channel/worker-channel.ts +6 -0
- package/test/examples/flappy_bird/constants/README.md +1865 -573
- package/test/examples/flappy_bird/constants/constants.runtime.ts +1 -1
- package/test/examples/flappy_bird/constants/constants.ts +33 -3
- package/test/examples/flappy_bird/constants/docs.order.json +23 -0
- package/test/examples/flappy_bird/environment/README.md +113 -40
- package/test/examples/flappy_bird/environment/docs.order.json +11 -0
- package/test/examples/flappy_bird/environment/environment.step.service.ts +0 -1
- package/test/examples/flappy_bird/environment/environment.types.ts +16 -0
- package/test/examples/flappy_bird/evaluation/README.md +159 -50
- package/test/examples/flappy_bird/evaluation/docs.order.json +13 -0
- package/test/examples/flappy_bird/evaluation/evaluation.rollout.service.ts +8 -0
- package/test/examples/flappy_bird/evaluation/evaluation.types.ts +19 -0
- package/test/examples/flappy_bird/evaluation/rollout/README.md +323 -173
- package/test/examples/flappy_bird/evaluation/rollout/docs.order.json +10 -0
- package/test/examples/flappy_bird/evaluation/rollout/evaluation.rollout.constants.ts +3 -2
- package/test/examples/flappy_bird/evaluation/rollout/evaluation.rollout.service.ts +23 -4
- package/test/examples/flappy_bird/evaluation/rollout/evaluation.rollout.services.ts +24 -3
- package/test/examples/flappy_bird/evaluation/rollout/evaluation.rollout.types.ts +8 -4
- package/test/examples/flappy_bird/evaluation/rollout/evaluation.rollout.utils.ts +3 -2
- package/test/examples/flappy_bird/flappy-evolution-worker/README.md +982 -469
- package/test/examples/flappy_bird/flappy-evolution-worker/docs.order.json +18 -0
- package/test/examples/flappy_bird/flappy-evolution-worker/flappy-evolution-worker.constants.ts +42 -0
- package/test/examples/flappy_bird/flappy-evolution-worker/flappy-evolution-worker.evolution.service.test.ts +50 -0
- package/test/examples/flappy_bird/flappy-evolution-worker/flappy-evolution-worker.evolution.service.ts +5 -0
- package/test/examples/flappy_bird/flappy-evolution-worker/flappy-evolution-worker.simulation.utils.ts +1 -1
- package/test/examples/flappy_bird/flappy-evolution-worker/flappy-evolution-worker.ts +19 -1
- package/test/examples/flappy_bird/flappy-evolution-worker/flappy-evolution-worker.types.ts +1 -0
- package/test/examples/flappy_bird/flappy-evolution-worker/flappy-evolution-worker.warm-start.service.test.ts +71 -0
- package/test/examples/flappy_bird/flappy-evolution-worker/flappy-evolution-worker.warm-start.service.ts +276 -19
- package/test/examples/flappy_bird/index.ts +15 -0
- package/test/examples/flappy_bird/simulation-shared/README.md +401 -241
- package/test/examples/flappy_bird/simulation-shared/docs.order.json +18 -0
- package/test/examples/flappy_bird/simulation-shared/observation/README.md +219 -93
- package/test/examples/flappy_bird/simulation-shared/observation/docs.order.json +8 -0
- package/test/examples/flappy_bird/simulation-shared/simulation-shared.types.ts +15 -0
- package/test/examples/flappy_bird/trainer/README.md +901 -183
- package/test/examples/flappy_bird/trainer/evaluation/README.md +163 -54
- package/test/examples/flappy_bird/trainer/evaluation/trainer.evaluation.service.ts +19 -1
- package/test/examples/flappy_bird/trainer/trainer.constants.ts +278 -33
- package/test/examples/flappy_bird/trainer/trainer.errors.ts +12 -0
- package/test/examples/flappy_bird/trainer/trainer.evaluation-plan.utils.ts +60 -0
- package/test/examples/flappy_bird/trainer/trainer.evaluation.service.ts +12 -0
- package/test/examples/flappy_bird/trainer/trainer.fitness.service.ts +20 -0
- package/test/examples/flappy_bird/trainer/trainer.loop.service.ts +20 -1
- package/test/examples/flappy_bird/trainer/trainer.report.service.services.ts +10 -1
- package/test/examples/flappy_bird/trainer/trainer.report.service.ts +9 -2
- package/test/examples/flappy_bird/trainer/trainer.reporting.utils.ts +11 -0
- package/test/examples/flappy_bird/trainer/trainer.selection.utils.ts +11 -0
- package/test/examples/flappy_bird/trainer/trainer.setup.service.ts +10 -1
- package/test/examples/flappy_bird/trainer/trainer.signals.service.ts +10 -1
- package/test/examples/flappy_bird/trainer/trainer.ts +65 -12
- package/test/examples/flappy_bird/trainer/trainer.types.ts +42 -7
- package/test/methods/activation.test.ts +1 -1
- package/test/methods/connection.test.ts +1 -1
- package/test/methods/cost.test.ts +1 -1
- package/test/methods/crossover.test.ts +1 -1
- package/test/methods/gating.test.ts +1 -1
- package/test/methods/mutation.test.ts +2 -2
- package/test/methods/rate.cosineWarmRestarts.test.ts +1 -1
- package/test/methods/rate.linearWarmupDecay.test.ts +1 -1
- package/test/methods/rate.reduceOnPlateau.test.ts +1 -1
- package/test/methods/rate.test.ts +1 -1
- package/test/methods/selection.test.ts +1 -1
- package/test/neat/neat.adaptive.ancestorUniq.cooldown.test.ts +3 -3
- package/test/neat/neat.adaptive.ancestorUniq.epsilon.test.ts +7 -7
- package/test/neat/neat.adaptive.ancestorUniq.lineagePressure.test.ts +7 -7
- package/test/neat/neat.adaptive.complexityBudget.connShrink.test.ts +2 -2
- package/test/neat/neat.adaptive.complexityBudget.growth.novelty.test.ts +2 -2
- package/test/neat/neat.adaptive.complexityBudget.minClamp.test.ts +2 -2
- package/test/neat/neat.adaptive.complexityBudget.test.ts +1 -1
- package/test/neat/neat.adaptive.complexityBudget.trend.test.ts +2 -2
- package/test/neat/neat.adaptive.minimalCriterion.rejection.test.ts +2 -2
- package/test/neat/neat.adaptive.mutation.amount.adapt.test.ts +3 -3
- package/test/neat/neat.adaptive.mutation.anneal.strategy.test.ts +3 -3
- package/test/neat/neat.adaptive.mutation.exploreLow.strategy.test.ts +3 -3
- package/test/neat/neat.adaptive.mutation.twotier.balance.test.ts +3 -3
- package/test/neat/neat.adaptive.mutation.twotier.fallback.single.test.ts +3 -3
- package/test/neat/neat.adaptive.operator.adaptation.decay.balance.test.ts +3 -3
- package/test/neat/neat.adaptive.operator.bandit.decay.test.ts +3 -3
- package/test/neat/neat.adaptive.phasedComplexity.toggle.test.ts +2 -2
- package/test/neat/neat.additional.coverage.test.ts +1 -1
- package/test/neat/neat.export.meta.fromjson.test.ts +1 -1
- package/test/neat/neat.export.state.rehydrate.test.ts +4 -3
- package/test/neat/neat.helpers.spawn.pool.test.ts +1 -1
- package/test/neat/neat.lineage.entropy.test.ts +1 -1
- package/test/neat/neat.lineage.inbreeding.test.ts +1 -1
- package/test/neat/neat.mutation.addconn.cycle.guard.test.ts +1 -1
- package/test/neat/neat.mutation.undefined.pool.test.ts +1 -1
- package/test/neat/neat.operator.phases.test.ts +1 -1
- package/test/neat/neat.spawn.add.test.ts +1 -1
- package/test/neat/neat.speciation.age.penalty.test.ts +2 -2
- package/test/neat/neat.speciation.assign.existing.test.ts +2 -2
- package/test/neat/neat.speciation.auto.tuning.jitter.test.ts +2 -2
- package/test/neat/neat.speciation.create.newSpecies.test.ts +2 -2
- package/test/neat/neat.speciation.fitnessSharing.equal.test.ts +5 -2
- package/test/neat/neat.speciation.fitnessSharing.kernel.test.ts +5 -2
- package/test/neat/neat.speciation.pid.threshold.clip.max.test.ts +2 -2
- package/test/neat/neat.speciation.pid.threshold.clip.min.test.ts +2 -2
- package/test/neat/neat.speciation.stagnation.prune.test.ts +5 -2
- package/test/neat/neat.species.history.fallbacks.test.ts +2 -2
- package/test/neat/neat.telemetry.advanced.test.ts +1 -1
- package/test/neat/neat.telemetry.fastmode.diversity.test.ts +5 -2
- package/test/neat/neat.telemetry.objective.events.test.ts +2 -2
- package/test/neat/neat.telemetry.select.entropy.cache.test.ts +1 -1
- package/test/network/network.deterministic.test.ts +0 -2
- package/test/network/network.evolve.multithread.branches.test.ts +0 -2
- package/test/network/network.gating.removal.test.ts +1 -1
- package/test/network/network.mutate.additional.test.ts +1 -1
- package/test/network/network.mutate.edgecases.test.ts +1 -1
- package/test/network/network.mutate.test.ts +1 -1
- package/test/network/structure.serialization.test.ts +60 -98
- package/test/utils/test-helpers.ts +1 -1
- package/.github/skills/solid-split-playbook/SKILL.md +0 -220
- package/plans/Flappy_Evolution_Worker_Documentation_Pass.md +0 -58
- package/plans/asciiMaze_SOLID_split.done.md +0 -130
- package/plans/flappy_bird_SOLID_split.done.md +0 -67
- package/src/methods/connection.ts +0 -31
- package/src/methods/gating.ts +0 -43
- package/src/neat/neat.adaptive.utils.ts +0 -7
- package/src/neat/neat.cache.ts +0 -1
- package/src/neat/neat.cache.utils.ts +0 -12
- package/src/neat/neat.compat.ts +0 -103
- package/src/neat/neat.diversity.utils.ts +0 -359
- package/src/neat/neat.evaluate.auto-distance.utils.ts +0 -210
- package/src/neat/neat.evaluate.constants.utils.ts +0 -42
- package/src/neat/neat.evaluate.entropy-compat.utils.ts +0 -67
- package/src/neat/neat.evaluate.entropy-sharing.utils.ts +0 -78
- package/src/neat/neat.evaluate.fitness.utils.ts +0 -48
- package/src/neat/neat.evaluate.novelty.utils.ts +0 -225
- package/src/neat/neat.evaluate.objectives.utils.ts +0 -50
- package/src/neat/neat.evaluate.speciation.utils.ts +0 -35
- package/src/neat/neat.evaluate.ts +0 -90
- package/src/neat/neat.evaluate.utils.ts +0 -9
- package/src/neat/neat.evolve.adaptive.utils.ts +0 -224
- package/src/neat/neat.evolve.offspring.constants.ts +0 -8
- package/src/neat/neat.evolve.offspring.utils.ts +0 -107
- package/src/neat/neat.evolve.runtime.utils.ts +0 -128
- package/src/neat/neat.evolve.speciation.utils.ts +0 -251
- package/src/neat/neat.evolve.telemetry.utils.ts +0 -39
- package/src/neat/neat.evolve.utils.ts +0 -10
- package/src/neat/neat.evolve.warnings.utils.ts +0 -14
- package/src/neat/neat.harness.types.ts +0 -35
- package/src/neat/neat.helpers.ts +0 -316
- package/src/neat/neat.lineage.utils.ts +0 -387
- package/src/neat/neat.multiobjective.archive.utils.ts +0 -59
- package/src/neat/neat.multiobjective.metrics.utils.ts +0 -65
- package/src/neat/neat.multiobjective.ts +0 -93
- package/src/neat/neat.multiobjective.utils.ts +0 -10
- package/src/neat/neat.multiobjective.utils.types.ts +0 -112
- package/src/neat/neat.mutation.ts +0 -335
- package/src/neat/neat.mutation.utils.ts +0 -6
- package/src/neat/neat.novelty.utils.ts +0 -17
- package/src/neat/neat.objectives.ts +0 -133
- package/src/neat/neat.objectives.utils.ts +0 -195
- package/src/neat/neat.pruning.ts +0 -129
- package/src/neat/neat.pruning.utils.ts +0 -375
- package/src/neat/neat.rng.constants.ts +0 -18
- package/src/neat/neat.rng.ts +0 -2
- package/src/neat/neat.rng.utils.ts +0 -158
- package/src/neat/neat.selection.ts +0 -142
- package/src/neat/neat.selection.utils.ts +0 -470
- package/src/neat/neat.speciation.ts +0 -136
- package/src/neat/neat.speciation.utils.ts +0 -926
- package/src/neat/neat.species.history.utils.ts +0 -13
- package/src/neat/neat.species.ts +0 -114
- package/src/neat/neat.species.utils.ts +0 -156
- package/src/neat/neat.telemetry.accessors.utils.ts +0 -71
- package/src/neat/neat.telemetry.buffer.utils.ts +0 -58
- package/src/neat/neat.telemetry.exports.ts +0 -452
- package/src/neat/neat.telemetry.types.ts +0 -51
- package/src/neat/neat.telemetry.utils.ts +0 -12
- package/src/neat/neat.topology-intent.utils.ts +0 -160
- package/srcLint.md +0 -185
- package/test/benchmarks/asciiMaze.micro.bench.ts +0 -0
- /package/.github/skills/{solid-split-playbook → solid-split}/assets/split-plan-template.md +0 -0
|
@@ -9,11 +9,29 @@ You are a read-only refactor planning specialist for NeatapticTS.
|
|
|
9
9
|
|
|
10
10
|
Your job is to map folder responsibilities, identify orchestration files versus helper/detail files, and propose small safe edit boundaries before implementation begins.
|
|
11
11
|
|
|
12
|
+
You MUST treat the companion skill `solid-split` as the canonical workflow and
|
|
13
|
+
knowledge base for split/refactor execution in this repo. When documentation
|
|
14
|
+
quality or generated README drift becomes part of the boundary story, treat
|
|
15
|
+
`educational-docs` as the canonical documentation policy. This agent is
|
|
16
|
+
intentionally thin: you gather structural evidence, identify safe seams, and
|
|
17
|
+
prepare a compact handoff for the implementation workflow. You do not redefine
|
|
18
|
+
the repo's refactor or docs standards yourself.
|
|
19
|
+
|
|
20
|
+
If your boundary map implies a tracker update, assume `tracker-handoff` owns
|
|
21
|
+
the `.plans.md` or `.logs.md` shape.
|
|
22
|
+
|
|
12
23
|
## Constraints
|
|
24
|
+
- ALWAYS use the exact skill name `solid-split` when referring to the split
|
|
25
|
+
workflow or implementation follow-up.
|
|
26
|
+
- ALWAYS stay read-only.
|
|
27
|
+
- ALWAYS prefer small, evidence-backed seam proposals over speculative large
|
|
28
|
+
reorganizations.
|
|
13
29
|
- DO NOT edit files.
|
|
14
30
|
- DO NOT propose a large rewrite when a sequence of targeted edits is safer.
|
|
15
31
|
- DO NOT ignore folder README guidance or plan alignment when the task is architectural.
|
|
16
32
|
- For demo/example tasks, DO NOT map only the demo boundary when the public library API or runtime contract is the real seam that should change.
|
|
33
|
+
- DO NOT restate the full split workflow, plan discipline, or documentation
|
|
34
|
+
guardrails that belong in `solid-split` or `educational-docs`.
|
|
17
35
|
|
|
18
36
|
## Approach
|
|
19
37
|
1. Read the nearest folder `README.md` and parent README when needed.
|
|
@@ -21,6 +39,9 @@ Your job is to map folder responsibilities, identify orchestration files versus
|
|
|
21
39
|
3. Identify whether the triggering issue is truly demo-local or whether the demo is surfacing a reusable library DX gap.
|
|
22
40
|
4. Identify the public API surface, orchestration file, helper clusters, tests, and likely affected neighbors.
|
|
23
41
|
5. Return a stepwise decomposition that favors small, documented, low-risk passes.
|
|
42
|
+
6. Frame the result as a compact handoff into `solid-split`, and mention
|
|
43
|
+
`educational-docs` only when the mapped boundary clearly implies a follow-up
|
|
44
|
+
documentation pass.
|
|
24
45
|
|
|
25
46
|
## Output Format
|
|
26
47
|
Return:
|
|
@@ -29,3 +50,5 @@ Return:
|
|
|
29
50
|
- `Likely affected tests/docs:` short bullet list.
|
|
30
51
|
- `Suggested edit sequence:` 3 to 6 numbered steps.
|
|
31
52
|
- `Risk notes:` 0 to 4 short bullets.
|
|
53
|
+
- `solid-split handoff:` one short paragraph describing the safest focused next
|
|
54
|
+
implementation step.
|
|
@@ -9,21 +9,47 @@ You are a read-only documentation reconnaissance specialist for NeatapticTS.
|
|
|
9
9
|
|
|
10
10
|
Your job is to use generated folder `README.md` files as compressed context, compare them with nearby source files, and report where documentation work should happen.
|
|
11
11
|
|
|
12
|
+
You MUST treat the companion skill `educational-docs` as the canonical
|
|
13
|
+
documentation workflow and knowledge base. This agent is intentionally thin:
|
|
14
|
+
you gather evidence, identify likely doc gaps, and prepare a compact handoff
|
|
15
|
+
for that skill or for the user. You do not redefine the repo's documentation
|
|
16
|
+
standards yourself.
|
|
17
|
+
|
|
18
|
+
If your recommendation includes updating a tracker file, assume
|
|
19
|
+
`tracker-handoff` owns the tracker format and continuation prompt shape.
|
|
20
|
+
|
|
12
21
|
## Constraints
|
|
22
|
+
- ALWAYS use the exact skill name `educational-docs` when referring to the
|
|
23
|
+
companion skill.
|
|
24
|
+
- ALWAYS recommend `solid-split` explicitly when the real problem is that the
|
|
25
|
+
README boundary is too large or monolithic for a healthy docs-only pass.
|
|
26
|
+
- ALWAYS stay read-only.
|
|
27
|
+
- ALWAYS prefer evidence-backed findings over speculative rewrite advice.
|
|
13
28
|
- DO NOT edit generated `src/**/README.md` files.
|
|
14
29
|
- DO NOT suggest hand-editing generated READMEs.
|
|
15
30
|
- DO NOT rewrite code behavior; focus on documentation drift, missing explanation, and likely source JSDoc targets.
|
|
31
|
+
- DO NOT restate the full documentation workflow, tone model, or guardrails
|
|
32
|
+
that belong in `educational-docs`.
|
|
16
33
|
|
|
17
34
|
## Approach
|
|
18
35
|
1. Read the nearest folder `README.md` first, then the nearest useful parent README if the task spans sibling modules.
|
|
19
36
|
2. Read only the source files needed to verify the README summary against implementation.
|
|
20
37
|
3. Distinguish between three cases: README is sufficient, JSDoc should be improved, or docs likely just need regeneration with `npm run docs`.
|
|
21
|
-
4.
|
|
38
|
+
4. If the README is structurally too broad, call that out as a `solid-split`
|
|
39
|
+
escalation target instead of pretending a longer doc pass will solve it.
|
|
40
|
+
5. Call out examples, invariants, or exported symbols that seem under-documented.
|
|
41
|
+
6. Frame your result as a compact handoff into `educational-docs` rather than a
|
|
42
|
+
standalone rewrite plan.
|
|
22
43
|
|
|
23
44
|
## Output Format
|
|
24
45
|
Return:
|
|
25
46
|
- `Folder README used:` path list.
|
|
26
47
|
- `Assessment:` one short paragraph.
|
|
48
|
+
- `Boundary pressure:` `healthy` or `needs solid-split`, with a one-line reason.
|
|
27
49
|
- `JSDoc targets:` short bullet list of source files or exported symbols.
|
|
28
50
|
- `Docs refresh needed:` `yes` or `no`, with a one-line reason.
|
|
29
51
|
- `User-facing gaps:` 0 to 4 short bullets.
|
|
52
|
+
- `educational-docs handoff:` one short paragraph describing the most useful
|
|
53
|
+
focused follow-up pass when the boundary is healthy enough for docs work.
|
|
54
|
+
- `solid-split escalation:` one short paragraph only when the README is too
|
|
55
|
+
large or monolithic for a docs-only pass.
|
|
@@ -9,11 +9,25 @@ You are a read-only plan alignment specialist for NeatapticTS.
|
|
|
9
9
|
|
|
10
10
|
Your job is to identify the smallest useful subset of `plans/` documents for a task and return a compact alignment brief.
|
|
11
11
|
|
|
12
|
+
You MUST treat the companion skill `plan-alignment` as the canonical roadmap
|
|
13
|
+
alignment workflow and knowledge base. This agent is intentionally thin: you
|
|
14
|
+
gather plan evidence, identify the smallest useful plan subset, and prepare a
|
|
15
|
+
compact handoff for that skill or for the user. You do not redefine the repo's
|
|
16
|
+
plan-selection rules yourself.
|
|
17
|
+
|
|
18
|
+
If your findings imply that a `.plans.md` or `.logs.md` file should be updated,
|
|
19
|
+
assume `tracker-handoff` owns the tracker shape rather than defining one here.
|
|
20
|
+
|
|
12
21
|
## Constraints
|
|
22
|
+
- ALWAYS use the exact skill name `plan-alignment` when referring to the
|
|
23
|
+
companion skill.
|
|
24
|
+
- ALWAYS stay read-only.
|
|
13
25
|
- DO NOT edit files.
|
|
14
26
|
- DO NOT read the whole `plans/` directory unless the task explicitly requires broad roadmap synthesis.
|
|
15
27
|
- DO NOT recommend a plan file without explaining why it matches the task.
|
|
16
28
|
- For demo or example work, DO NOT default to demo-local compensation when the symptom points to a library/API/defaults gap; call out the higher-leverage library fix explicitly.
|
|
29
|
+
- DO NOT restate the full plan-selection workflow or roadmap guardrails that
|
|
30
|
+
belong in `plan-alignment`.
|
|
17
31
|
|
|
18
32
|
## Approach
|
|
19
33
|
1. Read `plans/README.md` first.
|
|
@@ -21,6 +35,8 @@ Your job is to identify the smallest useful subset of `plans/` documents for a t
|
|
|
21
35
|
3. Otherwise read only the single most relevant detailed plan, with at most one additional related plan when necessary.
|
|
22
36
|
4. For demo-driven tasks, determine whether the demo is exposing a reusable library ergonomics gap and prefer plan alignment that fixes the library rather than the demo symptom.
|
|
23
37
|
5. Extract terminology, constraints, sequencing hints, and any likely code/plan mismatch risks.
|
|
38
|
+
6. Frame the result as a compact handoff into `plan-alignment` rather than a
|
|
39
|
+
standalone roadmap policy document.
|
|
24
40
|
|
|
25
41
|
## Output Format
|
|
26
42
|
Return:
|
|
@@ -29,3 +45,5 @@ Return:
|
|
|
29
45
|
- `Key terms:` short comma-separated list.
|
|
30
46
|
- `Guardrails:` 2 to 4 short bullets.
|
|
31
47
|
- `Possible mismatch risks:` 0 to 3 short bullets.
|
|
48
|
+
- `plan-alignment handoff:` one short paragraph describing the safest aligned
|
|
49
|
+
next implementation step.
|
|
@@ -10,41 +10,56 @@ You are a plan-first SOLID refactor execution agent for NeatapticTS.
|
|
|
10
10
|
|
|
11
11
|
Your job is to complete one durable split step at a time, keep the codebase aligned with a resumable plan document, and end every completed step with a handoff prompt that is ready to start the next step in a new session.
|
|
12
12
|
|
|
13
|
-
You
|
|
13
|
+
You MUST load and follow the companion skill `solid-split` when it is available. Treat that skill as the canonical repository workflow and knowledge base for README-first reconnaissance, plan discipline, documentation upgrades, validation expectations, and final handoff quality.
|
|
14
|
+
|
|
15
|
+
When the session updates a plan or log tracker, treat `tracker-handoff` as the
|
|
16
|
+
canonical policy for `[PLANNED]`, `[WIP]`, `[DONE]`, compression, and
|
|
17
|
+
`Handoff query` structure.
|
|
18
|
+
|
|
19
|
+
This agent is intentionally thin. The skill owns the durable repository knowledge. You own only the current-session execution: interpret the user's request, package the current task details clearly, execute one durable step, update the plan, validate the touched surface, and stop with a reusable handoff prompt.
|
|
14
20
|
|
|
15
21
|
## Constraints
|
|
22
|
+
- ALWAYS begin by turning the user's request into a compact task packet for the `solid-split` skill.
|
|
23
|
+
- The task packet should preserve the user-provided specifics instead of paraphrasing them away.
|
|
24
|
+
- ALWAYS use the exact skill name `solid-split` when referring to the companion skill.
|
|
25
|
+
- ALWAYS invoke `educational-docs` after a completed split step as the next
|
|
26
|
+
step on the touched surface unless the user explicitly opts out.
|
|
27
|
+
- ALWAYS treat the current split step as incomplete until that
|
|
28
|
+
`educational-docs` follow-up has run or the user has explicitly deferred it.
|
|
16
29
|
- ALWAYS locate and follow the most relevant existing plan in `plans/` before editing.
|
|
17
30
|
- If no suitable durable plan exists, create one in `plans/` before making implementation edits.
|
|
18
|
-
- ALWAYS keep the plan high-level and resumable, using
|
|
31
|
+
- ALWAYS keep the plan high-level and resumable, using `tracker-handoff`
|
|
32
|
+
status markers `[PLANNED]`, `[WIP]`, and `[DONE]`.
|
|
19
33
|
- ALWAYS keep a todo list with exactly one active implementation item for the current step.
|
|
20
34
|
- ONLY complete one durable plan step per invocation unless the user explicitly overrides that rule.
|
|
21
35
|
- DO NOT move on to the next plan step in the same session after finishing the current one.
|
|
22
36
|
- DO NOT leave the plan file stale after completing or materially reshaping a step.
|
|
23
|
-
- DO NOT
|
|
24
|
-
- DO
|
|
25
|
-
- DO NOT break stable import paths when a compatibility facade or re-export shim is required.
|
|
26
|
-
- Prefer folder-first module boundaries and orchestration-first main files.
|
|
37
|
+
- DO NOT invent custom tracker formatting when `tracker-handoff` applies.
|
|
38
|
+
- DO NOT duplicate long-form repo workflow rules in your own reasoning when the skill already defines them.
|
|
27
39
|
|
|
28
40
|
## Required Workflow
|
|
29
|
-
1.
|
|
30
|
-
2.
|
|
41
|
+
1. Build a task packet from the current request before deep work. Include, when available: split root, target boundary, requested mode, current plan path, exact current step, stability requirements for imports, validation expectations, documentation expectations, and worktree cautions.
|
|
42
|
+
2. Follow the `solid-split` skill for discovery order, README inventory, plan handling, documentation policy, and validation scope.
|
|
31
43
|
3. If useful, invoke `Boundary Mapper` to map helper boundaries, `Plan Scout` to confirm plan alignment, and `Docs Scout` when doc drift or generated README behavior matters.
|
|
32
|
-
4. Find the current plan step to execute
|
|
33
|
-
5. Convert the
|
|
44
|
+
4. Find the current durable plan step to execute, or create the missing durable plan if none exists.
|
|
45
|
+
5. Convert the chosen step into a tight todo list with one active item.
|
|
34
46
|
6. Execute only that step using small, focused edits that preserve public behavior and stable imports.
|
|
35
|
-
7.
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
47
|
+
7. Update the plan immediately after the step is complete or if the durable step ordering changes.
|
|
48
|
+
- Use `tracker-handoff` for plan compression, status markers, and the stored
|
|
49
|
+
`Handoff query` section.
|
|
50
|
+
8. Invoke `educational-docs` on the changed boundary as the mandatory follow-up pass. Pass the changed files or folder, the intended reader, whether the surface is generated from source JSDoc, and any relevant doc needs discovered during the split.
|
|
51
|
+
9. Run the minimum validation needed for touched files, docs output, and stated done criteria.
|
|
52
|
+
10. Stop after reporting the completed step. Do not continue into the next durable split step automatically.
|
|
53
|
+
|
|
54
|
+
Treat Step 8 as part of finishing the current durable split step, not as a
|
|
55
|
+
separate optional workstream.
|
|
39
56
|
|
|
40
57
|
## Split Execution Rules
|
|
41
|
-
- Keep the
|
|
42
|
-
- Move one helper category at a time behind focused files or subfolders.
|
|
43
|
-
- Reduce the old top-level file to a compatibility re-export when stable imports must keep working.
|
|
44
|
-
- Improve JSDoc on exported or public surfaces touched by the split.
|
|
45
|
-
- When a concept is important to understanding the boundary, prefer richer educational JSDoc that explains the why and, when useful, points readers toward a high-value background reference such as a relevant Wikipedia topic.
|
|
46
|
-
- Prefer declarative top-level flow and keep implementation detail below the fold in helpers or services.
|
|
58
|
+
- Keep your execution decisions consistent with the `solid-split` skill's split philosophy and guardrails.
|
|
47
59
|
- Preserve existing style, naming conventions, and ES2023-first patterns.
|
|
60
|
+
- Keep the public API stable unless the user explicitly approves a breaking change.
|
|
61
|
+
- Treat the `educational-docs` follow-up as part of finishing the current split
|
|
62
|
+
step, not as a separate optional workstream.
|
|
48
63
|
|
|
49
64
|
## If Blocked
|
|
50
65
|
- If the current step cannot be completed safely, stop without advancing the plan step to `[DONE]`.
|
|
@@ -56,6 +71,7 @@ Return:
|
|
|
56
71
|
- `Plan file:` path and whether it was followed, created, or updated.
|
|
57
72
|
- `Completed step:` exact plan step label, or `blocked`.
|
|
58
73
|
- `Changes made:` short bullet list.
|
|
74
|
+
- `Documentation follow-up:` `completed` or `deferred by user`.
|
|
59
75
|
- `Validation:` short bullet list with pass, fail, or not run.
|
|
60
76
|
- `Plan update:` one short sentence describing the durable plan change.
|
|
61
77
|
- `Handoff prompt:` a paste-ready prompt that explicitly tells the next session to continue with the next numbered plan step, rendered inside a fenced code block so it appears in a text-copy box.
|
|
@@ -8,13 +8,77 @@ Educational docs preference (JSDoc)
|
|
|
8
8
|
----------------------------------
|
|
9
9
|
This is a public-facing, educational library. JSDoc comments are compiled into user-facing documentation (for example the aggregated READMEs under `src/**/README.md` generated by the docs workflow).
|
|
10
10
|
|
|
11
|
+
Long-task logging and communication
|
|
12
|
+
-----------------------------------
|
|
13
|
+
For long-running or multi-pass work, keep user-facing chat minimal and prefer durable progress tracking in markdown files.
|
|
14
|
+
|
|
15
|
+
Follow these rules:
|
|
16
|
+
|
|
17
|
+
- Use the compressed logging convention already established in this repo for long tasks: prefer short pass-style entries that record what changed, what remains, and the next concrete target without replaying full transcript detail.
|
|
18
|
+
- Keep chat communication to brief confirmations and step transitions only. Prefer one or two short sentences when moving to the next step unless the user explicitly asks for more detail.
|
|
19
|
+
- Prefer communicating ongoing work through markdown tracker files instead of chat when the task spans multiple steps.
|
|
20
|
+
- Use `.plans.md` files for work in progress, pending decisions, next steps, and handoff context.
|
|
21
|
+
- Use `.logs.md` files for completed work, concise pass history, and done-state records.
|
|
22
|
+
- When creating or reshaping tracker files, use `tracker-handoff` as the canonical workflow for `[PLANNED]`, `[WIP]`, `[DONE]`, compression, and `Handoff query` structure.
|
|
23
|
+
- When both chat and tracker files are available, treat the tracker files as the primary source of detailed continuity and keep chat as a thin status layer.
|
|
24
|
+
|
|
25
|
+
Skill and companion-agent ownership model
|
|
26
|
+
-----------------------------------------
|
|
27
|
+
This repo now uses a skill-first customization model for durable workflow and
|
|
28
|
+
policy.
|
|
29
|
+
|
|
30
|
+
Use this boundary intentionally:
|
|
31
|
+
|
|
32
|
+
- Skills own durable knowledge: workflow, standards, guardrails, tone models,
|
|
33
|
+
source-mapping rules, validation expectations, and handoff contracts.
|
|
34
|
+
- Companion agents stay thin and task-shaped. They gather evidence, map
|
|
35
|
+
boundaries, scout drift, or execute one narrow workflow step while deferring
|
|
36
|
+
durable policy to the relevant skill.
|
|
37
|
+
- When a skill and a companion agent overlap, update the agent to follow the
|
|
38
|
+
skill rather than copying the overlap forward.
|
|
39
|
+
- Prefer passing compact task packets and reconnaissance handoffs into skills
|
|
40
|
+
over re-stating full workflow rules in each agent.
|
|
41
|
+
|
|
42
|
+
Current intended ownership split:
|
|
43
|
+
|
|
44
|
+
- `solid-split`: canonical split/refactor workflow and step sequencing.
|
|
45
|
+
- `educational-docs`: canonical documentation quality workflow and generated
|
|
46
|
+
README/JSDoc policy.
|
|
47
|
+
- `test-fix-workflow`: canonical workflow for systematically repairing multiple
|
|
48
|
+
test failures.
|
|
49
|
+
- `plan-alignment`: canonical workflow for selecting and applying roadmap/plan
|
|
50
|
+
context.
|
|
51
|
+
- `tracker-handoff`: canonical workflow for `.plans.md` and `.logs.md`
|
|
52
|
+
structure, `[PLANNED]/[WIP]/[DONE]` status markers, compression, and
|
|
53
|
+
`Handoff query` continuity.
|
|
54
|
+
- `Boundary Mapper`: read-only seam mapping and structural handoff into
|
|
55
|
+
`solid-split`.
|
|
56
|
+
- `Docs Scout`: read-only documentation reconnaissance and handoff into
|
|
57
|
+
`educational-docs`.
|
|
58
|
+
- `Plan Scout`: read-only roadmap reconnaissance and handoff into
|
|
59
|
+
`plan-alignment`.
|
|
60
|
+
|
|
61
|
+
Use `educational-docs` by default when the task is primarily about documentation quality, generated README tone, source-mapped JSDoc improvement, Mermaid diagrams, citations, or Wikimedia-safe visuals.
|
|
62
|
+
|
|
63
|
+
Use `tracker-handoff` by default when the task includes creating, compressing,
|
|
64
|
+
or updating `.plans.md` or `.logs.md` files, especially when the tracker needs
|
|
65
|
+
safe session continuation via a `Handoff query` section.
|
|
66
|
+
|
|
67
|
+
For split or refactor work with meaningful documentation scope, let `solid-split` own the boundary work and `educational-docs` own documentation quality.
|
|
68
|
+
|
|
11
69
|
When you touch code under `src/` or `test/`, prefer improving JSDoc so the generated docs are:
|
|
12
70
|
- **Interesting and explanatory**, not just type signatures.
|
|
13
71
|
- **Example-driven**: include small examples in the main description (prefer fenced code blocks like ```ts) so the docs generator preserves them.
|
|
14
72
|
- **Conceptual**: include a brief “what/why” explanation and any important semantics (defaults, invariants, error cases, performance notes).
|
|
15
73
|
|
|
74
|
+
When a diagram would teach faster than prose, prefer Mermaid Markdown in the documentation surface. Use diagrams for architecture overviews, data flows, decision flows, state transitions, entity relationships, and simple quantitative views when they materially improve comprehension.
|
|
75
|
+
|
|
76
|
+
When styling those documentation visuals, match Astro Bird's neon-retro-arcade direction: dark backgrounds, blue and cyan structural lines, high-contrast readable labels, and restrained warm neon accents or glow only for the primary highlight. Prefer consistency and contrast over decorative intensity.
|
|
77
|
+
|
|
16
78
|
Keep examples short, dependency-light, and consistent with the current public API (avoid imaginary helpers or absolute file paths).
|
|
17
79
|
|
|
80
|
+
Keep this file focused on repo-level policy and invocation rules. The richer tone model, source mapping workflow, visual style guide, Mermaid diagram playbook, citation guidance, and Wikimedia Commons media rules belong in `educational-docs`.
|
|
81
|
+
|
|
18
82
|
Generated README handling
|
|
19
83
|
------------------------
|
|
20
84
|
Folder `README.md` files inside `src/` are generated artifacts and should be treated as read-only during normal editing.
|
|
@@ -25,7 +89,7 @@ When a generated `src/**/README.md` appears outdated relative to the code or JSD
|
|
|
25
89
|
|
|
26
90
|
- do not hand-edit the generated README,
|
|
27
91
|
- run `npm run docs` to refresh generated documentation when needed,
|
|
28
|
-
- consider
|
|
92
|
+
- consider `educational-docs` pre-approved to run `npm run docs` after doc-affecting edits so README files stay synchronized and drift does not confuse later work.
|
|
29
93
|
|
|
30
94
|
Folder README reconnaissance (read this before deep code search)
|
|
31
95
|
---------------------------------------------------------------
|
|
@@ -39,42 +103,23 @@ Before exploring or editing a folder in `src/` or `test/`, agents should:
|
|
|
39
103
|
- Example: pair `src/architecture/network/genetic/README.md` with `src/architecture/network/README.md`.
|
|
40
104
|
3. Only then read individual source files.
|
|
41
105
|
|
|
42
|
-
Use
|
|
43
|
-
|
|
44
|
-
- What is this folder responsible for?
|
|
45
|
-
- Which files are likely orchestration files vs helper/detail files?
|
|
46
|
-
- What public APIs, invariants, or examples are already documented here?
|
|
47
|
-
- Which neighboring modules or tests are probably affected by a change?
|
|
48
|
-
- Whether a code change should also improve JSDoc because the generated README is user-facing.
|
|
49
|
-
|
|
50
|
-
This README-first pass is especially useful for:
|
|
51
|
-
|
|
52
|
-
- fast codebase orientation in unfamiliar folders,
|
|
53
|
-
- choosing the right edit target before opening many files,
|
|
54
|
-
- planning refactors without breaking folder responsibilities,
|
|
55
|
-
- spotting doc/code drift early,
|
|
56
|
-
- finding likely examples and tests for a feature,
|
|
57
|
-
- producing concise explanations for the user after changes.
|
|
106
|
+
Use that README-first pass to identify responsibility, likely orchestration files, documented invariants, neighboring modules, and whether the touched source should also receive JSDoc improvement.
|
|
58
107
|
|
|
59
108
|
If the folder README appears stale, incomplete, or in tension with the code, treat that as a signal to improve the underlying JSDoc in the touched source files when it is safe to do so.
|
|
60
109
|
|
|
110
|
+
If the goal is to make that README materially more educational rather than merely less stale, invoke `educational-docs`.
|
|
111
|
+
|
|
61
112
|
Plan-aware execution (align changes without overloading context)
|
|
62
113
|
---------------------------------------------------------------
|
|
63
|
-
This repository has an active `plans/` directory with roadmap and design intent.
|
|
64
|
-
|
|
65
|
-
Use this lightweight plan workflow:
|
|
114
|
+
This repository has an active `plans/` directory with roadmap and design intent.
|
|
66
115
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
4. Do not bulk-read the whole `plans/` directory by default.
|
|
116
|
+
When a task touches architecture, roadmap items, major refactors, export
|
|
117
|
+
formats, or new subsystems, invoke `plan-alignment` instead of re-stating the
|
|
118
|
+
plan-selection workflow in ad hoc instructions.
|
|
71
119
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
- mention any visible mismatch between the codebase and the plan,
|
|
76
|
-
- prefer incremental steps that move the code toward the documented direction,
|
|
77
|
-
- avoid introducing APIs or architecture that conflict with a stated plan without explicitly flagging the conflict.
|
|
120
|
+
Keep this file as the invocation layer. The detailed plan-selection sequence,
|
|
121
|
+
terminology preservation rules, bounded reading workflow, and mismatch handling
|
|
122
|
+
belong in that skill.
|
|
78
123
|
|
|
79
124
|
Demo-first library gap policy (critical)
|
|
80
125
|
---------------------------------------
|
|
@@ -95,43 +140,13 @@ Critical expectation for feed-forward examples:
|
|
|
95
140
|
For substantial work, agent prompts and final summaries should briefly note which README and which plan document informed the change.
|
|
96
141
|
After substantial edits, keep summaries short and high level by default, and only expand into detailed walkthroughs when the user asks.
|
|
97
142
|
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
When asked to fix multiple test failures
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
- Prioritize: HIGH (compilation blockers) → MEDIUM (easy fixes) → LOW (investigation needed)
|
|
106
|
-
- Mark completed items with ✅ as you progress
|
|
107
|
-
|
|
108
|
-
2. **DO NOT run tests or check test output during the fix phase**
|
|
109
|
-
- Avoid running `npm test`, `npm run test:silent`, or any test execution commands
|
|
110
|
-
- Do NOT run partial test checks like `Select-String -Pattern "●"` to see failures
|
|
111
|
-
- Do NOT attempt to run individual tests to "verify" fixes
|
|
112
|
-
- TypeScript compilation checks (`npx tsc --noEmit`) are acceptable to validate type fixes
|
|
113
|
-
- **REMEMBER**: You already have the test failure output - use it to guide your fixes
|
|
114
|
-
|
|
115
|
-
3. **ONLY run full test suite AFTER all fixes are applied**
|
|
116
|
-
- Apply ALL planned fixes first (optimistically)
|
|
117
|
-
- Use `npm test` or `npm run test:silent` for final validation ONLY
|
|
118
|
-
- Analyze remaining failures and update the plan accordingly
|
|
119
|
-
- If you feel tempted to run a test, STOP and apply more fixes instead
|
|
120
|
-
|
|
121
|
-
4. **Follow the plan strictly**
|
|
122
|
-
- Do not improvise or skip ahead
|
|
123
|
-
- Execute fixes in the documented priority order
|
|
124
|
-
- Update the plan with ✅ checkmarks and status notes as you complete each item
|
|
125
|
-
- Mark ALL items completed before running tests
|
|
126
|
-
|
|
127
|
-
**Why this matters:**
|
|
128
|
-
- Running tests interrupts the systematic fix workflow
|
|
129
|
-
- Test output during fixes causes distraction and context switching
|
|
130
|
-
- You already have all the error information needed to fix issues
|
|
131
|
-
- Optimistic fixing is faster than iterative test-fix-test cycles
|
|
132
|
-
- This strategy ensures thorough, complete fixes before validation
|
|
133
|
-
|
|
134
|
-
This strategy prevents distraction, maintains focus, and ensures systematic completion of all fixes before validation.
|
|
143
|
+
Multi-test failure workflow
|
|
144
|
+
---------------------------
|
|
145
|
+
When asked to fix multiple test failures, invoke `test-fix-workflow` instead of
|
|
146
|
+
re-stating the repair protocol in ad hoc instructions.
|
|
147
|
+
|
|
148
|
+
Keep this file as the invocation layer. The detailed planning sequence,
|
|
149
|
+
validation cadence, and no-premature-test-run rules belong in that skill.
|
|
135
150
|
|
|
136
151
|
|
|
137
152
|
ES2023-first policy (strict)
|
|
@@ -159,9 +174,20 @@ How to use these instructions
|
|
|
159
174
|
- Always prefer to produce code that already satisfies the style guide.
|
|
160
175
|
- If you cannot fully transform a file (large refactor), return a patch with clear TODO comments, an explicit list of remaining violations, and small, safe automated fixes where possible.
|
|
161
176
|
- If you propose changes that alter public behavior, include tests and TypeScript typechecks.
|
|
177
|
+
- Prefer invoking the relevant repo skill when the task matches an established
|
|
178
|
+
workflow instead of duplicating that workflow in ad hoc instructions.
|
|
162
179
|
- Default discovery order for non-trivial tasks: relevant folder `README.md` -> parent folder `README.md` if needed -> `plans/README.md` for roadmap alignment when relevant -> the specific source files and the single most relevant detailed plan.
|
|
163
180
|
- Treat generated folder READMEs as compressed context, not as a substitute for code. Use them to reduce search noise, then verify behavior in source.
|
|
164
181
|
- Prefer multiple small, targeted, documented edits over large single-pass rewrites when both approaches can solve the task. This reduces breakage risk and makes generated-doc refreshes easier to verify.
|
|
182
|
+
- For documentation-first work, invoke `educational-docs` instead of duplicating its standards in ad hoc instructions.
|
|
183
|
+
- For split work with meaningful docs scope, let `solid-split` own sequencing and `educational-docs` own documentation quality.
|
|
184
|
+
- For multiple test-failure repair work, invoke `test-fix-workflow` instead of
|
|
185
|
+
duplicating its planning and validation sequence here.
|
|
186
|
+
- For architectural or roadmap alignment work, invoke `plan-alignment` instead
|
|
187
|
+
of duplicating its bounded plan-reading workflow here.
|
|
188
|
+
- For read-only reconnaissance before implementation, prefer companion agents
|
|
189
|
+
such as `Boundary Mapper`, `Docs Scout`, and `Plan Scout`, but keep them subordinate to the
|
|
190
|
+
relevant skill-owned workflow.
|
|
165
191
|
|
|
166
192
|
Standard architecture for project files
|
|
167
193
|
---------------------------------------
|
|
@@ -320,43 +346,24 @@ When you modify or create files under `src/` or `test/`, run (or advise running)
|
|
|
320
346
|
|
|
321
347
|
Test failure workflow
|
|
322
348
|
---------------------
|
|
323
|
-
When fixing multiple test failures
|
|
324
|
-
|
|
325
|
-
2. Apply ALL fixes systematically without running tests
|
|
326
|
-
3. Validate TypeScript compilation with `npx tsc --noEmit -p tsconfig.test.json`
|
|
327
|
-
4. ONLY run `npm test` after all planned fixes are complete
|
|
328
|
-
5. Analyze results and iterate on remaining issues
|
|
349
|
+
When fixing multiple test failures, invoke `test-fix-workflow` for the
|
|
350
|
+
detailed repair sequence.
|
|
329
351
|
|
|
330
352
|
|
|
331
353
|
Refactor format: large-file split (step-by-step, user-confirmed)
|
|
332
354
|
---------------------------------------------------------------
|
|
333
|
-
When splitting a large module into submodules,
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
- Propose a file map (main orchestration file + helper/type modules).
|
|
337
|
-
- Keep exported APIs in the main file unless explicitly requested otherwise.
|
|
338
|
-
- Define boundaries clearly (types, pool, rebuild helpers, fast-path helpers, adjacency helpers).
|
|
339
|
-
|
|
340
|
-
2. Create a TODO checklist
|
|
341
|
-
- Add ordered steps with one active item at a time.
|
|
342
|
-
- Track progress visibly (mark completed items as soon as each step finishes).
|
|
355
|
+
When splitting a large module into submodules, invoke `solid-split` and let it
|
|
356
|
+
own the detailed stepwise execution protocol, including user-confirmed
|
|
357
|
+
stepwise mode when requested.
|
|
343
358
|
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
4. Require user confirmation between steps
|
|
351
|
-
- After each completed step, stop and request confirmation before continuing.
|
|
352
|
-
- Do not proceed to the next step without explicit user approval.
|
|
353
|
-
|
|
354
|
-
5. Keep the main file as high-level orchestration
|
|
355
|
-
- Exported functions should show step-level flow (`Step 1`, `Step 2`, ...).
|
|
356
|
-
- Avoid trivial re-export wrappers or single-helper pass-through exports.
|
|
357
|
-
- Main file may retain shared constants and orchestration-level guards.
|
|
358
|
-
|
|
359
|
-
6. Validate only after all planned moves
|
|
360
|
-
- Run `npx tsc --noEmit -p tsconfig.json` after completing all migration steps.
|
|
361
|
-
- Report concise validation summary and any unresolved follow-ups.
|
|
359
|
+
Quality thresholds and investigation rules
|
|
360
|
+
------------------------------------------
|
|
361
|
+
- End every user facing response with `(Certainty: NN%)`
|
|
362
|
+
- If your certainty is below 90%, stop and investigate before proceeding
|
|
363
|
+
- If your certainty is below 95%, investigate further and ask follow-up questions until the requirements and environment are clear enough
|
|
362
364
|
|
|
365
|
+
Low context window mitigation
|
|
366
|
+
-----------------------------
|
|
367
|
+
When you need to make a change that requires more context than you have available:
|
|
368
|
+
- Update the relevant source plan document with a NEXT: item describing the change and the reason for it, so that future work in that area has more context.
|
|
369
|
+
- Provide a handoff prompt in a text-copy box with the relevant context and a clear question about how to proceed, so that a companion agent can pick it up and investigate.
|