@reicek/neataptic-ts 0.1.26 → 0.1.27

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 (123) hide show
  1. package/.github/agents/boundary-mapper.agent.md +13 -8
  2. package/.github/agents/docs-scout.agent.md +14 -9
  3. package/.github/agents/plan-scout.agent.md +11 -6
  4. package/.github/agents/solid-split.agent.md +33 -17
  5. package/.github/copilot-instructions.md +100 -88
  6. package/.github/skills/educational-docs/SKILL.md +90 -40
  7. package/.github/skills/educational-docs/assets/mermaid-diagram-playbook.md +141 -141
  8. package/.github/skills/educational-docs/assets/visual-style-guide.md +1 -1
  9. package/.github/skills/plan-alignment/SKILL.md +1 -1
  10. package/.github/skills/solid-split/SKILL.md +54 -35
  11. package/.github/skills/solid-split/assets/docs-checklist.md +1 -1
  12. package/.github/skills/solid-split/assets/split-plan-template.md +41 -12
  13. package/.github/skills/solid-split/assets/split-workflow-checklist.md +4 -1
  14. package/.github/skills/test-fix-workflow/SKILL.md +12 -7
  15. package/.github/skills/trace-analyzer-extension/SKILL.md +1 -1
  16. package/.github/skills/trace-analyzer-extension/assets/extension-checklist.md +1 -1
  17. package/.github/skills/trace-analyzer-extension/references/analyzer-extension-workflow.md +1 -1
  18. package/.github/skills/trace-audit-reporting/SKILL.md +1 -1
  19. package/.github/skills/trace-audit-reporting/assets/performance-report-template.md +1 -1
  20. package/.github/skills/trace-audit-reporting/references/trace-analysis-workflow.md +1 -1
  21. package/.github/skills/tracker-handoff/SKILL.md +53 -5
  22. package/package.json +1 -1
  23. package/plans/Flappy_Bird_Folder_Documentation_Pass.logs.md +42 -0
  24. package/plans/Flappy_Bird_Folder_Documentation_Pass.md +22 -104
  25. package/plans/README.md +6 -2
  26. package/plans/Roadmap.md +35 -31
  27. package/plans/analyze-trace-solid-split.logs.md +35 -0
  28. package/plans/analyze-trace-solid-split.plans.md +21 -52
  29. package/plans/architecture-solid-split.logs.md +44 -0
  30. package/plans/architecture-solid-split.plans.md +20 -653
  31. package/plans/asciiMaze-typescript-repair.logs.md +35 -0
  32. package/plans/asciiMaze-typescript-repair.plans.md +30 -36
  33. package/plans/generate-docs-solid-split.logs.md +36 -0
  34. package/plans/generate-docs-solid-split.plans.md +21 -73
  35. package/plans/methods-docs.logs.md +37 -0
  36. package/plans/methods-docs.plans.md +22 -183
  37. package/plans/methods-solid-split.logs.md +41 -0
  38. package/plans/methods-solid-split.plans.md +23 -65
  39. package/plans/neat-docs.logs.md +38 -0
  40. package/plans/neat-docs.plans.md +21 -63
  41. package/plans/neat-test-surface-repair.logs.md +38 -0
  42. package/plans/neat-test-surface-repair.plans.md +24 -24
  43. package/plans/readme-first-section-pass.logs.md +63 -0
  44. package/plans/readme-first-section-pass.plans.md +42 -0
  45. package/plans/render-docs-html-solid-split.logs.md +36 -0
  46. package/plans/render-docs-html-solid-split.plans.md +20 -54
  47. package/plans/src-no-explicit-any-cleanup.logs.md +39 -0
  48. package/plans/src-no-explicit-any-cleanup.plans.md +23 -161
  49. package/plans/utils-docs.logs.md +37 -0
  50. package/plans/utils-docs.plans.md +20 -35
  51. package/src/README.md +88 -22
  52. package/src/architecture/README.md +94 -17
  53. package/src/architecture/activationArrayPool/README.md +53 -0
  54. package/src/architecture/activationArrayPool/activationArrayPool.ts +53 -0
  55. package/src/architecture/layer/README.md +94 -5
  56. package/src/architecture/layer/layer.ts +94 -5
  57. package/src/architecture/network/README.md +85 -14
  58. package/src/architecture/network/activate/README.md +301 -213
  59. package/src/architecture/network/activate/docs.order.json +9 -0
  60. package/src/architecture/network/activate/network.activate.utils.ts +90 -0
  61. package/src/architecture/network/connect/README.md +80 -3
  62. package/src/architecture/network/connect/docs.order.json +9 -0
  63. package/src/architecture/network/connect/network.connect.utils.ts +79 -0
  64. package/src/architecture/network/deterministic/README.md +96 -12
  65. package/src/architecture/network/deterministic/docs.order.json +10 -0
  66. package/src/architecture/network/deterministic/network.deterministic.utils.ts +90 -0
  67. package/src/architecture/network/evolve/README.md +286 -228
  68. package/src/architecture/network/evolve/docs.order.json +11 -0
  69. package/src/architecture/network/evolve/network.evolve.utils.ts +59 -0
  70. package/src/architecture/network/gating/README.md +58 -16
  71. package/src/architecture/network/gating/docs.order.json +9 -0
  72. package/src/architecture/network/gating/network.gating.utils.ts +43 -0
  73. package/src/architecture/network/genetic/README.md +75 -36
  74. package/src/architecture/network/genetic/docs.order.json +10 -0
  75. package/src/architecture/network/genetic/network.genetic.utils.ts +53 -17
  76. package/src/architecture/network/network.ts +91 -46
  77. package/src/architecture/network/standalone/README.md +309 -285
  78. package/src/architecture/network/standalone/docs.order.json +13 -0
  79. package/src/architecture/network/standalone/network.standalone.utils.ts +51 -28
  80. package/src/architecture/network.ts +94 -17
  81. package/src/architecture/nodePool/README.md +53 -0
  82. package/src/architecture/nodePool/nodePool.ts +53 -0
  83. package/src/methods/README.md +80 -34
  84. package/src/methods/methods.ts +80 -34
  85. package/src/methods/mutation/README.md +39 -93
  86. package/src/methods/mutation/mutation.ts +58 -0
  87. package/src/multithreading/README.md +114 -14
  88. package/src/multithreading/docs.order.json +5 -0
  89. package/src/multithreading/multi.ts +103 -7
  90. package/src/multithreading/types.ts +6 -1
  91. package/src/multithreading/workers/README.md +72 -2
  92. package/src/multithreading/workers/browser/README.md +39 -0
  93. package/src/multithreading/workers/browser/testworker.ts +40 -0
  94. package/src/multithreading/workers/node/README.md +50 -11
  95. package/src/multithreading/workers/node/docs.order.json +4 -0
  96. package/src/multithreading/workers/node/testworker.ts +43 -3
  97. package/src/multithreading/workers/workers.ts +36 -1
  98. package/src/neat/README.md +230 -152
  99. package/src/neat/adaptive/core/README.md +99 -42
  100. package/src/neat/adaptive/core/adaptive.core.ts +71 -14
  101. package/src/neat/adaptive/core/docs.order.json +8 -0
  102. package/src/neat/docs.order.json +9 -0
  103. package/src/neat/lineage/README.md +118 -16
  104. package/src/neat/lineage/lineage.ts +115 -13
  105. package/src/neat/neat.defaults.constants.ts +91 -13
  106. package/src/neat.ts +86 -20
  107. package/src/utils/README.md +71 -21
  108. package/src/utils/memory.ts +69 -19
  109. package/test/examples/asciiMaze/browser-entry/README.md +81 -8
  110. package/test/examples/asciiMaze/browser-entry/browser-entry.ts +81 -8
  111. package/test/examples/asciiMaze/dashboardManager/README.md +68 -4
  112. package/test/examples/asciiMaze/dashboardManager/dashboardManager.ts +68 -4
  113. package/test/examples/asciiMaze/evolutionEngine/README.md +1259 -1174
  114. package/test/examples/asciiMaze/evolutionEngine/docs.order.json +10 -0
  115. package/test/examples/asciiMaze/evolutionEngine/evolutionEngine.types.ts +87 -0
  116. package/test/examples/asciiMaze/mazeMovement/README.md +81 -4
  117. package/test/examples/asciiMaze/mazeMovement/mazeMovement.ts +81 -4
  118. package/test/examples/flappy_bird/browser-entry/README.md +64 -21
  119. package/test/examples/flappy_bird/browser-entry/browser-entry.ts +64 -21
  120. package/test/examples/flappy_bird/flappy-evolution-worker/README.md +98 -10
  121. package/test/examples/flappy_bird/flappy-evolution-worker/flappy-evolution-worker.ts +98 -10
  122. package/test/examples/flappy_bird/simulation-shared/README.md +88 -4
  123. package/test/examples/flappy_bird/simulation-shared/simulation-shared.types.ts +88 -4
@@ -0,0 +1,35 @@
1
+ # ASCII Maze TypeScript Repair Log
2
+
3
+ **Status:** [DONE]
4
+
5
+ ## Audit scope
6
+
7
+ - Objective: clear the remaining `test/examples/asciiMaze/**` TypeScript
8
+ diagnostics that were intentionally left after the NEAT compatibility repair.
9
+
10
+ ## Durable milestones
11
+
12
+ ### [DONE] Browser-entry compatibility fixes
13
+
14
+ - Repaired browser-entry typing issues including window casting and broader
15
+ record-constraint compatibility.
16
+
17
+ ### [DONE] Evolution-engine and maze-surface repair
18
+
19
+ - Fixed nullability and callback-contract issues in the evolution engine.
20
+ - Restored typed compatibility across maze setup and network-surface handling.
21
+
22
+ ### [DONE] Telemetry and validation closure
23
+
24
+ - Cleaned up stale telemetry metric/property usage and any missing references.
25
+ - Closed the lane only after `tsconfig.test.json` reached zero diagnostics and
26
+ the Jest suite still passed.
27
+
28
+ ## Controls and evidence
29
+
30
+ - Validation used `npx tsc --noEmit -p tsconfig.test.json` and `npm test`.
31
+
32
+ ## Reopen triggers
33
+
34
+ - New `asciiMaze` diagnostics appear after later example work.
35
+ - Contract drift reappears between the example surface and library types.
@@ -4,39 +4,33 @@
4
4
 
5
5
  ## Scope
6
6
 
7
- Repair the remaining `test/examples/asciiMaze/**` TypeScript diagnostics in
8
- `tsconfig.test.json` without disturbing the completed NEAT public-surface fix.
9
-
10
- ## Current state
11
-
12
- - [DONE] Confirmed `npm test` passes from the current repo state.
13
- - [DONE] Confirmed `npx tsc --noEmit -p tsconfig.test.json` still fails only in `test/examples/asciiMaze/**`.
14
- - [DONE] Grouped the remaining diagnostics into local compatibility buckets before editing.
15
-
16
- ## Coverage backlog
17
-
18
- - [DONE] Browser-entry type compatibility fixes.
19
- Files: `browser-entry/browser-entry.globals.services.ts`, `browser-entry/browser-entry.host.services.ts`.
20
- Failure shape: window casting overlap and generic `Record<string, unknown>` constraints.
21
- - [DONE] Evolution-engine nullability and callback-contract fixes.
22
- Files: `evolutionEngine.ts`, `evolutionEngine/neatConfiguration.ts`.
23
- Failure shape: `Neat | null` flow, warm-start callback signature mismatch, and constructor overload typing.
24
- - [DONE] Maze setup and network surface compatibility fixes.
25
- Files: `evolutionEngine/optionsAndSetup.ts`, `evolutionEngine/populationPruning.ts`, `asciiMaze.e2e.test.ts`.
26
- Failure shape: missing imports, `undefined` maze source handling, and `Network` vs `INetwork` adaptation seams.
27
- - [DONE] Telemetry metrics cleanup.
28
- Files: `evolutionEngine/telemetryMetrics.ts`.
29
- Failure shape: stale property names and missing local symbol references.
30
- - [DONE] Final validation with `npx tsc --noEmit -p tsconfig.test.json` and `npm test`.
31
-
32
- ## Validation
33
-
34
- - `npx tsc --noEmit -p tsconfig.test.json` completed with no diagnostics.
35
- - `npm test` completed successfully from the current repo state.
36
-
37
- ## Handoff query
38
-
39
- ```text
40
- Continue from the current repo state only. Do not rely on prior chat history.
41
- Work from plans/asciiMaze-typescript-repair.plans.md. The ASCII Maze TypeScript repair pass is complete: browser-entry, evolution-engine, setup/pruning, and telemetry compatibility seams were aligned, `npx tsc --noEmit -p tsconfig.test.json` is green, and `npm test` passes. Preserve unrelated user changes and only reopen this area if new diagnostics appear.
42
- ```
7
+ - Repair the remaining `test/examples/asciiMaze/**` TypeScript diagnostics from
8
+ the current repo state.
9
+ - Keep the repair constrained to example compatibility rather than reopening
10
+ unrelated runtime work.
11
+
12
+ ## Final state
13
+
14
+ - The `asciiMaze` example lane no longer carries the TypeScript diagnostics that
15
+ remained after the NEAT public-surface repair work.
16
+ - Browser-entry, evolution-engine, maze setup/network surface, and telemetry
17
+ compatibility issues were brought back into a stable typed state.
18
+ - No active backlog remains; this file is now a reopen point for future
19
+ `asciiMaze` diagnostics.
20
+
21
+ ## Audit summary
22
+
23
+ - Validation used `npx tsc --noEmit -p tsconfig.test.json` and `npm test` from
24
+ the current repo state.
25
+ - The lane closed only after the remaining example diagnostics reached zero.
26
+
27
+ ## Reopen conditions
28
+
29
+ - New `asciiMaze` example diagnostics appear in `tsconfig.test.json`.
30
+ - Example-surface nullability or contract drift reappears after later changes.
31
+ - Test-lane API changes require another example compatibility pass.
32
+
33
+ ## Audit log
34
+
35
+ - Durable completion notes now live in
36
+ [asciiMaze-typescript-repair.logs.md](asciiMaze-typescript-repair.logs.md).
@@ -0,0 +1,36 @@
1
+ # Generate Docs SOLID Split Log
2
+
3
+ **Status:** [DONE]
4
+
5
+ ## Audit scope
6
+
7
+ - Objective: split the docs generator into a folder-owned subsystem without
8
+ breaking script build or generated docs output.
9
+
10
+ ## Durable milestones
11
+
12
+ ### [DONE] Generator root split
13
+
14
+ - Broke the flat generator into stable ownership areas for constants, types,
15
+ state, targets, symbols, ordering, and output behavior.
16
+
17
+ ### [DONE] Direct-path migration
18
+
19
+ - Retargeted repo callers to the stable generated script path instead of using
20
+ a compatibility shim or old flat entry expectations.
21
+
22
+ ### [DONE] Regression repair and nested follow-through
23
+
24
+ - Completed the symbols and output chapter split.
25
+ - Fixed the discovered regressions in intro-file control and folder-index link
26
+ paths before closing the workstream.
27
+
28
+ ## Controls and evidence
29
+
30
+ - Validation used `npm run docs:build-scripts` and `npm run docs`.
31
+ - Docs output remained stable at closeout.
32
+
33
+ ## Reopen triggers
34
+
35
+ - Generator features outgrow the current folder ownership.
36
+ - Output regressions appear in link rewriting or intro selection.
@@ -4,84 +4,32 @@
4
4
 
5
5
  ## Scope
6
6
 
7
- - Split the docs generator from the old flat [scripts/generate-docs.ts](../scripts/generate-docs/generate-docs.ts) boundary into a folder-owned module under `scripts/`.
8
- - Keep the `docs:folders:*` CLI behavior stable by updating repo-local callers to the new built entrypoint instead of leaving a flat compatibility shim.
9
- - Improve source readability with orchestration-first flow, focused helper ownership, and comprehensive JSDoc on the new exported surfaces.
7
+ - Split the docs generator into a stable folder-owned module boundary while
8
+ keeping `npm run docs` behavior intact.
9
+ - Leave the generator ready for reopen-only follow-up instead of an active
10
+ refactor frontier.
10
11
 
11
- ## Current state
12
+ ## Final state
12
13
 
13
- - Split root: `scripts/generate-docs/`
14
- - Nearest README reviewed: `n/a` (no `scripts/**/README.md` files currently exist)
15
- - Parent README reviewed: `n/a`
16
- - Relevant plan: [plans/neat-docs.plans.md](../plans/neat-docs.plans.md)
17
- - Adjacent reference checked: [plans/architecture-solid-split.plans.md](../plans/architecture-solid-split.plans.md)
18
- - Current boundary: the root entrypoint now delegates to focused chapter files for targets, symbols, ordering, output, constants, state, and shared contracts.
19
- - Active split frontier: `generate-docs.symbols.ts` and `generate-docs.output.ts` have each grown into their own responsibility clusters and now need direct-path subfolderization.
14
+ - The docs generator now has a folder-owned structure with clear ownership for
15
+ constants, types, state, targets, symbols, ordering, and output concerns.
16
+ - Repo callers were moved to the stable generated-script path instead of
17
+ relying on the pre-split flat layout.
18
+ - No active backlog remains; this file is now a reopen point for later
19
+ generator-boundary work.
20
20
 
21
- ## Durable rules
21
+ ## Audit summary
22
22
 
23
- - Keep exactly one active workstream section.
24
- - Prefer direct-path migration to `scripts/generate-docs/generate-docs.ts`; do not leave a flat shim unless a real compatibility need appears.
25
- - Do not hand-edit generated README files as part of this split.
26
- - Run docs-tooling validation after the split because this boundary feeds `npm run docs`.
23
+ - Validation used `npm run docs:build-scripts` and `npm run docs`.
24
+ - Behavioral regressions discovered during the split were fixed before closure.
27
25
 
28
- ## Target shape
26
+ ## Reopen conditions
29
27
 
30
- - `scripts/generate-docs/generate-docs.ts` owns CLI orchestration.
31
- - `scripts/generate-docs/generate-docs.types.ts` owns shared docs-generator contracts.
32
- - `scripts/generate-docs/generate-docs.constants.ts` owns stable constants and target definitions.
33
- - `scripts/generate-docs/generate-docs.state.ts` owns shared ts-morph and docs-order cache state.
34
- - `scripts/generate-docs/generate-docs.targets.ts` owns target resolution and source-tree preparation.
35
- - `scripts/generate-docs/generate-docs.symbols.ts` owns symbol collection, JSDoc extraction, and dedupe rules.
36
- - `scripts/generate-docs/generate-docs.order.ts` owns `docs.order.json` loading, validation, caching, and warnings.
37
- - `scripts/generate-docs/generate-docs.output.ts` owns README rendering, folder-index rendering, and file emission.
28
+ - New generator features make the current folder ownership too coarse.
29
+ - Docs-output behavior regresses in intro-file control or generated links.
30
+ - Another nested split becomes necessary in the generator area.
38
31
 
39
- ## Coverage backlog
32
+ ## Audit log
40
33
 
41
- ### [DONE] Generator root split
42
-
43
- - Landed the folder-owned module at [scripts/generate-docs/generate-docs.ts](../scripts/generate-docs/generate-docs.ts) with dedicated chapter files for constants, types, state, targets, symbols, ordering, and output.
44
- - Retargeted the repo-local docs scripts to `dist-docs/scripts/generate-docs/generate-docs.js` so the split uses direct-path migration with no flat compatibility shim.
45
- - Updated the existing plan references that pointed at the deleted flat script path.
46
- - Completed the required educational-docs follow-up by adding chapter-level source introductions to the new files so maintainers can read the split as a guided boundary map instead of a raw helper shelf.
47
-
48
- ### [DONE] Symbols and output chapter split
49
-
50
- - Reopen the generator boundary to move `generate-docs.symbols.ts` into `scripts/generate-docs/symbols/` and `generate-docs.output.ts` into `scripts/generate-docs/output/`.
51
- - Keep direct-path migration: update repo-local imports to the new subfolder entrypoints and delete the flat files after validations pass.
52
- - Keep the new chapter roots orchestration-first, with narrower helper files for collection/rendering/signature work in the symbols boundary and README/index ordering work in the output boundary.
53
- - Completed the direct-path move into `scripts/generate-docs/symbols/` and `scripts/generate-docs/output/`, removed the flat chapter files, and retargeted the root generator imports to the new nested entrypoints.
54
- - Fixed the post-split behavioral regressions in the output boundary so `introFile` once again controls directory intro promotion and folder-index nodes keep correct source and link paths.
55
- - Completed the mandatory educational-docs follow-up with contract-level JSDoc covering signature storage, file-summary precedence, intro promotion, and fallback ordering.
56
-
57
- ## Validation
58
-
59
- - Completed in prior step:
60
- - `npm run docs:build-scripts`
61
- - `npm run docs`
62
- - `npm run docs:build-scripts` after the educational-docs follow-up
63
- - Completed for this step:
64
- - `npm run docs:build-scripts`
65
- - `npm run docs`
66
- - `npm run docs:build-scripts` after the post-validation educational-docs follow-up
67
-
68
- ## Immediate next steps
69
-
70
- - No further split work is queued in this boundary right now.
71
- - Future work, if needed, should start from the nested `symbols/` and `output/` folders rather than recreating flat chapter files.
72
-
73
- ## Handoff query
74
-
75
- ```text
76
- Continue docs-tooling work from the current repo state only. Do not rely on prior chat history.
77
-
78
- Plan: plans/generate-docs-solid-split.plans.md
79
- Current boundary: scripts/generate-docs/
80
- Repo standard: migrate directly to scripts/generate-docs/generate-docs.ts with no compatibility shim by default, and keep the split in small responsibility chapters.
81
- Small-chapter standard: this applies to scripts and tooling boundaries too, not only library code.
82
- Already covered: the old flat generator script was removed, package.json now points at dist-docs/scripts/generate-docs/generate-docs.js, and the current root chapter files own targets, symbols, ordering, output, state, constants, and types.
83
- Next task if this boundary reopens: continue from the nested scripts/generate-docs/symbols/ and scripts/generate-docs/output/ folders, preserving direct-path imports and the current docs-order behavior.
84
- Required validations: npm run docs:build-scripts, npm run docs.
85
- Worktree caution: .github/copilot-instructions.md may already have unrelated local edits.
86
- Continue from the current repo state only. Do not rely on prior chat history.
87
- ```
34
+ - Durable completion notes now live in
35
+ [generate-docs-solid-split.logs.md](generate-docs-solid-split.logs.md).
@@ -0,0 +1,37 @@
1
+ # Methods Docs Plan Log
2
+
3
+ **Status:** [DONE]
4
+
5
+ ## Audit scope
6
+
7
+ - Objective: turn the root-facing `src/methods/` chapters into educational
8
+ introductions that explain the policy choices behind each family.
9
+
10
+ ## Durable milestones
11
+
12
+ ### [DONE] Root methods chapter framing
13
+
14
+ - Strengthened the root methods chapter so it introduces the family map and the
15
+ role each method family plays in the library.
16
+
17
+ ### [DONE] Family-level educational reframing
18
+
19
+ - Reframed activation around transfer-curve choice, gating around placement
20
+ semantics, and connection around wiring policy so the generated openings
21
+ answer reader questions instead of just listing exports.
22
+
23
+ ### [DONE] Polish follow-through
24
+
25
+ - Completed the root alignment and rate/mutation polish passes needed to make
26
+ the whole methods lane read consistently.
27
+
28
+ ## Controls and evidence
29
+
30
+ - Documentation updates were validated with `npm run docs` and
31
+ `npx tsc --noEmit -p tsconfig.json`.
32
+ - No runtime behavior changes were required for this pass.
33
+
34
+ ## Reopen triggers
35
+
36
+ - Methods chapter openings drift back toward shelf-like generated output.
37
+ - A new family or reordered source owner needs a documentation refresh.
@@ -4,194 +4,33 @@
4
4
 
5
5
  ## Scope
6
6
 
7
- This plan tracks educational-docs passes for the shared method vocabulary under
8
- [src/methods/README.md](../src/methods/README.md).
7
+ - Educational-docs pass for the shared vocabulary and chapter openings under
8
+ `src/methods/`.
9
+ - Improve the generated first-contact reading path without changing runtime
10
+ behavior.
9
11
 
10
- Primary reader:
12
+ ## Final state
11
13
 
12
- - readers who want the reusable training and evolutionary method families to
13
- read like a guided policy shelf rather than a raw export list.
14
+ - The methods root and the key family chapters now open with clearer
15
+ educational framing around what choices the families represent.
16
+ - Activation, gating, connection, rate, and mutation documentation now better
17
+ answer the reader's boundary-level questions instead of acting like symbol
18
+ shelves.
19
+ - No active backlog remains; this plan is now a reopen point for documentation
20
+ drift in `src/methods/`.
14
21
 
15
- Primary surfaces:
22
+ ## Audit summary
16
23
 
17
- - [src/methods/methods.ts](../src/methods/methods.ts)
18
- - [src/methods/cost/cost.ts](../src/methods/cost/cost.ts)
19
- - [src/methods/rate/rate.ts](../src/methods/rate/rate.ts)
20
- - [src/methods/selection/selection.ts](../src/methods/selection/selection.ts)
21
- - [src/methods/gating/gating.ts](../src/methods/gating/gating.ts)
22
- - [src/methods/connection/connection.ts](../src/methods/connection/connection.ts)
23
- - [src/methods/README.md](../src/methods/README.md)
24
+ - Documentation-affecting passes regenerated docs with `npm run docs`.
25
+ - Type safety was preserved with `npx tsc --noEmit -p tsconfig.json`.
24
26
 
25
- ## Session Log
27
+ ## Reopen conditions
26
28
 
27
- ### Methods root chapter pass
29
+ - A methods chapter opening regresses below the current educational-docs bar.
30
+ - A new methods family needs the same chapter-framing treatment.
31
+ - Generator ordering causes a methods README to open from the wrong owner.
28
32
 
29
- Goals:
33
+ ## Audit log
30
34
 
31
- - Make the generated [src/methods/README.md](../src/methods/README.md) open as
32
- a guided chapter instead of a raw export list.
33
-
34
- Progress:
35
-
36
- - Added a barrel-led introduction in
37
- [src/methods/methods.ts](../src/methods/methods.ts) so the chapter now opens
38
- with the shared method-family map.
39
- - Added [src/methods/docs.order.json](../src/methods/docs.order.json) to keep
40
- `methods.ts` as the intro source and hide the barrel file section.
41
- - Strengthened the cost, rate, and selection family surfaces with clearer
42
- framing and diagram-justified guidance.
43
-
44
- Decision:
45
-
46
- - Keep future methods work proportional and continue one family chapter at a
47
- time rather than reopening the entire folder.
48
-
49
- ### Activation chapter pass
50
-
51
- Goals:
52
-
53
- - Make the activation family read more like a chooser and less like a flat
54
- list of transfer-curve helpers.
55
- - Tighten the older symbol-level prose in the utility shelf without changing
56
- runtime behavior.
57
-
58
- Progress:
59
-
60
- - Added a compact family map in
61
- [src/methods/activation/activation.ts](../src/methods/activation/activation.ts)
62
- so the generated activation chapter shows the main activation clusters before
63
- readers fall into the long symbol shelf.
64
- - Strengthened
65
- [src/methods/activation/activation.utils.ts](../src/methods/activation/activation.utils.ts)
66
- with a clearer reading order and more explanatory JSDoc for the previously
67
- terse helper functions, especially the historical, localized, and niche
68
- transforms.
69
-
70
- Decision:
71
-
72
- - Leave the deeper per-symbol registry cleanup for a later polish pass and keep
73
- moving through the thin structural chapters one family at a time.
74
-
75
- ### Gating chapter pass
76
-
77
- Goals:
78
-
79
- - Make the gating family read like a structural chooser instead of a short
80
- constant shelf.
81
- - Clarify how `INPUT`, `OUTPUT`, and `SELF` differ so readers can pick a gate
82
- position by intent instead of memorizing names.
83
-
84
- Progress:
85
-
86
- - Reframed [src/methods/gating/gating.ts](../src/methods/gating/gating.ts)
87
- around the placement question the family answers, with stronger source-first
88
- chooser guidance for the three gate positions.
89
- - Tightened each gate entry so the generated chapter explains the control
90
- surface each option creates and includes a minimal example for quick recall.
91
-
92
- Remaining gaps:
93
-
94
- - The sibling structural family for connection policies is still thinner than
95
- the rest of the methods shelf and likely needs the same chapter-first framing.
96
- - If the methods root chapter gets another pass later, its short gating summary
97
- can be aligned again with any wording refinements that come out of the
98
- connection pass.
99
-
100
- Next step:
101
-
102
- - Move to the connection family next and give its structural wiring vocabulary
103
- the same chooser-first treatment used for gating.
104
-
105
- ### Connection chapter pass
106
-
107
- Goals:
108
-
109
- - Make the connection family read like a wiring-policy chooser instead of a
110
- terse list of topology names.
111
- - Clarify when dense connectivity, dense-without-self-links, and one-to-one
112
- alignment are the right structural defaults.
113
-
114
- Progress:
115
-
116
- - Reframed [src/methods/connection/connection.ts](../src/methods/connection/connection.ts)
117
- around the structural question the family answers, with stronger source-first
118
- guidance for the three built-in wiring patterns.
119
- - Tightened each connection policy entry so the generated chapter explains the
120
- wiring bias each option introduces and includes a minimal example for quick
121
- recall.
122
-
123
- Remaining gaps:
124
-
125
- - The thin structural families are now better aligned, so future work here is
126
- more likely to be polish than rescue.
127
- - If the methods root chapter gets another pass later, its short structural
128
- summaries for both gating and connection can be harmonized again for tone.
129
-
130
- Next step:
131
-
132
- - Re-read the methods root chapter and decide whether the next highest-value
133
- pass is a small root-summary alignment pass or a deeper polish pass on one of
134
- the larger method families.
135
-
136
- ### Methods root alignment pass
137
-
138
- Goals:
139
-
140
- - Re-align the root methods introduction so its structural summary matches the
141
- stronger gating and connection chapters.
142
- - Keep the top-level chapter compact while making the difference between
143
- routing control and wiring layout explicit.
144
-
145
- Progress:
146
-
147
- - Tightened [src/methods/methods.ts](../src/methods/methods.ts) so the root
148
- chapter now describes `gating` and `groupConnection` as different parts of
149
- the structural vocabulary instead of bundling them together too loosely.
150
- - Cleaned the duplicated top-level module JSDoc in
151
- [src/methods/methods.ts](../src/methods/methods.ts) so the generated root
152
- opening stays compact and source-first.
153
-
154
- Remaining gaps:
155
-
156
- - The methods root is now aligned with the thin structural chapters, so the
157
- next useful pass is more likely to be selective polish than root framing.
158
- - Larger families such as mutation or rate may still benefit from later
159
- refinement, but they no longer block the root chapter from reading clearly.
160
-
161
- Next step:
162
-
163
- - Choose the next highest-value polish pass among the larger method families,
164
- or stop here if the methods shelf is sufficiently aligned for now.
165
-
166
- ### Rate and mutation polish pass
167
-
168
- Goals:
169
-
170
- - Smooth the generated docs for two larger method-adjacent chapters without
171
- reopening their runtime behavior.
172
- - Remove remaining generated-doc rough edges such as duplicated framing and
173
- awkward parameter prose.
174
-
175
- Progress:
176
-
177
- - Tightened [src/methods/rate/rate.ts](../src/methods/rate/rate.ts) so the
178
- class-level chapter no longer repeats the full module opening and instead
179
- acts like a practical chooser for schedule builders.
180
- - Filled the missing return and option guidance for the reactive and warm
181
- restart rate helpers in
182
- [src/methods/rate/rate.ts](../src/methods/rate/rate.ts) so the generated API
183
- shelf reads more evenly.
184
- - Polished [src/neat/mutation/mutation.ts](../src/neat/mutation/mutation.ts)
185
- with a clearer root reading order and cleaner parameter descriptions so the
186
- generated mutation chapter reads less like raw annotation output.
187
-
188
- Decision:
189
-
190
- - Stop the methods documentation lane here for now; the root and the highest-
191
- leverage family chapters now read coherently enough that further work is
192
- polish, not structural rescue.
193
-
194
- Next step:
195
-
196
- - Pause this plan and revisit only if a later docs pass exposes a specific
197
- regression, stale generated wording, or a newly expanded method family.
35
+ - Durable completion notes now live in
36
+ [methods-docs.logs.md](methods-docs.logs.md).
@@ -0,0 +1,41 @@
1
+ # methods SOLID Split Log
2
+
3
+ **Status:** [DONE]
4
+
5
+ ## Audit scope
6
+
7
+ - Objective: move `src/methods/` from a flat collection of families into a
8
+ folder-owned module structure with durable README chapter ownership.
9
+
10
+ ## Durable milestones
11
+
12
+ ### [DONE] Family folderization
13
+
14
+ - Folderized the activation, cost, rate, selection, mutation, crossover,
15
+ gating, and connection families into stable chapter boundaries.
16
+ - Removed the need to keep the mutation family as a flat special case.
17
+
18
+ ### [DONE] Import-path migration
19
+
20
+ - Retargeted repo-local imports to the new folder structure instead of relying
21
+ on transitional flat-file ownership.
22
+ - Preserved public behavior while simplifying future maintenance in the methods
23
+ area.
24
+
25
+ ### [DONE] Documentation ownership follow-through
26
+
27
+ - Added root and local `docs.order.json` controls so the generated methods root
28
+ reads as a chapter map rather than a flat symbol shelf.
29
+ - Closed the documentation follow-through exposed by the structural split.
30
+
31
+ ## Controls and evidence
32
+
33
+ - Validation after split work used `npm run docs` and
34
+ `npx tsc --noEmit -p tsconfig.json`.
35
+ - The final methods structure is now the baseline for future reopen-only work.
36
+
37
+ ## Reopen triggers
38
+
39
+ - A method family becomes oversized again.
40
+ - Import-path drift or README ownership regressions appear after later work.
41
+ - Additional family-level splits become necessary.
@@ -2,77 +2,35 @@
2
2
 
3
3
  **Status:** [DONE]
4
4
 
5
- ## Purpose
5
+ ## Scope
6
6
 
7
- Reduce the overloaded flat `src/methods/` surface into small chapter folders so
8
- the generated methods README stops behaving like one monolithic page. Keep
9
- `src/methods/methods.ts` as the orchestration-first public facade while moving
10
- each concept into its own folder-based boundary.
7
+ - Replace the flat `src/methods/` layout with folder-owned chapter boundaries
8
+ for the main method families.
9
+ - Keep the generated methods root readable and ownership-oriented after the
10
+ split.
11
11
 
12
- ## Root
12
+ ## Final state
13
13
 
14
- - Split root: `src/methods`
15
- - Nearest README reviewed: `src/methods/README.md`
16
- - Parent README reviewed: `src/README.md`
17
- - Relevant plan: `n/a`
14
+ - The major method families are now folderized and imported through stable
15
+ chapter boundaries instead of the previous flat-file cluster.
16
+ - Root and local `docs.order.json` controls keep generated README openings tied
17
+ to the correct public chapter maps.
18
+ - No active backlog remains; this plan is now the reopen point for later method
19
+ family expansion or new oversized-boundary work.
18
20
 
19
- ## Durable Rules
21
+ ## Audit summary
20
22
 
21
- - Keep exactly one active step at a time.
22
- - Update this plan immediately after each completed step.
23
- - Use direct-path migration for repo-local imports; do not leave flat shim files.
24
- - Do not hand-edit generated README files; improve source JSDoc and run docs.
25
- - Keep `src/methods/methods.ts` as the readable public facade.
23
+ - Structural and documentation follow-through were validated with
24
+ `npm run docs` and `npx tsc --noEmit -p tsconfig.json`.
25
+ - The methods root no longer acts as a monolithic blocker for modernization.
26
26
 
27
- ## Target Shape
27
+ ## Reopen conditions
28
28
 
29
- - `src/methods/methods.ts` remains the public facade.
30
- - `src/methods/activation/` owns activation registry and utility math helpers.
31
- - `src/methods/cost/` owns cost facade and cost utility helpers.
32
- - `src/methods/rate/` owns schedule facade and rate utility helpers.
33
- - `src/methods/selection/`, `src/methods/mutation/`, `src/methods/crossover/`,
34
- `src/methods/gating/`, and `src/methods/connection/` each become small chapter folders.
35
- - Root docs ordering should describe chapter folders instead of a flat file list.
29
+ - Another method family grows beyond the current folder structure.
30
+ - Import paths or generated chapter ownership drift after later refactors.
31
+ - The methods root README needs another chapter-map correction.
36
32
 
37
- ## Steps
33
+ ## Audit log
38
34
 
39
- - [x] Step 1: Folderize the methods categories, migrate repo-local imports to the new direct paths, and keep the root facade stable.
40
- - [x] Step 2: Refresh generated docs ordering and educational-docs policy so oversized folder READMEs are split proactively.
41
- - [x] Step 3: Validate the split surface and record the handoff state.
42
-
43
- ## Latest Pass
44
-
45
- - Folderized the methods surface into chapter folders for `activation`, `cost`,
46
- `rate`, `selection`, `mutation`, `crossover`, `gating`, and `connection`.
47
- - Migrated repo-local imports to direct folder paths and removed the stale flat
48
- `src/methods/mutation.ts` file that was still being compiled after the move.
49
- - Updated `src/methods/methods.ts` to remain the root public facade and updated
50
- root ordering via `src/methods/docs.order.json`.
51
- - Added chapter-level ordering configs for `activation`, `cost`, and `rate` so
52
- their nested READMEs open from the public facade files rather than utility
53
- helpers.
54
- - Updated `.github/skills/educational-docs/SKILL.md` so oversized generated
55
- folder READMEs now point toward `solid-split` instead of continuing to grow
56
- monolithically.
57
- - Regenerated docs and verified the generated openings for
58
- `src/methods/README.md`, `src/methods/activation/README.md`,
59
- `src/methods/cost/README.md`, and `src/methods/rate/README.md`.
60
- - Final validation completed with `npm run docs` and
61
- `npx tsc --noEmit -p tsconfig.json`.
62
-
63
- ## Handoff State
64
-
65
- - The split is complete and the root methods README now reads as a chapter map
66
- rather than a monolithic flat file dump.
67
- - Nested method READMEs are generated from source-first JSDoc and should be
68
- maintained by editing the owning source files, not the generated READMEs.
69
- - If a future methods family starts to feel oversized again, prefer another
70
- bounded folder split over expanding the root README.
71
-
72
- ## Done Criteria
73
-
74
- - The flat `src/methods/*.ts` category files have been replaced by chapter folders.
75
- - Repo-local imports point at the new direct folder paths.
76
- - `src/methods/README.md` becomes smaller because chapter content moves into nested folder READMEs.
77
- - The educational-docs skill explicitly points large monolithic README surfaces toward `solid-split`.
78
- - The boundary can be resumed safely from this plan alone.
35
+ - Durable completion notes now live in
36
+ [methods-solid-split.logs.md](methods-solid-split.logs.md).