Skip to content

Commit 841dff6

Browse files
SonAIengineclaude
andcommitted
release: v0.15.0 — plan_workflow API, 시각화 편집기, SSE transport, 1068 tool 검증
## v0.15.0 주요 변경 ### 신규 기능 - plan_workflow() API — Graph 기반 멀티스텝 워크플로우 체인 자동 구성 - Workflow 시각화 편집 툴 — 브라우저 드래그앤드롭 편집기 - SSE/Streamable-HTTP transport — 원격 MCP 배포 지원 - plan.open_editor() — 브라우저에서 워크플로우 편집 - JSON save/load — 워크플로우 저장/공유 ### 아키텍처 개선 - Graph → candidate injection 전환 (wRRF fusion에서 분리) - set_weights() 버그 수정 - Resource-first search 범용화 (GitHub alias 49개 제거) ### 검증 - 1068 tool 스트레스 테스트 (GitHub 전체 API) - 6개 retrieval 전략 경쟁 벤치마크 - 494 tests passed ### WBS Phase 4.5 완료 - 17개 작업 항목 전체 완료 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 241ea2d commit 841dff6

4 files changed

Lines changed: 90 additions & 13 deletions

File tree

docs/wbs/README.md

Lines changed: 35 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
| **2.5** | MCP Annotation | MCP ingest, intent classifier, annotation-aware retrieval | ✅ 완료 | - |
1111
| **3** | Production | CLI, 시각화, conflict detection, commerce preset | ✅ 완료 | - |
1212
| **4** | Community | LangChain 등록, interactive dashboard, 블로그, 최적화 | 🟨 진행 중 | 2주 |
13+
| **4.5** | Workflow + Scale | plan_workflow API, 시각화 편집, SSE transport, 1068 tool 검증 | ✅ 완료 | - |
1314

1415
## WBS 전체 트리
1516

@@ -129,16 +130,40 @@ graph-tool-call
129130
│ ├── 3-8. GitHub Actions CI ✅
130131
│ └── 3-9. PyPI 배포 ⬜ Phase 4로 이월
131132
132-
└── Phase 4: Community + Dashboard 🟨
133-
├── 4-1. Interactive Dashboard (Dash Cytoscape) ← NEW
134-
│ ├── 4-1a. 그래프 탐색 UI
135-
│ ├── 4-1b. 수동 편집 (관계 추가/삭제)
136-
│ ├── 4-1c. 검색 테스트 UI
137-
│ └── 4-1d. 관계 검증 (confirm/reject)
138-
├── 4-2. LangChain community package 등록
139-
├── 4-3. 블로그: "Why Graph > Vector for Tool Retrieval"
140-
├── 4-4. (선택) LAPIS 포맷 출력
141-
└── 4-5. (선택) Rust(PyO3+petgraph) 최적화
133+
├── Phase 4: Community + Dashboard 🟨
134+
│ ├── 4-1. Interactive Dashboard (Dash Cytoscape)
135+
│ │ ├── 4-1a. 그래프 탐색 UI ✅
136+
│ │ ├── 4-1b. 수동 편집 (관계 추가/삭제) ✅ (Workflow Editor로 대체)
137+
│ │ ├── 4-1c. 검색 테스트 UI ✅
138+
│ │ └── 4-1d. 관계 검증 (confirm/reject) ⬜
139+
│ ├── 4-2. LangChain community package 등록 ⬜
140+
│ ├── 4-3. 블로그: "Why Graph > Vector for Tool Retrieval" ⬜
141+
│ ├── 4-4. (선택) LAPIS 포맷 출력 ⬜
142+
│ └── 4-5. (선택) Rust(PyO3+petgraph) 최적화 ⬜
143+
144+
└── Phase 4.5: Workflow + Scale ✅
145+
├── 4.5-1. plan_workflow() API ✅
146+
│ ├── 4.5-1a. WorkflowPlanner (resource-first → chain → topo sort) ✅
147+
│ ├── 4.5-1b. 수동 편집 (insert/remove/reorder/set_param_mapping) ✅
148+
│ ├── 4.5-1c. JSON save/load ✅
149+
│ └── 4.5-1d. LLM-assisted 체인 보강 ✅
150+
├── 4.5-2. Workflow 시각화 편집 툴 ✅
151+
│ ├── 4.5-2a. 브라우저 기반 드래그앤드롭 에디터 (zero-dep HTML) ✅
152+
│ └── 4.5-2b. plan.open_editor() Python API 연동 ✅
153+
├── 4.5-3. SSE/Streamable-HTTP transport ✅
154+
│ ├── 4.5-3a. serve --transport sse/streamable-http ✅
155+
│ └── 4.5-3b. proxy --transport sse/streamable-http ✅
156+
├── 4.5-4. Graph 아키텍처 전환 ✅
157+
│ ├── 4.5-4a. Graph → candidate injection (wRRF에서 분리) ✅
158+
│ ├── 4.5-4b. set_weights() 버그 수정 ✅
159+
│ └── 4.5-4c. Resource-first search 범용화 (GitHub alias 제거) ✅
160+
├── 4.5-5. 경쟁 벤치마크 ✅
161+
│ ├── 4.5-5a. 6개 retrieval 전략 공정 비교 ✅
162+
│ └── 4.5-5b. 1068 tool 스트레스 테스트 (GitHub full API) ✅
163+
└── 4.5-6. Retrieval 개선 ✅
164+
├── 4.5-6a. Intent 사전 확장 (+16 동사) ✅
165+
├── 4.5-6b. 한영 사전 35→114개 확장 ✅
166+
└── 4.5-6c. Confidence-aware wRRF ✅
142167
```
143168

144169
## 피드백 반영 요약 (v2)

docs/wbs/phase-4-community.md

Lines changed: 53 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
| ID | 작업 | 파일 | 상태 |
1414
|----|------|------|------|
1515
| 4-1a | 그래프 탐색 UI (줌/팬/클릭 상세) | `dashboard/app.py` ||
16-
| 4-1b | 수동 편집 (관계 추가/삭제) | `dashboard/app.py` | |
16+
| 4-1b | 수동 편집 (관계 추가/삭제) | Workflow Editor HTML로 대체 | |
1717
| 4-1c | 검색 테스트 UI (쿼리 → 결과 하이라이트) | `dashboard/app.py` ||
1818
| 4-1d | 관계 검증 (confirm/reject) | `dashboard/app.py` ||
1919

@@ -56,3 +56,55 @@
5656
| ID | 작업 | 상태 |
5757
|----|------|------|
5858
| 4-5a | PyO3 + petgraph로 그래프 연산 최적화 ||
59+
60+
---
61+
62+
## Phase 4.5: Workflow + Scale (추가됨)
63+
64+
**상태**: ✅ 완료
65+
66+
### 4.5-1. plan_workflow() API ✅
67+
68+
| ID | 작업 | 파일 | 상태 |
69+
|----|------|------|------|
70+
| 4.5-1a | WorkflowPlanner (resource-first → chain → topo sort) | `workflow.py` ||
71+
| 4.5-1b | 수동 편집 (insert/remove/reorder/set_param_mapping) | `workflow.py` ||
72+
| 4.5-1c | JSON save/load | `workflow.py` ||
73+
| 4.5-1d | LLM-assisted 체인 보강 | `workflow.py` ||
74+
75+
### 4.5-2. Workflow 시각화 편집 툴 ✅
76+
77+
| ID | 작업 | 파일 | 상태 |
78+
|----|------|------|------|
79+
| 4.5-2a | 브라우저 기반 드래그앤드롭 에디터 | `static/workflow_editor.html` ||
80+
| 4.5-2b | plan.open_editor() Python API 연동 | `workflow.py` ||
81+
82+
### 4.5-3. SSE/Streamable-HTTP transport ✅
83+
84+
| ID | 작업 | 파일 | 상태 |
85+
|----|------|------|------|
86+
| 4.5-3a | serve --transport sse/streamable-http | `mcp_server.py` ||
87+
| 4.5-3b | proxy --transport sse/streamable-http | `mcp_proxy.py` ||
88+
89+
### 4.5-4. Graph 아키텍처 전환 ✅
90+
91+
| ID | 작업 | 파일 | 상태 |
92+
|----|------|------|------|
93+
| 4.5-4a | Graph → candidate injection (wRRF에서 분리) | `retrieval/engine.py` ||
94+
| 4.5-4b | set_weights() 버그 수정 (adaptive 덮어쓰기) | `retrieval/engine.py` ||
95+
| 4.5-4c | Resource-first search 범용화 (GitHub alias 제거) | `retrieval/graph_search.py` ||
96+
97+
### 4.5-5. 경쟁 벤치마크 ✅
98+
99+
| ID | 작업 | 파일 | 상태 |
100+
|----|------|------|------|
101+
| 4.5-5a | 6개 retrieval 전략 공정 비교 | `benchmarks/run_competitive.py` ||
102+
| 4.5-5b | 1068 tool 스트레스 테스트 (GitHub full API) | `benchmarks/` ||
103+
104+
### 4.5-6. Retrieval 개선 ✅
105+
106+
| ID | 작업 | 파일 | 상태 |
107+
|----|------|------|------|
108+
| 4.5-6a | Intent 사전 확장 (+16 동사) | `retrieval/intent.py` ||
109+
| 4.5-6b | 한영 사전 35→114개 확장 | `ko_en_dict.py` ||
110+
| 4.5-6c | Confidence-aware wRRF | `retrieval/engine.py` ||

graph_tool_call/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
"parse_tool",
2424
]
2525

26-
__version__ = "0.14.1"
26+
__version__ = "0.15.0"
2727

2828
# Lazy imports for analyze/assist symbols — avoid loading heavy submodules at import time
2929
_LAZY_IMPORTS: dict[str, tuple[str, str]] = {

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "poetry.core.masonry.api"
44

55
[tool.poetry]
66
name = "graph-tool-call"
7-
version = "0.14.1"
7+
version = "0.15.0"
88
description = "Graph-structured tool retrieval for LLM agents — zero-dependency, ontology-aware hybrid search"
99
authors = ["SonAIengine"]
1010
license = "MIT"

0 commit comments

Comments
 (0)