feat: migrate all codex team skills from spawn_agents_on_csv to spawn_agent + wait_agent architecture

- Delete 21 old team skill directories using CSV-wave pipeline pattern (~100+ files)
- Delete old team-lifecycle (v3) and team-planex-v2
- Create generic team-worker.toml and team-supervisor.toml (replacing tlv4-specific TOMLs)
- Convert 19 team skills from Claude Code format (Agent/SendMessage/TaskCreate)
  to Codex format (spawn_agent/wait_agent/tasks.json/request_user_input)
- Update team-lifecycle-v4 to use generic agent types (team_worker/team_supervisor)
- Convert all coordinator role files: dispatch.md, monitor.md, role.md
- Convert all worker role files: remove run_in_background, fix Bash syntax
- Convert all specs/pipelines.md references
- Final state: 20 team skills, 217 .md files, zero Claude Code API residuals

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
catlog22
2026-03-24 16:54:48 +08:00
parent 54283e5dbb
commit 1e560ab8e8
334 changed files with 28996 additions and 35516 deletions

View File

@@ -0,0 +1,101 @@
# Testing Pipelines
Pipeline definitions and task registry for team-testing.
## Pipeline Selection
| Condition | Pipeline |
|-----------|----------|
| fileCount <= 3 AND moduleCount <= 1 | targeted |
| fileCount <= 10 AND moduleCount <= 3 | standard |
| Otherwise | comprehensive |
## Pipeline Definitions
### Targeted Pipeline (3 tasks, serial)
```
STRATEGY-001 -> TESTGEN-001 -> TESTRUN-001
```
| Task ID | Role | Dependencies | Layer | Description |
|---------|------|-------------|-------|-------------|
| STRATEGY-001 | strategist | (none) | — | Analyze changes, define test strategy |
| TESTGEN-001 | generator | STRATEGY-001 | L1 | Generate L1 unit tests |
| TESTRUN-001 | executor | TESTGEN-001 | L1 | Execute L1 tests, collect coverage |
### Standard Pipeline (6 tasks, progressive layers)
```
STRATEGY-001 -> TESTGEN-001 -> TESTRUN-001 -> TESTGEN-002 -> TESTRUN-002 -> TESTANA-001
```
| Task ID | Role | Dependencies | Layer | Description |
|---------|------|-------------|-------|-------------|
| STRATEGY-001 | strategist | (none) | — | Analyze changes, define test strategy |
| TESTGEN-001 | generator | STRATEGY-001 | L1 | Generate L1 unit tests |
| TESTRUN-001 | executor | TESTGEN-001 | L1 | Execute L1 tests, collect coverage |
| TESTGEN-002 | generator | TESTRUN-001 | L2 | Generate L2 integration tests |
| TESTRUN-002 | executor | TESTGEN-002 | L2 | Execute L2 tests, collect coverage |
| TESTANA-001 | analyst | TESTRUN-002 | — | Defect pattern analysis, quality report |
### Comprehensive Pipeline (8 tasks, parallel windows)
```
STRATEGY-001 -> [TESTGEN-001 || TESTGEN-002] -> [TESTRUN-001 || TESTRUN-002] -> TESTGEN-003 -> TESTRUN-003 -> TESTANA-001
```
| Task ID | Role | Dependencies | Layer | Description |
|---------|------|-------------|-------|-------------|
| STRATEGY-001 | strategist | (none) | — | Analyze changes, define test strategy |
| TESTGEN-001 | generator-1 | STRATEGY-001 | L1 | Generate L1 unit tests (parallel) |
| TESTGEN-002 | generator-2 | STRATEGY-001 | L2 | Generate L2 integration tests (parallel) |
| TESTRUN-001 | executor-1 | TESTGEN-001 | L1 | Execute L1 tests (parallel) |
| TESTRUN-002 | executor-2 | TESTGEN-002 | L2 | Execute L2 tests (parallel) |
| TESTGEN-003 | generator | TESTRUN-001, TESTRUN-002 | L3 | Generate L3 E2E tests |
| TESTRUN-003 | executor | TESTGEN-003 | L3 | Execute L3 tests, collect coverage |
| TESTANA-001 | analyst | TESTRUN-003 | — | Defect pattern analysis, quality report |
## GC Loop (Generator-Critic)
Generator and executor iterate per test layer:
```
TESTGEN -> TESTRUN -> (if pass_rate < 0.95 OR coverage < target) -> TESTGEN-fix -> TESTRUN-fix
(if pass_rate >= 0.95 AND coverage >= target) -> next layer or TESTANA
```
- Max iterations: 3 per layer
- After 3 iterations: accept current state with warning
## Coverage Targets
| Layer | Name | Default Target |
|-------|------|----------------|
| L1 | Unit Tests | 80% |
| L2 | Integration Tests | 60% |
| L3 | E2E Tests | 40% |
## Session Directory
```
.workflow/.team/TST-<slug>-<YYYY-MM-DD>/
├── .msg/messages.jsonl # Message bus log
├── .msg/meta.json # Session metadata
├── wisdom/ # Cross-task knowledge
│ ├── learnings.md
│ ├── decisions.md
│ ├── conventions.md
│ └── issues.md
├── strategy/ # Strategist output
│ └── test-strategy.md
├── tests/ # Generator output
│ ├── L1-unit/
│ ├── L2-integration/
│ └── L3-e2e/
├── results/ # Executor output
│ ├── run-001.json
│ └── coverage-001.json
└── analysis/ # Analyst output
└── quality-report.md
```

View File

@@ -0,0 +1,93 @@
{
"team_name": "team-testing",
"team_display_name": "Team Testing",
"description": "Testing team with Generator-Critic loop, shared defect memory, and progressive test layers",
"version": "1.0.0",
"roles": {
"coordinator": {
"task_prefix": null,
"responsibility": "Change scope analysis, layer selection, quality gating",
"message_types": ["pipeline_selected", "gc_loop_trigger", "quality_gate", "task_unblocked", "error", "shutdown"]
},
"strategist": {
"task_prefix": "STRATEGY",
"responsibility": "Analyze git diff, determine test layers, define coverage targets",
"message_types": ["strategy_ready", "error"]
},
"generator": {
"task_prefix": "TESTGEN",
"responsibility": "Generate test cases by layer (unit/integration/E2E)",
"message_types": ["tests_generated", "tests_revised", "error"]
},
"executor": {
"task_prefix": "TESTRUN",
"responsibility": "Execute tests, collect coverage, auto-fix failures",
"message_types": ["tests_passed", "tests_failed", "coverage_report", "error"]
},
"analyst": {
"task_prefix": "TESTANA",
"responsibility": "Defect pattern analysis, coverage gap analysis, quality report",
"message_types": ["analysis_ready", "error"]
}
},
"pipelines": {
"targeted": {
"description": "Small scope: strategy → generate L1 → run",
"task_chain": ["STRATEGY-001", "TESTGEN-001", "TESTRUN-001"],
"gc_loops": 0
},
"standard": {
"description": "Progressive: L1 → L2 with analysis",
"task_chain": ["STRATEGY-001", "TESTGEN-001", "TESTRUN-001", "TESTGEN-002", "TESTRUN-002", "TESTANA-001"],
"gc_loops": 1
},
"comprehensive": {
"description": "Full coverage: parallel L1+L2, then L3 with analysis",
"task_chain": ["STRATEGY-001", "TESTGEN-001", "TESTGEN-002", "TESTRUN-001", "TESTRUN-002", "TESTGEN-003", "TESTRUN-003", "TESTANA-001"],
"gc_loops": 2,
"parallel_groups": [["TESTGEN-001", "TESTGEN-002"], ["TESTRUN-001", "TESTRUN-002"]]
}
},
"innovation_patterns": {
"generator_critic": {
"generator": "generator",
"critic": "executor",
"max_rounds": 3,
"convergence_trigger": "coverage >= target && pass_rate >= 0.95"
},
"shared_memory": {
"file": "shared-memory.json",
"fields": {
"strategist": "test_strategy",
"generator": "generated_tests",
"executor": "execution_results",
"analyst": "analysis_report"
},
"persistent_fields": ["defect_patterns", "effective_test_patterns", "coverage_history"]
},
"dynamic_pipeline": {
"selector": "coordinator",
"criteria": "changed_file_count + module_count + change_type"
}
},
"test_layers": {
"L1": { "name": "Unit Tests", "coverage_target": 80, "description": "Function-level isolation tests" },
"L2": { "name": "Integration Tests", "coverage_target": 60, "description": "Module interaction tests" },
"L3": { "name": "E2E Tests", "coverage_target": 40, "description": "User scenario end-to-end tests" }
},
"collaboration_patterns": ["CP-1", "CP-3", "CP-5"],
"session_dirs": {
"base": ".workflow/.team/TST-{slug}-{YYYY-MM-DD}/",
"strategy": "strategy/",
"tests": "tests/",
"results": "results/",
"analysis": "analysis/",
"messages": ".workflow/.team-msg/{team-name}/"
}
}