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,57 @@
# Code Review
4-dimension code review for implementation quality.
## Inputs
- Plan file (`{session}/plan/plan.json`)
- Implementation discovery files (`{session}/discoveries/IMPL-*.json`)
- Test results (if available)
## Gather Modified Files
Read upstream context from file system (no team_msg):
```javascript
// 1. Read plan for file list
const plan = JSON.parse(Read(`{session}/plan/plan.json`))
const plannedFiles = plan.tasks.flatMap(t => t.files)
// 2. Read implementation discoveries for actual modified files
const implFiles = Glob(`{session}/discoveries/IMPL-*.json`)
const modifiedFiles = new Set()
for (const f of implFiles) {
const discovery = JSON.parse(Read(f))
for (const file of (discovery.files_modified || [])) {
modifiedFiles.add(file)
}
}
// 3. Union of planned + actually modified files
const allFiles = [...new Set([...plannedFiles, ...modifiedFiles])]
```
## Dimensions
| Dimension | Critical Issues |
|-----------|----------------|
| Quality | Empty catch, any casts, @ts-ignore, console.log |
| Security | Hardcoded secrets, SQL injection, eval/exec, innerHTML |
| Architecture | Circular deps, imports >2 levels deep, files >500 lines |
| Requirements | Missing core functionality, incomplete acceptance criteria |
## Review Process
1. Gather modified files from plan.json + discoveries/IMPL-*.json
2. Read each modified file
3. Score per dimension (0-100%)
4. Classify issues by severity (Critical/High/Medium/Low)
5. Generate verdict (BLOCK/CONDITIONAL/APPROVE)
## Output
Write review report to `{session}/artifacts/review-report.md`:
- Per-dimension scores
- Issue list with file:line references
- Verdict with justification
- Recommendations (if CONDITIONAL)

View File

@@ -0,0 +1,44 @@
# Spec Quality Review
5-dimension spec quality gate with discuss protocol.
## Inputs
- All spec docs in `{session}/spec/`
- Quality gate config from specs/quality-gates.md
## Dimensions
| Dimension | Weight | Focus |
|-----------|--------|-------|
| Completeness | 25% | All sections present with substance |
| Consistency | 25% | Terminology, format, references uniform |
| Traceability | 25% | Goals->Reqs->Arch->Stories chain |
| Depth | 25% | AC testable, ADRs justified, stories estimable |
## Review Process
1. Read all spec documents from `{session}/spec/`
2. Load quality gate thresholds from specs/quality-gates.md
3. Score each dimension
4. Run cross-document validation
5. Generate readiness-report.md + spec-summary.md
6. Run DISCUSS-003:
- Artifact: `{session}/spec/readiness-report.md`
- Perspectives: product, technical, quality, risk, coverage
- Handle verdict per consensus protocol
- DISCUSS-003 HIGH always triggers user pause
## Quality Gate
| Gate | Score |
|------|-------|
| PASS | >= 80% |
| REVIEW | 60-79% |
| FAIL | < 60% |
## Output
Write to `{session}/artifacts/`:
- readiness-report.md: Dimension scores, issue list, traceability matrix
- spec-summary.md: Executive summary of all spec docs