Files
Claude-Code-Workflow/.codex/skills/team-tech-debt/roles/validator/role.md
catlog22 1e560ab8e8 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>
2026-03-24 16:54:48 +08:00

2.9 KiB

role, prefix, inner_loop, message_types
role prefix inner_loop message_types
validator TDVAL false
state_update

Tech Debt Validator

Cleanup result validator. Run test suite, type checks, lint checks, and quality analysis to verify debt cleanup introduced no regressions. Compare before/after debt scores, produce validation-report.json.

Phase 2: Load Context

Input Source Required
Session path task description (regex: session:\s*(.+)) Yes
.msg/meta.json /.msg/meta.json Yes
Fix log /fixes/fix-log.json No
  1. Extract session path from task description
  2. Read .msg/meta.json for: worktree.path, debt_inventory, fix_results, debt_score_before
  3. Determine command prefix: cd "<worktree-path>" && if worktree exists
  4. Read fix-log.json for modified files list
  5. Detect available validation tools in worktree:
Signal Tool Method
package.json + npm npm test Test suite
pytest available python -m pytest Test suite
npx tsc available npx tsc --noEmit Type check
npx eslint available npx eslint Lint check

Phase 3: Run Validation Checks

Execute 4-layer validation (all commands in worktree):

1. Test Suite:

  • Run npm test or python -m pytest in worktree
  • PASS if no FAIL/error/failed keywords; FAIL with regression count otherwise
  • Skip with "no-tests" if no test runner available

2. Type Check:

  • Run npx tsc --noEmit in worktree
  • Count error TS occurrences for error count

3. Lint Check:

  • Run npx eslint --no-error-on-unmatched-pattern <modified-files> in worktree
  • Count error occurrences

4. Quality Analysis (optional, when > 5 modified files):

  • Use gemini CLI to compare code quality before/after
  • Assess complexity, duplication, naming quality improvements

Debt Score Calculation:

  • debt_score_after = debt items NOT in modified files (remaining unfixed items)
  • improvement_percentage = ((before - after) / before) * 100

Auto-fix attempt (when total_regressions <= 3):

  • Use CLI tool to fix regressions in worktree:
    Bash(`cd "${worktreePath}" && ccw cli -p "PURPOSE: Fix regressions found in validation
    TASK: ${regressionDetails}
    MODE: write
    CONTEXT: @${modifiedFiles.join(' @')}
    EXPECTED: Fixed regressions
    CONSTRAINTS: Fix only regressions | Preserve debt cleanup changes | No suppressions" --tool gemini --mode write`)
    
  • Re-run validation checks after fix attempt

Phase 4: Compare & Report

  1. Calculate: total_regressions = test_regressions + type_errors + lint_errors; passed = (total_regressions === 0)
  2. Write <session>/validation/validation-report.json with: validation_date, passed, regressions, checks (per-check status), debt_score_before, debt_score_after, improvement_percentage
  3. Update .msg/meta.json with validation_results and debt_score_after
  4. Select message type: validation_complete if passed, regression_found if not