diff --git a/.planning/HANDOFF.json b/.planning/HANDOFF.json
index 9a93add..c5c8b1b 100644
--- a/.planning/HANDOFF.json
+++ b/.planning/HANDOFF.json
@@ -1,56 +1,24 @@
{
- "version": "2.0",
- "timestamp": "2026-04-07T18:07:00+09:00",
- "current_phase": "02-api-engine",
- "phase_status": "complete",
- "next_phase": "03-vscode-extension",
-
- "completed": [
- {
- "phase": "01-llm-tuning",
- "summary": "5개 모델 최적 추론 설정 확정",
- "key_output": "config/engine_models.json",
- "metrics": {
- "fast_gemma4_26b": "74.65 t/s, 256K ctx, dual GPU",
- "balanced_qwen_35b": "61.62 t/s, 256K ctx, dual GPU",
- "deep_coder_gemma4_31b": "16.0 t/s, 192K ctx, dual GPU",
- "deep_logic_qwen_27b": "16.7 t/s, 256K ctx, dual GPU",
- "ultra_qwen_122b": "8.95 t/s, 256K ctx, GPU 1 only"
- }
- },
- {
- "phase": "02-api-engine",
- "summary": "Variet Engine v1.0 — FastAPI 리버스 프록시 + 모델 핫스왑",
- "key_output": "engine/variet_engine.py",
- "features": [
- "단일 포트(8000) OpenAI-compatible API",
- "/engine/switch/{role} 핫스왑",
- "교체 중 503+Retry-After 클라이언트 보호",
- "llama-server 프로세스 생명주기 관리",
- "config/engine_models.json 기반 설정"
- ],
- "verified": true
- }
+ "version": "1.0",
+ "timestamp": "2026-04-07T22:40:56+09:00",
+ "phase": "05",
+ "phase_name": "vs-code-extension-packaging",
+ "phase_dir": ".planning/phases/05-vscode-extension-packaging",
+ "plan": null,
+ "task": null,
+ "total_tasks": 0,
+ "status": "paused_between_phases",
+ "completed_tasks": [],
+ "remaining_tasks": [],
+ "blockers": [],
+ "human_actions_pending": [],
+ "decisions": [
+ {"decision": "OpenAI-compatible shim (CLAUDE_CODE_USE_OPENAI=1) for Variet Engine connection", "rationale": "llama-server exposes /v1 endpoints, matches OpenClaude Option 2 pattern", "phase": "03"},
+ {"decision": "agentRouting with single 'variet-fast' model", "rationale": "Variet Engine loads one model at a time, hot-swap via /engine/switch/{role} API", "phase": "04"},
+ {"decision": "Machine A IP = 192.168.10.4", "rationale": "Confirmed via Get-NetIPAddress, LAN ethernet interface", "phase": "03"},
+ {"decision": "--print mode sufficient for CLI validation", "rationale": "Interactive tool calls (bash, file) require terminal session, deferred to VS Code Extension phase", "phase": "04"}
],
-
- "hardware_notes": {
- "gpu0": "RTX 3060 12GB — PCIe 3.0 x4 (B550 chipset, ~4 GB/s)",
- "gpu1": "RTX 3060 12GB — PCIe 4.0 x16 (CPU direct, ~32 GB/s)",
- "constraint": "122B MoE는 GPU 1 단독 사용 필수 (-sm none --main-gpu 1)",
- "ram": "96GB DDR4"
- },
-
- "project_structure": {
- "config/engine_models.json": "5개 모델 CLI 설정 (Single Source of Truth)",
- "engine/variet_engine.py": "FastAPI 프록시 + llama-server 관리자",
- "start_variet_engine.bat": "원클릭 엔진 런처",
- "scripts/optimal_configs.py": "실측 레퍼런스 (deprecated)",
- "scripts/_archive/": "튜닝/벤치마크 이력 보관"
- },
-
- "next_steps": [
- "Machine A에서 start_variet_engine.bat 상시 구동 설정 (작업 스케줄러 or 서비스)",
- "Machine B에서 VS Code Extension 개발 시작 (에이전트 루프)",
- "Machine B에서 Discord Bot 개발 시작 (개인 비서)"
- ]
+ "uncommitted_files": ["openclaude (submodule — node_modules/dist built locally)"],
+ "next_action": "/gsd-plan-phase 05 — Create VS Code Extension packaging plan, build .vsix, install on Machine B",
+ "context_notes": "Milestone v1.1 is 2/3 complete. Phases 03-04 done (CLI build, provider connection, agent routing, hot-swap, streaming). Phase 05 remains: package openclaude-vscode extension as .vsix with Variet Engine preset config. Variet Engine is currently running on this machine (192.168.10.4:8000, Gemma 4 26B fast role). OpenClaude CLI is built at openclaude/dist/cli.mjs."
}
diff --git a/.planning/phases/05-vscode-extension-packaging/.continue-here.md b/.planning/phases/05-vscode-extension-packaging/.continue-here.md
new file mode 100644
index 0000000..6abb55b
--- /dev/null
+++ b/.planning/phases/05-vscode-extension-packaging/.continue-here.md
@@ -0,0 +1,63 @@
+---
+phase: 05-vscode-extension-packaging
+task: 0
+total_tasks: 0
+status: not_started
+last_updated: 2026-04-07T22:40:56+09:00
+---
+
+
+Milestone v1.1 (OpenClaude CLI Integration)이 2/3 완료.
+Phase 03 (CLI Build) + Phase 04 (Model Routing & Agent Loop) 완료.
+Phase 05 (VS Code Extension Packaging)는 아직 Plan 미작성 상태.
+
+
+
+
+- Phase 03: CLI Build & Provider Connection - Done
+ - `bun install && bun run build` → OpenClaude v0.1.8 빌드 완료
+ - `.env` 프로바이더 설정 (http://192.168.10.4:8000/v1)
+ - `scripts/start_openclaude.bat` + `.ps1` 런처 생성
+ - `--print` 모드로 E2E 연결 검증: "Hello there, friend." (76 t/s)
+
+- Phase 04: Model Routing & Agent Loop - Done
+ - `~/.claude/settings.json` — agentModels + agentRouting 설정
+ - 핫스왑 테스트: fast(76 t/s) ↔ balanced(66 t/s) 왕복 성공
+ - 스트리밍 응답 + 장문 계산 (123*456=56,088) 검증 완료
+
+
+
+
+
+- Phase 05: VS Code Extension Packaging (not started)
+ - Plan 작성 필요
+ - `npx @vscode/vsce package` → .vsix 빌드
+ - Machine B VS Code에 Extension 설치
+ - launchCommand + useOpenAIShim 설정 for Variet Engine
+
+
+
+
+
+- CLAUDE_CODE_USE_OPENAI=1 shim 사용 (llama-server /v1 호환)
+- Machine A IP = 192.168.10.4 (이더넷)
+- OPENAI_API_KEY = "variet-local" (llama-server는 키 검증 안 함)
+- agentRouting에 단일 모델(variet-fast)만 설정 — 핫스왑으로 tier 교체
+- --print 모드로 CLI 검증 (인터랙티브 도구 호출은 Extension에서 검증)
+
+
+
+
+None.
+
+
+
+Variet Engine이 이 머신(192.168.10.4)에서 실행 중.
+현재 로드된 모델: Gemma 4 26B (fast role).
+OpenClaude CLI 빌드: openclaude/dist/cli.mjs
+VS Code Extension 소스: openclaude/vscode-extension/openclaude-vscode/
+
+
+
+Start with: /gsd-plan-phase 05 → VS Code Extension .vsix 빌드 및 설치 계획 수립
+