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.
- package/README.ko.md +46 -7
- package/README.md +46 -7
- package/hub/team/ansi.mjs +134 -11
- package/hub/team/tui.mjs +288 -53
- package/package.json +1 -1
- package/skills/tfx-consensus/SKILL.md +138 -114
- package/skills/tfx-debate/SKILL.md +96 -57
- package/skills/tfx-deep-analysis/SKILL.md +171 -191
- package/skills/tfx-deep-plan/SKILL.md +181 -73
- package/skills/tfx-deep-qa/SKILL.md +58 -58
- package/skills/tfx-deep-research/SKILL.md +79 -80
- package/skills/tfx-deep-review/SKILL.md +122 -96
- package/skills/tfx-fullcycle/SKILL.md +117 -105
- package/skills/tfx-panel/SKILL.md +66 -69
- package/skills/tfx-persist/SKILL.md +149 -76
- package/skills/tfx-prune/SKILL.md +72 -75
- package/skills/tfx-remote-setup/SKILL.md +530 -0
- package/skills/tfx-remote-spawn/SKILL.md +259 -0
- package/skills/remote-spawn/SKILL.md +0 -205
- /package/skills/{remote-spawn → tfx-remote-spawn}/references/hosts.json +0 -0
|
@@ -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
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
###
|
|
83
|
-
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
47
|
+
1. 사용자 요청에서 구현 범위, 영향 파일, 엣지 케이스, 암묵적 요구사항을 분석한다.
|
|
48
|
+
2. 검증 가능한 acceptance criteria 목록을 도출한다.
|
|
49
|
+
3. 모호한 점이 있으면 AskUserQuestion으로 사용자에게 확인한다.
|
|
50
|
+
4. 출력: `{expanded_requirements}`, `{acceptance_criteria}` (이후 Phase에서 사용)
|
|
49
51
|
|
|
50
|
-
### Phase 2: Planning
|
|
52
|
+
### Phase 2: Planning
|
|
51
53
|
|
|
52
|
-
|
|
54
|
+
**아래 2개 도구를 반드시 같은 응답에서 동시에 호출하라.**
|
|
53
55
|
|
|
56
|
+
**Step 2-A: Claude Planner (Agent)**
|
|
54
57
|
```
|
|
55
|
-
|
|
56
|
-
"
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
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
|
-
|
|
69
|
+
**Step 2-B: Codex Architect + Gemini Critic (Bash — 동시에 위 Agent와 같은 응답에서 호출)**
|
|
77
70
|
```
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
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
|
-
|
|
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
|
-
|
|
90
|
-
|
|
91
|
-
|
|
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
|
-
|
|
97
|
+
**병렬 실행 예시 (독립 태스크 A + B + 문서 동시 실행):**
|
|
106
98
|
|
|
107
|
-
|
|
99
|
+
**아래 2개 도구를 반드시 같은 응답에서 동시에 호출하라.**
|
|
108
100
|
|
|
109
101
|
```
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
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
|
-
|
|
109
|
+
각 태스크 완료 시 테스트 통과 여부를 확인하고 다음 태스크로 진행한다.
|
|
133
110
|
|
|
134
|
-
Phase 4
|
|
111
|
+
### Phase 4: QA
|
|
135
112
|
|
|
113
|
+
**아래 2개 도구를 반드시 같은 응답에서 동시에 호출하라.**
|
|
114
|
+
|
|
115
|
+
**Step 4-A: Claude 기능 검증 (Agent)**
|
|
136
116
|
```
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
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 |
|
|
153
|
-
| Planning |
|
|
154
|
-
| Execution |
|
|
155
|
-
| QA |
|
|
156
|
-
| Validation |
|
|
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,
|
|
193
|
+
| Phase 2 (Planning, 3자) | ~20K |
|
|
182
194
|
| Phase 3 (Execution) | ~25K |
|
|
183
|
-
| Phase 4 (QA,
|
|
195
|
+
| Phase 4 (QA, 3자) | ~18K |
|
|
184
196
|
| Phase 5 (Validation) | ~5K |
|
|
185
197
|
| 재시도 (필요 시) | +15K |
|
|
186
198
|
| **총합** | **~73-88K** |
|