triflux 10.43.0 → 10.44.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 +2 -0
- package/adapters/codex/skills/tfx-harness/SKILL.md +30 -0
- package/adapters/codex/skills/tfx-harness/skill.json +5 -0
- package/bin/triflux.mjs +14 -0
- package/hooks/keyword-rules.json +139 -19
- package/hub/cli-adapter-base.mjs +11 -2
- package/hub/codex-adapter.mjs +3 -0
- package/hub/intent.mjs +24 -32
- package/hub/router.mjs +272 -0
- package/hub/schema.sql +61 -2
- package/hub/server.mjs +42 -0
- package/hub/store.mjs +577 -5
- package/hub/team/conductor.mjs +23 -2
- package/hub/team/execution-mode.mjs +12 -2
- package/hub/team/headless.mjs +16 -0
- package/hub/team/retry-state-machine.mjs +8 -3
- package/hub/team/swarm-hypervisor.mjs +1 -0
- package/hub/team/swarm-preflight.mjs +47 -0
- package/hub/team/synapse-http.mjs +149 -4
- package/hub/team/worktree-lifecycle.mjs +56 -59
- package/hub/tools.mjs +11 -0
- package/hub/workers/codex-mcp.mjs +20 -4
- package/hub/workers/delegator-mcp.mjs +3 -49
- package/package.json +2 -1
- package/scripts/__tests__/lint-skills.test.mjs +68 -0
- package/scripts/__tests__/tfx-route-node-entry.test.mjs +36 -0
- package/scripts/keyword-detector.mjs +55 -8
- package/scripts/lib/agent-route-policy.mjs +360 -0
- package/scripts/lib/cli-codex.mjs +22 -160
- package/scripts/lib/codex-profile-config.mjs +29 -3
- package/scripts/lib/keyword-rules.mjs +12 -0
- package/scripts/lint-skills.mjs +65 -0
- package/scripts/pack.mjs +13 -0
- package/scripts/release/check-packages-mirror.mjs +5 -0
- package/scripts/setup.mjs +94 -2
- package/scripts/tfx-route.mjs +14 -1
- package/scripts/tfx-route.sh +233 -70
- package/skills/tfx-harness/SKILL.md +19 -76
- package/skills/tfx-hub/SKILL.md +1 -1
- package/skills/tfx-interview/SKILL.md +3 -1
- package/skills/tfx-interview/skill.json +1 -13
- package/skills/tfx-profile/SKILL.md +25 -15
- package/skills/tfx-prune/SKILL.md +3 -1
- package/skills/tfx-prune/skill.json +1 -8
- package/skills/tfx-setup/SKILL.md +1 -1
- package/tui/codex-profile.mjs +11 -2
- package/tui/setup.mjs +2 -0
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
---
|
|
2
2
|
internal: true
|
|
3
3
|
name: tfx-prune
|
|
4
|
-
description: "
|
|
4
|
+
description: "명시 `tfx-prune` 또는 TFX 3자 합의 cleanup을 요청할 때 사용한다. 무수식 AI slop/deslop/refactor는 host ai-slop-cleaner가 소유한다."
|
|
5
5
|
argument-hint: "[파일 경로 또는 git diff 범위]"
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
# tfx-prune — Tri-Verified AI Slop Remover
|
|
9
9
|
|
|
10
|
+
라우팅 정본 D8은 `.claude/rules/tfx-routing.md`를 따른다.
|
|
11
|
+
|
|
10
12
|
> **ARGUMENTS 처리**: 이 스킬이 `ARGUMENTS: <값>`과 함께 호출되면, 해당 값을 사용자 입력으로 취급하여
|
|
11
13
|
> 워크플로우의 첫 단계 입력으로 사용한다. ARGUMENTS가 비어있거나 없으면 기존 절차대로 사용자에게 입력을 요청한다.
|
|
12
14
|
|
|
@@ -1,13 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "tfx-prune",
|
|
3
|
-
"description": "
|
|
4
|
-
"triggers": [
|
|
5
|
-
"deslop",
|
|
6
|
-
"슬롭 제거",
|
|
7
|
-
"anti-slop",
|
|
8
|
-
"정리",
|
|
9
|
-
"slop"
|
|
10
|
-
],
|
|
3
|
+
"description": "명시 `tfx-prune` 또는 TFX 3자 합의 cleanup을 요청할 때 사용한다. 무수식 AI slop/deslop/refactor는 host ai-slop-cleaner가 소유한다.",
|
|
11
4
|
"argument_hint": "[파일 경로 또는 git diff 범위]",
|
|
12
5
|
"internal": true
|
|
13
6
|
}
|
|
@@ -113,7 +113,7 @@ Bash("triflux setup")
|
|
|
113
113
|
#### 단계 3: Codex 프로파일
|
|
114
114
|
|
|
115
115
|
`~/.codex/config.toml`을 Read 도구로 읽어 필수 프로파일 존재 여부 확인.
|
|
116
|
-
필수: `gpt56_sol_xhigh`, `gpt56_terra_high`, `gpt56_terra_med`, `gpt56_luna_low`.
|
|
116
|
+
필수: `gpt56_sol_ultra`, `gpt56_sol_max`, `gpt56_sol_xhigh`, `gpt56_terra_high`, `gpt56_terra_med`, `gpt56_luna_low`.
|
|
117
117
|
|
|
118
118
|
- 모두 존재 → ✅ 표시
|
|
119
119
|
- 누락 있으면 → AskUserQuestion:
|
package/tui/codex-profile.mjs
CHANGED
|
@@ -50,7 +50,9 @@ const EFFORT_LEVELS = [
|
|
|
50
50
|
{ label: "low", hint: "빠른 응답, 최소 추론" },
|
|
51
51
|
{ label: "medium", hint: "균형 잡힌 추론" },
|
|
52
52
|
{ label: "high", hint: "깊은 추론" },
|
|
53
|
-
{ label: "xhigh", hint: "
|
|
53
|
+
{ label: "xhigh", hint: "고강도 추론" },
|
|
54
|
+
{ label: "max", hint: "최난도 단일 작업" },
|
|
55
|
+
{ label: "ultra", hint: "최대 추론 + 자동 위임 (최상위 전용)" },
|
|
54
56
|
];
|
|
55
57
|
|
|
56
58
|
// ── TOML Parsing ──
|
|
@@ -186,7 +188,14 @@ function showStatus(config) {
|
|
|
186
188
|
|
|
187
189
|
function effortColor(effort) {
|
|
188
190
|
if (!effort) return `${DIM}inherit${RESET}`;
|
|
189
|
-
const colors = {
|
|
191
|
+
const colors = {
|
|
192
|
+
low: GREEN,
|
|
193
|
+
medium: CYAN,
|
|
194
|
+
high: YELLOW,
|
|
195
|
+
xhigh: RED,
|
|
196
|
+
max: RED,
|
|
197
|
+
ultra: RED,
|
|
198
|
+
};
|
|
190
199
|
return `${colors[effort] || ""}${effort}${RESET}`;
|
|
191
200
|
}
|
|
192
201
|
|
package/tui/setup.mjs
CHANGED
|
@@ -36,6 +36,8 @@ const CODEX_DIR = join(homedir(), ".codex");
|
|
|
36
36
|
const GEMINI_DIR = join(homedir(), ".gemini");
|
|
37
37
|
const SETTINGS_PATH = join(CLAUDE_DIR, "settings.json");
|
|
38
38
|
const REQUIRED_CODEX_PROFILE_NAMES = [
|
|
39
|
+
"gpt56_sol_ultra",
|
|
40
|
+
"gpt56_sol_max",
|
|
39
41
|
"gpt56_sol_xhigh",
|
|
40
42
|
"gpt56_terra_high",
|
|
41
43
|
"gpt56_terra_med",
|