maskweaver 0.7.20 → 0.7.21
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.
|
@@ -17,9 +17,20 @@ AI가 자동으로 검증 루프를 돌리고, 완료되면 유저에게 전달
|
|
|
17
17
|
- **Global Knowledge**: 과거 트러블슈팅 경험 검색/기록
|
|
18
18
|
- **Verify**: 다층 AI 자동 검증 시스템
|
|
19
19
|
|
|
20
|
-
---
|
|
21
|
-
|
|
22
|
-
##
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## 핵심 원칙: 요청받은 Phase만 구현
|
|
23
|
+
|
|
24
|
+
> **⚠️ CRITICAL: `/weave-craft`는 지정된 Phase의 작업만 수행합니다. 다른 Phase의 작업이나 계획에 없는 범위 밖 구현은 절대 수행하지 않습니다.**
|
|
25
|
+
|
|
26
|
+
- 플랜 파일에 정의된 해당 Phase의 `checklist`와 `tasks` 항목만 구현합니다.
|
|
27
|
+
- 다음 Phase에 해당하는 작업을 미리 구현하지 않습니다.
|
|
28
|
+
- Phase 범위에 명시되지 않은 기능, 파일, 설정을 추가하지 않습니다.
|
|
29
|
+
- 범위 밖 작업이 필요하다고 판단되면, 구현하지 않고 유저에게 알려 플랜 수정을 제안합니다.
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## 사전 조건: 활성 플랜 확인
|
|
23
34
|
|
|
24
35
|
실행 전 반드시:
|
|
25
36
|
|
|
@@ -235,28 +246,47 @@ Stuck on performance issue:
|
|
|
235
246
|
|
|
236
247
|
---
|
|
237
248
|
|
|
238
|
-
## Step 4: UPDATE PLAN
|
|
239
|
-
|
|
240
|
-
Phase 완료 시 플랜 파일을 업데이트합니다:
|
|
241
|
-
|
|
242
|
-
```yaml
|
|
243
|
-
# .opencode/weave/plans/{active_plan}.yaml 내 해당 Phase 업데이트:
|
|
244
|
-
phases:
|
|
245
|
-
- id: "P1"
|
|
246
|
-
status: "completed" # pending → in_progress → completed
|
|
247
|
-
started_at: "2026-02-06T10:30:00"
|
|
248
|
-
completed_at: "2026-02-06T13:00:00"
|
|
249
|
-
masks_used:
|
|
250
|
-
- name: "kent-beck"
|
|
251
|
-
tasks: 2
|
|
252
|
-
effectiveness: 0.9
|
|
253
|
-
- name: "dan-abramov"
|
|
254
|
-
tasks: 1
|
|
255
|
-
effectiveness: 0.85
|
|
256
|
-
retry_count: 1
|
|
257
|
-
issues:
|
|
258
|
-
- "JSON 직렬화 오류 → useEffect 의존성 추가로 해결"
|
|
259
|
-
```
|
|
249
|
+
## Step 4: UPDATE PLAN
|
|
250
|
+
|
|
251
|
+
Phase 완료 시 플랜 파일을 업데이트합니다:
|
|
252
|
+
|
|
253
|
+
```yaml
|
|
254
|
+
# .opencode/weave/plans/{active_plan}.yaml 내 해당 Phase 업데이트:
|
|
255
|
+
phases:
|
|
256
|
+
- id: "P1"
|
|
257
|
+
status: "completed" # pending → in_progress → completed
|
|
258
|
+
started_at: "2026-02-06T10:30:00"
|
|
259
|
+
completed_at: "2026-02-06T13:00:00"
|
|
260
|
+
masks_used:
|
|
261
|
+
- name: "kent-beck"
|
|
262
|
+
tasks: 2
|
|
263
|
+
effectiveness: 0.9
|
|
264
|
+
- name: "dan-abramov"
|
|
265
|
+
tasks: 1
|
|
266
|
+
effectiveness: 0.85
|
|
267
|
+
retry_count: 1
|
|
268
|
+
issues:
|
|
269
|
+
- "JSON 직렬화 오류 → useEffect 의존성 추가로 해결"
|
|
270
|
+
```
|
|
271
|
+
|
|
272
|
+
### 플랜 업데이트 후 검증 (필수)
|
|
273
|
+
|
|
274
|
+
플랜 파일 업데이트 후, 반드시 다음을 확인합니다:
|
|
275
|
+
|
|
276
|
+
1. **Phase 상태 반영 확인**: 해당 Phase의 `status`가 `completed`로 변경되었는지 검증
|
|
277
|
+
2. **타임스탬프 기록 확인**: `started_at`과 `completed_at`이 올바르게 기록되었는지 검증
|
|
278
|
+
3. **다른 Phase 무변경 확인**: 실행하지 않은 Phase들의 상태가 변경되지 않았는지 검증
|
|
279
|
+
4. **검증 실패 시**: 유저에게 오류를 알리고 플랜 파일 재업데이트 시도
|
|
280
|
+
|
|
281
|
+
```
|
|
282
|
+
검증 절차:
|
|
283
|
+
1. Read(".opencode/weave/plans/{active_plan}.yaml") → 전체 플랜 파일 읽기
|
|
284
|
+
2. 해당 Phase의 status == "completed" 확인
|
|
285
|
+
3. started_at, completed_at 값 존재 확인
|
|
286
|
+
4. 다른 Phase들의 status가 원래 값 그대로인지 확인
|
|
287
|
+
5. 모두 정상이면 → 유저 핸드오프 진행
|
|
288
|
+
6. 하나라도 실패하면 → 오류 보고 및 재시도
|
|
289
|
+
```
|
|
260
290
|
|
|
261
291
|
---
|
|
262
292
|
|
|
@@ -256,10 +256,40 @@ Phase 1을 시작하려면:
|
|
|
256
256
|
|
|
257
257
|
---
|
|
258
258
|
|
|
259
|
-
##
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
259
|
+
## 핵심 원칙: 계획만 수립, 구현 금지
|
|
260
|
+
|
|
261
|
+
> **⚠️ CRITICAL: `/weave-design`은 계획 파일(.yaml)만 생성합니다. 코드 구현, 파일 생성, 프로젝트 셋업 등 실제 구현 작업은 절대 수행하지 않습니다.**
|
|
262
|
+
|
|
263
|
+
- 이 커맨드의 산출물은 오직 `.opencode/weave/plans/{plan-name}.yaml` 파일과 `state.yaml` 업데이트뿐입니다.
|
|
264
|
+
- 코드 작성, 디렉토리 생성, 패키지 설치 등 구현에 해당하는 모든 행위는 `/weave-craft` 단계에서 수행합니다.
|
|
265
|
+
- Phase 내부의 `tasks`는 계획 항목으로만 기록하고, 실행하지 않습니다.
|
|
266
|
+
|
|
267
|
+
---
|
|
268
|
+
|
|
269
|
+
## 완료 후 검증 (필수)
|
|
270
|
+
|
|
271
|
+
플랜 파일 생성 후, 반드시 다음을 확인합니다:
|
|
272
|
+
|
|
273
|
+
1. **플랜 파일 존재 확인**: `.opencode/weave/plans/{plan-name}.yaml` 파일이 실제로 존재하는지 검증
|
|
274
|
+
2. **state.yaml 반영 확인**: `active_plan` 값이 새 플랜 이름으로 올바르게 설정되었는지 검증
|
|
275
|
+
3. **검증 실패 시**: 유저에게 오류를 알리고 재생성 시도
|
|
276
|
+
|
|
277
|
+
```
|
|
278
|
+
검증 절차:
|
|
279
|
+
1. Read(".opencode/weave/plans/{plan-name}.yaml") → 파일 존재 확인
|
|
280
|
+
2. Read(".opencode/weave/state.yaml") → active_plan 값 확인
|
|
281
|
+
3. 둘 다 정상이면 → 완료 메시지 출력
|
|
282
|
+
4. 하나라도 실패하면 → 오류 보고 및 재시도
|
|
283
|
+
```
|
|
284
|
+
|
|
285
|
+
---
|
|
286
|
+
|
|
287
|
+
## 주의사항
|
|
288
|
+
|
|
289
|
+
1. **Phase는 작게**: 큰 Phase는 분할
|
|
290
|
+
2. **복잡한 분석은 위임**: Task(dummy-human)으로 전문가 위임
|
|
291
|
+
3. **테스트 가능해야**: 각 Phase 끝에 유저가 확인할 수 있어야
|
|
292
|
+
4. **아키텍처는 유연하게**: "변경 가능"을 명시
|
|
293
|
+
5. **플랜 이름은 kebab-case**: 파일명이 되므로 영문 소문자, 하이픈만 사용
|
|
294
|
+
6. **구현 금지**: 이 커맨드에서는 계획 파일 생성 외 어떤 코드/파일도 만들지 않음
|
|
295
|
+
7. **검증 필수**: 플랜 파일 생성 후 반드시 파일 존재와 state.yaml 반영을 확인
|