feat: 출력 파싱 4패턴 지원 + 실패 기록 + Gemini CLI Windows 호환

- file_applier.py: === FILE ===, `lang:path, // file: comment, **header**+code 4패턴
  경로 검증, 중복 제거, 빈 내용 스킵, 소스 추적
- task_pipeline.py: try/except/finally로 성공/실패 모두 docs 기록
  파싱 실패 추적, 에러를 총평 warnings에 전파
- gemini_caller.py: Windows에서 cmd /c gemini 사용 (PS ExecutionPolicy 우회)
- Gemini CLI stdin 파이프 동작 검증 완료
This commit is contained in:
2026-03-06 21:38:08 +09:00
parent f0656d54de
commit 8bd7dcab3f
3 changed files with 266 additions and 70 deletions

View File

@@ -56,8 +56,15 @@ class GeminiCaller:
)
try:
# Windows: cmd /c gemini (PS ExecutionPolicy가 .ps1을 차단하므로)
import sys
if sys.platform == "win32":
cmd = ["cmd", "/c", "gemini", "--approval-mode", "yolo"]
else:
cmd = ["gemini", "--approval-mode", "yolo"]
proc = await asyncio.create_subprocess_exec(
"gemini", "--approval-mode", "yolo",
*cmd,
stdin=asyncio.subprocess.PIPE,
stdout=asyncio.subprocess.PIPE,
stderr=asyncio.subprocess.PIPE,