검증
에이전트가 작업하는 동안 새로운 회귀를 잡아내세요.
파일을 저장하거나 에이전트가 작업을 마칠 때마다 Panolayer는 코드베이스가 실제로 어떻게 맞물리는지를 기준으로 변경을 검사합니다. 변경된 함수, 그 함수를 호출하는 코드, 그리고 각각이 기대하는 것을 살펴봅니다. 무엇이 왜 깨졌는지 몇 초 안에 확인할 수 있으며, 에이전트는 당신의 승인 없이 작업을 브랜치에 병합할 수 없습니다.
에이전트가 getUser()를 예외를 발생시키는 대신 null을 반환하도록 변경합니다.
컴파일도 되고 getUser 테스트도 여전히 통과하지만, 검사 없이 user.name을 읽는 여섯 군데는 스테이징에 가서야 문제를 알게 됩니다.
Verification Engine 작동 방식
검증은 코드에 대해 절대 틀릴 수 없는 단 하나, 코드 그 자체에서 시작합니다.
검증은 소스에서 파싱한 아키텍처 위에서 실행되므로 각 함수, 그 함수를 호출하는 것, 그 함수가 의존하는 것을 알고 있습니다. Panolayer는 새로운 회귀와 이미 있던 회귀를 구분합니다. 영구 메모리 덕분에 당신이 한 모든 수정은 프로젝트에 남으므로, 사용할수록 검증이 더 좋아집니다.
코드 파싱
기대하는 내용 파악
모든 변경 사항 검사
새 회귀는 기존 회귀와 별도로 유지
01
코드에서 컨텍스트를 구축합니다
에이전트는 주어진 파일만 봅니다. Panolayer는 컴파일러처럼 저장소를 파싱합니다. 파일, 모듈, 함수, 클래스, import, 전체 호출 그래프까지요. getUser()가 여섯 곳에서 호출되고 각각이 정확히 어디인지 아는 것은, 모델이 추측해서가 아니라 심볼을 해석했기 때문입니다. 아키텍처에서 둘러보는 것과 같은 아키텍처입니다.

02
코드가 기대하는 것을 파악합니다
Panolayer의 영구 메모리 덕분에 규칙은 실행 사이에도 저장되며, 직접 규칙을 추가하거나 잘못 도출된 규칙을 수정할 수 있습니다.

03
무엇이 깨졌는지 정확히 확인하세요
실패를 열면 함수, 규칙, 실제로 일어난 일, 위치, 영향을 받는 호출자가 근거와 함께 표시됩니다.
설정되어 있다면 검증은 테스트, 빌드, 타입 검사를 실행하고, 프런트엔드 변경을 브라우저에서 로드하고, 스크린샷을 참조 이미지와 비교할 수도 있습니다.

04
베이스라인과 비교합니다
모든 결과는 변경 전 코드베이스와 비교되므로, 이미 있던 실패는 기존 실패로 표시되고 이번 변경이 깨뜨린 것만 쫓으면 됩니다.
05
코드를 고치거나, 규칙을 고치세요
코드가 틀렸다면 직접 고치거나, 실패와 영향을 받는 호출자를 컨텍스트로 삼아 Panolayer Agent에게 수정을 맡기세요. 규칙이 틀렸다면 규칙을 수정하세요. 어느 쪽이든 결과는 다시 검증됩니다.
에이전트는 당신의 승인 없이 자신의 작업을 브랜치에 병합할 수 없습니다. Marketplace 에이전트는 메인 트리에 접근할 경로가 없는 컨테이너에서 실행됩니다. Mac의 CLI 에이전트는 지시에 의해 보류됩니다. 검사가 실패해도 언제든지 commit하고 에이전트의 작업을 병합할 수 있습니다.
빌드 자세히 보기자주 묻는 질문
규칙이란 무엇인가요?
“user를 반환하거나 예외를 발생시키며, null은 절대 반환하지 않는다”처럼 코드의 일부가 어떻게 동작해야 하는지에 대한 기대입니다. Panolayer는 대부분의 규칙을 코드에서 도출하며, 직접 추가할 수도 있습니다. 규칙은 유지되며 모든 변경에서 실행됩니다.
규칙을 직접 작성할 수 있나요?
예. Panolayer가 코드에서 도출한 규칙과 함께 직접 규칙을 추가할 수 있습니다.
규칙이 틀렸다면 어떻게 되나요?
수정하세요. 수정 사항은 유지되며, 해당 저장소의 이후 검증에 반영됩니다.
검증은 얼마나 빠른가요?
결과가 몇 초 안에 돌아오므로, 작업을 벗어나지 않고 검사하고, 고치고, 다시 검사할 수 있습니다.
검증은 언제 실행되나요?
브랜치에서 파일을 저장할 때, 그리고 에이전트가 작업 완료를 알릴 때 실행됩니다.
내 코드가 모델로 전송되나요?
저장소와 Panolayer가 만든 인덱스는 동기화하거나 공유하지 않는 한 당신의 Mac에 남아 있습니다. 모델을 사용하는 기능은 관련 코드 발췌와 프롬프트를 설정한 제공업체로 보내며, 해당 제공업체의 약관이 적용됩니다.
보안 페이지에서 자세히 보기병합이 막히나요?
막히는 것은 에이전트이지 당신이 아닙니다. 에이전트는 당신의 승인 없이 자신의 작업을 브랜치에 병합할 수 없습니다. 당신은 언제든지 commit하고 병합할 수 있습니다.