claude-flow-novice 2.2.4 → 2.2.5

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 (288) hide show
  1. package/package.json +9 -8
  2. package/scripts/.claude-flow/metrics/agent-metrics.json +1 -0
  3. package/scripts/.claude-flow/metrics/performance.json +9 -0
  4. package/scripts/.claude-flow/metrics/task-metrics.json +10 -0
  5. package/scripts/CLEANUP_OPTIMIZATION_REPORT.json +312 -0
  6. package/scripts/CLEANUP_PERFORMANCE_OPTIMIZATION.md +387 -0
  7. package/scripts/CLEANUP_QUICK_START.md +268 -0
  8. package/scripts/CLEANUP_TEST_RESULTS.md +205 -0
  9. package/scripts/README.md +339 -0
  10. package/scripts/ace-query.sh +384 -0
  11. package/scripts/agent-token-analysis.js +430 -0
  12. package/scripts/auto-setup.js +332 -0
  13. package/scripts/build/README.md +167 -0
  14. package/scripts/build/build-config.js +27 -0
  15. package/scripts/build/build-prompt-copier.sh +30 -0
  16. package/scripts/build/performance-monitor.js +869 -0
  17. package/scripts/build/prepare-publish.js +150 -0
  18. package/scripts/build/typescript-fixer.js +621 -0
  19. package/scripts/build/unified-builder.sh +428 -0
  20. package/scripts/build/update-bin-version.js +32 -0
  21. package/scripts/build/validate-agents.js +238 -0
  22. package/scripts/build-index.js +43 -0
  23. package/scripts/build-orchestrator.js +320 -0
  24. package/scripts/check-routing-stats.cjs +122 -0
  25. package/scripts/ci-validation.js +375 -0
  26. package/scripts/cleanup-blocking-coordination.sh +420 -0
  27. package/scripts/cleanup-idle-sessions.sh +59 -0
  28. package/scripts/collect-build-metrics.js +65 -0
  29. package/scripts/demo/README.md +79 -0
  30. package/scripts/demo/autoscaling-demo-simplified.js +963 -0
  31. package/scripts/demo/comprehensive-dashboard-test.js +693 -0
  32. package/scripts/demo/confidence-log.js +87 -0
  33. package/scripts/demo/confidence-report.js +82 -0
  34. package/scripts/demo/demo-multi-swarm-coordination.js +325 -0
  35. package/scripts/demo/demo-production-deployment.js +399 -0
  36. package/scripts/demo/demo-visualization-system.js +149 -0
  37. package/scripts/demo/performance-analysis.cjs +71 -0
  38. package/scripts/demo/performance-analysis.js +71 -0
  39. package/scripts/demo/test-autoscaling-demo.js +314 -0
  40. package/scripts/dependency-optimizer.js +349 -0
  41. package/scripts/dependency-security-assessment.js +331 -0
  42. package/scripts/deploy-sdk.sh +176 -0
  43. package/scripts/deployment-readiness-report.json +179 -0
  44. package/scripts/dev/README.md +264 -0
  45. package/scripts/dev/claude-flow-wrapper.sh +35 -0
  46. package/scripts/dev/claude-monitor.py +419 -0
  47. package/scripts/dev/claude-sparc.sh +562 -0
  48. package/scripts/dev/claude-wrapper.sh +17 -0
  49. package/scripts/dev/demo-phase3-compliance.js +172 -0
  50. package/scripts/dev/demo-task-system.ts +224 -0
  51. package/scripts/dev/deployment-validator.js +315 -0
  52. package/scripts/dev/spawn-claude-terminal.sh +32 -0
  53. package/scripts/dev/start-portal.sh +506 -0
  54. package/scripts/dev/start-web-ui.js +15 -0
  55. package/scripts/dev/stop-portal.sh +311 -0
  56. package/scripts/dev/validate-examples.ts +288 -0
  57. package/scripts/dev/validate-phase2.cjs +451 -0
  58. package/scripts/dev/validate-phase2.js +785 -0
  59. package/scripts/dev/validate-phase3.cjs +208 -0
  60. package/scripts/dev/validate-security-remediation.js +1 -0
  61. package/scripts/ecosystem.config.cjs +90 -0
  62. package/scripts/fix-js-extensions.js +167 -0
  63. package/scripts/generate-basic-types.js +73 -0
  64. package/scripts/generate-changelog.js +318 -0
  65. package/scripts/git-hooks/pre-commit.sh +143 -0
  66. package/scripts/health-checks.js +634 -0
  67. package/scripts/hook-wrapper.sh +54 -0
  68. package/scripts/install/README.md +375 -0
  69. package/scripts/install/REDIS_SETUP_VALIDATION.json +245 -0
  70. package/scripts/install/check-prerequisites.js +303 -0
  71. package/scripts/install/config-wizard.js +606 -0
  72. package/scripts/install/dependency-checker.js +385 -0
  73. package/scripts/install/health-check.js +765 -0
  74. package/scripts/install/install.js +256 -0
  75. package/scripts/install/installation-benchmark.js +461 -0
  76. package/scripts/install/quick-install.js +720 -0
  77. package/scripts/install/quick-start-wizard.js +295 -0
  78. package/scripts/install/redis-cli.js +289 -0
  79. package/scripts/install/redis-install-guides.md +407 -0
  80. package/scripts/install/redis-setup.js +559 -0
  81. package/scripts/install/redis-test.js +278 -0
  82. package/scripts/install/service-manager.js +672 -0
  83. package/scripts/install/setup.js +832 -0
  84. package/scripts/install/uninstall.js +526 -0
  85. package/scripts/install/update.js +461 -0
  86. package/scripts/install-pre-commit-hook.sh +127 -0
  87. package/scripts/legacy/README.md +272 -0
  88. package/scripts/legacy/batch-fix-ts.sh +54 -0
  89. package/scripts/legacy/build-migration.sh +105 -0
  90. package/scripts/legacy/build-monitor.js +209 -0
  91. package/scripts/legacy/build-with-filter.sh +84 -0
  92. package/scripts/legacy/build-workaround.sh +71 -0
  93. package/scripts/legacy/fix-ts-advanced.js +358 -0
  94. package/scripts/legacy/fix-ts-final.sh +50 -0
  95. package/scripts/legacy/fix-ts-targeted.sh +49 -0
  96. package/scripts/legacy/fix-typescript-errors.js +305 -0
  97. package/scripts/legacy/force-build.sh +63 -0
  98. package/scripts/legacy/optimize-performance.js +400 -0
  99. package/scripts/legacy/performance-monitor.js +263 -0
  100. package/scripts/legacy/performance-monitoring.js +532 -0
  101. package/scripts/legacy/performance-test-runner.js +645 -0
  102. package/scripts/legacy/quick-fix-ts.js +281 -0
  103. package/scripts/legacy/safe-build.sh +63 -0
  104. package/scripts/memory-monitor-coordinator.js +322 -0
  105. package/scripts/migrate-to-sdk.sh +520 -0
  106. package/scripts/migration/QUICK-START.md +189 -0
  107. package/scripts/migration/QUICK-START.md.backup-1760135091363 +189 -0
  108. package/scripts/migration/README.md +464 -0
  109. package/scripts/migration/TASK-1.3.2-COMPLETION-REPORT.md +500 -0
  110. package/scripts/migration/TASK-1.3.2-COMPLETION-REPORT.md.backup-1760135091348 +500 -0
  111. package/scripts/migration/UPDATE-PATHS-README.md +464 -0
  112. package/scripts/migration/UPDATE-PATHS-README.md.backup-1760135091337 +464 -0
  113. package/scripts/migration/example-patterns.json +19 -0
  114. package/scripts/migration/install-arm64.js +78 -0
  115. package/scripts/migration/install.js +83 -0
  116. package/scripts/migration/migrate-hooks.js +173 -0
  117. package/scripts/migration/migration-examples.ts +318 -0
  118. package/scripts/migration/reorganize-workspace.js +504 -0
  119. package/scripts/migration/test-update-paths.js +359 -0
  120. package/scripts/migration/update-paths.js +664 -0
  121. package/scripts/migration/validate-migration.js +647 -0
  122. package/scripts/monitor-loop.sh +65 -0
  123. package/scripts/monitor-memory.sh +47 -0
  124. package/scripts/monitor-migration.js +339 -0
  125. package/scripts/monitor.py +43 -0
  126. package/scripts/monitoring/README.md +178 -0
  127. package/scripts/monitoring/alert-monitor.sh +220 -0
  128. package/scripts/monitoring/analyze-resources.sh +199 -0
  129. package/scripts/monitoring/dashboards/rate-limiting-dashboard.json +211 -0
  130. package/scripts/monitoring/dynamic-monitor.sh +85 -0
  131. package/scripts/monitoring/launch-stability-test.sh +184 -0
  132. package/scripts/monitoring/monitor-test.sh +93 -0
  133. package/scripts/monitoring/pre-test-validation.sh +208 -0
  134. package/scripts/monitoring/quick-test-alerting.sh +118 -0
  135. package/scripts/monitoring/quick-test-rate-limiting.sh +206 -0
  136. package/scripts/monitoring/rate-limiting-monitor.sh +380 -0
  137. package/scripts/monitoring/resource-monitor.sh +126 -0
  138. package/scripts/monitoring/stability-monitor.js +429 -0
  139. package/scripts/monitoring/test-monitor-quick.sh +54 -0
  140. package/scripts/monitoring/view-alerts.sh +307 -0
  141. package/scripts/npm-metrics-collector.js +482 -0
  142. package/scripts/npm-package-validation.cjs +299 -0
  143. package/scripts/optimization/build-optimizer.js +438 -0
  144. package/scripts/optimization/config-validator.js +761 -0
  145. package/scripts/optimization/test-optimization.js +432 -0
  146. package/scripts/optimization/unified-activation.js +839 -0
  147. package/scripts/optimize-package-swarm.js +54 -0
  148. package/scripts/performance/ACTIVATION_COMMANDS.md +292 -0
  149. package/scripts/performance/sqlite-enhanced-activation.sh +583 -0
  150. package/scripts/performance/test-enhanced-backend.sh +504 -0
  151. package/scripts/performance-monitor.js +644 -0
  152. package/scripts/performance-test-runner.js +698 -0
  153. package/scripts/post-deployment-monitoring.js +350 -0
  154. package/scripts/post-edit-pipeline.js +2091 -0
  155. package/scripts/post-install-claude-md.js +78 -0
  156. package/scripts/postinstall.js +79 -0
  157. package/scripts/pre-publish-validation.cjs +212 -0
  158. package/scripts/pre-publish-validation.js +429 -0
  159. package/scripts/redis-lua/cleanup-blocking-coordination.lua +198 -0
  160. package/scripts/release-announcement.js +425 -0
  161. package/scripts/release-notification.js +248 -0
  162. package/scripts/release-rollback.js +376 -0
  163. package/scripts/release-validation.js +460 -0
  164. package/scripts/rollback-sdk.sh +66 -0
  165. package/scripts/run-production-validation.ts +590 -0
  166. package/scripts/run-stability-validation.sh +687 -0
  167. package/scripts/security/README.md +339 -0
  168. package/scripts/security/deployment-validation.cjs +279 -0
  169. package/scripts/security/envelope-encryption-confidence-report.cjs +422 -0
  170. package/scripts/security/install-git-hooks.sh +132 -0
  171. package/scripts/security/install-git-secrets.sh +295 -0
  172. package/scripts/security/rotate-api-keys.js +469 -0
  173. package/scripts/security/ruv-swarm-safe.js +74 -0
  174. package/scripts/security/security-audit.cjs +538 -0
  175. package/scripts/security/setup-redis-auth.sh +397 -0
  176. package/scripts/security/validate-envelope-encryption.cjs +340 -0
  177. package/scripts/security-scan.js +492 -0
  178. package/scripts/src/web/frontend/.claude-flow/metrics/agent-metrics.json +1 -0
  179. package/scripts/src/web/frontend/.claude-flow/metrics/performance.json +9 -0
  180. package/scripts/src/web/frontend/.claude-flow/metrics/task-metrics.json +10 -0
  181. package/scripts/switch-api.sh +158 -0
  182. package/scripts/sync-agents.js +290 -0
  183. package/scripts/test/50-agent-test.js +625 -0
  184. package/scripts/test/NEW_STABILITY_TEST_GUIDE.md +407 -0
  185. package/scripts/test/README.md +236 -0
  186. package/scripts/test/STABILITY_TEST_EXAMPLE.md +347 -0
  187. package/scripts/test/STABILITY_TEST_README.md +480 -0
  188. package/scripts/test/agent-worker.js +309 -0
  189. package/scripts/test/ai-coordination-test.js +650 -0
  190. package/scripts/test/ai-mesh-coordination-test.js +416 -0
  191. package/scripts/test/check-links.ts +274 -0
  192. package/scripts/test/check-performance-regression.ts +168 -0
  193. package/scripts/test/cli-agent-coordination-test.js +313 -0
  194. package/scripts/test/coordinator-multilingual-test.js +396 -0
  195. package/scripts/test/coordinator-transparency-demo.js +585 -0
  196. package/scripts/test/coverage-report.ts +692 -0
  197. package/scripts/test/generate-swarm-tests.js +633 -0
  198. package/scripts/test/integration-test-validation.cjs +253 -0
  199. package/scripts/test/load-test-swarm.js +576 -0
  200. package/scripts/test/mesh-coordination-zero-overlap-test.js +740 -0
  201. package/scripts/test/multilingual-hello-world-test.js +390 -0
  202. package/scripts/test/quick-multilingual-demo.js +464 -0
  203. package/scripts/test/real-agent-test.js +312 -0
  204. package/scripts/test/run-phase3-compliance-tests.js +427 -0
  205. package/scripts/test/run-stability-test-examples.sh +292 -0
  206. package/scripts/test/stability-results/stability-metrics.jsonl +83 -0
  207. package/scripts/test/stability-results/stability-test-report.json +128 -0
  208. package/scripts/test/stability-results/stability-test.log +1827 -0
  209. package/scripts/test/stability-test-50-agents.js +734 -0
  210. package/scripts/test/test-batch-tasks.ts +29 -0
  211. package/scripts/test/test-byzantine-resolution.js +246 -0
  212. package/scripts/test/test-claude-spawn-options.sh +63 -0
  213. package/scripts/test/test-cli-wizard.js +331 -0
  214. package/scripts/test/test-comprehensive.js +401 -0
  215. package/scripts/test/test-coordination-features.ts +238 -0
  216. package/scripts/test/test-fallback-systems.js +276 -0
  217. package/scripts/test/test-init-command.ts +302 -0
  218. package/scripts/test/test-mcp.ts +251 -0
  219. package/scripts/test/test-runner.ts +568 -0
  220. package/scripts/test/test-swarm-integration.sh +92 -0
  221. package/scripts/test/test-swarm.ts +142 -0
  222. package/scripts/test/validation-summary.ts +408 -0
  223. package/scripts/test-cleanup-performance.sh +416 -0
  224. package/scripts/test-dashboard-auth.cjs +203 -0
  225. package/scripts/test-docker-deployment.sh +207 -0
  226. package/scripts/test-npm-package.cjs +167 -0
  227. package/scripts/test-provider-routing.cjs +226 -0
  228. package/scripts/test-routing-telemetry.cjs +147 -0
  229. package/scripts/test-runner.cjs +154 -0
  230. package/scripts/test-zai-10k.cjs +81 -0
  231. package/scripts/test-zai-api.cjs +191 -0
  232. package/scripts/test-zai-diagnostic.cjs +151 -0
  233. package/scripts/test-zai-final.cjs +128 -0
  234. package/scripts/test-zai-with-env.cjs +85 -0
  235. package/scripts/utils/README.md +261 -0
  236. package/scripts/utils/clean-build-artifacts.sh +94 -0
  237. package/scripts/utils/cleanup-root.sh +69 -0
  238. package/scripts/utils/fix-cliffy-imports.js +307 -0
  239. package/scripts/utils/fix-duplicate-imports.js +114 -0
  240. package/scripts/utils/fix-error-handling.cjs +70 -0
  241. package/scripts/utils/fix-import-paths.js +104 -0
  242. package/scripts/utils/fix-imports.js +116 -0
  243. package/scripts/utils/fix-shebang.js +78 -0
  244. package/scripts/utils/fix-test-modules.js +27 -0
  245. package/scripts/utils/fix-timezone-issue-246.js +200 -0
  246. package/scripts/utils/fix-ts-comprehensive.py +182 -0
  247. package/scripts/utils/fix-ts-targeted-batch.js +250 -0
  248. package/scripts/utils/remove-benchmark-conflicts.sh +140 -0
  249. package/scripts/utils/simple-test-fixer.js +190 -0
  250. package/scripts/utils/validate-metrics-structure.cjs +144 -0
  251. package/scripts/validate-agent-hooks.js +506 -0
  252. package/scripts/validate-changelog.js +241 -0
  253. package/scripts/validate-coordination-cli.js +69 -0
  254. package/scripts/validate-coordination-toggle-integration.cjs +501 -0
  255. package/scripts/validate-docker-infrastructure.sh +502 -0
  256. package/scripts/validate-entry-points.js +300 -0
  257. package/scripts/validate-stage3-performance.ts +377 -0
  258. package/scripts/validate-template-bundling.js +180 -0
  259. package/scripts/validation/README.md +33 -0
  260. package/scripts/validation/acl-security-validation.cjs +214 -0
  261. package/scripts/validation/acl-security-validation.js +402 -0
  262. package/scripts/validation/byzantine-verification.js +407 -0
  263. package/scripts/validation/final-phase-2-consensus.cjs +219 -0
  264. package/scripts/validation/final-security-validation.js +791 -0
  265. package/scripts/validation/final-wasm-validation.cjs +840 -0
  266. package/scripts/validation/integration-test-analysis.js +105 -0
  267. package/scripts/validation/phase-0-comprehensive-validation.js +474 -0
  268. package/scripts/validation/phase-0-consensus-report.js +139 -0
  269. package/scripts/validation/phase-0-final-report.js +112 -0
  270. package/scripts/validation/phase-0-redis-consensus-report.js +129 -0
  271. package/scripts/validation/phase-0-validation-improved.js +490 -0
  272. package/scripts/validation/phase-0-validation-test.js +65 -0
  273. package/scripts/validation/phase-1-consensus-report.cjs +342 -0
  274. package/scripts/validation/phase-1-consensus-validation.cjs +551 -0
  275. package/scripts/validation/phase-1-consensus-validation.js +551 -0
  276. package/scripts/validation/phase-2-consensus-report.cjs +186 -0
  277. package/scripts/validation/phase-2-validation.cjs +171 -0
  278. package/scripts/validation/phase-2-validation.js +171 -0
  279. package/scripts/validation/phase-4-consensus-report.js +181 -0
  280. package/scripts/validation/phase-4-final-validation.js +351 -0
  281. package/scripts/validation/phase-5-consensus-report.cjs +113 -0
  282. package/scripts/validation/phase-5-consensus-report.js +113 -0
  283. package/scripts/validation/security-analysis.js +49 -0
  284. package/scripts/validation/security-validation.js +492 -0
  285. package/scripts/validation/simple-security-validation.js +464 -0
  286. package/scripts/verify-installation.js +112 -0
  287. package/scripts/verify-mcp-server.js +86 -0
  288. package/scripts/verify-sdk-phase1.cjs +293 -0
@@ -0,0 +1,480 @@
1
+ # 50-Agent Swarm Stability Test
2
+
3
+ ## Overview
4
+
5
+ Self-contained stability test script for validating 50-agent swarm coordination over an 8-hour period. Tests memory stability, file descriptor management, coordination performance, and crash resilience without requiring Docker.
6
+
7
+ ## Architecture
8
+
9
+ ### Design Philosophy
10
+ - **Single-process orchestration**: Main process spawns and manages all 50 agents
11
+ - **Inline monitoring**: Metrics captured directly using system tools (ps, df, /proc)
12
+ - **Simplicity over features**: Focus on reliability and actionable results
13
+ - **Graceful degradation**: Continue test even with partial failures
14
+
15
+ ### Core Components
16
+
17
+ 1. **StabilityTestRunner**: Main orchestrator class
18
+ - Agent lifecycle management
19
+ - Coordination cycle execution
20
+ - Metrics collection and analysis
21
+ - Report generation
22
+
23
+ 2. **Agent Processes**: Lightweight Node.js child processes
24
+ - Respond to coordination messages
25
+ - Report status on demand
26
+ - Minimal memory footprint
27
+ - IPC-based communication
28
+
29
+ 3. **Monitoring System**: System metrics collection
30
+ - Memory (RSS/VSZ) via `ps`
31
+ - File descriptors via `/proc/[pid]/fd`
32
+ - tmpfs usage via `df`
33
+ - Process health via `pgrep`
34
+
35
+ 4. **Logging**: JSONL event stream
36
+ - Real-time metric snapshots
37
+ - Coordination results
38
+ - Pre/post cycle deltas
39
+ - Baseline and final reports
40
+
41
+ ## Test Specifications
42
+
43
+ ### Configuration
44
+ ```javascript
45
+ AGENT_COUNT: 50 // Number of concurrent agents
46
+ COORDINATION_INTERVAL: 5 minutes // Time between coordination cycles
47
+ TOTAL_DURATION: 8 hours // Full test duration
48
+ TOTAL_CYCLES: 96 // Number of coordination cycles
49
+ ```
50
+
51
+ ### Success Criteria
52
+
53
+ | Metric | Target | Threshold |
54
+ |--------|--------|-----------|
55
+ | Memory Growth | <10% | Baseline to final RSS comparison |
56
+ | FD Variance | <10% | Coefficient of variation |
57
+ | Coordination Variance | <20% | Coefficient of variation |
58
+ | Crashes | 0 | Zero tolerance |
59
+
60
+ ### Monitoring Data Schema
61
+
62
+ ```json
63
+ {
64
+ "cycle": 42,
65
+ "timestamp": "2025-10-07T14:23:45.123Z",
66
+ "preMetrics": {
67
+ "memory": {
68
+ "totalRss": 2048576000,
69
+ "totalVsz": 4096000000,
70
+ "processCount": 51,
71
+ "processes": [...]
72
+ },
73
+ "fileDescriptors": {
74
+ "open": 312,
75
+ "softLimit": 1024,
76
+ "hardLimit": 4096,
77
+ "utilization": 30.5
78
+ },
79
+ "tmpfs": {
80
+ "total": 1073741824,
81
+ "used": 104857600,
82
+ "available": 968884224,
83
+ "utilizationPct": 9.7
84
+ },
85
+ "processes": {
86
+ "parentPid": 12345,
87
+ "childProcessCount": 50,
88
+ "expectedAgents": 50,
89
+ "agentsCrashed": 0
90
+ }
91
+ },
92
+ "coordination": {
93
+ "cycle": 42,
94
+ "startTime": "2025-10-07T14:23:45.000Z",
95
+ "durationMs": 2234,
96
+ "agentsTotal": 50,
97
+ "agentsResponded": 50,
98
+ "agentsFailed": 0,
99
+ "responses": [...]
100
+ },
101
+ "postMetrics": { ... },
102
+ "deltas": {
103
+ "memory": 1024000,
104
+ "fileDescriptors": 2
105
+ }
106
+ }
107
+ ```
108
+
109
+ ## Usage
110
+
111
+ ### Basic Execution
112
+ ```bash
113
+ # Full 8-hour test
114
+ node scripts/test/stability-test-50-agents.js
115
+
116
+ # Dry run (3 cycles, 10s intervals)
117
+ node scripts/test/stability-test-50-agents.js --dry-run
118
+
119
+ # Custom cycle count
120
+ node scripts/test/stability-test-50-agents.js --cycles 10 --interval 30000
121
+ ```
122
+
123
+ ### Execution in Claude Code
124
+ ```javascript
125
+ // Read existing code first (required by Edit tool)
126
+ // Then execute
127
+ await Bash({
128
+ command: "node scripts/test/stability-test-50-agents.js --dry-run",
129
+ description: "Run stability test dry-run",
130
+ timeout: 120000
131
+ });
132
+ ```
133
+
134
+ ### Monitoring Progress
135
+ ```bash
136
+ # Follow real-time JSONL logs
137
+ tail -f stability-test-results.jsonl | jq .
138
+
139
+ # Monitor specific metrics
140
+ tail -f stability-test-results.jsonl | jq '.postMetrics.memory.totalRss'
141
+
142
+ # Count completed cycles
143
+ grep '"cycle":' stability-test-results.jsonl | wc -l
144
+ ```
145
+
146
+ ## Output Files
147
+
148
+ ### Real-time Logs
149
+ - **stability-test-results.jsonl**: JSONL stream of all metrics
150
+ - Baseline metrics
151
+ - Per-cycle pre/post snapshots
152
+ - Coordination results
153
+ - Delta calculations
154
+
155
+ ### Final Report
156
+ - **stability-test-report-[timestamp].json**: Complete test report
157
+ ```json
158
+ {
159
+ "testConfig": {...},
160
+ "execution": {
161
+ "startTime": "...",
162
+ "endTime": "...",
163
+ "totalDurationHours": "8.00",
164
+ "cyclesCompleted": 96
165
+ },
166
+ "metrics": {
167
+ "memory": {
168
+ "baseline": 2048576000,
169
+ "final": 2150400000,
170
+ "growth": 0.0497,
171
+ "growthPct": "4.97",
172
+ "pass": true
173
+ },
174
+ "fileDescriptors": { ... },
175
+ "coordination": { ... },
176
+ "crashes": { ... }
177
+ },
178
+ "success": true,
179
+ "recommendations": [...]
180
+ }
181
+ ```
182
+
183
+ ## Key Functions
184
+
185
+ ### Orchestration
186
+ ```javascript
187
+ async runStabilityTest()
188
+ -> spawnAllAgents()
189
+ -> captureSystemMetrics() // baseline
190
+ -> Loop: runCoordinationCycle()
191
+ -> captureSystemMetrics() // pre
192
+ -> coordinateAgents()
193
+ -> captureSystemMetrics() // post
194
+ -> writeLogEntry()
195
+ -> generateReport()
196
+ -> cleanup()
197
+ ```
198
+
199
+ ### Monitoring
200
+ ```javascript
201
+ async captureSystemMetrics(): SystemSnapshot
202
+ -> getMemoryMetrics() // ps -o pid,rss,vsz
203
+ -> getFileDescriptorMetrics() // /proc/[pid]/fd
204
+ -> getTmpfsMetrics() // df -B1 /tmp
205
+ -> getProcessMetrics() // pgrep -P [pid]
206
+ ```
207
+
208
+ ### Agent Coordination
209
+ ```javascript
210
+ async coordinateAgents(cycle): CoordinationResult
211
+ -> Send 'coordinate' message to all agents
212
+ -> Wait for responses (5s timeout)
213
+ -> Aggregate results
214
+ -> Return coordination metrics
215
+ ```
216
+
217
+ ### Report Generation
218
+ ```javascript
219
+ async generateReport(): TestReport
220
+ -> Calculate memory growth
221
+ -> Calculate FD variance
222
+ -> Calculate coordination variance
223
+ -> Count crashes
224
+ -> Evaluate success criteria
225
+ -> Generate recommendations
226
+ -> Print console report
227
+ -> Write JSON report file
228
+ ```
229
+
230
+ ## Success Criteria Detection
231
+
232
+ ### Memory Growth
233
+ ```javascript
234
+ memoryGrowth = (finalRss - baselineRss) / baselineRss
235
+ memoryPass = memoryGrowth < 0.10 // 10% threshold
236
+ ```
237
+
238
+ ### File Descriptor Variance
239
+ ```javascript
240
+ fdMean = sum(fdValues) / count(fdValues)
241
+ fdStdDev = sqrt(sum((value - mean)²) / count)
242
+ fdVariance = fdStdDev / fdMean // Coefficient of variation
243
+ fdPass = fdVariance < 0.10 // 10% threshold
244
+ ```
245
+
246
+ ### Coordination Time Variance
247
+ ```javascript
248
+ coordMean = sum(coordTimes) / count(coordTimes)
249
+ coordStdDev = sqrt(sum((time - mean)²) / count)
250
+ coordVariance = coordStdDev / coordMean
251
+ coordPass = coordVariance < 0.20 // 20% threshold
252
+ ```
253
+
254
+ ### Crash Detection
255
+ ```javascript
256
+ totalCrashes = count(agents.filter(a => a.crashed))
257
+ crashPass = totalCrashes === 0 // Zero tolerance
258
+ ```
259
+
260
+ ### Overall Result
261
+ ```javascript
262
+ overallPass = memoryPass && fdPass && coordPass && crashPass
263
+ ```
264
+
265
+ ## Failure Recovery
266
+
267
+ ### Agent Crash Handling
268
+ - Agents mark themselves as crashed on exit
269
+ - Coordination continues with remaining agents
270
+ - Crashed agents logged but not restarted (measure stability, not mask failures)
271
+ - Test fails if any agent crashes
272
+
273
+ ### Graceful Shutdown
274
+ - SIGINT/SIGTERM handlers registered
275
+ - All agents sent SIGTERM, then SIGKILL if needed
276
+ - Wait 1 second for cleanup
277
+ - Generate report before exit if metrics available
278
+
279
+ ### Orphan Process Prevention
280
+ - All agents spawned with `detached: false`
281
+ - Parent death terminates children
282
+ - Explicit kill in cleanup handler
283
+ - Process group termination
284
+
285
+ ## Recommendations Engine
286
+
287
+ The test automatically generates actionable recommendations based on results:
288
+
289
+ ### Memory Issues (≥10% growth)
290
+ - Investigate memory leaks in agent processes
291
+ - Review coordination message handling
292
+ - Consider periodic agent restart strategy
293
+
294
+ ### FD Issues (≥10% variance)
295
+ - Review FD cleanup in coordination cycles
296
+ - Check for unclosed file handles
297
+ - Implement FD monitoring strategy
298
+
299
+ ### Coordination Issues (≥20% variance)
300
+ - Investigate coordination bottlenecks
301
+ - Optimize message passing strategy
302
+ - Review timeout handling
303
+
304
+ ### Crash Issues (>0 crashes)
305
+ - Review crash logs for patterns
306
+ - Implement better error handling
307
+ - Consider health monitoring and recovery
308
+
309
+ ## WSL2-Specific Considerations
310
+
311
+ ### Memory Monitoring
312
+ - WSL2 reports memory differently than native Linux
313
+ - Use RSS (Resident Set Size) for accurate tracking
314
+ - VSZ (Virtual Size) may show high values due to WSL memory subsystem
315
+
316
+ ### File Descriptors
317
+ - WSL2 has lower default FD limits than native Linux
318
+ - Check limits: `ulimit -n`
319
+ - Increase if needed: `ulimit -n 4096`
320
+
321
+ ### tmpfs
322
+ - WSL2 tmpfs is on `/tmp` by default
323
+ - May be smaller than native Linux
324
+ - Monitor to avoid disk full errors
325
+
326
+ ### Process Management
327
+ - `pgrep` and `ps` work normally in WSL2
328
+ - `/proc` filesystem available
329
+ - IPC and child process spawning identical to native Linux
330
+
331
+ ## Troubleshooting
332
+
333
+ ### "Agent spawn timeout" errors
334
+ ```bash
335
+ # Increase spawn timeout in code (line 244)
336
+ setTimeout(() => reject(new Error(`Agent ${index} spawn timeout`)), 10000);
337
+ # Change 10000 to 30000 for slower systems
338
+ ```
339
+
340
+ ### "Too many open files" error
341
+ ```bash
342
+ # Check current limit
343
+ ulimit -n
344
+
345
+ # Increase limit (temporary)
346
+ ulimit -n 4096
347
+
348
+ # Increase limit (permanent)
349
+ echo "* soft nofile 4096" | sudo tee -a /etc/security/limits.conf
350
+ echo "* hard nofile 8192" | sudo tee -a /etc/security/limits.conf
351
+ ```
352
+
353
+ ### High memory usage
354
+ ```bash
355
+ # Monitor in real-time
356
+ watch -n 1 'ps aux | grep node | grep -v grep'
357
+
358
+ # Check for leaks
359
+ node --expose-gc scripts/test/stability-test-50-agents.js
360
+ ```
361
+
362
+ ### Coordination timeouts
363
+ ```bash
364
+ # Increase coordination timeout (line 264)
365
+ const timeout = setTimeout(() => {
366
+ resolve({ agentId: agent.id, error: 'Timeout', responded: false });
367
+ }, 5000); // Change to 10000 for slower systems
368
+ ```
369
+
370
+ ## Performance Expectations
371
+
372
+ ### Typical Metrics (WSL2 on Windows 11, 16GB RAM)
373
+ - Initial memory: ~200-300MB (50 agents + orchestrator)
374
+ - Memory per agent: ~4-6MB
375
+ - Coordination time: 100-500ms (50 agents)
376
+ - FD count: 100-200 (stable)
377
+ - tmpfs usage: <100MB
378
+
379
+ ### Resource Requirements
380
+ - RAM: 2GB minimum, 4GB recommended
381
+ - CPU: 2 cores minimum, 4+ recommended
382
+ - Disk: 1GB free for logs
383
+ - Network: None (local IPC only)
384
+
385
+ ## Example Execution
386
+
387
+ ```bash
388
+ $ node scripts/test/stability-test-50-agents.js --dry-run
389
+
390
+ [2025-10-07T14:00:00.000Z] Starting 8-hour stability test for 50-agent swarm
391
+ [2025-10-07T14:00:00.001Z] Configuration: 3 cycles, 0 min interval
392
+ [2025-10-07T14:00:00.002Z] DRY RUN MODE - Test will complete after 3 cycles
393
+ [2025-10-07T14:00:00.003Z] Spawning 50 agents...
394
+ [2025-10-07T14:00:05.234Z] Spawned 50/50 agents in 5231ms
395
+ [2025-10-07T14:00:05.456Z] Baseline metrics captured: 245.23MB RSS, 156 FDs
396
+ [2025-10-07T14:00:05.567Z] Running coordination cycle 1/3
397
+ [2025-10-07T14:00:07.891Z] Cycle 1: 50/50 agents responded in 2234ms (mem: +1.2MB, fds: +0)
398
+ [2025-10-07T14:00:17.892Z] Waiting 0s until next cycle (2025-10-07T14:00:17.892Z)
399
+ [2025-10-07T14:00:17.893Z] Running coordination cycle 2/3
400
+ [2025-10-07T14:00:20.127Z] Cycle 2: 50/50 agents responded in 2234ms (mem: +0.8MB, fds: +0)
401
+ [2025-10-07T14:00:30.128Z] Running coordination cycle 3/3
402
+ [2025-10-07T14:00:32.362Z] Cycle 3: 50/50 agents responded in 2234ms (mem: +0.5MB, fds: +0)
403
+ [2025-10-07T14:00:32.363Z] All coordination cycles completed, generating report...
404
+
405
+ ================================================================================
406
+ 8-HOUR STABILITY TEST REPORT - 50-AGENT SWARM
407
+ ================================================================================
408
+
409
+ Execution Summary:
410
+ Start Time: 2025-10-07T14:00:05.456Z
411
+ End Time: 2025-10-07T14:00:32.363Z
412
+ Duration: 0.01 hours
413
+ Cycles Completed: 3/3
414
+ Agents Spawned: 50
415
+
416
+ Metrics:
417
+ Memory Growth: 1.02% (threshold: 10%) [PASS]
418
+ FD Variance: 0.00% (threshold: 10%) [PASS]
419
+ Coordination Variance: 0.00% (threshold: 20%) [PASS]
420
+ Crashes: 0 (threshold: 0) [PASS]
421
+
422
+ Coordination Performance:
423
+ Mean: 2234.00ms
424
+ Min: 2234ms
425
+ Max: 2234ms
426
+ Std Dev: 0.00ms
427
+
428
+ Overall Result: PASS
429
+
430
+ Recommendations:
431
+
432
+ 1. [INFO] success
433
+ All stability criteria passed
434
+ - System is stable for 50-agent swarm operations
435
+ - Consider testing with larger agent counts
436
+ - Monitor production deployments for similar patterns
437
+
438
+ ================================================================================
439
+
440
+ Detailed logs written to: stability-test-results.jsonl
441
+ Full report written to: stability-test-report-1759868432363.json
442
+
443
+ [2025-10-07T14:00:32.500Z] Cleaning up resources...
444
+ [2025-10-07T14:00:33.500Z] Cleanup completed
445
+ ```
446
+
447
+ ## Integration with claude-flow-novice
448
+
449
+ This test can be integrated into the existing test suite:
450
+
451
+ ```javascript
452
+ // In package.json
453
+ {
454
+ "scripts": {
455
+ "test:stability": "node scripts/test/stability-test-50-agents.js --dry-run",
456
+ "test:stability:full": "node scripts/test/stability-test-50-agents.js"
457
+ }
458
+ }
459
+
460
+ // In CI pipeline
461
+ npm run test:stability // Quick validation
462
+ npm run test:stability:full // Full 8-hour test (nightly)
463
+ ```
464
+
465
+ ## Future Enhancements
466
+
467
+ Potential improvements (not implemented for simplicity):
468
+
469
+ 1. **Multi-swarm testing**: Test multiple isolated swarms
470
+ 2. **Dynamic agent spawning**: Add/remove agents during test
471
+ 3. **Failure injection**: Intentionally crash agents to test recovery
472
+ 4. **Network simulation**: Add latency/packet loss to IPC
473
+ 5. **Resource limits**: Test with constrained memory/CPU
474
+ 6. **Visualization**: Real-time dashboard for metrics
475
+ 7. **Historical comparison**: Compare results across test runs
476
+ 8. **Alert integration**: Send notifications on failure
477
+
478
+ ---
479
+
480
+ **Note**: This is a diagnostic tool, not a production monitoring system. Use for development and validation, not operational monitoring.