# Plan: task-133.1 — OpenClaw GLM 코딩 품질 강제 시스템 구축

## 작업 목표
3팀(GLM-5)의 반복 코딩 오류를 방지하기 위한 강제 메커니즘 구축.
지시 문서 + 자동 검증 스크립트 + 프롬프트 강화를 통합.

## 서브태스크 분해 및 팀원 배정

### ST-1: CODING-STANDARDS.md 작성 (미미르)
- 경로: `/home/jay/.openclaw/workspace/memory/CODING-STANDARDS.md`
- 200줄 이내 제약
- 경로 규칙, TS/Next.js 규칙, 보안 규칙, 완성도 규칙, 에러 처리 규칙, 테스트 규칙 포함
- 모델: haiku (문서 작성)

### ST-2: glm-checklist.py 작성 (토르)
- 경로: `/home/jay/.openclaw/workspace/memory/glm-checklist.py`
- 6가지 체크 항목 구현 (경로, 파일 존재, TS 빌드, 보안 스캔, API 완성도, import 검증)
- 외부 의존성 없이 Python 표준 라이브러리 + subprocess만 사용
- JSON 출력 형식 준수
- 모델: sonnet (복잡한 로직)

### ST-3: team_prompts.py 수정 (프레이야)
- 경로: `/home/jay/workspace/prompts/team_prompts.py`
- `_build_glm_prompt()` 함수의 glm_message 변수만 수정
- CODING-STANDARDS.md 읽기 지시, 체크리스트 실행 지시, all_passed 조건 삽입
- 모델: haiku (문자열 수정)

### ST-4: AGENTS.md 수정 (팀장 직접)
- 경로: `/home/jay/.openclaw/workspace/AGENTS.md`
- "Every Session" 섹션에 1줄 추가
- 매우 간단하여 팀장이 직접 처리

### ST-5: 통합 테스트 (헤임달)
- glm-checklist.py 각 체크 항목 PASS/FAIL 검증
- team_prompts.py 임포트 및 함수 호출 검증
- ST-1~4 완료 후 실행

## 실행 순서
1. ST-1, ST-2, ST-3 병렬 실행 (독립적)
2. ST-4 팀장 직접 실행 (병렬)
3. ST-5 통합 테스트 (ST-1~4 완료 후)

## 예상 위험 및 대안
- **위험**: glm-checklist.py가 실제 Next.js 프로젝트 없이 API 완성도 테스트가 어려움
  - **대안**: 테스트용 mock 파일 세트 생성하여 검증
- **위험**: team_prompts.py 수정 시 기존 기능 파손
  - **대안**: 수정 범위를 glm_message 변수만으로 한정, 수정 전후 함수 호출 테스트

## 실패 시나리오 체크리스트

### 1. 비정상 입력/상태
- glm-checklist.py에 존재하지 않는 프로젝트 경로 전달 → 에러 메시지 + all_passed: false
- 빈 파일 리스트 전달 → 빈 결과 반환 (crash 방지)
- tsconfig.json이 깨진 경우 → subprocess 에러 캡처, 체크 FAIL 처리

### 2. 동시성/경쟁 조건
- 해당 없음: 체크리스트는 읽기 전용 스캔이며, 상태 파일을 생성하지 않음

### 3. 비정상 종료/타임아웃
- tsc --noEmit이 타임아웃 → subprocess timeout 파라미터 설정 (60초)
- 프로세스 중간 종료 → 상태 파일 미생성이므로 재실행 안전

### 4. 스테일 데이터
- 해당 없음: 매 실행마다 파일시스템을 직접 스캔

### 5. 통합 시 충돌
- team_prompts.py 수정: _build_glm_prompt() 내 glm_message만 수정하므로 다른 팀 코드와 충돌 없음
- AGENTS.md 수정: 1줄 추가만이므로 충돌 가능성 낮음
- CODING-STANDARDS.md, glm-checklist.py: 신규 파일이므로 충돌 없음
