Sanctum LLM operations reports / topics / 50-codex-app-and-runtime-boundary

discord-codex-bot Worker Runtime 강화 보고서

이 보고서는 Sanctum 서비스별 LLM worker를 discord-codex-botagent-runtime에서 어떻게 강제해야 하는지 구체화한다.

discord-bot은 Discord UI 어댑터로 유지하고, workflow state, Codex thread control, RAG retrieval, artifact parsing, approval scope decision, diff guard는 agent-runtime이 소유해야 한다.

Worker Profile 필수 필드

  • serviceId: wallet-api, kms-api, hd-manager, mpc-manager-rs, party-node-rs, contracts, root-e2e
  • cwd: 기본 작업 디렉터리
  • readAllow: 읽기 가능한 경로와 context pack
  • writeAllow: 직접 수정 가능한 경로
  • proposeOnly: 직접 수정 금지, 제안만 가능한 경로
  • approvalPolicy: 승인 필요 조건
  • handoffRules: 외부 변경 발견 시 전달 대상
  • diffGuard: 작업 후 실제 변경 검증 정책

Sanctum Worker 분리

Worker직접 처리Handoff
wallet-apiwallet request handler, validation, serialization, service testscontracts, kms-api, hd-manager, root/e2e
kms-apikey management API 내부 구현과 테스트wallet caller behavior, hd interface, deployment config
hd-managerHD derivation, key lifecycle 내부 구현wallet/kms public contract, e2e provisioning flow, MPC 연동
contracts agentcanonical contracts, contract validation testsservice implementation, e2e validation
root/e2e agentintegration tests, choreography, rollout planindividual service internals, canonical contract unless approved

운영 판단

첫 구현 목표는 완전한 container sandbox가 아니라 profile 기반 실행과 diff guard다. allowlist와 diff guard는 기존 runtime 구조에 빠르게 붙일 수 있고, 경계 위반이 조용히 완료되는 것을 즉시 막는다.

권한 판단은 자연어 keyword table이나 regex intent classifier로 만들면 안 된다. 최종 권한은 worker profile, explicit handoff fields, server metadata, approval records에서 와야 한다.

리스크와 가드레일

  • Repo-wide write access는 작업 후 changed files와 diff를 allowed, approved, propose-only violation, denied, preexisting으로 분류해 제어한다.
  • Approval scope 오염을 막기 위해 button payload에는 approval_id만 포함한다.
  • 작업 시작 전 baseline을 기록하고 사용자 변경과 worker 변경의 소유권을 구분한다.
  • Graphify/RAG 결과는 context evidence로만 기록한다.
← 주제 통합 지식으로 돌아가기