triflux 4.2.6 → 4.2.7
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/package.json +2 -1
- package/skills/tfx-workspace/evals/evals.json +0 -79
- package/skills/tfx-workspace/iteration-1/benchmark.json +0 -162
- package/skills/tfx-workspace/iteration-1/codex-gemini-remap/eval_metadata.json +0 -11
- package/skills/tfx-workspace/iteration-1/codex-gemini-remap/old_skill/grading.json +0 -9
- package/skills/tfx-workspace/iteration-1/codex-gemini-remap/old_skill/outputs/analysis.md +0 -154
- package/skills/tfx-workspace/iteration-1/codex-gemini-remap/old_skill/timing.json +0 -5
- package/skills/tfx-workspace/iteration-1/codex-gemini-remap/with_skill/grading.json +0 -9
- package/skills/tfx-workspace/iteration-1/codex-gemini-remap/with_skill/outputs/analysis.md +0 -126
- package/skills/tfx-workspace/iteration-1/codex-gemini-remap/with_skill/timing.json +0 -5
- package/skills/tfx-workspace/iteration-1/doctor-diagnosis/eval_metadata.json +0 -11
- package/skills/tfx-workspace/iteration-1/doctor-diagnosis/old_skill/grading.json +0 -9
- package/skills/tfx-workspace/iteration-1/doctor-diagnosis/old_skill/outputs/analysis.md +0 -119
- package/skills/tfx-workspace/iteration-1/doctor-diagnosis/old_skill/timing.json +0 -5
- package/skills/tfx-workspace/iteration-1/doctor-diagnosis/with_skill/grading.json +0 -9
- package/skills/tfx-workspace/iteration-1/doctor-diagnosis/with_skill/outputs/analysis.md +0 -115
- package/skills/tfx-workspace/iteration-1/doctor-diagnosis/with_skill/timing.json +0 -5
- package/skills/tfx-workspace/iteration-1/hub-start-sequence/eval_metadata.json +0 -10
- package/skills/tfx-workspace/iteration-1/hub-start-sequence/old_skill/grading.json +0 -8
- package/skills/tfx-workspace/iteration-1/hub-start-sequence/old_skill/outputs/analysis.md +0 -86
- package/skills/tfx-workspace/iteration-1/hub-start-sequence/old_skill/timing.json +0 -5
- package/skills/tfx-workspace/iteration-1/hub-start-sequence/with_skill/grading.json +0 -8
- package/skills/tfx-workspace/iteration-1/hub-start-sequence/with_skill/outputs/analysis.md +0 -81
- package/skills/tfx-workspace/iteration-1/hub-start-sequence/with_skill/timing.json +0 -5
- package/skills/tfx-workspace/iteration-1/multi-team-creation/eval_metadata.json +0 -12
- package/skills/tfx-workspace/iteration-1/multi-team-creation/old_skill/grading.json +0 -10
- package/skills/tfx-workspace/iteration-1/multi-team-creation/old_skill/outputs/analysis.md +0 -316
- package/skills/tfx-workspace/iteration-1/multi-team-creation/old_skill/timing.json +0 -5
- package/skills/tfx-workspace/iteration-1/multi-team-creation/with_skill/grading.json +0 -10
- package/skills/tfx-workspace/iteration-1/multi-team-creation/with_skill/outputs/analysis.md +0 -352
- package/skills/tfx-workspace/iteration-1/multi-team-creation/with_skill/timing.json +0 -5
- package/skills/tfx-workspace/iteration-1/review.html +0 -1325
- package/skills/tfx-workspace/iteration-1/routing-implement-shortcut/eval_metadata.json +0 -12
- package/skills/tfx-workspace/iteration-1/routing-implement-shortcut/old_skill/grading.json +0 -10
- package/skills/tfx-workspace/iteration-1/routing-implement-shortcut/old_skill/outputs/analysis.md +0 -97
- package/skills/tfx-workspace/iteration-1/routing-implement-shortcut/old_skill/timing.json +0 -5
- package/skills/tfx-workspace/iteration-1/routing-implement-shortcut/with_skill/grading.json +0 -10
- package/skills/tfx-workspace/iteration-1/routing-implement-shortcut/with_skill/outputs/analysis.md +0 -94
- package/skills/tfx-workspace/iteration-1/routing-implement-shortcut/with_skill/timing.json +0 -5
- package/skills/tfx-workspace/iteration-1/routing-multi-task-triage/eval_metadata.json +0 -12
- package/skills/tfx-workspace/iteration-1/routing-multi-task-triage/old_skill/grading.json +0 -10
- package/skills/tfx-workspace/iteration-1/routing-multi-task-triage/old_skill/outputs/analysis.md +0 -209
- package/skills/tfx-workspace/iteration-1/routing-multi-task-triage/old_skill/timing.json +0 -5
- package/skills/tfx-workspace/iteration-1/routing-multi-task-triage/with_skill/grading.json +0 -10
- package/skills/tfx-workspace/iteration-1/routing-multi-task-triage/with_skill/outputs/analysis.md +0 -193
- package/skills/tfx-workspace/iteration-1/routing-multi-task-triage/with_skill/timing.json +0 -5
- package/skills/tfx-workspace/iteration-2/benchmark.json +0 -62
- package/skills/tfx-workspace/iteration-2/multi-team-creation-refactored/eval_metadata.json +0 -13
- package/skills/tfx-workspace/iteration-2/multi-team-creation-refactored/old_skill/grading.json +0 -11
- package/skills/tfx-workspace/iteration-2/multi-team-creation-refactored/old_skill/outputs/analysis.md +0 -382
- package/skills/tfx-workspace/iteration-2/multi-team-creation-refactored/old_skill/timing.json +0 -5
- package/skills/tfx-workspace/iteration-2/multi-team-creation-refactored/with_skill/grading.json +0 -11
- package/skills/tfx-workspace/iteration-2/multi-team-creation-refactored/with_skill/outputs/analysis.md +0 -333
- package/skills/tfx-workspace/iteration-2/multi-team-creation-refactored/with_skill/timing.json +0 -5
- package/skills/tfx-workspace/iteration-2/review.html +0 -1325
- package/skills/tfx-workspace/skill-snapshot/tfx-auto/SKILL.md +0 -217
- package/skills/tfx-workspace/skill-snapshot/tfx-auto-codex/SKILL.md +0 -77
- package/skills/tfx-workspace/skill-snapshot/tfx-codex/SKILL.md +0 -65
- package/skills/tfx-workspace/skill-snapshot/tfx-doctor/SKILL.md +0 -94
- package/skills/tfx-workspace/skill-snapshot/tfx-gemini/SKILL.md +0 -82
- package/skills/tfx-workspace/skill-snapshot/tfx-hub/SKILL.md +0 -133
- package/skills/tfx-workspace/skill-snapshot/tfx-multi/SKILL.md +0 -426
- package/skills/tfx-workspace/skill-snapshot/tfx-setup/SKILL.md +0 -101
|
@@ -1,217 +0,0 @@
|
|
|
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
|
-
> **트리아지 결과 서브태스크가 2개 이상이면 tfx-multi Native Teams 모드로 자동 전환한다.**
|
|
106
|
-
|
|
107
|
-
| 서브태스크 수 | 실행 경로 | 이유 |
|
|
108
|
-
|--------------|----------|------|
|
|
109
|
-
| 1개 | tfx-auto 직접 실행 (아래 "실행" 섹션) | 팀 오버헤드 불필요, 경량 fire-and-forget |
|
|
110
|
-
| 2개+ | **tfx-multi Phase 3** (TeamCreate → TaskCreate → Agent 래퍼) | Shift+Down 네비게이션, 상태 추적, fallback |
|
|
111
|
-
|
|
112
|
-
**전환 방법:** 트리아지 완료 후 서브태스크 배열을 그대로 tfx-multi Phase 3에 전달한다.
|
|
113
|
-
tfx-multi의 Phase 2(트리아지)는 건너뛰고 Phase 3a(TeamCreate)부터 시작한다.
|
|
114
|
-
|
|
115
|
-
```
|
|
116
|
-
if subtasks.length >= 2:
|
|
117
|
-
→ tfx-multi Phase 3 실행 (트리아지 결과 재사용)
|
|
118
|
-
→ TeamCreate → TaskCreate × N → Agent 래퍼 spawn (Phase 3a~3c)
|
|
119
|
-
→ Phase 4 결과 수집 → Phase 5 정리
|
|
120
|
-
else:
|
|
121
|
-
→ tfx-auto 직접 실행 (아래)
|
|
122
|
-
```
|
|
123
|
-
|
|
124
|
-
## 실행
|
|
125
|
-
|
|
126
|
-
### CLI 에이전트 (Codex/Gemini)
|
|
127
|
-
|
|
128
|
-
```bash
|
|
129
|
-
# Level 0 / INDEPENDENT
|
|
130
|
-
Bash("bash ~/.claude/scripts/tfx-route.sh {agent} '{prompt}' {mcp_profile}", run_in_background=true)
|
|
131
|
-
|
|
132
|
-
# Level 1+ (컨텍스트 의존) — 4번째=timeout(빈값), 5번째=context_file
|
|
133
|
-
Bash("bash ~/.claude/scripts/tfx-route.sh {agent} '{prompt}' {mcp_profile} '' .omc/context/{sid}/combined-{tid}.md", run_in_background=true)
|
|
134
|
-
```
|
|
135
|
-
|
|
136
|
-
### Claude 네이티브
|
|
137
|
-
|
|
138
|
-
```
|
|
139
|
-
Agent(subagent_type="oh-my-claudecode:{agent}", model="{model}", prompt="{prompt}", run_in_background=true)
|
|
140
|
-
# 컨텍스트 있으면 prompt에 <prior_context>...</prior_context> 추가
|
|
141
|
-
```
|
|
142
|
-
|
|
143
|
-
### 에이전트 매핑
|
|
144
|
-
|
|
145
|
-
| 입력 | CLI | MCP |
|
|
146
|
-
|------|-----|-----|
|
|
147
|
-
| codex / executor / debugger / deep-executor | Codex | implement |
|
|
148
|
-
| architect / planner / critic / analyst | Codex (xhigh) | analyze |
|
|
149
|
-
| scientist / document-specialist | Codex | analyze |
|
|
150
|
-
| code-reviewer / security-reviewer / quality-reviewer | Codex (review) | review |
|
|
151
|
-
| gemini / designer / writer | Gemini | docs |
|
|
152
|
-
| claude / explore / verifier / test-engineer / qa-tester | Claude native | — |
|
|
153
|
-
|
|
154
|
-
### MCP 프로필 자동 결정
|
|
155
|
-
|
|
156
|
-
| 에이전트 | MCP |
|
|
157
|
-
|----------|-----|
|
|
158
|
-
| executor, build-fixer, debugger, deep-executor | implement |
|
|
159
|
-
| architect, planner, critic, analyst, scientist, document-specialist | analyze |
|
|
160
|
-
| code-reviewer, security-reviewer, quality-reviewer | review |
|
|
161
|
-
| designer, writer | docs |
|
|
162
|
-
|
|
163
|
-
### 결과 파싱
|
|
164
|
-
|
|
165
|
-
여기서 `failed`는 `tfx-route.sh`/CLI 종료 결과를 뜻한다. Claude Code `TaskUpdate` 상태값이 아니다.
|
|
166
|
-
|
|
167
|
-
| exit_code + status | 사용할 출력 |
|
|
168
|
-
|--------------------|-----------|
|
|
169
|
-
| 0 + success | `=== OUTPUT ===` 섹션 |
|
|
170
|
-
| 124 + timeout | `=== PARTIAL OUTPUT ===` |
|
|
171
|
-
| ≠0 + failed | STDERR → Claude fallback |
|
|
172
|
-
|
|
173
|
-
OUTPUT 추출: `echo "$result" | sed -n '/^=== OUTPUT ===/,/^=== /{/^=== OUTPUT ===/d;/^=== /d;p}'`
|
|
174
|
-
|
|
175
|
-
### 실패 처리
|
|
176
|
-
|
|
177
|
-
1차 → `Agent(subagent_type="oh-my-claudecode:executor", model="sonnet")` fallback.
|
|
178
|
-
2차 연속 실패 → 실패 보고 + 성공 결과만 종합.
|
|
179
|
-
|
|
180
|
-
### 보고 형식
|
|
181
|
-
|
|
182
|
-
```markdown
|
|
183
|
-
## tfx-auto 완료
|
|
184
|
-
**모드**: {auto|manual} | **그래프**: {type} | **레벨**: {N}
|
|
185
|
-
| # | 서브태스크 | Agent | CLI | MCP | 레벨 | 상태 | 시간 |
|
|
186
|
-
### 워커 {n}: {제목}
|
|
187
|
-
(출력 요약)
|
|
188
|
-
### Token Savings Report
|
|
189
|
-
(node ~/.claude/scripts/token-snapshot.mjs report {session-id})
|
|
190
|
-
```
|
|
191
|
-
|
|
192
|
-
## 필수 조건
|
|
193
|
-
|
|
194
|
-
- `~/.claude/scripts/tfx-route.sh` (필수)
|
|
195
|
-
- codex: `npm install -g @openai/codex` | gemini: `npm install -g @google/gemini-cli`
|
|
196
|
-
|
|
197
|
-
## 에러 레퍼런스
|
|
198
|
-
|
|
199
|
-
| 에러 | 처리 |
|
|
200
|
-
|------|------|
|
|
201
|
-
| `tfx-route.sh: not found` | tfx-route.sh 생성 |
|
|
202
|
-
| `codex/gemini: not found` | npm install -g |
|
|
203
|
-
| timeout / failed (`tfx-route.sh` 결과) | stderr → Claude fallback |
|
|
204
|
-
| N > 10 | 10 이하로 조정 |
|
|
205
|
-
| 순환 의존 | 분해 재시도 |
|
|
206
|
-
| 컨텍스트 > 32KB | 비례 절삭 |
|
|
207
|
-
|
|
208
|
-
> Claude Code `TaskUpdate`를 사용할 때는 `status: "failed"`를 쓰지 않는다.
|
|
209
|
-
> 실패 보고는 `status: "completed"` + `metadata.result: "failed"`로 표현한다.
|
|
210
|
-
|
|
211
|
-
## Troubleshooting
|
|
212
|
-
|
|
213
|
-
`/tfx-doctor` 진단 | `/tfx-doctor --fix` 자동 수정 | `/tfx-doctor --reset` 캐시 초기화
|
|
214
|
-
|
|
215
|
-
## 상세 레퍼런스
|
|
216
|
-
|
|
217
|
-
DAG 알고리즘, 컨텍스트 머지 규칙, 토큰 스냅샷, 보고서 상세 → [`docs/tfx-auto-internals.md`](../../docs/tfx-auto-internals.md)
|
|
@@ -1,77 +0,0 @@
|
|
|
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,65 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: tfx-codex
|
|
3
|
-
description: Codex-Only 오케스트레이터. tfx-auto 워크플로우를 Codex 전용으로 고정합니다.
|
|
4
|
-
triggers:
|
|
5
|
-
- tfx-codex
|
|
6
|
-
argument-hint: "\"작업 설명\" | N:codex \"작업 설명\""
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
# tfx-codex — Codex-Only 오케스트레이터
|
|
10
|
-
|
|
11
|
-
> Codex CLI만 사용하여 모든 외부 CLI 작업을 라우팅합니다.
|
|
12
|
-
> Gemini CLI가 없는 환경에서 사용합니다.
|
|
13
|
-
|
|
14
|
-
## 사용법
|
|
15
|
-
|
|
16
|
-
```
|
|
17
|
-
/tfx-codex "작업 설명"
|
|
18
|
-
/tfx-codex N:codex "작업 설명"
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
## 동작 원리
|
|
22
|
-
|
|
23
|
-
`tfx-auto`와 동일한 워크플로우를 사용하되, `TFX_CLI_MODE=codex` 환경변수를 설정하여
|
|
24
|
-
모든 Gemini 에이전트(designer, writer)를 Codex로 리매핑합니다.
|
|
25
|
-
|
|
26
|
-
### 에이전트 라우팅
|
|
27
|
-
|
|
28
|
-
| 에이전트 | 원래 CLI | tfx-codex에서 |
|
|
29
|
-
|----------|---------|-------------|
|
|
30
|
-
| executor, build-fixer, debugger | Codex | Codex (변경 없음) |
|
|
31
|
-
| architect, planner, critic, analyst | Codex | Codex (변경 없음) |
|
|
32
|
-
| code-reviewer, security-reviewer | Codex | Codex (변경 없음) |
|
|
33
|
-
| scientist, document-specialist | Codex | Codex (변경 없음) |
|
|
34
|
-
| **designer** | ~~Gemini~~ | **Codex** (effort: high) — UI 코드 생성 |
|
|
35
|
-
| **writer** | ~~Gemini~~ | **Codex Spark** (effort: spark_fast) — 경량 문서 |
|
|
36
|
-
| explore | Claude Haiku | Claude Haiku (변경 없음) |
|
|
37
|
-
| verifier, test-engineer | Claude Sonnet | Claude Sonnet (변경 없음) |
|
|
38
|
-
|
|
39
|
-
## 실행 규칙
|
|
40
|
-
|
|
41
|
-
**tfx-auto SKILL.md의 모든 Phase(1~6) 워크플로우를 그대로 따릅니다.**
|
|
42
|
-
|
|
43
|
-
유일한 차이점:
|
|
44
|
-
|
|
45
|
-
1. **Phase 3 CLI 실행 시** `TFX_CLI_MODE=codex`를 환경변수로 전달:
|
|
46
|
-
```bash
|
|
47
|
-
TFX_CLI_MODE=codex bash ~/.claude/scripts/tfx-route.sh {agent} '{prompt}' {mcp_profile}
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
2. **Phase 2 트리아지에서** gemini 분류 결과를 codex로 강제 변환:
|
|
51
|
-
- Codex 분류가 `gemini`를 반환하면 → `codex`로 교체
|
|
52
|
-
- Opus 분해에서 designer/writer → Codex 에이전트 + implement/analyze MCP 프로필
|
|
53
|
-
|
|
54
|
-
3. **MCP 프로필 조정**:
|
|
55
|
-
- designer: `implement` (코드 기반 UI 작업)
|
|
56
|
-
- writer: `analyze` (문서 기반 리서치+작성)
|
|
57
|
-
|
|
58
|
-
## 필수 조건
|
|
59
|
-
|
|
60
|
-
- [Codex CLI](https://github.com/openai/codex): `npm install -g @openai/codex`
|
|
61
|
-
- Gemini CLI 불필요
|
|
62
|
-
|
|
63
|
-
## Troubleshooting
|
|
64
|
-
|
|
65
|
-
문제 발생 시 `/tfx-doctor` 실행. (`--fix` 자동 수정, `--reset` 캐시 초기화)
|
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: tfx-doctor
|
|
3
|
-
description: >
|
|
4
|
-
triflux 진단 및 수리 도구. CLI 미발견, HUD 미표시, 캐시 오류,
|
|
5
|
-
스킬 미설치 등 문제를 진단하고 자동 수정합니다.
|
|
6
|
-
Use when: not working, broken, error, 안 돼, 이상해, 에러, 캐시, reset
|
|
7
|
-
triggers:
|
|
8
|
-
- tfx-doctor
|
|
9
|
-
argument-hint: "[--fix|--reset]"
|
|
10
|
-
---
|
|
11
|
-
|
|
12
|
-
# tfx-doctor — triflux 진단 및 수리
|
|
13
|
-
|
|
14
|
-
> 뭔가 안 될 때, HUD가 이상할 때, CLI가 안 보일 때 실행하세요.
|
|
15
|
-
|
|
16
|
-
## 사용법
|
|
17
|
-
|
|
18
|
-
```
|
|
19
|
-
/tfx-doctor ← 진단만 (읽기 전용)
|
|
20
|
-
/tfx-doctor --fix ← 진단 + 자동 수정
|
|
21
|
-
/tfx-doctor --reset ← 캐시 전체 초기화
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
## 동작
|
|
25
|
-
|
|
26
|
-
### 기본 모드 (`/tfx-doctor`)
|
|
27
|
-
|
|
28
|
-
`triflux doctor`를 실행하여 다음을 진단합니다:
|
|
29
|
-
|
|
30
|
-
- tfx-route.sh 설치 상태
|
|
31
|
-
- HUD 설치 및 설정 상태
|
|
32
|
-
- Codex/Gemini/Claude CLI 경로 (크로스 셸)
|
|
33
|
-
- 스킬 설치 상태
|
|
34
|
-
- 플러그인 등록 상태
|
|
35
|
-
- MCP 인벤토리 캐시
|
|
36
|
-
- CLI 이슈 트래커
|
|
37
|
-
- 잔존 팀(orphan teams) 감지 (`~/.claude/teams/`)
|
|
38
|
-
|
|
39
|
-
### 수정 모드 (`/tfx-doctor --fix`)
|
|
40
|
-
|
|
41
|
-
진단 전에 자동 수정을 시도합니다:
|
|
42
|
-
|
|
43
|
-
1. tfx-route.sh, HUD, 스킬 파일 재동기화
|
|
44
|
-
2. 에러/손상된 캐시 파일 정리
|
|
45
|
-
3. 수정 완료 후 전체 진단 실행 → 결과 보고
|
|
46
|
-
|
|
47
|
-
### 초기화 모드 (`/tfx-doctor --reset`)
|
|
48
|
-
|
|
49
|
-
HUD 캐시 및 모든 triflux 관련 캐시를 전체 삭제합니다:
|
|
50
|
-
|
|
51
|
-
| 삭제 대상 | 설명 |
|
|
52
|
-
|-----------|------|
|
|
53
|
-
| claude-usage-cache.json | Claude 사용량 캐시 |
|
|
54
|
-
| codex-rate-limits-cache.json | Codex 레이트 리밋 캐시 |
|
|
55
|
-
| gemini-quota/session/rpm cache | Gemini 할당량/세션/RPM 캐시 |
|
|
56
|
-
| sv-accumulator.json | 절약량 누적 캐시 |
|
|
57
|
-
| mcp-inventory.json | MCP 서버 인벤토리 |
|
|
58
|
-
| cli-issues.jsonl | CLI 이슈 로그 |
|
|
59
|
-
| triflux-update-check.json | 업데이트 확인 캐시 |
|
|
60
|
-
| .claude-refresh-lock | 리프레시 락 파일 |
|
|
61
|
-
|
|
62
|
-
초기화 후 다음 세션에서 캐시가 새로 생성됩니다.
|
|
63
|
-
|
|
64
|
-
## 실행 방법
|
|
65
|
-
|
|
66
|
-
```bash
|
|
67
|
-
# 진단만
|
|
68
|
-
Bash("triflux doctor")
|
|
69
|
-
|
|
70
|
-
# 진단 + 자동 수정
|
|
71
|
-
Bash("triflux doctor --fix")
|
|
72
|
-
|
|
73
|
-
# 캐시 전체 초기화
|
|
74
|
-
Bash("triflux doctor --reset")
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
결과를 사용자에게 보고합니다.
|
|
78
|
-
|
|
79
|
-
## 자동 제안 트리거
|
|
80
|
-
|
|
81
|
-
사용자가 다음과 같이 말하면 이 스킬 실행을 고려하세요:
|
|
82
|
-
|
|
83
|
-
- "HUD가 안 보여" / "HUD 이상해" / "상태줄이 안 나와"
|
|
84
|
-
- "codex/gemini가 안 돼" / "CLI 안 됨"
|
|
85
|
-
- "캐시 초기화" / "리셋" / "reset"
|
|
86
|
-
- "triflux 안 돼" / "뭔가 안 돼" / "에러"
|
|
87
|
-
|
|
88
|
-
## 에러 처리
|
|
89
|
-
|
|
90
|
-
| 상황 | 처리 |
|
|
91
|
-
|------|------|
|
|
92
|
-
| 캐시 디렉토리 없음 | 정상 — 삭제할 파일 없음 보고 |
|
|
93
|
-
| 파일 삭제 권한 없음 | 수동 삭제 안내 |
|
|
94
|
-
| --fix 후에도 이슈 남음 | Codex/Gemini 설치는 수동 필요 안내 |
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: tfx-gemini
|
|
3
|
-
description: Gemini-Only 오케스트레이터. tfx-auto 워크플로우를 Gemini 전용으로 고정합니다.
|
|
4
|
-
triggers:
|
|
5
|
-
- tfx-gemini
|
|
6
|
-
argument-hint: "\"작업 설명\" | N:gemini \"작업 설명\""
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
# tfx-gemini — Gemini-Only 오케스트레이터
|
|
10
|
-
|
|
11
|
-
> Gemini CLI만 사용하여 모든 외부 CLI 작업을 라우팅합니다.
|
|
12
|
-
> Codex CLI가 없는 환경에서 사용합니다.
|
|
13
|
-
|
|
14
|
-
## 사용법
|
|
15
|
-
|
|
16
|
-
```
|
|
17
|
-
/tfx-gemini "작업 설명"
|
|
18
|
-
/tfx-gemini N:gemini "작업 설명"
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
## 동작 원리
|
|
22
|
-
|
|
23
|
-
`tfx-auto`와 동일한 워크플로우를 사용하되, `TFX_CLI_MODE=gemini` 환경변수를 설정하여
|
|
24
|
-
모든 Codex 에이전트를 Gemini로 리매핑합니다.
|
|
25
|
-
|
|
26
|
-
### 에이전트 라우팅
|
|
27
|
-
|
|
28
|
-
| 에이전트 | 원래 CLI | tfx-gemini에서 |
|
|
29
|
-
|----------|---------|--------------|
|
|
30
|
-
| **executor, debugger, deep-executor** | ~~Codex~~ | **Gemini Pro** |
|
|
31
|
-
| **build-fixer** | ~~Codex~~ | **Gemini Flash** |
|
|
32
|
-
| **architect, planner, critic, analyst** | ~~Codex~~ | **Gemini Pro** |
|
|
33
|
-
| **code-reviewer, security-reviewer, quality-reviewer** | ~~Codex~~ | **Gemini Pro** |
|
|
34
|
-
| **scientist, scientist-deep** | ~~Codex~~ | **Gemini Pro/Flash** |
|
|
35
|
-
| **document-specialist** | ~~Codex~~ | **Gemini Flash** |
|
|
36
|
-
| designer | Gemini | Gemini (변경 없음) |
|
|
37
|
-
| writer | Gemini | Gemini (변경 없음) |
|
|
38
|
-
| explore | Claude Haiku | Claude Haiku (변경 없음) |
|
|
39
|
-
| verifier, test-engineer | Claude Sonnet | Claude Sonnet (변경 없음) |
|
|
40
|
-
|
|
41
|
-
### 모델 분기
|
|
42
|
-
|
|
43
|
-
| 복잡도 | Gemini 모델 | 대상 에이전트 | 근거 |
|
|
44
|
-
|--------|------------|-------------|------|
|
|
45
|
-
| 높음 | `gemini-3.1-pro-preview` | executor, debugger, deep-executor | 구현/분석 깊이 필요 |
|
|
46
|
-
| 높음 | `gemini-3.1-pro-preview` | architect, planner, critic, analyst | 설계 품질 |
|
|
47
|
-
| 높음 | `gemini-3.1-pro-preview` | code-reviewer, security-reviewer, quality-reviewer | 리뷰 품질 |
|
|
48
|
-
| 높음 | `gemini-3.1-pro-preview` | scientist-deep | 심층 리서치 |
|
|
49
|
-
| 낮음 | `gemini-3-flash-preview` | build-fixer, spark | 빠른 수정/린트 |
|
|
50
|
-
| 낮음 | `gemini-3-flash-preview` | scientist, document-specialist | 일반 검색+요약 |
|
|
51
|
-
| 낮음 | `gemini-3-flash-preview` | writer | 문서/가이드 생성 |
|
|
52
|
-
|
|
53
|
-
## 실행 규칙
|
|
54
|
-
|
|
55
|
-
**tfx-auto SKILL.md의 모든 Phase(1~6) 워크플로우를 그대로 따릅니다.**
|
|
56
|
-
|
|
57
|
-
유일한 차이점:
|
|
58
|
-
|
|
59
|
-
1. **Phase 3 CLI 실행 시** `TFX_CLI_MODE=gemini`을 환경변수로 전달:
|
|
60
|
-
```bash
|
|
61
|
-
TFX_CLI_MODE=gemini bash ~/.claude/scripts/tfx-route.sh {agent} '{prompt}' {mcp_profile}
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
2. **Phase 2 트리아지에서** codex 분류 결과를 gemini로 강제 변환:
|
|
65
|
-
- Codex 분류가 `codex`를 반환하면 → `gemini`로 교체
|
|
66
|
-
- Opus 분해에서 모든 Codex 에이전트 → Gemini 모델 매핑
|
|
67
|
-
|
|
68
|
-
3. **Phase 2a Codex 분류 단계를 건너뜀**:
|
|
69
|
-
- Codex CLI가 없으므로 Opus가 직접 분류+분해 수행
|
|
70
|
-
|
|
71
|
-
4. **Windows 안정화 자동 적용**:
|
|
72
|
-
- 모든 Gemini 워커에 `--timeout 60` + health check
|
|
73
|
-
- hang 감지 시 자동 재시도
|
|
74
|
-
|
|
75
|
-
## 필수 조건
|
|
76
|
-
|
|
77
|
-
- [Gemini CLI](https://github.com/google-gemini/gemini-cli): `npm install -g @google/gemini-cli`
|
|
78
|
-
- Codex CLI 불필요
|
|
79
|
-
|
|
80
|
-
## Troubleshooting
|
|
81
|
-
|
|
82
|
-
문제 발생 시 `/tfx-doctor` 실행. (`--fix` 자동 수정, `--reset` 캐시 초기화)
|
|
@@ -1,133 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: tfx-hub
|
|
3
|
-
description: tfx-hub 개방형 스킬 — 커맨드(start/stop/status) + 자유형 작업 모두 처리
|
|
4
|
-
triggers:
|
|
5
|
-
- tfx-hub
|
|
6
|
-
argument-hint: "<start|stop|status|자유형 작업 설명>"
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
# tfx-hub — MCP 메시지 버스 관리 + 개방형 작업
|
|
10
|
-
|
|
11
|
-
> CLI 에이전트(Codex/Gemini/Claude) 간 실시간 메시지 허브를 관리합니다.
|
|
12
|
-
> **커맨드 매칭 + fallthrough**: start/stop/status에 매칭되면 즉시 실행,
|
|
13
|
-
> 매칭 안 되면 **hub 도메인 컨텍스트를 활용한 범용 작업**으로 처리합니다.
|
|
14
|
-
|
|
15
|
-
## 입력 해석 규칙
|
|
16
|
-
|
|
17
|
-
```
|
|
18
|
-
/tfx-hub start → 커맨드 매칭 → 허브 시작
|
|
19
|
-
/tfx-hub stop → 커맨드 매칭 → 허브 중지
|
|
20
|
-
/tfx-hub status → 커맨드 매칭 → 상태 확인
|
|
21
|
-
/tfx-hub 테스트해줘 → fallthrough → hub 관련 범용 작업으로 처리
|
|
22
|
-
/tfx-hub 문서 저장해 → fallthrough → hub 관련 범용 작업으로 처리
|
|
23
|
-
/tfx-hub 브릿지 분석해 → fallthrough → hub 관련 범용 작업으로 처리
|
|
24
|
-
```
|
|
25
|
-
|
|
26
|
-
**fallthrough 규칙**: 인자가 start/stop/status/--port 등 커맨드 키워드에 매칭되지 않으면,
|
|
27
|
-
사용자의 입력을 **hub/브릿지/메시지버스 도메인의 자유형 작업**으로 해석한다.
|
|
28
|
-
|
|
29
|
-
fallthrough 라우팅:
|
|
30
|
-
```bash
|
|
31
|
-
# tfx-route.sh 경유 (권장)
|
|
32
|
-
Bash("bash ~/.claude/scripts/tfx-route.sh {에이전트} '{hub 컨텍스트 + 작업}' {mcp_profile}")
|
|
33
|
-
|
|
34
|
-
# codex 직접 호출 시 — 반드시 exec 서브커맨드 포함
|
|
35
|
-
Bash("codex exec --dangerously-bypass-approvals-and-sandbox --skip-git-repo-check '{작업}'")
|
|
36
|
-
Bash("codex --profile xhigh exec --dangerously-bypass-approvals-and-sandbox --skip-git-repo-check '{작업}'")
|
|
37
|
-
# ↑ --profile은 exec 앞에, --skip-git-repo-check은 exec 뒤에
|
|
38
|
-
|
|
39
|
-
# Claude 네이티브 (탐색/검증)
|
|
40
|
-
Agent(subagent_type="oh-my-claudecode:explore", prompt="{작업}")
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
## 커맨드
|
|
44
|
-
|
|
45
|
-
### start — 허브 시작
|
|
46
|
-
|
|
47
|
-
```bash
|
|
48
|
-
Bash("node hub/server.mjs", run_in_background=true)
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
- Streamable HTTP MCP 서버를 `http://127.0.0.1:27888/mcp` 에서 시작
|
|
52
|
-
- SQLite WAL DB: `~/.claude/cache/tfx-hub/state.db`
|
|
53
|
-
- PID 파일: `~/.claude/cache/tfx-hub/hub.pid`
|
|
54
|
-
- 환경변수: `TFX_HUB_PORT` (포트), `TFX_HUB_DB` (DB 경로)
|
|
55
|
-
|
|
56
|
-
### stop — 허브 중지
|
|
57
|
-
|
|
58
|
-
```bash
|
|
59
|
-
# PID 파일에서 프로세스 ID 읽어서 종료
|
|
60
|
-
Bash("node -e \"
|
|
61
|
-
const fs = require('fs');
|
|
62
|
-
const path = require('path');
|
|
63
|
-
const pidFile = path.join(require('os').homedir(), '.claude/cache/tfx-hub/hub.pid');
|
|
64
|
-
if (fs.existsSync(pidFile)) {
|
|
65
|
-
const info = JSON.parse(fs.readFileSync(pidFile, 'utf8'));
|
|
66
|
-
process.kill(info.pid, 'SIGTERM');
|
|
67
|
-
console.log('tfx-hub 종료 (PID ' + info.pid + ')');
|
|
68
|
-
} else {
|
|
69
|
-
console.log('tfx-hub 미실행');
|
|
70
|
-
}
|
|
71
|
-
\"")
|
|
72
|
-
```
|
|
73
|
-
|
|
74
|
-
### status — 상태 확인
|
|
75
|
-
|
|
76
|
-
```bash
|
|
77
|
-
# HTTP 상태 엔드포인트 조회
|
|
78
|
-
Bash("curl -s http://127.0.0.1:27888/status 2>/dev/null || echo '{\"error\":\"hub 미실행\"}'")
|
|
79
|
-
```
|
|
80
|
-
|
|
81
|
-
## 각 CLI 등록 방법
|
|
82
|
-
|
|
83
|
-
허브 시작 후 각 CLI에 MCP 서버로 등록:
|
|
84
|
-
|
|
85
|
-
```bash
|
|
86
|
-
# Codex
|
|
87
|
-
codex mcp add tfx-hub --url http://127.0.0.1:27888/mcp
|
|
88
|
-
|
|
89
|
-
# Gemini (settings.json)
|
|
90
|
-
# mcpServers.tfx-hub.url = "http://127.0.0.1:27888/mcp"
|
|
91
|
-
|
|
92
|
-
# Claude
|
|
93
|
-
claude mcp add --transport http tfx-hub http://127.0.0.1:27888/mcp
|
|
94
|
-
```
|
|
95
|
-
|
|
96
|
-
## MCP 도구 (8개)
|
|
97
|
-
|
|
98
|
-
| 도구 | 설명 |
|
|
99
|
-
|------|------|
|
|
100
|
-
| `register` | 에이전트 등록 + lease 발급 |
|
|
101
|
-
| `status` | 허브/에이전트/큐 상태 조회 |
|
|
102
|
-
| `publish` | 이벤트/응답 메시지 발행 |
|
|
103
|
-
| `ask` | 다른 에이전트에게 질문 (request/reply) |
|
|
104
|
-
| `poll_messages` | 수신함에서 메시지 폴링 |
|
|
105
|
-
| `handoff` | 작업 인계 |
|
|
106
|
-
| `request_human_input` | 사용자 입력 요청 (CAPTCHA/승인) |
|
|
107
|
-
| `submit_human_input` | 사용자 입력 응답 |
|
|
108
|
-
|
|
109
|
-
## 브릿지 REST 엔드포인트 (4개)
|
|
110
|
-
|
|
111
|
-
| 엔드포인트 | 설명 |
|
|
112
|
-
|-----------|------|
|
|
113
|
-
| `POST /bridge/register` | 에이전트 등록 (프로세스 수명 기반 lease) |
|
|
114
|
-
| `POST /bridge/result` | 결과 발행 (topic fanout) |
|
|
115
|
-
| `POST /bridge/context` | 선행 컨텍스트 폴링 (auto_ack) |
|
|
116
|
-
| `POST /bridge/deregister` | 에이전트 offline 마킹 |
|
|
117
|
-
|
|
118
|
-
## 프로젝트 구조
|
|
119
|
-
|
|
120
|
-
```
|
|
121
|
-
hub/
|
|
122
|
-
├── server.mjs # MCP 서버 + REST 브릿지 엔드포인트
|
|
123
|
-
├── store.mjs # SQLite WAL 상태 저장소
|
|
124
|
-
├── router.mjs # Actor mailbox 라우터 + QoS
|
|
125
|
-
├── tools.mjs # MCP 도구 8개 정의
|
|
126
|
-
├── hitl.mjs # Human-in-the-Loop 매니저
|
|
127
|
-
├── bridge.mjs # tfx-route.sh ↔ hub 브릿지 CLI
|
|
128
|
-
└── schema.sql # DB 스키마
|
|
129
|
-
```
|
|
130
|
-
|
|
131
|
-
## 상태
|
|
132
|
-
|
|
133
|
-
**dev 전용** — 로컬 테스트 목적. 프로덕션 배포 전 안정화 필요.
|