---
task_id: task-2149
type: plan
scope: task
created: 2026-04-24
updated: 2026-04-24
status: completed
---

# 계획서: task-2149

**task**: task-2149
**목표**: gate-config.json 신규 생성 및 gate_config_loader.py 구현 — 게이트 설정 중앙 관리
**승인**: 에이전트 미팅 만장일치 합의 (C-FINAL-6)
**근거**: `/home/jay/workspace/memory/meetings/2026-04-24-dispatch-quality-automation.md`

---

## 목표

1. 5개 게이트(impact_scanner, ci_preflight, l1_smoketest, goal_assertions, unresolved_gate) 설정을 JSON으로 중앙 관리
2. Python 로더 함수 3개(load_gate_config, is_gate_enabled, get_gate_mode) 구현
3. Bash에서도 호출 가능한 CLI 인터페이스 제공
4. 단위 테스트 3건+ PASS

## 범위

### 포함
- `config/gate-config.json` 신규 생성 (~40줄)
- `utils/gate_config_loader.py` 신규 생성 (~30줄)
- 단위 테스트 작성 (5개 시나리오)

### 제외 (다음 페이즈 이후)
- 다른 게이트 스크립트에서 loader 호출하도록 연동 (다른 팀 작업)
- finish-task.sh에서 gate-config 참조 (dev3-team 담당)

## 위임 계획

- gate-config.json 작성 + gate_config_loader.py 구현: **엔키(백엔드)** — JSON/Python 구현 전담
- 단위 테스트 작성: **닌기르수(테스터)** — 5개 시나리오 검증

## 검증 기준

- JSON 로드: `python3 -c "from utils.gate_config_loader import load_gate_config; print(load_gate_config('impact_scanner'))"` → enabled=True, mode=warn 포함
- Bash 호출: `python3 -c "from utils.gate_config_loader import get_gate_mode; print(get_gate_mode('impact_scanner'))"` → "warn"
- 없는 게이트: `python3 -c "from utils.gate_config_loader import load_gate_config; print(load_gate_config('nonexistent'))"` → enabled=False
- 테스트: `python3 -m pytest tests/test_gate_config_loader.py -v` → 3건+ PASS
