@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
@@ -4,666 +4,33 @@
4
4
 
5
5
  ## Scope
6
6
 
7
- This plan tracks the small-chapter folderization of the flat root files under
8
- [src/architecture](../src/architecture/README.md) so the architecture surface
9
- stops depending on a handful of large root files and the generated README flow
10
- stays educational instead of monolithic.
11
-
12
- Plan context:
13
-
14
- - [plans/Roadmap.md](Roadmap.md)
15
- - [plans/Architecture_Primitives_Node_Group_Layer.md](Architecture_Primitives_Node_Group_Layer.md)
16
-
17
- Primary reader:
18
-
19
- - contributors who need the architecture surface to read like a set of focused
20
- primitive and builder chapters instead of a mixed root shelf.
21
-
22
- ## README Inventory
23
-
24
- This inventory is the folder-by-folder split checklist for the architecture
25
- root. Keep exactly one boundary pass active at a time.
26
-
27
- - [src/architecture](../src/architecture/README.md)
28
- - [src/architecture/architect](../src/architecture/architect/README.md)
29
- - [src/architecture/group](../src/architecture/group/README.md)
30
- - [src/architecture/nodePool](../src/architecture/nodePool/README.md)
31
- - [src/architecture/activationArrayPool](../src/architecture/activationArrayPool/README.md)
32
- - [src/architecture/layer](../src/architecture/layer/README.md)
33
- - [src/architecture/network](../src/architecture/network/README.md)
34
- - [src/architecture/network/activate](../src/architecture/network/activate/README.md)
35
- - [src/architecture/network/bootstrap](../src/architecture/network/bootstrap/README.md)
36
- - [src/architecture/network/connect](../src/architecture/network/connect/README.md)
37
- - [src/architecture/network/deterministic](../src/architecture/network/deterministic/README.md)
38
- - [src/architecture/network/evolve](../src/architecture/network/evolve/README.md)
39
- - [src/architecture/network/gating](../src/architecture/network/gating/README.md)
40
- - [src/architecture/network/genetic](../src/architecture/network/genetic/README.md)
41
- - [src/architecture/network/mutate](../src/architecture/network/mutate/README.md)
42
- - [src/architecture/network/onnx](../src/architecture/network/onnx/README.md)
43
- - [src/architecture/network/onnx/export](../src/architecture/network/onnx/export/README.md)
44
- - [src/architecture/network/onnx/export/layers](../src/architecture/network/onnx/export/layers/README.md)
45
- - [src/architecture/network/onnx/import](../src/architecture/network/onnx/import/README.md)
46
- - [src/architecture/network/onnx/schema](../src/architecture/network/onnx/schema/README.md)
47
- - [src/architecture/network/prune](../src/architecture/network/prune/README.md)
48
- - [src/architecture/network/remove](../src/architecture/network/remove/README.md)
49
- - [src/architecture/network/runtime](../src/architecture/network/runtime/README.md)
50
- - [src/architecture/network/serialize](../src/architecture/network/serialize/README.md)
51
- - [src/architecture/network/slab](../src/architecture/network/slab/README.md)
52
- - [src/architecture/network/standalone](../src/architecture/network/standalone/README.md)
53
- - [src/architecture/network/stats](../src/architecture/network/stats/README.md)
54
- - [src/architecture/network/topology](../src/architecture/network/topology/README.md)
55
- - [src/architecture/network/training](../src/architecture/network/training/README.md)
56
-
57
- ## Target Order
58
-
59
- 1. Node boundary
60
- 2. Connection boundary
61
- 3. Group boundary
62
- 4. Architect boundary
63
- 5. NodePool ownership follow-through
64
- 6. ActivationArrayPool ownership follow-through
65
- 7. Layer facade normalization
66
- 8. Network facade normalization
67
- 9. ONNX root-shim review if public-import cleanup becomes necessary
68
-
69
- ## Session Log
70
-
71
- ## Current State
72
-
73
- ### [DONE] Workstream Closure
74
-
75
- - The architecture solid-split workstream is complete enough to close for now.
76
- - The generated [src/architecture/README.md](../src/architecture/README.md)
77
- now behaves like a root chapter map instead of a flat re-export symbol dump.
78
- - The architecture root compatibility facades remain in place by design for
79
- public and test stability, but they no longer dominate the generated root
7
+ - Folderize flat `src/architecture/` boundaries and reduce the monolithic root
80
8
  documentation surface.
81
- - The first docs-first follow-through on the foregrounded
82
- [src/architecture/network/network.ts](../src/architecture/network/network.ts)
83
- chapter is now complete: the generated
84
- [src/architecture/network/README.md](../src/architecture/network/README.md)
85
- now foregrounds the public `Network` API instead of leading with the class's
86
- underscore-prefixed runtime state shelf.
87
- - The public `Network` surface now explicitly documents `standalone()`,
88
- `train()`, and `evolve()` inside the generated chapter so the audit can focus
89
- on real remaining ownership or docs gaps instead of missing public entrypoints.
90
- - The export-side ONNX implementation now lives under the new
91
- [src/architecture/network/onnx/export](../src/architecture/network/onnx/export/README.md)
92
- subchapter so the root ONNX surface can keep its public entry points while the
93
- implementation stops accumulating in one flat folder.
94
- - The import-side ONNX implementation now also lives under the new
95
- [src/architecture/network/onnx/import](../src/architecture/network/onnx/import/README.md)
96
- subchapter so the root ONNX chapter can focus on public entry points and
97
- shared schema/context instead of owning the whole reconstruction stack.
98
- - The export layer-emission helpers now also live under the new
99
- [src/architecture/network/onnx/export/layers](../src/architecture/network/onnx/export/layers/README.md)
100
- subchapter so the export root can focus on orchestration, setup, and
101
- post-processing while the per-layer emitters stop crowding the same chapter.
102
- - The export-owned ONNX execution and payload types now also live under the
103
- export chapter so the root types surface no longer needs to own the exporter
104
- build/setup, heuristic, and layer-emission context cluster.
105
- - The first importer-owned architecture, recurrent-self-connection, and
106
- pooling-attachment type family now also lives under the import chapter so the
107
- root types surface no longer owns that orchestrator-only context cluster.
108
- - The importer-owned weight restoration and Conv reconstruction context family
109
- now also lives under the import chapter so the root types surface no longer
110
- owns that dense-assignment and Conv replay cluster.
111
- - The importer-owned runtime factory loading and perceptron scaffold context
112
- family now also lives under the import chapter so the root types surface no
113
- longer owns that runtime bootstrap cluster.
114
- - The importer-owned fused-recurrent reconstruction family now also lives under
115
- the import chapter so the root types surface no longer owns that emitted
116
- recurrent replay cluster.
117
- - The ONNX wire-format schema now also lives under the new
118
- [src/architecture/network/onnx/schema](../src/architecture/network/onnx/schema/README.md)
119
- subchapter so the root types surface can stop mixing persisted model shapes
120
- with runtime/import/export execution contexts.
121
- - The flat compatibility facade at
122
- [src/architecture/network.ts](../src/architecture/network.ts) still exists by
123
- design for public and test stability.
124
-
125
- ### [PLANNED] Deferred Follow-Through
126
-
127
- - Reopen this plan only if the repo later decides to remove the flat
128
- architecture compatibility facades and accept the resulting public-import
129
- churn across tests, examples, and generated docs.
130
- - Keep any future follow-through audit-first: only reopen a network-owned seam
131
- if a fresh root review exposes a concrete mismatch that the current chapter
132
- map no longer explains.
133
- - The ONNX root shared-holdout audit found that the remaining root bridge
134
- contracts are still genuinely shared across export, import, and root-analysis
135
- code, so there is no smaller root-shim cleanup worth forcing right now.
136
- - No additional split work is currently justified.
137
-
138
- ### [DONE] Architecture Root Chapter Map Follow-Through
139
-
140
- - Added [src/architecture/docs.order.json](../src/architecture/docs.order.json)
141
- so the root architecture README can choose a real intro file and stable
142
- chapter ordering instead of inheriting raw filesystem order.
143
- - Added file-level summaries to the flat root compatibility facades at
144
- [src/architecture/network.ts](../src/architecture/network.ts),
145
- [src/architecture/architect.ts](../src/architecture/architect.ts),
146
- [src/architecture/layer.ts](../src/architecture/layer.ts),
147
- [src/architecture/group.ts](../src/architecture/group.ts),
148
- [src/architecture/node.ts](../src/architecture/node.ts),
149
- [src/architecture/connection.ts](../src/architecture/connection.ts),
150
- [src/architecture/nodePool.ts](../src/architecture/nodePool.ts),
151
- [src/architecture/activationArrayPool.ts](../src/architecture/activationArrayPool.ts),
152
- and [src/architecture/onnx.ts](../src/architecture/onnx.ts) so the generated
153
- root chapter explains its compatibility role instead of reading like a bare
154
- symbol shelf.
155
- - This keeps the public import surface stable while making the architecture root
156
- teach where readers should continue next.
157
- - Validation completed with `npx tsc --noEmit -p tsconfig.json` and
158
- `npm run docs`.
159
-
160
- ### [DONE] Architecture Root Audit Conclusion
161
-
162
- - The first root chapter-map pass still left the generated architecture README
163
- dominated by the flat facade files, which exposed a docs-generator limitation
164
- rather than a missing split seam.
165
- - [src/architecture/docs.order.json](../src/architecture/docs.order.json) now
166
- hides the flat root compatibility files from the generated architecture root
167
- README while still using the configured intro summary as the directory-level
168
- opening.
169
- - [scripts/generate-docs/generate-docs.ts](../scripts/generate-docs/generate-docs.ts) now resolves a
170
- configured intro file from the full sorted file list rather than only the
171
- visible file list, which allows hidden compatibility facades to remain the
172
- source of the root chapter introduction.
173
- - The resulting [src/architecture/README.md](../src/architecture/README.md)
174
- now opens with the architecture chapter map and no longer floods the root
175
- page with re-exported API details.
176
- - Validation completed with `npx tsc --noEmit -p tsconfig.json` and
177
- `npm run docs`.
178
-
179
- ### [PLANNED] Remaining Network Split Path
180
-
181
- 1. Network class seam work is complete enough for audit mode.
182
- 2. The public-surface docs cleanup is complete; only reopen class-owned split
183
- work if the refreshed README still exposes a concrete overloaded seam.
9
+ - Keep public behavior stable while moving ownership into chapter-aligned
10
+ folders and documentation-order controls.
184
11
 
185
- ### [PLANNED] Deferred Questions
12
+ ## Final state
186
13
 
187
- - Keep or remove the flat public compatibility facade at
188
- [src/architecture/network.ts](../src/architecture/network.ts).
189
- > Remove
190
- - Decide later whether broader public-import cleanup across tests, examples,
191
- and generated docs is worth the churn.
192
- > Tests will be handled on a dedicated task
193
- - Optional ONNX root-shim review only if the public-import cleanup becomes part
194
- of the same decision.
195
- > Proceed
196
- - Decide at the end of the active network workstream whether a separate
197
- architecture-wide README size and thin-doc audit should become its own plan.
198
- > Elaborate? We want full documentation
14
+ - The architecture root, network families, and ONNX subareas now follow the
15
+ folder-owned split structure needed for future work.
16
+ - `docs.order.json` controls now steer generated README openings toward chapter
17
+ maps and public owners instead of facade-heavy or types-only surfaces.
18
+ - No active backlog remains; this plan is now the reopen point for future
19
+ facade-removal, ownership-audit, or oversized-boundary follow-up.
199
20
 
200
- ## Coverage Backlog
21
+ ## Audit summary
201
22
 
202
- Use this section only to avoid re-exploring already-covered boundaries. Each
203
- entry records the minimal extent of completed work and the current stop point.
204
-
205
- ### [DONE] Architecture Root Coverage
206
-
207
- - `node`, `connection`, `group`, and `architect` were folderized into chapter
208
- entrypoints with thin flat compatibility facades retained.
209
- - `nodePool` and `activationArrayPool` were moved behind chapter ownership with
210
- local consumer retargets already completed.
211
- - `Layer` ownership moved to
212
- [src/architecture/layer/layer.ts](../src/architecture/layer/layer.ts), with
213
- the flat facade intentionally preserved.
214
-
215
- ### [DONE] Network Ownership Coverage
216
-
217
- - `Network` implementation ownership moved into
218
- [src/architecture/network/network.ts](../src/architecture/network/network.ts).
219
- - Repo-local source consumers were retargeted to the chapter-owned entrypoint.
220
- - Public exports, tests, examples, and generated-doc import examples still rely
221
- on the flat compatibility path where needed.
222
-
223
- ### [DONE] Network Internal Coverage
224
-
225
- - Constructor/bootstrap seam extracted to
226
- [src/architecture/network/bootstrap/network.bootstrap.utils.ts](../src/architecture/network/bootstrap/network.bootstrap.utils.ts).
227
- - Topology contract and topology-facing builders were moved onto the topology
228
- chapter.
229
- - Topology now also owns the hydrated architecture-descriptor fallback through
230
- [src/architecture/network/topology/network.topology.architecture.utils.ts](../src/architecture/network/topology/network.topology.architecture.utils.ts).
231
- - Public structural node-split flow around `addNodeBetween()` now delegates to
232
- [src/architecture/network/mutate/network.mutate.public.utils.ts](../src/architecture/network/mutate/network.mutate.public.utils.ts)
233
- so the class keeps the same behavior while the mutation chapter owns the helper.
234
- - Public clone convenience now delegates to
235
- [src/architecture/network/serialize/network.serialize.public.utils.ts](../src/architecture/network/serialize/network.serialize.public.utils.ts)
236
- so the serialize chapter owns the JSON-round-trip cloning contract.
237
- - Main activation orchestration now delegates to the activate chapter instead of
238
- living inline on the class.
239
- - Runtime configuration and runtime diagnostics were moved onto the runtime
240
- chapter.
241
- - Training backpropagation and runtime-state clearing now delegate to the
242
- training chapter.
243
- - Test-time evaluation delegation was moved onto the stats chapter.
244
- - Node removal now relies on the remove chapter's pool-release handling without
245
- duplicating pool release in the class wrapper.
246
-
247
- ### [DONE] Validation Baseline
248
-
249
- - Completed split passes above were already followed by docs regeneration and
23
+ - Split and follow-through work was validated with `npm run docs` and
250
24
  `npx tsc --noEmit -p tsconfig.json`.
251
- - Re-open a covered seam only if behavior changes, a boundary proves too broad,
252
- or a later pass needs a narrower follow-through inside the same chapter.
253
-
254
- ### [DONE] Network Public Surface Docs Follow-Through
255
-
256
- - The generated
257
- [src/architecture/network/README.md](../src/architecture/network/README.md)
258
- no longer leads with the `Network` class's underscore-prefixed runtime state
259
- shelf because those implementation-only members are now marked internal in
260
- [src/architecture/network/network.ts](../src/architecture/network/network.ts).
261
- - The public `Network` chapter now also includes explicit docs for
262
- `standalone()`, `train()`, and `evolve()` so the README reflects the class's
263
- real orchestration surface rather than omitting those entrypoints.
264
- - This confirmed that the next durable network step should remain audit-driven
265
- until a smaller class-owned seam proves that another split is warranted.
266
- - Validation completed with `npx tsc --noEmit -p tsconfig.json` and
267
- `npm run docs`.
268
-
269
- ### [DONE] Network Docs And Size Audit Conclusion
270
-
271
- - Re-reading the generated
272
- [src/architecture/network/README.md](../src/architecture/network/README.md)
273
- after the public-surface cleanup confirmed that the root chapter now teaches
274
- the `Network` API as an orchestration surface rather than exposing internal
275
- runtime state first.
276
- - Inspecting
277
- [src/architecture/network/network.ts](../src/architecture/network/network.ts)
278
- against the nearest owning subchapters under
279
- [src/architecture/network/standalone](../src/architecture/network/standalone/README.md),
280
- [src/architecture/network/slab](../src/architecture/network/slab/README.md),
281
- and [src/architecture/network/training](../src/architecture/network/training/README.md)
282
- showed that the remaining root methods are now thin compatibility wrappers or
283
- tiny convenience helpers, not a stranded class-owned subsystem.
284
- - The only meaningful inline survivors are small API glue such as `set(...)`
285
- and `adjustRateForAccumulation(...)`; forcing those into another chapter would
286
- add indirection without improving ownership clarity.
287
- - This closes the network docs and size audit for now and moves the active
288
- frontier to the architecture-root follow-through audit.
289
- - Validation completed with `npx tsc --noEmit -p tsconfig.json` and
290
- `npm run docs`.
291
-
292
- ### [DONE] ONNX Import Fused-Recurrent Types Split
293
-
294
- - The importer-owned fused-recurrent reconstruction contracts now live under
295
- [src/architecture/network/onnx/import/network.onnx.import-fused-recurrent.types.ts](../src/architecture/network/onnx/import/network.onnx.import-fused-recurrent.types.ts)
296
- so the root compatibility barrel no longer owns the emitted LSTM/GRU replay
297
- context family.
298
- - [src/architecture/network/onnx/import/network.onnx.import-fused-recurrent.utils.ts](../src/architecture/network/onnx/import/network.onnx.import-fused-recurrent.utils.ts)
299
- now reads those importer-only contracts from the local import chapter while
300
- the root file keeps only the shared `NodeInternals` and `OnnxLayerFactory`
301
- bridge types.
302
- - Validation completed with `npx tsc --noEmit -p tsconfig.json` and
303
- `npm run docs`; generated import docs now include the new fused-recurrent
304
- type chapter.
305
-
306
- ### [DONE] ONNX Import README Intro Follow-Through
307
-
308
- - The generated
309
- [src/architecture/network/onnx/import/README.md](../src/architecture/network/onnx/import/README.md)
310
- now opens with the import pipeline story instead of inheriting its chapter
311
- introduction from the runtime-factory leaf types file.
312
- - [src/architecture/network/onnx/import/docs.order.json](../src/architecture/network/onnx/import/docs.order.json)
313
- now pins the import flow file as the intro source and keeps the generated
314
- reading order aligned to the actual reconstruction pipeline.
315
- - [src/architecture/network/onnx/import/network.onnx.import-flow.utils.ts](../src/architecture/network/onnx/import/network.onnx.import-flow.utils.ts)
316
- now explains the staged restore questions that link the neighboring runtime,
317
- weight, activation, orchestration, and fused-recurrent chapters together.
318
- - Validation completed with `npx tsc --noEmit -p tsconfig.json` and
319
- `npm run docs`.
320
-
321
- ### [DONE] ONNX Root README Chapter Map Follow-Through
322
-
323
- - The generated
324
- [src/architecture/network/onnx/README.md](../src/architecture/network/onnx/README.md)
325
- now opens with an explicit chapter map that tells readers when to continue
326
- into the `export/`, `import/`, and `schema/` subchapters versus when to use
327
- the root compatibility barrels.
328
- - [src/architecture/network/onnx/docs.order.json](../src/architecture/network/onnx/docs.order.json)
329
- now pins the root ONNX reading order so the public entrypoint stays first and
330
- the thinner root utility barrel appears before the larger root types barrel.
331
- - [src/architecture/network/onnx/network.onnx.ts](../src/architecture/network/onnx/network.onnx.ts)
332
- now explains why the root chapter exists, how the folder is split, and how a
333
- contributor should navigate the remaining compatibility surfaces.
334
- - Validation completed with `npx tsc --noEmit -p tsconfig.json` and
335
- `npm run docs`.
336
-
337
- ### [DONE] ONNX Root Compatibility Barrel Docs Follow-Through
338
-
339
- - The generated
340
- [src/architecture/network/onnx/README.md](../src/architecture/network/onnx/README.md)
341
- now explains both
342
- [src/architecture/network/onnx/network.onnx.utils.ts](../src/architecture/network/onnx/network.onnx.utils.ts)
343
- and
344
- [src/architecture/network/onnx/network.onnx.utils.types.ts](../src/architecture/network/onnx/network.onnx.utils.types.ts)
345
- as intentional compatibility barrels instead of leaving them to read like
346
- leftover mixed shelves after the export/import/schema splits.
347
- - The root execution barrel now explains how to read its forwarding role,
348
- what still belongs there, and when a reader should continue into the split
349
- `export/` and `import/` chapters.
350
- - The root types barrel now explains how to read the remaining shared bridge
351
- layer, which type families already moved into chapter-local ownership, and
352
- why a small root compatibility surface still remains.
353
- - Validation completed with `npx tsc --noEmit -p tsconfig.json` and
354
- `npm run docs`.
355
-
356
- ### [DONE] ONNX Root Shared-Holdout Audit
357
-
358
- - The remaining root-owned ONNX bridge contracts were rechecked against current
359
- consumers and still span multiple chapters, so a final root-shim cleanup is
360
- not justified yet.
361
- - `NodeInternals` and `ActivationFunction` still bridge root layer-analysis
362
- helpers plus both export and import execution paths.
363
- - `OnnxConvKernelCoordinate` still bridges export-side Conv emission and
364
- import-side Conv reconstruction.
365
- - `OnnxLayerFactory` and `OnnxRuntimeLayerFactoryMap` still bridge runtime-load
366
- wiring into fused-recurrent reconstruction.
367
- - The root execution barrel's `buildOnnxModel()` wrapper still acts as an
368
- intentional stable orchestration surface above the split export
369
- implementation.
370
- - Validation completed with `npx tsc --noEmit -p tsconfig.json` and
371
- `npm run docs`.
372
-
373
- ### [DONE] Network README Reading Order Follow-Through
374
-
375
- - The generated
376
- [src/architecture/network/README.md](../src/architecture/network/README.md)
377
- now starts with
378
- [src/architecture/network/network.ts](../src/architecture/network/network.ts)
379
- instead of dropping directly into the much larger
380
- [src/architecture/network/network.types.ts](../src/architecture/network/network.types.ts)
381
- shelf.
382
- - [src/architecture/network/docs.order.json](../src/architecture/network/docs.order.json)
383
- now pins the chapter intro to the public `Network` class and keeps the
384
- reading order aligned to public orchestration first, compatibility utilities
385
- second, and the large root types shelf last.
386
- - This keeps the broader network docs/size audit in documentation-first mode
387
- without forcing a new split before the reordered chapter has been evaluated.
388
- - Validation completed with `npx tsc --noEmit -p tsconfig.json` and
389
- `npm run docs`.
390
-
391
- ### [DONE] ONNX Export Subchapter Split
392
-
393
- - The export-side ONNX implementation was folderized under
394
- [src/architecture/network/onnx/export](../src/architecture/network/onnx/export/README.md)
395
- so the root ONNX chapter keeps the public entry points while the export
396
- implementation gets its own durable chapter boundary.
397
- - The ONNX compatibility barrel now re-exports the export helpers from the new
398
- subfolder without changing the public `exportToONNX()` entry point.
399
- - The broader ONNX chapter still needs a refreshed README audit after docs run
400
- to determine whether import-side helpers or shared schema/types are the next
401
- split candidate.
402
-
403
- ### [DONE] ONNX Import Subchapter Split
404
-
405
- - The import-side ONNX implementation was folderized under
406
- [src/architecture/network/onnx/import](../src/architecture/network/onnx/import/README.md)
407
- so the root ONNX chapter keeps the public `importFromONNX()` entry point while
408
- the reconstruction helpers get their own durable chapter boundary.
409
- - The ONNX compatibility barrel now re-exports the import helpers from the new
410
- subfolder without changing the public `importFromONNX()` entry point.
411
- - The broader ONNX chapter still needs a refreshed README audit after docs run
412
- to determine whether shared schema/types or remaining root-shim helpers are
413
- the next split candidate.
414
-
415
- ### [DONE] ONNX Export Layers Subchapter Split
416
-
417
- - The export layer-emission helpers were folderized under
418
- [src/architecture/network/onnx/export/layers](../src/architecture/network/onnx/export/layers/README.md)
419
- so the export root can keep orchestration, setup, and post-processing while
420
- the Conv, dense, recurrent, and shared layer-emission helpers get a more
421
- focused durable boundary.
422
- - The ONNX compatibility barrels now re-export the moved layer helpers from the
423
- nested subfolder without changing the public export entry points.
424
- - The broader ONNX export chapter still needs a refreshed README audit after
425
- docs run to confirm whether shared schema/types or documentation quality is
426
- the next durable follow-through step.
427
-
428
- ### [DONE] ONNX Export Layers Docs Follow-Through
429
-
430
- - The new
431
- [src/architecture/network/onnx/export/layers](../src/architecture/network/onnx/export/layers/README.md)
432
- chapter now opens with an architecture-level explanation of the dispatch
433
- boundary instead of dropping straight into symbol listings.
434
- - The layer router plus the main Conv, dense, mixed-activation, recurrent, and
435
- shared initializer helpers now explain their invariants, tradeoffs, and
436
- representative usage through source JSDoc so the generated README teaches the
437
- boundary instead of acting as a thin API index.
438
- - The docs follow-through included a Mermaid decision-flow diagram for the
439
- layer-routing boundary and was validated with `npm run docs` and
440
- `npx tsc --noEmit -p tsconfig.json`.
441
-
442
- ### [DONE] ONNX Schema Subchapter Split
443
-
444
- - The leaf ONNX wire-format schema was folderized under
445
- [src/architecture/network/onnx/schema](../src/architecture/network/onnx/schema/README.md)
446
- so persisted model shapes, tensor payloads, metadata records, and Conv/Pool
447
- mapping declarations no longer live inside the mixed root types file.
448
- - Internal ONNX import/export consumers now read schema symbols directly from
449
- the new schema chapter while
450
- [src/architecture/network/onnx/network.onnx.utils.types.ts](../src/architecture/network/onnx/network.onnx.utils.types.ts)
451
- remains a thin compatibility barrel for the transition.
452
- - The next type-oriented ONNX split can now target exporter or importer
453
- execution contexts without re-mixing the persisted wire schema into those
454
- runtime-specific boundaries.
455
-
456
- ### [DONE] ONNX Schema Docs Follow-Through
457
-
458
- - The new
459
- [src/architecture/network/onnx/schema](../src/architecture/network/onnx/schema/README.md)
460
- chapter now opens with a clear wire-format boundary description and example
461
- instead of reading like an unstructured type dump.
462
- - The core schema container types now explain graph sections, initializer
463
- storage, named-tensor node wiring, and the simplified attribute payload shape
464
- through source JSDoc so the generated README teaches the persisted document
465
- model.
466
- - The docs follow-through was validated with `npm run docs` and
467
- `npx tsc --noEmit -p tsconfig.json`.
468
-
469
- ### [DONE] ONNX Export Types Split
470
-
471
- - The exporter-owned build/setup, heuristic, recurrent, Conv, and layer-emission
472
- context types were moved into
473
- [src/architecture/network/onnx/export/network.onnx.export.types.ts](../src/architecture/network/onnx/export/network.onnx.export.types.ts)
474
- so the root types file no longer mixes that large chapter-local cluster with
475
- importer and shared runtime bridge types.
476
- - Export-side consumers now import those chapter-local types directly from the
477
- export chapter while
478
- [src/architecture/network/onnx/network.onnx.utils.types.ts](../src/architecture/network/onnx/network.onnx.utils.types.ts)
479
- remains a thin compatibility barrel for public ergonomics and shared holdouts.
480
- - Shared bridge types such as `NodeInternals`, `NodeInternalsWithExportIndex`,
481
- and `OnnxConvKernelCoordinate` intentionally remain root-owned for now to
482
- avoid cross-coupling importer code back into the export chapter.
483
-
484
- ### [DONE] ONNX Export Types Docs Follow-Through
485
-
486
- - The export chapter now opens with an architecture-level map of how export
487
- options flow into setup/build contexts, heuristics, and layer-emission
488
- payloads instead of introducing the new file as a bare type list.
489
- - The docs follow-through was kept local to
490
- [src/architecture/network/onnx/export/network.onnx.export.types.ts](../src/architecture/network/onnx/export/network.onnx.export.types.ts)
491
- so the generated export README explains the boundary shift without reopening a
492
- broader docs rewrite.
493
- - The docs follow-through was validated with `npm run docs` and
494
- `npx tsc --noEmit -p tsconfig.json`.
495
-
496
- ### [DONE] ONNX Import Orchestrator Types Split
497
-
498
- - The importer-owned architecture extraction, recurrent self-connection, and
499
- pooling attachment type family was moved into
500
- [src/architecture/network/onnx/import/network.onnx.import-orchestrators.types.ts](../src/architecture/network/onnx/import/network.onnx.import-orchestrators.types.ts)
501
- so the root types file no longer owns that import-local orchestration state.
502
- - The orchestrator utilities now read those chapter-local types directly from
503
- the import chapter while
504
- [src/architecture/network/onnx/network.onnx.utils.types.ts](../src/architecture/network/onnx/network.onnx.utils.types.ts)
505
- remains the thin compatibility barrel for shared holdouts and transitional
506
- public ergonomics.
507
- - Shared bridge types such as `NodeInternals`, `ActivationFunction`, and
508
- `OnnxConvKernelCoordinate` intentionally remain root-owned for now because
509
- they still bridge import, export, or root analysis helpers beyond this first
510
- importer-only seam.
511
- - The split was validated with `npm run docs` and
512
- `npx tsc --noEmit -p tsconfig.json`.
513
-
514
- ### [DONE] ONNX Import Weight Types Split
515
-
516
- - The importer-owned hidden-size derivation, dense and per-neuron assignment,
517
- and optional Conv reconstruction type family was moved into
518
- [src/architecture/network/onnx/import/network.onnx.import-weights.types.ts](../src/architecture/network/onnx/import/network.onnx.import-weights.types.ts)
519
- so the root types file no longer owns that import-local restoration state.
520
- - The weight reconstruction utilities now read those chapter-local types
521
- directly from the import chapter while
522
- [src/architecture/network/onnx/network.onnx.utils.types.ts](../src/architecture/network/onnx/network.onnx.utils.types.ts)
523
- remains the thin compatibility barrel for shared holdouts and transitional
524
- public ergonomics.
525
- - The follow-through stayed local to the new import weights types file so the
526
- generated import README now explains the weight restoration boundary as its
527
- own chapter instead of extending the mixed root type list.
528
- - Shared bridge types such as `NodeInternals` and
529
- `OnnxConvKernelCoordinate` intentionally remain root-owned because they still
530
- bridge import code back into the root analysis or export surfaces.
531
- - The split was validated with `npm run docs` and
532
- `npx tsc --noEmit -p tsconfig.json`.
533
-
534
- ### [DONE] ONNX Import Runtime-Load Types Split
535
-
536
- - The importer-owned runtime factory loading and perceptron scaffold type
537
- family was moved into
538
- [src/architecture/network/onnx/import/network.onnx.runtime-load.types.ts](../src/architecture/network/onnx/import/network.onnx.runtime-load.types.ts)
539
- so the root types file no longer owns that import-local runtime bootstrap
540
- state.
541
- - The runtime-load utilities now read those chapter-local types directly from
542
- the import chapter while
543
- [src/architecture/network/onnx/network.onnx.utils.types.ts](../src/architecture/network/onnx/network.onnx.utils.types.ts)
544
- remains the thin compatibility barrel for shared holdouts and transitional
545
- public ergonomics.
546
- - The follow-through stayed local to the new runtime-load types file so the
547
- generated import README now teaches the runtime bootstrap contract as its own
548
- import chapter surface.
549
- - Shared bridge types such as `OnnxLayerFactory` and
550
- `OnnxRuntimeLayerFactoryMap` intentionally remain root-owned because they
551
- still bridge runtime bootstrapping into the broader fused-recurrent
552
- reconstruction surface.
553
- - The split was validated with `npm run docs` and
554
- `npx tsc --noEmit -p tsconfig.json`.
555
-
556
- ### [DONE] Remaining Inline Network Surface Review
557
-
558
- - `activate()`, `describeArchitecture()`, `propagate()`, and `clear()` no
559
- longer carry their main ownership logic inline on the class.
560
- - `remove()` now matches the remove chapter's ownership and no longer repeats
561
- pooled-node release at the class layer.
562
- - The remaining inline methods on
563
- [src/architecture/network/network.ts](../src/architecture/network/network.ts)
564
- are now mostly thin public delegates, static compatibility helpers, or small
565
- public convenience methods whose current size does not justify another split
566
- without new evidence from the docs or boundary audit.
567
-
568
- ### [PLANNED] Post-Split Audit Placeholders
569
-
570
- - Oversized generated README audit candidates discovered from the refreshed docs:
571
- - [src/architecture/network/onnx/README.md](../src/architecture/network/onnx/README.md)
572
- now about 1761 lines after the export/import/layers/schema/export-types splits
573
- - [src/architecture/network/onnx/export/README.md](../src/architecture/network/onnx/export/README.md)
574
- now about 1691 lines after the export-side, layers, and export-types splits
575
- - [src/architecture/network/onnx/export/layers/README.md](../src/architecture/network/onnx/export/layers/README.md)
576
- now about 970 lines after the export layers split
577
- - [src/architecture/network/onnx/import/README.md](../src/architecture/network/onnx/import/README.md)
578
- now about 1240 lines after the import-side split
579
- - [src/architecture/network/onnx/schema/README.md](../src/architecture/network/onnx/schema/README.md)
580
- now about 120 lines after the schema split
581
- - [src/architecture/network/README.md](../src/architecture/network/README.md)
582
- at about 2351 lines
583
- - [src/architecture/README.md](../src/architecture/README.md)
584
- at about 1757 lines
585
- - [src/architecture/network/mutate/README.md](../src/architecture/network/mutate/README.md)
586
- at about 1412 lines
587
- - [src/architecture/network/activate/README.md](../src/architecture/network/activate/README.md)
588
- at about 1192 lines
589
- - [src/architecture/network/slab/README.md](../src/architecture/network/slab/README.md)
590
- at about 1093 lines
591
- - [src/architecture/network/serialize/README.md](../src/architecture/network/serialize/README.md)
592
- at about 1044 lines
593
- - Thin generated README audit candidates discovered from the refreshed docs:
594
- - [src/architecture/activationArrayPool/README.md](../src/architecture/activationArrayPool/README.md)
595
- at about 24 lines
596
- - [src/architecture/nodePool/README.md](../src/architecture/nodePool/README.md)
597
- at about 51 lines
598
- - Add more placeholders here if later split passes discover another overloaded
599
- helper chapter or a README whose size/quality indicates additional follow-up.
600
-
601
- ## [DONE] Compact Pass Log
602
-
603
- - Root primitives and builders: folderized and stabilized behind temporary flat
604
- facades.
605
- - Pool ownership follow-through: chapter ownership complete.
606
- - Layer normalization: chapter ownership complete.
607
- - Network normalization: chapter ownership complete; flat facade intentionally
608
- retained.
609
- - Network internal passes completed so far:
610
- - bootstrap
611
- - topology contract and builder delegation
612
- - descriptor ownership and hydrated fallback delegation
613
- - structural mutation delegation for `addNodeBetween()`
614
- - clone delegation through serialize chapter helpers
615
- - activation orchestration delegation
616
- - runtime configuration
617
- - runtime diagnostics
618
- - training lifecycle delegation
619
- - remove wrapper pooling follow-through
620
- - test-time evaluation delegation
621
- - Remaining planned high-level passes:
622
- - none
623
-
624
- ## Handoff query
625
-
626
- ```text
627
- Continue from the current repo state only. Do not rely on prior chat history.
628
-
629
- Workstream: architecture solid split
630
- Plan: plans/architecture-solid-split.plans.md
631
- Status: [DONE]
632
- Active boundary: none
633
-
634
- Already covered:
635
- - architecture root primitives and builders were folderized and stabilized behind intentional compatibility facades where still required
636
- - Network ownership moved into src/architecture/network/network.ts
637
- - bootstrap, topology contract, structural mutation delegation, clone delegation, runtime configuration, runtime diagnostics, and test-time evaluation have already been extracted or delegated into their chapter-owned boundaries
638
- - ONNX export implementation has been folderized under src/architecture/network/onnx/export while the public ONNX entry points remain stable
639
- - ONNX import implementation has been folderized under src/architecture/network/onnx/import while the public ONNX entry points remain stable
640
- - the ONNX root README now has an explicit chapter map and docs ordering so the root chapter teaches how to navigate export/import/schema versus the root compatibility barrels
641
- - the root ONNX compatibility utility and types barrels now explain their bridge role directly in the generated root README
642
- - the ONNX root shared-holdout audit found that the remaining root bridge contracts are still genuinely cross-chapter and should stay put for now
643
- - the broader network README now opens on the public Network class instead of the large root types shelf
644
- - the Network public-surface docs pass is now complete: underscore-prefixed runtime members are hidden from generated docs, and standalone/train/evolve now appear in the generated network chapter
645
- - the network docs and size audit is now complete: the remaining root Network methods are thin compatibility wrappers or tiny convenience helpers, so no additional class-owned split is justified right now
646
- - the architecture root now has an explicit docs-order and compatibility-facade chapter map, and the generated root README now keeps that intro while hiding the flat root re-export shelf
25
+ - The final state is stable enough to stop being a Phase 0 blocker.
647
26
 
648
- High-level remaining path:
649
- - none
27
+ ## Reopen conditions
650
28
 
651
- Next task if this workstream is reopened:
652
- - decide whether the flat architecture compatibility facades should actually be removed rather than merely documented
653
- - scope the public-import churn across tests, examples, and generated docs before making that change
654
- - leave the root ONNX shared bridge contracts in place unless a future public-import cleanup proves otherwise
29
+ - Future architecture refactors reintroduce flat or monolithic ownership.
30
+ - Public-import cleanup becomes necessary after additional architecture work.
31
+ - ONNX or network documentation surfaces grow beyond the current split.
655
32
 
656
- Required workflow:
657
- 1. Read src/architecture/README.md first.
658
- 2. Read plans/architecture-solid-split.plans.md.
659
- 3. Inspect src/architecture and the specific flat compatibility facade or bridge surface being reconsidered.
660
- 4. Complete only one durable step.
661
- 5. Update this plan using [PLANNED], [WIP], and [DONE] markers and keep older coverage compressed.
662
- 6. Refresh docs and run: npm run docs
663
- 7. Validate with: npx tsc --noEmit -p tsconfig.json
33
+ ## Audit log
664
34
 
665
- Constraints:
666
- - keep the public compatibility surface stable
667
- - do not reopen the flat network facade decision unless the reopened task explicitly targets public-import cleanup
668
- - do not re-expand completed history in the plan
669
- ```
35
+ - Durable completion notes now live in
36
+ [architecture-solid-split.logs.md](architecture-solid-split.logs.md).