3d2af29a0a
fix: 태스크 과분할 방지 - unified/planner 프롬프트 대폭 수정
...
- unified.md: tasks 배열 완전 제거, mode+summary만 출력
- planner.md: '대부분 1개 태스크로 충분' 원칙 강화
테트리스=1개, 파일삭제+재생성=1개, 독립기능만 분할
2026-03-06 22:47:00 +09:00
a6e9f31244
fix: Planner 최소분할 원칙 - 하나의 기능은 하나의 태스크로
...
- planner.md: 파일 단위 분할 → 기능 단위 분할로 변경
예: 테트리스 = 1태스크 (HTML+CSS+JS 한 에이전트가 처리)
- unified.md: task 모드에서 tasks 배열 강제 제거 (Planner에 위임)
2026-03-06 22:44:51 +09:00
b2cf38b5ff
fix: Coder 프롬프트 - 코드 주석/문서 한국어 작성 지시 추가
2026-03-06 22:40:27 +09:00
173e1a6a54
fix: AI 플로우 전체 truncation 제거 + Discord 메시지 분할
...
- task_pipeline.py: summarize()에서 리뷰/코딩 결과 자르기 제거
- discord_bot.py: safe_send_embed() 추가 (4096자 초과 시 분할 전송)
- 리뷰 피드백 자르기 제거 (재시도 시 전체 피드백 전달)
2026-03-06 22:32:22 +09:00
7777ca1ba7
fix: 리뷰어에게 전체 내용 전달 - 모든 truncation 제거
2026-03-06 22:28:50 +09:00
ee71d7713d
fix: 리뷰 파일 cutoff 600초로 확장
2026-03-06 22:27:21 +09:00
8140f75c7f
fix: 리뷰어가 실제 파일 읽기로 변경
...
- batch_review: Gemini stdout 대신 프로젝트의 최근 변경 파일(60초)을 읽어 리뷰
- 파일 삭제/변경 없는 작업은 자동 통과
- 에이전트 보고 + 실제 파일 내용을 함께 전달
- 최대 10개 파일, 파일당 3000자 제한
2026-03-06 22:25:26 +09:00
a54a9096ef
fix: 단계별 진행 표시 + em-dash 인코딩 수정
...
- _handle_task: pipeline.execute() 대신 단계별 호출로 변경
-> 계획/코딩/리뷰/재시도 각 단계를 Discord에 실시간 표시
-> 코딩 중.../리뷰 중... Embed가 완료 시 업데이트됨
- em-dash -> ASCII dash (cp949 인코딩 오류 방지)
2026-03-06 22:22:41 +09:00
bccc673713
feat: Coder를 에이전트 모드로 전환 + 리뷰 재시도 루프
...
핵심 변경:
- gemini_caller.py: call_agent() 추가 (cwd 지원, 5분 타임아웃)
Gemini가 프로젝트 디렉토리에서 직접 파일 읽기/쓰기/실행
- task_pipeline.py: Coder가 call_agent() 사용, file_applier 의존 제거
리뷰 실패 시 최대 2회 재시도 (피드백 포함)
- discord_bot.py: pipeline.execute() 호출로 단순화
- coder.md: 파일 직접 쓰기 지시 (코드블록 출력 금지)
- 검증: echo prompt | gemini --cwd=VW_Proj → test_agent.txt 생성 확인
2026-03-06 22:13:06 +09:00
83c043863c
fix: 슬래시 커맨드 길드별 즉시 동기화
...
- copy_global_to + guild sync로 변경 (글로벌 1시간 캐시 문제 해결)
- name optional 변경이 즉시 반영됨
2026-03-06 21:55:41 +09:00
3f69b6a47a
feat: 채널 이름 변경 시 워크스페이스+폴더 자동 연동
...
- on_guild_channel_update 이벤트로 이름 변경 감지
- workspace.rename_workspace(): 이름+폴더 변경 (VW_Proj 하위에만)
- 변경 완료 시 채널에 알림 Embed 전송
2026-03-06 21:52:10 +09:00
63a12d9078
feat: /workspace set 이름 자동화 - 채널 이름을 기본값으로 사용
...
- name 파라미터 선택적으로 변경
- 미입력 시 채널 이름 자동 사용
- /workspace set만 치면 끝
2026-03-06 21:49:26 +09:00
889badc52b
feat: Git/Vikunja 미설정 시 차단 대신 안내 후 로컬 작업 진행
...
- 작업 실행 차단 제거 -> 안내 메시지만 표시
- /workspace set만으로 바로 작업 가능
- 나중에 /workspace git, /workspace vikunja로 등록 가능
2026-03-06 21:47:24 +09:00
8bd7dcab3f
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 파이프 동작 검증 완료
2026-03-06 21:38:08 +09:00
f0656d54de
fix: 유령 워크스페이스 폴더도 함께 이름 변경
...
- cleanup_orphans: JSON 이름 + 실제 폴더 모두 _orphan_YYYYMMDD 접미사
- 같은 이름 재생성 시 새 폴더가 만들어짐 (충돌 없음)
- 폴더 이름 중복 시 숫자 카운터 추가
2026-03-06 21:27:23 +09:00
1e8e8c324f
fix: 유령 워크스페이스 삭제 대신 이름 변경으로 보존
...
- cleanup_orphans: 삭제 -> _orphan_YYYYMMDD 접미사 추가
- Git/Vikunja 설정 등 모든 데이터 보존됨
- 이름 충돌 없이 같은 이름으로 새 채널 등록 가능
2026-03-06 21:22:39 +09:00
b9e4a94e9a
feat: 워크스페이스 이름충돌 감지 + 기본경로(VW_Proj) + 유령채널 자동정리
...
- workspace.py: find_by_name() 이름충돌, cleanup_orphans() 유령정리, 경로 자동생성
- config.py: WORKSPACE_BASE_DIR = VW_Proj
- discord_bot.py: /workspace set path 선택적, 이름충돌 안내, on_ready 유령정리
- VW_Proj 폴더 생성
2026-03-06 21:19:42 +09:00
a9bdce90f4
feat: 워크스페이스 시스템 + 통합 프롬프트 + Docs 기록 관리
...
- workspace.py: 채널별 워크스페이스 모델 + JSON 영속 저장
- discord_bot.py: /workspace 슬래시 커맨드 (set/git/vikunja/info/remove/list)
- 등록 채널만 자동 응답, 미등록 채널 무시
- Git/Vikunja 미설정 시 작업 차단 + 안내
- 통합 프롬프트 1회 호출 (router+planner+chat 통합)
- docs_manager.py: Wiki 인덱스, 세션 기록, Changelog 자동 업데이트
- task_pipeline.py: 모든 Gemini 호출에 docs 컨텍스트 주입, 완료 시 기록
- unified.md: 분류+즉답/계획 통합 프롬프트
2026-03-06 21:12:50 +09:00
752d851f9f
feat: Pipeline 전면 개선 — 병렬실행, Batch Review, 총평, 대화기억, 스마트라우팅
...
- GeminiCaller: cmd/c 제거, 인자 분리, Semaphore(4) 동시성 제어, GeminiCallError
- TaskPipeline: asyncio.gather 병렬 코딩, batch_review 1회, summarize 총평
- FileApplier: Coder 출력 파싱 → 실제 파일 적용 (경로 보안 체크)
- Discord Bot: on_message 자동채팅, 의도분류(chat/task/clarify), 대화기억(10메시지)
- Prompts: router.md (의도분류), summarizer.md (총평)
- Workflows: agent_chat 환경 경로 업데이트
2026-03-06 20:46:58 +09:00
quantlab
4c0f5ec9c7
chore: 이식성 개선 — 하드코딩 경로 제거, .env.example 추가, README 시작 가이드
2026-03-06 20:11:54 +09:00
quantlab
ee01a13129
feat(integration): Gitea + Vikunja + CI 클라이언트 구현 #task-192 #task-193
2026-03-06 20:01:00 +09:00
quantlab
26cef9bb11
feat(api): !chat 명령어 추가 — 단순 대화용 Gemini 직접 호출 #task-191
2026-03-06 18:59:34 +09:00
quantlab
427763c493
feat(api): API Server + Discord Bot 구현 #task-191
2026-03-06 18:52:11 +09:00
quantlab
5a931a5480
fix: .gitignore에서 .agent/ 트래킹 + 테스트 절대경로 제거 (이식성 보장)
2026-03-06 17:58:11 +09:00
quantlab
b6ed432fe3
test: Full E2E Pipeline 성공 (Plan→Code→Review) — 3호출 219초 #task-190
2026-03-06 17:46:45 +09:00
quantlab
57c9cb6143
feat: Task Pipeline + Planner E2E 성공 — stdin기반 GeminiCaller 확정 #task-189 #task-190
2026-03-06 17:37:06 +09:00
quantlab
9192770300
feat: Project Indexer + Context Manager + GeminiCaller 구현 및 테스트 #task-187 #task-188 #task-189
2026-03-06 17:15:54 +09:00
quantlab
0e3d85f9da
chore: 프로젝트 초기 구조 + .agent 워크플로우 + 설계 문서
2026-03-06 16:57:14 +09:00