gito/agent-roadmap/phase/agent-shell-iop-execution/milestones/command-policy-and-cancellation.md

2.4 KiB

Milestone: Command Policy and Cancellation

위치

  • Roadmap: agent-roadmap/ROADMAP.md
  • Phase: agent-roadmap/phase/agent-shell-iop-execution/PHASE.md

목표

agent-shell command execution에 policy gate, timeout, cancellation, log redaction, dirty workspace guard를 적용한다. agent가 Git과 IOP를 사용할 수 있어도 destructive action은 명시된 policy와 operation state를 통해 제어되어야 한다.

상태

[계획]

승격 조건

  • 없음

구현 잠금

  • 상태: 잠금
  • 결정 필요:
    • 기본 command allowlist와 destructive command 승인 기준을 확정한다.
    • log redaction의 최소 secret pattern과 책임 경계를 확정한다.

범위

  • command allowlist/denylist 후보
  • operation별 timeout과 cancellation
  • signal handling
  • dirty workspace guard
  • stdout/stderr secret redaction
  • failed/cancelled event 정책

기능

Epic: [policy] Command policy

agent-shell이 실행할 수 있는 command 범위와 승인 조건을 제어한다.

  • [allowlist] Git/IOP 중심 command allowlist를 정의한다.
  • [destructive] destructive command는 policy gate 없이는 실행하지 않도록 막는다. 검증: deny 대상 command가 rejected event를 남긴다.
  • [redaction] log stream에서 credential-like token을 redaction한다.

Epic: [control] Timeout and cancel

긴 실행을 제어하고 중단 결과를 원장에 남긴다.

  • [timeout] operation timeout을 command context에 적용한다.
  • [cancel] running command cancel request를 처리한다. 검증: fake long command가 cancel 후 cancelled state로 종료된다.
  • [dirty] command 종료 후 workspace dirty state를 lease에 반영한다.

완료 리뷰

  • 상태: 없음
  • 요청일: 없음
  • 완료 근거: 없음
  • 리뷰 필요:
    • 사용자가 완료 결과를 확인했다
    • archive 이동을 승인했다
  • 리뷰 코멘트: 없음

범위 제외

  • OS-level sandbox hardening
  • secret manager 구현
  • provider permission API
  • UI approval workflow

작업 컨텍스트

  • 관련 경로: services/core/internal/agentshell/, services/core/internal/worker/, services/core/internal/events/
  • 표준선(선택): policy는 allow by explicit capability, deny by default 방향을 따른다.
  • 선행 작업: IOP Agent Run Bridge
  • 후속 작업: Provider Adapter Foundation
  • 확인 필요: command allowlist와 redaction 기준