triflux 3.3.0-dev.8 → 4.0.1

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.
Files changed (91) hide show
  1. package/README.ko.md +108 -199
  2. package/README.md +108 -199
  3. package/bin/triflux.mjs +2427 -1762
  4. package/hooks/keyword-rules.json +361 -354
  5. package/hooks/pipeline-stop.mjs +5 -2
  6. package/hub/assign-callbacks.mjs +136 -136
  7. package/hub/bridge.mjs +734 -684
  8. package/hub/delegator/contracts.mjs +38 -38
  9. package/hub/delegator/index.mjs +14 -14
  10. package/hub/delegator/schema/delegator-tools.schema.json +250 -250
  11. package/hub/delegator/service.mjs +302 -118
  12. package/hub/delegator/tool-definitions.mjs +35 -35
  13. package/hub/hitl.mjs +67 -67
  14. package/hub/paths.mjs +28 -0
  15. package/hub/pipe.mjs +589 -561
  16. package/hub/pipeline/state.mjs +23 -0
  17. package/hub/public/dashboard.html +349 -0
  18. package/hub/public/tray-icon.ico +0 -0
  19. package/hub/public/tray-icon.png +0 -0
  20. package/hub/router.mjs +782 -782
  21. package/hub/schema.sql +40 -40
  22. package/hub/server.mjs +810 -637
  23. package/hub/store.mjs +706 -706
  24. package/hub/team/cli/commands/attach.mjs +37 -0
  25. package/hub/team/cli/commands/control.mjs +43 -0
  26. package/hub/team/cli/commands/debug.mjs +74 -0
  27. package/hub/team/cli/commands/focus.mjs +53 -0
  28. package/hub/team/cli/commands/interrupt.mjs +36 -0
  29. package/hub/team/cli/commands/kill.mjs +37 -0
  30. package/hub/team/cli/commands/list.mjs +24 -0
  31. package/hub/team/cli/commands/send.mjs +37 -0
  32. package/hub/team/cli/commands/start/index.mjs +87 -0
  33. package/hub/team/cli/commands/start/parse-args.mjs +32 -0
  34. package/hub/team/cli/commands/start/start-in-process.mjs +40 -0
  35. package/hub/team/cli/commands/start/start-mux.mjs +73 -0
  36. package/hub/team/cli/commands/start/start-wt.mjs +69 -0
  37. package/hub/team/cli/commands/status.mjs +87 -0
  38. package/hub/team/cli/commands/stop.mjs +31 -0
  39. package/hub/team/cli/commands/task.mjs +30 -0
  40. package/hub/team/cli/commands/tasks.mjs +13 -0
  41. package/hub/team/{cli.mjs → cli/help.mjs} +38 -99
  42. package/hub/team/cli/index.mjs +39 -0
  43. package/hub/team/cli/manifest.mjs +28 -0
  44. package/hub/team/cli/render.mjs +30 -0
  45. package/hub/team/cli/services/attach-fallback.mjs +54 -0
  46. package/hub/team/cli/services/hub-client.mjs +171 -0
  47. package/hub/team/cli/services/member-selector.mjs +30 -0
  48. package/hub/team/cli/services/native-control.mjs +115 -0
  49. package/hub/team/cli/services/runtime-mode.mjs +60 -0
  50. package/hub/team/cli/services/state-store.mjs +34 -0
  51. package/hub/team/cli/services/task-model.mjs +30 -0
  52. package/hub/team/native-supervisor.mjs +69 -63
  53. package/hub/team/native.mjs +367 -367
  54. package/hub/team/nativeProxy.mjs +217 -173
  55. package/hub/team/pane.mjs +149 -149
  56. package/hub/team/psmux.mjs +946 -946
  57. package/hub/team/session.mjs +608 -608
  58. package/hub/team/staleState.mjs +369 -299
  59. package/hub/tools.mjs +107 -107
  60. package/hub/tray.mjs +332 -0
  61. package/hub/workers/claude-worker.mjs +446 -446
  62. package/hub/workers/codex-mcp.mjs +414 -414
  63. package/hub/workers/delegator-mcp.mjs +1045 -1045
  64. package/hub/workers/factory.mjs +21 -21
  65. package/hub/workers/gemini-worker.mjs +349 -349
  66. package/hub/workers/interface.mjs +41 -41
  67. package/package.json +3 -2
  68. package/scripts/__tests__/keyword-detector.test.mjs +234 -234
  69. package/scripts/hub-ensure.mjs +102 -101
  70. package/scripts/keyword-detector.mjs +272 -272
  71. package/scripts/keyword-rules-expander.mjs +521 -521
  72. package/scripts/lib/keyword-rules.mjs +168 -168
  73. package/scripts/lib/mcp-filter.mjs +642 -642
  74. package/scripts/lib/mcp-server-catalog.mjs +118 -118
  75. package/scripts/mcp-check.mjs +126 -126
  76. package/scripts/preflight-cache.mjs +19 -0
  77. package/scripts/run.cjs +62 -62
  78. package/scripts/setup.mjs +68 -31
  79. package/scripts/test-tfx-route-no-claude-native.mjs +57 -57
  80. package/scripts/tfx-route-worker.mjs +161 -161
  81. package/scripts/tfx-route.sh +1360 -1326
  82. package/skills/tfx-auto/SKILL.md +196 -196
  83. package/skills/tfx-auto-codex/SKILL.md +77 -77
  84. package/skills/tfx-multi/SKILL.md +378 -378
  85. package/hub/team/cli-team-common.mjs +0 -348
  86. package/hub/team/cli-team-control.mjs +0 -393
  87. package/hub/team/cli-team-start.mjs +0 -516
  88. package/hub/team/cli-team-status.mjs +0 -283
  89. package/skills/auto-verify/SKILL.md +0 -145
  90. package/skills/manage-skills/SKILL.md +0 -192
  91. package/skills/verify-implementation/SKILL.md +0 -138
@@ -1,196 +1,196 @@
1
- ---
2
- name: tfx-auto
3
- description: 통합 CLI 오케스트레이터. 커맨드 숏컷(단일) + 자동 분류/분해(병렬) + 수동 병렬. tfx-route.sh 기반.
4
- triggers:
5
- - tfx-auto
6
- - implement
7
- - build
8
- - research
9
- - brainstorm
10
- - design
11
- - test
12
- - analyze
13
- - troubleshoot
14
- - improve
15
- - cleanup
16
- - explain
17
- - document
18
- - pm
19
- - reflect
20
- - estimate
21
- - spec-panel
22
- - business-panel
23
- - index-repo
24
- argument-hint: "<command|task> [args...]"
25
- ---
26
-
27
- # tfx-auto — 통합 CLI 오케스트레이터
28
-
29
- > **MANDATORY RULES**
30
- >
31
- > 1. **실행**: CLI 에이전트는 반드시 `Bash("bash ~/.claude/scripts/tfx-route.sh ...")`. Claude 네이티브(explore/verifier/test-engineer/qa-tester)만 `Agent()`.
32
- > 2. **비용**: Codex 우선 → Gemini → Claude 최후 수단. `claude` 선택 전 "Codex로 가능한가?" 재확인.
33
- > 3. **DAG**: SEQUENTIAL/DAG이면 레벨 기반 순차 실행. `.omc/context/{sid}/` 생성, context_output 저장, 실패 시 후속 SKIP.
34
- > 4. **트리아지**: Codex `--full-auto` 분류 + Opus 인라인 분해. Agent 스폰 금지.
35
-
36
- ## 모드
37
-
38
- | 입력 형식 | 모드 | 트리아지 |
39
- |-----------|------|----------|
40
- | `/implement JWT 추가` | 커맨드 숏컷 | 없음 (즉시 실행) |
41
- | `/tfx-auto "리팩터링 + UI"` | 자동 | Codex 분류 → Opus 분해 |
42
- | `/tfx-auto 3:codex "리뷰"` | 수동 | Opus 분해만 |
43
-
44
- ## 커맨드 숏컷
45
-
46
- 커맨드명 매칭 시 트리아지 없이 즉시 실행. 패턴: `Bash("bash ~/.claude/scripts/tfx-route.sh {에이전트} '{PROMPT}' {MCP}")`.
47
-
48
- ### Codex 직행
49
-
50
- | 커맨드 | 에이전트 | MCP |
51
- |--------|---------|-----|
52
- | `implement` | executor | implement |
53
- | `build` | build-fixer | implement |
54
- | `research` | document-specialist | analyze |
55
- | `brainstorm` | analyst | analyze |
56
- | `design` | architect | analyze |
57
- | `troubleshoot` | debugger | implement |
58
- | `cleanup` | executor | implement |
59
- | `pm` | planner | analyze |
60
-
61
- ### 2단계: `improve`
62
-
63
- 1단계 `code-reviewer '{PROMPT}' review` → 사용자 승인 → 2단계 `executor '리뷰 반영: {요약}' implement`
64
-
65
- ### 병렬
66
-
67
- | 커맨드 | 에이전트들 (병렬, run_in_background=true) | MCP |
68
- |--------|------------------------------------------|-----|
69
- | `analyze` | quality-reviewer + security-reviewer | review |
70
- | `spec-panel` | architect + analyst + critic | analyze |
71
- | `business-panel` | analyst + architect | analyze |
72
-
73
- ### Gemini 직행
74
-
75
- | 커맨드 | 에이전트 | MCP |
76
- |--------|---------|-----|
77
- | `explain` | writer | docs |
78
- | `document` | writer | docs |
79
-
80
- ### Claude 네이티브
81
-
82
- | 커맨드 | 실행 |
83
- |--------|------|
84
- | `test` | `Agent(subagent_type="oh-my-claudecode:test-engineer", model="sonnet")` |
85
- | `reflect` | `Agent(subagent_type="oh-my-claudecode:verifier", model="sonnet")` |
86
-
87
- ### 복합
88
-
89
- | 커맨드 | 흐름 |
90
- |--------|------|
91
- | `estimate` | explore(haiku) → analyst(codex): 영향범위, 복잡도(S/M/L/XL), 리스크 |
92
- | `index-repo` | explore(haiku) × 2 → Write(PROJECT_INDEX.md). mode=quick/update/full |
93
-
94
- ## 트리아지
95
-
96
- **자동 모드:**
97
- 1. Codex 분류: `codex exec --full-auto --skip-git-repo-check` → JSON `{parts: [{description, agent: "codex|gemini|claude"}]}`
98
- 2. Opus 인라인 분해: `{graph_type: "INDEPENDENT|SEQUENTIAL|DAG", subtasks: [{id, description, scope, agent, mcp_profile, depends_on, context_output, context_input}]}`
99
- 3. 실패 시 Opus가 직접 분류+분해
100
-
101
- **수동 모드 (`N:agent_type`):** Codex 분류 건너뜀 → Opus가 N개 서브태스크 분해. N > 10 거부.
102
-
103
- ## 실행
104
-
105
- ### CLI 에이전트 (Codex/Gemini)
106
-
107
- ```bash
108
- # Level 0 / INDEPENDENT
109
- Bash("bash ~/.claude/scripts/tfx-route.sh {agent} '{prompt}' {mcp_profile}", run_in_background=true)
110
-
111
- # Level 1+ (컨텍스트 의존) — 4번째=timeout(빈값), 5번째=context_file
112
- Bash("bash ~/.claude/scripts/tfx-route.sh {agent} '{prompt}' {mcp_profile} '' .omc/context/{sid}/combined-{tid}.md", run_in_background=true)
113
- ```
114
-
115
- ### Claude 네이티브
116
-
117
- ```
118
- Agent(subagent_type="oh-my-claudecode:{agent}", model="{model}", prompt="{prompt}", run_in_background=true)
119
- # 컨텍스트 있으면 prompt에 <prior_context>...</prior_context> 추가
120
- ```
121
-
122
- ### 에이전트 매핑
123
-
124
- | 입력 | CLI | MCP |
125
- |------|-----|-----|
126
- | codex / executor / debugger / deep-executor | Codex | implement |
127
- | architect / planner / critic / analyst | Codex (xhigh) | analyze |
128
- | scientist / document-specialist | Codex | analyze |
129
- | code-reviewer / security-reviewer / quality-reviewer | Codex (review) | review |
130
- | gemini / designer / writer | Gemini | docs |
131
- | claude / explore / verifier / test-engineer / qa-tester | Claude native | — |
132
-
133
- ### MCP 프로필 자동 결정
134
-
135
- | 에이전트 | MCP |
136
- |----------|-----|
137
- | executor, build-fixer, debugger, deep-executor | implement |
138
- | architect, planner, critic, analyst, scientist, document-specialist | analyze |
139
- | code-reviewer, security-reviewer, quality-reviewer | review |
140
- | designer, writer | docs |
141
-
142
- ### 결과 파싱
143
-
144
- 여기서 `failed`는 `tfx-route.sh`/CLI 종료 결과를 뜻한다. Claude Code `TaskUpdate` 상태값이 아니다.
145
-
146
- | exit_code + status | 사용할 출력 |
147
- |--------------------|-----------|
148
- | 0 + success | `=== OUTPUT ===` 섹션 |
149
- | 124 + timeout | `=== PARTIAL OUTPUT ===` |
150
- | ≠0 + failed | STDERR → Claude fallback |
151
-
152
- OUTPUT 추출: `echo "$result" | sed -n '/^=== OUTPUT ===/,/^=== /{/^=== OUTPUT ===/d;/^=== /d;p}'`
153
-
154
- ### 실패 처리
155
-
156
- 1차 → `Agent(subagent_type="oh-my-claudecode:executor", model="sonnet")` fallback.
157
- 2차 연속 실패 → 실패 보고 + 성공 결과만 종합.
158
-
159
- ### 보고 형식
160
-
161
- ```markdown
162
- ## tfx-auto 완료
163
- **모드**: {auto|manual} | **그래프**: {type} | **레벨**: {N}
164
- | # | 서브태스크 | Agent | CLI | MCP | 레벨 | 상태 | 시간 |
165
- ### 워커 {n}: {제목}
166
- (출력 요약)
167
- ### Token Savings Report
168
- (node ~/.claude/scripts/token-snapshot.mjs report {session-id})
169
- ```
170
-
171
- ## 필수 조건
172
-
173
- - `~/.claude/scripts/tfx-route.sh` (필수)
174
- - codex: `npm install -g @openai/codex` | gemini: `npm install -g @google/gemini-cli`
175
-
176
- ## 에러 레퍼런스
177
-
178
- | 에러 | 처리 |
179
- |------|------|
180
- | `tfx-route.sh: not found` | tfx-route.sh 생성 |
181
- | `codex/gemini: not found` | npm install -g |
182
- | timeout / failed (`tfx-route.sh` 결과) | stderr → Claude fallback |
183
- | N > 10 | 10 이하로 조정 |
184
- | 순환 의존 | 분해 재시도 |
185
- | 컨텍스트 > 32KB | 비례 절삭 |
186
-
187
- > Claude Code `TaskUpdate`를 사용할 때는 `status: "failed"`를 쓰지 않는다.
188
- > 실패 보고는 `status: "completed"` + `metadata.result: "failed"`로 표현한다.
189
-
190
- ## Troubleshooting
191
-
192
- `/tfx-doctor` 진단 | `/tfx-doctor --fix` 자동 수정 | `/tfx-doctor --reset` 캐시 초기화
193
-
194
- ## 상세 레퍼런스
195
-
196
- DAG 알고리즘, 컨텍스트 머지 규칙, 토큰 스냅샷, 보고서 상세 → [`docs/tfx-auto-internals.md`](../../docs/tfx-auto-internals.md)
1
+ ---
2
+ name: tfx-auto
3
+ description: 통합 CLI 오케스트레이터. 커맨드 숏컷(단일) + 자동 분류/분해(병렬) + 수동 병렬. tfx-route.sh 기반.
4
+ triggers:
5
+ - tfx-auto
6
+ - implement
7
+ - build
8
+ - research
9
+ - brainstorm
10
+ - design
11
+ - test
12
+ - analyze
13
+ - troubleshoot
14
+ - improve
15
+ - cleanup
16
+ - explain
17
+ - document
18
+ - pm
19
+ - reflect
20
+ - estimate
21
+ - spec-panel
22
+ - business-panel
23
+ - index-repo
24
+ argument-hint: "<command|task> [args...]"
25
+ ---
26
+
27
+ # tfx-auto — 통합 CLI 오케스트레이터
28
+
29
+ > **MANDATORY RULES**
30
+ >
31
+ > 1. **실행**: CLI 에이전트는 반드시 `Bash("bash ~/.claude/scripts/tfx-route.sh ...")`. Claude 네이티브(explore/verifier/test-engineer/qa-tester)만 `Agent()`.
32
+ > 2. **비용**: Codex 우선 → Gemini → Claude 최후 수단. `claude` 선택 전 "Codex로 가능한가?" 재확인.
33
+ > 3. **DAG**: SEQUENTIAL/DAG이면 레벨 기반 순차 실행. `.omc/context/{sid}/` 생성, context_output 저장, 실패 시 후속 SKIP.
34
+ > 4. **트리아지**: Codex `--full-auto` 분류 + Opus 인라인 분해. Agent 스폰 금지.
35
+
36
+ ## 모드
37
+
38
+ | 입력 형식 | 모드 | 트리아지 |
39
+ |-----------|------|----------|
40
+ | `/implement JWT 추가` | 커맨드 숏컷 | 없음 (즉시 실행) |
41
+ | `/tfx-auto "리팩터링 + UI"` | 자동 | Codex 분류 → Opus 분해 |
42
+ | `/tfx-auto 3:codex "리뷰"` | 수동 | Opus 분해만 |
43
+
44
+ ## 커맨드 숏컷
45
+
46
+ 커맨드명 매칭 시 트리아지 없이 즉시 실행. 패턴: `Bash("bash ~/.claude/scripts/tfx-route.sh {에이전트} '{PROMPT}' {MCP}")`.
47
+
48
+ ### Codex 직행
49
+
50
+ | 커맨드 | 에이전트 | MCP |
51
+ |--------|---------|-----|
52
+ | `implement` | executor | implement |
53
+ | `build` | build-fixer | implement |
54
+ | `research` | document-specialist | analyze |
55
+ | `brainstorm` | analyst | analyze |
56
+ | `design` | architect | analyze |
57
+ | `troubleshoot` | debugger | implement |
58
+ | `cleanup` | executor | implement |
59
+ | `pm` | planner | analyze |
60
+
61
+ ### 2단계: `improve`
62
+
63
+ 1단계 `code-reviewer '{PROMPT}' review` → 사용자 승인 → 2단계 `executor '리뷰 반영: {요약}' implement`
64
+
65
+ ### 병렬
66
+
67
+ | 커맨드 | 에이전트들 (병렬, run_in_background=true) | MCP |
68
+ |--------|------------------------------------------|-----|
69
+ | `analyze` | quality-reviewer + security-reviewer | review |
70
+ | `spec-panel` | architect + analyst + critic | analyze |
71
+ | `business-panel` | analyst + architect | analyze |
72
+
73
+ ### Gemini 직행
74
+
75
+ | 커맨드 | 에이전트 | MCP |
76
+ |--------|---------|-----|
77
+ | `explain` | writer | docs |
78
+ | `document` | writer | docs |
79
+
80
+ ### Claude 네이티브
81
+
82
+ | 커맨드 | 실행 |
83
+ |--------|------|
84
+ | `test` | `Agent(subagent_type="oh-my-claudecode:test-engineer", model="sonnet")` |
85
+ | `reflect` | `Agent(subagent_type="oh-my-claudecode:verifier", model="sonnet")` |
86
+
87
+ ### 복합
88
+
89
+ | 커맨드 | 흐름 |
90
+ |--------|------|
91
+ | `estimate` | explore(haiku) → analyst(codex): 영향범위, 복잡도(S/M/L/XL), 리스크 |
92
+ | `index-repo` | explore(haiku) × 2 → Write(PROJECT_INDEX.md). mode=quick/update/full |
93
+
94
+ ## 트리아지
95
+
96
+ **자동 모드:**
97
+ 1. Codex 분류: `codex exec --full-auto --skip-git-repo-check` → JSON `{parts: [{description, agent: "codex|gemini|claude"}]}`
98
+ 2. Opus 인라인 분해: `{graph_type: "INDEPENDENT|SEQUENTIAL|DAG", subtasks: [{id, description, scope, agent, mcp_profile, depends_on, context_output, context_input}]}`
99
+ 3. 실패 시 Opus가 직접 분류+분해
100
+
101
+ **수동 모드 (`N:agent_type`):** Codex 분류 건너뜀 → Opus가 N개 서브태스크 분해. N > 10 거부.
102
+
103
+ ## 실행
104
+
105
+ ### CLI 에이전트 (Codex/Gemini)
106
+
107
+ ```bash
108
+ # Level 0 / INDEPENDENT
109
+ Bash("bash ~/.claude/scripts/tfx-route.sh {agent} '{prompt}' {mcp_profile}", run_in_background=true)
110
+
111
+ # Level 1+ (컨텍스트 의존) — 4번째=timeout(빈값), 5번째=context_file
112
+ Bash("bash ~/.claude/scripts/tfx-route.sh {agent} '{prompt}' {mcp_profile} '' .omc/context/{sid}/combined-{tid}.md", run_in_background=true)
113
+ ```
114
+
115
+ ### Claude 네이티브
116
+
117
+ ```
118
+ Agent(subagent_type="oh-my-claudecode:{agent}", model="{model}", prompt="{prompt}", run_in_background=true)
119
+ # 컨텍스트 있으면 prompt에 <prior_context>...</prior_context> 추가
120
+ ```
121
+
122
+ ### 에이전트 매핑
123
+
124
+ | 입력 | CLI | MCP |
125
+ |------|-----|-----|
126
+ | codex / executor / debugger / deep-executor | Codex | implement |
127
+ | architect / planner / critic / analyst | Codex (xhigh) | analyze |
128
+ | scientist / document-specialist | Codex | analyze |
129
+ | code-reviewer / security-reviewer / quality-reviewer | Codex (review) | review |
130
+ | gemini / designer / writer | Gemini | docs |
131
+ | claude / explore / verifier / test-engineer / qa-tester | Claude native | — |
132
+
133
+ ### MCP 프로필 자동 결정
134
+
135
+ | 에이전트 | MCP |
136
+ |----------|-----|
137
+ | executor, build-fixer, debugger, deep-executor | implement |
138
+ | architect, planner, critic, analyst, scientist, document-specialist | analyze |
139
+ | code-reviewer, security-reviewer, quality-reviewer | review |
140
+ | designer, writer | docs |
141
+
142
+ ### 결과 파싱
143
+
144
+ 여기서 `failed`는 `tfx-route.sh`/CLI 종료 결과를 뜻한다. Claude Code `TaskUpdate` 상태값이 아니다.
145
+
146
+ | exit_code + status | 사용할 출력 |
147
+ |--------------------|-----------|
148
+ | 0 + success | `=== OUTPUT ===` 섹션 |
149
+ | 124 + timeout | `=== PARTIAL OUTPUT ===` |
150
+ | ≠0 + failed | STDERR → Claude fallback |
151
+
152
+ OUTPUT 추출: `echo "$result" | sed -n '/^=== OUTPUT ===/,/^=== /{/^=== OUTPUT ===/d;/^=== /d;p}'`
153
+
154
+ ### 실패 처리
155
+
156
+ 1차 → `Agent(subagent_type="oh-my-claudecode:executor", model="sonnet")` fallback.
157
+ 2차 연속 실패 → 실패 보고 + 성공 결과만 종합.
158
+
159
+ ### 보고 형식
160
+
161
+ ```markdown
162
+ ## tfx-auto 완료
163
+ **모드**: {auto|manual} | **그래프**: {type} | **레벨**: {N}
164
+ | # | 서브태스크 | Agent | CLI | MCP | 레벨 | 상태 | 시간 |
165
+ ### 워커 {n}: {제목}
166
+ (출력 요약)
167
+ ### Token Savings Report
168
+ (node ~/.claude/scripts/token-snapshot.mjs report {session-id})
169
+ ```
170
+
171
+ ## 필수 조건
172
+
173
+ - `~/.claude/scripts/tfx-route.sh` (필수)
174
+ - codex: `npm install -g @openai/codex` | gemini: `npm install -g @google/gemini-cli`
175
+
176
+ ## 에러 레퍼런스
177
+
178
+ | 에러 | 처리 |
179
+ |------|------|
180
+ | `tfx-route.sh: not found` | tfx-route.sh 생성 |
181
+ | `codex/gemini: not found` | npm install -g |
182
+ | timeout / failed (`tfx-route.sh` 결과) | stderr → Claude fallback |
183
+ | N > 10 | 10 이하로 조정 |
184
+ | 순환 의존 | 분해 재시도 |
185
+ | 컨텍스트 > 32KB | 비례 절삭 |
186
+
187
+ > Claude Code `TaskUpdate`를 사용할 때는 `status: "failed"`를 쓰지 않는다.
188
+ > 실패 보고는 `status: "completed"` + `metadata.result: "failed"`로 표현한다.
189
+
190
+ ## Troubleshooting
191
+
192
+ `/tfx-doctor` 진단 | `/tfx-doctor --fix` 자동 수정 | `/tfx-doctor --reset` 캐시 초기화
193
+
194
+ ## 상세 레퍼런스
195
+
196
+ DAG 알고리즘, 컨텍스트 머지 규칙, 토큰 스냅샷, 보고서 상세 → [`docs/tfx-auto-internals.md`](../../docs/tfx-auto-internals.md)
@@ -1,77 +1,77 @@
1
- ---
2
- name: tfx-auto-codex
3
- description: Codex 리드형 tfx-auto. Claude 네이티브 역할을 Codex로 치환하고 Gemini 사용은 유지합니다.
4
- triggers:
5
- - tfx-auto-codex
6
- argument-hint: "\"작업 설명\" | N:agent_type \"작업 설명\""
7
- ---
8
-
9
- # tfx-auto-codex — Codex 리드형 tfx-auto
10
-
11
- > 목적: 기존 `tfx-auto`의 오케스트레이션 패턴을 유지하면서
12
- > Claude 네이티브 역할(`explore`, `verifier`, `test-engineer`, `qa-tester`)을
13
- > Codex로 치환해 Codex/Gemini만으로 실행한다.
14
-
15
- ## 핵심 원칙
16
-
17
- 1. **Codex 라우팅 유지**
18
- - 구현/분석/리뷰/디버깅/검증은 Codex 우선.
19
- 2. **Gemini 유지**
20
- - `designer`, `writer`는 Gemini 경로를 그대로 사용.
21
- 3. **Claude 네이티브 제거**
22
- - 실행 시 `TFX_NO_CLAUDE_NATIVE=1`로 강제.
23
- 4. **고난도 설계는 xhigh**
24
- - 설계/분해/비판 검토 성격의 작업은 `codex --profile xhigh` 기준으로 운용.
25
-
26
- ## 사용법
27
-
28
- ```bash
29
- /tfx-auto-codex "인증 리팩터링 + UI 개선 + 테스트 보강"
30
- /tfx-auto-codex 3:codex "src/api, src/auth, src/payment 병렬 리뷰"
31
- /tfx-auto-codex 2:gemini "온보딩 UI 카피 + 접근성 개선"
32
- ```
33
-
34
- ## 실행 규칙
35
-
36
- `tfx-auto` 워크플로우(입력 파싱 → 트리아지 → 분해 → DAG 실행 → 수집/보고)를 그대로 사용한다.
37
-
38
- 단, **실행 명령은 아래 환경변수를 반드시 포함**한다:
39
-
40
- ```bash
41
- TFX_NO_CLAUDE_NATIVE=1 bash ~/.claude/scripts/tfx-route.sh {agent} '{prompt}' {mcp_profile}
42
- ```
43
-
44
- ### 역할 치환 (자동)
45
-
46
- `TFX_NO_CLAUDE_NATIVE=1`일 때:
47
-
48
- - `explore` -> Codex `fast`
49
- - `verifier` -> Codex `thorough review`
50
- - `test-engineer` -> Codex `high`
51
- - `qa-tester` -> Codex `thorough review`
52
-
53
- ## 트리아지 기준
54
-
55
- - `codex`: 코드 구현/수정/분석/리뷰/디버깅/테스트/검증/리서치
56
- - `gemini`: 문서/UI/디자인/멀티모달
57
-
58
- Claude 타입 반환은 기본적으로 허용하지 않는다.
59
- 분류 결과에 `claude`가 포함되면 `codex`로 치환 후 분해를 진행한다.
60
- 단, Codex CLI 미설치 환경에서는 실행 안전성을 위해 `claude-native` fallback이 유지될 수 있다.
61
-
62
- ## 권장 프로필
63
-
64
- - 설계/계획/비판적 검토: `xhigh`
65
- - 일반 구현/수정: `high`
66
- - 리뷰: `thorough`
67
- - 빠른 탐색: `fast`
68
-
69
- ## 의존성
70
-
71
- - `~/.claude/scripts/tfx-route.sh` 최신 동기화 상태
72
- - Codex CLI 설치
73
- - Gemini CLI 설치 (UI/문서 경로 사용 시)
74
-
75
- ## Troubleshooting
76
-
77
- 문제 발생 시 `/tfx-doctor` 실행. (`--fix` 자동 수정, `--reset` 캐시 초기화)
1
+ ---
2
+ name: tfx-auto-codex
3
+ description: Codex 리드형 tfx-auto. Claude 네이티브 역할을 Codex로 치환하고 Gemini 사용은 유지합니다.
4
+ triggers:
5
+ - tfx-auto-codex
6
+ argument-hint: "\"작업 설명\" | N:agent_type \"작업 설명\""
7
+ ---
8
+
9
+ # tfx-auto-codex — Codex 리드형 tfx-auto
10
+
11
+ > 목적: 기존 `tfx-auto`의 오케스트레이션 패턴을 유지하면서
12
+ > Claude 네이티브 역할(`explore`, `verifier`, `test-engineer`, `qa-tester`)을
13
+ > Codex로 치환해 Codex/Gemini만으로 실행한다.
14
+
15
+ ## 핵심 원칙
16
+
17
+ 1. **Codex 라우팅 유지**
18
+ - 구현/분석/리뷰/디버깅/검증은 Codex 우선.
19
+ 2. **Gemini 유지**
20
+ - `designer`, `writer`는 Gemini 경로를 그대로 사용.
21
+ 3. **Claude 네이티브 제거**
22
+ - 실행 시 `TFX_NO_CLAUDE_NATIVE=1`로 강제.
23
+ 4. **고난도 설계는 xhigh**
24
+ - 설계/분해/비판 검토 성격의 작업은 `codex --profile xhigh` 기준으로 운용.
25
+
26
+ ## 사용법
27
+
28
+ ```bash
29
+ /tfx-auto-codex "인증 리팩터링 + UI 개선 + 테스트 보강"
30
+ /tfx-auto-codex 3:codex "src/api, src/auth, src/payment 병렬 리뷰"
31
+ /tfx-auto-codex 2:gemini "온보딩 UI 카피 + 접근성 개선"
32
+ ```
33
+
34
+ ## 실행 규칙
35
+
36
+ `tfx-auto` 워크플로우(입력 파싱 → 트리아지 → 분해 → DAG 실행 → 수집/보고)를 그대로 사용한다.
37
+
38
+ 단, **실행 명령은 아래 환경변수를 반드시 포함**한다:
39
+
40
+ ```bash
41
+ TFX_NO_CLAUDE_NATIVE=1 bash ~/.claude/scripts/tfx-route.sh {agent} '{prompt}' {mcp_profile}
42
+ ```
43
+
44
+ ### 역할 치환 (자동)
45
+
46
+ `TFX_NO_CLAUDE_NATIVE=1`일 때:
47
+
48
+ - `explore` -> Codex `fast`
49
+ - `verifier` -> Codex `thorough review`
50
+ - `test-engineer` -> Codex `high`
51
+ - `qa-tester` -> Codex `thorough review`
52
+
53
+ ## 트리아지 기준
54
+
55
+ - `codex`: 코드 구현/수정/분석/리뷰/디버깅/테스트/검증/리서치
56
+ - `gemini`: 문서/UI/디자인/멀티모달
57
+
58
+ Claude 타입 반환은 기본적으로 허용하지 않는다.
59
+ 분류 결과에 `claude`가 포함되면 `codex`로 치환 후 분해를 진행한다.
60
+ 단, Codex CLI 미설치 환경에서는 실행 안전성을 위해 `claude-native` fallback이 유지될 수 있다.
61
+
62
+ ## 권장 프로필
63
+
64
+ - 설계/계획/비판적 검토: `xhigh`
65
+ - 일반 구현/수정: `high`
66
+ - 리뷰: `thorough`
67
+ - 빠른 탐색: `fast`
68
+
69
+ ## 의존성
70
+
71
+ - `~/.claude/scripts/tfx-route.sh` 최신 동기화 상태
72
+ - Codex CLI 설치
73
+ - Gemini CLI 설치 (UI/문서 경로 사용 시)
74
+
75
+ ## Troubleshooting
76
+
77
+ 문제 발생 시 `/tfx-doctor` 실행. (`--fix` 자동 수정, `--reset` 캐시 초기화)