Repository navigation
Merged
Conversation
….1.4) - 룸 = 프로젝트 × 역할. 팀원은 자기 역할 룸만, 대표는 전부. PM(서버)의 프로젝트 단위 알림은 모든 룸. - GET /projects/:id/rooms, GET /projects/:id/rooms/:role/feed — 이벤트와 에이전트 활동을 시각순으로 섞은 한 줄씩(문장은 서버가 만든다). - TASK_DISPATCHED: tasksChanged를 받아 가져갈 수 있게 된 태스크를 attempt마다 한 번(task_dispatches PK) 기록. - AGENT_RUN_STARTED/ENDED: Executor가 실행 시작·끝을 보고, 제출 여부는 서버가 태스크 상태로 정한다 — "끝났지만 제출하지 않았다"가 룸에 드러난다. - agent_activity: Executor가 stream-json에서 도구 종류와 대상(경로·명령 첫 줄)만 뽑아 2초마다 보낸다. 파일 내용·명령 결과·모델 설명은 보내지 않는다. 화면 신호는 /api/stream의 room 토픽. - 마이그레이션 017_rooms(task_dispatches, agent_activity). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
진짜 Claude로 로컬에서 돌려 확인한 결과: - 태스크는 실행 안에서 모델이 잡으므로(claim_task) 시작 보고 시점엔 READY다 — "잡고 있음 또는 지금 잡을 수 있음"이면 받는다. 문구도 실제 순서대로: "에이전트를 실행합니다" → "태스크 수령 — … · 구현을 시작합니다". - 서버 밖(seed·seed:tasks)에서 들어온 태스크도 에이전트가 받기 전에 "실행해 주세요"를 남긴다(목록 조회 직전 기록). - 명령 속 작업공간 절대 경로(사용자 폴더 이름)를 '.'으로, Claude 내부 도구 ToolSearch는 숨긴다. - 검증은 결론 줄만(중간 보고·승인 요청 줄이 같은 말을 반복했다). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… 테스트 4-2) - 실행 종료 보고에서 제출하지 않았으면 같은 트랜잭션에서 BLOCKED(AGENT_STOPPED) + TASK_BLOCKED. 재시도 횟수는 올리지 않는다 — 권한·환경 탓을 에이전트 실패로 세지 않는다(대표 결정). - 사유: 모델의 마지막 말 + Executor가 stream-json에서 뽑은 거부된 쉘 명령(RunObserver). 룸에 그대로 보인다. - POST /tasks/:id/resume(대표): READY·담당 비움 → "다시 실행해 주세요 (재개)"(task_dispatches.resumes). - 감시: 45분 동안 실행 보고·도구 사용이 없는 수령도 멈춤(system:watchdog) — Executor가 꺼진 경우. - tasks.claimed_at(마지막 수령 시각) — 화면의 "수령 후 경과". 마이그레이션 017에 함께(미배포). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…테스트 4-6) 기존 테스트는 기대값을 같은 별칭 정렬로 만들어 버그를 못 잡았다. id가 두 자리→세 자리로 넘어가게 해서 고정한다. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…b_repo_id 채움 (운영 테스트 4-1) - 서버 PAT(GITHUB_TOKEN) 하나로 읽으면 모든 조직이 그 PAT 주인의 레포를 본다 → 조직마다 대표 토큰으로만. 대표가 GitHub를 연결하지 않았으면 목록은 빈 배열, 협업자 표시는 생략(예전과 같은 모양). - POST /orgs/:orgId/repos로 fullName만 넣어도 대표 토큰으로 레포를 찾아 github_repo_id·기본 브랜치·clone_url을 채운다 (운영 테스트에서 비어 있어 V3가 SKIPPED였다). 못 찾으면 예전처럼 비워 두고 연결은 막지 않는다. - env의 GITHUB_TOKEN 제거. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Claude를 띄우기 전에 작업공간에 설치: npm ci/pnpm/yarn --ignore-scripts(잠금 파일 없으면 --no-package-lock), requirements.txt는 .nomos-venv에 --only-binary :all:. 모델에게 설치 명령은 열지 않는다(설치 스크립트가 Edit 금지를 우회). 실패해도 진행하고 결과를 프롬프트에 적는다. node_modules·.nomos-venv는 info/exclude. - 허용 명령에 시험 실행기 추가(python -m pytest/unittest, pnpm test, yarn test). - 프롬프트 "작업 환경": 허용 명령 목록, &&·;·| 금지, 파일은 Read/Glob/Grep, 막히면 이유를 마지막 메시지에 (운영 테스트에서 BE가 거부 13번·41턴·$1.84). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…테스트 4-3) - PM 초안에 integrationChecks. INTEGRATION 태스크는 위반으로 돌려 교정 1회에 싣는다(pmOnlyProblems). 에이전트에게는 선행 코드·상대 레포·실행 수단이 없어 통합 태스크가 늘 멈췄다. - 태스크가 DONE이 되는 같은 트랜잭션(검증 결론·ACTION 승인)에서 모든 태스크가 DONE이면 G3 카드 (확인 항목 + 태스크별 레포·브랜치·마지막 커밋, RELEASE_REQUESTED·system:pm). 프로젝트 행 잠금 뒤 다시 읽어 동시 완료를 놓치지 않는다. - 승인 → 프로젝트 completed, 반려 → 진행 중(고칠 태스크 뒤 새 카드). RELEASE_DECIDED. 승인 대기열 응답의 taskId는 G3면 null. - 룸: "모든 태스크가 완료되었습니다 → 대표의 통합 확인을 기다립니다" / 완료·반려를 모든 룸에. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… 테스트 4-7) - V3 검사기에 fileVersions(커밋 직전·직후 파일 내용): mirror는 git show, GitHub는 커밋 API(부모) + contents API(raw). - 서버 검증 중 package.json(어느 깊이든)의 dependencies·devDependencies에 새 패키지·버전 변경이 있으면(새 파일 포함) 산출물에 dep:add를 더하고 판정을 더 엄격하게 다시 계산(ACTION_DETECTED). L2면 PM_REVIEW → 승인 대기. - scripts만 고친 변경은 dep:add가 아니다(경로 규칙으로 잡지 않는 이유). 못 읽으면 dep:add로 본다(fail closed). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
운영 테스트 후속: 룸 피드, 멈춘 태스크 BLOCKED, 이벤트 정렬, 대표 토큰 GitHub, 의존성 설치, G3 통합 확인, dep:add 판정 (CLI 0.1.4)
배정·재초대 응답에만 있던 githubInvites가 새로고침하면 사라졌다. 따로 저장하지 않고 GITHUB_COLLABORATORS_INVITED 이벤트에서 멤버별 마지막 결과를 읽어 ProjectMember.githubInvites로 붙인다(프로젝트 조회·배정·해제·시작 응답). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Feat: 멤버 정보에 레포별 마지막 GitHub 초대 결과 (ProjectMember.githubInvites)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
#27, #28을 main에 반영한다. 마이그레이션 017 포함(deploy.sh가 migrate를 먼저 돈다).
🤖 Generated with Claude Code