@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.
- package/.github/agents/boundary-mapper.agent.md +13 -8
- package/.github/agents/docs-scout.agent.md +14 -9
- package/.github/agents/plan-scout.agent.md +11 -6
- package/.github/agents/solid-split.agent.md +33 -17
- package/.github/copilot-instructions.md +100 -88
- package/.github/skills/educational-docs/SKILL.md +90 -40
- package/.github/skills/educational-docs/assets/mermaid-diagram-playbook.md +141 -141
- package/.github/skills/educational-docs/assets/visual-style-guide.md +1 -1
- package/.github/skills/plan-alignment/SKILL.md +1 -1
- package/.github/skills/solid-split/SKILL.md +54 -35
- package/.github/skills/solid-split/assets/docs-checklist.md +1 -1
- package/.github/skills/solid-split/assets/split-plan-template.md +41 -12
- package/.github/skills/solid-split/assets/split-workflow-checklist.md +4 -1
- package/.github/skills/test-fix-workflow/SKILL.md +12 -7
- package/.github/skills/trace-analyzer-extension/SKILL.md +1 -1
- package/.github/skills/trace-analyzer-extension/assets/extension-checklist.md +1 -1
- package/.github/skills/trace-analyzer-extension/references/analyzer-extension-workflow.md +1 -1
- package/.github/skills/trace-audit-reporting/SKILL.md +1 -1
- package/.github/skills/trace-audit-reporting/assets/performance-report-template.md +1 -1
- package/.github/skills/trace-audit-reporting/references/trace-analysis-workflow.md +1 -1
- package/.github/skills/tracker-handoff/SKILL.md +53 -5
- package/package.json +1 -1
- package/plans/Flappy_Bird_Folder_Documentation_Pass.logs.md +42 -0
- package/plans/Flappy_Bird_Folder_Documentation_Pass.md +22 -104
- package/plans/README.md +6 -2
- package/plans/Roadmap.md +35 -31
- package/plans/analyze-trace-solid-split.logs.md +35 -0
- package/plans/analyze-trace-solid-split.plans.md +21 -52
- package/plans/architecture-solid-split.logs.md +44 -0
- package/plans/architecture-solid-split.plans.md +20 -653
- package/plans/asciiMaze-typescript-repair.logs.md +35 -0
- package/plans/asciiMaze-typescript-repair.plans.md +30 -36
- package/plans/generate-docs-solid-split.logs.md +36 -0
- package/plans/generate-docs-solid-split.plans.md +21 -73
- package/plans/methods-docs.logs.md +37 -0
- package/plans/methods-docs.plans.md +22 -183
- package/plans/methods-solid-split.logs.md +41 -0
- package/plans/methods-solid-split.plans.md +23 -65
- package/plans/neat-docs.logs.md +38 -0
- package/plans/neat-docs.plans.md +21 -63
- package/plans/neat-test-surface-repair.logs.md +38 -0
- package/plans/neat-test-surface-repair.plans.md +24 -24
- package/plans/readme-first-section-pass.logs.md +63 -0
- package/plans/readme-first-section-pass.plans.md +42 -0
- package/plans/render-docs-html-solid-split.logs.md +36 -0
- package/plans/render-docs-html-solid-split.plans.md +20 -54
- package/plans/src-no-explicit-any-cleanup.logs.md +39 -0
- package/plans/src-no-explicit-any-cleanup.plans.md +23 -161
- package/plans/utils-docs.logs.md +37 -0
- package/plans/utils-docs.plans.md +20 -35
- package/src/README.md +88 -22
- package/src/architecture/README.md +94 -17
- package/src/architecture/activationArrayPool/README.md +53 -0
- package/src/architecture/activationArrayPool/activationArrayPool.ts +53 -0
- package/src/architecture/layer/README.md +94 -5
- package/src/architecture/layer/layer.ts +94 -5
- package/src/architecture/network/README.md +85 -14
- package/src/architecture/network/activate/README.md +301 -213
- package/src/architecture/network/activate/docs.order.json +9 -0
- package/src/architecture/network/activate/network.activate.utils.ts +90 -0
- package/src/architecture/network/connect/README.md +80 -3
- package/src/architecture/network/connect/docs.order.json +9 -0
- package/src/architecture/network/connect/network.connect.utils.ts +79 -0
- package/src/architecture/network/deterministic/README.md +96 -12
- package/src/architecture/network/deterministic/docs.order.json +10 -0
- package/src/architecture/network/deterministic/network.deterministic.utils.ts +90 -0
- package/src/architecture/network/evolve/README.md +286 -228
- package/src/architecture/network/evolve/docs.order.json +11 -0
- package/src/architecture/network/evolve/network.evolve.utils.ts +59 -0
- package/src/architecture/network/gating/README.md +58 -16
- package/src/architecture/network/gating/docs.order.json +9 -0
- package/src/architecture/network/gating/network.gating.utils.ts +43 -0
- package/src/architecture/network/genetic/README.md +75 -36
- package/src/architecture/network/genetic/docs.order.json +10 -0
- package/src/architecture/network/genetic/network.genetic.utils.ts +53 -17
- package/src/architecture/network/network.ts +91 -46
- package/src/architecture/network/standalone/README.md +309 -285
- package/src/architecture/network/standalone/docs.order.json +13 -0
- package/src/architecture/network/standalone/network.standalone.utils.ts +51 -28
- package/src/architecture/network.ts +94 -17
- package/src/architecture/nodePool/README.md +53 -0
- package/src/architecture/nodePool/nodePool.ts +53 -0
- package/src/methods/README.md +80 -34
- package/src/methods/methods.ts +80 -34
- package/src/methods/mutation/README.md +39 -93
- package/src/methods/mutation/mutation.ts +58 -0
- package/src/multithreading/README.md +114 -14
- package/src/multithreading/docs.order.json +5 -0
- package/src/multithreading/multi.ts +103 -7
- package/src/multithreading/types.ts +6 -1
- package/src/multithreading/workers/README.md +72 -2
- package/src/multithreading/workers/browser/README.md +39 -0
- package/src/multithreading/workers/browser/testworker.ts +40 -0
- package/src/multithreading/workers/node/README.md +50 -11
- package/src/multithreading/workers/node/docs.order.json +4 -0
- package/src/multithreading/workers/node/testworker.ts +43 -3
- package/src/multithreading/workers/workers.ts +36 -1
- package/src/neat/README.md +230 -152
- package/src/neat/adaptive/core/README.md +99 -42
- package/src/neat/adaptive/core/adaptive.core.ts +71 -14
- package/src/neat/adaptive/core/docs.order.json +8 -0
- package/src/neat/docs.order.json +9 -0
- package/src/neat/lineage/README.md +118 -16
- package/src/neat/lineage/lineage.ts +115 -13
- package/src/neat/neat.defaults.constants.ts +91 -13
- package/src/neat.ts +86 -20
- package/src/utils/README.md +71 -21
- package/src/utils/memory.ts +69 -19
- package/test/examples/asciiMaze/browser-entry/README.md +81 -8
- package/test/examples/asciiMaze/browser-entry/browser-entry.ts +81 -8
- package/test/examples/asciiMaze/dashboardManager/README.md +68 -4
- package/test/examples/asciiMaze/dashboardManager/dashboardManager.ts +68 -4
- package/test/examples/asciiMaze/evolutionEngine/README.md +1259 -1174
- package/test/examples/asciiMaze/evolutionEngine/docs.order.json +10 -0
- package/test/examples/asciiMaze/evolutionEngine/evolutionEngine.types.ts +87 -0
- package/test/examples/asciiMaze/mazeMovement/README.md +81 -4
- package/test/examples/asciiMaze/mazeMovement/mazeMovement.ts +81 -4
- package/test/examples/flappy_bird/browser-entry/README.md +64 -21
- package/test/examples/flappy_bird/browser-entry/browser-entry.ts +64 -21
- package/test/examples/flappy_bird/flappy-evolution-worker/README.md +98 -10
- package/test/examples/flappy_bird/flappy-evolution-worker/flappy-evolution-worker.ts +98 -10
- package/test/examples/flappy_bird/simulation-shared/README.md +88 -4
- 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
|
|
95
|
-
|
|
|
96
|
-
| What are the main parts and boundaries?
|
|
97
|
-
| Who talks to whom, and in what order?
|
|
98
|
-
| What types own what responsibilities?
|
|
99
|
-
| What states or modes can this runtime enter?
|
|
100
|
-
| What entities exist and how many relate?
|
|
101
|
-
| What does a reader or operator experience over time? | `journey`
|
|
102
|
-
| When did phases or milestones happen?
|
|
103
|
-
| What work overlaps and what depends on what?
|
|
104
|
-
| How do options compare across two axes?
|
|
105
|
-
| How does quantity change across time or categories?
|
|
106
|
-
| How is a whole split across a few categories?
|
|
107
|
-
| How do flows split or converge between stages?
|
|
108
|
-
| How did branches, releases, or migrations evolve?
|
|
109
|
-
| How should ideas be clustered for learning?
|
|
110
|
-
| How should fixed lanes or layout be preserved?
|
|
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
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
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
|
-
|
|
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
|
|
@@ -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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
197
|
-
|
|
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
|
-
|
|
199
|
+
imports are in place and validations pass.
|
|
200
200
|
13. Update the plan immediately after the step completes.
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
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
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
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
|
-
|
|
218
|
-
16. End with
|
|
219
|
-
|
|
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
|
|
267
|
+
## Active-Plan Handoff Standard
|
|
256
268
|
|
|
257
|
-
Every completed split step
|
|
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
|
-
|
|
307
|
+
into the agent prompt at full length.
|
|
291
308
|
4. Keep the agent prompt focused on execution-only concerns: one-step scope,
|
|
292
|
-
|
|
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
|
-
|
|
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
|
-
##
|
|
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
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
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
|
-
-
|
|
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.
|
|
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
|
-
|
|
56
|
-
|
|
57
|
-
|
|
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
|
-
|
|
77
|
-
|
|
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
|
-
|
|
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.
|