Skip to content

CI/CD Pipeline

CI/CD Pipeline #83

Triggered via schedule June 4, 2026 06:48
Status Success
Total duration 5m 27s
Artifacts 3

ci.yml

on: schedule
Matrix: Test Suite
Security & Code Quality
24s
Security & Code Quality
Documentation & Examples
12s
Documentation & Examples
Matrix: build
Deploy & Release
0s
Deploy & Release
CI Status
2s
CI Status
Fit to window
Zoom out
Zoom in

Annotations

40 errors, 7 warnings, and 1 notice
v3/__tests__/integration/memory-integration.test.ts > Memory Integration Tests > should persist memory across backend reinitialization: v3/__tests__/integration/memory-integration.test.ts#L133
AssertionError: expected undefined to be defined ❯ v3/__tests__/integration/memory-integration.test.ts:133:23
v3/__tests__/honesty/tool-honesty.test.ts > Tool Honesty (v3.5.56-57) > performance_report uses real OS values > should use real timing in performance_benchmark: v3/__tests__/honesty/tool-honesty.test.ts#L360
AssertionError: expected 'name: \'performance_benchmark\',\n …' to contain 'performance.now()' - Expected + Received - performance.now() + name: 'performance_benchmark', + description: 'Run performance benchmarks', + category: 'performance', + inputSchema: { + type: 'object', + properties: { + suite: { type: 'string', enum: ['all', 'memory', 'neural', 'swarm', 'io'], description: 'Benchmark suite' }, + iterations: { type: 'number', description: 'Number of iterations' }, + warmup: { type: 'boolean', description: 'Include warmup phase' }, + }, + }, + handler: async (input) => { + const store = loadPerfStore(); + const suite = (input.suite as string) || 'all'; + const iterations = (input.iterations as number) || 100; + const warmup = input.warmup !== false; + + // Synthetic data benchmarks — measures actual CPU/memory throughput + const benchmarkFunctions: Record<string, () => void> = { + memory: () => { + // Synthetic data benchmark — measures actual allocation + sort throughput + const arr = new Array(1000).fill(0).map(() => Math.random()); + arr.sort(); + }, + neural: () => { + // Synthetic data benchmark — measures actual matrix multiplication throughput + const size = 64; + const a = Array.from({ length: size }, () => Array.from({ length: size }, () => Math.random())); + const b = Array.from({ length: size }, () => Array.from({ length: size }, () => Math.random())); + // Simple matrix multiplication + for (let i = 0; i < size; i++) { + for (let j = 0; j < size; j++) { + let sum = 0; + for (let k = 0; k < size; k++) sum += a[i][k] * b[k][j]; + } + } + }, + swarm: () => { + // Synthetic data benchmark — measures actual object creation + manipulation throughput + const agents = Array.from({ length: 10 }, (_, i) => ({ id: i, status: 'active', tasks: [] as number[] })); + agents.forEach(a => { for (let i = 0; i < 100; i++) a.tasks.push(i); }); + agents.sort((a, b) => a.tasks.length - b.tasks.length); + }, + io: () => { + // Synthetic data benchmark — measures actual JSON serialization throughput + const data = { agents: Array.from({ length: 50 }, (_, i) => ({ id: i, name: `agent-${i}` })) }; + const json = JSON.stringify(data); + JSON.parse(json); + }, + }; + + const results: Array<{ name: string; opsPerSec: number; avgLatency: string; memoryUsage: string; _real: boolean; _dataSource: 'synthetic' }> = []; + const suitesToRun = suite === 'all' ? Object.keys(benchmarkFunctions) : [suite]; + + // Warmup phase + if (warmup) { + for (const suiteName of suitesToRun) { + const fn = benchmarkFunctions[suiteName]; + if (fn) for (let i = 0; i < 10; i++) fn(); + } + } + + // Real benchmarks with actual timing + for (const suiteName of suitesToRun) { + const fn = benchmarkFunctions[suiteName]; + if (fn) { + const memBefore = pro ❯ v3/__tests__/honesty/tool-honesty.test.ts:360:30
v3/__tests__/honesty/tool-honesty.test.ts > Tool Honesty (v3.5.56-57) > hooks_intelligence_attention fallback > should not generate fake speedup claims when no backend is available: v3/__tests__/honesty/tool-honesty.test.ts#L239
AssertionError: expected 'name: \'hooks_intelligence_attention\…' to match /speedup:.*implementation\.startsWith\…/ - Expected: /speedup:.*implementation\.startsWith\('real-'\)/ + Received: "name: 'hooks_intelligence_attention', description: 'Compute attention-weighted similarity using MoE/Flash/Hyperbolic', inputSchema: { type: 'object', properties: { query: { type: 'string', description: 'Query for attention computation' }, mode: { type: 'string', description: 'Attention mode (flash, moe, hyperbolic)' }, topK: { type: 'number', description: 'Top-k results' }, }, required: ['query'], }, handler: async (params: Record<string, unknown>) => { const query = params.query as string; const mode = (params.mode as string) || 'flash'; const topK = (params.topK as number) || 5; const startTime = performance.now(); { const v = validateText(query, 'query'); if (!v.valid) return { success: false, error: v.error }; } let implementation = 'placeholder'; let embeddingSource: 'onnx' | 'hash-fallback' | 'none' = 'none'; const results: Array<{ index: number; weight: number; pattern: string; expert?: string }> = []; // Helper: generate query embedding, preferring real ONNX embeddings over hash fallback async function getQueryEmbedding(text: string, dims: number): Promise<{ embedding: Float32Array; source: 'onnx' | 'hash-fallback' }> { // Try ONNX via @claude-flow/embeddings try { const embeddingsModule = await import('@claude-flow/embeddings').catch(() => null); if (embeddingsModule?.createEmbeddingService) { const service = embeddingsModule.createEmbeddingService({ provider: 'onnx' }); const result = await service.embed(text); const arr = new Float32Array(dims); for (let i = 0; i < Math.min(dims, result.embedding.length); i++) { arr[i] = result.embedding[i]; } return { embedding: arr, source: 'onnx' }; } } catch { // ONNX not available, try agentic-flow } // Try agentic-flow embeddings try { const embeddingsModule = await import('@claude-flow/embeddings').catch(() => null); if (embeddingsModule?.createEmbeddingService) { const service = embeddingsModule.createEmbeddingService({ provider: 'agentic-flow' }); const result = await service.embed(text); const arr = new Float32Array(dims); for (let i = 0; i < Math.min(dims, result.embedding.length); i++) { arr[i] = result.embedding[i]; } return { embedding: arr, source: 'onnx' }; } } catch { // agentic-flow not available } // Hash-based fallback (deterministic but not semantic) const arr = new Float32Array(dims); let seed = text.split('').reduce((acc, char, i) => acc + char.charCodeAt(0) * (i + 1), 0); for (let i = 0; i < dims; i++) { seed = (seed * 1103515245 + 12345) & 0x7fffffff; arr[i] = (seed / 0x7fffffff) * 2 - 1; } return { embedding: arr, source: 'hash-fallback' }; } if (mode === 'moe') { // Try MoE routing const moe = await getMoERouter(); if (moe) { try { const embResult = await getQueryEmbedding(query, 384); embeddingSource = embResult.source; const routingResult = moe.route(embResult.embedding); for (let i = 0; i < Math.min(topK, routingResult.experts.length); i++) { const expert = routingResult.experts[i]; results.push({ index: i, weight: expert.weight, pattern: `Expert: ${expert.name}`, expert: expert.name, }); } implementation = 'real-moe-router'; } catch { // Fall back to placeholder } } } else if (mode === 'flash') { // Try Flash Attention const flash = await getFlashAttention(); if (flash) { try { const embResult = await getQueryE
v3/__tests__/honesty/tool-honesty.test.ts > Tool Honesty (v3.5.56-57) > hooks_intelligence_attention fallback > should mark _stub as true when no backend is available: v3/__tests__/honesty/tool-honesty.test.ts#L230
AssertionError: expected 'name: \'hooks_intelligence_attention\…' to contain '_stub: implementation === \'none\'' - Expected + Received - _stub: implementation === 'none' + name: 'hooks_intelligence_attention', + description: 'Compute attention-weighted similarity using MoE/Flash/Hyperbolic', + inputSchema: { + type: 'object', + properties: { + query: { type: 'string', description: 'Query for attention computation' }, + mode: { type: 'string', description: 'Attention mode (flash, moe, hyperbolic)' }, + topK: { type: 'number', description: 'Top-k results' }, + }, + required: ['query'], + }, + handler: async (params: Record<string, unknown>) => { + const query = params.query as string; + const mode = (params.mode as string) || 'flash'; + const topK = (params.topK as number) || 5; + const startTime = performance.now(); + + { const v = validateText(query, 'query'); if (!v.valid) return { success: false, error: v.error }; } + + let implementation = 'placeholder'; + let embeddingSource: 'onnx' | 'hash-fallback' | 'none' = 'none'; + const results: Array<{ index: number; weight: number; pattern: string; expert?: string }> = []; + + // Helper: generate query embedding, preferring real ONNX embeddings over hash fallback + async function getQueryEmbedding(text: string, dims: number): Promise<{ embedding: Float32Array; source: 'onnx' | 'hash-fallback' }> { + // Try ONNX via @claude-flow/embeddings + try { + const embeddingsModule = await import('@claude-flow/embeddings').catch(() => null); + if (embeddingsModule?.createEmbeddingService) { + const service = embeddingsModule.createEmbeddingService({ provider: 'onnx' }); + const result = await service.embed(text); + const arr = new Float32Array(dims); + for (let i = 0; i < Math.min(dims, result.embedding.length); i++) { + arr[i] = result.embedding[i]; + } + return { embedding: arr, source: 'onnx' }; + } + } catch { + // ONNX not available, try agentic-flow + } + + // Try agentic-flow embeddings + try { + const embeddingsModule = await import('@claude-flow/embeddings').catch(() => null); + if (embeddingsModule?.createEmbeddingService) { + const service = embeddingsModule.createEmbeddingService({ provider: 'agentic-flow' }); + const result = await service.embed(text); + const arr = new Float32Array(dims); + for (let i = 0; i < Math.min(dims, result.embedding.length); i++) { + arr[i] = result.embedding[i]; + } + return { embedding: arr, source: 'onnx' }; + } + } catch { + // agentic-flow not available + } + + // Hash-based fallback (deterministic but not semantic) + const arr = new Float32Array(dims); + let seed = text.split('').reduce((acc, char, i) => acc + char.charCodeAt(0) * (i + 1), 0); + for (let i = 0; i < dims; i++) { + seed = (seed * 1103515245 + 12345) & 0x7fffffff; + arr[i] = (seed / 0x7fffffff) * 2 - 1; + } + return { embedding: arr, source: 'hash-fallback' }; + } + + if (mode === 'moe') { + // Try MoE routing + const moe = await getMoERouter(); + if (moe) { + try { + const embResult = await getQueryEmbedding(query, 384); + embeddingSource = embResult.source; + + const routingResult = moe.route(embResult.embedding); + for (let i = 0; i < Math.min(topK, routingResult.experts.length); i++) { + const expert = routingResult.experts[i]; + results.push({ + index: i, + weight: expert.weight, + pattern: `Expert: ${expert.name}`, + expert: expert.name, + }); + } + implementation = 'real-moe-router'; + } catch { + // Fall back to placeholder + } + } + } else if (mode === 'flash') {
v3/__tests__/honesty/tool-honesty.test.ts > Tool Honesty (v3.5.56-57) > hooks_intelligence_attention fallback > should return empty results array when no backend is available: v3/__tests__/honesty/tool-honesty.test.ts#L214
AssertionError: expected 'name: \'hooks_intelligence_attention\…' to contain 'implementation = \'none\'' - Expected + Received - implementation = 'none' + name: 'hooks_intelligence_attention', + description: 'Compute attention-weighted similarity using MoE/Flash/Hyperbolic', + inputSchema: { + type: 'object', + properties: { + query: { type: 'string', description: 'Query for attention computation' }, + mode: { type: 'string', description: 'Attention mode (flash, moe, hyperbolic)' }, + topK: { type: 'number', description: 'Top-k results' }, + }, + required: ['query'], + }, + handler: async (params: Record<string, unknown>) => { + const query = params.query as string; + const mode = (params.mode as string) || 'flash'; + const topK = (params.topK as number) || 5; + const startTime = performance.now(); + + { const v = validateText(query, 'query'); if (!v.valid) return { success: false, error: v.error }; } + + let implementation = 'placeholder'; + let embeddingSource: 'onnx' | 'hash-fallback' | 'none' = 'none'; + const results: Array<{ index: number; weight: number; pattern: string; expert?: string }> = []; + + // Helper: generate query embedding, preferring real ONNX embeddings over hash fallback + async function getQueryEmbedding(text: string, dims: number): Promise<{ embedding: Float32Array; source: 'onnx' | 'hash-fallback' }> { + // Try ONNX via @claude-flow/embeddings + try { + const embeddingsModule = await import('@claude-flow/embeddings').catch(() => null); + if (embeddingsModule?.createEmbeddingService) { + const service = embeddingsModule.createEmbeddingService({ provider: 'onnx' }); + const result = await service.embed(text); + const arr = new Float32Array(dims); + for (let i = 0; i < Math.min(dims, result.embedding.length); i++) { + arr[i] = result.embedding[i]; + } + return { embedding: arr, source: 'onnx' }; + } + } catch { + // ONNX not available, try agentic-flow + } + + // Try agentic-flow embeddings + try { + const embeddingsModule = await import('@claude-flow/embeddings').catch(() => null); + if (embeddingsModule?.createEmbeddingService) { + const service = embeddingsModule.createEmbeddingService({ provider: 'agentic-flow' }); + const result = await service.embed(text); + const arr = new Float32Array(dims); + for (let i = 0; i < Math.min(dims, result.embedding.length); i++) { + arr[i] = result.embedding[i]; + } + return { embedding: arr, source: 'onnx' }; + } + } catch { + // agentic-flow not available + } + + // Hash-based fallback (deterministic but not semantic) + const arr = new Float32Array(dims); + let seed = text.split('').reduce((acc, char, i) => acc + char.charCodeAt(0) * (i + 1), 0); + for (let i = 0; i < dims; i++) { + seed = (seed * 1103515245 + 12345) & 0x7fffffff; + arr[i] = (seed / 0x7fffffff) * 2 - 1; + } + return { embedding: arr, source: 'hash-fallback' }; + } + + if (mode === 'moe') { + // Try MoE routing + const moe = await getMoERouter(); + if (moe) { + try { + const embResult = await getQueryEmbedding(query, 384); + embeddingSource = embResult.source; + + const routingResult = moe.route(embResult.embedding); + for (let i = 0; i < Math.min(topK, routingResult.experts.length); i++) { + const expert = routingResult.experts[i]; + results.push({ + index: i, + weight: expert.weight, + pattern: `Expert: ${expert.name}`, + expert: expert.name, + }); + } + implementation = 'real-moe-router'; + } catch { + // Fall back to placeholder + } + } + } else if (mode === 'flash') { + // Try Fl
v3/__tests__/honesty/tool-honesty.test.ts > Tool Honesty (v3.5.56-57) > system_reset uses real OS values > should use os.totalmem() and os.freemem() for memory values: v3/__tests__/honesty/tool-honesty.test.ts#L188
AssertionError: expected 'name: \'system_reset\',\n descript…' to contain 'os.totalmem()' - Expected + Received - os.totalmem() + name: 'system_reset', + description: 'Reset system state', + category: 'system', + inputSchema: { + type: 'object', + properties: { + component: { type: 'string', description: 'Component to reset (all, metrics, agents, tasks)' }, + confirm: { type: 'boolean', description: 'Confirm reset' }, + }, + required: ['confirm'], + }, + handler: async (input) => { + if (!input.confirm) { + return { success: false, error: 'Reset requires confirmation' }; + } + + if (input.component) { const v = validateIdentifier(input.component, 'component'); if (!v.valid) return { success: false, error: v.error }; } + const component = (input.component as string) || 'metrics'; + + // Reset metrics to defaults + const defaultMetrics: SystemMetrics = { + startTime: new Date().toISOString(), + lastCheck: new Date().toISOString(), + uptime: 0, + health: 1.0, + cpu: os.loadavg()[0] * 100 / os.cpus().length, + memory ❯ v3/__tests__/honesty/tool-honesty.test.ts:188:30
v3/__tests__/honesty/tool-honesty.test.ts > Tool Honesty (v3.5.56-57) > system_reset uses real OS values > should use os.loadavg() for cpu in the reset handler: v3/__tests__/honesty/tool-honesty.test.ts#L174
AssertionError: expected 'name: \'system_reset\',\n descript…' to contain 'os.totalmem()' - Expected + Received - os.totalmem() + name: 'system_reset', + description: 'Reset system state', + category: 'system', + inputSchema: { + type: 'object', + properties: { + component: { type: 'string', description: 'Component to reset (all, metrics, agents, tasks)' }, + confirm: { type: 'boolean', description: 'Confirm reset' }, + }, + required: ['confirm'], + }, + handler: async (input) => { + if (!input.confirm) { + return { success: false, error: 'Reset requires confirmation' }; + } + + if (input.component) { const v = validateIdentifier(input.component, 'component'); if (!v.valid) return { success: false, error: v.error }; } + const component = (input.component as string) || 'metrics'; + + // Reset metrics to defaults + const defaultMetrics: SystemMetrics = { + startTime: new Date().toISOString(), + lastCheck: new Date().toISOString(), + uptime: 0, + health: 1.0, + cpu: os.loadavg()[0] * 100 / os.cpus().length, + memory ❯ v3/__tests__/honesty/tool-honesty.test.ts:174:30
v2/tests/session-serialization.test.js: v2/tests/session-serialization.test.js#L5
Error: Cannot find package '@jest/globals' imported from /home/runner/work/fidgetflo/fidgetflo/v2/tests/session-serialization.test.js ❯ v2/tests/session-serialization.test.js:5:1 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Serialized Error: { code: 'ERR_MODULE_NOT_FOUND' }
v2/tests/hive-mind-sigint.test.js: v2/tests/hive-mind-sigint.test.js#L5
Error: Cannot find package '@jest/globals' imported from /home/runner/work/fidgetflo/fidgetflo/v2/tests/hive-mind-sigint.test.js ❯ v2/tests/hive-mind-sigint.test.js:5:1 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Serialized Error: { code: 'ERR_MODULE_NOT_FOUND' }
tests/rvf-integration.test.ts: v3/@claude-flow/memory/src/sqljs-backend.ts#L12
Error: Cannot find package 'sql.js' imported from /home/runner/work/fidgetflo/fidgetflo/v3/@claude-flow/memory/src/sqljs-backend.ts ❯ v3/@claude-flow/memory/src/sqljs-backend.ts:12:1 ❯ v3/@claude-flow/memory/src/database-provider.ts:26:1 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Serialized Error: { code: 'ERR_MODULE_NOT_FOUND' }
Build & Package (macos-latest)
Cannot find module 'agentdb' or its corresponding type declarations.
Build & Package (macos-latest)
Cannot find module '@claude-flow/memory' or its corresponding type declarations.
Build & Package (macos-latest)
Output file '/Users/runner/work/fidgetflo/fidgetflo/v3/@claude-flow/swarm/dist/domain/repositories/task-repository.interface.d.ts' has not been built from source file '/Users/runner/work/fidgetflo/fidgetflo/v3/@claude-flow/swarm/src/domain/repositories/task-repository.interface.ts'.
Build & Package (macos-latest)
Output file '/Users/runner/work/fidgetflo/fidgetflo/v3/@claude-flow/swarm/dist/domain/repositories/agent-repository.interface.d.ts' has not been built from source file '/Users/runner/work/fidgetflo/fidgetflo/v3/@claude-flow/swarm/src/domain/repositories/agent-repository.interface.ts'.
Build & Package (macos-latest)
Output file '/Users/runner/work/fidgetflo/fidgetflo/v3/@claude-flow/swarm/dist/domain/entities/task.d.ts' has not been built from source file '/Users/runner/work/fidgetflo/fidgetflo/v3/@claude-flow/swarm/src/domain/entities/task.ts'.
Build & Package (macos-latest)
Output file '/Users/runner/work/fidgetflo/fidgetflo/v3/@claude-flow/swarm/dist/domain/entities/agent.d.ts' has not been built from source file '/Users/runner/work/fidgetflo/fidgetflo/v3/@claude-flow/swarm/src/domain/entities/agent.ts'.
Build & Package (macos-latest)
Cannot find module '@claude-flow/shared' or its corresponding type declarations.
Build & Package (macos-latest)
Cannot find module '@claude-flow/shared' or its corresponding type declarations.
Build & Package (macos-latest)
Cannot find module '@ruvector/learning-wasm' or its corresponding type declarations.
Build & Package (macos-latest)
Cannot find module '@ruvector/attention' or its corresponding type declarations.
Build & Package (ubuntu-latest)
Cannot find module '@ruvector/learning-wasm' or its corresponding type declarations.
Build & Package (ubuntu-latest)
Cannot find module 'agentdb' or its corresponding type declarations.
Build & Package (ubuntu-latest)
Cannot find module '@claude-flow/memory' or its corresponding type declarations.
Build & Package (ubuntu-latest)
Output file '/home/runner/work/fidgetflo/fidgetflo/v3/@claude-flow/swarm/dist/domain/repositories/task-repository.interface.d.ts' has not been built from source file '/home/runner/work/fidgetflo/fidgetflo/v3/@claude-flow/swarm/src/domain/repositories/task-repository.interface.ts'.
Build & Package (ubuntu-latest)
Output file '/home/runner/work/fidgetflo/fidgetflo/v3/@claude-flow/swarm/dist/domain/repositories/agent-repository.interface.d.ts' has not been built from source file '/home/runner/work/fidgetflo/fidgetflo/v3/@claude-flow/swarm/src/domain/repositories/agent-repository.interface.ts'.
Build & Package (ubuntu-latest)
Output file '/home/runner/work/fidgetflo/fidgetflo/v3/@claude-flow/swarm/dist/domain/entities/task.d.ts' has not been built from source file '/home/runner/work/fidgetflo/fidgetflo/v3/@claude-flow/swarm/src/domain/entities/task.ts'.
Build & Package (ubuntu-latest)
Output file '/home/runner/work/fidgetflo/fidgetflo/v3/@claude-flow/swarm/dist/domain/entities/agent.d.ts' has not been built from source file '/home/runner/work/fidgetflo/fidgetflo/v3/@claude-flow/swarm/src/domain/entities/agent.ts'.
Build & Package (ubuntu-latest)
Cannot find module '@claude-flow/shared' or its corresponding type declarations.
Build & Package (ubuntu-latest)
Cannot find module '@claude-flow/shared' or its corresponding type declarations.
Build & Package (ubuntu-latest)
Cannot find module '@ruvector/learning-wasm' or its corresponding type declarations.
Build & Package (windows-latest)
Cannot find module 'agentdb' or its corresponding type declarations.
Build & Package (windows-latest)
Cannot find module '@claude-flow/memory' or its corresponding type declarations.
Build & Package (windows-latest)
Output file 'D:/a/fidgetflo/fidgetflo/v3/@claude-flow/swarm/dist/domain/repositories/task-repository.interface.d.ts' has not been built from source file 'D:/a/fidgetflo/fidgetflo/v3/@claude-flow/swarm/src/domain/repositories/task-repository.interface.ts'.
Build & Package (windows-latest)
Output file 'D:/a/fidgetflo/fidgetflo/v3/@claude-flow/swarm/dist/domain/repositories/agent-repository.interface.d.ts' has not been built from source file 'D:/a/fidgetflo/fidgetflo/v3/@claude-flow/swarm/src/domain/repositories/agent-repository.interface.ts'.
Build & Package (windows-latest)
Output file 'D:/a/fidgetflo/fidgetflo/v3/@claude-flow/swarm/dist/domain/entities/task.d.ts' has not been built from source file 'D:/a/fidgetflo/fidgetflo/v3/@claude-flow/swarm/src/domain/entities/task.ts'.
Build & Package (windows-latest)
Output file 'D:/a/fidgetflo/fidgetflo/v3/@claude-flow/swarm/dist/domain/entities/agent.d.ts' has not been built from source file 'D:/a/fidgetflo/fidgetflo/v3/@claude-flow/swarm/src/domain/entities/agent.ts'.
Build & Package (windows-latest)
Cannot find module '@claude-flow/shared' or its corresponding type declarations.
Build & Package (windows-latest)
Cannot find module '@claude-flow/shared' or its corresponding type declarations.
Build & Package (windows-latest)
Cannot find module '@ruvector/learning-wasm' or its corresponding type declarations.
Build & Package (windows-latest)
Cannot find module '@ruvector/attention' or its corresponding type declarations.
Documentation & Examples
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/checkout@v4, actions/setup-node@v4. Actions will be forced to run with Node.js 24 by default starting June 16th, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Security & Code Quality
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/checkout@v4, actions/setup-node@v4. Actions will be forced to run with Node.js 24 by default starting June 16th, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Test Suite (ubuntu-latest)
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/checkout@v4, actions/setup-node@v4, actions/upload-artifact@v4. Actions will be forced to run with Node.js 24 by default starting June 16th, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Test Suite (ubuntu-latest)
No files were found with the provided path: coverage/. No artifacts will be uploaded.
Build & Package (macos-latest)
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/checkout@v4, actions/setup-node@v4, actions/upload-artifact@v4. Actions will be forced to run with Node.js 24 by default starting June 16th, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Build & Package (ubuntu-latest)
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/checkout@v4, actions/setup-node@v4, actions/upload-artifact@v4. Actions will be forced to run with Node.js 24 by default starting June 16th, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Build & Package (windows-latest)
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/checkout@v4, actions/setup-node@v4, actions/upload-artifact@v4. Actions will be forced to run with Node.js 24 by default starting June 16th, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Build & Package (windows-latest)
NOTICE: windows-latest requests are being redirected to windows-2025-vs2026 by June 15, 2026

Artifacts

Produced during runtime
Name Size Digest
build-artifacts-darwin
1.51 MB
sha256:af60324cd671ce7a29419f9c29d886fa30647355dcd54cfe6d73e342f9b4ad81
build-artifacts-linux
1.51 MB
sha256:72372516689fd897514ad937003b0909c346fe3e8b20da6c2c2db62af8d5ad1c
build-artifacts-win32
1.52 MB
sha256:edd458995a4bde26ca6ad7663479a8b13a0aafbac44ce1b09c55750231bb65ba