triflux 8.6.0 → 8.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,96 +1,122 @@
1
- ---
2
- name: tfx-deep-review
3
- description: "철저한 코드 리뷰가 필요할 때 사용한다. '꼼꼼히 리뷰', 'deep review', '심층 리뷰', '보안까지 리뷰', '다각도 리뷰', '중요한 변경이라 제대로 봐줘' 같은 요청에 사용. 보안/성능/가독성 3관점 독립 검증이 필요한 중요 코드 변경에 적극 활용."
4
- triggers:
5
- - deep review
6
- - 심층 리뷰
7
- - multi review
8
- - deep-review
9
- - 철저한 리뷰
10
- argument-hint: "[파일 경로 또는 변경 설명]"
11
- ---
12
-
13
- # tfx-deep-review — Tri-CLI Deep Code Review
14
-
15
- > 3-CLI 독립 리뷰 → 교차검증 → 2+ 합의 항목만 보고. Diffray + Calimero 영감.
16
-
17
- ## 핵심 원리
18
-
19
- **Anti-Herding**: Round 1에서 3개 CLI가 서로의 결과를 보지 않고 독립 리뷰.
20
- **Consensus Only**: 2개 이상 CLI가 동일 이슈를 지적한 항목만 최종 보고 → false-positive 87% 감소.
21
-
22
- ## 워크플로우
23
-
24
- ### Step 1: 리뷰 대상 수집
25
- ```
26
- git diff (staged + unstaged) 또는 지정 파일 수집
27
- ```
28
-
29
- ### Step 2: 3-CLI 독립 리뷰 (동시, 상호 비공개)
30
-
31
- ```
32
- Claude Opus (Agent, background):
33
- Agent(subagent_type="oh-my-claudecode:code-reviewer", run_in_background=true)
34
- 관점: 로직 결함, 아키텍처 위반, 설계 패턴
35
- "코드 리뷰어로서 로직/아키텍처 관점에서 분석하라.
36
- JSON: { findings: [{ id, file, line, severity, category, description, suggestion }] }"
37
-
38
- CLI 워커 headless dispatch (Codex + Gemini 동시, MANDATORY):
39
- Bash("tfx multi --teammate-mode headless --auto-attach --dashboard \
40
- --assign 'codex:{아래 Codex 프롬프트}:reviewer' \
41
- --assign 'gemini:{아래 Gemini 프롬프트}:reviewer' \
42
- --timeout 600")
43
-
44
- Codex 프롬프트:
45
- 관점: 보안 취약점, 성능 병목, 에러 핸들링
46
- "보안/성능 전문가로서 분석하라. OWASP Top 10, O(n²) 패턴, 누락된 에러 핸들링.
47
- JSON: { findings: [...] }"
48
-
49
- Gemini 프롬프트:
50
- 관점: 가독성, 문서화, 네이밍, DX
51
- "코드 품질 전문가로서 분석하라. 가독성, 네이밍 컨벤션, 주석 필요성, 타입 안전성.
52
- JSON: { findings: [...] }"
53
- ```
54
-
55
- ### Step 3: Consensus Scoring
56
-
57
- ```
58
- 모든 findings를 수집하여 유사도 비교:
59
- - 동일 파일+라인±5 + 유사 카테고리 동일 이슈로 간주
60
- - 3/3 합의 → severity 유지
61
- - 2/3 합의 severity 유지, 반대 의견 첨부
62
- - 1/3만 지적 → UNVERIFIED 표시 (참고용, 별도 섹션)
63
-
64
- consensus_score = consensus_items / total_unique_items × 100
65
- ```
66
-
67
- ### Step 4: 종합 보고서
68
-
69
- ```markdown
70
- ## Deep Code Review: {target}
71
- **Consensus Score**: {score}% | **Reviewers**: Claude/Codex/Gemini
72
-
73
- ### Critical (3/3 합의)
74
- - [C1] `{file}:{line}` {description}
75
- - Claude: {detail} | Codex: {detail} | Gemini: {detail}
76
- - **Fix**: {suggestion}
77
-
78
- ### High (2/3 합의)
79
- - [H1] `{file}:{line}` {description}
80
- - 합의: {agreers} | 반대: {dissenter}: "{reason}"
81
-
82
- ### Verified Medium
83
- - ...
84
-
85
- ### Unverified (1/3만 지적, 참고용)
86
- - [U1] `{file}:{line}` — {description} (by {single_cli})
87
-
88
- ### 통계
89
- | CLI | 발견 수 | 합의 기여율 |
90
- |-----|---------|------------|
91
- | Claude | {n} | {%} |
92
- | Codex | {n} | {%} |
93
- | Gemini | {n} | {%} |
94
- ```
95
-
96
- ## 토큰: ~25K
1
+ ---
2
+ name: tfx-deep-review
3
+ description: "철저한 코드 리뷰가 필요할 때 사용한다. '꼼꼼히 리뷰', 'deep review', '심층 리뷰', '보안까지 리뷰', '다각도 리뷰', '중요한 변경이라 제대로 봐줘' 같은 요청에 사용. 보안/성능/가독성 3관점 독립 검증이 필요한 중요 코드 변경에 적극 활용."
4
+ triggers:
5
+ - deep review
6
+ - 심층 리뷰
7
+ - multi review
8
+ - deep-review
9
+ - 철저한 리뷰
10
+ argument-hint: "[파일 경로 또는 변경 설명]"
11
+ ---
12
+
13
+ # tfx-deep-review — Tri-CLI Deep Code Review
14
+
15
+ > 3-CLI 독립 리뷰 → 교차검증 → 2+ 합의 항목만 보고. Diffray + Calimero 영감.
16
+
17
+ ## 핵심 원리
18
+
19
+ **Anti-Herding**: Round 1에서 3개 CLI가 서로의 결과를 보지 않고 독립 리뷰.
20
+ **Consensus Only**: 2개 이상 CLI가 동일 이슈를 지적한 항목만 최종 보고 → false-positive 87% 감소.
21
+
22
+ ## HARD RULES
23
+
24
+ > headless-guard가 규칙 위반을 **자동 차단**한다. 우회 불가.
25
+
26
+ 1. **`codex exec` / `gemini -p` 직접 호출 절대 금지**
27
+ 2. Codex·Gemini → `Bash("tfx multi --teammate-mode headless --auto-attach --dashboard --assign 'cli:프롬프트:역할' --timeout 600")` **만** 사용
28
+ 3. Claude → `Agent(run_in_background=true)`
29
+ 4. Bash + Agent를 같은 메시지에서 동시 호출하여 병렬 실행
30
+
31
+ ## MODEL ROLES
32
+
33
+ | CLI | 역할 | 관점 |
34
+ |-----|------|------|
35
+ | Claude Opus | 로직+아키텍처 | 로직 결함, 아키텍처 위반, 설계 패턴 |
36
+ | Codex | 보안+성능 | OWASP Top 10, O(n²) 패턴, 누락된 에러 핸들링 |
37
+ | Gemini | 가독성+DX | 네이밍 컨벤션, 가독성, 주석 필요성, 타입 안전성 |
38
+
39
+ ## EXECUTION STEPS
40
+
41
+ ### Step 1: 리뷰 대상 수집
42
+
43
+ `git diff` (staged + unstaged) 또는 사용자 지정 파일을 수집한다.
44
+
45
+ ### Step 2: 3-CLI 독립 리뷰 — 아래 2개 도구를 반드시 같은 응답에서 동시에 호출하라.
46
+
47
+ **Claude Agent (로직+아키텍처):**
48
+ ```
49
+ Agent(
50
+ subagent_type="oh-my-claudecode:code-reviewer",
51
+ model="opus",
52
+ run_in_background=true,
53
+ name="review-logic",
54
+ description="로직 결함 및 아키텍처 위반 독립 리뷰",
55
+ prompt="코드 리뷰어로서 로직/아키텍처 관점에서 이 코드를 분석하라. 로직 결함, 아키텍처 위반, 설계 패턴 문제를 찾아라. JSON으로 응답하라: { findings: [{ id, file, line, severity, category, description, suggestion }] }"
56
+ )
57
+ ```
58
+
59
+ **Codex + Gemini headless dispatch (보안+성능+가독성):**
60
+ ```
61
+ Bash("tfx multi --teammate-mode headless --auto-attach --dashboard --assign 'codex:보안/성능 전문가로서 이 코드를 분석하라. OWASP Top 10 취약점을 확인하라. O(n²) 이상의 성능 병목을 찾아라. 누락된 에러 핸들링을 지적하라. JSON으로 응답하라: { findings: [{ id, file, line, severity, category, description, suggestion }] }:reviewer' --assign 'gemini:코드 품질 전문가로서 이 코드를 분석하라. 가독성과 네이밍 컨벤션을 평가하라. 주석이 필요한 복잡한 로직을 식별하라. 타입 안전성 문제를 찾아라. 개발자 경험(DX)을 저해하는 패턴을 지적하라. JSON으로 응답하라: { findings: [{ id, file, line, severity, category, description, suggestion }] }:reviewer' --timeout 600")
62
+ ```
63
+
64
+ ### Step 3: Consensus Scoring
65
+
66
+ 모든 findings를 수집하여 유사도를 비교한다:
67
+ - 동일 파일+라인±5 + 유사 카테고리 → 동일 이슈로 간주
68
+ - 3/3 합의 → severity 유지
69
+ - 2/3 합의 → severity 유지, 반대 의견 첨부
70
+ - 1/3만 지적 UNVERIFIED 표시 (참고용, 별도 섹션)
71
+
72
+ `consensus_score = consensus_items / total_unique_items × 100`
73
+
74
+ ### Step 4: 종합 보고서 작성
75
+
76
+ 아래 형식으로 보고서를 출력한다:
77
+
78
+ ```markdown
79
+ ## Deep Code Review: {target}
80
+ **Consensus Score**: {score}% | **Reviewers**: Claude/Codex/Gemini
81
+
82
+ ### Critical (3/3 합의)
83
+ - [C1] `{file}:{line}` — {description}
84
+ - Claude: {detail} | Codex: {detail} | Gemini: {detail}
85
+ - **Fix**: {suggestion}
86
+
87
+ ### High (2/3 합의)
88
+ - [H1] `{file}:{line}` — {description}
89
+ - 합의: {agreers} | 반대: {dissenter}: "{reason}"
90
+
91
+ ### Verified Medium
92
+ - ...
93
+
94
+ ### Unverified (1/3만 지적, 참고용)
95
+ - [U1] `{file}:{line}` — {description} (by {single_cli})
96
+
97
+ ### 통계
98
+ | CLI | 발견 수 | 합의 기여율 |
99
+ |-----|---------|------------|
100
+ | Claude | {n} | {%} |
101
+ | Codex | {n} | {%} |
102
+ | Gemini | {n} | {%} |
103
+ ```
104
+
105
+ ## ERROR RECOVERY
106
+
107
+ | 오류 | 조치 |
108
+ |------|------|
109
+ | headless dispatch 타임아웃 | `--timeout` 값을 900으로 올려 재시도 |
110
+ | Agent 결과 미수신 | Step 2를 Agent만 단독 재실행 |
111
+ | consensus 0% | 대상 범위가 너무 넓음 — 파일 단위로 분할 후 재실행 |
112
+ | tfx multi 명령 실패 | `tfx status`로 teammate 연결 상태 확인 |
113
+
114
+ ## 토큰 예산
115
+
116
+ | 단계 | 토큰 |
117
+ |------|------|
118
+ | Step 1 (수집) | ~1K |
119
+ | Step 2 (3x 독립 리뷰) | ~15K |
120
+ | Step 3 (Consensus) | ~3K |
121
+ | Step 4 (보고) | ~3K |
122
+ | **총합** | **~22K** |
@@ -14,146 +14,149 @@ argument-hint: "<구현할 기능 전체 설명>"
14
14
  > 5-Phase 파이프라인: Expansion → Planning → Execution → QA → Validation.
15
15
  > OMC autopilot + Superpowers TDD + MetaGPT SOP 영감. 처음부터 끝까지 자율 실행.
16
16
 
17
- ## 핵심 원리
17
+ ## HARD RULES
18
18
 
19
- 단순 autopilot은 "구현 검증" 2단계. Deep autopilot은 **계획 단계부터 3자 합의**, **구현은 분업**, **검증은 3자 독립 리뷰** — 전체 소프트웨어 개발 SOP를 자동화한다.
19
+ > headless-guard가 규칙 위반을 **자동 차단**한다. 우회 불가.
20
20
 
21
- ## 용도
21
+ 1. **`codex exec` / `gemini -p` 직접 호출 절대 금지**
22
+ 2. Codex·Gemini 워커 → `Bash("tfx multi --teammate-mode headless --auto-attach --dashboard --assign 'cli:프롬프트:역할' --timeout 600")` **만** 사용
23
+ 3. Claude 워커 → `Agent(run_in_background=true)`
24
+ 4. Bash + Agent를 같은 메시지에서 동시 호출하여 병렬 실행
22
25
 
23
- - 신규 기능 전체 구현 (설계 → 코드 → 테스트 → 검증)
24
- - 대규모 리팩터링
25
- - 복잡한 버그 수정 (재현 → 분석 → 수정 → 회귀 검증)
26
- - "처음부터 끝까지 알아서 해" 류의 복합 요청
26
+ ## MODEL ROLES
27
27
 
28
- ## 워크플로우
28
+ | Phase | 역할 | 담당 |
29
+ |-------|------|------|
30
+ | Phase 1: Expansion | 아키텍트 — 요구사항 분석, acceptance criteria 도출 | Claude Opus (Agent) |
31
+ | Phase 2: Planning | 플래너 — 태스크 분해, TDD 전략 | Claude Opus (Agent, background) |
32
+ | Phase 2: Planning | 아키텍트 — 기술 설계, 파일 구조, API 인터페이스 | Codex (tfx headless) |
33
+ | Phase 2: Planning | 크리틱 — 리스크 분석, 엣지 케이스, 보안 | Gemini (tfx headless) |
34
+ | Phase 3: Execution | 구현자 — 코드 작성, TDD RED→GREEN→REFACTOR | Codex (tfx headless) |
35
+ | Phase 3: Execution | 문서/UI 작성자 | Gemini (tfx headless) |
36
+ | Phase 4: QA | 기능 검증자 — acceptance criteria 충족 여부 | Claude (Agent, background) |
37
+ | Phase 4: QA | 보안/성능 검증자 — OWASP, 병목, 에러 핸들링 | Codex (tfx headless) |
38
+ | Phase 4: QA | UX/접근성 검증자 — 반응형, DX, 문서화 | Gemini (tfx headless) |
39
+ | Phase 5: Validation | 합의 판정 — Consensus Score 계산 및 완료 결정 | Claude (직접 판단) |
29
40
 
30
- ### Phase 1: Expansion (Claude Opus)
41
+ ## EXECUTION STEPS
31
42
 
32
- 요구사항을 분석하고 구현 범위를 확장한다:
43
+ ### Phase 1: Expansion
33
44
 
34
- ```
35
- Claude Opus:
36
- "소프트웨어 아키텍트로서 다음 요구사항을 분석하라:
37
- 요구사항: {user_request}
38
- 프로젝트 컨텍스트: {context from PROJECT_INDEX.md}
39
-
40
- 출력:
41
- 1. 요구사항 해석 및 범위 정의
42
- 2. 영향 받는 파일/모듈 목록
43
- 3. 엣지 케이스 및 고려사항
44
- 4. 암묵적 요구사항 (사용자가 언급하지 않았지만 필요한 것)
45
- 5. acceptance criteria 목록 (검증 가능한 형태)"
46
- ```
45
+ **Claude가 직접 실행한다.** Agent 호출 없이 Claude 자신이 아키텍트 역할을 수행한다.
47
46
 
48
- 모호한 점이 있으면 AskUserQuestion으로 사용자 확인.
47
+ 1. 사용자 요청에서 구현 범위, 영향 파일, 엣지 케이스, 암묵적 요구사항을 분석한다.
48
+ 2. 검증 가능한 acceptance criteria 목록을 도출한다.
49
+ 3. 모호한 점이 있으면 AskUserQuestion으로 사용자에게 확인한다.
50
+ 4. 출력: `{expanded_requirements}`, `{acceptance_criteria}` (이후 Phase에서 사용)
49
51
 
50
- ### Phase 2: Planning (3자 합의)
52
+ ### Phase 2: Planning
51
53
 
52
- **3CLI가 동시에, 상호 결과를 보지 않고 독립 계획 수립.**
54
+ **아래 2도구를 반드시 같은 응답에서 동시에 호출하라.**
53
55
 
56
+ **Step 2-A: Claude Planner (Agent)**
54
57
  ```
55
- Claude Opus (Planner, background):
56
- "다음 기능의 구현 계획을 수립하라:
57
- 기능: {expanded_requirements}
58
- 태스크 분해, 순서, 의존성, TDD 전략 포함.
59
- JSON: { tasks, order, dependencies, tdd_strategy, risks }"
60
-
61
- > **MANDATORY: Codex/Gemini 계획 라운드는 headless dispatch로 실행**
62
-
63
- CLI 워커 headless dispatch (Bash, background):
64
- Bash("tfx multi --teammate-mode headless --auto-attach --dashboard \
65
- --assign 'codex:시니어 엔지니어로서 기술적 설계를 작성하라:
66
- 기능: {expanded_requirements}
67
- 파일 구조, API 인터페이스, 데이터 모델 포함.
68
- JSON: { design, file_changes, interfaces, test_plan }:architect' \
69
- --assign 'gemini:QA 전문가로서 구현 계획의 리스크를 분석하라:
70
- 기능: {expanded_requirements}
71
- 엣지 케이스, 보안, 성능, 접근성 우려 포함.
72
- JSON: { edge_cases, security_risks, performance, accessibility, test_cases }:critic' \
73
- --timeout 600")
58
+ Agent(
59
+ subagent_type="oh-my-claudecode:planner",
60
+ model="opus",
61
+ run_in_background=true,
62
+ prompt="다음 기능의 구현 계획을 수립하라.
63
+ 기능: {expanded_requirements}
64
+ 태스크 분해, 실행 순서, 의존성, TDD 전략을 포함하라.
65
+ JSON 형식으로 출력하라: { tasks, order, dependencies, tdd_strategy, risks }"
66
+ )
74
67
  ```
75
68
 
76
- 3개 결과를 tfx-consensus 프로토콜로 합의 도출:
69
+ **Step 2-B: Codex Architect + Gemini Critic (Bash — 동시에 위 Agent와 같은 응답에서 호출)**
77
70
  ```
78
- Consensus Score >= 70 Phase 3 진행
79
- Consensus Score < 70 Round 2 교차검토 재합의
80
- Round 2 후에도 < 60 사용자에게 불일치 제시 + 방향 결정 요청
71
+ Bash("tfx multi --teammate-mode headless --auto-attach --dashboard \
72
+ --assign 'codex:시니어 엔지니어로서 다음 기능의 기술적 설계를 작성하라. 기능: {expanded_requirements}. 파일 구조, API 인터페이스, 데이터 모델을 포함하라. JSON 형식: { design, file_changes, interfaces, test_plan }:architect' \
73
+ --assign 'gemini:QA 전문가로서 다음 기능 구현의 리스크를 분석하라. 기능: {expanded_requirements}. 엣지 케이스, 보안, 성능, 접근성 우려를 포함하라. JSON 형식: { edge_cases, security_risks, performance, accessibility, test_cases }:critic' \
74
+ --timeout 600")
81
75
  ```
82
76
 
83
- ### Phase 3: Execution (Codex + Gemini 분업)
77
+ **합의 판정:**
78
+ - Consensus Score >= 70 → Phase 3 진행
79
+ - Consensus Score < 70 → 3자 결과를 교차 공유 후 Round 2 재합의
80
+ - Round 2 후에도 < 60 → AskUserQuestion으로 불일치 항목 제시 + 방향 결정 요청
84
81
 
85
- 합의된 계획에 따라 태스크를 병렬 실행:
82
+ ### Phase 3: Execution
86
83
 
87
- ```
88
- 태스크 라우팅:
89
- 코드 구현/수정 → Codex exec --dangerously-bypass-approvals-and-sandbox --skip-git-repo-check
90
- 테스트 작성 → Codex (TDD: 테스트 먼저 → RED 확인 → 구현 → GREEN)
91
- UI/문서 → Gemini -y -p
92
-
93
- 실행 순서:
94
- 1. 테스트 먼저 작성 (TDD RED phase)
95
- 2. 구현 코드 작성 (TDD GREEN phase)
96
- 3. 리팩터링 (TDD REFACTOR phase)
97
- 4. 통합 테스트 실행
98
-
99
- 병렬 가능 태스크는 동시 실행:
100
- 독립 모듈 A (Codex pane 1) | 독립 모듈 B (Codex pane 2) | 문서 (Gemini)
101
- ```
84
+ 태스크를 라우팅 규칙에 따라 병렬 실행한다. 독립 태스크는 같은 응답에서 동시 호출한다.
85
+
86
+ **라우팅 규칙:**
87
+ - 코드 구현/수정/테스트 작성 → Codex (tfx headless)
88
+ - UI/문서 → Gemini (tfx headless)
102
89
 
103
- 태스크 완료 단순 검증 (테스트 통과 여부) 확인 후 다음 진행.
90
+ **TDD 실행 순서 (Codex에 전달하는 프롬프트에 명시):**
91
+ 1. 테스트 먼저 작성 (RED)
92
+ 2. 테스트 실행하여 실패 확인
93
+ 3. 구현 코드 작성 (GREEN)
94
+ 4. 테스트 통과 확인
95
+ 5. 리팩터링 (REFACTOR)
104
96
 
105
- ### Phase 4: QA (3자 독립 리뷰)
97
+ **병렬 실행 예시 (독립 태스크 A + B + 문서 동시 실행):**
106
98
 
107
- **전체 변경사항에 대해 3개 CLI가 독립 리뷰한다.**
99
+ **아래 2개 도구를 반드시 같은 응답에서 동시에 호출하라.**
108
100
 
109
101
  ```
110
- Claude (기능 + 엣지케이스, background):
111
- "다음 변경사항이 acceptance criteria충족하는지 검증하라:
112
- criteria: {acceptance_criteria}
113
- 변경 파일: {changed_files}
114
- criterion별 PASS/FAIL + 근거.
115
- 엣지 케이스 테스트 시나리오 제안.
116
- JSON: { criteria_results, edge_case_findings, overall_pass }"
117
-
118
- > **MANDATORY: Codex/Gemini QA 리뷰는 headless dispatch로 실행**
119
-
120
- CLI 워커 headless dispatch (Bash, background):
121
- Bash("tfx multi --teammate-mode headless --auto-attach --dashboard \
122
- --assign 'codex:보안/성능 관점에서 변경사항을 리뷰하라:
123
- OWASP Top 10, 성능 병목, 에러 핸들링, 리소스 누수 확인.
124
- JSON: { security_findings, performance_findings, overall_pass }:verifier' \
125
- --assign 'gemini:UX/접근성 관점에서 변경사항을 리뷰하라:
126
- UI 변경 있으면: 접근성, 반응형, 사용성.
127
- API 변경 있으면: DX, 문서화, 일관성.
128
- JSON: { ux_findings, accessibility_findings, overall_pass }:verifier' \
129
- --timeout 600")
102
+ Bash("tfx multi --teammate-mode headless --auto-attach --dashboard \
103
+ --assign 'codex:TDD로 {모듈_A}구현하라. 테스트 먼저 작성(RED), 구현(GREEN), 리팩터링(REFACTOR) 순서로 진행하라. 계획: {task_A_spec}:implementer' \
104
+ --assign 'codex:TDD로 {모듈_B}를 구현하라. 테스트 먼저 작성(RED), 구현(GREEN), 리팩터링(REFACTOR) 순서로 진행하라. 계획: {task_B_spec}:implementer' \
105
+ --assign 'gemini:{문서_항목}을 작성하라. 변경된 API 인터페이스: {interfaces}:writer' \
106
+ --timeout 600")
130
107
  ```
131
108
 
132
- ### Phase 5: Validation (Consensus >= 70)
109
+ 태스크 완료 테스트 통과 여부를 확인하고 다음 태스크로 진행한다.
133
110
 
134
- Phase 4 결과에 tfx-consensus 프로토콜 적용:
111
+ ### Phase 4: QA
135
112
 
113
+ **아래 2개 도구를 반드시 같은 응답에서 동시에 호출하라.**
114
+
115
+ **Step 4-A: Claude 기능 검증 (Agent)**
136
116
  ```
137
- Consensus 판정:
138
- Score >= 70 + Critical 0건 → 완료 확정
139
- Score >= 70 + Critical 존재 → Critical만 수정 후 재검증
140
- Score < 70 → 미합의 항목 수정 → Phase 4 재실행 (최대 2회)
141
- 2회 재실행 후에도 < 70 → 사용자에게 보고 + 판단 요청
117
+ Agent(
118
+ subagent_type="oh-my-claudecode:verifier",
119
+ model="opus",
120
+ run_in_background=true,
121
+ prompt="다음 변경사항이 acceptance criteria를 충족하는지 검증하라.
122
+ criteria: {acceptance_criteria}
123
+ 변경 파일: {changed_files}
124
+ 각 criterion별 PASS/FAIL과 근거를 제시하라.
125
+ 엣지 케이스 테스트 시나리오를 제안하라.
126
+ JSON 형식: { criteria_results, edge_case_findings, overall_pass }"
127
+ )
142
128
  ```
143
129
 
130
+ **Step 4-B: Codex 보안/성능 + Gemini UX/접근성 (Bash — 동시에 위 Agent와 같은 응답에서 호출)**
131
+ ```
132
+ Bash("tfx multi --teammate-mode headless --auto-attach --dashboard \
133
+ --assign 'codex:보안/성능 관점에서 다음 변경사항을 리뷰하라. OWASP Top 10, 성능 병목, 에러 핸들링, 리소스 누수를 확인하라. 변경 파일: {changed_files}. JSON 형식: { security_findings, performance_findings, overall_pass }:verifier' \
134
+ --assign 'gemini:UX/접근성 관점에서 다음 변경사항을 리뷰하라. UI 변경: 접근성, 반응형, 사용성. API 변경: DX, 문서화, 일관성. 변경 파일: {changed_files}. JSON 형식: { ux_findings, accessibility_findings, overall_pass }:verifier' \
135
+ --timeout 600")
136
+ ```
137
+
138
+ ### Phase 5: Validation
139
+
140
+ Phase 4의 3자 결과에 Consensus 프로토콜을 적용한다.
141
+
142
+ - Score >= 70 + Critical 0건 → 완료 확정
143
+ - Score >= 70 + Critical 존재 → Critical만 수정 후 Phase 4 재실행
144
+ - Score < 70 → 미합의 항목 수정 → Phase 4 재실행 (최대 2회)
145
+ - 2회 재실행 후에도 < 70 → AskUserQuestion으로 현황 보고 + 사용자 판단 요청
146
+
144
147
  ### Final: 완료 보고
145
148
 
146
149
  ```markdown
147
150
  # Deep Autopilot 완료: {feature}
148
151
 
149
152
  ## Pipeline Summary
150
- | Phase | 상태 | 소요 |
153
+ | Phase | 상태 | 결과 |
151
154
  |-------|------|------|
152
- | Expansion | | {criteria_count}개 기준 도출 |
153
- | Planning | | Consensus {score}% (Round {n}) |
154
- | Execution | | {task_count}개 태스크, {file_count}개 파일 변경 |
155
- | QA | | 3자 독립 리뷰 완료 |
156
- | Validation | | Consensus {score}%, Critical 0건 |
155
+ | Expansion | 완료 | {criteria_count}개 기준 도출 |
156
+ | Planning | 완료 | Consensus {score}% (Round {n}) |
157
+ | Execution | 완료 | {task_count}개 태스크, {file_count}개 파일 변경 |
158
+ | QA | 완료 | 3자 독립 리뷰 완료 |
159
+ | Validation | 완료 | Consensus {score}%, Critical 0건 |
157
160
 
158
161
  ## 변경 사항
159
162
  | 파일 | 작업 | 설명 |
@@ -173,14 +176,23 @@ Consensus 판정:
173
176
  - {항목}: {각 CLI 입장}
174
177
  ```
175
178
 
176
- ## 토큰 예산
179
+ ## ERROR RECOVERY
180
+
181
+ | 상황 | 대응 |
182
+ |------|------|
183
+ | tfx headless 타임아웃 | `--timeout` 값을 900으로 올려 재시도 |
184
+ | Consensus 2회 연속 실패 | AskUserQuestion으로 미합의 항목 제시 + 사용자 판단 요청 |
185
+ | 특정 Phase 결과 누락 | 해당 Phase만 단독 재실행 |
186
+ | 빌드/테스트 실패 | Codex에 실패 로그 전달하여 수정 지시 |
187
+
188
+ ## TOKEN BUDGET
177
189
 
178
190
  | Phase | 토큰 |
179
191
  |-------|------|
180
192
  | Phase 1 (Expansion) | ~5K |
181
- | Phase 2 (Planning, 3x) | ~20K |
193
+ | Phase 2 (Planning, 3자) | ~20K |
182
194
  | Phase 3 (Execution) | ~25K |
183
- | Phase 4 (QA, 3x) | ~18K |
195
+ | Phase 4 (QA, 3자) | ~18K |
184
196
  | Phase 5 (Validation) | ~5K |
185
197
  | 재시도 (필요 시) | +15K |
186
198
  | **총합** | **~73-88K** |