출처란 하나의 작업, 계획, 계획 내 작업 또는 작업 패키지에 대한 기록입니다. 이는 병합된 이후에도 변경 사항이 반드시 답변해야 할 질문들, 즉 이 작업이 어디서 비롯되었는지, 누가 요청했는지, 누가 소유하는지, 누가 무엇을 왜 결정했는지, 그리고 어떤 결과물이 제공되었는지를 명확히 보여줍니다.
Coroid는 작업이 Factory를 거치며 발생하는 과정을 바탕으로 출처 정보를 구성합니다. 작업을 시작한 대화나 요청 내용, 사람들이 승인한 문서, 내려진 결정 사항, 그리고 결과물을 제공한 풀 리퀘스트와 커밋 등이 이에 해당합니다. 포털, 풀 리퀘스트, 커밋에서도 동일한 기록을 확인할 수 있으며, 작업을 처리하는 에이전트 역시 이 정보를 참조합니다.
출처가 답변하는 내용
- 시작점작업을 시작시킨 원인으로, 해당 항목으로 연결되는 링크가 포함됩니다. 여기에는 채팅 대화, Prepare Work 리뷰, 새 작업 요청, 가져온 또는 웹훅으로 수신된 이슈, 훅, 일정, MCP 클라이언트, API, 발견된 내용이나 보고서, 또는 상위 계획이나 작업 등이 포함됩니다.
- 요청자 및 소유자작업을 요청한 사람이자 현재 이를 소유하는 사람입니다. 작업이 서비스 계정을 통해 또는 조직 외부의 사람, 즉 GitHub 이슈의 작성자 등으로부터 유입될 경우, 출처에는 해당 계정 또는 인물의 이름이 기재됩니다. Coroid는 추측하여 멤버 정보를 임의로 입력하지 않습니다.
- 결정 사항승인, 변경 요청, 시작, 중단, 재시도, 병합, 우회 처리 및 소유권 변경 내역으로, 각각 누가 언제 이를 결정했으며 사유가 명시된 경우 그 내용도 함께 포함됩니다.
- 논의 내용작업에 영향을 준 사람들의 메시지로, 작업이 시작된 대화 내용 및 관련 문서에 대한 피드백의 발췌문이며 각각 작성자와 링크 정보가 함께 제공됩니다.
- 배포관련된 풀 리퀘스트, 커밋, QA 결과, 리뷰 결정 및 증거
계획에 속한 작업은 해당 계획의 시작점과 요청자를 공유합니다. 작업의 출처 정보에는 계보도 표시됩니다. 작업 자체와 해당 계획 및 작업 패키지, 그리고 이들이 비롯된 대화나 요청이 포함됩니다.
먼저 요약 내용을 확인하세요
출처에 대한 모든 뷰는 요약 내용으로 시작되므로, 해당 작업의 목적과 담당자가 누구인지 한눈에 파악할 수 있습니다.
- 의도: 작업의 기능과 목적을 간략히 설명합니다. 이 내용은 승인된 의도에 근거하며, 그게 없으면 승인된 사양, 원본 요청, 또는 작업·계획 설명을 따릅니다. 그 아래 줄에는 해당 정보의 출처가 표시됩니다.
- 요청자: 요청을 제출한 개인, 서비스 계정 또는 외부 인력입니다.
- 소유자: 현재 작업을 담당하는 사람입니다. 마지막으로 작업이 할당된 사람, 작업에 지정된 담당자, 작업이 시작된 대화의 소유자, 또는 요청자가 이에 해당합니다.
- 승인자: 작업의 의도, 사양 및 구현 계획과 해당 계획 자체를 승인한 사람들로, 각자의 승인 역할이 명시되어 있습니다.
- 주요 결정 사항: 최근에 내려진 최대 5개의 결정 사항과 그 이유가 각각 기재되어 있습니다.
나열된 승인자는 항상 사람입니다. Coroid가 자동으로 기록한 승인 내용은 제외되며, 자세한 내용은자동 결정 사항.
확인할 수 있는 위치
포털에서 확인 가능
Factory에서 작업 또는 계획을 열고 출처 섹션을 확장하세요. 요약 정보 아래에는 다음과 같은 내용이 표시됩니다:
- 시작점작업이 시작된 위치로, 해당 대화, 요청, 이슈 또는 보고서로 연결되는 링크가 포함됩니다.
- 계보: 작업이 속한 계획 및 작업 패키지로, 해당 작업이 계획에 포함되는 경우에 해당합니다.
- 결정 사항: 가장 오래된 순서대로 표시되며 각각의 사유가 함께 기재됩니다. 최근 8개의 결정 사항만 먼저 보여주고, 나머지는 클릭 한 번으로 확인할 수 있습니다.
- 논의 내용: 작업을 형성하는 데 영향을 준 메시지로, 가장 최신 순서대로 표시됩니다.
- 배포 내역: 풀 요청과 이를 병합한 담당자, 커밋, QA 결과, 리뷰 및 관련 증거 자료입니다.
고객은 검색어를 저장하고 해당 조건에 맞는 새 항목이 있을 때 알림을 받고 싶어 합니다. 첫 번째 버전에서는 계정당 최대 10개의 저장된 검색어에 대해서만 이메일 알림을 발송합니다.
승인된 의도에서 추출됨
- 요청자
- 마야 린드크비스트
- 소유자
- 마야 린드크비스트
- 승인자
- 샘 오카포르제품 소유자
- 프리야 샤기술적 승인자
- 승인됨샘 오카포르제품 소유자
이것이 고객이 요청한 내용입니다. 푸시 알림은 나중에 처리해도 됩니다.
- 시작됨마야 린드크비스트
봄 캠페인 전에 배포해야 합니다.
- 승인됨마야 린드크비스트자동
승인된 계획에 따라 배포 계약이 자동으로 승인됩니다.
- QA 판정통과QA 에이전트
6개의 수락 기준 모두 확인되었습니다.
- 병합됨샘 오카포르
9c1e4a7f023f2b7d1a9c에이전트 커밋coroid/saved-search-alerts9c1e4a7f02병합 커밋
팩토리 내 작업의 출처: 먼저 요약 내용이 표시되고, 그 다음 해당 작업이 시작된 대화 내용과 결정 사항 및 그 이유가 나타납니다. 그중 하나는 자동으로 기록되며, 이를 구현한 pull request와 커밋도 포함됩니다. 참고용 데이터입니다.
간략한 버전은 작업의 '세부 정보' 탭과 계획의 프로모션 리뷰에 표시되며, 전체 출처 정보로 연결되는 링크가 포함되어 있습니다.
접근 권한은 작업 자체와 연동됩니다. 작업의 출처 정보를 확인하려면 해당 프로젝트에 대한 읽기 권한이 필요하며, 계획의 출처 정보는 계획과 마찬가지로 조직 전체에서 확인할 수 있습니다.
풀 요청 내에서
모든 pull request Coroid에는 작업, 계획 또는 릴리스를 제공하는 경우와 관계없이 출처 섹션이 포함됩니다. 이 섹션은 의도, 작업 내용, 요청자, 소유자, 승인자 및 주요 결정 사항을 담은 동일한 요약으로 시작합니다. 이어서 시작점과 관련 링크, 이력, 결정 사항, 제공 내역이 나오고, 마지막으로 Coroid에서 해당 작업을 여는 링크가 제공됩니다.
Coroid는 변경 사항에 대한 요약, 작업 및 리뷰 증거로 연결되는 링크, 수용 기준, QA 및 리뷰 상태 등을 포함하여 관련 내용을 작성합니다.
Coroid는 설명 내에 숨겨진 주석으로 표시된 섹션만을 소유합니다. 예를 들어 재작업 후에 pull request를 업데이트할 때 해당 섹션들을 대체하되, 귀하나 리뷰어가 작성한 나머지 내용은 그대로 유지합니다. 긴 이력이 공간에 맞지 않을 경우 가장 오래된 결정 사항부터 제거되며, 해당 섹션에는 더 많은 내용이 Coroid에 포함되어 있다고 명시됩니다.
릴리스 pull request에는 번들로 묶인 각 pull request가 제공하는 내용, 요청한 사람 및 승인한 사람 정보가 병합 순서에 따라 나열됩니다.
커밋 내에서
Coroid가 생성하는 모든 커밋에는 해당 작업에 속하는 정보를 명시하는 트레일러가 포함됩니다:
Coroid-Task: 3f6e2b1c-7d4a-4c1e-9b2f-0a8d5e6c7b91
Coroid-Plan: 8a41b7c3-25d0-4f6b-a1e9-6c3d2b7f4e05
Coroid-Requested-By: Maya Lindqvist
Coroid-Origin: prepare_work작업의 유형에 따라 커밋에는 계획 작업, 작업 패키지, 에이전트 실행, 패치 또는 릴리스 정보도 포함됩니다. 요청자 트레일러에는 이메일 주소가 아닌 이름만 기재됩니다.
Coroid는 생성하는 모든 커밋의 작성자입니다. 커밋이 특정 사용자의 연결된 계정으로 작성된 경우, Coroid도 공동 작성자로 추가됩니다.
Co-authored-by: Coroid <ai@coroid.ai>Coroid는 각 커밋과 해당 작업 또는 계획 간의 매핑 정보도 자체적으로 보관합니다. Coroid가 생성한 Pull Request가 GitHub 또는 GitLab에 병합되면, Coroid는 병합 또는 스쿼시 커밋 정보를 기록하여 스쿼시 병합 시에도 링크가 손실되지 않도록 합니다.
에이전트용
각 에이전트가 수행하는 작업 주문에는 해당 작업의 출처가 요약되어 있습니다. 즉, 작업이 존재하는 이유, 요청한 사람, 소유자 및 결정된 내용이 포함됩니다. 에이전트가 추가 정보가 필요한 경우, 한 번에 한 섹션씩 전체 기록을 확인할 수 있습니다.
사양이 여전히 우선 적용됩니다. 출처와 사양의 내용이 상충할 경우, 에이전트는 사양을 따르며 보고서에 해당 충돌 내용을 명시할 뿐 자동으로 선택하지는 않습니다. 사람이 작성한 메시지와 사유는 에이전트가 읽기 전에 Coroid의 프롬프트 주입 필터를 거치며, 필터에서 차단된 텍스트는 제외됩니다.
절대 Git 호스트로 전송되지 않는 정보
채팅 내용은 절대 pull request나 커밋에 기록되지 않습니다. 풀 요청에는 이름, 역할, 결정 사항, 이유 및 링크가 포함됩니다. 대화 내용은 전송된 메시지 수와 작성자 정보만 표시되며, Coroid의 해당 채팅으로 연결되는 링크가 제공됩니다. 이메일 주소는 절대 기록되지 않으며, 사용자는 이름으로만 표시됩니다.
링크만 표시
기본적으로 pull request의 출처 섹션에는 의도 설명, 주요 결정 사항 및 관련 이유가 포함됩니다. 조직에서는 '링크만 표시' 옵션을 선택할 수도 있습니다. 이 경우 의도 설명, 주요 결정 사항 및 모든 이유는 제외되고, 요청한 사람, 작업 소유자, 승인자, 결정 사항 및 Coroid로 연결되는 링크만 남게 됩니다.
제품 관련 설명을 읽어서는 안 되는 사람이 저장소를 볼 수 있는 경우, 예를 들어 저장소가 공개된 상황이라면 '링크만 표시' 옵션을 선택하세요. 이 설정은 적용 후에 Coroid가 열거나 업데이트하는 풀 요청에만 적용됩니다. 아직 별도의 설정 화면은 제공되지 않습니다.문의하기하여 조직 설정을 '링크만 표시'로 변경할 수 있습니다.
결정 사항 및 그 이유
Coroid는 작업 진행 중에 누가 어떤 결정을 내렸는지를 기록합니다. 여기에는 의도, 사양 및 계획에 대한 승인, 자격 확인, 작업 시작·중단·재시도·수동 완료, 병합 및 강제 병합, 게이트 우회, 릴리스 승인, 대화 참여자 또는 소유자 변경, QA 및 리뷰어 에이전트와 코디네이터의 판단 결과 등이 포함됩니다.
계획을 승인하고 시작하거나, 작업을 중단하거나 다시 시도할 때 확인 창에 최대 2,000자까지의 선택적 이유를 입력할 수 있습니다. 이 내용은 사용자 이름과 함께 작업의 출처에 저장되며, 조직에서 '링크만 표시' 옵션을 사용하지 않는 한 풀 요청에도 표시됩니다. 한 문장만으로도 충분합니다. '고객들이 봄 캠페인 이전에 이 기능을 요청했습니다'와 같은 설명은 승인 내용만으로는 알 수 없는 정보를 다음 읽는 사람에게 전달합니다. 강제 병합의 경우 반드시 서면으로 된 이유가 필요하며, 이 역시 동일한 방식으로 기록됩니다.
자동으로 내려진 결정
일부 결정 사항은 실제로 해당 사람이 내린 것이 아니라 대신 기록되는 경우가 있습니다. 계획 작업의 납품 계약은 승인된 계획에 따라 자동으로 승인되며, 개인이 승인하지 않은 계획의 경우에는 생성자가 대신 승인합니다. 타임라인에서는 이러한 결정 사항을 '자동'으로 표시하며, 이는 절대 특정인의 승인으로 간주되지 않습니다.
QA 및 리뷰 판단 결과, 코디네이터의 결정 등 에이전트가 내린 결정 사항은 해당 에이전트의 이름 아래에 그가 제시한 요약 내용과 함께 표시됩니다.
진행 중인 작업에 컨텍스트 추가하기
작업이 실행 중일 때 에이전트에게 정보를 전달할 수 있으며, 작업을 중단할 필요가 없습니다. 작업의 [활동] 탭을 열고 진행 중인 활동 옆에 있는 "컨텍스트 추가"를 선택하세요. 에이전트가 알아야 할 내용을 최대 2,000자까지 입력한 뒤 확인하세요.
- 에이전트가 실행 중일 경우, 다음 번 처리 시점에 사용자의 메시지를 읽습니다. 다른 에이전트를 기다리고 있던 코디네이터도 이 메시지를 읽기 위해 활성화됩니다.
- 현재 실행 중인 에이전트가 없다면, 다음에 시작되는 에이전트가 해당 메시지를 읽습니다.
해당 메시지는 작업의 출처에 "컨텍스트 추가" 결정 항목으로 사용자 이름과 함께 기록됩니다. 이는 작업의 결과물을 변경하지 않습니다. 만약 메시지 내용이 사양과 충돌한다면, 에이전트는 자동으로 선택하는 대신 충돌 사실을 보고합니다. 결과를 변경하려면 사양을 수정하거나 작업을 재작업으로 되돌리세요.
컨텍스트를 추가하려면 작업이 속한 프로젝트에 대한 쓰기 권한이 필요합니다. 완료되거나 취소된 작업에는 이 기능을 사용할 수 없습니다.
코드를 해당 작업으로 추적하기
코드 줄부터 시작하여 해당 코드를 생성한 작업을 찾을 수 있습니다. 포털, 에이전트, MCP 클라이언트 및 Git에서 모두 이 정보를 확인할 수 있습니다.
왜 이 코드가 여기에 있을까요?
작업의 코드 리뷰에서 기존 줄을 수정하는 각 변경 부분에는 이 버튼이 있습니다. 이 버튼은 대상 브랜치에서 해당 줄을 마지막으로 변경한 커밋을 조회하여 각 커밋의 출처를 표시합니다.
- Coroid로 제작됨: 작업 또는 계획의 의도, 요청 및 승인자, 주요 결정 사항과 전체 출처로 연결되는 링크가 포함됩니다.
- Coroid 외부에서 제작됨: 작업이나 계획에 변경 사유가 기록되어 있지 않으므로 작성자와 날짜만 확인할 수 있습니다.
변경으로 추가된 파일에는 이전 줄이 없으므로 버튼이 제공되지 않습니다.
에이전트 또는 MCP 클라이언트를 이용하여
에이전트와 MCP 클라이언트는 동일한 도구를 사용하여 같은 질문을 합니다. 이 도구는 파일을 입력받으며, 원한다면 줄 범위와 브랜치, 태그 또는 커밋 정보도 함께 지정할 수 있습니다. 그러면 각 줄 범위에 대해 마지막으로 변경을 가한 커밋 정보가 반환됩니다. Coroid가 생성한 커밋의 경우, 해당 커밋과 연관된 작업 또는 계획 및 그 출처도 함께 제공됩니다. 이 도구의 이름은explain_code.
- 에이전트: Coroid의 개발자, 리뷰어 및 코디네이터 에이전트는 용도가 불분명한 코드를 변경하거나 삭제하기 전에 이 도구를 사용합니다.
- MCP 클라이언트: 이는 읽기 전용 도구이므로 리뷰어 역할과 다음 범위가 필요합니다:
mcp.read. 이 도구는 연결이 가능한 프로젝트 내에서만 작동하며 분당 30회의 호출을 허용합니다.
Git를 사용하여
Coroid가 생성하는 모든 커밋은 트레일러에 해당 작업의 이름을 기재하므로 Git를 통해서도 해당 정보를 확인할 수 있습니다:
git blame -L 120,120 src/search/alerts.ts # the commit that last changed line 120
git log -1 <sha> # its Coroid-Task or Coroid-Plan trailer그런 다음 포털에서 해당 작업 또는 계획을 열어 출처를 확인해 보세요:
- 작업:
https://client.coroid.ai/factory/task:<task id>?panel=provenance - 계획:
https://client.coroid.ai/factory/<plan id>#provenance
병합 또는 스쿼시 커밋의 경우, 해당 작업이 시작된 pull request을(를) 열어보세요. 그 안의 출처 섹션에서는 Coroid로 연결되는 링크를 확인할 수 있습니다.
출처 내보내기
해당 패널 상단에는 다운로드 버튼이 두 개 있습니다. Markdown 형식으로 된 파일은 요약 위주로 구성된 출처 정보를 제공하며, 이는 pull request 섹션과 동일한 형식을 따르되 대화 내용은 포함하지 않습니다. JSON 형식의 파일에는 대화 발췌문을 포함한 전체 기록이 저장되어 있어 별도로 보관하거나 관련 도구에서 활용하기에 적합합니다. JSON 파일은 인용된 대화 내용과 마찬가지로 비공개로 보관해야 합니다.
원본 정보가 기록되지 않음
Coroid은 기능 도입 후 생성된 작업의 출처를 기록합니다. 더 오래된 작업에는 기원 대신 다음 메시지가 표시됩니다:
기원이 기록되지 않았습니다. 이 작업은 Coroid이 출처를 기록하기 전에 생성되었습니다.
만약 Coroid가 이전 기록에서 해당 출처를 이미 인지하고 있다면, 즉 계획이 시작된 대화 내용이나 그 배경이 된 보고서 등이 있다면, 해당 패널에 알려진 출처로 표시됩니다. 그 이전에 이미 기록된 승인과 같은 결정 사항들은 여전히 나타나지만, 일부 항목은 누락될 수도 있습니다.
「파생」으로 표시된 원본 정보는 작업이 생성될 당시에 기록된 것이 아니라 이전의 기록을 바탕으로 재구성된 것입니다.