명령을 실행하기 전 요구사항
dureCLI를 설치하고 사용하려는 app channel에서 Dure를 한 번 이상 실행한다. CLI가 읽는 registry가 이때 생성된다. 그 뒤task-create에는 실행 중인 앱이 필요하지 않다.task-create는 작업을 기록할 뿐이다.--title은 필수지만 provider, 실행 중인 agent, project, worktree, managed session은 필요 없다.--spec과--deps는 선택이다.- 별도
--requirementsfield는 없다. 범위, 완료 조건, 검증 방법, 기대 결과 형식을 자유 형식--spec에 넣는다. Dure는 이를 저장하고 전달하지만 계약의 완전성이나 충족 여부를 판정하지 않는다. - Dure 안에서 연 terminal은 올바른 app channel을 자동으로 상속한다. 설치형 앱은
기본으로
stable을 사용한다. 외부 shell에서 격리된 개발 빌드를 대상으로 실행할 때는DURE_APP_CHANNEL을 해당 빌드의 channel로 설정한다. dispatch --inject의 요구사항은 더 엄격하다. 대상이 같은 channel에 등록돼 있고 해당 session이 입력을 받을 수 있어야 한다. 원격 mailbox는 아직 연결되지 않으므로 결과 보고까지 완결하려면 대상도 로컬이어야 한다.--inject를 빼면 작업 배정과 메시지만 저장한다.
조율 계층이 더하는 것
종류가 있는 메시지
Note, status, dispatch, 완료 보고, escalation, decision gate, heartbeat를
서로 구분해 보낸다.
Provider 중립적인 대상
한 에이전트, 전체를 뜻하는
@all, @claude나 @codex 같은 provider
그룹을 수신자로 지정한다.결과가 돌아오는 작업
작업을 기록하고 에이전트에게 배정한 뒤 terminal 출력을 추측하는 대신
구조화된
worker_done 결과를 받는다.사람의 판단을 흐름 안에
승인이 필요한 경계를 넘기 전에 에이전트가 답을 기다리는 질문이나 decision
gate를 만들 수 있다.
--from
identity를 붙이지 않아도 된다.
작은 조율 루프
현재 팀 전체에 공지를 보낸다.--inject는 작업 설명과 보고 규칙을 대상 에이전트의 terminal에 넣는다.
Dispatch 자체도 종류가 있는 메시지로 남기 때문에 단순한 keystroke 전송과는
다르다.
결과, 막힘, 사람의 결정이 필요한 이벤트를 기다린다.
조율 패턴
독립 작업을 병렬로 나누기
조사, 구현, 리뷰를 각각 작업으로 만들고 서로 다른 에이전트나 provider에게 배정한다. Worktree는 파일 변경을 격리하고 orchestration channel은 공통 의도와 결과를 전달한다.조용히 멈추는 대신 질문하기
Coordinator의 답이 필요한 에이전트는 reply가 올 때까지 기다릴 수 있다.오래 걸리는 작업과 먹통 구분하기
긴 작업을 수행하는 worker는heartbeat를 보낼 수 있다. 계속하려면 조치가 필요한
작업은 escalation을 보내므로 모든 terminal을 지켜보지 않아도 둘을 구분할 수
있다.