@reicek/neataptic-ts 0.1.26 → 0.1.28
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/.github/workflows/ci.yml +2 -0
- package/.github/workflows/publish.yml +8 -4
- package/package.json +1 -1
- package/plans/ES2023 migration +594 -66
- package/plans/Flappy_Bird_Folder_Documentation_Pass.logs.md +42 -0
- package/plans/Flappy_Bird_Folder_Documentation_Pass.md +22 -104
- package/plans/HyperEvoDevoMorphoNEAT.md +1 -0
- package/plans/HyperEvoDevo_Racing_Curriculum_and_Behavioral_Drives.md +341 -0
- package/plans/README.md +12 -4
- package/plans/Roadmap.md +45 -38
- 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/architect/README.md +28 -0
- package/src/architecture/architect/architect.errors.ts +59 -0
- package/src/architecture/architect/architect.ts +21 -10
- package/src/architecture/group/README.md +16 -0
- package/src/architecture/group/group.errors.ts +29 -0
- package/src/architecture/group/group.ts +9 -4
- package/src/architecture/layer/README.md +126 -5
- package/src/architecture/layer/layer.activation.utils.ts +2 -1
- package/src/architecture/layer/layer.connection.utils.ts +10 -4
- package/src/architecture/layer/layer.errors.ts +69 -0
- package/src/architecture/layer/layer.factory.recurrent.utils.ts +6 -2
- package/src/architecture/layer/layer.propagation.utils.ts +2 -1
- package/src/architecture/layer/layer.ts +94 -5
- package/src/architecture/network/README.md +91 -16
- package/src/architecture/network/activate/README.md +317 -213
- package/src/architecture/network/activate/docs.order.json +9 -0
- package/src/architecture/network/activate/network.activate.batch.utils.ts +10 -2
- package/src/architecture/network/activate/network.activate.core.utils.ts +8 -2
- package/src/architecture/network/activate/network.activate.errors.ts +29 -0
- package/src/architecture/network/activate/network.activate.notrace.utils.ts +4 -1
- package/src/architecture/network/activate/network.activate.utils.ts +90 -0
- package/src/architecture/network/bootstrap/README.md +10 -2
- package/src/architecture/network/bootstrap/network.bootstrap.errors.ts +9 -0
- package/src/architecture/network/bootstrap/network.bootstrap.utils.ts +3 -2
- 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 +319 -225
- package/src/architecture/network/evolve/docs.order.json +11 -0
- package/src/architecture/network/evolve/network.evolve.errors.ts +33 -0
- package/src/architecture/network/evolve/network.evolve.setup.utils.ts +13 -3
- package/src/architecture/network/evolve/network.evolve.utils.ts +59 -0
- package/src/architecture/network/gating/README.md +74 -16
- package/src/architecture/network/gating/docs.order.json +9 -0
- package/src/architecture/network/gating/network.gating.errors.ts +29 -0
- package/src/architecture/network/gating/network.gating.gate.utils.ts +2 -1
- package/src/architecture/network/gating/network.gating.remove.utils.ts +10 -2
- package/src/architecture/network/gating/network.gating.utils.ts +43 -0
- package/src/architecture/network/genetic/README.md +83 -36
- package/src/architecture/network/genetic/docs.order.json +10 -0
- package/src/architecture/network/genetic/network.genetic.errors.ts +9 -0
- package/src/architecture/network/genetic/network.genetic.setup.utils.ts +4 -1
- package/src/architecture/network/genetic/network.genetic.utils.ts +53 -17
- package/src/architecture/network/mutate/README.md +19 -7
- package/src/architecture/network/mutate/network.mutate.errors.ts +19 -0
- package/src/architecture/network/mutate/network.mutate.handlers.utils.ts +4 -1
- package/src/architecture/network/mutate/network.mutate.utils.ts +2 -1
- package/src/architecture/network/network.errors.ts +9 -0
- package/src/architecture/network/network.ts +95 -47
- package/src/architecture/network/network.types.ts +0 -6
- package/src/architecture/network/onnx/README.md +24 -0
- package/src/architecture/network/onnx/export/layers/network.onnx.export-layer-graph.utils.ts +2 -1
- package/src/architecture/network/onnx/import/network.onnx.runtime-load.utils.ts +4 -1
- package/src/architecture/network/onnx/network.onnx.errors.ts +49 -0
- package/src/architecture/network/onnx/network.onnx.layer-analysis.utils.ts +10 -3
- package/src/architecture/network/remove/README.md +33 -21
- package/src/architecture/network/remove/network.remove.errors.ts +19 -0
- package/src/architecture/network/remove/network.remove.validation.utils.ts +8 -2
- package/src/architecture/network/runtime/README.md +58 -6
- package/src/architecture/network/runtime/docs.order.json +8 -0
- package/src/architecture/network/runtime/network.runtime.controls.utils.ts +49 -11
- package/src/architecture/network/runtime/network.runtime.diagnostics.utils.ts +4 -1
- package/src/architecture/network/runtime/network.runtime.errors.ts +119 -0
- package/src/architecture/network/serialize/README.md +11 -3
- package/src/architecture/network/serialize/network.serialize.errors.ts +9 -0
- package/src/architecture/network/serialize/network.serialize.json.utils.ts +2 -1
- package/src/architecture/network/standalone/README.md +331 -285
- package/src/architecture/network/standalone/docs.order.json +13 -0
- package/src/architecture/network/standalone/network.standalone.errors.ts +24 -0
- package/src/architecture/network/standalone/network.standalone.utils.finalize.ts +6 -1
- package/src/architecture/network/standalone/network.standalone.utils.setup.ts +2 -1
- package/src/architecture/network/standalone/network.standalone.utils.ts +51 -28
- package/src/architecture/network/stats/README.md +18 -2
- package/src/architecture/network/stats/network.stats.errors.ts +29 -0
- package/src/architecture/network/stats/network.stats.test.utils.ts +10 -3
- package/src/architecture/network/stats/network.stats.utils.ts +3 -29
- package/src/architecture/network/training/README.md +161 -113
- package/src/architecture/network/training/docs.order.json +13 -0
- package/src/architecture/network/training/network.training.backprop.utils.ts +4 -1
- package/src/architecture/network/training/network.training.errors.ts +109 -0
- package/src/architecture/network/training/network.training.finalize.utils.ts +37 -13
- package/src/architecture/network/training/network.training.gradient-clip.utils.ts +1 -1
- package/src/architecture/network/training/network.training.smoothing.utils.ts +3 -3
- package/src/architecture/network.ts +94 -17
- package/src/architecture/node/README.md +24 -0
- package/src/architecture/node/node.errors.ts +49 -0
- package/src/architecture/node/node.ts +17 -6
- 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/cost/README.md +8 -0
- package/src/methods/cost/cost.errors.ts +9 -0
- package/src/methods/cost/cost.utils.ts +2 -1
- 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/methods/rate/README.md +8 -3
- package/src/methods/rate/rate.errors.ts +9 -0
- package/src/methods/rate/rate.utils.ts +3 -1
- 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/export/README.md +12 -0
- package/src/neat/export/neat.export.errors.ts +19 -0
- package/src/neat/export/neat.export.ts +8 -2
- package/src/neat/init/neat.init.ts +1 -1
- package/src/neat/lineage/README.md +118 -16
- package/src/neat/lineage/lineage.ts +115 -13
- package/src/neat/multiobjective/crowding/README.md +8 -0
- package/src/neat/multiobjective/crowding/multiobjective.crowding.errors.ts +9 -0
- package/src/neat/multiobjective/crowding/multiobjective.crowding.ts +4 -1
- package/src/neat/neat.defaults.constants.ts +91 -13
- package/src/neat/selection/core/README.md +8 -0
- package/src/neat/selection/core/selection.core.errors.ts +9 -0
- package/src/neat/selection/core/selection.core.ts +4 -1
- package/src/neat/telemetry/metrics/telemetry.metrics.objectives.ts +3 -3
- package/src/neat/telemetry/recorder/telemetry.recorder.ts +2 -2
- package/src/neat.ts +86 -21
- package/src/utils/README.md +120 -21
- package/src/utils/memory.ts +69 -19
- package/src/utils/safeStructuredClone.ts +29 -0
- package/test/benchmarks/benchmark.browser.headless.test.ts +5 -6
- 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
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
# Repo Copilot Instructions — NeatapticTS
|
|
2
2
|
|
|
3
|
-
Purpose
|
|
4
|
-
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
5
|
When generating, modifying, or suggesting code that touches files under `src/` or `test/`, follow the project `STYLEGUIDE.md` rules and perform the quick validations listed below before returning suggestions.
|
|
6
6
|
|
|
7
|
-
Educational docs preference (JSDoc)
|
|
8
|
-
|
|
7
|
+
## Educational docs preference (JSDoc)
|
|
8
|
+
|
|
9
9
|
This is a public-facing, educational library. JSDoc comments are compiled into user-facing documentation (for example the aggregated READMEs under `src/**/README.md` generated by the docs workflow).
|
|
10
10
|
|
|
11
|
-
Long-task logging and communication
|
|
12
|
-
|
|
11
|
+
## Long-task logging and communication
|
|
12
|
+
|
|
13
13
|
For long-running or multi-pass work, keep user-facing chat minimal and prefer durable progress tracking in markdown files.
|
|
14
14
|
|
|
15
15
|
Follow these rules:
|
|
@@ -20,53 +20,58 @@ Follow these rules:
|
|
|
20
20
|
- Use `.plans.md` files for work in progress, pending decisions, next steps, and handoff context.
|
|
21
21
|
- Use `.logs.md` files for completed work, concise pass history, and done-state records.
|
|
22
22
|
- When creating or reshaping tracker files, use `tracker-handoff` as the canonical workflow for `[PLANNED]`, `[WIP]`, `[DONE]`, compression, and `Handoff query` structure.
|
|
23
|
+
- When a workstream reaches `[DONE]`, the final tracker step is to compress the completed `.plans.md` into a short closed tracker and add or update a same-boundary `.logs.md` audit record.
|
|
24
|
+
- Handoff prompts are strict for active trackers and blocker recovery, but omit them for fully closed trackers unless the user explicitly asks for reopen guidance.
|
|
23
25
|
- When both chat and tracker files are available, treat the tracker files as the primary source of detailed continuity and keep chat as a thin status layer.
|
|
24
26
|
|
|
25
|
-
Skill and companion-agent ownership model
|
|
26
|
-
|
|
27
|
+
## Skill and companion-agent ownership model
|
|
28
|
+
|
|
27
29
|
This repo now uses a skill-first customization model for durable workflow and
|
|
28
30
|
policy.
|
|
29
31
|
|
|
30
32
|
Use this boundary intentionally:
|
|
31
33
|
|
|
32
34
|
- Skills own durable knowledge: workflow, standards, guardrails, tone models,
|
|
33
|
-
|
|
35
|
+
source-mapping rules, validation expectations, and handoff contracts.
|
|
34
36
|
- Companion agents stay thin and task-shaped. They gather evidence, map
|
|
35
|
-
|
|
36
|
-
|
|
37
|
+
boundaries, scout drift, or execute one narrow workflow step while deferring
|
|
38
|
+
durable policy to the relevant skill.
|
|
37
39
|
- When a skill and a companion agent overlap, update the agent to follow the
|
|
38
|
-
|
|
40
|
+
skill rather than copying the overlap forward.
|
|
39
41
|
- Prefer passing compact task packets and reconnaissance handoffs into skills
|
|
40
|
-
|
|
42
|
+
over re-stating full workflow rules in each agent.
|
|
41
43
|
|
|
42
44
|
Current intended ownership split:
|
|
43
45
|
|
|
44
46
|
- `solid-split`: canonical split/refactor workflow and step sequencing.
|
|
45
47
|
- `educational-docs`: canonical documentation quality workflow and generated
|
|
46
|
-
|
|
48
|
+
README/JSDoc policy.
|
|
47
49
|
- `test-fix-workflow`: canonical workflow for systematically repairing multiple
|
|
48
|
-
|
|
50
|
+
test failures.
|
|
49
51
|
- `plan-alignment`: canonical workflow for selecting and applying roadmap/plan
|
|
50
|
-
|
|
52
|
+
context.
|
|
51
53
|
- `tracker-handoff`: canonical workflow for `.plans.md` and `.logs.md`
|
|
52
|
-
|
|
53
|
-
|
|
54
|
+
structure, `[PLANNED]/[WIP]/[DONE]` status markers, compression,
|
|
55
|
+
active-plan `Handoff query` continuity, and terminal closure into matching
|
|
56
|
+
`.logs.md` records.
|
|
54
57
|
- `Boundary Mapper`: read-only seam mapping and structural handoff into
|
|
55
|
-
|
|
58
|
+
`solid-split`.
|
|
56
59
|
- `Docs Scout`: read-only documentation reconnaissance and handoff into
|
|
57
|
-
|
|
60
|
+
`educational-docs`.
|
|
58
61
|
- `Plan Scout`: read-only roadmap reconnaissance and handoff into
|
|
59
|
-
|
|
62
|
+
`plan-alignment`.
|
|
60
63
|
|
|
61
64
|
Use `educational-docs` by default when the task is primarily about documentation quality, generated README tone, source-mapped JSDoc improvement, Mermaid diagrams, citations, or Wikimedia-safe visuals.
|
|
62
65
|
|
|
63
66
|
Use `tracker-handoff` by default when the task includes creating, compressing,
|
|
64
67
|
or updating `.plans.md` or `.logs.md` files, especially when the tracker needs
|
|
65
|
-
safe session continuation via a `Handoff query` section
|
|
68
|
+
safe session continuation via a `Handoff query` section or terminal closure via
|
|
69
|
+
a compressed plan plus matching log.
|
|
66
70
|
|
|
67
71
|
For split or refactor work with meaningful documentation scope, let `solid-split` own the boundary work and `educational-docs` own documentation quality.
|
|
68
72
|
|
|
69
73
|
When you touch code under `src/` or `test/`, prefer improving JSDoc so the generated docs are:
|
|
74
|
+
|
|
70
75
|
- **Interesting and explanatory**, not just type signatures.
|
|
71
76
|
- **Example-driven**: include small examples in the main description (prefer fenced code blocks like ```ts) so the docs generator preserves them.
|
|
72
77
|
- **Conceptual**: include a brief “what/why” explanation and any important semantics (defaults, invariants, error cases, performance notes).
|
|
@@ -79,8 +84,8 @@ Keep examples short, dependency-light, and consistent with the current public AP
|
|
|
79
84
|
|
|
80
85
|
Keep this file focused on repo-level policy and invocation rules. The richer tone model, source mapping workflow, visual style guide, Mermaid diagram playbook, citation guidance, and Wikimedia Commons media rules belong in `educational-docs`.
|
|
81
86
|
|
|
82
|
-
Generated README handling
|
|
83
|
-
|
|
87
|
+
## Generated README handling
|
|
88
|
+
|
|
84
89
|
Folder `README.md` files inside `src/` are generated artifacts and should be treated as read-only during normal editing.
|
|
85
90
|
|
|
86
91
|
When a generated `src/**/README.md` is lacking, improve the associated JSDoc in the source files that feed it instead of editing the README directly.
|
|
@@ -91,8 +96,8 @@ When a generated `src/**/README.md` appears outdated relative to the code or JSD
|
|
|
91
96
|
- run `npm run docs` to refresh generated documentation when needed,
|
|
92
97
|
- consider `educational-docs` pre-approved to run `npm run docs` after doc-affecting edits so README files stay synchronized and drift does not confuse later work.
|
|
93
98
|
|
|
94
|
-
CI-sensitive docs and tooling validation
|
|
95
|
-
|
|
99
|
+
## CI-sensitive docs and tooling validation
|
|
100
|
+
|
|
96
101
|
When a task touches `.github/workflows/**`, `package.json`, `package-lock.json`, `scripts/**` that launch docs or browser tooling, Mermaid rendering, Puppeteer/Chromium, or any dependency change that can affect those paths:
|
|
97
102
|
|
|
98
103
|
- do not treat local Windows success as sufficient evidence for GitHub-hosted Linux runners,
|
|
@@ -100,8 +105,8 @@ When a task touches `.github/workflows/**`, `package.json`, `package-lock.json`,
|
|
|
100
105
|
- run `npm run docs` when Mermaid, Puppeteer, docs generation, or related launch scripts are affected,
|
|
101
106
|
- when browser-based docs tooling runs in Linux CI, explicitly account for Chromium sandbox restrictions and prefer durable script-level launch configuration over workflow-only ad hoc flags.
|
|
102
107
|
|
|
103
|
-
Folder README reconnaissance (read this before deep code search)
|
|
104
|
-
|
|
108
|
+
## Folder README reconnaissance (read this before deep code search)
|
|
109
|
+
|
|
105
110
|
Because JSDoc is auto-compiled into each folder's `README.md`, those README files are the fastest condensed overview of a module's purpose, exported surface, neighboring files, and intended usage.
|
|
106
111
|
|
|
107
112
|
Before exploring or editing a folder in `src/` or `test/`, agents should:
|
|
@@ -118,8 +123,8 @@ If the folder README appears stale, incomplete, or in tension with the code, tre
|
|
|
118
123
|
|
|
119
124
|
If the goal is to make that README materially more educational rather than merely less stale, invoke `educational-docs`.
|
|
120
125
|
|
|
121
|
-
Plan-aware execution (align changes without overloading context)
|
|
122
|
-
|
|
126
|
+
## Plan-aware execution (align changes without overloading context)
|
|
127
|
+
|
|
123
128
|
This repository has an active `plans/` directory with roadmap and design intent.
|
|
124
129
|
|
|
125
130
|
When a task touches architecture, roadmap items, major refactors, export
|
|
@@ -130,8 +135,8 @@ Keep this file as the invocation layer. The detailed plan-selection sequence,
|
|
|
130
135
|
terminology preservation rules, bounded reading workflow, and mismatch handling
|
|
131
136
|
belong in that skill.
|
|
132
137
|
|
|
133
|
-
Demo-first library gap policy (critical)
|
|
134
|
-
|
|
138
|
+
## Demo-first library gap policy (critical)
|
|
139
|
+
|
|
135
140
|
Examples and demos in `test/examples/` are not places to normalize library ergonomics gaps. They are probes that should reveal where the public API, defaults, or runtime contracts fall short of world-class expectations.
|
|
136
141
|
|
|
137
142
|
When demo work exposes a mismatch between obvious user intent and the library behavior:
|
|
@@ -149,60 +154,62 @@ Critical expectation for feed-forward examples:
|
|
|
149
154
|
For substantial work, agent prompts and final summaries should briefly note which README and which plan document informed the change.
|
|
150
155
|
After substantial edits, keep summaries short and high level by default, and only expand into detailed walkthroughs when the user asks.
|
|
151
156
|
|
|
152
|
-
Multi-test failure workflow
|
|
153
|
-
|
|
157
|
+
## Multi-test failure workflow
|
|
158
|
+
|
|
154
159
|
When asked to fix multiple test failures, invoke `test-fix-workflow` instead of
|
|
155
160
|
re-stating the repair protocol in ad hoc instructions.
|
|
156
161
|
|
|
157
162
|
Keep this file as the invocation layer. The detailed planning sequence,
|
|
158
163
|
validation cadence, and no-premature-test-run rules belong in that skill.
|
|
159
164
|
|
|
165
|
+
## ES2023-first policy (strict)
|
|
160
166
|
|
|
161
|
-
ES2023-first policy (strict)
|
|
162
|
-
----------------------------
|
|
163
167
|
For educational clarity and a modern look, always prefer idiomatic ES2023 syntax when it improves readability or safety without changing behavior. This repo is intentionally opinionated: use the immutable array methods and modern language constructs by default.
|
|
164
168
|
|
|
165
169
|
Prefer (non-exhaustive):
|
|
170
|
+
|
|
166
171
|
- Arrays: `toSorted`, `toReversed`, `toSpliced`, `with`, `.at(-1)`, `findLast`, `findLastIndex`.
|
|
167
172
|
- Objects: spread/rest over `Object.assign` for shallow copies and merges.
|
|
168
173
|
- Optional chaining `?.` and nullish coalescing `??` (avoid `||` for defaulting unless you mean falsy semantics).
|
|
169
174
|
- Deep clone: `structuredClone` (or the project helper `safeStructuredClone` when cross-env safety is needed).
|
|
170
175
|
- Errors: `Error` with `{ cause }` (e.g., `new Error(msg, { cause })`).
|
|
171
176
|
- Numerics: numeric separators for long literals (for readability only, not to change values).
|
|
172
|
-
- Modules: ES modules `import`/`export` over CommonJS `require`/`module.exports` (follow the repo’s phase plan; new code should be ESM).
|
|
177
|
+
- Modules: ES modules `import`/`export` over CommonJS `require`/`module.exports` (follow the repo’s phase plan; new code should be ESM).
|
|
173
178
|
|
|
174
179
|
Avoid (legacy/less clear):
|
|
180
|
+
|
|
175
181
|
- In-place `sort`, `reverse`, `splice` in code paths that expect immutability; use the ES2023 immutable variants above.
|
|
176
182
|
- `Object.assign({}, obj)` or `Object.assign([], arr)` for cloning; use object/array spread.
|
|
177
183
|
- `JSON.parse(JSON.stringify(x))` for deep clone; use `structuredClone`/`safeStructuredClone`.
|
|
178
184
|
- Index math like `arr[arr.length - 1]`; prefer `arr.at(-1)` when readability benefits.
|
|
179
185
|
- CommonJS `require()` in new or refactored modules; prefer ESM.
|
|
180
186
|
|
|
181
|
-
How to use these instructions
|
|
182
|
-
|
|
187
|
+
## How to use these instructions
|
|
188
|
+
|
|
183
189
|
- Always prefer to produce code that already satisfies the style guide.
|
|
184
190
|
- If you cannot fully transform a file (large refactor), return a patch with clear TODO comments, an explicit list of remaining violations, and small, safe automated fixes where possible.
|
|
185
191
|
- If you propose changes that alter public behavior, include tests and TypeScript typechecks.
|
|
186
192
|
- Prefer invoking the relevant repo skill when the task matches an established
|
|
187
|
-
|
|
193
|
+
workflow instead of duplicating that workflow in ad hoc instructions.
|
|
188
194
|
- Default discovery order for non-trivial tasks: relevant folder `README.md` -> parent folder `README.md` if needed -> `plans/README.md` for roadmap alignment when relevant -> the specific source files and the single most relevant detailed plan.
|
|
189
195
|
- Treat generated folder READMEs as compressed context, not as a substitute for code. Use them to reduce search noise, then verify behavior in source.
|
|
190
196
|
- Prefer multiple small, targeted, documented edits over large single-pass rewrites when both approaches can solve the task. This reduces breakage risk and makes generated-doc refreshes easier to verify.
|
|
191
197
|
- For documentation-first work, invoke `educational-docs` instead of duplicating its standards in ad hoc instructions.
|
|
192
198
|
- For split work with meaningful docs scope, let `solid-split` own sequencing and `educational-docs` own documentation quality.
|
|
193
199
|
- For multiple test-failure repair work, invoke `test-fix-workflow` instead of
|
|
194
|
-
|
|
200
|
+
duplicating its planning and validation sequence here.
|
|
195
201
|
- For architectural or roadmap alignment work, invoke `plan-alignment` instead
|
|
196
|
-
|
|
202
|
+
of duplicating its bounded plan-reading workflow here.
|
|
197
203
|
- For read-only reconnaissance before implementation, prefer companion agents
|
|
198
|
-
|
|
199
|
-
|
|
204
|
+
such as `Boundary Mapper`, `Docs Scout`, and `Plan Scout`, but keep them subordinate to the
|
|
205
|
+
relevant skill-owned workflow.
|
|
206
|
+
|
|
207
|
+
## Standard architecture for project files
|
|
200
208
|
|
|
201
|
-
Standard architecture for project files
|
|
202
|
-
---------------------------------------
|
|
203
209
|
When splitting medium or large modules in `src/` or `test/`, prefer a dedicated folder-based module boundary instead of accumulating many sibling files at the parent level.
|
|
204
210
|
|
|
205
211
|
Use this naming convention for a module named `module`:
|
|
212
|
+
|
|
206
213
|
- `module/module.ts`
|
|
207
214
|
- `module/module.utils.ts`
|
|
208
215
|
- `module/module.types.ts`
|
|
@@ -211,6 +218,7 @@ Use this naming convention for a module named `module`:
|
|
|
211
218
|
- `module/module.constants.ts`
|
|
212
219
|
|
|
213
220
|
Use this naming convention for a nested sub-module named `sub-module` inside `module`:
|
|
221
|
+
|
|
214
222
|
- `module/sub-module/module.sub-module.ts`
|
|
215
223
|
- `module/sub-module/module.sub-module.utils.ts`
|
|
216
224
|
- `module/sub-module/module.sub-module.types.ts`
|
|
@@ -219,6 +227,7 @@ Use this naming convention for a nested sub-module named `sub-module` inside `mo
|
|
|
219
227
|
- `module/sub-module/module.sub-module.constants.ts`
|
|
220
228
|
|
|
221
229
|
Interpretation rules:
|
|
230
|
+
|
|
222
231
|
- `*.ts`: main orchestration and primary public surface for the module.
|
|
223
232
|
- `*.utils.ts`: helper logic that is not the main orchestration path.
|
|
224
233
|
- `*.types.ts`: interfaces, DTOs, context/result objects, and narrow contracts.
|
|
@@ -227,14 +236,15 @@ Interpretation rules:
|
|
|
227
236
|
- `*.constants.ts`: named constants, lookup tables, and local config values.
|
|
228
237
|
|
|
229
238
|
Architecture rules:
|
|
239
|
+
|
|
230
240
|
- Do not create a folder for every tiny file; use this pattern when a file has become a real subsystem.
|
|
231
241
|
- Keep the main `module/module.ts` file orchestration-first and declarative.
|
|
232
242
|
- Prefer subfolders over continued file sprawl when a module develops a clear internal subsystem.
|
|
233
243
|
- Avoid one-off naming patterns during refactors; once a module is folderized, keep all follow-up files in the same naming scheme.
|
|
234
244
|
- Replace broad catch-all files with narrower module-owned `*.types.ts`, `*.services.ts`, or `*.utils.ts` files rather than recreating another hub.
|
|
235
245
|
|
|
236
|
-
Strict rules to enforce (apply to any suggestion touching `src/` or `test/`)
|
|
237
|
-
|
|
246
|
+
## Strict rules to enforce (apply to any suggestion touching `src/` or `test/`)
|
|
247
|
+
|
|
238
248
|
1. Naming: avoid short local identifiers. Do not use these short names for non-trivial locals: `dx`, `dy`, `d`, `i`, `a`, `b`, `c`, `p`, `o`, `cand`, `tries`, `idx`.
|
|
239
249
|
- If the original code uses a short name in a tiny loop (1–3 lines) and it is clearly idiomatic, allow `i`, `j` only.
|
|
240
250
|
- Prefer descriptive names: `candidateDirection`, `bestDistance`, `currentPosition`.
|
|
@@ -255,35 +265,36 @@ Strict rules to enforce (apply to any suggestion touching `src/` or `test/`)
|
|
|
255
265
|
|
|
256
266
|
8. Local helper structure preference:
|
|
257
267
|
- For new or refactored functions that introduce internal helpers, order the function as:
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
268
|
+
1. Local variables/constants at top
|
|
269
|
+
2. Declarative logic (calls to helpers)
|
|
270
|
+
3. Return (fold)
|
|
271
|
+
4. Internal helper function declarations at the end of the parent function
|
|
272
|
+
- Helpers should be small and pure where practical, with step-level inline comments and JSDoc.
|
|
263
273
|
|
|
264
274
|
9. Mandatory implementation pattern (always; keep cognitive complexity low):
|
|
265
275
|
- Applies to all new code and any modified/refactored code in `src/` and `test/`.
|
|
266
|
-
- Prefer a
|
|
276
|
+
- Prefer a _declarative top-level flow_ ("collect → transform → fold/return") over deeply nested control flow.
|
|
267
277
|
- Avoid ternary chains (especially nested) for multi-branch fallback logic; use named resolver helpers with early returns instead.
|
|
268
278
|
- When normalizing legacy/loose data, isolate type assertions/casting into a single helper and keep the rest strongly typed.
|
|
269
279
|
- Keep helpers after the fold, and give each helper a single responsibility (SOLID: SRP). If the logic reads like a decision tree, it likely wants 2–4 small helpers.
|
|
270
280
|
|
|
271
281
|
10. General multi-pass decomposition requirements (apply to all medium/large refactors):
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
282
|
+
|
|
283
|
+
- Perform refactors in explicit passes, in this order unless unsafe:
|
|
284
|
+
1. Stabilize current behavior and identify seams
|
|
285
|
+
2. Extract pure helpers by responsibility
|
|
286
|
+
3. Introduce typed context/result objects to reduce parameter sprawl
|
|
287
|
+
4. Simplify top-level flow to orchestration only
|
|
288
|
+
5. Fold repeated logic into collect/transform/fold helpers
|
|
289
|
+
- All new complex methods should follow a declarative above-the-fold structure: keep the exported or top-level method as step-oriented orchestration, and place the actual logic in small SRP private helpers below the fold.
|
|
290
|
+
- Keep the top-level method declarative and linear, with numbered inline comments (`Step 1`, `Step 2`, ...).
|
|
291
|
+
- Ensure each helper has one reason to change (SRP), very low cognitive complexity, and descriptive naming.
|
|
292
|
+
- Place helper declarations after the top-level return/fold where language/style allows.
|
|
293
|
+
- Prefer immutable pass-style transforms (`map`, `filter`, `reduce`, index-collection helpers) over mixed mutation-heavy loops.
|
|
294
|
+
- When passing more than 3-4 arguments repeatedly, introduce a typed context object and shared result types.
|
|
295
|
+
|
|
296
|
+
## Example (ideal structure)
|
|
297
|
+
|
|
287
298
|
```ts
|
|
288
299
|
export function exampleMethod(input: Input) {
|
|
289
300
|
const constants = /* ... */;
|
|
@@ -319,22 +330,21 @@ type Intermediate = unknown;
|
|
|
319
330
|
type Output = unknown;
|
|
320
331
|
```
|
|
321
332
|
|
|
322
|
-
Automated validations to run before finalizing a suggestion
|
|
323
|
-
|
|
333
|
+
## Automated validations to run before finalizing a suggestion
|
|
334
|
+
|
|
324
335
|
When you modify or create files under `src/` or `test/`, run (or advise running) these quick validations. If you cannot run them, still make sure your suggestion would pass them.
|
|
325
336
|
|
|
326
|
-
1
|
|
337
|
+
1. TypeScript diagnostics
|
|
327
338
|
|
|
328
339
|
# Copilot instructions — STYLEGUIDE light checks
|
|
329
340
|
|
|
330
|
-
Purpose
|
|
331
|
-
|
|
341
|
+
## Purpose
|
|
342
|
+
|
|
332
343
|
Give brief, actionable guidance so suggestions touching `src/` or `test/` prioritize compliance with `STYLEGUIDE.md`.
|
|
333
344
|
|
|
334
345
|
Keep it light: prefer small, automated checks and a short validation summary with every patch.
|
|
335
346
|
|
|
336
|
-
Quick checks to run (recommended)
|
|
337
|
-
--------------------------------
|
|
347
|
+
## Quick checks to run (recommended)
|
|
338
348
|
- TypeScript: run `npm run build` and report pass/fail.
|
|
339
349
|
- Clean install: when `package.json`, `package-lock.json`, or workflow/runtime tooling changes, run `npm ci` and report pass/fail.
|
|
340
350
|
- Tests heuristic: flag test files that contain more than one `expect(` occurrence (these should be split into multiple `it()` blocks).
|
|
@@ -342,39 +352,41 @@ When you modify or create files under `src/` or `test/`, run (or advise running)
|
|
|
342
352
|
- CI browser/docs tooling: when the changed path can invoke Mermaid, Puppeteer, or Chromium in CI, validate `npm run docs` and do not assume local non-Linux success generalizes to GitHub-hosted Linux.
|
|
343
353
|
- ES2023 modernization: flag legacy patterns and suggest modern equivalents (see below one-liners).
|
|
344
354
|
|
|
345
|
-
PowerShell examples (local validation)
|
|
346
|
-
|
|
355
|
+
## PowerShell examples (local validation)
|
|
356
|
+
|
|
347
357
|
Typecheck:
|
|
358
|
+
|
|
348
359
|
```powershell
|
|
349
360
|
npx tsc --noEmit -p tsconfig.json
|
|
350
361
|
```
|
|
351
362
|
|
|
352
|
-
What to include with a suggestion
|
|
353
|
-
--------------------------------
|
|
363
|
+
## What to include with a suggestion
|
|
354
364
|
- A short validation summary (TypeScript: pass/fail, short-id matches: list or 0, test-expect heuristic: list or 0, JSDoc missing: list or 0).
|
|
355
365
|
- ES2023: list any flagged legacy patterns and the intended replacements (e.g., `Object.assign` -> spread, `arr[arr.length-1]` -> `arr.at(-1)`, `JSON.parse(JSON.stringify())` -> `structuredClone`).
|
|
356
366
|
- If any issue can't be safely fixed automatically, include a TODO comment at the top of the changed file and a one-line explanation in the patch.
|
|
357
367
|
|
|
358
|
-
Test failure workflow
|
|
359
|
-
|
|
368
|
+
## Test failure workflow
|
|
369
|
+
|
|
360
370
|
When fixing multiple test failures, invoke `test-fix-workflow` for the
|
|
361
371
|
detailed repair sequence.
|
|
362
372
|
|
|
373
|
+
## Refactor format: large-file split (step-by-step, user-confirmed)
|
|
363
374
|
|
|
364
|
-
Refactor format: large-file split (step-by-step, user-confirmed)
|
|
365
|
-
---------------------------------------------------------------
|
|
366
375
|
When splitting a large module into submodules, invoke `solid-split` and let it
|
|
367
376
|
own the detailed stepwise execution protocol, including user-confirmed
|
|
368
377
|
stepwise mode when requested.
|
|
369
378
|
|
|
370
379
|
Quality thresholds and investigation rules
|
|
371
|
-
|
|
380
|
+
|
|
381
|
+
---
|
|
382
|
+
|
|
372
383
|
- End every user facing response with `(Certainty: NN%)`
|
|
373
384
|
- If your certainty is below 90%, stop and investigate before proceeding
|
|
374
385
|
- If your certainty is below 95%, investigate further and ask follow-up questions until the requirements and environment are clear enough
|
|
375
386
|
|
|
376
|
-
Low context window mitigation
|
|
377
|
-
|
|
387
|
+
## Low context window mitigation
|
|
388
|
+
|
|
378
389
|
When you need to make a change that requires more context than you have available:
|
|
390
|
+
|
|
379
391
|
- Update the relevant source plan document with a NEXT: item describing the change and the reason for it, so that future work in that area has more context.
|
|
380
|
-
- Provide a handoff prompt in a text-copy box with the relevant context and a clear question about how to proceed, so that a companion agent can pick it up and investigate.
|
|
392
|
+
- Provide a handoff prompt in a text-copy box with the relevant context and a clear question about how to proceed, so that a companion agent can pick it up and investigate.
|
|
@@ -38,6 +38,33 @@ rules, Mermaid policy, and citation/media guardrails. Companion agents such as
|
|
|
38
38
|
gaps, and hand those specifics back into this skill rather than re-defining the
|
|
39
39
|
documentation bar themselves.
|
|
40
40
|
|
|
41
|
+
## Repo Preference Override
|
|
42
|
+
|
|
43
|
+
When a generated README chapter is the target surface, treat the opening under
|
|
44
|
+
the top `#` heading as the highest-leverage teaching surface in the repo.
|
|
45
|
+
|
|
46
|
+
Hard requirements for that opening unless the user explicitly narrows scope:
|
|
47
|
+
|
|
48
|
+
- optimize first for the first section because most readers will only read that
|
|
49
|
+
introduction before deciding whether to continue,
|
|
50
|
+
- write the opening as an educational chapter introduction rather than as API
|
|
51
|
+
scaffolding or a symbol index,
|
|
52
|
+
- keep the opening focused on the technical know-how behind the boundary named
|
|
53
|
+
by the title, for example `# neat/cache` should teach cache invalidation,
|
|
54
|
+
stale derived state, and why the boundary exists before it lists exports,
|
|
55
|
+
- prefer roughly 5 to 10 short paragraphs in the opening when the boundary is a
|
|
56
|
+
meaningful educational surface,
|
|
57
|
+
- prefer 2 to 3 Mermaid diagrams when they materially improve retention,
|
|
58
|
+
- include at least 1 compact external reference when it helps teach the core
|
|
59
|
+
idea faster, with Wikipedia allowed as a background bridge,
|
|
60
|
+
- include at least 2 small examples in the chapter when the public surface is
|
|
61
|
+
easier to understand through usage than through prose alone.
|
|
62
|
+
|
|
63
|
+
Use these expectations as defaults for `src/**` educational chapter work. If a
|
|
64
|
+
boundary is too small to sustain that much introduction without padding, keep
|
|
65
|
+
the prose tight and explain in the final summary why a smaller opening was the
|
|
66
|
+
better teaching choice.
|
|
67
|
+
|
|
41
68
|
## When to Use
|
|
42
69
|
|
|
43
70
|
- A generated README feels technically correct but emotionally flat or hard to
|
|
@@ -257,9 +284,11 @@ See the visual rules in [Astro Bird visual style guide](./assets/visual-style-gu
|
|
|
257
284
|
3. Read before rewriting.
|
|
258
285
|
- Read the nearest folder README, then the nearest useful parent README.
|
|
259
286
|
- Read the smallest set of source files that own the public story.
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
287
|
+
|
|
288
|
+
- Judge the README's flow like a chapter outline: opening promise, reading
|
|
289
|
+
order, conceptual bridges, and whether the symbol sequence helps or hurts
|
|
290
|
+
learning.
|
|
291
|
+
|
|
263
292
|
4. Define the reader questions.
|
|
264
293
|
- What is this for?
|
|
265
294
|
- Why is it shaped this way?
|
|
@@ -282,40 +311,47 @@ See the visual rules in [Astro Bird visual style guide](./assets/visual-style-gu
|
|
|
282
311
|
prose with a properly attributed source.
|
|
283
312
|
- Prefer one high-value reference over a noisy list.
|
|
284
313
|
8. Evaluate Mermaid-first visuals deliberately.
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
314
|
+
|
|
315
|
+
- Prefer Mermaid Markdown for architecture overviews, data flows, decision
|
|
316
|
+
flows, state transitions, timelines, simple charts, and structural maps.
|
|
317
|
+
- When a chapter contains multiple policy modes, stages, or grouped option
|
|
318
|
+
families, assume at least one chart should probably exist unless the prose
|
|
319
|
+
is already unusually compact and obvious.
|
|
320
|
+
- Prefer adding a second chart when it answers a different reader question
|
|
321
|
+
than the first one, for example: one chart for execution flow and one chart
|
|
322
|
+
for mode comparison, taxonomy, or metric condensation.
|
|
323
|
+
- Treat GitHub README rendering as the primary Mermaid compatibility target
|
|
324
|
+
unless the task explicitly says the diagram only needs to work in the
|
|
325
|
+
generated HTML docs.
|
|
326
|
+
- Style diagrams with the Astro Bird palette so structure remains blue-led
|
|
327
|
+
and emphasis stays scarce.
|
|
328
|
+
- Add diagrams when they reduce confusion, not merely because Mermaid is
|
|
329
|
+
available.
|
|
330
|
+
- Choose the diagram family that matches the teaching goal.
|
|
331
|
+
- Validate non-trivial Mermaid syntax before finalizing when tooling is
|
|
332
|
+
available.
|
|
333
|
+
- Prefer conservative Mermaid syntax when the README itself is a primary
|
|
334
|
+
surface on GitHub.
|
|
335
|
+
|
|
305
336
|
9. Evaluate external visuals deliberately.
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
337
|
+
|
|
338
|
+
- Add images only when they improve understanding, not for decoration.
|
|
339
|
+
- Prefer Wikimedia Commons files with clear free-license metadata.
|
|
340
|
+
- Record author, source URL, license, and modification status.
|
|
341
|
+
|
|
309
342
|
10. Regenerate and inspect.
|
|
310
|
-
|
|
311
|
-
|
|
343
|
+
|
|
344
|
+
- Run `npm run docs` after doc-affecting edits to generated surfaces.
|
|
345
|
+
- Re-read the generated output as if you were new to the module.
|
|
346
|
+
|
|
312
347
|
11. Tighten the experience.
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
348
|
+
|
|
349
|
+
- Remove repetition.
|
|
350
|
+
- Replace dry restatements with explanation.
|
|
351
|
+
- Make the reading order obvious.
|
|
352
|
+
- Keep README surfaces within a readable size whenever the boundary allows;
|
|
353
|
+
if the chapter still feels monolithic after normal source-first improvement,
|
|
354
|
+
escalate to `solid-split` instead of accepting an oversized folder README.
|
|
319
355
|
|
|
320
356
|
## Post-Split Follow-Up Mode
|
|
321
357
|
|
|
@@ -326,10 +362,10 @@ mode:
|
|
|
326
362
|
2. Preserve the split's new ownership story and make it easier to read.
|
|
327
363
|
3. Prefer source-JSDoc improvements first when the README surface is generated.
|
|
328
364
|
4. Add diagrams only when the new boundary is still hard to understand without
|
|
329
|
-
|
|
365
|
+
one.
|
|
330
366
|
5. Regenerate docs when the touched surface feeds generated README output.
|
|
331
367
|
6. Report the doc pass as the follow-up to the completed split step so the
|
|
332
|
-
|
|
368
|
+
workflow remains legible.
|
|
333
369
|
|
|
334
370
|
This mode exists to keep the follow-up deterministic: every completed split
|
|
335
371
|
gets a documentation polish pass, but that pass stays proportional to the code
|
|
@@ -346,6 +382,11 @@ For any document with a top-level `#` heading, the opening should read like the
|
|
|
346
382
|
first pages of a chapter: define the problem space, explain why this boundary
|
|
347
383
|
exists, and give the reader a clear path into the sections that follow.
|
|
348
384
|
|
|
385
|
+
For this repo's chapter-style generated READMEs, the opening should usually be
|
|
386
|
+
long enough to stand alone as the main learning surface. Assume that the opening
|
|
387
|
+
is doing most of the educational work and that later symbol sections exist to
|
|
388
|
+
support, not replace, that introduction.
|
|
389
|
+
|
|
349
390
|
When the surface belongs to a neural-network subsystem, also answer the silent
|
|
350
391
|
reader question behind most educational passes: "What does this let the network
|
|
351
392
|
learn, preserve, or control that it otherwise could not?"
|
|
@@ -551,6 +592,11 @@ For diagram selection, syntax caveats, and validation guidance, use
|
|
|
551
592
|
- When updating a running plan document after a completed pass, compress older
|
|
552
593
|
completed entries to the essentials: keep `Goals`, `Progress`, optional
|
|
553
594
|
`Achievements`, and `Decision`.
|
|
595
|
+
- When a documentation workstream becomes fully complete, finish with
|
|
596
|
+
`tracker-handoff` terminal closure: compress the `.plans.md` file into a
|
|
597
|
+
short closed tracker and add or update the same-boundary `.logs.md` file.
|
|
598
|
+
- Do not keep a `Handoff query` on a terminally closed plan unless the user
|
|
599
|
+
explicitly wants reopen guidance.
|
|
554
600
|
- Remove `Validation` from completed passes after the result has been folded
|
|
555
601
|
into `Progress` or `Decision`.
|
|
556
602
|
- Keep `Remaining gaps` and `Next step` only on the active latest pass unless
|
|
@@ -588,17 +634,21 @@ When the task includes updating an in-repo plan log, the updated log should
|
|
|
588
634
|
also leave only the active pass with forward-looking `Remaining gaps` and
|
|
589
635
|
`Next step`; prior completed passes should stay compressed.
|
|
590
636
|
|
|
637
|
+
When that in-repo plan reaches terminal closure, the final tracker action
|
|
638
|
+
should be the compressed closed plan plus the matching `.logs.md` record rather
|
|
639
|
+
than a next-session handoff prompt.
|
|
640
|
+
|
|
591
641
|
## Companion Agent Contract
|
|
592
642
|
|
|
593
643
|
If a companion agent uses this skill, it should:
|
|
594
644
|
|
|
595
645
|
1. Name this skill explicitly as `educational-docs`.
|
|
596
646
|
2. Pass concrete reconnaissance findings into the skill instead of paraphrasing
|
|
597
|
-
|
|
647
|
+
them away.
|
|
598
648
|
3. Keep the agent prompt focused on read-only discovery and gap reporting when
|
|
599
|
-
|
|
649
|
+
the agent is a scout.
|
|
600
650
|
4. Avoid restating the full workflow, tone model, or guardrails that already
|
|
601
|
-
|
|
651
|
+
live here.
|
|
602
652
|
5. Recommend `solid-split` explicitly when reconnaissance shows the README is
|
|
603
|
-
|
|
653
|
+
too monolithic for a healthy docs-only pass.
|
|
604
654
|
6. Update the agent when this skill changes materially so both remain aligned.
|