Epic: #651
리포트 항목: A13 구현 — Phase 1b (ADR Phase 1 완성) — docs/reports/2026-08-28-upstream-spec-drift-research.md (PR #650)
결정 반영 (2026-08-28, 트랜지션 전략)
ADR docs/adr/2026-08-28_agent-tool-isolation.md의 Phase 1을 1a(#672, 기능 손실 없음) 와 1b(이 이슈) 로 나눈다. 1b는 ADR이 Phase 1에 정의한 나머지 항목이며, 에이전트 툴/푸시 능력 손실 구간이 생기지 않도록 #673(Phase 2)과 같은 릴리스에서만 병합한다.
⚠️ 병합 게이트: #673이 Codex·Claude 두 런타임 모두에서 host-side 툴 실행을 완료하기 전에는 이 PR을 main에 병합하지 않는다. 별도 PR로 리뷰하되 병합은 #673과 동시에(또는 직후에) 한다. Ready 승격은 #673 PR이 approve된 뒤에만.
범위 (ADR Phase 1 중 1a가 제외한 항목)
- provider-native MCP subprocess 노출 비활성화 (Codex
config.mcp_servers, Claude mcp.json 서버 항목) — #673의 host-side 전송으로 대체됨을 전제
- child Git credential helper 제거 및 워커 post-run 인증 전송 대행 (assigned branch의 fetch/push); child는 커밋만 수행
- child HOME /
GH_CONFIG_DIR 격리 — allowlist가 호스트 gh auth 저장소를 노출하지 않음
- broker secret(
GITHUB_TOKEN_BROKER_SECRET)도 secretEnvironmentNames()에 포함해 child에서 제거; Linear raw 토큰(LINEAR_API_KEY/LINEAR_AUTHORIZATION) 제거 — Linear 자격증명은 #673의 host-side 경로로 공급
- ADR "Upstream conformance and divergence" 절의 임시 divergence 문구를 완료 상태로 갱신
완료 기준
Blocked by: #672, #673
Epic: #651
리포트 항목: A13 구현 — Phase 1b (ADR Phase 1 완성) —
docs/reports/2026-08-28-upstream-spec-drift-research.md(PR #650)결정 반영 (2026-08-28, 트랜지션 전략)
ADR
docs/adr/2026-08-28_agent-tool-isolation.md의 Phase 1을 1a(#672, 기능 손실 없음) 와 1b(이 이슈) 로 나눈다. 1b는 ADR이 Phase 1에 정의한 나머지 항목이며, 에이전트 툴/푸시 능력 손실 구간이 생기지 않도록 #673(Phase 2)과 같은 릴리스에서만 병합한다.범위 (ADR Phase 1 중 1a가 제외한 항목)
config.mcp_servers, Claudemcp.json서버 항목) — #673의 host-side 전송으로 대체됨을 전제GH_CONFIG_DIR격리 — allowlist가 호스트gh auth저장소를 노출하지 않음GITHUB_TOKEN_BROKER_SECRET)도secretEnvironmentNames()에 포함해 child에서 제거; Linear raw 토큰(LINEAR_API_KEY/LINEAR_AUTHORIZATION) 제거 — Linear 자격증명은 #673의 host-side 경로로 공급완료 기준
Blocked by: #672, #673