원문 캡처 · pullboard.dev
원문 캡처 · pullboard.dev

제작 에이전트가 자기 작업을 승인하려 하자 Pullboard는 SELF_VERIFY로 거부하고, 다른 에이전트의 검증을 요구한다. Pullboard는 에이전트가 작업을 맡고 제출하는 과정을 규칙으로 관리하는 도구다.

상태 기계(state machine)는 작업 항목이 거칠 수 있는 상태와 상태 전환, 전환 권한, 잘못된 전환에 대한 거부 메시지를 코드에서 보여준다. 작업 흐름은 사람이 사양을 승인한 뒤 에이전트가 각자 할당된 영역에서 작업하고 제출하며, 병합 전에 두 번째 에이전트가 검증하는 방식이다. 이를 에이전트 개발 수명 주기(Agentic Development Lifecycle, ADLC)라고 부른다.

규칙을 어기면 어디서 막히나?

Pullboard는 규칙을 설명하는 데 그치지 않고, 위반이 발생한 시점에 작업을 거부하고 규칙 이름과 다음 단계를 알린다. 네 가지 주요 확인 지점은 작업을 맡을 때 기준을 고정하고, 커밋할 때 지정된 작업 영역을 지키며, 제출할 때 테스트 통과 여부를 확인하고 커밋을 고정하는 단계다. 마지막으로 제작자는 자기 작업을 검증할 수 없고 다른 에이전트가 확인해야 한다.

각 지점의 동작 예시는 다음과 같다. 작업이 이미 할당된 뒤 기준을 바꾸려 하거나, 작업 영역 밖의 파일을 커밋하거나, 테스트가 실패한 상태로 제출하면 거부된다. 테스트가 통과하면 해당 작업의 커밋이 고정된다.

text
~/storefront`# at claim: the coordinator tries to soften a frozen bar $ pullboard edit 2 --criterion "Most orders email a receipt" pullboard: [HELD] item #2 is claimed; change its route, criterion or check only while it is open # at commit: web-1 stages a file outside its lane $ git commit -m "feat(web): show live rates [G1]" pullboard pre-commit: blocked   - outside the web lane: api/rates.js (coordinator's); shout its owner instead # at submit: red tests are refused, green work is pinned $ pullboard submit 1 pullboard: [GATE_RED] the gate is red at 6a40215c0a5a; fix it, commit, submit again. $ pullboard submit 1 pinned as refs/pullboard/items/1/7e3790a6828f, so this work can't be lost # at verify: the builder tries to accept its own work $ pullboard verify 1 accept --note "looks fine" pullboard: [SELF_VERIFY] the builder never verifies its own work; another agent must

상태 기계 그림

전체 작업 흐름 그림

그 밖에 어떤 규칙이 있나?

Pullboard의 규칙은 네 가지 확인 지점 외에도 작업 배정과 검토를 관리한다. 작업을 맡으면 기본적으로 두 시간 동안 임대(lease)되며, 작업이 멈춘 채 임대 기간이 끝나면 항목이 다시 열려 다른 에이전트가 맡을 수 있다. 검증자는 자신이 확인할 항목을 예약하고, 다른 검증자의 판정은 대기한다.

거부된 커밋은 다시 제출할 수 없으며, 재작업 내용을 먼저 커밋해야 한다. 각 커밋 메시지 머리말에는 해당 작업 사양의 행을 적어야 한다. 작업 영역은 사유를 붙여 일시 중지할 수 있고, 중지된 영역에서는 다음 작업을 배정하지 않는다. 질문은 답변이 나올 때까지 열린 상태로 남으며, 사람에게 전달되는 것은 사람의 결정이 필요한 질문뿐이다.

Pullboard를 사용하려면 문서에서 각 명령과 옵션, 거부 조건을 확인할 수 있다. 설치와 도움말 명령은 다음과 같다.

text
npm i -g pullboard
pullboard help

원문은 가격과 지원 환경을 밝히지 않는다.