@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
@@ -91,23 +91,23 @@ Decision rule:
91
91
  Use this matrix when you know the question you want the diagram to answer but
92
92
  have not picked the family yet.
93
93
 
94
- | Question to answer | First choice | Strong fallback | Why |
95
- | --- | --- | --- | --- |
96
- | What are the main parts and boundaries? | `flowchart` | `architecture-beta` or `block` | Flowcharts are the most portable structural default. |
97
- | Who talks to whom, and in what order? | `sequenceDiagram` | `flowchart` | Ordering is the point, not topology. |
98
- | What types own what responsibilities? | `classDiagram` | `erDiagram` | Class diagrams fit API and service structure better than runtime views. |
99
- | What states or modes can this runtime enter? | `stateDiagram-v2` | `flowchart` | State machines deserve state syntax. |
100
- | What entities exist and how many relate? | `erDiagram` | `classDiagram` | Multiplicity is explicit in ER diagrams. |
101
- | What does a reader or operator experience over time? | `journey` | `timeline` | Journey diagrams capture narrative steps and friction. |
102
- | When did phases or milestones happen? | `timeline` | `gantt` | Timelines tell history; gantt charts tell scheduled work. |
103
- | What work overlaps and what depends on what? | `gantt` | `timeline` | Gantt is better for active plans and sequencing. |
104
- | How do options compare across two axes? | `quadrantChart` | Markdown table | Quadrants are ideal for prioritization and tradeoff framing. |
105
- | How does quantity change across time or categories? | `xychart-beta` | `pie` | XY charts are better for trends than prose tables. |
106
- | How is a whole split across a few categories? | `pie` | Markdown table | Pie is only useful for very small categorical splits. |
107
- | How do flows split or converge between stages? | `sankey` | `flowchart` | Sankey emphasizes weighted movement, not just routes. |
108
- | How did branches, releases, or migrations evolve? | `gitGraph` | `timeline` | GitGraph is ideal when branch semantics matter. |
109
- | How should ideas be clustered for learning? | `mindmap` | `flowchart` | Mindmaps are good for concept scaffolding and taxonomy. |
110
- | How should fixed lanes or layout be preserved? | `block` | `flowchart` | Block diagrams trade auto-layout for positional control. |
94
+ | Question to answer | First choice | Strong fallback | Why |
95
+ | ---------------------------------------------------- | ----------------- | ------------------------------ | ----------------------------------------------------------------------- |
96
+ | What are the main parts and boundaries? | `flowchart` | `architecture-beta` or `block` | Flowcharts are the most portable structural default. |
97
+ | Who talks to whom, and in what order? | `sequenceDiagram` | `flowchart` | Ordering is the point, not topology. |
98
+ | What types own what responsibilities? | `classDiagram` | `erDiagram` | Class diagrams fit API and service structure better than runtime views. |
99
+ | What states or modes can this runtime enter? | `stateDiagram-v2` | `flowchart` | State machines deserve state syntax. |
100
+ | What entities exist and how many relate? | `erDiagram` | `classDiagram` | Multiplicity is explicit in ER diagrams. |
101
+ | What does a reader or operator experience over time? | `journey` | `timeline` | Journey diagrams capture narrative steps and friction. |
102
+ | When did phases or milestones happen? | `timeline` | `gantt` | Timelines tell history; gantt charts tell scheduled work. |
103
+ | What work overlaps and what depends on what? | `gantt` | `timeline` | Gantt is better for active plans and sequencing. |
104
+ | How do options compare across two axes? | `quadrantChart` | Markdown table | Quadrants are ideal for prioritization and tradeoff framing. |
105
+ | How does quantity change across time or categories? | `xychart-beta` | `pie` | XY charts are better for trends than prose tables. |
106
+ | How is a whole split across a few categories? | `pie` | Markdown table | Pie is only useful for very small categorical splits. |
107
+ | How do flows split or converge between stages? | `sankey` | `flowchart` | Sankey emphasizes weighted movement, not just routes. |
108
+ | How did branches, releases, or migrations evolve? | `gitGraph` | `timeline` | GitGraph is ideal when branch semantics matter. |
109
+ | How should ideas be clustered for learning? | `mindmap` | `flowchart` | Mindmaps are good for concept scaffolding and taxonomy. |
110
+ | How should fixed lanes or layout be preserved? | `block` | `flowchart` | Block diagrams trade auto-layout for positional control. |
111
111
 
112
112
  ## Diagram Selection Matrix
113
113
 
@@ -441,129 +441,129 @@ erDiagram
441
441
  ROLLOUT ||--o{ SNAPSHOT : emits
442
442
  ```
443
443
 
444
- ### Class diagrams
445
-
446
- Use class diagrams when the teaching goal is ownership or API structure rather
447
- than runtime sequencing.
448
-
449
- Example:
450
-
451
- ```mermaid
452
- classDiagram
453
- direction LR
454
- class BrowserEntry {
455
- +boot()
456
- +renderHud()
457
- }
458
- class PlaybackStore {
459
- +snapshots
460
- +append(snapshot)
461
- +reset()
462
- }
463
- class WorkerClient {
464
- +requestEvaluation()
465
- }
466
- class SnapshotPacker {
467
- +pack(generation) Packet
468
- }
469
-
470
- BrowserEntry --> WorkerClient : delegates to
471
- BrowserEntry --> PlaybackStore : reads from
472
- WorkerClient --> SnapshotPacker : requests
473
- SnapshotPacker --> PlaybackStore : fills
474
- ```
475
-
476
- ### Journey diagrams
477
-
478
- Use `journey` when the central question is what a reader, operator, or
479
- contributor experiences across a staged path.
480
-
481
- Example:
482
-
483
- ```mermaid
484
- journey
485
- title First-time reader path through a module README
486
- section Orientation
487
- Learn the module purpose: 5: Reader
488
- Find the owning boundary: 4: Reader
489
- section Validation
490
- Inspect the public API: 4: Reader
491
- Run the example or docs build: 3: Reader, Maintainer
492
- section Confidence
493
- Trace the next file to read: 5: Reader
494
- ```
495
-
496
- ### Timeline diagrams
497
-
498
- Use timelines for history, milestone sequencing, or concept evolution.
499
-
500
- Example:
501
-
502
- ```mermaid
503
- timeline
504
- title Docs surface evolution
505
- section Discovery
506
- README-first policy : Read folder README before source
507
- Source mapping : Trace JSDoc to generated output
508
- section Visuals
509
- Mermaid guidance : Add the lightest useful diagram
510
- Validation : Run Mermaid CLI before finalizing
511
- ```
512
-
513
- ### Gantt charts
514
-
515
- Use `gantt` when the reader needs schedule overlap, dependencies, or active plan
516
- state.
517
-
518
- Example:
519
-
520
- ```mermaid
521
- gantt
522
- title Documentation pass plan
523
- dateFormat YYYY-MM-DD
524
- axisFormat %m/%d
525
- section Docs
526
- Expand playbook :done, playbook, 2026-03-14, 1d
527
- Validate recipes :active, validate, after playbook, 1d
528
- Refresh generated docs :refresh, after validate, 1d
529
- ```
530
-
531
- ### Quadrant charts
532
-
533
- Use `quadrantChart` for prioritization or two-axis tradeoff communication.
534
-
535
- Example:
536
-
537
- ```mermaid
538
- quadrantChart
539
- title Mermaid choice tradeoffs
540
- x-axis Narrow reuse --> Broad reuse
541
- y-axis Low teaching value --> High teaching value
542
- quadrant-1 Strong default
543
- quadrant-2 Specialist win
544
- quadrant-3 Skip it
545
- quadrant-4 Nice when needed
546
- Flowchart: [0.92, 0.88]
547
- Sequence: [0.78, 0.82]
548
- Sankey: [0.45, 0.76]
549
- Pie: [0.40, 0.38]
550
- ```
551
-
552
- ### Pie charts
553
-
554
- Use pie charts only for small categorical splits with very few slices.
555
-
556
- Example:
557
-
558
- ```mermaid
559
- pie showData
560
- title Diagram family share in a docs set
561
- "Flowchart" : 42
562
- "Sequence" : 18
563
- "State" : 12
564
- "Charting" : 10
565
- "Other" : 18
566
- ```
444
+ ### Class diagrams
445
+
446
+ Use class diagrams when the teaching goal is ownership or API structure rather
447
+ than runtime sequencing.
448
+
449
+ Example:
450
+
451
+ ```mermaid
452
+ classDiagram
453
+ direction LR
454
+ class BrowserEntry {
455
+ +boot()
456
+ +renderHud()
457
+ }
458
+ class PlaybackStore {
459
+ +snapshots
460
+ +append(snapshot)
461
+ +reset()
462
+ }
463
+ class WorkerClient {
464
+ +requestEvaluation()
465
+ }
466
+ class SnapshotPacker {
467
+ +pack(generation) Packet
468
+ }
469
+
470
+ BrowserEntry --> WorkerClient : delegates to
471
+ BrowserEntry --> PlaybackStore : reads from
472
+ WorkerClient --> SnapshotPacker : requests
473
+ SnapshotPacker --> PlaybackStore : fills
474
+ ```
475
+
476
+ ### Journey diagrams
477
+
478
+ Use `journey` when the central question is what a reader, operator, or
479
+ contributor experiences across a staged path.
480
+
481
+ Example:
482
+
483
+ ```mermaid
484
+ journey
485
+ title First-time reader path through a module README
486
+ section Orientation
487
+ Learn the module purpose: 5: Reader
488
+ Find the owning boundary: 4: Reader
489
+ section Validation
490
+ Inspect the public API: 4: Reader
491
+ Run the example or docs build: 3: Reader, Maintainer
492
+ section Confidence
493
+ Trace the next file to read: 5: Reader
494
+ ```
495
+
496
+ ### Timeline diagrams
497
+
498
+ Use timelines for history, milestone sequencing, or concept evolution.
499
+
500
+ Example:
501
+
502
+ ```mermaid
503
+ timeline
504
+ title Docs surface evolution
505
+ section Discovery
506
+ README-first policy : Read folder README before source
507
+ Source mapping : Trace JSDoc to generated output
508
+ section Visuals
509
+ Mermaid guidance : Add the lightest useful diagram
510
+ Validation : Run Mermaid CLI before finalizing
511
+ ```
512
+
513
+ ### Gantt charts
514
+
515
+ Use `gantt` when the reader needs schedule overlap, dependencies, or active plan
516
+ state.
517
+
518
+ Example:
519
+
520
+ ```mermaid
521
+ gantt
522
+ title Documentation pass plan
523
+ dateFormat YYYY-MM-DD
524
+ axisFormat %m/%d
525
+ section Docs
526
+ Expand playbook :done, playbook, 2026-03-14, 1d
527
+ Validate recipes :active, validate, after playbook, 1d
528
+ Refresh generated docs :refresh, after validate, 1d
529
+ ```
530
+
531
+ ### Quadrant charts
532
+
533
+ Use `quadrantChart` for prioritization or two-axis tradeoff communication.
534
+
535
+ Example:
536
+
537
+ ```mermaid
538
+ quadrantChart
539
+ title Mermaid choice tradeoffs
540
+ x-axis Narrow reuse --> Broad reuse
541
+ y-axis Low teaching value --> High teaching value
542
+ quadrant-1 Strong default
543
+ quadrant-2 Specialist win
544
+ quadrant-3 Skip it
545
+ quadrant-4 Nice when needed
546
+ Flowchart: [0.92, 0.88]
547
+ Sequence: [0.78, 0.82]
548
+ Sankey: [0.45, 0.76]
549
+ Pie: [0.40, 0.38]
550
+ ```
551
+
552
+ ### Pie charts
553
+
554
+ Use pie charts only for small categorical splits with very few slices.
555
+
556
+ Example:
557
+
558
+ ```mermaid
559
+ pie showData
560
+ title Diagram family share in a docs set
561
+ "Flowchart" : 42
562
+ "Sequence" : 18
563
+ "State" : 12
564
+ "Charting" : 10
565
+ "Other" : 18
566
+ ```
567
567
 
568
568
  ### XY charts
569
569
 
@@ -697,7 +697,7 @@ Before finalizing a Mermaid diagram:
697
697
  1. Ask whether the diagram teaches something prose cannot teach as quickly.
698
698
  2. Check that labels are short and consistent with repo terminology.
699
699
  3. Ask whether the primary reading surface is GitHub Markdown, generated HTML
700
- docs, or both.
700
+ docs, or both.
701
701
  4. Verify the syntax in a Mermaid-capable renderer when the diagram is complex.
702
702
  5. Prefer the `renderMermaidDiagram` tool for fast validation when available.
703
703
  6. Re-read the surrounding prose and make sure the diagram is introduced and
@@ -162,4 +162,4 @@ For Markdown tables and prose callouts in docs surfaces:
162
162
 
163
163
  If a reader remembers the diagram as "bright and arcade-like" but cannot quickly
164
164
  identify the main path, the styling failed. The target is readable neon, not
165
- neon noise.
165
+ neon noise.
@@ -111,4 +111,4 @@ A strong run should report:
111
111
  - any optional secondary plan and why,
112
112
  - preserved terms or constraints,
113
113
  - mismatch risks,
114
- - the safest aligned next step for implementation.
114
+ - the safest aligned next step for implementation.
@@ -41,7 +41,7 @@ user has explicitly deferred that follow-up.
41
41
  - Generated folder README output looks stale, thin, or not educational enough
42
42
  after a refactor.
43
43
  - A multi-session split needs a durable plan, strict step sequencing, and a
44
- high-quality handoff prompt for the next session.
44
+ high-quality active-session handoff prompt unless the workstream closes.
45
45
 
46
46
  ## Invocation Pattern
47
47
 
@@ -120,17 +120,17 @@ Worktree caution: generated README files may already be dirty from npm run docs.
120
120
  For any non-trivial split, follow this order before editing:
121
121
 
122
122
  1. Build a full README inventory for the requested root, including nested
123
- subfolder `README.md` files that shape the documentation surface.
123
+ subfolder `README.md` files that shape the documentation surface.
124
124
  2. Convert that README inventory into an explicit todo list so the session can
125
- proceed folder by folder with visible scope.
125
+ proceed folder by folder with visible scope.
126
126
  3. Read the nearest folder `README.md` for the target root.
127
127
  4. Read the nearest useful parent `README.md` if the split spans sibling
128
- surfaces.
128
+ surfaces.
129
129
  5. Read `plans/README.md`.
130
130
  6. Read only the single most relevant detailed plan, plus at most one adjacent
131
- plan if the split clearly spans two initiatives.
131
+ plan if the split clearly spans two initiatives.
132
132
  7. Then inspect the smallest set of source files needed to confirm the actual
133
- seams.
133
+ seams.
134
134
 
135
135
  Generated folder README files are reconnaissance artifacts. Do not hand-edit
136
136
  them. Use them to infer responsibility boundaries, missing docs, stale public
@@ -181,42 +181,54 @@ API, default, or runtime contract.
181
181
  2. Build a full inventory of every `README.md` under that root.
182
182
  3. Convert the inventory into a todo list that names each README-owning folder.
183
183
  4. Read the README files in that inventory before deep code search, starting at
184
- the root and then proceeding folder by folder.
184
+ the root and then proceeding folder by folder.
185
185
  5. Read `plans/README.md`, then the single most relevant plan file when the work
186
186
  is architectural or part of an ongoing roadmap stream.
187
187
  6. If the split spans an unfamiliar area, use the existing `Boundary Mapper`,
188
188
  `Plan Scout`, or `Docs Scout` agents as needed.
189
189
  7. If no durable plan exists, create one using the bundled template.
190
190
  8. Keep the README todo explicit and folder-focused, with exactly one active
191
- README or folder documentation item at a time.
191
+ README or folder documentation item at a time.
192
192
  9. Execute only one durable step unless the user explicitly asks for more.
193
193
  10. Improve JSDoc on touched exported and public surfaces so generated README
194
- output remains educational, example-driven, and conceptually clear.
194
+ output remains educational, example-driven, and conceptually clear.
195
195
  11. After moving a boundary into a real folder, update repo-local imports and
196
- tests to use the new folder path directly unless the task packet explicitly
197
- requires compatibility files.
196
+ tests to use the new folder path directly unless the task packet explicitly
197
+ requires compatibility files.
198
198
  12. Delete obsolete flat or mirror files from the old location once direct
199
- imports are in place and validations pass.
199
+ imports are in place and validations pass.
200
200
  13. Update the plan immediately after the step completes.
201
- - Follow `tracker-handoff` for `[PLANNED]`, `[WIP]`, `[DONE]`, compression,
202
- and `Handoff query` structure.
203
- - Use stable undated section titles in plan logs and handoff material.
204
- - Prefer `### Playback boundary pass` over
205
- `### YYYY-MM-DD - Playback boundary pass`.
201
+
202
+ - Follow `tracker-handoff` for `[PLANNED]`, `[WIP]`, `[DONE]`, compression,
203
+ and `Handoff query` structure.
204
+ - Use stable undated section titles in plan logs and handoff material.
205
+ - Prefer `### Playback boundary pass` over
206
+ `### YYYY-MM-DD - Playback boundary pass`.
207
+
206
208
  14. Immediately run `educational-docs` as the next step on the touched
207
- surface.
208
- - This is mandatory even when the user invokes `solid-split` directly.
209
- - Pass the changed boundary, the intended reader, whether the surface is
210
- generated from source JSDoc, and any relevant doc needs such as tone
211
- shaping, source mapping, Mermaid, citations, or media constraints.
212
- - Treat this as a focused follow-up pass on the exact split changes, not as
213
- permission to start a broad unrelated docs rewrite.
214
- - Do not report the split step as complete until that follow-up has run or
215
- the user has explicitly said to defer it.
209
+ surface.
210
+
211
+ - This is mandatory even when the user invokes `solid-split` directly.
212
+ - Pass the changed boundary, the intended reader, whether the surface is
213
+ generated from source JSDoc, and any relevant doc needs such as tone
214
+ shaping, source mapping, Mermaid, citations, or media constraints.
215
+ - Treat this as a focused follow-up pass on the exact split changes, not as
216
+ permission to start a broad unrelated docs rewrite.
217
+ - Do not report the split step as complete until that follow-up has run or
218
+ the user has explicitly said to defer it.
219
+
216
220
  15. Run the minimum validation needed for touched files, documentation output,
217
- and the step's done criteria.
218
- 16. End with a next-session handoff prompt that can continue from the next step
219
- without depending on prior chat history.
221
+ and the step's done criteria.
222
+ 16. End with the correct tracker-closing action for the current state.
223
+
224
+ - If the workstream is still active, end with a next-session handoff prompt
225
+ that can continue from the next step without depending on prior chat
226
+ history.
227
+ - If the workstream becomes fully complete, use `tracker-handoff` to
228
+ compress the plan into a short closed tracker and add or update the
229
+ same-boundary `.logs.md` file.
230
+ - Do not preserve a next-session handoff prompt on a terminally closed plan
231
+ unless the user explicitly wants reopen guidance.
220
232
 
221
233
  ## Small-Chapter Standard
222
234
 
@@ -252,14 +264,19 @@ This standard overrides older habits of leaving broad root READMEs or keeping
252
264
  flat compatibility wrappers after folderization, regardless of which part of
253
265
  the repo is being split.
254
266
 
255
- ## Handoff Prompt Standard
267
+ ## Active-Plan Handoff Standard
256
268
 
257
- Every completed split step must end with a handoff prompt that is ready to use
258
- in a fresh chat with this skill attached.
269
+ Every completed split step that leaves the workstream active must end with a
270
+ handoff prompt that is ready to use in a fresh chat with this skill attached.
259
271
 
260
272
  Use `tracker-handoff` as the canonical policy for how that prompt is stored in
261
273
  the plan file and how active versus completed tracker sections are marked.
262
274
 
275
+ When the split workstream is fully complete, the terminal closure rule takes
276
+ precedence instead: compress the `.plans.md` file, add or update the matching
277
+ `.logs.md` file, and omit the handoff prompt unless the user explicitly wants a
278
+ reopen prompt.
279
+
263
280
  The handoff prompt must:
264
281
 
265
282
  - name the split root,
@@ -287,9 +304,9 @@ If a companion agent uses this skill, it should:
287
304
  1. Name this skill explicitly as `solid-split`.
288
305
  2. Pass the current task packet into the skill instead of paraphrasing it away.
289
306
  3. Reuse this skill's discovery order and guardrails instead of copying them
290
- into the agent prompt at full length.
307
+ into the agent prompt at full length.
291
308
  4. Keep the agent prompt focused on execution-only concerns: one-step scope,
292
- output shape, blocker handling, and handoff quality.
309
+ output shape, blocker handling, and handoff quality.
293
310
  5. Update the agent when this skill changes materially so both remain aligned.
294
311
 
295
312
  ## Documentation Delegation
@@ -423,4 +440,6 @@ The final response for a split step should include:
423
440
  deferred,
424
441
  - validation results,
425
442
  - the durable plan update,
426
- - a fenced `text` handoff prompt for the next step.
443
+ - either a fenced `text` handoff prompt for the next step when the plan remains
444
+ active, or the closed tracker plus matching `.logs.md` paths when the plan
445
+ was terminally closed.
@@ -37,4 +37,4 @@ Ask these questions while looking at the generated folder README:
37
37
  shared Astro Bird visual language for Mermaid diagrams, tables, or callouts.
38
38
  - Keep examples and explanations dependency-light so they survive doc
39
39
  generation cleanly.
40
- - Avoid filler comments that say only what the code already states.
40
+ - Avoid filler comments that say only what the code already states.
@@ -1,6 +1,8 @@
1
1
  # <Workstream Name> SOLID Split
2
2
 
3
- ## Purpose
3
+ **Status:** [WIP]
4
+
5
+ ## Scope
4
6
 
5
7
  Describe the coordination sink being reduced, the stable surface that must keep
6
8
  working, and the target architectural shape after the split.
@@ -14,11 +16,13 @@ working, and the target architectural shape after the split.
14
16
 
15
17
  ## Durable Rules
16
18
 
17
- - Keep exactly one active step at a time.
19
+ - Keep exactly one active `[WIP]` step at a time.
18
20
  - Update this plan immediately after each completed step.
19
21
  - Preserve stable imports unless a breaking change is explicitly approved.
20
22
  - Do not hand-edit generated README files; improve source JSDoc and run docs.
21
23
  - Keep the true public facade orchestration-first.
24
+ - When this workstream reaches terminal `[DONE]`, compress this file into a
25
+ short closed tracker and add or update the matching `.logs.md` file.
22
26
 
23
27
  ## Target Shape
24
28
 
@@ -28,16 +32,38 @@ working, and the target architectural shape after the split.
28
32
  - Implementation detail moves behind focused `*.services.ts`, `*.utils.ts`,
29
33
  `*.types.ts`, `*.errors.ts`, or `*.constants.ts` files.
30
34
 
31
- ## Steps
35
+ ## Current state
36
+
37
+ - Active boundary: `<path or seam>`
38
+ - Current pressure: `<why this boundary still needs work>`
39
+ - Worktree cautions: `<generated docs drift, unrelated edits, or n/a>`
40
+
41
+ ## Coverage backlog
42
+
43
+ - [WIP] Step 1: Map the current boundary, stable imports, and likely helper
44
+ seams.
45
+ - [PLANNED] Step 2: Extract the first focused responsibility cluster behind the
46
+ stable facade.
47
+ - [PLANNED] Step 3: Extract the next responsibility cluster and reduce the
48
+ facade to orchestration-only behavior.
49
+ - [PLANNED] Step 4: Improve JSDoc so the generated README reads naturally for
50
+ the new boundary.
51
+ - [PLANNED] Step 5: Validate the touched surface and record the durable
52
+ boundary note.
53
+
54
+ ## Immediate next steps
55
+
56
+ - Execute only the single active `[WIP]` step.
57
+ - Refresh `## Handoff query` whenever the workstream remains active.
58
+ - If the whole workstream closes, replace active-session scaffolding with a
59
+ short closed tracker and add or update the matching `.logs.md` file.
60
+
61
+ ## Handoff query
32
62
 
33
- - [] Step 1: Map the current boundary, stable imports, and likely helper seams.
34
- - [] Step 2: Extract the first focused responsibility cluster behind the stable
35
- facade.
36
- - [] Step 3: Extract the next responsibility cluster and reduce the facade to
37
- orchestration-only behavior.
38
- - [] Step 4: Improve JSDoc so the generated README reads naturally for the new
39
- boundary.
40
- - [] Step 5: Validate the touched surface and record the durable boundary note.
63
+ ```text
64
+ Continue from the current repo state only. Do not rely on prior chat history.
65
+ <Describe the next narrow split step, the files to read first, and the required validations.>
66
+ ```
41
67
 
42
68
  ## Done Criteria
43
69
 
@@ -45,4 +71,7 @@ working, and the target architectural shape after the split.
45
71
  - The public facade remains stable and orchestration-first.
46
72
  - Extracted helper files own the detailed responsibilities.
47
73
  - Generated README output reflects the new shape after docs regeneration.
48
- - The boundary can be resumed safely in a later session from this plan alone.
74
+ - If more work remains, the boundary can be resumed safely in a later session
75
+ from this plan alone.
76
+ - If no work remains, this plan is compressed into a short closed tracker and a
77
+ matching `.logs.md` file records the durable audit history.
@@ -48,4 +48,7 @@ Use this checklist during each SOLID split session.
48
48
  2. Run focused tests if the extracted logic has meaningful behavior to lock in.
49
49
  3. Run `npm run docs` when JSDoc or folder shape changed.
50
50
  4. Update the plan immediately after the step is complete.
51
- 5. Stop and produce the next-session handoff prompt.
51
+ 5. If the workstream remains active, stop and produce the next-session handoff
52
+ prompt.
53
+ 6. If the workstream is fully complete, finish by compressing the plan into a
54
+ short closed tracker and adding or updating the matching `.logs.md` file.
@@ -52,9 +52,9 @@ Final validation: npx tsc --noEmit -p tsconfig.test.json, then npm test.
52
52
  ## Required Workflow
53
53
 
54
54
  1. Create or update a durable fix plan before changing code.
55
- - If the tracker format itself is being created or rewritten, follow
56
- `tracker-handoff` for `[PLANNED]`, `[WIP]`, `[DONE]`, compression, and
57
- `Handoff query` structure.
55
+ - If the tracker format itself is being created or rewritten, follow
56
+ `tracker-handoff` for `[PLANNED]`, `[WIP]`, `[DONE]`, compression, and
57
+ `Handoff query` structure.
58
58
  2. Group failures by class.
59
59
  - Typical buckets: TypeScript compilation blockers, runtime logic, async or
60
60
  sequencing issues, assertion drift, and investigation-required failures.
@@ -73,10 +73,15 @@ Final validation: npx tsc --noEmit -p tsconfig.test.json, then npm test.
73
73
  ## Guardrails
74
74
 
75
75
  - Do not prepend specific calendar dates to durable fix-plan headings, status
76
- logs, or handoff sections. Use stable undated labels so the plan can be
77
- revised cleanly across sessions.
76
+ logs, or handoff sections. Use stable undated labels so the plan can be
77
+ revised cleanly across sessions.
78
78
  - Do not use ad hoc plan markers when a fix tracker is updated; use
79
- `tracker-handoff` conventions instead.
79
+ `tracker-handoff` conventions instead.
80
+ - When the fix workstream becomes fully complete, finish by using
81
+ `tracker-handoff` to compress the `.plans.md` file into a short closed
82
+ tracker and add or update the same-boundary `.logs.md` file.
83
+ - Do not preserve a `Handoff query` on a terminally closed fix plan unless the
84
+ user explicitly wants reopen guidance.
80
85
  - Do not bounce between test execution and partial fixes when the workflow is
81
86
  still in the main repair phase.
82
87
  - Do not treat partial reruns as a substitute for a durable plan.
@@ -102,4 +107,4 @@ A strong run should report:
102
107
  - the failure categories addressed,
103
108
  - which validations were intentionally deferred until the end,
104
109
  - final validation results,
105
- - any remaining failures or follow-up items.
110
+ - any remaining failures or follow-up items.
@@ -65,4 +65,4 @@ of only consuming its current output.
65
65
  - The script already supports thread summaries, longest events, event rollups,
66
66
  function-call attribution, and percentile summaries for selected events.
67
67
  - Extend the current architecture instead of replacing it with a large parser
68
- abstraction unless the script has clearly outgrown the current shape.
68
+ abstraction unless the script has clearly outgrown the current shape.
@@ -21,4 +21,4 @@ Use this checklist before finalizing changes to `scripts/analyze-trace/analyze-t
21
21
  - Confirm the new section is actionable.
22
22
  - Confirm the new section does not duplicate older output.
23
23
  - Update the reporting skill if the default workflow changed.
24
- - Summarize the engineering value of the new section, not just the code change.
24
+ - Summarize the engineering value of the new section, not just the code change.
@@ -98,4 +98,4 @@ Examples:
98
98
  - Mixing data collection, formatting, and CLI parsing into one large helper.
99
99
  - Replacing deterministic summaries with subjective prose inside the script.
100
100
  - Adding a feature that only makes sense for one trace file with no reusable
101
- value.
101
+ value.
@@ -102,4 +102,4 @@ surface for the library rather than the final destination for a workaround.
102
102
  - For work in `src/` or `test/`, consult the nearest folder `README.md` before
103
103
  deep file reads.
104
104
  - For substantial architecture findings, align the report with the relevant
105
- `plans/` document when one exists.
105
+ `plans/` document when one exists.
@@ -120,4 +120,4 @@ Summarize:
120
120
  1. what is bottlenecked now,
121
121
  2. what matters most to users,
122
122
  3. what matters most for scalability,
123
- 4. what should be implemented next.
123
+ 4. what should be implemented next.