docs: 세션 종료 — AGENT.md 검증 규칙 + known-issues 3건 + devlog

AGENT.md:
- NEVER #8-9: 실제 E2E 테스트 없이 '구현 완료' 금지
- ALWAYS #7-8: 실행 검증 필수, '구현'과 '검증' 구분 보고

known-issues 3건:
- Collector 동기→aiohttp 전환 기록
- Extension fs.watch response 감지 누락 (미해결)
- rejectAgentStep 미등록 (미해결)
This commit is contained in:
Variet Worker
2026-03-12 00:00:30 +09:00
parent d7ed454332
commit 3fcf4f7037
6 changed files with 31 additions and 0 deletions

View File

@@ -17,6 +17,8 @@ description: 모든 작업에 자동 적용되는 에이전트 행동 규칙.
5. NEVER skip the pre-task checklist defined in `.agents/workflows/pre-task.md` 5. NEVER skip the pre-task checklist defined in `.agents/workflows/pre-task.md`
6. NEVER attempt the same failed approach more than 2 times 6. NEVER attempt the same failed approach more than 2 times
7. NEVER truncate error messages — always show the full error output 7. NEVER truncate error messages — always show the full error output
8. NEVER say "구현 완료" or "동작 확인" without ACTUAL end-to-end test — import/문법 통과는 검증이 아님
9. NEVER confuse "코드가 논리적으로 맞음" with "실제로 동작함" — 실행 로그가 없으면 미검증
## ALWAYS (필수) ## ALWAYS (필수)
@@ -26,6 +28,8 @@ description: 모든 작업에 자동 적용되는 에이전트 행동 규칙.
4. ALWAYS stop and ask the user if 2 consecutive attempts on the same approach fail 4. ALWAYS stop and ask the user if 2 consecutive attempts on the same approach fail
5. ALWAYS use existing helper scripts instead of raw API calls 5. ALWAYS use existing helper scripts instead of raw API calls
6. ALWAYS read related existing code (minimum 3 files) before writing new code 6. ALWAYS read related existing code (minimum 3 files) before writing new code
7. ALWAYS verify with real execution after implementation — trigger the actual flow, check logs (e.g. extension.log), confirm the expected result appeared
8. ALWAYS distinguish "구현했다" vs "검증했다" when reporting to user — 테스트 안 했으면 명시
## Failure Protocol ## Failure Protocol

View File

@@ -387,3 +387,22 @@
- **해결**: 3곳 dedup 조건에 `existing.project_name === projectName` 가드 추가: (1) MERGE, (2) step_index 중복 스킵, (3) file_permission 중복 필터 - **해결**: 3곳 dedup 조건에 `existing.project_name === projectName` 가드 추가: (1) MERGE, (2) step_index 중복 스킵, (3) file_permission 중복 필터
- **주의**: 모든 Extension 인스턴스가 **동일한 `bridge/pending/` 디렉토리**를 공유하므로, pending 파일 간 상호작용 시 반드시 `project_name` 일치 여부 확인 필수 - **주의**: 모든 Extension 인스턴스가 **동일한 `bridge/pending/` 디렉토리**를 공유하므로, pending 파일 간 상호작용 시 반드시 `project_name` 일치 여부 확인 필수
### [2026-03-11] Collector 동기 HTTP — aiohttp 전환
- **증상**: Collector가 Gateway에 동기 urllib 요청 시 이벤트 루프 전체 블로킹, 3초 폴링이 10초+로 늘어남
- **원인**: `RemoteTransport._request()``urllib.request.urlopen()` 사용 (blocking I/O)
- **해결**: `aiohttp.ClientSession` 기반 비동기 전환 + 연결 모니터링 + 재시도 큐 (100건)
- **주의**: `import aiohttp`는 lazy (`_get_session()` 내부). 로컬 conda 환경에 `aiohttp>=3.9.0` 설치 필수
### [2026-03-11] Extension fs.watch — Collector response 파일 감지 누락
- **증상**: Discord에서 거부 → Collector가 `bridge/response/` 파일 정상 생성 → Extension `processResponseFile` 미호출 (`[RESPONSE]` 로그 0건)
- **원인**: `setupResponseWatcher()``event === 'rename'`만 필터링. 파일 생성 방식에 따라 `change` 이벤트만 발생할 수 있음. Windows `fs.watch`는 빠른 write+delete 시 이벤트 누락 알려짐
- **해결**: **미해결**`event` 필터 제거 또는 polling 전환 필요. 사이드이펙트 검증 필요하여 보류
- **주의**: 이 문제로 인해 **Discord에서의 모든 거부/정지 명령이 Extension에 전달되지 않음**
### [2026-03-11] rejectAgentStep — AG 미등록 VS Code 커맨드
- **증상**: `/stop` 및 거부 시 `antigravity.agent.rejectAgentStep``command not found`
- **원인**: AG IDE가 이 커맨드를 런타임에 등록하지 않음
- **해결**: **미해결** — AG가 실제 등록하는 커맨드 목록 조사 후 올바른 커맨드로 교체 필요
- **주의**: `[2026-03-09] VS Code Accept Commands` 이슈와 같은 근본 원인 (AG 커맨드 미등록)

2
approval_test.txt Normal file
View File

@@ -0,0 +1,2 @@
# Collector 수동 승인 테스트
Discord에서 승인/거부 버튼이 보여야 합니다.

3
collector_test.txt Normal file
View File

@@ -0,0 +1,3 @@
Collector 모드 승인 플로우 테스트
이 파일 생성이 Discord에서 승인 요청으로 표시되어야 합니다.
시간: 2026-03-11 23:08

2
collector_test2.txt Normal file
View File

@@ -0,0 +1,2 @@
# Collector 모드 승인 테스트 2차
Discord에서 이 파일 생성 승인 요청이 정상적으로 표시되는지 확인

View File

@@ -11,3 +11,4 @@
| 007 | 19:28~19:35 | Gateway HTTP API + Docker (Dockerfile, docker-compose, Caddyfile) | `6dbbb57` | ✅ | | 007 | 19:28~19:35 | Gateway HTTP API + Docker (Dockerfile, docker-compose, Caddyfile) | `6dbbb57` | ✅ |
| 008 | 19:35~19:50 | Gateway 보안: API Key 인증 미들웨어 + Caddy HTTPS + .env.example | `95da3e9` | ✅ | | 008 | 19:35~19:50 | Gateway 보안: API Key 인증 미들웨어 + Caddy HTTPS + .env.example | `95da3e9` | ✅ |
| 009 | 19:50~20:10 | RemoteTransport + CollectorBridge 구현 — Collector↔Gateway HTTP 통신 | `95c2905` | ✅ | | 009 | 19:50~20:10 | RemoteTransport + CollectorBridge 구현 — Collector↔Gateway HTTP 통신 | `95c2905` | ✅ |
| 010 | 21:30~23:48 | 아키텍처 감사: aiohttp 전환 + 보안 + 기능 누락 수정 + 나노 검증 | `d7ed454` | 🔧 |