claude-flow-novice 2.15.8 → 2.15.10
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/.claude/skills/cfn-loop-orchestration/IMPLEMENTATION_SUMMARY.md +519 -0
- package/.claude/skills/cfn-loop-orchestration/ORCHESTRATOR_IMPLEMENTATION.md +493 -0
- package/.claude/skills/cfn-loop-orchestration/ORCHESTRATOR_QUICK_START.md +499 -0
- package/.claude/skills/cfn-loop-orchestration/helpers/consensus-ts.sh +104 -0
- package/.claude/skills/cfn-loop-orchestration/helpers/deliverable-verifier-ts.sh +123 -0
- package/.claude/skills/cfn-loop-orchestration/helpers/iteration-manager-ts.sh +89 -0
- package/.claude/skills/cfn-loop-orchestration/helpers/orchestrate-ts.sh +104 -0
- package/.claude/skills/cfn-loop-orchestration/helpers/timeout-calculator-ts.sh +47 -0
- package/.claude/skills/cfn-loop-orchestration/orchestrate.sh +2 -2
- package/.claude/skills/cfn-loop-orchestration/src/orchestrate.ts +648 -0
- package/.claude/skills/cfn-loop-orchestration/tests/orchestrate.test.ts +836 -0
- package/.claude/skills/cfn-redis-coordination/report-completion.sh +55 -10
- package/.claude/skills/cfn-redis-coordination/store-context.sh +31 -1
- package/README.md +205 -10
- package/claude-assets/agents/cfn-dev-team/coordinators/cfn-frontend-coordinator.md +6 -1
- package/claude-assets/agents/cfn-dev-team/coordinators/cfn-v3-coordinator.md +180 -229
- package/claude-assets/agents/cfn-dev-team/coordinators/consensus-builder.md +6 -1
- package/claude-assets/agents/cfn-dev-team/coordinators/handoff-coordinator.md +6 -1
- package/claude-assets/agents/cfn-dev-team/coordinators/multi-sprint-coordinator.md +6 -1
- package/claude-assets/agents/cfn-dev-team/dev-ops/docker-specialist.md +20 -8
- package/claude-assets/agents/cfn-dev-team/dev-ops/kubernetes-specialist.md +20 -8
- package/claude-assets/agents/cfn-dev-team/developers/api-gateway-specialist.md +20 -9
- package/claude-assets/agents/cfn-dev-team/developers/backend-developer.md +17 -7
- package/claude-assets/agents/cfn-dev-team/developers/database/database-architect.md +3 -0
- package/claude-assets/agents/cfn-dev-team/developers/frontend/mobile-dev.md +4 -1
- package/claude-assets/agents/cfn-dev-team/developers/frontend/react-frontend-engineer.md +4 -1
- package/claude-assets/agents/cfn-dev-team/developers/frontend/typescript-specialist.md +4 -1
- package/claude-assets/agents/cfn-dev-team/developers/frontend/ui-designer.md +5 -0
- package/claude-assets/agents/cfn-dev-team/developers/graphql-specialist.md +19 -9
- package/claude-assets/agents/cfn-dev-team/developers/rust-developer.md +20 -9
- package/claude-assets/agents/cfn-dev-team/documentation/pseudocode.md +2 -7
- package/claude-assets/agents/cfn-dev-team/reviewers/code-reviewer.md +9 -5
- package/claude-assets/agents/cfn-dev-team/reviewers/quality/code-quality-validator.md +13 -6
- package/claude-assets/agents/cfn-dev-team/reviewers/quality/perf-analyzer.md +13 -6
- package/claude-assets/agents/cfn-dev-team/reviewers/quality/performance-benchmarker.md +13 -6
- package/claude-assets/agents/cfn-dev-team/reviewers/quality/security-specialist.md +15 -5
- package/claude-assets/agents/cfn-dev-team/testers/api-testing-specialist.md +9 -5
- package/claude-assets/agents/cfn-dev-team/testers/chaos-engineering-specialist.md +8 -4
- package/claude-assets/agents/cfn-dev-team/testers/interaction-tester.md +16 -13
- package/claude-assets/agents/cfn-dev-team/testers/playwright-tester.md +9 -5
- package/claude-assets/agents/cfn-dev-team/testers/tester.md +9 -5
- package/claude-assets/agents/cfn-dev-team/utility/epic-creator.md +16 -9
- package/claude-assets/agents/cfn-dev-team/utility/memory-leak-specialist.md +16 -9
- package/claude-assets/agents/cfn-dev-team/utility/z-ai-specialist.md +16 -9
- package/claude-assets/skills/cfn-loop-orchestration/IMPLEMENTATION_SUMMARY.md +519 -0
- package/claude-assets/skills/cfn-loop-orchestration/ORCHESTRATOR_IMPLEMENTATION.md +493 -0
- package/claude-assets/skills/cfn-loop-orchestration/ORCHESTRATOR_QUICK_START.md +499 -0
- package/claude-assets/skills/cfn-loop-orchestration/helpers/consensus-ts.sh +104 -0
- package/claude-assets/skills/cfn-loop-orchestration/helpers/deliverable-verifier-ts.sh +123 -0
- package/claude-assets/skills/cfn-loop-orchestration/helpers/iteration-manager-ts.sh +89 -0
- package/claude-assets/skills/cfn-loop-orchestration/helpers/orchestrate-ts.sh +104 -0
- package/claude-assets/skills/cfn-loop-orchestration/helpers/timeout-calculator-ts.sh +47 -0
- package/claude-assets/skills/cfn-loop-orchestration/orchestrate.sh +2 -2
- package/claude-assets/skills/cfn-loop-orchestration/src/orchestrate.ts +648 -0
- package/claude-assets/skills/cfn-loop-orchestration/tests/orchestrate.test.ts +836 -0
- package/claude-assets/skills/cfn-redis-coordination/report-completion.sh +55 -10
- package/claude-assets/skills/cfn-redis-coordination/store-context.sh +31 -1
- package/dist/cli/config-manager.js +91 -109
- package/dist/cli/config-manager.js.map +1 -1
- package/dist/coordination/coordinate.js +369 -0
- package/dist/coordination/coordinate.js.map +1 -0
- package/dist/coordination/spawn-agent.js +364 -0
- package/dist/coordination/spawn-agent.js.map +1 -0
- package/dist/coordination/types-export.js +38 -0
- package/dist/coordination/types-export.js.map +1 -0
- package/package.json +1 -1
|
@@ -2,7 +2,10 @@
|
|
|
2
2
|
# Report agent completion and confidence to Redis
|
|
3
3
|
# Replaces deprecated invoke-waiting-mode.sh for CFN Loop coordination
|
|
4
4
|
#
|
|
5
|
-
# Usage:
|
|
5
|
+
# Usage:
|
|
6
|
+
# report-completion.sh --task-id <id> --agent-id <id> --confidence <0.0-1.0>
|
|
7
|
+
# [--iteration <n>] [--namespace <ns>] [--result <json>]
|
|
8
|
+
# [--test-pass-rate <pct>] [--tests-run <n>] [--tests-passed <n>]
|
|
6
9
|
|
|
7
10
|
set -euo pipefail
|
|
8
11
|
|
|
@@ -16,6 +19,10 @@ AGENT_ID=""
|
|
|
16
19
|
CONFIDENCE=""
|
|
17
20
|
RESULT=""
|
|
18
21
|
ITERATION="1"
|
|
22
|
+
NAMESPACE="swarm"
|
|
23
|
+
TEST_PASS_RATE=""
|
|
24
|
+
TESTS_RUN=""
|
|
25
|
+
TESTS_PASSED=""
|
|
19
26
|
|
|
20
27
|
while [[ $# -gt 0 ]]; do
|
|
21
28
|
case $1 in
|
|
@@ -39,6 +46,22 @@ while [[ $# -gt 0 ]]; do
|
|
|
39
46
|
ITERATION="$2"
|
|
40
47
|
shift 2
|
|
41
48
|
;;
|
|
49
|
+
--namespace)
|
|
50
|
+
NAMESPACE="$2"
|
|
51
|
+
shift 2
|
|
52
|
+
;;
|
|
53
|
+
--test-pass-rate)
|
|
54
|
+
TEST_PASS_RATE="$2"
|
|
55
|
+
shift 2
|
|
56
|
+
;;
|
|
57
|
+
--tests-run)
|
|
58
|
+
TESTS_RUN="$2"
|
|
59
|
+
shift 2
|
|
60
|
+
;;
|
|
61
|
+
--tests-passed)
|
|
62
|
+
TESTS_PASSED="$2"
|
|
63
|
+
shift 2
|
|
64
|
+
;;
|
|
42
65
|
*)
|
|
43
66
|
echo "Unknown option: $1" >&2
|
|
44
67
|
exit 1
|
|
@@ -51,7 +74,9 @@ done
|
|
|
51
74
|
# Wrapper provides graceful Task mode fallback when Redis unavailable
|
|
52
75
|
if [ -z "$TASK_ID" ] || [ -z "$AGENT_ID" ] || [ -z "$CONFIDENCE" ]; then
|
|
53
76
|
echo "Error: Missing required parameters" >&2
|
|
54
|
-
echo "Usage: $0 --task-id <id> --agent-id <id> --confidence <0.0-1.0>
|
|
77
|
+
echo "Usage: $0 --task-id <id> --agent-id <id> --confidence <0.0-1.0>" >&2
|
|
78
|
+
echo " [--iteration <n>] [--namespace <ns>] [--result <json>]" >&2
|
|
79
|
+
echo " [--test-pass-rate <pct>] [--tests-run <n>] [--tests-passed <n>]" >&2
|
|
55
80
|
exit 1
|
|
56
81
|
fi
|
|
57
82
|
|
|
@@ -66,24 +91,44 @@ fi
|
|
|
66
91
|
# Measured improvement: ~62% coordination overhead reduction in standard mode
|
|
67
92
|
{
|
|
68
93
|
echo "MULTI"
|
|
69
|
-
echo "LPUSH
|
|
70
|
-
echo "SET
|
|
94
|
+
echo "LPUSH ${NAMESPACE}:${TASK_ID}:${AGENT_ID}:done complete"
|
|
95
|
+
echo "SET ${NAMESPACE}:${TASK_ID}:${AGENT_ID}:confidence $CONFIDENCE EX 3600"
|
|
96
|
+
|
|
97
|
+
# Build result hash with test metrics if provided
|
|
98
|
+
RESULT_HASH_ARGS="confidence $CONFIDENCE iteration $ITERATION"
|
|
71
99
|
|
|
72
100
|
if [ -n "$RESULT" ]; then
|
|
73
|
-
|
|
74
|
-
else
|
|
75
|
-
echo "HSET swarm:${TASK_ID}:${AGENT_ID}:result confidence $CONFIDENCE iteration $ITERATION timestamp $(date -u +%Y-%m-%dT%H:%M:%SZ)"
|
|
101
|
+
RESULT_HASH_ARGS="$RESULT_HASH_ARGS result $RESULT"
|
|
76
102
|
fi
|
|
77
103
|
|
|
104
|
+
if [ -n "$TEST_PASS_RATE" ]; then
|
|
105
|
+
RESULT_HASH_ARGS="$RESULT_HASH_ARGS test_pass_rate $TEST_PASS_RATE"
|
|
106
|
+
fi
|
|
107
|
+
|
|
108
|
+
if [ -n "$TESTS_RUN" ]; then
|
|
109
|
+
RESULT_HASH_ARGS="$RESULT_HASH_ARGS tests_run $TESTS_RUN"
|
|
110
|
+
fi
|
|
111
|
+
|
|
112
|
+
if [ -n "$TESTS_PASSED" ]; then
|
|
113
|
+
RESULT_HASH_ARGS="$RESULT_HASH_ARGS tests_passed $TESTS_PASSED"
|
|
114
|
+
fi
|
|
115
|
+
|
|
116
|
+
RESULT_HASH_ARGS="$RESULT_HASH_ARGS timestamp $(date -u +%Y-%m-%dT%H:%M:%SZ)"
|
|
117
|
+
|
|
118
|
+
echo "HSET ${NAMESPACE}:${TASK_ID}:${AGENT_ID}:result $RESULT_HASH_ARGS"
|
|
119
|
+
|
|
78
120
|
echo "EXEC"
|
|
79
121
|
} | redis-cli > /dev/null
|
|
80
122
|
|
|
81
123
|
# Step 4: Add to agent completion list (for orchestrator tracking)
|
|
82
|
-
redis-cli LPUSH "
|
|
124
|
+
redis-cli LPUSH "${NAMESPACE}:${TASK_ID}:completed_agents" "$AGENT_ID" > /dev/null
|
|
83
125
|
|
|
84
126
|
# Step 5: Set TTL on keys (auto-cleanup)
|
|
85
|
-
redis-cli EXPIRE "
|
|
86
|
-
redis-cli EXPIRE "
|
|
127
|
+
redis-cli EXPIRE "${NAMESPACE}:${TASK_ID}:${AGENT_ID}:result" 3600 > /dev/null
|
|
128
|
+
redis-cli EXPIRE "${NAMESPACE}:${TASK_ID}:${AGENT_ID}:done" 3600 > /dev/null
|
|
87
129
|
|
|
88
130
|
echo "✅ Reported completion for agent: $AGENT_ID (confidence: $CONFIDENCE)"
|
|
131
|
+
if [ -n "$TEST_PASS_RATE" ]; then
|
|
132
|
+
echo " Test pass rate: $TEST_PASS_RATE%"
|
|
133
|
+
fi
|
|
89
134
|
exit 0
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
#
|
|
5
5
|
# Usage:
|
|
6
6
|
# store-context.sh --task-id <id> --key <key> --value <value> [--namespace <ns>]
|
|
7
|
+
# store-context.sh --task-id <id> --epic <epic> --mode <mode> [--namespace <ns>]
|
|
7
8
|
# store-context.sh <task_id> <context_json> (legacy mode)
|
|
8
9
|
|
|
9
10
|
set -euo pipefail
|
|
@@ -18,6 +19,8 @@ KEY=""
|
|
|
18
19
|
VALUE=""
|
|
19
20
|
NAMESPACE="swarm"
|
|
20
21
|
CONTEXT=""
|
|
22
|
+
EPIC=""
|
|
23
|
+
MODE=""
|
|
21
24
|
|
|
22
25
|
# Parse arguments
|
|
23
26
|
while [[ $# -gt 0 ]]; do
|
|
@@ -38,6 +41,14 @@ while [[ $# -gt 0 ]]; do
|
|
|
38
41
|
NAMESPACE="$2"
|
|
39
42
|
shift 2
|
|
40
43
|
;;
|
|
44
|
+
--epic)
|
|
45
|
+
EPIC="$2"
|
|
46
|
+
shift 2
|
|
47
|
+
;;
|
|
48
|
+
--mode)
|
|
49
|
+
MODE="$2"
|
|
50
|
+
shift 2
|
|
51
|
+
;;
|
|
41
52
|
*)
|
|
42
53
|
# Legacy mode: positional arguments
|
|
43
54
|
if [ -z "$TASK_ID" ]; then
|
|
@@ -54,10 +65,29 @@ done
|
|
|
54
65
|
if [ -z "$TASK_ID" ]; then
|
|
55
66
|
echo "Error: --task-id or TASK_ID required" >&2
|
|
56
67
|
echo "Usage: $0 --task-id <id> --key <key> --value <value> [--namespace <ns>]" >&2
|
|
68
|
+
echo " or: $0 --task-id <id> --epic <epic> --mode <mode> [--namespace <ns>]" >&2
|
|
57
69
|
echo " or: $0 <task_id> <context_json> (legacy)" >&2
|
|
58
70
|
exit 1
|
|
59
71
|
fi
|
|
60
72
|
|
|
73
|
+
# Handle epic+mode mode (new)
|
|
74
|
+
if [ -n "$EPIC" ] && [ -n "$MODE" ]; then
|
|
75
|
+
# Store epic and mode with task context
|
|
76
|
+
REDIS_KEY="${NAMESPACE}:${TASK_ID}:context"
|
|
77
|
+
|
|
78
|
+
redis-cli HSET "$REDIS_KEY" \
|
|
79
|
+
"epic" "$EPIC" \
|
|
80
|
+
"mode" "$MODE" \
|
|
81
|
+
"updated_at" "$(date -u +%Y-%m-%dT%H:%M:%SZ)" \
|
|
82
|
+
> /dev/null
|
|
83
|
+
|
|
84
|
+
# Set TTL (24 hours)
|
|
85
|
+
redis-cli EXPIRE "$REDIS_KEY" 86400 > /dev/null
|
|
86
|
+
|
|
87
|
+
echo "✅ Context stored: epic=$EPIC, mode=$MODE for task: $TASK_ID"
|
|
88
|
+
exit 0
|
|
89
|
+
fi
|
|
90
|
+
|
|
61
91
|
# Handle structured mode (new)
|
|
62
92
|
if [ -n "$KEY" ] && [ -n "$VALUE" ]; then
|
|
63
93
|
# Store structured context with specific key
|
|
@@ -89,5 +119,5 @@ if [ -n "$CONTEXT" ]; then
|
|
|
89
119
|
exit 0
|
|
90
120
|
fi
|
|
91
121
|
|
|
92
|
-
echo "Error: Either --key/--value or <context_json> required" >&2
|
|
122
|
+
echo "Error: Either --epic/--mode, --key/--value, or <context_json> required" >&2
|
|
93
123
|
exit 1
|
package/README.md
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
[](https://opensource.org/licenses/MIT)
|
|
5
5
|
[](https://nodejs.org/)
|
|
6
6
|
[](https://github.com/yourusername/claude-flow-novice/actions/workflows/ci.yml)
|
|
7
|
-
[](
|
|
7
|
+
[](.github/workflows)
|
|
8
8
|
|
|
9
9
|
Autonomous self-correcting AI agent orchestration with multi-domain support and intelligent learning capabilities.
|
|
10
10
|
|
|
@@ -437,25 +437,220 @@ See `readme/logs-tools.md` for complete documentation.
|
|
|
437
437
|
|
|
438
438
|
## Testing
|
|
439
439
|
|
|
440
|
+
Claude Flow Novice includes comprehensive test suites across multiple execution modes and test types. Choose the appropriate test runner based on your development context.
|
|
441
|
+
|
|
442
|
+
### Quick Start
|
|
443
|
+
|
|
444
|
+
```bash
|
|
445
|
+
# Run all npm-based tests (unit, integration, e2e)
|
|
446
|
+
npm test
|
|
447
|
+
|
|
448
|
+
# Run CLI mode test suite (test-driven validation)
|
|
449
|
+
./tests/cli-mode/run-all-tests.sh
|
|
450
|
+
|
|
451
|
+
# Run Docker mode test suite (45 production tests)
|
|
452
|
+
./tests/docker-mode/run-all-implementations.sh
|
|
453
|
+
```
|
|
454
|
+
|
|
455
|
+
### Test Execution Modes
|
|
456
|
+
|
|
457
|
+
#### CLI Mode Tests (Production)
|
|
458
|
+
Run the CLI mode test suite to validate end-to-end coordination, quality gates, and agent spawning:
|
|
459
|
+
|
|
460
|
+
```bash
|
|
461
|
+
# Full test suite with all assertions
|
|
462
|
+
./tests/cli-mode/run-all-tests.sh
|
|
463
|
+
|
|
464
|
+
# Expected runtime: ~5-10 minutes
|
|
465
|
+
# Tests: 8 suites, 159 total assertions
|
|
466
|
+
# Coverage: Redis coordination, threshold enforcement, agent spawning, path resolution
|
|
467
|
+
```
|
|
468
|
+
|
|
469
|
+
**Validates:**
|
|
470
|
+
- `/cfn-loop-cli` slash command workflow
|
|
471
|
+
- Coordinator spawning and orchestration
|
|
472
|
+
- Loop 3 → Loop 2 → Product Owner progression
|
|
473
|
+
- Quality gate enforcement (MVP/Standard/Enterprise modes)
|
|
474
|
+
- Redis coordination layer
|
|
475
|
+
- Agent tool access and permissions
|
|
476
|
+
|
|
477
|
+
**Prerequisites:**
|
|
478
|
+
- Redis running (`redis-server`)
|
|
479
|
+
- Project built (`npm run build`)
|
|
480
|
+
- Z.ai API key configured (`.env`) for integration tests
|
|
481
|
+
|
|
482
|
+
**Documentation:** See `tests/cli-mode/README.md` for detailed test descriptions and results.
|
|
483
|
+
|
|
484
|
+
#### Docker Mode Tests (Integration)
|
|
485
|
+
Run the Docker mode test suite to validate real container-based orchestration:
|
|
486
|
+
|
|
487
|
+
```bash
|
|
488
|
+
# Run all 45 Docker test implementations
|
|
489
|
+
./tests/docker-mode/run-all-implementations.sh
|
|
490
|
+
|
|
491
|
+
# Expected runtime: ~3-5 minutes
|
|
492
|
+
# Tests: 45 production tests across 3 suites
|
|
493
|
+
# Coverage: Coordinator spawning, orchestrator workflow, TDD compliance
|
|
494
|
+
```
|
|
495
|
+
|
|
496
|
+
**Test Suites:**
|
|
497
|
+
- Coordinator Spawning (13 tests): Container cleanup, exit codes, service discovery
|
|
498
|
+
- Orchestrator Workflow (13 tests): Iteration management, monitoring, recovery
|
|
499
|
+
- TDD Compliance (19 tests): Test-driven validation, metrics collection, parallel execution
|
|
500
|
+
|
|
501
|
+
**Prerequisites:**
|
|
502
|
+
- Docker daemon running (`docker ps`)
|
|
503
|
+
- No port conflicts (Docker networks auto-created)
|
|
504
|
+
- ~2GB available memory for container execution
|
|
505
|
+
|
|
506
|
+
**Documentation:** See `tests/docker-mode/README.md` for test categories and patterns.
|
|
507
|
+
|
|
508
|
+
#### NPM-Based Tests (Development)
|
|
509
|
+
Run standard npm test commands for fast feedback during development:
|
|
510
|
+
|
|
440
511
|
```bash
|
|
441
512
|
# Run all tests
|
|
442
513
|
npm test
|
|
443
514
|
|
|
444
515
|
# Run specific test suites
|
|
445
|
-
npm run test:unit
|
|
446
|
-
npm run test:integration
|
|
447
|
-
npm run test:e2e
|
|
516
|
+
npm run test:unit # Unit tests only
|
|
517
|
+
npm run test:integration # Integration tests only
|
|
518
|
+
npm run test:e2e # End-to-end tests only
|
|
448
519
|
|
|
449
|
-
#
|
|
450
|
-
|
|
520
|
+
# Run with coverage
|
|
521
|
+
npm test -- --coverage
|
|
522
|
+
|
|
523
|
+
# Watch mode (re-run on file changes)
|
|
524
|
+
npm test -- --watch
|
|
525
|
+
```
|
|
526
|
+
|
|
527
|
+
**Expected runtime:**
|
|
528
|
+
- Unit tests: ~1-2 minutes
|
|
529
|
+
- Integration tests: ~2-3 minutes
|
|
530
|
+
- E2E tests: ~3-5 minutes
|
|
531
|
+
|
|
532
|
+
#### CFN Loop End-to-End Tests
|
|
533
|
+
Run specialized CFN Loop tests for validation and debugging:
|
|
534
|
+
|
|
535
|
+
```bash
|
|
536
|
+
# Validate CFN Loop coordinator handoffs
|
|
451
537
|
./tests/cfn-v3/test-coordinator-handoffs.sh
|
|
538
|
+
|
|
539
|
+
# Full CFN Loop e2e test
|
|
540
|
+
./tests/cfn-v3/test-e2e-cfn-loop.sh
|
|
541
|
+
|
|
542
|
+
# Enterprise change management tests
|
|
543
|
+
./tests/enterprise/run-all-enterprise-tests.sh
|
|
452
544
|
```
|
|
453
545
|
|
|
454
|
-
|
|
546
|
+
### Test Organization
|
|
547
|
+
|
|
548
|
+
```
|
|
549
|
+
tests/
|
|
550
|
+
├── cli-mode/ # CLI mode validation (8 tests, 159 assertions)
|
|
551
|
+
│ ├── README.md # CLI test documentation
|
|
552
|
+
│ ├── run-all-tests.sh # Test runner
|
|
553
|
+
│ └── test-*.sh # Individual test suites
|
|
554
|
+
├── docker-mode/ # Docker integration tests (45 tests)
|
|
555
|
+
│ ├── README.md # Docker test documentation
|
|
556
|
+
│ ├── run-all-implementations.sh # Test runner
|
|
557
|
+
│ └── implementations/
|
|
558
|
+
│ ├── coordinator-spawning-real-tests.sh
|
|
559
|
+
│ ├── orchestrator-workflow-real-tests.sh
|
|
560
|
+
│ └── tdd-compliance-real-tests.sh
|
|
561
|
+
├── docker/ # Docker-based core tests
|
|
562
|
+
│ ├── coordination/ # Redis coordination tests
|
|
563
|
+
│ ├── lifecycle/ # Container lifecycle tests
|
|
564
|
+
│ └── perf/ # Performance benchmarks
|
|
565
|
+
├── cfn-v3/ # CFN Loop validation tests
|
|
566
|
+
├── enterprise/ # Enterprise mode tests
|
|
567
|
+
├── CLAUDE.md # Test authoring standards
|
|
568
|
+
├── test-utils.sh # Shared test utilities
|
|
569
|
+
└── README.md # Test suite documentation
|
|
570
|
+
```
|
|
571
|
+
|
|
572
|
+
### Test Coverage Matrix
|
|
573
|
+
|
|
574
|
+
| Mode | Type | Tests | Duration | Prerequisites |
|
|
575
|
+
|------|------|-------|----------|---|
|
|
576
|
+
| CLI | Unit + Integration + E2E | 159 assertions | 5-10 min | Redis, npm build |
|
|
577
|
+
| Docker | Production integration | 45 tests | 3-5 min | Docker daemon |
|
|
578
|
+
| NPM | Development | Variable | 1-5 min | Node.js, npm |
|
|
579
|
+
| CFN Loop | Workflow validation | Variable | 5-15 min | Full environment |
|
|
580
|
+
|
|
581
|
+
### Test Authoring Guidelines
|
|
582
|
+
|
|
583
|
+
For developers writing new tests, see `tests/CLAUDE.md` which documents:
|
|
584
|
+
- Boilerplate template structure
|
|
585
|
+
- GIVEN/WHEN/THEN assertion patterns
|
|
586
|
+
- Production testing requirements (BUG #21)
|
|
587
|
+
- Infrastructure vs integration test patterns
|
|
588
|
+
- Cleanup and resource management
|
|
589
|
+
- Review checklist for test quality
|
|
590
|
+
|
|
591
|
+
Key principles:
|
|
592
|
+
- Infrastructure tests (mocks OK): Docker networking, volumes, Redis connectivity
|
|
593
|
+
- Integration tests (real images/scripts): Agent spawning, CLI execution, production workflows
|
|
594
|
+
- Always use `set -euo pipefail` and `trap cleanup EXIT`
|
|
595
|
+
- Route output through `log_step`, `log_info`, `annotate`, `assert_success` helpers
|
|
596
|
+
- Cite relevant bugs in test comments for future context
|
|
597
|
+
|
|
598
|
+
### CI/CD Integration
|
|
599
|
+
|
|
600
|
+
Tests run automatically in GitHub Actions on every push and pull request. See [CI/CD Pipeline Documentation](.github/workflows) for:
|
|
601
|
+
- Coverage gates (80%+ lines/statements/functions)
|
|
602
|
+
- Test failure notifications
|
|
603
|
+
- Performance benchmarking
|
|
604
|
+
- Security scanning
|
|
605
|
+
- Deployment workflows
|
|
606
|
+
|
|
607
|
+
### Troubleshooting
|
|
608
|
+
|
|
609
|
+
**Redis not available:**
|
|
610
|
+
```bash
|
|
611
|
+
# Start Redis in background
|
|
612
|
+
redis-server --daemonize yes
|
|
613
|
+
|
|
614
|
+
# Or run in Docker
|
|
615
|
+
docker run -d -p 6379:6379 redis:7-alpine
|
|
616
|
+
```
|
|
617
|
+
|
|
618
|
+
**Docker permission denied:**
|
|
619
|
+
```bash
|
|
620
|
+
# Add user to docker group
|
|
621
|
+
sudo usermod -aG docker $USER
|
|
622
|
+
newgrp docker
|
|
623
|
+
```
|
|
624
|
+
|
|
625
|
+
**Port conflicts:**
|
|
626
|
+
```bash
|
|
627
|
+
# Stop and remove existing containers
|
|
628
|
+
docker stop $(docker ps -aq)
|
|
629
|
+
docker rm $(docker ps -aq)
|
|
630
|
+
|
|
631
|
+
# Clean up Docker networks
|
|
632
|
+
docker network prune -f
|
|
633
|
+
```
|
|
634
|
+
|
|
635
|
+
**Test failures with unclear messages:**
|
|
636
|
+
```bash
|
|
637
|
+
# Run with verbose output
|
|
638
|
+
DEBUG=true ./tests/cli-mode/run-all-tests.sh
|
|
639
|
+
DEBUG=true ./tests/docker-mode/run-all-implementations.sh
|
|
640
|
+
|
|
641
|
+
# Check test logs in .artifacts/
|
|
642
|
+
tail -100 .artifacts/logs/test-execution.log
|
|
643
|
+
```
|
|
455
644
|
|
|
456
|
-
|
|
645
|
+
### Related Documentation
|
|
457
646
|
|
|
458
|
-
|
|
647
|
+
- **Test Suite Overview:** `tests/README.md`
|
|
648
|
+
- **Test Authoring Standards:** `tests/CLAUDE.md`
|
|
649
|
+
- **CLI Mode Details:** `tests/cli-mode/README.md`
|
|
650
|
+
- **Docker Mode Details:** `tests/docker-mode/README.md`
|
|
651
|
+
- **Test Coverage Analysis:** `tests/TEST_COVERAGE_MATRIX.md`
|
|
652
|
+
- **CFN Loop Architecture:** `docs/CFN_LOOP_ARCHITECTURE.md`
|
|
653
|
+
- **CI/CD Pipeline:** `.github/workflows`
|
|
459
654
|
|
|
460
655
|
### Development Setup
|
|
461
656
|
|
|
@@ -476,7 +671,7 @@ npm run build
|
|
|
476
671
|
|
|
477
672
|
### CI/CD Pipeline
|
|
478
673
|
|
|
479
|
-
Comprehensive GitHub Actions automation with unit testing, integration testing, coverage gates (80%+ lines/statements/functions), security scanning, and deployment workflows. See [CI/CD Pipeline Documentation](
|
|
674
|
+
Comprehensive GitHub Actions automation with unit testing, integration testing, coverage gates (80%+ lines/statements/functions), security scanning, and deployment workflows. See [CI/CD Pipeline Documentation](.github/workflows) for details.
|
|
480
675
|
|
|
481
676
|
---
|
|
482
677
|
|
|
@@ -845,6 +845,8 @@ fi
|
|
|
845
845
|
Complete your frontend coordination work and provide test-based validation:
|
|
846
846
|
|
|
847
847
|
1. **Execute Tests**: Run all test suites from success criteria
|
|
848
|
+
|
|
849
|
+
```bash
|
|
848
850
|
# Parse natively (no external dependencies)
|
|
849
851
|
PASS=$(echo "$TEST_OUTPUT" | grep -oP '\d+(?= passing)' || echo "0")
|
|
850
852
|
FAIL=$(echo "$TEST_OUTPUT" | grep -oP '\d+(?= failing)' || echo "0")
|
|
@@ -853,7 +855,10 @@ RATE=$(awk "BEGIN {if ($TOTAL > 0) printf \"%.2f\", $PASS/$TOTAL; else print \"0
|
|
|
853
855
|
|
|
854
856
|
# Return results (Main Chat receives automatically in Task Mode)
|
|
855
857
|
echo "{\"passed\": $PASS, \"failed\": $FAIL, \"pass_rate\": $RATE}"
|
|
856
|
-
|
|
858
|
+
```
|
|
859
|
+
|
|
860
|
+
2. **Review Metrics**: Verify test pass rate ≥95%
|
|
861
|
+
3. **Coverage Check**: Ensure test coverage ≥80%
|
|
857
862
|
4. **Store in Redis**: Use test-results key (not confidence key)
|
|
858
863
|
5. **Signal Completion**: Push to completion queue
|
|
859
864
|
|