triflux 10.44.0 → 10.45.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.md +1 -1
- package/adapters/codex/skills/tfx-harness/SKILL.md +45 -9
- package/bin/tfx-live.mjs +752 -77
- package/bin/triflux.mjs +9 -6
- package/hooks/codex-session-hook.mjs +67 -1
- package/hooks/cto-north-star-brief.mjs +3 -16
- package/hooks/error-context.mjs +3 -6
- package/hooks/hook-manager.mjs +1 -1
- package/hooks/hook-registry.json +0 -11
- package/hooks/keyword-rules.json +8 -4
- package/hooks/permission-safe-allow.mjs +36 -2
- package/hooks/session-start-fast.mjs +50 -1
- package/hooks/session-start-lake.mjs +3 -16
- package/hub/bridge.mjs +111 -5
- package/hub/gemini-adapter.mjs +29 -11
- package/hub/lib/memory-store.mjs +66 -30
- package/hub/lib/tfx-route-args.mjs +41 -4
- package/hub/pipe.mjs +10 -15
- package/hub/reflexion.mjs +0 -57
- package/hub/router.mjs +202 -24
- package/hub/schema.sql +1 -0
- package/hub/server.mjs +172 -93
- package/hub/store.mjs +106 -33
- package/hub/team/backend.mjs +4 -2
- package/hub/team/claude-daemon-control.mjs +2 -0
- package/hub/team/cli/commands/start/start-headless.mjs +2 -0
- package/hub/team/cli/commands/start/start-mux.mjs +24 -3
- package/hub/team/cli/services/runtime-mode.mjs +23 -9
- package/hub/team/codex-review.mjs +2 -3
- package/hub/team/conductor.mjs +80 -24
- package/hub/team/cto-auto-collect.mjs +2 -6
- package/hub/team/cto-pull.mjs +4 -0
- package/hub/team/dashboard-open.mjs +1 -0
- package/hub/team/execution-mode.mjs +38 -2
- package/hub/team/headless.mjs +493 -82
- package/hub/team/interactive-tui-transport.mjs +15 -1
- package/hub/team/launcher-template.mjs +19 -2
- package/hub/team/orchestrator.mjs +36 -9
- package/hub/team/pane.mjs +176 -14
- package/hub/team/psmux.mjs +79 -70
- package/hub/team/retry-state-machine.mjs +39 -16
- package/hub/team/session.mjs +57 -0
- package/hub/team/terminal-opener.mjs +68 -13
- package/hub/team/tui-viewer.mjs +65 -14
- package/hub/tools.mjs +6 -0
- package/hub/workers/codex-mcp.mjs +34 -5
- package/hud/cli-policy.mjs +69 -0
- package/hud/constants.mjs +20 -17
- package/hud/context-monitor.mjs +31 -21
- package/hud/hud-qos-status.mjs +81 -91
- package/hud/providers/claude.mjs +150 -84
- package/hud/providers/codex.mjs +10 -1
- package/hud/renderers.mjs +21 -59
- package/hud/utils.mjs +1 -15
- package/package.json +1 -1
- package/scripts/__tests__/keyword-detector.test.mjs +89 -1
- package/scripts/__tests__/release-governance.test.mjs +94 -1
- package/scripts/__tests__/skill-surface.test.mjs +6 -4
- package/scripts/__tests__/tfx-route-bash-node-parity.test.mjs +6 -4
- package/scripts/__tests__/tfx-route-node-entry.test.mjs +23 -17
- package/scripts/claude-login-detect.mjs +107 -25
- package/scripts/ensure-agy-hooks.mjs +31 -1
- package/scripts/keyword-detector.mjs +11 -1
- package/scripts/lib/agent-route-policy.mjs +29 -22
- package/scripts/lib/cli-agy.mjs +24 -4
- package/scripts/lib/codex-profile-config.mjs +26 -8
- package/scripts/lib/codex-recovery.sh +19 -0
- package/scripts/lib/gemini-profiles.mjs +113 -29
- package/scripts/lib/keyword-rules.mjs +12 -0
- package/scripts/lib/logger.mjs +60 -43
- package/scripts/lib/machine-profile.mjs +293 -0
- package/scripts/lib/mcp-health.mjs +44 -18
- package/scripts/notion-read.mjs +2 -1
- package/scripts/release/check-packages-mirror.mjs +53 -1
- package/scripts/release/lib.mjs +1 -2
- package/scripts/release/prepare.mjs +24 -9
- package/scripts/remote-spawn.mjs +830 -32
- package/scripts/session-stale-cleanup.mjs +0 -1
- package/scripts/setup.mjs +474 -143
- package/scripts/sync-hub-mcp-settings.mjs +11 -3
- package/scripts/test-lock.mjs +15 -1
- package/scripts/tfx-gate-activate.mjs +4 -4
- package/scripts/tfx-route-post.mjs +90 -13
- package/scripts/tfx-route.sh +502 -126
- package/skills/merge-worktree/SKILL.md +3 -3
- package/skills/star-prompt/skill.json +1 -1
- package/skills/tfx-analysis/SKILL.md +8 -9
- package/skills/tfx-analysis/skill.json +1 -10
- package/skills/tfx-auto/SKILL.md +203 -46
- package/skills/tfx-auto/skill.json +2 -23
- package/skills/tfx-doctor/skill.json +0 -3
- package/skills/tfx-find/skill.json +0 -7
- package/skills/tfx-forge/SKILL.md +2 -2
- package/skills/tfx-forge/skill.json +0 -7
- package/skills/tfx-goal-clarify/skill.json +5 -0
- package/skills/tfx-harness/SKILL.md +26 -3
- package/skills/tfx-harness/skill.json +5 -0
- package/skills/tfx-hooks/SKILL.md +0 -2
- package/skills/tfx-hooks/skill.json +0 -3
- package/skills/tfx-hub/SKILL.md +1 -6
- package/skills/tfx-hub/skill.json +0 -3
- package/skills/tfx-index/skill.json +0 -6
- package/skills/tfx-interview/SKILL.md +0 -2
- package/skills/tfx-live/SKILL.md +22 -1
- package/skills/tfx-live/skill.json +0 -5
- package/skills/tfx-plan/SKILL.md +7 -8
- package/skills/tfx-plan/skill.json +1 -12
- package/skills/tfx-profile/SKILL.md +6 -6
- package/skills/tfx-profile/skill.json +0 -3
- package/skills/tfx-prune/SKILL.md +4 -6
- package/skills/tfx-qa/SKILL.md +7 -7
- package/skills/tfx-qa/skill.json +1 -11
- package/skills/tfx-ralph/SKILL.md +8 -11
- package/skills/tfx-remote/SKILL.md +2 -2
- package/skills/tfx-remote/skill.json +0 -3
- package/skills/tfx-research/SKILL.md +2 -2
- package/skills/tfx-research/skill.json +1 -16
- package/skills/tfx-review/SKILL.md +11 -11
- package/skills/tfx-review/skill.json +1 -11
- package/skills/tfx-setup/SKILL.md +5 -6
- package/skills/tfx-setup/skill.json +0 -3
- package/skills/tfx-ship/skill.json +1 -9
- package/skills/tfx-wt/skill.json +0 -7
- package/tui/codex-profile.mjs +2 -1
- package/tui/gemini-profile.mjs +11 -24
- package/tui/monitor.mjs +1 -0
- package/tui/setup.mjs +3 -3
- package/scripts/headless-guard-fast.sh +0 -29
- package/scripts/headless-guard.mjs +0 -523
- package/skills/tfx-autopilot/SKILL.md +0 -51
- package/skills/tfx-autopilot/skill.json +0 -12
- package/skills/tfx-codex-swarm-workspace/iteration-1/benchmark.json +0 -75
- package/skills/tfx-codex-swarm-workspace/iteration-1/full-swarm-all-prds/eval_metadata.json +0 -42
- package/skills/tfx-codex-swarm-workspace/iteration-1/full-swarm-all-prds/with_skill/grading.json +0 -39
- package/skills/tfx-codex-swarm-workspace/iteration-1/full-swarm-all-prds/with_skill/outputs/analysis.md +0 -87
- package/skills/tfx-codex-swarm-workspace/iteration-1/full-swarm-all-prds/with_skill/outputs/classification.md +0 -35
- package/skills/tfx-codex-swarm-workspace/iteration-1/full-swarm-all-prds/with_skill/outputs/commands.sh +0 -275
- package/skills/tfx-codex-swarm-workspace/iteration-1/full-swarm-all-prds/with_skill/outputs/routing.md +0 -56
- package/skills/tfx-codex-swarm-workspace/iteration-1/full-swarm-all-prds/with_skill/timing.json +0 -5
- package/skills/tfx-codex-swarm-workspace/iteration-1/full-swarm-all-prds/without_skill/grading.json +0 -39
- package/skills/tfx-codex-swarm-workspace/iteration-1/full-swarm-all-prds/without_skill/outputs/analysis.md +0 -92
- package/skills/tfx-codex-swarm-workspace/iteration-1/full-swarm-all-prds/without_skill/outputs/classification.md +0 -71
- package/skills/tfx-codex-swarm-workspace/iteration-1/full-swarm-all-prds/without_skill/outputs/commands.sh +0 -264
- package/skills/tfx-codex-swarm-workspace/iteration-1/full-swarm-all-prds/without_skill/outputs/routing.md +0 -113
- package/skills/tfx-codex-swarm-workspace/iteration-1/full-swarm-all-prds/without_skill/timing.json +0 -5
- package/skills/tfx-codex-swarm-workspace/iteration-1/implicit-swarm-no-keywords/eval_metadata.json +0 -32
- package/skills/tfx-codex-swarm-workspace/iteration-1/implicit-swarm-no-keywords/with_skill/grading.json +0 -29
- package/skills/tfx-codex-swarm-workspace/iteration-1/implicit-swarm-no-keywords/with_skill/outputs/analysis.md +0 -96
- package/skills/tfx-codex-swarm-workspace/iteration-1/implicit-swarm-no-keywords/with_skill/outputs/classification.md +0 -38
- package/skills/tfx-codex-swarm-workspace/iteration-1/implicit-swarm-no-keywords/with_skill/outputs/commands.sh +0 -151
- package/skills/tfx-codex-swarm-workspace/iteration-1/implicit-swarm-no-keywords/with_skill/outputs/routing.md +0 -51
- package/skills/tfx-codex-swarm-workspace/iteration-1/implicit-swarm-no-keywords/with_skill/timing.json +0 -5
- package/skills/tfx-codex-swarm-workspace/iteration-1/implicit-swarm-no-keywords/without_skill/grading.json +0 -29
- package/skills/tfx-codex-swarm-workspace/iteration-1/implicit-swarm-no-keywords/without_skill/outputs/analysis.md +0 -127
- package/skills/tfx-codex-swarm-workspace/iteration-1/implicit-swarm-no-keywords/without_skill/outputs/classification.md +0 -57
- package/skills/tfx-codex-swarm-workspace/iteration-1/implicit-swarm-no-keywords/without_skill/outputs/commands.sh +0 -129
- package/skills/tfx-codex-swarm-workspace/iteration-1/implicit-swarm-no-keywords/without_skill/outputs/routing.md +0 -84
- package/skills/tfx-codex-swarm-workspace/iteration-1/implicit-swarm-no-keywords/without_skill/timing.json +0 -5
- package/skills/tfx-codex-swarm-workspace/iteration-1/selective-spawn-with-override/eval_metadata.json +0 -27
- package/skills/tfx-codex-swarm-workspace/iteration-1/selective-spawn-with-override/with_skill/grading.json +0 -24
- package/skills/tfx-codex-swarm-workspace/iteration-1/selective-spawn-with-override/with_skill/outputs/analysis.md +0 -98
- package/skills/tfx-codex-swarm-workspace/iteration-1/selective-spawn-with-override/with_skill/outputs/classification.md +0 -65
- package/skills/tfx-codex-swarm-workspace/iteration-1/selective-spawn-with-override/with_skill/outputs/commands.sh +0 -123
- package/skills/tfx-codex-swarm-workspace/iteration-1/selective-spawn-with-override/with_skill/outputs/routing.md +0 -66
- package/skills/tfx-codex-swarm-workspace/iteration-1/selective-spawn-with-override/with_skill/timing.json +0 -5
- package/skills/tfx-codex-swarm-workspace/iteration-1/selective-spawn-with-override/without_skill/grading.json +0 -20
- package/skills/tfx-codex-swarm-workspace/iteration-1/selective-spawn-with-override/without_skill/outputs/analysis.md +0 -88
- package/skills/tfx-codex-swarm-workspace/iteration-1/selective-spawn-with-override/without_skill/outputs/classification.md +0 -40
- package/skills/tfx-codex-swarm-workspace/iteration-1/selective-spawn-with-override/without_skill/outputs/commands.sh +0 -130
- package/skills/tfx-codex-swarm-workspace/iteration-1/selective-spawn-with-override/without_skill/outputs/routing.md +0 -61
- package/skills/tfx-codex-swarm-workspace/iteration-1/selective-spawn-with-override/without_skill/timing.json +0 -5
- package/skills/tfx-consensus/SKILL.md +0 -56
- package/skills/tfx-consensus/skill.json +0 -8
- package/skills/tfx-debate/SKILL.md +0 -60
- package/skills/tfx-debate/skill.json +0 -14
- package/skills/tfx-fullcycle/SKILL.md +0 -47
- package/skills/tfx-fullcycle/skill.json +0 -13
- package/skills/tfx-multi/SKILL.md +0 -45
- package/skills/tfx-multi/references/agent-wrapper-rules.md +0 -94
- package/skills/tfx-multi/references/thorough-pipeline.md +0 -105
- package/skills/tfx-multi/skill.json +0 -10
- package/skills/tfx-panel/SKILL.md +0 -60
- package/skills/tfx-panel/skill.json +0 -14
- package/skills/tfx-persist/SKILL.md +0 -63
- package/skills/tfx-persist/skill.json +0 -14
- package/skills/tfx-psmux-rules/SKILL.md +0 -41
- package/skills/tfx-psmux-rules/skill.json +0 -10
- package/skills/tfx-remote-setup/SKILL.md +0 -42
- package/skills/tfx-remote-setup/skill.json +0 -10
- package/skills/tfx-remote-spawn/SKILL.md +0 -52
- package/skills/tfx-remote-spawn/skill.json +0 -10
- package/skills/tfx-swarm/SKILL.md +0 -49
- package/skills/tfx-swarm/skill.json +0 -13
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
# Agent 래퍼 상세 규칙
|
|
2
|
-
|
|
3
|
-
## 슬림 래퍼의 존재 이유
|
|
4
|
-
|
|
5
|
-
Native Teams의 teammate는 Claude 모델만 가능하다.
|
|
6
|
-
Codex/Antigravity는 teammate로 직접 등록할 수 없으므로, Claude slim wrapper를 spawn하고
|
|
7
|
-
래퍼 내부에서 `tfx-route.sh`로 Codex/Antigravity CLI를 실행하는 구조이다.
|
|
8
|
-
|
|
9
|
-
래퍼가 존재하는 이유:
|
|
10
|
-
1. **Shift+Down 네비게이션 등록** — 래퍼 없이 Lead가 직접 Bash를 실행하면 네비게이션에 등록되지 않음
|
|
11
|
-
2. **리드↔워커 피드백 루프** — 워커가 결과를 보고하면 턴 경계가 생겨 리드가 방향을 수정할 수 있음
|
|
12
|
-
3. **실패 시 재실행** — N회 실행을 지원
|
|
13
|
-
|
|
14
|
-
## 필수 규칙
|
|
15
|
-
|
|
16
|
-
### 1. Agent 래퍼 생략 금지
|
|
17
|
-
|
|
18
|
-
Codex/Antigravity 서브태스크는 워커 수에 관계없이 반드시 Agent 래퍼를 spawn해야 한다.
|
|
19
|
-
단일 워커(1:gemini 등)여도 Lead가 직접 Bash를 실행하면 안 된다.
|
|
20
|
-
Lead가 "효율적"이라고 판단해서 Agent를 건너뛰는 것은 금지한다.
|
|
21
|
-
|
|
22
|
-
### 2. mode: bypassPermissions 필수
|
|
23
|
-
|
|
24
|
-
모든 Agent spawn에 반드시 `mode: "bypassPermissions"`를 포함한다.
|
|
25
|
-
이 설정이 없으면 워커가 Bash 실행 시 사용자 승인을 요청하여 자동 실행이 중단된다.
|
|
26
|
-
|
|
27
|
-
### 3. tfx-route.sh 경유 필수
|
|
28
|
-
|
|
29
|
-
Lead 또는 Agent 래퍼가 `gemini -y -p "..."` 또는 `codex exec "..."`를 직접 호출하면 안 된다.
|
|
30
|
-
직접 호출하면 다음이 누락된다:
|
|
31
|
-
- tfx-route.sh의 모델 지정(`-m gemini-3.1-pro-preview`)
|
|
32
|
-
- MCP 필터
|
|
33
|
-
- 팀 bridge 연동
|
|
34
|
-
- Windows 호환 경로
|
|
35
|
-
- 타임아웃
|
|
36
|
-
- 후처리(토큰 추적/이슈 로깅)
|
|
37
|
-
|
|
38
|
-
반드시 `bash ~/.claude/scripts/tfx-route.sh {role} '{subtask}' {mcp_profile}`을 통해 실행해야 한다.
|
|
39
|
-
|
|
40
|
-
### 4. 코드 직접 조작 금지
|
|
41
|
-
|
|
42
|
-
슬림 래퍼 워커가 코드를 직접 읽거나 수정하면 안 된다.
|
|
43
|
-
codex-worker는 반드시 tfx-route.sh를 통해 Codex에 위임하고, gemini-worker도 마찬가지다.
|
|
44
|
-
워커가 Read, Edit, Write, Grep, Glob 등 도구를 직접 사용하는 것은 위임 구조 위반이다.
|
|
45
|
-
|
|
46
|
-
## 인터럽트 프로토콜
|
|
47
|
-
|
|
48
|
-
워커가 Bash 실행 전에 SendMessage로 시작을 보고하면 턴 경계가 생겨 리드가 방향 전환 메시지를 보낼 수 있다.
|
|
49
|
-
|
|
50
|
-
```
|
|
51
|
-
1. TaskUpdate(taskId, status: in_progress) — task claim
|
|
52
|
-
2. SendMessage(to: team-lead, "작업 시작: {agentName}") — 시작 보고 (턴 경계 생성)
|
|
53
|
-
3. Bash(command: tfx-route.sh ..., timeout: {bashTimeoutMs}) — 실행
|
|
54
|
-
4. SendMessage(to: team-lead, "결과: {요약}") — 결과 보고 (턴 경계 생성)
|
|
55
|
-
5. 리드 피드백 대기 — 피드백 수신 시 Step 3으로 돌아가 재실행
|
|
56
|
-
6. 최종 완료 시 TaskUpdate(status: completed, metadata: {result}) + SendMessage → 종료
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
리드는 워커의 Step 2, Step 4 시점에 턴 경계를 인식하고, 방향 전환/추가 지시/재실행 요청을 보낼 수 있다.
|
|
60
|
-
|
|
61
|
-
## Async 실행 프로토콜 (v2.5+)
|
|
62
|
-
|
|
63
|
-
Claude Code Bash 도구는 최대 600초(10분) 하드코딩 제한이 있다.
|
|
64
|
-
scientist(24분), scientist-deep(60분) 등 장시간 워커는 이 제한에 걸린다.
|
|
65
|
-
|
|
66
|
-
**해결: `--async` 3단계 패턴**
|
|
67
|
-
|
|
68
|
-
| 단계 | 명령 | Bash timeout | 소요 |
|
|
69
|
-
|------|------|-------------|------|
|
|
70
|
-
| 시작 | `tfx-route.sh --async {role} '{task}' {profile} {timeout}` | 15초 | <1초 |
|
|
71
|
-
| 대기 | `tfx-route.sh --job-wait {job_id} 540` | 570초 | 최대 540초/회 |
|
|
72
|
-
| 결과 | `tfx-route.sh --job-result {job_id}` | 30초 | <1초 |
|
|
73
|
-
|
|
74
|
-
- `--job-wait`는 내부에서 15초 간격으로 폴링하며 `done`/`timeout`/`failed`/`still_running` 반환
|
|
75
|
-
- `still_running` 시 같은 `--job-wait` 명령을 반복 (무한 반복 가능)
|
|
76
|
-
- 실제 워커 timeout은 tfx-route.sh의 `timeout` 명령으로 관리 (Bash 도구와 무관)
|
|
77
|
-
|
|
78
|
-
**이전 방식 (deprecated):**
|
|
79
|
-
Bash timeout을 role/profile별 timeout + 60초로 설정했으나, 600초 초과 시 Bash 도구가 강제 종료했다.
|
|
80
|
-
|
|
81
|
-
## tfx-route.sh 팀 통합 동작
|
|
82
|
-
|
|
83
|
-
`TFX_TEAM_*` 환경변수 기반 (이미 구현됨):
|
|
84
|
-
- `TFX_TEAM_NAME`: 팀 식별자
|
|
85
|
-
- `TFX_TEAM_TASK_ID`: 작업 식별자
|
|
86
|
-
- `TFX_TEAM_AGENT_NAME`: 워커 표기 이름
|
|
87
|
-
- `TFX_TEAM_LEAD_NAME`: 리드 수신자 이름 (기본 `team-lead`)
|
|
88
|
-
|
|
89
|
-
Hub 통신 (Named Pipe 우선, HTTP fallback):
|
|
90
|
-
- `bridge.mjs`가 Named Pipe(`\\.\pipe\triflux-{pid}`) 우선 연결, 실패 시 HTTP `/bridge/*` fallback
|
|
91
|
-
- 실행 시작: `node hub/bridge.mjs team-task-update --team {name} --task-id {id} --claim --status in_progress`
|
|
92
|
-
- 실행 종료: `node hub/bridge.mjs team-task-update --team {name} --task-id {id} --status completed|failed`
|
|
93
|
-
- 리드 보고: `node hub/bridge.mjs team-send-message --team {name} --from {agent} --to team-lead --text "..."`
|
|
94
|
-
- 결과 발행: `node hub/bridge.mjs result --agent {id} --topic task.result --file {output}`
|
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
# 파이프라인 상세 (thorough 기본)
|
|
2
|
-
|
|
3
|
-
> `--thorough`(기본) 모드에서 Phase 2.5-2.6과 Phase 3.5-3.7이 실행된다.
|
|
4
|
-
> `--quick` 플래그 시 이 파일의 내용은 적용되지 않는다.
|
|
5
|
-
> tfx-auto 경유 시: `-t`/`--thorough` 플래그가 있을 때만 파이프라인이 활성화된다.
|
|
6
|
-
|
|
7
|
-
## Phase 2.5: Plan (Opus Lead + Codex Scout 협업)
|
|
8
|
-
|
|
9
|
-
> 기존: Codex architect(단독, one-shot)
|
|
10
|
-
> 변경: Opus 설계 주도 + Codex scout(병렬 탐색) → 합산 판단 → 최종 계획
|
|
11
|
-
|
|
12
|
-
### Step 2.5.1: Opus 과제 분석 → 탐색 목록 생성
|
|
13
|
-
|
|
14
|
-
Lead(Opus)가 과제를 분석하고, 설계에 필요한 정보 탐색 목록을 인라인 생성한다:
|
|
15
|
-
|
|
16
|
-
```json
|
|
17
|
-
{
|
|
18
|
-
"questions": [
|
|
19
|
-
{ "id": "q1", "question": "현재 인증 미들웨어 구조와 세션 관리 방식", "scope": "src/middleware/auth*" },
|
|
20
|
-
{ "id": "q2", "question": "DB 스키마와 마이그레이션 현황", "scope": "db/migrations/" }
|
|
21
|
-
]
|
|
22
|
-
}
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
탐색 목록은 3-7개 항목 권장. 과도하면 Codex 비용이 아닌 Lead 컨텍스트가 팽창.
|
|
26
|
-
|
|
27
|
-
### Step 2.5.2: Codex Scout 병렬 파견
|
|
28
|
-
|
|
29
|
-
각 탐색 항목마다 Codex scout를 파견하여 코드베이스 탐색:
|
|
30
|
-
|
|
31
|
-
```bash
|
|
32
|
-
# 각 question마다 병렬 실행
|
|
33
|
-
for each question:
|
|
34
|
-
bash ~/.claude/scripts/tfx-route.sh scientist "${question.question}. 탐색 범위: ${question.scope}" analyze
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
**scout 실행 규칙:**
|
|
38
|
-
- scout는 **read-only** — 코드 수정 금지, 탐색+보고만
|
|
39
|
-
- 병렬 실행 (run_in_background=true)
|
|
40
|
-
- scope 힌트로 탐색 범위를 제한하여 정확도 향상
|
|
41
|
-
- MCP 프로필: `analyze` (읽기 전용 도구만)
|
|
42
|
-
- 팀 모드 시: slim wrapper Agent로 spawn (Shift+Down 네비게이션)
|
|
43
|
-
- 단일 모드 시: tfx-route.sh 직접 호출
|
|
44
|
-
|
|
45
|
-
### Step 2.5.3: Opus 종합 판단 → 최종 계획 작성
|
|
46
|
-
|
|
47
|
-
Lead(Opus)가 scout 보고를 종합하고, 전략적 설계 결정을 내린다:
|
|
48
|
-
|
|
49
|
-
1. scout 결과 수집 (모든 scout 완료 대기)
|
|
50
|
-
2. 아키텍처 선택, 트레이드오프 판단, 리스크 평가
|
|
51
|
-
3. 최종 계획 작성
|
|
52
|
-
4. `pipeline.writePlanFile(planContent)` 저장
|
|
53
|
-
5. pipeline advance: plan → prd
|
|
54
|
-
|
|
55
|
-
### Step 2.5.4: 추가 질의 루프 (선택)
|
|
56
|
-
|
|
57
|
-
계획 작성 중 추가 정보 필요 시:
|
|
58
|
-
- 팀 모드: 피드백 루프(Phase 0 구현)를 활용하여 scout에 "재실행:" 메시지 전송
|
|
59
|
-
- 단일 모드: 추가 tfx-route.sh 호출
|
|
60
|
-
- maxIterations 내에서 반복 가능 (기본 2회)
|
|
61
|
-
|
|
62
|
-
## Phase 2.6: PRD (Codex analyst)
|
|
63
|
-
|
|
64
|
-
1. Codex analyst로 수용 기준 확정:
|
|
65
|
-
```bash
|
|
66
|
-
bash ~/.claude/scripts/tfx-route.sh analyst "${task}" analyze
|
|
67
|
-
```
|
|
68
|
-
2. 결과를 파이프라인 artifact에 저장:
|
|
69
|
-
```
|
|
70
|
-
pipeline.setArtifact('prd_path', prdOutputPath)
|
|
71
|
-
```
|
|
72
|
-
3. pipeline advance: prd → exec
|
|
73
|
-
|
|
74
|
-
## Phase 3.5: Verify (Codex review)
|
|
75
|
-
|
|
76
|
-
1. pipeline advance: exec → verify
|
|
77
|
-
2. Codex verifier로 결과 검증:
|
|
78
|
-
```bash
|
|
79
|
-
bash ~/.claude/scripts/tfx-route.sh verifier "결과 검증: ${task}" review
|
|
80
|
-
```
|
|
81
|
-
— verifier는 Codex --profile thorough review로 실행됨
|
|
82
|
-
3. 검증 결과를 파이프라인 artifact에 저장:
|
|
83
|
-
```
|
|
84
|
-
pipeline.setArtifact('verify_report', verifyOutputPath)
|
|
85
|
-
```
|
|
86
|
-
4. 통과 → pipeline advance: verify → complete → Phase 5 (cleanup)
|
|
87
|
-
5. 실패 → Phase 3.6
|
|
88
|
-
|
|
89
|
-
## Phase 3.6: Fix (Codex executor, max 3회)
|
|
90
|
-
|
|
91
|
-
1. pipeline advance: verify → fix
|
|
92
|
-
— fix_attempt 자동 증가, fix_max(3) 초과 시 전이 거부
|
|
93
|
-
2. fix_attempt > fix_max → Phase 3.7 (ralph loop) 또는 failed 보고 → Phase 5
|
|
94
|
-
3. Codex executor로 실패 항목 수정:
|
|
95
|
-
```bash
|
|
96
|
-
bash ~/.claude/scripts/tfx-route.sh executor "실패 항목 수정: ${failedItems}" implement
|
|
97
|
-
```
|
|
98
|
-
4. pipeline advance: fix → exec (재실행)
|
|
99
|
-
5. → Phase 3 (exec) → Phase 3.5 (verify) 재실행
|
|
100
|
-
|
|
101
|
-
## Phase 3.7: Ralph Loop (fix 3회 초과 시)
|
|
102
|
-
|
|
103
|
-
1. ralph_iteration 증가 (pipeline.restart())
|
|
104
|
-
2. ralph_iteration > ralph_max(10) → 최종 failed → Phase 5
|
|
105
|
-
3. fix_attempt 리셋, 전체 파이프라인 재시작 (Phase 2.5 plan부터)
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "tfx-multi",
|
|
3
|
-
"description": "DEPRECATED — tfx-auto 로 통합됨. `/tfx-auto --parallel N --mode deep` 로 리다이렉트. tfx-auto 가 이 플래그 조합을 받으면 내부적으로 `tfx multi --teammate-mode headless` 를 호출한다. Phase 5 (v11) 에 물리 삭제 예정.",
|
|
4
|
-
"triggers": [
|
|
5
|
-
"tfx-multi"
|
|
6
|
-
],
|
|
7
|
-
"argument_hint": "<작업 설명 — tfx-auto 로 passthrough>",
|
|
8
|
-
"deprecated": true,
|
|
9
|
-
"superseded_by": "tfx-auto"
|
|
10
|
-
}
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: tfx-panel
|
|
3
|
-
description: >
|
|
4
|
-
DEPRECATED — tfx-auto consensus shape 로 통합됨. `/tfx-auto --mode consensus --shape panel` 로 리다이렉트.
|
|
5
|
-
Phase 4a 부터 panel 은 별도 패널 엔진이 아니라 consensus family 내부의 전문가 시뮬레이션 shape 다.
|
|
6
|
-
Phase 5 (v11) 에 물리 삭제 예정.
|
|
7
|
-
deprecated: true
|
|
8
|
-
superseded-by: tfx-auto
|
|
9
|
-
triggers:
|
|
10
|
-
- panel
|
|
11
|
-
- 패널
|
|
12
|
-
- 전문가 토론
|
|
13
|
-
- expert panel
|
|
14
|
-
- 전문가 패널
|
|
15
|
-
argument-hint: "<토론 주제 — tfx-auto 로 passthrough>"
|
|
16
|
-
---
|
|
17
|
-
|
|
18
|
-
# tfx-panel (DEPRECATED → tfx-auto alias)
|
|
19
|
-
|
|
20
|
-
> DEPRECATED. `/tfx-auto --mode consensus --shape panel` 로 리다이렉트.
|
|
21
|
-
> panel 은 이제 독립 스킬이 아니라 `tfx-auto` consensus family 의 전문가 시뮬레이션 shape 다.
|
|
22
|
-
|
|
23
|
-
## 동작
|
|
24
|
-
|
|
25
|
-
canonical 위임 **이전** 에 아래 bash 블록을 한 번 실행한다. Phase 5 (v11) 물리 삭제 게이트는 `.omc/state/alias-usage.log` 의 7일 zero-usage 검증에 의존 — 이 logging 이 빠지면 게이트가 영영 열리지 않는다.
|
|
26
|
-
|
|
27
|
-
```bash
|
|
28
|
-
mkdir -p .omc/state
|
|
29
|
-
echo "[deprecated] tfx-panel -> use: tfx-auto --mode consensus --shape panel" >&2
|
|
30
|
-
echo "[DEPRECATED] tfx-panel — see tfx-auto --mode consensus --shape panel"
|
|
31
|
-
echo "$(date -u +%Y-%m-%dT%H:%M:%SZ) tfx-panel -> tfx-auto --mode consensus --shape panel" >> .omc/state/alias-usage.log
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
1. 위 bash 블록 실행 (stderr 경고 + stdout `[DEPRECATED]` 마커 + alias-usage.log append).
|
|
35
|
-
2. ARGUMENTS 전체 앞에 `--mode consensus --shape panel` 를 prepend 하여 `Skill("tfx-auto")` 호출.
|
|
36
|
-
3. `--experts`, `--cli-set`, `--analysis-prompt-file` 같은 panel 전용 인자는 그대로 passthrough 한다.
|
|
37
|
-
|
|
38
|
-
## 등가 플래그
|
|
39
|
-
|
|
40
|
-
`--mode consensus --shape panel`
|
|
41
|
-
|
|
42
|
-
전문가 shape 입력:
|
|
43
|
-
- `--experts "claude:Martin Fowler|Kent Beck;codex:Sam Newman|Gregor Hohpe;antigravity:Michael Porter|Karl Wiegers"`
|
|
44
|
-
- 명시 roster 가 없으면 `tfx-auto` 가 주제 기반 기본 roster 를 선택한다.
|
|
45
|
-
|
|
46
|
-
## 이 alias 의 의미
|
|
47
|
-
|
|
48
|
-
tfx-panel 의 본질은 "패널 전용 orchestration" 이 아니라 "전문가 roster 를 주입한 뒤 panel 보고서로 렌더링하는 shape" 였다. Phase 4a 부터 공통 합의 루프는 `--mode consensus` 아래에 남기고, 전문가 분배와 panel renderer 만 `--shape panel` 이 책임진다.
|
|
49
|
-
|
|
50
|
-
공통 규약:
|
|
51
|
-
- participants 기본값은 `triad` (Claude/Opus counter-bias outvoice + Codex + Antigravity)
|
|
52
|
-
- 공통 `meta_judgment` 는 `mode_specific_meta.panel_size`, `mode_specific_meta.expert_distribution` 만 shape 확장으로 추가한다
|
|
53
|
-
- artifact 경로는 `.omc/artifacts/consensus/<session-id>/panel.{md,json}` 로 통일한다
|
|
54
|
-
|
|
55
|
-
## 마이그레이션 가이드
|
|
56
|
-
|
|
57
|
-
| 기존 호출 | 새 호출 |
|
|
58
|
-
|----------|---------|
|
|
59
|
-
| `/tfx-panel "모놀리스 분해 전략"` | `/tfx-auto "모놀리스 분해 전략" --mode consensus --shape panel` |
|
|
60
|
-
| `/tfx-panel "가격 전략" --experts "claude:Porter;codex:Wiegers;antigravity:Cagan"` | `/tfx-auto "가격 전략" --mode consensus --shape panel --experts "claude:Porter;codex:Wiegers;antigravity:Cagan"` |
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "tfx-panel",
|
|
3
|
-
"description": "DEPRECATED — tfx-auto consensus shape 로 통합됨. `/tfx-auto --mode consensus --shape panel` 로 리다이렉트. Phase 4a 부터 panel 은 별도 패널 엔진이 아니라 consensus family 내부의 전문가 시뮬레이션 shape 다. Phase 5 (v11) 에 물리 삭제 예정.",
|
|
4
|
-
"triggers": [
|
|
5
|
-
"panel",
|
|
6
|
-
"패널",
|
|
7
|
-
"전문가 토론",
|
|
8
|
-
"expert panel",
|
|
9
|
-
"전문가 패널"
|
|
10
|
-
],
|
|
11
|
-
"argument_hint": "<토론 주제 — tfx-auto 로 passthrough>",
|
|
12
|
-
"deprecated": true,
|
|
13
|
-
"superseded_by": "tfx-auto"
|
|
14
|
-
}
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: tfx-persist
|
|
3
|
-
description: >
|
|
4
|
-
DEPRECATED — tfx-auto 로 통합됨. `/tfx-auto --retry ralph` 로 리다이렉트.
|
|
5
|
-
Phase 3 부터 true ralph state machine (unlimited, stuck detector 3회 중단, state file 복원) 이 동작한다.
|
|
6
|
-
Phase 5 (v11) 에 물리 삭제 예정.
|
|
7
|
-
deprecated: true
|
|
8
|
-
superseded-by: tfx-auto
|
|
9
|
-
triggers:
|
|
10
|
-
- ralph
|
|
11
|
-
- don't stop
|
|
12
|
-
- 끝까지
|
|
13
|
-
- until done
|
|
14
|
-
- 멈추지 마
|
|
15
|
-
argument-hint: "<작업 설명 — tfx-auto 로 passthrough>"
|
|
16
|
-
---
|
|
17
|
-
|
|
18
|
-
# tfx-persist (DEPRECATED → tfx-auto alias)
|
|
19
|
-
|
|
20
|
-
> DEPRECATED. `/tfx-auto --retry ralph` 로 리다이렉트.
|
|
21
|
-
> Phase 3 부터 **true ralph state machine** — hub/team/retry-state-machine.mjs.
|
|
22
|
-
|
|
23
|
-
## 동작
|
|
24
|
-
|
|
25
|
-
canonical 위임 **이전** 에 아래 bash 블록을 한 번 실행한다. Phase 5 (v11) 물리 삭제 게이트는 `.omc/state/alias-usage.log` 의 7일 zero-usage 검증에 의존 — 이 logging 이 빠지면 게이트가 영영 열리지 않는다.
|
|
26
|
-
|
|
27
|
-
```bash
|
|
28
|
-
mkdir -p .omc/state
|
|
29
|
-
echo "[deprecated] tfx-persist -> use: tfx-auto --retry ralph" >&2
|
|
30
|
-
echo "[DEPRECATED] tfx-persist — see tfx-auto --retry ralph"
|
|
31
|
-
echo "$(date -u +%Y-%m-%dT%H:%M:%SZ) tfx-persist -> tfx-auto --retry ralph" >> .omc/state/alias-usage.log
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
1. 위 bash 블록 실행 (stderr 경고 + stdout `[DEPRECATED]` 마커 + alias-usage.log append).
|
|
35
|
-
2. ARGUMENTS 전체 앞에 `--retry ralph` 를 prepend 하여 `Skill("tfx-auto")` 호출.
|
|
36
|
-
3. 스킬 경유 시 기본 `--max-iterations 0` (unlimited) 로 진입. CLI 직접 호출 시 bounded 1 로 진입 (임시 합의안, Phase 3 Open question #2).
|
|
37
|
-
|
|
38
|
-
## 등가 플래그
|
|
39
|
-
|
|
40
|
-
`--retry ralph` (Phase 3)
|
|
41
|
-
|
|
42
|
-
deep mode 이 필요한 경우에만 `--mode deep --retry ralph`. 기존 `--mode deep` 강제는 제거 — ralph 의미는 plan/PRD 오버헤드와 독립.
|
|
43
|
-
|
|
44
|
-
## 이 alias 의 의미
|
|
45
|
-
|
|
46
|
-
tfx-persist 는 "끝까지, 멈추지 마" (ralph) 의미. Phase 2 까지는 bounded verify/fix 3회 루프로 degrade 되었으나, **Phase 3 에서 true state machine 도입으로 의미 회복**.
|
|
47
|
-
|
|
48
|
-
Phase 3 상태 전이:
|
|
49
|
-
```
|
|
50
|
-
PLANNING → EXECUTING → (VERIFY.fail) → DIAGNOSING → EXECUTING …
|
|
51
|
-
→ (VERIFY.success) → DONE
|
|
52
|
-
→ stuckCounter ≥ 3 → STUCK (동일 failureReason 3회 연속 시 중단)
|
|
53
|
-
→ iterations ≥ max → BUDGET_EXCEEDED (max_iterations 0 이면 비활성)
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
상태는 `.omc/state/ralph-<sessionId>.json` 에 jsonl append 로 저장 — compaction survive. `resumeFromStateFile()` 로 재개 가능.
|
|
57
|
-
|
|
58
|
-
## 마이그레이션 가이드
|
|
59
|
-
|
|
60
|
-
| 기존 호출 | 새 호출 |
|
|
61
|
-
|----------|---------|
|
|
62
|
-
| `/tfx-persist "작업"` | `/tfx-auto "작업" --retry ralph` |
|
|
63
|
-
| `/tfx-persist "작업" --max 10` | `/tfx-auto "작업" --retry ralph --max-iterations 10` |
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "tfx-persist",
|
|
3
|
-
"description": "DEPRECATED — tfx-auto 로 통합됨. `/tfx-auto --retry ralph` 로 리다이렉트. Phase 3 부터 true ralph state machine (unlimited, stuck detector 3회 중단, state file 복원) 이 동작한다. Phase 5 (v11) 에 물리 삭제 예정.",
|
|
4
|
-
"triggers": [
|
|
5
|
-
"ralph",
|
|
6
|
-
"don't stop",
|
|
7
|
-
"끝까지",
|
|
8
|
-
"until done",
|
|
9
|
-
"멈추지 마"
|
|
10
|
-
],
|
|
11
|
-
"argument_hint": "<작업 설명 — tfx-auto 로 passthrough>",
|
|
12
|
-
"deprecated": true,
|
|
13
|
-
"superseded_by": "tfx-auto"
|
|
14
|
-
}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: tfx-psmux-rules
|
|
3
|
-
description: >
|
|
4
|
-
legacy alias. Phase 4b부터 psmux 규칙의 source of truth는 skill이 아니라
|
|
5
|
-
.claude/rules/tfx-psmux.md 와 AGENTS.md 의 always-on policy 이다.
|
|
6
|
-
deprecated: true
|
|
7
|
-
superseded-by: .claude/rules/tfx-psmux.md
|
|
8
|
-
triggers:
|
|
9
|
-
- tfx-psmux-rules
|
|
10
|
-
- psmux-rules
|
|
11
|
-
---
|
|
12
|
-
|
|
13
|
-
# tfx-psmux-rules — legacy alias
|
|
14
|
-
|
|
15
|
-
이 항목은 더 이상 기능 스킬이 아니다.
|
|
16
|
-
Phase 4b부터 psmux 규칙의 source of truth는 아래 두 문서다.
|
|
17
|
-
|
|
18
|
-
- `.claude/rules/tfx-psmux.md`
|
|
19
|
-
- `AGENTS.md` 의 `TFX psmux Rules` 섹션
|
|
20
|
-
|
|
21
|
-
## Deprecation logging (alias 호출 즉시 실행 필수)
|
|
22
|
-
|
|
23
|
-
canonical 위임 **이전** 에 아래 bash 블록을 한 번 실행한다. Phase 5 (v11) 물리 삭제 게이트는 `.omc/state/alias-usage.log` 의 7일 zero-usage 검증에 의존.
|
|
24
|
-
|
|
25
|
-
```bash
|
|
26
|
-
mkdir -p .omc/state
|
|
27
|
-
echo "[deprecated] tfx-psmux-rules -> see: .claude/rules/tfx-psmux.md" >&2
|
|
28
|
-
echo "[DEPRECATED] tfx-psmux-rules — see .claude/rules/tfx-psmux.md"
|
|
29
|
-
echo "$(date -u +%Y-%m-%dT%H:%M:%SZ) tfx-psmux-rules -> .claude/rules/tfx-psmux.md" >> .omc/state/alias-usage.log
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
## Alias behavior
|
|
33
|
-
|
|
34
|
-
- 이전 `tfx-psmux-rules` 호출은 항상-on rule 문서 참조로 안내한다.
|
|
35
|
-
- 새로운 명령 표면이나 워크플로우는 이 이름 아래 추가하지 않는다.
|
|
36
|
-
- 실제 enforcement source는 문서가 아니라 hook/util/preflight 코드다.
|
|
37
|
-
|
|
38
|
-
## Operator note
|
|
39
|
-
|
|
40
|
-
이 alias는 Phase 4 thin compatibility stub이다. Phase 5에서 repo-wide reference zero가
|
|
41
|
-
만족되면 삭제 후보가 된다.
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "tfx-psmux-rules",
|
|
3
|
-
"description": "legacy alias. Phase 4b부터 psmux 규칙의 source of truth는 skill이 아니라 .claude/rules/tfx-psmux.md 와 AGENTS.md 의 always-on policy 이다.",
|
|
4
|
-
"triggers": [
|
|
5
|
-
"tfx-psmux-rules",
|
|
6
|
-
"psmux-rules"
|
|
7
|
-
],
|
|
8
|
-
"deprecated": true,
|
|
9
|
-
"superseded_by": ".claude/rules/tfx-psmux.md"
|
|
10
|
-
}
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: tfx-remote-setup
|
|
3
|
-
description: >
|
|
4
|
-
legacy thin alias. Phase 4b부터 setup 관련 공용 진입점은 tfx-remote setup 이다.
|
|
5
|
-
deprecated: true
|
|
6
|
-
superseded-by: tfx-remote
|
|
7
|
-
triggers:
|
|
8
|
-
- tfx-remote-setup
|
|
9
|
-
argument-hint: "[--add|--edit|--probe-all|--diagnose]"
|
|
10
|
-
---
|
|
11
|
-
|
|
12
|
-
# tfx-remote-setup — legacy alias
|
|
13
|
-
|
|
14
|
-
이 스킬은 Phase 4b thin alias다. 새 표면은 `tfx-remote setup` 하나다.
|
|
15
|
-
|
|
16
|
-
## Deprecation logging (alias 호출 즉시 실행 필수)
|
|
17
|
-
|
|
18
|
-
canonical 위임 **이전** 에 아래 bash 블록을 한 번 실행한다. Phase 5 (v11) 물리 삭제 게이트는 `.omc/state/alias-usage.log` 의 7일 zero-usage 검증에 의존.
|
|
19
|
-
|
|
20
|
-
```bash
|
|
21
|
-
mkdir -p .omc/state
|
|
22
|
-
echo "[deprecated] tfx-remote-setup -> use: tfx-remote setup" >&2
|
|
23
|
-
echo "[DEPRECATED] tfx-remote-setup — see tfx-remote setup"
|
|
24
|
-
echo "$(date -u +%Y-%m-%dT%H:%M:%SZ) tfx-remote-setup -> tfx-remote setup" >> .omc/state/alias-usage.log
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
## Alias mapping
|
|
28
|
-
|
|
29
|
-
- `tfx-remote-setup`
|
|
30
|
-
- `tfx-remote setup`
|
|
31
|
-
- `tfx-remote setup --add`
|
|
32
|
-
- `tfx-remote setup --edit`
|
|
33
|
-
- `tfx-remote setup --probe-all`
|
|
34
|
-
- `tfx-remote setup --diagnose`
|
|
35
|
-
|
|
36
|
-
## Dispatch rule
|
|
37
|
-
|
|
38
|
-
기존 Add/Edit/Probe All/Diagnose 워크플로우는 유지하되, 사용자-facing 안내와
|
|
39
|
-
후속 문맥에서는 항상 `tfx-remote setup` 명령군을 기준으로 말한다.
|
|
40
|
-
|
|
41
|
-
새 문서를 작성하거나 사용 예시를 제시할 때 `tfx-remote-setup`을 신규 표면처럼
|
|
42
|
-
소개하지 않는다.
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "tfx-remote-setup",
|
|
3
|
-
"description": "legacy thin alias. Phase 4b부터 setup 관련 공용 진입점은 tfx-remote setup 이다.",
|
|
4
|
-
"triggers": [
|
|
5
|
-
"tfx-remote-setup"
|
|
6
|
-
],
|
|
7
|
-
"argument_hint": "[--add|--edit|--probe-all|--diagnose]",
|
|
8
|
-
"deprecated": true,
|
|
9
|
-
"superseded_by": "tfx-remote"
|
|
10
|
-
}
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: tfx-remote-spawn
|
|
3
|
-
description: >
|
|
4
|
-
legacy thin alias. Phase 4b부터 spawn/list/attach/send/resume/kill/probe 공용 진입점은
|
|
5
|
-
tfx-remote 이다.
|
|
6
|
-
deprecated: true
|
|
7
|
-
superseded-by: tfx-remote
|
|
8
|
-
triggers:
|
|
9
|
-
- tfx-remote-spawn
|
|
10
|
-
argument-hint: "[spawn|list|attach|send|resume|kill|probe] ..."
|
|
11
|
-
---
|
|
12
|
-
|
|
13
|
-
# tfx-remote-spawn — legacy alias
|
|
14
|
-
|
|
15
|
-
이 스킬은 Phase 4b thin alias다. 새 표면은 `tfx-remote` 명령군이다.
|
|
16
|
-
|
|
17
|
-
## hosts.json location
|
|
18
|
-
|
|
19
|
-
호스트 별칭/설정은 canonical `tfx-remote` 와 동일하게 user-state 경로 한 곳만 사용한다.
|
|
20
|
-
- macOS/Linux: `~/.config/triflux/hosts.json`
|
|
21
|
-
- Windows: `%APPDATA%\triflux\hosts.json`
|
|
22
|
-
|
|
23
|
-
기존 `references/hosts.json` 및 source/packages/global fan-out는 더 이상 사용하지 않는다.
|
|
24
|
-
첫 실행 시 legacy `references/hosts.json` 이 발견되면 lazy auto-migration으로 user-state 경로에 자동 이동된다.
|
|
25
|
-
|
|
26
|
-
## Deprecation logging (alias 호출 즉시 실행 필수)
|
|
27
|
-
|
|
28
|
-
canonical 위임 **이전** 에 아래 bash 블록을 한 번 실행한다. Phase 5 (v11) 물리 삭제 게이트는 `.omc/state/alias-usage.log` 의 7일 zero-usage 검증에 의존.
|
|
29
|
-
|
|
30
|
-
```bash
|
|
31
|
-
mkdir -p .omc/state
|
|
32
|
-
echo "[deprecated] tfx-remote-spawn -> use: tfx-remote" >&2
|
|
33
|
-
echo "[DEPRECATED] tfx-remote-spawn — see tfx-remote"
|
|
34
|
-
echo "$(date -u +%Y-%m-%dT%H:%M:%SZ) tfx-remote-spawn -> tfx-remote" >> .omc/state/alias-usage.log
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
## Alias mapping
|
|
38
|
-
|
|
39
|
-
- `tfx-remote-spawn <host> [prompt]` → `tfx-remote spawn <host> [prompt]`
|
|
40
|
-
- `tfx-remote-spawn --list` → `tfx-remote list`
|
|
41
|
-
- `tfx-remote-spawn --attach <session>` → `tfx-remote attach <session>`
|
|
42
|
-
- `tfx-remote-spawn --send <session> "<msg>"` → `tfx-remote send <session> "<msg>"`
|
|
43
|
-
- `tfx-remote-spawn --probe <host>` → `tfx-remote probe <host>`
|
|
44
|
-
- 최근 세션 복귀/호스트 기반 재개 → `tfx-remote resume <session|host|recent>`
|
|
45
|
-
- 세션 종료 → `tfx-remote kill <session>`
|
|
46
|
-
|
|
47
|
-
## Parity note
|
|
48
|
-
|
|
49
|
-
`capture` / `wait`는 public consolidation 대상이 아니다. 기존 parity가 필요하면
|
|
50
|
-
legacy passthrough 또는 내부 debug 표면으로만 유지한다.
|
|
51
|
-
|
|
52
|
-
새 문서나 사용자 안내에서 `tfx-remote-spawn`을 1급 표면처럼 홍보하지 않는다.
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "tfx-remote-spawn",
|
|
3
|
-
"description": "legacy thin alias. Phase 4b부터 spawn/list/attach/send/resume/kill/probe 공용 진입점은 tfx-remote 이다.",
|
|
4
|
-
"triggers": [
|
|
5
|
-
"tfx-remote-spawn"
|
|
6
|
-
],
|
|
7
|
-
"argument_hint": "[spawn|list|attach|send|resume|kill|probe] ...",
|
|
8
|
-
"deprecated": true,
|
|
9
|
-
"superseded_by": "tfx-remote"
|
|
10
|
-
}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: tfx-swarm
|
|
3
|
-
description: >
|
|
4
|
-
DEPRECATED — tfx-auto 로 통합됨. `/tfx-auto --parallel swarm --mode consensus --isolation worktree` 로 리다이렉트.
|
|
5
|
-
실제 swarm 엔진 (PRD 파싱, shard 스케줄링, reconcile) 은 `tfx swarm` CLI 에 그대로 유지된다.
|
|
6
|
-
Phase 5 (v11) 에 물리 삭제 예정.
|
|
7
|
-
deprecated: true
|
|
8
|
-
superseded-by: tfx-auto
|
|
9
|
-
triggers:
|
|
10
|
-
- swarm
|
|
11
|
-
- 스웜
|
|
12
|
-
- 병렬 실행
|
|
13
|
-
- codex-swarm
|
|
14
|
-
argument-hint: "<PRD 경로 — tfx-auto 로 passthrough>"
|
|
15
|
-
---
|
|
16
|
-
|
|
17
|
-
# tfx-swarm (DEPRECATED → tfx-auto alias)
|
|
18
|
-
|
|
19
|
-
> DEPRECATED. `/tfx-auto --parallel swarm --mode consensus --isolation worktree` 로 리다이렉트.
|
|
20
|
-
> Phase 5 (v11) 에 물리 삭제 예정.
|
|
21
|
-
|
|
22
|
-
## 동작
|
|
23
|
-
|
|
24
|
-
canonical 위임 **이전** 에 아래 bash 블록을 한 번 실행한다. Phase 5 (v11) 물리 삭제 게이트는 `.omc/state/alias-usage.log` 의 7일 zero-usage 검증에 의존 — 이 logging 이 빠지면 게이트가 영영 열리지 않는다.
|
|
25
|
-
|
|
26
|
-
```bash
|
|
27
|
-
mkdir -p .omc/state
|
|
28
|
-
echo "[deprecated] tfx-swarm -> use: tfx-auto --parallel swarm --mode consensus --isolation worktree" >&2
|
|
29
|
-
echo "[DEPRECATED] tfx-swarm — see tfx-auto --parallel swarm --mode consensus --isolation worktree"
|
|
30
|
-
echo "$(date -u +%Y-%m-%dT%H:%M:%SZ) tfx-swarm -> tfx-auto --parallel swarm --mode consensus --isolation worktree" >> .omc/state/alias-usage.log
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
1. 위 bash 블록 실행 (stderr 경고 + stdout `[DEPRECATED]` 마커 + alias-usage.log append).
|
|
34
|
-
2. ARGUMENTS 전체 앞에 `--parallel swarm --mode consensus --isolation worktree` 를 prepend 하여 `Skill("tfx-auto")` 호출.
|
|
35
|
-
3. tfx-auto 의 플래그 오버라이드 로직이 `tfx swarm <prd>` CLI 를 호출한다 (실제 swarm 엔진은 변경 없음).
|
|
36
|
-
|
|
37
|
-
## 등가 플래그
|
|
38
|
-
|
|
39
|
-
`--parallel swarm --mode consensus --isolation worktree`
|
|
40
|
-
|
|
41
|
-
## 이 alias 의 의미
|
|
42
|
-
|
|
43
|
-
tfx-swarm 의 "worktree 격리 + 다중 모델 + PRD 기반 오케스트레이션" 은 플래그 조합으로 entry semantics 를 표현한다. 실제 swarm 엔진 (`hub/team/swarm-planner.mjs`, `swarm-hypervisor.mjs`, file-lease, reconcile) 은 그대로 유지되고 tfx-auto 가 이 경로를 호출한다. PRD 포맷 예시는 `docs/prd/_template.md` 참조.
|
|
44
|
-
|
|
45
|
-
## 마이그레이션 가이드
|
|
46
|
-
|
|
47
|
-
| 기존 호출 | 새 호출 |
|
|
48
|
-
|----------|---------|
|
|
49
|
-
| `/tfx-swarm <PRD>` | `/tfx-auto <PRD> --parallel swarm --mode consensus --isolation worktree` |
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "tfx-swarm",
|
|
3
|
-
"description": "DEPRECATED — tfx-auto 로 통합됨. `/tfx-auto --parallel swarm --mode consensus --isolation worktree` 로 리다이렉트. 실제 swarm 엔진 (PRD 파싱, shard 스케줄링, reconcile) 은 `tfx swarm` CLI 에 그대로 유지된다. Phase 5 (v11) 에 물리 삭제 예정.",
|
|
4
|
-
"triggers": [
|
|
5
|
-
"swarm",
|
|
6
|
-
"스웜",
|
|
7
|
-
"병렬 실행",
|
|
8
|
-
"codex-swarm"
|
|
9
|
-
],
|
|
10
|
-
"argument_hint": "<PRD 경로 — tfx-auto 로 passthrough>",
|
|
11
|
-
"deprecated": true,
|
|
12
|
-
"superseded_by": "tfx-auto"
|
|
13
|
-
}
|