5.3 KiB
5.3 KiB
Milestone: IOP Agent Run Bridge
위치
- Roadmap:
agent-roadmap/ROADMAP.md - Phase:
agent-roadmap/phase/agent-shell-iop-execution/PHASE.md
목표
../iop backend/runtime이 수행한 agent run을 Gito의 workspace operation과 Git revision event로 수렴시키는 계약을 만든다. ../agent-shell은 host UI/package로 남고, 실제 backend 실행과 IOP CLI/Edge/Node orchestration은 IOP 프로젝트가 소유한다. Gito와 IOP의 외부 연결은 HTTP dispatch/callback 경계로 두며, proto-socket은 사용하지 않는다. 성공 기준은 구조화 응답이 아니라 workspace의 실제 Git 상태와 push 결과로 확인한다.
상태
[검토중]
승격 조건
- 없음
구현 잠금
- 상태: 해제
- 결정 필요: 없음
- 해소 근거:
- IOP CLI 실행 명령, profile/model 선택, 입력 파일 또는 stdin 계약은 Gito가 직접 확정하지 않고 IOP backend/runtime 소유로 둔다.
- IOP credential과 workspace별 secret 주입 방식은 raw secret이 아니라
credential_ref/secret_ref경계로만 연결하며, 세부 주입은 IOP 소유 또는 후속 provider/credential Milestone에서 다룬다. - Gito와 IOP의 외부 연결은 HTTP dispatch/callback 모델을 따른다. proto-socket은 외부 연결 규약이나 보조 transport로 사용하지 않는다.
범위
- IOP backend invocation/result contract
- IOP HTTP dispatch/callback boundary
- workspace path, repo context, operation instruction 전달 경계
- agent run state model
- IOP run success/failure 판정
- run 이후 Git status/diff/commit/push와 revision scan 연결
기능
Epic: [iop-run] IOP execution
IOP backend를 workspace operation 실행 통로로 연결한다.
- [input] repo, branch, workspace path, user instruction, policy context를 IOP 입력으로 전달하는 형식을 정한다.
- [invoke] Gito가 직접 IOP CLI를 실행하지 않고 IOP backend invocation/result 계약을 호출하거나 수신하는 형식을 정한다. 검증: fake IOP backend result가 operation log를 남긴다.
- [state]
queued,running,succeeded,failed,cancelledrun state를 operation lifecycle에 매핑한다. - [result] run 이후 Git status와 revision diff로 성공 여부를 확인한다.
Epic: [git-result] Git result convergence
agent run 결과를 Git revision과 operation event로 수렴한다.
- [dirty-guard] run 종료 후 dirty workspace 정책을 적용한다.
- [commit-push] policy가 허용한 경우 commit/push operation으로 연결한다.
- [revision-event] push 이후 revision scan event를 발행한다.
완료 리뷰
- 상태: 요청됨
- 요청일: 2026-06-16
- 완료 근거:
revision-event까지 PASS되어 모든 기능 Task가 충족됐다. 최종 근거는agent-task/archive/2026/06/m-iop-agent-run-bridge/04+03_revision_scan_event/complete.log의 Roadmap Completion이며, 검증은cd services/core && go test ./..., 계약 keyword scan,git diff --checkPASS다. - 리뷰 필요:
- 사용자가 완료 결과를 확인했다
- archive 이동을 승인했다
- 리뷰 코멘트: 사용자 승인 전까지
[검토중]으로 유지한다.
범위 제외
- IOP 내부 모델 라우팅
- IOP CLI 실행 명령, profile/model 선택, 입력 파일 또는 stdin 세부
- IOP credential과 workspace별 raw secret 주입 세부
../agent-shellpackage 내부 UI/domain 구현- provider PR/MR 생성
- Plane/Jira work item lifecycle
- Flutter UI
작업 컨텍스트
- 관련 경로:
services/core/internal/worker/,services/core/internal/gitengine/,services/core/internal/events/,packages/contracts/notes/gito-control-plane.md - 표준선(선택): IOP run 결과는 Git 상태와 operation event로 검증한다. Gito는 IOP CLI/secret 주입 세부를 직접 소유하지 않고 HTTP dispatch/callback과
credential_ref/secret_ref경계만 다룬다. - 선행 작업: Agent Shell Package and IOP Backend Boundary
- 후속 작업: Command Policy and Cancellation
- 확인 필요: 사용자 완료 리뷰와 archive 승인
- 방향성 정리: 외부 연결 규약에서 proto-socket을 제거하고 GitHub webhook과 유사한 HTTP webhook/callback 모델로 정렬했다.
- 완료 근거:
[input]과[state]는packages/contracts/notes/gito-control-plane.md의IOP Agent Run Bridge섹션에서 transport-independentAgentRunInput과 run state mapping으로 정리했다.[invoke]는agent-task/archive/2026/06/m-iop-agent-run-bridge/01_iop_invocation_contract/complete.log의 PASS Roadmap Completion으로 확인했다.[result]는agent-task/archive/2026/06/m-iop-agent-run-bridge/02+01_git_result_convergence/complete.log의 PASS Roadmap Completion으로 확인했다.[dirty-guard]는services/core/internal/worker/runner.go의 dirty workspace failure policy와TestRunnerRunOnceAgentRunFailsWhenGitEvidenceIsDirty통과로 확인했다.[commit-push]는agent-task/archive/2026/06/m-iop-agent-run-bridge/03_commit_push_policy/complete.log의 PASS Roadmap Completion으로 확인했다.[revision-event]는agent-task/archive/2026/06/m-iop-agent-run-bridge/04+03_revision_scan_event/complete.log의 PASS Roadmap Completion과TestRuntimeScanAgentRunRevisionPublishFailureDoesNotAdvanceDurableState,TestScanOperationEventAllowsNullOperationID,cd services/core && go test ./...통과로 확인했다.