관리형 에이전트는 터미널 하나가 아니다
관리형 에이전트는 세 가지 identity를 묶는다.
- provider conversation
- Dure pane과 agent record
- Git worktree와 branch
Hmux가 provider process와 PTY를 소유하고, Dure는 versioned protocol을 통해
client로 접속한다. 이 process boundary 덕분에 앱 창을 닫아도 관리형 로컬
에이전트가 함께 종료되지 않는다.
다시 붙기
Dure가 다시 연결되면 host는 canonical screen snapshot과 그 뒤의 출력을 보낸다.
현재 화면 하나를 그리기 위해 전체 terminal log를 처음부터 재생할 필요가 없다.
Generation fence가 붙은 controller lease가 어느 client가 입력할 수 있는지 정한다.
추가 client는 기존 controller의 keyboard를 몰래 빼앗지 않고 관찰자로 붙을 수
있다.
Worktree 소유권
Worktree 기반 에이전트는 각자의 작업 디렉터리와 branch를 받는다. Git index와
파일 수정은 격리되지만 port, process, credential, network 같은 운영체제 자원은
격리되지 않는다.
Worktree는 보안 sandbox가 아니다. 에이전트가 할 수 있는 일은 provider의 승인
설정과 현재 사용자 계정의 권한으로 결정된다.
서로 다른 세 가지 복구
관리형 pane과 일반 pane
일반 terminal에서 agent CLI를 직접 실행해도 Dure는 실제 process tree와 terminal
증거를 보고 provider와 활동을 자동 인식한다. 사용자는 에이전트를 먼저 추가하거나
수동 등록하지 않고 평소처럼 터미널을 사용할 수 있다.
자동 인식은 관리형 전환과 같지 않다. 관리형 provider session은 Dure의 에이전트
추가 흐름으로 시작하거나, 검토된 경우 terminal pane에 표시되는 전환 동작을
사용한다. 전환은 정확한 provider conversation과 pane identity를 보존해야 하므로
안전한 경계에서만 실행된다.
SSH 프로젝트에도 같은 보장을 기대하기 전에는
현재 한계를 확인한다.