@silbaram/artifact-driven-agent 0.1.6 → 0.1.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +709 -516
- package/ai-dev-team/.ada-status.json +10 -0
- package/ai-dev-team/.ada-version +6 -0
- package/ai-dev-team/.current-template +1 -0
- package/ai-dev-team/.sessions/logs/20260124-014551-00f04724.log +5 -0
- package/ai-dev-team/.sessions/logs/20260124-014623-cb2b1d44.log +5 -0
- package/ai-dev-team/ada.config.json +15 -0
- package/ai-dev-team/artifacts/api.md +212 -0
- package/ai-dev-team/artifacts/decision.md +72 -0
- package/ai-dev-team/artifacts/improvement-reports/IMP-0000-template.md +57 -0
- package/ai-dev-team/artifacts/plan.md +187 -0
- package/ai-dev-team/artifacts/project.md +193 -0
- package/ai-dev-team/artifacts/sprints/_template/docs/release-notes.md +37 -0
- package/ai-dev-team/artifacts/sprints/_template/meta.md +54 -0
- package/ai-dev-team/artifacts/sprints/_template/retrospective.md +50 -0
- package/ai-dev-team/artifacts/sprints/_template/review-reports/review-template.md +49 -0
- package/ai-dev-team/artifacts/sprints/_template/tasks/task-template.md +43 -0
- package/ai-dev-team/artifacts/ui.md +104 -0
- package/ai-dev-team/roles/analyzer.md +265 -0
- package/ai-dev-team/roles/developer.md +222 -0
- package/ai-dev-team/roles/documenter.md +715 -0
- package/ai-dev-team/roles/improver.md +461 -0
- package/ai-dev-team/roles/manager.md +544 -0
- package/ai-dev-team/roles/planner.md +398 -0
- package/ai-dev-team/roles/reviewer.md +294 -0
- package/ai-dev-team/rules/api-change.md +198 -0
- package/ai-dev-team/rules/document-priority.md +199 -0
- package/ai-dev-team/rules/escalation.md +172 -0
- package/ai-dev-team/rules/iteration.md +236 -0
- package/ai-dev-team/rules/rfc.md +31 -0
- package/ai-dev-team/rules/rollback.md +218 -0
- package/bin/cli.js +49 -5
- package/core/artifacts/sprints/_template/meta.md +4 -4
- package/core/docs-templates/mkdocs/docs/architecture/overview.md +29 -0
- package/core/docs-templates/mkdocs/docs/changelog.md +36 -0
- package/core/docs-templates/mkdocs/docs/contributing/contributing.md +60 -0
- package/core/docs-templates/mkdocs/docs/getting-started/configuration.md +51 -0
- package/core/docs-templates/mkdocs/docs/getting-started/installation.md +41 -0
- package/core/docs-templates/mkdocs/docs/getting-started/quick-start.md +56 -0
- package/core/docs-templates/mkdocs/docs/guides/api-reference.md +83 -0
- package/core/docs-templates/mkdocs/docs/index.md +32 -0
- package/core/docs-templates/mkdocs/mkdocs.yml +86 -0
- package/core/roles/analyzer.md +32 -10
- package/core/roles/developer.md +222 -223
- package/core/roles/documenter.md +592 -170
- package/core/roles/improver.md +461 -0
- package/core/roles/manager.md +4 -1
- package/core/roles/planner.md +160 -10
- package/core/roles/reviewer.md +31 -3
- package/core/rules/document-priority.md +2 -1
- package/core/rules/rollback.md +3 -3
- package/package.json +1 -1
- package/src/commands/config.js +371 -0
- package/src/commands/docs.js +502 -0
- package/src/commands/interactive.js +324 -33
- package/src/commands/monitor.js +236 -0
- package/src/commands/run.js +360 -122
- package/src/commands/sessions.js +270 -70
- package/src/commands/setup.js +22 -1
- package/src/commands/sprint.js +295 -54
- package/src/commands/status.js +34 -1
- package/src/commands/upgrade.js +416 -0
- package/src/commands/validate.js +4 -3
- package/src/index.js +1 -0
- package/src/ui/dashboard.js +518 -0
- package/src/ui/keyHandler.js +147 -0
- package/src/ui/quickActions.js +111 -0
- package/src/utils/config.js +74 -0
- package/src/utils/files.js +70 -3
- package/src/utils/sessionState.js +472 -328
- package/src/utils/sessionState.process.test.js +101 -0
- package/src/utils/sessionState.test.js +183 -0
- package/src/utils/sprintUtils.js +134 -0
- package/src/utils/taskParser.js +134 -0
- package/src/utils/taskParser.test.js +76 -0
- package/ai-dev-team/artifacts/features/_template/qa.md +0 -16
- package/examples/todo-app/README.md +0 -23
- package/examples/todo-app/artifacts/backlog.md +0 -23
- package/examples/todo-app/artifacts/plan.md +0 -23
- package/examples/todo-app/artifacts/project.md +0 -23
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
# API Change Rules (API 변경 규칙)
|
|
2
|
+
|
|
3
|
+
> 이 문서는 api.md 변경 시 따라야 할 절차를 정의한다.
|
|
4
|
+
> API는 Backend와 Frontend의 계약이므로 일방적 변경은 금지된다.
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## 1. API 변경 원칙
|
|
9
|
+
|
|
10
|
+
- api.md는 **Backend와 Frontend의 공식 계약**
|
|
11
|
+
- 변경은 **양측 합의** 후에만 가능
|
|
12
|
+
- **Breaking change는 Manager 승인** 필수
|
|
13
|
+
- 모든 변경은 **문서에 기록**
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## 2. 변경 유형 분류
|
|
18
|
+
|
|
19
|
+
### 2.1 Non-Breaking Change (하위 호환)
|
|
20
|
+
|
|
21
|
+
| 유형 | 예시 | 승인 |
|
|
22
|
+
|------|------|------|
|
|
23
|
+
| 새 엔드포인트 추가 | POST /api/v1/new | Frontend 통보 |
|
|
24
|
+
| 응답에 optional 필드 추가 | 기존 + new_field | Frontend 통보 |
|
|
25
|
+
| 새 에러 코드 추가 | ERROR_NEW | Frontend 통보 |
|
|
26
|
+
| 요청에 optional 파라미터 | ?new_param=value | Frontend 통보 |
|
|
27
|
+
|
|
28
|
+
### 2.2 Breaking Change (하위 비호환)
|
|
29
|
+
|
|
30
|
+
| 유형 | 예시 | 승인 |
|
|
31
|
+
|------|------|------|
|
|
32
|
+
| 엔드포인트 삭제/변경 | /v1/old → /v2/new | Manager 필수 |
|
|
33
|
+
| 필수 필드 추가 | required 필드 | Manager 필수 |
|
|
34
|
+
| 필드 삭제 | 기존 필드 제거 | Manager 필수 |
|
|
35
|
+
| 필드 타입 변경 | string → number | Manager 필수 |
|
|
36
|
+
| 에러 코드 변경/삭제 | 기존 코드 변경 | Manager 필수 |
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## 3. 변경 절차
|
|
41
|
+
|
|
42
|
+
### 3.1 Non-Breaking Change
|
|
43
|
+
|
|
44
|
+
```
|
|
45
|
+
Backend 변경 필요 발견
|
|
46
|
+
↓
|
|
47
|
+
api.md에 [PROPOSED] 태그로 추가
|
|
48
|
+
↓
|
|
49
|
+
Frontend에 통보
|
|
50
|
+
↓
|
|
51
|
+
Frontend 확인 (48시간 내)
|
|
52
|
+
├── 이의 없음 → [PROPOSED] 제거, 확정
|
|
53
|
+
└── 이의 있음 → 협의 후 조정
|
|
54
|
+
↓
|
|
55
|
+
api.md 갱신 → 구현 진행
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
### 3.2 Breaking Change
|
|
59
|
+
|
|
60
|
+
```
|
|
61
|
+
Breaking Change 필요 발견
|
|
62
|
+
↓
|
|
63
|
+
Manager에게 에스컬레이션
|
|
64
|
+
↓
|
|
65
|
+
api.md에 [BREAKING] 태그로 추가
|
|
66
|
+
↓
|
|
67
|
+
Manager 검토
|
|
68
|
+
├── 승인 → Frontend 통보 → 마이그레이션 계획
|
|
69
|
+
└── 거부 → 대안 검토
|
|
70
|
+
↓
|
|
71
|
+
양측 합의 후 구현
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
## 4. 변경 요청 형식
|
|
77
|
+
|
|
78
|
+
### 4.1 Non-Breaking 변경 통보
|
|
79
|
+
|
|
80
|
+
```markdown
|
|
81
|
+
## API 변경 통보
|
|
82
|
+
|
|
83
|
+
- 유형: Non-Breaking
|
|
84
|
+
- Task: TASK-XXX
|
|
85
|
+
- 대상: [엔드포인트]
|
|
86
|
+
|
|
87
|
+
### 변경 내용
|
|
88
|
+
[변경 설명]
|
|
89
|
+
|
|
90
|
+
### 영향
|
|
91
|
+
- 기존 동작: 영향 없음
|
|
92
|
+
- 추가 사항: [내용]
|
|
93
|
+
|
|
94
|
+
### 일정
|
|
95
|
+
- 적용 예정: YYYY-MM-DD
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
### 4.2 Breaking 변경 요청
|
|
99
|
+
|
|
100
|
+
```markdown
|
|
101
|
+
## API Breaking Change 요청
|
|
102
|
+
|
|
103
|
+
- 유형: Breaking
|
|
104
|
+
- Task: TASK-XXX
|
|
105
|
+
- 대상: [엔드포인트]
|
|
106
|
+
|
|
107
|
+
### 변경 내용
|
|
108
|
+
- Before: [현재]
|
|
109
|
+
- After: [변경 후]
|
|
110
|
+
|
|
111
|
+
### 변경 사유
|
|
112
|
+
[필요 이유]
|
|
113
|
+
|
|
114
|
+
### 영향 분석
|
|
115
|
+
- 영향받는 화면: [목록]
|
|
116
|
+
- Frontend 수정 필요: [내용]
|
|
117
|
+
|
|
118
|
+
### 마이그레이션 계획
|
|
119
|
+
1. [단계]
|
|
120
|
+
2. [단계]
|
|
121
|
+
|
|
122
|
+
### 일정
|
|
123
|
+
- 승인 필요: YYYY-MM-DD
|
|
124
|
+
- 적용 예정: YYYY-MM-DD
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
---
|
|
128
|
+
|
|
129
|
+
## 5. 역할별 책임
|
|
130
|
+
|
|
131
|
+
| 역할 | 책임 |
|
|
132
|
+
|------|------|
|
|
133
|
+
| Backend | 변경 제안, api.md 갱신, 구현 |
|
|
134
|
+
| Frontend | 변경 검토, 영향 분석, 적용 |
|
|
135
|
+
| Manager | Breaking change 승인, 일정 조정 |
|
|
136
|
+
|
|
137
|
+
---
|
|
138
|
+
|
|
139
|
+
## 6. 버전 관리
|
|
140
|
+
|
|
141
|
+
### 6.1 URL 버전
|
|
142
|
+
|
|
143
|
+
- 현재: /api/v1
|
|
144
|
+
- Major Breaking 시: /api/v2
|
|
145
|
+
|
|
146
|
+
### 6.2 하위 호환 기간
|
|
147
|
+
|
|
148
|
+
- Breaking change 시 구버전 유지: 최소 2주
|
|
149
|
+
- 양측 합의 시 단축 가능
|
|
150
|
+
|
|
151
|
+
---
|
|
152
|
+
|
|
153
|
+
## 7. 긴급 변경
|
|
154
|
+
|
|
155
|
+
### 긴급 상황
|
|
156
|
+
|
|
157
|
+
- 보안 취약점
|
|
158
|
+
- 심각한 버그
|
|
159
|
+
|
|
160
|
+
### 긴급 절차
|
|
161
|
+
|
|
162
|
+
```
|
|
163
|
+
긴급 상황 발생
|
|
164
|
+
↓
|
|
165
|
+
Manager에게 즉시 보고
|
|
166
|
+
↓
|
|
167
|
+
Manager 판단 (1시간 내)
|
|
168
|
+
↓
|
|
169
|
+
승인 시: 즉시 변경 + 사후 문서화
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
---
|
|
173
|
+
|
|
174
|
+
## 8. 금지 사항
|
|
175
|
+
|
|
176
|
+
- ❌ Frontend 통보 없이 API 변경
|
|
177
|
+
- ❌ Manager 승인 없이 Breaking change
|
|
178
|
+
- ❌ 문서 갱신 없이 구현 변경
|
|
179
|
+
- ❌ 합의 없이 일정 변경
|
|
180
|
+
|
|
181
|
+
---
|
|
182
|
+
|
|
183
|
+
## 9. 체크리스트
|
|
184
|
+
|
|
185
|
+
### API 변경 전 체크리스트
|
|
186
|
+
|
|
187
|
+
- [ ] 변경 유형 분류 (Non-Breaking / Breaking)
|
|
188
|
+
- [ ] api.md에 [PROPOSED]/[BREAKING] 태그 추가
|
|
189
|
+
- [ ] Frontend 통보 완료
|
|
190
|
+
- [ ] (Breaking인 경우) Manager 승인 완료
|
|
191
|
+
- [ ] 마이그레이션 계획 수립 (필요 시)
|
|
192
|
+
|
|
193
|
+
### API 변경 후 체크리스트
|
|
194
|
+
|
|
195
|
+
- [ ] api.md 갱신 (태그 제거)
|
|
196
|
+
- [ ] 변경 이력 기록
|
|
197
|
+
- [ ] Frontend 구현 완료 확인
|
|
198
|
+
- [ ] 테스트 완료
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
# Document Priority Rules (문서 우선순위 규칙)
|
|
2
|
+
|
|
3
|
+
> 이 문서는 문서 간 충돌 시 우선순위를 정의한다.
|
|
4
|
+
> 모든 역할이 이 규칙을 따른다.
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## 1. 문서 우선순위 (높은 순)
|
|
9
|
+
|
|
10
|
+
```
|
|
11
|
+
1. decision.md (사용자/팀 판단) ───── 최우선
|
|
12
|
+
2. project.md (Frozen 상태) ───────── 기술 기준
|
|
13
|
+
3. plan.md (기획 기준) ─────────── 요구사항 기준
|
|
14
|
+
4. backlog/task-NNN.md (Task 정의) ─────────── 수용 조건
|
|
15
|
+
5. 인터페이스 문서 ─────────────────────── 구현 계약
|
|
16
|
+
6. sprints/sprint-N/meta.md ─────────────────────── 현재 범위
|
|
17
|
+
7. sprints/sprint-N/review-reports/*.md ─────────────────────── 리뷰 결과
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## 2. 충돌 해결 규칙
|
|
23
|
+
|
|
24
|
+
### 2.1 상위 문서 우선
|
|
25
|
+
|
|
26
|
+
- 충돌 시 **상위 문서가 정답**
|
|
27
|
+
- 하위 문서를 상위에 맞게 수정
|
|
28
|
+
- 수정 불가 시 사용자에게 질문
|
|
29
|
+
|
|
30
|
+
### 2.2 충돌 유형별 처리
|
|
31
|
+
|
|
32
|
+
| 충돌 | 우선 | 조치 |
|
|
33
|
+
|------|------|------|
|
|
34
|
+
| decision.md ↔ 모든 문서 | decision.md | 다른 문서 수정 |
|
|
35
|
+
| project.md ↔ plan.md | project.md | plan.md 조정 또는 사용자 질문 |
|
|
36
|
+
| plan.md ↔ Task 파일 | plan.md | Task 파일 수정 |
|
|
37
|
+
| Task 파일 ↔ 인터페이스 | Task 파일 | 인터페이스 수정 |
|
|
38
|
+
|
|
39
|
+
### 2.3 예외 상황
|
|
40
|
+
|
|
41
|
+
| 상황 | 처리 |
|
|
42
|
+
|------|------|
|
|
43
|
+
| 상위 문서가 오류 | 사용자에게 보고 |
|
|
44
|
+
| 양쪽 모두 합리적 | 사용자 판단 요청 |
|
|
45
|
+
| 해석 차이 | 사용자에게 명확화 요청 |
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## 3. 문서별 수정 권한
|
|
50
|
+
|
|
51
|
+
| 문서 | 작성 | 수정 | 승인 |
|
|
52
|
+
|------|------|------|------|
|
|
53
|
+
| decision.md | 사용자/팀 | 사용자/팀 | - |
|
|
54
|
+
| project.md | 사용자/팀 | 금지 (RFC 필요) | 사용자 |
|
|
55
|
+
| plan.md | Planner | Planner | 사용자 |
|
|
56
|
+
| backlog/task-NNN.md | Planner | Planner/Developer | - |
|
|
57
|
+
| 인터페이스 문서 | Developer | Developer | - |
|
|
58
|
+
| sprints/sprint-N/meta.md | 자동 생성 | 사용자 (CLI) | - |
|
|
59
|
+
| review-reports/task-NNN.md | Reviewer | Reviewer | - |
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
## 4. 문서 참조 규칙
|
|
64
|
+
|
|
65
|
+
### 4.1 역할별 필수 참조
|
|
66
|
+
|
|
67
|
+
| 역할 | 필수 참조 |
|
|
68
|
+
|------|----------|
|
|
69
|
+
| Planner | (이전 plan.md) |
|
|
70
|
+
| Developer | plan.md, project.md (있으면), sprints/sprint-N/meta.md, tasks/task-NNN.md |
|
|
71
|
+
| Reviewer | plan.md, project.md (있으면), tasks/task-NNN.md |
|
|
72
|
+
| Documenter | plan.md, sprints/sprint-N/meta.md, tasks/*.md |
|
|
73
|
+
|
|
74
|
+
### 4.2 참조 순서
|
|
75
|
+
|
|
76
|
+
작업 시작 시:
|
|
77
|
+
1. decision.md 확인 (사용자 판단 기록)
|
|
78
|
+
2. sprints/sprint-N/meta.md 확인 (현재 스프린트)
|
|
79
|
+
3. 관련 Task 파일 확인
|
|
80
|
+
4. 작업 수행
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
## 5. 문서 상태 정의
|
|
85
|
+
|
|
86
|
+
| 상태 | 설명 | 수정 가능 |
|
|
87
|
+
|------|------|:--------:|
|
|
88
|
+
| Draft | 작성 중 | ✅ |
|
|
89
|
+
| Review | 검토 중 | ⚠️ 제한적 |
|
|
90
|
+
| Confirmed | 확정됨 | ⚠️ 승인 필요 |
|
|
91
|
+
| Frozen | 동결됨 | ❌ |
|
|
92
|
+
|
|
93
|
+
### 상태 전환
|
|
94
|
+
|
|
95
|
+
```
|
|
96
|
+
Draft → Review → Confirmed → (Frozen)
|
|
97
|
+
↑ ↓
|
|
98
|
+
└────────┘ (수정 필요 시)
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
---
|
|
102
|
+
|
|
103
|
+
## 6. 버전 관리 규칙
|
|
104
|
+
|
|
105
|
+
### 6.1 버전 형식
|
|
106
|
+
|
|
107
|
+
```
|
|
108
|
+
v[Major].[Minor]
|
|
109
|
+
|
|
110
|
+
예: v1.0, v1.1, v2.0
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
### 6.2 버전 증가 기준
|
|
114
|
+
|
|
115
|
+
| 변경 | 버전 |
|
|
116
|
+
|------|------|
|
|
117
|
+
| 오타/서식 수정 | 변경 없음 |
|
|
118
|
+
| 내용 추가/수정 | Minor +1 |
|
|
119
|
+
| 구조 변경 | Major +1 |
|
|
120
|
+
|
|
121
|
+
---
|
|
122
|
+
|
|
123
|
+
## 7. 충돌 감지 및 보고
|
|
124
|
+
|
|
125
|
+
### 7.1 충돌 감지 시점
|
|
126
|
+
|
|
127
|
+
- 작업 시작 전 문서 확인 시
|
|
128
|
+
- 작업 중 참조 문서 확인 시
|
|
129
|
+
- 리뷰 중 기준 확인 시
|
|
130
|
+
|
|
131
|
+
### 7.2 충돌 보고 형식
|
|
132
|
+
|
|
133
|
+
Task 파일에 이슈로 기록하거나 사용자에게 직접 질문:
|
|
134
|
+
|
|
135
|
+
```markdown
|
|
136
|
+
## 이슈: 문서 충돌 발견
|
|
137
|
+
|
|
138
|
+
- 발견자: [역할]
|
|
139
|
+
- 일시: YYYY-MM-DD
|
|
140
|
+
|
|
141
|
+
### 충돌 내용
|
|
142
|
+
- 문서 A: [문서명] - [내용]
|
|
143
|
+
- 문서 B: [문서명] - [내용]
|
|
144
|
+
|
|
145
|
+
### 충돌 유형
|
|
146
|
+
- [ ] 해석 차이
|
|
147
|
+
- [ ] 명시적 불일치
|
|
148
|
+
- [ ] 누락
|
|
149
|
+
|
|
150
|
+
### 제안
|
|
151
|
+
[해결 제안]
|
|
152
|
+
|
|
153
|
+
→ 사용자 승인 대기
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
---
|
|
157
|
+
|
|
158
|
+
## 8. 빠른 참조 표
|
|
159
|
+
|
|
160
|
+
### 문서 간 관계
|
|
161
|
+
|
|
162
|
+
```
|
|
163
|
+
decision.md
|
|
164
|
+
↓ (최우선)
|
|
165
|
+
project.md ←── Frozen (선택)
|
|
166
|
+
↓
|
|
167
|
+
plan.md
|
|
168
|
+
↓
|
|
169
|
+
backlog/task-NNN.md
|
|
170
|
+
↓
|
|
171
|
+
sprints/sprint-N/meta.md ←→ 인터페이스 문서
|
|
172
|
+
↓
|
|
173
|
+
sprints/sprint-N/tasks/task-NNN.md
|
|
174
|
+
↓
|
|
175
|
+
sprints/sprint-N/review-reports/task-NNN.md
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
### 충돌 시 판단 흐름
|
|
179
|
+
|
|
180
|
+
```
|
|
181
|
+
충돌 발생
|
|
182
|
+
↓
|
|
183
|
+
decision.md에 관련 판단 있음?
|
|
184
|
+
├── Yes → decision.md 따름
|
|
185
|
+
└── No ↓
|
|
186
|
+
|
|
187
|
+
project.md와 충돌?
|
|
188
|
+
├── Yes → project.md 따름 (있으면)
|
|
189
|
+
└── No ↓
|
|
190
|
+
|
|
191
|
+
plan.md와 충돌?
|
|
192
|
+
├── Yes → plan.md 따름
|
|
193
|
+
└── No ↓
|
|
194
|
+
|
|
195
|
+
Task 파일과 충돌?
|
|
196
|
+
├── Yes → Task 파일 따름
|
|
197
|
+
└── No → 하위 문서 기준으로 판단
|
|
198
|
+
```
|
|
199
|
+
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
# Escalation Rules (에스컬레이션 규칙)
|
|
2
|
+
|
|
3
|
+
> 이 문서는 사용자에게 질문/보고해야 하는 상황과 절차를 정의한다.
|
|
4
|
+
> 모든 역할이 이 규칙을 따른다.
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## 1. 에스컬레이션 원칙
|
|
9
|
+
|
|
10
|
+
- 판단 불가 시 → 즉시 에스컬레이션
|
|
11
|
+
- 규칙 외 상황 → 즉시 에스컬레이션
|
|
12
|
+
- 작업 완료 후 이상 발견 → 보고
|
|
13
|
+
- 혼자 결정하지 않음
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## 2. 즉시 에스컬레이션 (BLOCK)
|
|
18
|
+
|
|
19
|
+
> 작업을 **중단**하고 사용자에게 질문해야 하는 상황
|
|
20
|
+
|
|
21
|
+
### 2.1 BLOCK 상황
|
|
22
|
+
|
|
23
|
+
| 상황 | 예시 |
|
|
24
|
+
|------|------|
|
|
25
|
+
| project.md에 없는 기술 필요 | 새 라이브러리 도입 필요 |
|
|
26
|
+
| 요구사항 모호/충돌 | plan.md 해석 불가 |
|
|
27
|
+
| 문서 간 충돌 | plan.md ↔ project.md 불일치 |
|
|
28
|
+
| 역할 간 해석 불일치 | 같은 문서 다르게 해석 |
|
|
29
|
+
| 구현 불가능 판단 | 기술적으로 불가 |
|
|
30
|
+
| 보안/안전 이슈 | 심각한 취약점 발견 |
|
|
31
|
+
|
|
32
|
+
### 2.2 BLOCK 시 조치
|
|
33
|
+
|
|
34
|
+
```
|
|
35
|
+
1. 즉시 작업 중단
|
|
36
|
+
2. 현재 상태 저장 (Task 파일에 이슈 기록)
|
|
37
|
+
3. 사용자에게 질문
|
|
38
|
+
4. 사용자 응답 대기
|
|
39
|
+
5. 응답에 따라 진행
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## 3. 작업 완료 후 보고
|
|
45
|
+
|
|
46
|
+
> 작업은 완료하되, 사용자에게 **알려야** 하는 상황
|
|
47
|
+
|
|
48
|
+
### 3.1 보고 상황
|
|
49
|
+
|
|
50
|
+
| 상황 | 예시 |
|
|
51
|
+
|------|------|
|
|
52
|
+
| 예상보다 규모 큼 | Task가 예상보다 복잡 |
|
|
53
|
+
| 경미한 이슈 발견 | 작은 개선점 발견 |
|
|
54
|
+
| 문서 오류 발견 | 오타, 불일치 |
|
|
55
|
+
| 일정 지연 예상 | 예상보다 시간 필요 |
|
|
56
|
+
|
|
57
|
+
### 3.2 보고 시 조치
|
|
58
|
+
|
|
59
|
+
```
|
|
60
|
+
1. 작업 완료
|
|
61
|
+
2. Task 파일에 이슈 기록
|
|
62
|
+
3. 사용자에게 보고
|
|
63
|
+
4. 필요시 추가 조치
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
---
|
|
67
|
+
|
|
68
|
+
## 4. 에스컬레이션 형식
|
|
69
|
+
|
|
70
|
+
### 4.1 BLOCK 보고 형식
|
|
71
|
+
|
|
72
|
+
```markdown
|
|
73
|
+
## Issue: [제목]
|
|
74
|
+
|
|
75
|
+
- 유형: BLOCK
|
|
76
|
+
- 보고자: [역할]
|
|
77
|
+
- 일시: YYYY-MM-DD HH:MM
|
|
78
|
+
- Task: TASK-XXX (해당 시)
|
|
79
|
+
|
|
80
|
+
### 상황
|
|
81
|
+
[구체적 상황 설명]
|
|
82
|
+
|
|
83
|
+
### 문제점
|
|
84
|
+
[무엇이 문제인지]
|
|
85
|
+
|
|
86
|
+
### 시도한 것
|
|
87
|
+
[이미 시도한 해결책]
|
|
88
|
+
|
|
89
|
+
### 필요한 판단
|
|
90
|
+
[사용자에게 필요한 결정]
|
|
91
|
+
|
|
92
|
+
### 제안 (있으면)
|
|
93
|
+
[해결책 제안]
|
|
94
|
+
|
|
95
|
+
→ 사용자 응답 대기
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
### 4.2 보고 형식
|
|
99
|
+
|
|
100
|
+
```markdown
|
|
101
|
+
## Report: [제목]
|
|
102
|
+
|
|
103
|
+
- 유형: INFO / WARN
|
|
104
|
+
- 보고자: [역할]
|
|
105
|
+
- 일시: YYYY-MM-DD HH:MM
|
|
106
|
+
- Task: TASK-XXX (해당 시)
|
|
107
|
+
|
|
108
|
+
### 내용
|
|
109
|
+
[보고 내용]
|
|
110
|
+
|
|
111
|
+
### 영향
|
|
112
|
+
[예상되는 영향]
|
|
113
|
+
|
|
114
|
+
### 제안 (있으면)
|
|
115
|
+
[조치 제안]
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
---
|
|
119
|
+
|
|
120
|
+
## 5. 역할별 에스컬레이션 권한
|
|
121
|
+
|
|
122
|
+
| 역할 | BLOCK 가능 | 보고 대상 |
|
|
123
|
+
|------|:----------:|----------|
|
|
124
|
+
| Planner | ✅ | 요구사항 모호, 충돌 |
|
|
125
|
+
| Developer | ✅ | 구현 불가, 기술 부족, project.md 추가 필요 |
|
|
126
|
+
| Reviewer | ✅ | 구조적 문제, 설계 수준 이슈 |
|
|
127
|
+
| Documenter | ✅ | 문서화 불가, 정보 부족 |
|
|
128
|
+
|
|
129
|
+
---
|
|
130
|
+
|
|
131
|
+
## 6. 에스컬레이션 금지 사항
|
|
132
|
+
|
|
133
|
+
- ❌ 판단 가능한 것을 에스컬레이션
|
|
134
|
+
- ❌ 문서에 답이 있는 것을 에스컬레이션
|
|
135
|
+
- ❌ 개인 선호를 이유로 에스컬레이션
|
|
136
|
+
- ❌ BLOCK 없이 작업 중단
|
|
137
|
+
- ❌ 보고 없이 예외 처리
|
|
138
|
+
|
|
139
|
+
---
|
|
140
|
+
|
|
141
|
+
## 7. 에스컬레이션 응답 시간 기대치
|
|
142
|
+
|
|
143
|
+
| 유형 | 기대 응답 |
|
|
144
|
+
|------|----------|
|
|
145
|
+
| BLOCK (긴급) | 즉시 ~ 1시간 |
|
|
146
|
+
| BLOCK (일반) | 4시간 이내 |
|
|
147
|
+
| 보고 (WARN) | 24시간 이내 |
|
|
148
|
+
| 보고 (INFO) | 다음 체크인 |
|
|
149
|
+
|
|
150
|
+
---
|
|
151
|
+
|
|
152
|
+
## 8. 에스컬레이션 흐름도
|
|
153
|
+
|
|
154
|
+
```
|
|
155
|
+
┌─────────────────────────────────────────────────────────────────┐
|
|
156
|
+
│ │
|
|
157
|
+
│ 이슈 발생 │
|
|
158
|
+
│ ↓ │
|
|
159
|
+
│ 문서에 답이 있는가? │
|
|
160
|
+
│ ├── Yes → 문서대로 처리 │
|
|
161
|
+
│ └── No ↓ │
|
|
162
|
+
│ │
|
|
163
|
+
│ 내 권한으로 판단 가능? │
|
|
164
|
+
│ ├── Yes → 판단 후 진행 (필요시 보고) │
|
|
165
|
+
│ └── No ↓ │
|
|
166
|
+
│ │
|
|
167
|
+
│ 즉시 중단 필요? │
|
|
168
|
+
│ ├── Yes → BLOCK 에스컬레이션 │
|
|
169
|
+
│ └── No → 작업 완료 후 보고 │
|
|
170
|
+
│ │
|
|
171
|
+
└─────────────────────────────────────────────────────────────────┘
|
|
172
|
+
```
|