4.5 KiB
4.5 KiB
SDD: 분석 대상 결정과 실행 스냅샷
위치
- Milestone: Milestone 문서
- Phase: PHASE.md
상태
[승인됨]
SDD 잠금
- 상태: 해제
- 사용자 리뷰: 없음
- 잠금 항목:
- 없음
문제 / 비목표
- 문제: 설정 변경과 동시 실행 중에도 어떤 저장소·운영 환경을 왜 선택했는지 재현 가능해야 한다.
- 비목표:
- 추론 기반 대상 탐색
- 다중 저장소 수정
- 운영 환경 쓰기
Source of Truth
| 영역 | 기준 | 메모 |
|---|---|---|
| Roadmap | Milestone 문서 | 선택·스냅샷 기능 범위 |
| Code | internal/platform/database/migrations/, internal/domain/remediation/ |
규칙과 실행 스냅샷 |
| External Provider | 저장소 기준 리비전 조회 경계 | 리비전 값만 스냅샷에 보존 |
| User Decision | 없음 | 일치·우선순위·실패 기준이 확정됨 |
State Machine
| 상태 | 진입 조건 | 다음 상태 | 근거 |
|---|---|---|---|
| 선택 대기 | 오류 묶음이 분석 후보가 됨 | 대상 선택됨 | 첫 일치 활성 규칙과 유효한 연결 |
| 선택 대기 | 일치 규칙 또는 유효 대상이 없음 | 선택 실패 | target_selection 표준 실패 |
| 대상 선택됨 | 기준 리비전 확인 성공 | 실행 스냅샷 생성 | 수정 작업과 대상 이력 트랜잭션 |
| 대상 선택됨 | 기준 리비전 확인 실패 | 선택 실패 | 저장소 조회 실패 원인 |
Interface Contract
- 계약 원문: 없음
- 입력:
- 조직·프로젝트·입력 출처와 오류 source 필드
- 활성 분석 대상 규칙
- 출력:
- 저장소 ID, 기준 리비전과 읽기 전용 운영 환경 ID 목록
- 선택 규칙 ID 또는 표준 실패
- 금지:
- LLM으로 규칙 순서 변경
- 실행 생성 뒤 대상 스냅샷 덮어쓰기
- 다른 조직·프로젝트 대상 연결
Acceptance Scenarios
| ID | Milestone Task | Given | When | Then |
|---|---|---|---|---|
| S01 | match-rule |
여러 활성 규칙이 일치함 | 대상을 선택함 | 숫자가 가장 낮은 우선순위의 첫 규칙이 선택됨 |
| S02 | validate-target |
규칙 대상이 비활성 또는 다른 프로젝트임 | 대상을 검증함 | 선택이 거부되고 분석이 시작되지 않음 |
| S03 | no-target-failure |
일치 규칙이 없음 | 선택을 수행함 | target_selection 실패가 사용자에게 보고 가능하게 저장됨 |
| S04 | resolve-revision |
저장소 기준 가지가 존재함 | 리비전을 조회함 | 불변 리비전 식별자가 반환됨 |
| S05 | create-run |
대상과 리비전이 유효함 | 수정 작업을 생성함 | 저장소·리비전·운영 환경 스냅샷이 한 번 저장됨 |
| S06 | selection-tests |
실행 생성 후 규칙이 변경됨 | 기존 실행을 조회함 | 원래 스냅샷이 유지되고 새 설정 영향이 없음 |
Evidence Map
| Scenario | Required Evidence | agent-task 연결 |
완료 Evidence 기대 |
|---|---|---|---|
| S01 | 규칙 우선순위 단위 검사 | agent-task/m-analysis-target-selection/... |
match-rule 완료 근거 |
| S02 | 조직·프로젝트 FK 및 상태 검사 | agent-task/m-analysis-target-selection/... |
validate-target 완료 근거 |
| S03 | 표준 실패 저장 통합 검사 | agent-task/m-analysis-target-selection/... |
no-target-failure 완료 근거 |
| S04 | 저장소 경계 리비전 검사 | agent-task/m-analysis-target-selection/... |
resolve-revision 완료 근거 |
| S05 | 수정 작업 원자성 DB 검사 | agent-task/m-analysis-target-selection/... |
create-run 완료 근거 |
| S06 | 스냅샷 불변성 통합 검사 | agent-task/m-analysis-target-selection/... |
selection-tests 최종 검증 |
Cross-repo Dependencies
- 없음
Drift Check
- Milestone 기능 Task와 Acceptance Scenario가 일치한다.
- Evidence Map이 code-review와
complete.log에서 검증 가능하다. - 외부 계약 원문을 SDD에 복제하지 않았다.
- 사용자 리뷰가 필요한 항목이 없다.
사용자 리뷰 이력
- 없음
작업 컨텍스트
- 표준선: 명시 규칙의 결정성과 실행 입력 revision 보존을 우선한다.
- 후속 SDD: IOP 분석 실행 연동