triflux 10.9.19 → 10.9.21
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/CLAUDE.md +212 -0
- package/hub/lib/bash-path.mjs +73 -0
- package/hub/team/dashboard-open.mjs +1 -68
- package/hub/team/native-supervisor.mjs +9 -2
- package/hub/team/psmux.mjs +5 -13
- package/hub/team/session.mjs +6 -26
- package/hub/team/swarm-hypervisor.mjs +205 -27
- package/hub/team/synapse-http.mjs +1 -0
- package/hub/team/tui-core.mjs +292 -0
- package/hub/team/tui-lite.mjs +20 -154
- package/hub/team/tui-synapse.mjs +213 -0
- package/hub/team/tui-widgets.mjs +262 -0
- package/hub/team/tui.mjs +159 -255
- package/hub/workers/delegator-mcp.mjs +2 -2
- package/package.json +21 -62
- package/references/hosts.json +46 -0
- package/scripts/__tests__/keyword-detector.test.mjs +4 -4
- package/scripts/cross-review-gate.mjs +13 -0
- package/scripts/remote-spawn.mjs +11 -46
- package/scripts/session-spawn-helper.mjs +8 -21
- package/scripts/test-tfx-route-no-claude-native.mjs +4 -2
- package/scripts/tfx-route.sh +13 -0
- package/skills/tfx-deep-interview/SKILL.md +6 -6
- package/skills/tfx-deep-interview/SKILL.md.tmpl +6 -6
- package/skills/tfx-index/SKILL.md +1 -1
- package/skills/tfx-index/SKILL.md.tmpl +1 -1
- package/skills/tfx-interview/SKILL.md +9 -9
- package/skills/tfx-interview/SKILL.md.tmpl +9 -9
- package/skills/tfx-plan/SKILL.md +1 -1
- package/skills/tfx-plan/SKILL.md.tmpl +1 -1
- package/skills/tfx-research/SKILL.md +1 -1
- package/skills/tfx-research/SKILL.md.tmpl +1 -1
- package/skills/tfx-workspace/async-tests/run-tests.sh +203 -0
- package/skills/tfx-workspace/evals/evals.json +79 -0
- package/skills/tfx-workspace/iteration-1/benchmark.json +524 -0
- package/skills/tfx-workspace/iteration-1/codex-gemini-remap/eval_metadata.json +11 -0
- package/skills/tfx-workspace/iteration-1/codex-gemini-remap/old_skill/grading.json +25 -0
- package/skills/tfx-workspace/iteration-1/codex-gemini-remap/old_skill/outputs/analysis.md +154 -0
- package/skills/tfx-workspace/iteration-1/codex-gemini-remap/old_skill/timing.json +5 -0
- package/skills/tfx-workspace/iteration-1/codex-gemini-remap/with_skill/grading.json +25 -0
- package/skills/tfx-workspace/iteration-1/codex-gemini-remap/with_skill/outputs/analysis.md +126 -0
- package/skills/tfx-workspace/iteration-1/codex-gemini-remap/with_skill/timing.json +5 -0
- package/skills/tfx-workspace/iteration-1/doctor-diagnosis/eval_metadata.json +11 -0
- package/skills/tfx-workspace/iteration-1/doctor-diagnosis/old_skill/grading.json +25 -0
- package/skills/tfx-workspace/iteration-1/doctor-diagnosis/old_skill/outputs/analysis.md +119 -0
- package/skills/tfx-workspace/iteration-1/doctor-diagnosis/old_skill/timing.json +5 -0
- package/skills/tfx-workspace/iteration-1/doctor-diagnosis/with_skill/grading.json +25 -0
- package/skills/tfx-workspace/iteration-1/doctor-diagnosis/with_skill/outputs/analysis.md +115 -0
- package/skills/tfx-workspace/iteration-1/doctor-diagnosis/with_skill/timing.json +5 -0
- package/skills/tfx-workspace/iteration-1/hub-start-sequence/eval_metadata.json +10 -0
- package/skills/tfx-workspace/iteration-1/hub-start-sequence/old_skill/grading.json +20 -0
- package/skills/tfx-workspace/iteration-1/hub-start-sequence/old_skill/outputs/analysis.md +86 -0
- package/skills/tfx-workspace/iteration-1/hub-start-sequence/old_skill/timing.json +5 -0
- package/skills/tfx-workspace/iteration-1/hub-start-sequence/with_skill/grading.json +20 -0
- package/skills/tfx-workspace/iteration-1/hub-start-sequence/with_skill/outputs/analysis.md +81 -0
- package/skills/tfx-workspace/iteration-1/hub-start-sequence/with_skill/timing.json +5 -0
- package/skills/tfx-workspace/iteration-1/multi-team-creation/eval_metadata.json +12 -0
- package/skills/tfx-workspace/iteration-1/multi-team-creation/old_skill/grading.json +30 -0
- package/skills/tfx-workspace/iteration-1/multi-team-creation/old_skill/outputs/analysis.md +316 -0
- package/skills/tfx-workspace/iteration-1/multi-team-creation/old_skill/timing.json +5 -0
- package/skills/tfx-workspace/iteration-1/multi-team-creation/with_skill/grading.json +30 -0
- package/skills/tfx-workspace/iteration-1/multi-team-creation/with_skill/outputs/analysis.md +352 -0
- package/skills/tfx-workspace/iteration-1/multi-team-creation/with_skill/timing.json +5 -0
- package/skills/tfx-workspace/iteration-1/review.html +1325 -0
- package/skills/tfx-workspace/iteration-1/routing-implement-shortcut/eval_metadata.json +12 -0
- package/skills/tfx-workspace/iteration-1/routing-implement-shortcut/old_skill/grading.json +30 -0
- package/skills/tfx-workspace/iteration-1/routing-implement-shortcut/old_skill/outputs/analysis.md +97 -0
- package/skills/tfx-workspace/iteration-1/routing-implement-shortcut/old_skill/timing.json +5 -0
- package/skills/tfx-workspace/iteration-1/routing-implement-shortcut/with_skill/grading.json +30 -0
- package/skills/tfx-workspace/iteration-1/routing-implement-shortcut/with_skill/outputs/analysis.md +94 -0
- package/skills/tfx-workspace/iteration-1/routing-implement-shortcut/with_skill/timing.json +5 -0
- package/skills/tfx-workspace/iteration-1/routing-multi-task-triage/eval_metadata.json +12 -0
- package/skills/tfx-workspace/iteration-1/routing-multi-task-triage/old_skill/grading.json +30 -0
- package/skills/tfx-workspace/iteration-1/routing-multi-task-triage/old_skill/outputs/analysis.md +209 -0
- package/skills/tfx-workspace/iteration-1/routing-multi-task-triage/old_skill/timing.json +5 -0
- package/skills/tfx-workspace/iteration-1/routing-multi-task-triage/with_skill/grading.json +30 -0
- package/skills/tfx-workspace/iteration-1/routing-multi-task-triage/with_skill/outputs/analysis.md +193 -0
- package/skills/tfx-workspace/iteration-1/routing-multi-task-triage/with_skill/timing.json +5 -0
- package/skills/tfx-workspace/iteration-2/benchmark.json +144 -0
- package/skills/tfx-workspace/iteration-2/multi-team-creation-refactored/eval_metadata.json +13 -0
- package/skills/tfx-workspace/iteration-2/multi-team-creation-refactored/old_skill/grading.json +35 -0
- package/skills/tfx-workspace/iteration-2/multi-team-creation-refactored/old_skill/outputs/analysis.md +382 -0
- package/skills/tfx-workspace/iteration-2/multi-team-creation-refactored/old_skill/timing.json +5 -0
- package/skills/tfx-workspace/iteration-2/multi-team-creation-refactored/with_skill/grading.json +35 -0
- package/skills/tfx-workspace/iteration-2/multi-team-creation-refactored/with_skill/outputs/analysis.md +333 -0
- package/skills/tfx-workspace/iteration-2/multi-team-creation-refactored/with_skill/timing.json +5 -0
- package/skills/tfx-workspace/iteration-2/review.html +1325 -0
- package/skills/tfx-workspace/skill-snapshot/tfx-auto/SKILL.md +217 -0
- package/skills/tfx-workspace/skill-snapshot/tfx-auto-codex/SKILL.md +77 -0
- package/skills/tfx-workspace/skill-snapshot/tfx-codex/SKILL.md +65 -0
- package/skills/tfx-workspace/skill-snapshot/tfx-doctor/SKILL.md +94 -0
- package/skills/tfx-workspace/skill-snapshot/tfx-gemini/SKILL.md +82 -0
- package/skills/tfx-workspace/skill-snapshot/tfx-hub/SKILL.md +133 -0
- package/skills/tfx-workspace/skill-snapshot/tfx-multi/SKILL.md +426 -0
- package/skills/tfx-workspace/skill-snapshot/tfx-setup/SKILL.md +101 -0
- package/.claude-plugin/marketplace.json +0 -34
- package/.claude-plugin/plugin.json +0 -22
- package/config/mcp-registry.json +0 -29
- package/scripts/__tests__/release-governance.test.mjs +0 -148
- package/scripts/release/bump-version.mjs +0 -77
- package/scripts/release/check-sync.mjs +0 -51
- package/scripts/release/lib.mjs +0 -303
- package/scripts/release/prepare.mjs +0 -85
- package/scripts/release/publish.mjs +0 -87
- package/scripts/release/verify.mjs +0 -81
- package/scripts/release/version-manifest.json +0 -26
- package/tui/codex-profile.mjs +0 -457
- package/tui/core.mjs +0 -266
- package/tui/doctor.mjs +0 -375
- package/tui/gemini-profile.mjs +0 -299
- package/tui/monitor-data.mjs +0 -152
- package/tui/monitor.mjs +0 -339
- package/tui/setup.mjs +0 -598
|
@@ -0,0 +1,333 @@
|
|
|
1
|
+
# tfx-multi 라우팅 정확도 분석 — DRY RUN
|
|
2
|
+
|
|
3
|
+
**입력:** `/tfx-multi 인증 리팩터링 + UI 개선 + 보안 리뷰`
|
|
4
|
+
**분석 대상 파일:**
|
|
5
|
+
- `skills/tfx-multi/SKILL.md`
|
|
6
|
+
- `skills/tfx-multi/references/thorough-pipeline.md`
|
|
7
|
+
- `skills/tfx-multi/references/agent-wrapper-rules.md`
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Phase 0: Preflight 점검
|
|
12
|
+
|
|
13
|
+
`--quick`(기본) 모드이므로, 수동 모드 분기가 아닌 자동 모드 분기가 적용된다.
|
|
14
|
+
자동 모드에서는 Phase 0(preflight)과 Phase 2(triage)를 **동시 병렬** 실행한다.
|
|
15
|
+
|
|
16
|
+
실행할 단일 명령:
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
curl -sf http://127.0.0.1:27888/status >/dev/null \
|
|
20
|
+
&& test -f ~/.claude/scripts/tfx-route.sh \
|
|
21
|
+
&& echo "preflight: ok" \
|
|
22
|
+
|| echo "preflight: FAIL"
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
점검 항목:
|
|
26
|
+
1. Hub HTTP 엔드포인트(`127.0.0.1:27888`) 응답 여부
|
|
27
|
+
2. `~/.claude/scripts/tfx-route.sh` 파일 존재 여부
|
|
28
|
+
|
|
29
|
+
출력 정책: 성공 시 리드에 `preflight: ok (route/hub)` 한 줄만 노출.
|
|
30
|
+
실패 시에만 상세 항목(tfx-route.sh 없음, Hub 비정상, CLI 미설치) 노출.
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
## Phase 1: 입력 파싱
|
|
35
|
+
|
|
36
|
+
원본 입력: `"인증 리팩터링 + UI 개선 + 보안 리뷰"`
|
|
37
|
+
|
|
38
|
+
파싱 결과 분류:
|
|
39
|
+
|
|
40
|
+
| 조건 | 해당 여부 |
|
|
41
|
+
|------|-----------|
|
|
42
|
+
| 빈 문자열 | 아니오 |
|
|
43
|
+
| `"N:agent"` 수동 모드 패턴 | 아니오 |
|
|
44
|
+
| `--tmux` / `--psmux` | 아니오 |
|
|
45
|
+
| `status` / `stop` | 아니오 |
|
|
46
|
+
| `--thorough` | 아니오 (플래그 없음) |
|
|
47
|
+
| 자연어 복합 작업 | **YES** |
|
|
48
|
+
|
|
49
|
+
**결론:** `--quick`(기본) 자동 모드로 분기. `--thorough` 플래그가 없으므로
|
|
50
|
+
Phase 2.5~2.6 및 Phase 3.5~3.7(thorough 파이프라인)은 건너뛴다.
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
## Phase 2: 트리아지 — 서브태스크 분해
|
|
55
|
+
|
|
56
|
+
자동 모드 흐름:
|
|
57
|
+
|
|
58
|
+
### Step 2-1: Codex 분류
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
# Phase 0과 동시 병렬 실행
|
|
62
|
+
codex --full-auto --skip-git-repo-check \
|
|
63
|
+
"다음 작업을 분류하라: 인증 리팩터링 + UI 개선 + 보안 리뷰
|
|
64
|
+
출력: JSON {parts: [{description, agent}]}"
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
예상 Codex 분류 결과 (JSON):
|
|
68
|
+
|
|
69
|
+
```json
|
|
70
|
+
{
|
|
71
|
+
"parts": [
|
|
72
|
+
{ "description": "인증 리팩터링", "agent": "codex" },
|
|
73
|
+
{ "description": "UI 개선", "agent": "codex" },
|
|
74
|
+
{ "description": "보안 리뷰", "agent": "codex" }
|
|
75
|
+
]
|
|
76
|
+
}
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
### Step 2-2: Opus 인라인 분해
|
|
80
|
+
|
|
81
|
+
Codex 분류 결과를 바탕으로 Opus가 인라인으로 서브태스크 배열 생성:
|
|
82
|
+
|
|
83
|
+
```json
|
|
84
|
+
[
|
|
85
|
+
{
|
|
86
|
+
"cli": "codex",
|
|
87
|
+
"subtask": "인증 모듈 리팩터링: 토큰 갱신 로직 개선, 세션 관리 단순화",
|
|
88
|
+
"role": "engineer",
|
|
89
|
+
"agentName": "codex-worker-1"
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
"cli": "codex",
|
|
93
|
+
"subtask": "UI 개선: 컴포넌트 구조 정리, 접근성 향상, 스타일 일관성 적용",
|
|
94
|
+
"role": "engineer",
|
|
95
|
+
"agentName": "codex-worker-2"
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
"cli": "codex",
|
|
99
|
+
"subtask": "보안 리뷰: 인증 흐름 취약점 분석, 의존성 감사, 보안 권고 작성",
|
|
100
|
+
"role": "reviewer",
|
|
101
|
+
"agentName": "codex-worker-3"
|
|
102
|
+
}
|
|
103
|
+
]
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
**Fallback:** Codex 분류 실패 시 → Opus가 직접 분류+분해 수행.
|
|
107
|
+
|
|
108
|
+
서브태스크 목록 (CLI / Role):
|
|
109
|
+
|
|
110
|
+
| # | CLI | Role | 서브태스크 요약 |
|
|
111
|
+
|---|-------|----------|--------------------------|
|
|
112
|
+
| 1 | codex | engineer | 인증 모듈 리팩터링 |
|
|
113
|
+
| 2 | codex | engineer | UI 컴포넌트 개선 |
|
|
114
|
+
| 3 | codex | reviewer | 보안 리뷰 및 권고 작성 |
|
|
115
|
+
|
|
116
|
+
---
|
|
117
|
+
|
|
118
|
+
## Phase 3: Native Teams 실행
|
|
119
|
+
|
|
120
|
+
### Step 3a: 팀 생성 (TeamCreate)
|
|
121
|
+
|
|
122
|
+
`Date.now().toString(36).slice(-6)` 예시값 `"n4z8k1"` 사용:
|
|
123
|
+
|
|
124
|
+
```
|
|
125
|
+
TeamCreate({
|
|
126
|
+
team_name: "tfx-n4z8k1",
|
|
127
|
+
description: "tfx-multi: 인증 리팩터링 + UI 개선 + 보안 리뷰"
|
|
128
|
+
})
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
### Step 3b: 공유 작업 등록 (TaskCreate × 3)
|
|
132
|
+
|
|
133
|
+
```
|
|
134
|
+
TaskCreate({
|
|
135
|
+
subject: "인증 모듈 리팩터링: 토큰 갱신 로직 개선, 세션 관리 단순화",
|
|
136
|
+
metadata: { cli: "codex", role: "engineer" }
|
|
137
|
+
})
|
|
138
|
+
→ taskId: task-1
|
|
139
|
+
|
|
140
|
+
TaskCreate({
|
|
141
|
+
subject: "UI 개선: 컴포넌트 구조 정리, 접근성 향상, 스타일 일관성 적용",
|
|
142
|
+
metadata: { cli: "codex", role: "engineer" }
|
|
143
|
+
})
|
|
144
|
+
→ taskId: task-2
|
|
145
|
+
|
|
146
|
+
TaskCreate({
|
|
147
|
+
subject: "보안 리뷰: 인증 흐름 취약점 분석, 의존성 감사, 보안 권고 작성",
|
|
148
|
+
metadata: { cli: "codex", role: "reviewer" }
|
|
149
|
+
})
|
|
150
|
+
→ taskId: task-3
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
### Step 3c: 슬림 래퍼 Agent 실행 (Agent × 3)
|
|
154
|
+
|
|
155
|
+
모든 서브태스크의 `cli`가 `"codex"`이므로, 3개 모두 슬림 래퍼로 spawn한다.
|
|
156
|
+
|
|
157
|
+
**Agent 호출 1:**
|
|
158
|
+
|
|
159
|
+
```
|
|
160
|
+
Agent({
|
|
161
|
+
name: "codex-worker-1",
|
|
162
|
+
team_name: "tfx-n4z8k1",
|
|
163
|
+
mode: "bypassPermissions",
|
|
164
|
+
run_in_background: true,
|
|
165
|
+
prompt: buildSlimWrapperPrompt("codex", {
|
|
166
|
+
subtask: "인증 모듈 리팩터링: 토큰 갱신 로직 개선, 세션 관리 단순화",
|
|
167
|
+
role: "engineer",
|
|
168
|
+
teamName: "tfx-n4z8k1",
|
|
169
|
+
taskId: "task-1",
|
|
170
|
+
agentName: "codex-worker-1",
|
|
171
|
+
leadName: "team-lead",
|
|
172
|
+
mcp_profile: <환경 기본값>
|
|
173
|
+
})
|
|
174
|
+
})
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
**Agent 호출 2:**
|
|
178
|
+
|
|
179
|
+
```
|
|
180
|
+
Agent({
|
|
181
|
+
name: "codex-worker-2",
|
|
182
|
+
team_name: "tfx-n4z8k1",
|
|
183
|
+
mode: "bypassPermissions",
|
|
184
|
+
run_in_background: true,
|
|
185
|
+
prompt: buildSlimWrapperPrompt("codex", {
|
|
186
|
+
subtask: "UI 개선: 컴포넌트 구조 정리, 접근성 향상, 스타일 일관성 적용",
|
|
187
|
+
role: "engineer",
|
|
188
|
+
teamName: "tfx-n4z8k1",
|
|
189
|
+
taskId: "task-2",
|
|
190
|
+
agentName: "codex-worker-2",
|
|
191
|
+
leadName: "team-lead",
|
|
192
|
+
mcp_profile: <환경 기본값>
|
|
193
|
+
})
|
|
194
|
+
})
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
**Agent 호출 3:**
|
|
198
|
+
|
|
199
|
+
```
|
|
200
|
+
Agent({
|
|
201
|
+
name: "codex-worker-3",
|
|
202
|
+
team_name: "tfx-n4z8k1",
|
|
203
|
+
mode: "bypassPermissions",
|
|
204
|
+
run_in_background: true,
|
|
205
|
+
prompt: buildSlimWrapperPrompt("codex", {
|
|
206
|
+
subtask: "보안 리뷰: 인증 흐름 취약점 분석, 의존성 감사, 보안 권고 작성",
|
|
207
|
+
role: "reviewer",
|
|
208
|
+
teamName: "tfx-n4z8k1",
|
|
209
|
+
taskId: "task-3",
|
|
210
|
+
agentName: "codex-worker-3",
|
|
211
|
+
leadName: "team-lead",
|
|
212
|
+
mcp_profile: <환경 기본값>
|
|
213
|
+
})
|
|
214
|
+
})
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
**참고 — 각 슬림 래퍼 내부의 실행 순서 (인터럽트 프로토콜):**
|
|
218
|
+
|
|
219
|
+
```
|
|
220
|
+
1. TaskUpdate(taskId, status: "in_progress") — task claim
|
|
221
|
+
2. SendMessage(to: "team-lead", "작업 시작: {agentName}") — 시작 보고 (턴 경계)
|
|
222
|
+
3. Bash(
|
|
223
|
+
command: "bash ~/.claude/scripts/tfx-route.sh {role} '{subtask}' {mcp_profile}",
|
|
224
|
+
timeout: <동적 상속 ms>
|
|
225
|
+
) — tfx-route.sh 경유 실행
|
|
226
|
+
4. SendMessage(to: "team-lead", "결과: {요약}") — 결과 보고 (턴 경계)
|
|
227
|
+
5. 리드 피드백 대기 → 피드백 수신 시 Step 3으로 돌아가 재실행
|
|
228
|
+
6. TaskUpdate(status: "completed", metadata: {result})
|
|
229
|
+
+ SendMessage(to: "team-lead", "완료: {agentName}") — 종료
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
Bash timeout 동적 상속:
|
|
233
|
+
- `reviewer` role → analyze/review 프로필 해당 → **3600초(3600000ms)**
|
|
234
|
+
- `engineer` role → 기본 → **1080초(1080000ms)**
|
|
235
|
+
|
|
236
|
+
**Step 3d 적용 여부:** 모든 `cli`가 `"codex"`이므로 `claude` 타입 직접 실행(Step 3d)은 없다.
|
|
237
|
+
|
|
238
|
+
**Step 3e 사용자 안내:**
|
|
239
|
+
```
|
|
240
|
+
"팀 생성 완료. Shift+Down으로 워커 전환, Shift+Tab으로 이전 워커."
|
|
241
|
+
```
|
|
242
|
+
|
|
243
|
+
---
|
|
244
|
+
|
|
245
|
+
## Phase 4: 결과 수집
|
|
246
|
+
|
|
247
|
+
truth source: `team_task_list`
|
|
248
|
+
|
|
249
|
+
```bash
|
|
250
|
+
Bash("node hub/bridge.mjs team-task-list --team tfx-n4z8k1")
|
|
251
|
+
```
|
|
252
|
+
|
|
253
|
+
수집 로직:
|
|
254
|
+
- 각 task의 `metadata.result` 확인
|
|
255
|
+
- `metadata.result == "failed"` → Claude fallback 재시도
|
|
256
|
+
- `metadata.result == "failed"` (Claude fallback도 실패) → 실패 목록/원인 요약 후 사용자 승인 대기
|
|
257
|
+
- 모든 task `status: "completed"` → Phase 5 진행
|
|
258
|
+
|
|
259
|
+
주의: `TaskUpdate` 상태값은 `pending`, `in_progress`, `completed`, `deleted`만 허용.
|
|
260
|
+
`"failed"` 상태값은 Claude Code `TaskUpdate`에서 사용 불가.
|
|
261
|
+
실패 여부는 `metadata.result: "failed"`로만 표현.
|
|
262
|
+
|
|
263
|
+
---
|
|
264
|
+
|
|
265
|
+
## Phase 5: 정리 (TeamDelete)
|
|
266
|
+
|
|
267
|
+
성공/실패에 관계없이 **반드시** 실행.
|
|
268
|
+
|
|
269
|
+
```
|
|
270
|
+
1. 백그라운드 Agent 완료를 최대 30초 대기
|
|
271
|
+
2. TeamDelete("tfx-n4z8k1")
|
|
272
|
+
3. 실패 시:
|
|
273
|
+
forceCleanupTeam("tfx-n4z8k1")
|
|
274
|
+
그래도 실패 시:
|
|
275
|
+
사용자에게 안내: rm -rf ~/.claude/teams/tfx-n4z8k1/
|
|
276
|
+
4. 종합 보고서 출력
|
|
277
|
+
```
|
|
278
|
+
|
|
279
|
+
TeamDelete를 건너뛰면 `~/.claude/teams/tfx-n4z8k1/`이 잔존하여 무한 루프 발생.
|
|
280
|
+
|
|
281
|
+
---
|
|
282
|
+
|
|
283
|
+
## 핵심 규칙 준수 여부 체크리스트
|
|
284
|
+
|
|
285
|
+
| 규칙 | 적용 여부 | 비고 |
|
|
286
|
+
|------|-----------|------|
|
|
287
|
+
| `mode: "bypassPermissions"` 포함 | YES | 모든 Agent 호출에 포함 |
|
|
288
|
+
| Agent 래퍼 생략 금지 | YES | 3개 서브태스크 모두 Agent로 spawn |
|
|
289
|
+
| `tfx-route.sh` 경유 | YES | 래퍼 내부 Bash에서 `bash ~/.claude/scripts/tfx-route.sh` 사용 |
|
|
290
|
+
| 직접 `codex exec` 호출 금지 | YES | tfx-route.sh로만 실행 |
|
|
291
|
+
| 코드 직접 조작 금지 | YES | 워커가 Read/Edit/Write 등 직접 사용 안 함 |
|
|
292
|
+
| Lead 고토큰 MCP 직접 사용 금지 | YES | 필요시 scientist/document-specialist 워커에 위임 |
|
|
293
|
+
| TaskUpdate 상태값 제한 | YES | "completed"만 사용, failed는 metadata.result로 표현 |
|
|
294
|
+
| TeamDelete 생략 금지 | YES | Phase 5에서 반드시 실행 |
|
|
295
|
+
|
|
296
|
+
---
|
|
297
|
+
|
|
298
|
+
## thorough 파이프라인 건너뜀 여부
|
|
299
|
+
|
|
300
|
+
입력에 `--thorough` 플래그가 없으므로 `--quick`(기본) 모드 적용.
|
|
301
|
+
아래 Phase는 **실행되지 않는다:**
|
|
302
|
+
- Phase 2.5 (Plan — Codex architect)
|
|
303
|
+
- Phase 2.6 (PRD — Codex analyst)
|
|
304
|
+
- Phase 3.5 (Verify — Codex review)
|
|
305
|
+
- Phase 3.6 (Fix — max 3회)
|
|
306
|
+
- Phase 3.7 (Ralph Loop)
|
|
307
|
+
|
|
308
|
+
`thorough-pipeline.md`는 이 입력에 적용되지 않는다.
|
|
309
|
+
단, `--thorough` 모드로 재실행 시 적용될 Phase들의 정확한 파라미터를 제공한다.
|
|
310
|
+
|
|
311
|
+
---
|
|
312
|
+
|
|
313
|
+
## 참조 파일이 제공한 추가 컨텍스트
|
|
314
|
+
|
|
315
|
+
### `references/thorough-pipeline.md`
|
|
316
|
+
- `--quick` 모드에서는 적용되지 않음을 명시 확인
|
|
317
|
+
- plan/prd/exec/verify/fix/ralph 각 Phase의 `tfx-route.sh` 호출 형태 명확화
|
|
318
|
+
- `pipeline-advance` bridge 명령어 패턴 제공
|
|
319
|
+
- fix_max(3), ralph_max(10) 한도 명시
|
|
320
|
+
|
|
321
|
+
### `references/agent-wrapper-rules.md`
|
|
322
|
+
- 슬림 래퍼가 존재해야 하는 3가지 이유를 구체화
|
|
323
|
+
(Shift+Down 등록, 피드백 루프, 재실행 지원)
|
|
324
|
+
- 인터럽트 프로토콜 6단계 순서 명확화
|
|
325
|
+
- Bash timeout 동적 상속 기준:
|
|
326
|
+
- analyze/review 프로필 또는 architect/analyst 역할 → 3600초
|
|
327
|
+
- 그 외 기본 → 1080초
|
|
328
|
+
- `TFX_TEAM_*` 환경변수 목록 및 Named Pipe/HTTP fallback 순서 확인
|
|
329
|
+
- `tfx-route.sh` 직접 호출을 금지해야 하는 7가지 기술적 이유
|
|
330
|
+
(모델 지정, MCP 필터, bridge 연동, Windows 호환, 타임아웃, 후처리)
|
|
331
|
+
|
|
332
|
+
두 참조 파일 모두 SKILL.md의 핵심 규칙에 대한 이유와 상세 파라미터를 제공하여,
|
|
333
|
+
라우팅 구현 시 모호한 부분(timeout 값, 인터럽트 순서, pipeline advance 명령)을 명확히 했다.
|