Variet Worker
e3f8fb93f7
fix: cross-project event flooding + pending accumulation + diff_review brain exclusion
...
Phase 1: Collector auto-cleanup of auto_resolved/expired pending files after Gateway forwarding
Phase 2: Watcher project filter (only MY sessions emit events) + Collector event forward filter
Phase 3: Extension diff_review excludes brain/ artifact files (task.md, implementation_plan.md)
2026-03-16 23:05:27 +09:00
c9f44afcf1
fix(bridge): system audit + 5-file bug fix — PATS Deny trigger removal, auto_resolved chat dedup, UUID filenames, IP rate limit leak, bot.py deque
2026-03-15 23:01:20 +09:00
Variet Worker
d4a2016d06
perf(collector/watcher): 로컬 데이터 전송 성능 최적화 — mtime 프리체크, 프로젝트 캐시, re-forward 수정, 폴링 간격 조정
2026-03-13 23:13:18 +09:00
Variet Worker
e5a05e3ac4
feat(bot/extension/watcher): Discord 아티팩트 알림 개선 — 파일 첨부 전송, truncation 확대, 동적 .md 감시
2026-03-13 09:46:56 +09:00
Variet Worker
56de71470d
fix(collector/bridge/gateway): rate limit 구조적 수정 — 점진적 백오프 + adaptive 폴링 + burst-friendly 윈도우
2026-03-12 22:33:49 +09:00
Variet Worker
bcc29f9331
fix(collector): add 0.3s throttle between multi-project command polls to prevent rate limit bursts
2026-03-12 21:11:05 +09:00
Variet Worker
ae51d28857
fix(collector): multi-project command polling via bridge/register/ discovery
2026-03-12 20:37:23 +09:00
Variet Worker
52c9526fdb
fix(bridge): 429 Rate Limit 무한 루프 방지 — 지수 백오프 + Collector 폴링 보호 + rate limit 완화
2026-03-12 00:50:29 +09:00
Variet Worker
d7ed454332
fix: 나노 검증 — health URL/response polling/startup 상태변경 3건 수정
...
1. health_check: /../health → /health (URL 해석 오류)
2. response polling: startup pending 제외 (불필요한 HTTP 요청 방지)
3. startup pending 상태변경: pending→skip, auto_resolved/expired→forward
2026-03-11 23:01:24 +09:00
Variet Worker
1bf41ceee3
refactor: 아키텍처 수정 — 동기HTTP→aiohttp + 연결 모니터링 + 재시도큐
...
#1 동기 HTTP → async aiohttp (Critical)
- RemoteTransport: urllib.request → aiohttp.ClientSession
- 모든 HTTP 요청이 non-blocking으로 전환
- 이벤트 루프 블로킹 문제 해결
#2 연결 상태 모니터링
- RemoteTransport: connected 플래그 + 연속 실패 카운터
- Collector: 30초마다 health check → 실패 시 경고 로그
- 연결 복구 시 '✅ Gateway connected' 메시지
#3 실패 재시도 큐
- RemoteTransport: _retry_queue (최대 100건)
- POST 실패 시 큐에 저장, 연결 복구 후 자동 재전송
- Collector: 10초마다 retry flush
2026-03-11 22:55:54 +09:00
Variet Worker
d2a477e12e
fix(collector): MERGE + auto_resolved/expired 상태 변경 감지
...
- pending 파일 콘텐츠 해시 추적 (_pending_hashes)
- 내용 변경 시 Gateway에 재전달 (MERGE: command 업데이트, status 변경)
- _startup_pending으로 시작 시 기존 파일과 신규 파일 분리
2026-03-11 22:48:47 +09:00
Variet Worker
58a421f5a6
fix: 전체 시스템 감사 — 6건 수정 (보안 + 안정성)
...
Bug 1 (만료됨 스팸): Collector 시작 시 기존 pending skip
Bug 2 (pending 미삭제): Gateway에서 response 소비 시 pending도 삭제
Bug 3 (재시작 중복): Bug 1로 해결
Security 1: API 요청 1MB 크기 제한 (client_max_size)
Security 2: IP별 rate limiting (10 req/s)
Security 3: _commands 메모리 누수 방지 (TTL 30분)
2026-03-11 22:42:05 +09:00
Variet Worker
7eca0763c9
fix(collector): 기능 누락 3건 수정 — Discord 명령어/채팅/등록 중계
...
Gap 1: Discord→Extension 명령어 깨짐
- bot.py: _write_command() 래퍼 — gateway.push_command()도 호출
- main.py: bot.gateway 연결
- 슬래시 명령어 + on_message 모두 _write_command 사용
Gap 2: Chat snapshot 미전달
- collector.py: _forward_chat_snapshots_loop 추가
Gap 3: Session registration 미전달
- collector.py: _forward_registrations_loop 추가
2026-03-11 22:31:08 +09:00
Variet Worker
3d75825bba
feat(collector): brain event 중계 추가 — Watcher 이벤트를 Gateway로 전달
...
- collector.py: _forward_events_loop — BrainEvent를 JSON으로 serialize하여 /api/event POST
- gateway.py: /api/event 엔드포인트 — 수신한 이벤트를 bot event_queue에 주입
- main.py: event_queue를 CollectorBridge에 전달
이제 task.md, implementation_plan, walkthrough 변경사항이 Collector→Gateway→Discord 경로로 전달됨
2026-03-11 22:24:48 +09:00
Variet Worker
95c2905e14
feat(collector): RemoteTransport + CollectorBridge 구현 — Collector↔Gateway HTTP 통신 완성
...
- bridge.py RemoteTransport: HTTP 클라이언트, API Key auth, Gateway API 매핑
- collector.py CollectorBridge: 3개 async loop (pending 전달, response 폴링, commands 폴링)
- main.py: BOT_MODE=remote → CollectorBridge 실행 (Discord bot 없이)
- config.py: GATEWAY_API_KEY 설정
- .env.example: 모든 설정 항목 업데이트
2026-03-11 20:10:45 +09:00