# task-307.1: LSP(pyright) QC 파이프라인 통합 + LSP 우선 사용 규칙 시스템화

## 개요
pyright LSP가 설치되었다 (pyright 1.1.408, 경로: `~/.nvm/versions/node/v24.14.0/bin/pyright`).
이를 QC 파이프라인에 통합하고, 팀 워크플로우에 LSP 우선 사용 규칙을 추가한다.

## 작업 항목

### 1. qc_verify.py에 pyright verifier 추가
- **파일**: `/home/jay/workspace/teams/dev1/qc/qc_verify.py`
- **추가할 verifier**: `pyright_check`
- **동작**:
  - `--check-files` 또는 `--test-dir`로 전달된 Python 파일에 대해 `pyright --outputjson <files>` 실행
  - exit code 0이면 PASS, 에러가 있으면 error 수와 목록 출력
  - `--skip pyright_check` 옵션으로 스킵 가능
  - pyright 미설치 시 SKIP (graceful degradation)
- **결과 형식**:
  ```json
  {
    "pyright_check": {
      "status": "PASS|WARN|FAIL|SKIP",
      "details": ["N errors, M warnings found", "file:line - message", ...]
    }
  }
  ```
- **판정 기준**:
  - 0 errors → PASS
  - errors > 0 but all reportReturnType/reportArgumentType (타입 불일치 경미) → WARN
  - errors with reportGeneralTypeIssues 등 심각한 에러 → FAIL
  - pyright 미설치 → SKIP

### 2. QC-RULES.md 업데이트 (v2.1)
- **파일**: `/home/jay/workspace/teams/shared/QC-RULES.md`
- **추가 내용**:
  - Section 2의 verifier 목록 테이블에 `pyright_check` 행 추가
  - 실행 방법에 `--check-files` 파라미터 설명 보강
  - 변경 이력에 v2.1 기록

### 3. DIRECT-WORKFLOW.md에 LSP 우선 사용 규칙 추가
- **파일**: `/home/jay/workspace/prompts/DIRECT-WORKFLOW.md`
- **추가 내용** (워크플로우 단계 3과 4 사이, 또는 작업 규칙에):
  ```
  ## LSP 활용 규칙
  - 코드 작성/수정 후 반드시 pyright로 타입 체크 실행
  - 명령어: `pyright <수정한 파일들>`
  - 에러 0건 확인 후 다음 단계 진행
  - WARN(경미한 타입 불일치)은 허용하되, 보고서에 기록
  - 새 파일 생성 시에도 pyright 체크 필수
  ```

### 4. 팀 공용 스크립트 생성
- **파일**: `/home/jay/workspace/teams/shared/run_pyright.sh`
- **내용**: 지정 디렉토리 또는 파일 목록에 대해 pyright 실행, 결과 요약 출력
- 팀장이 간편하게 `bash run_pyright.sh renderer/cardnews.py renderer/engine.py` 형태로 사용

## 참고 파일
- 현재 QC 스크립트: `/home/jay/workspace/teams/dev1/qc/qc_verify.py`
- QC 규칙: `/home/jay/workspace/teams/shared/QC-RULES.md`
- 워크플로우: `/home/jay/workspace/prompts/DIRECT-WORKFLOW.md`
- pyright 경로: `~/.nvm/versions/node/v24.14.0/bin/pyright` (또는 `which pyright`)

## 테스트
- qc_verify.py에 pyright_check verifier 추가 후 실제 실행 테스트:
  - PASS 케이스: `content/prompts_v2.py` (에러 0건)
  - WARN 케이스: `renderer/cardnews.py` (float/int 경미 에러)
  - SKIP 케이스: pyright 경로를 임시로 변경하여 SKIP 확인
- run_pyright.sh 실행 테스트

## 완료 기준
- [ ] qc_verify.py에 pyright_check verifier 동작
- [ ] QC-RULES.md v2.1 업데이트
- [ ] DIRECT-WORKFLOW.md에 LSP 규칙 추가
- [ ] run_pyright.sh 스크립트 생성 및 동작 확인
- [ ] 기존 qc_verify.py 기능 정상 (regression 없음)

## task-timer
- task_id: task-307.1
- 완료 시: `python3 /home/jay/workspace/memory/task-timer.py end task-307.1`
