96 lines
4.7 KiB
Markdown
96 lines
4.7 KiB
Markdown
---
|
|
name: change-req
|
|
description: "Use when: updating an existing requirement after approval or implementation, running /change-req with a REQ ID or file path, recording a change-request entry before overwriting a REQ, analyzing impacted batches/releases, or deciding whether an Implemented REQ must be downgraded and reverified."
|
|
argument-hint: "예: req-001 또는 docs/srs/Documentation/req-001_minor-docs.md"
|
|
user-invocable: true
|
|
---
|
|
|
|
# Purpose
|
|
|
|
This skill applies a controlled change to an existing REQ by recording a new change-request entry before editing the requirement body, analyzing downstream delivery impact, and updating status/index state when the prior implementation is no longer valid.
|
|
|
|
# When to use
|
|
|
|
- `/change-req req-001`처럼 기존 REQ의 Requirement, Acceptance Criteria, Impacted Area를 수정해야 할 때
|
|
- 운영 피드백이나 release feedback에서 기존 REQ 수정 필요가 확인됐을 때
|
|
- `Implemented` 또는 `Approved` REQ가 더 이상 현재 구현/검증 증거와 맞지 않는지 판단해야 할 때
|
|
- `docs/srs/index.md`의 REQ 상태와 실제 변경 영향 범위를 다시 동기화해야 할 때
|
|
|
|
# Inputs
|
|
|
|
- 선택 입력
|
|
- `REQ-ID` prefix
|
|
- REQ 파일 경로
|
|
- 변경 요청 근거
|
|
- 사용자 요청
|
|
- release feedback
|
|
- batch verification 또는 implementation 결과
|
|
- 대상 REQ 문서
|
|
- `docs/srs/index.md`
|
|
- 관련 `docs/batches/index.md`
|
|
- 관련 `docs/releases/index.md`
|
|
- 영향이 의심되는 batch/release 문서들
|
|
|
|
# Core Rules
|
|
|
|
## 1. 입력 해석
|
|
|
|
- prefix 입력이면 `docs/srs/**/req-001_*.md` 형식으로 찾는다.
|
|
- 동일 prefix에 여러 문서가 매칭되면 임의 선택하지 않는다.
|
|
- REQ가 `Deprecated`면 기본적으로 새 변경 요청 대상으로 삼지 않는다. 복구가 필요하면 근거를 먼저 명시한다.
|
|
|
|
## 2. 변경 요청 기록 규칙
|
|
|
|
- 기존 `Requirement`, `Acceptance Criteria`, `Impacted Area`를 덮어쓰기 전에 새 `Change Log` 항목을 추가한다.
|
|
- 새 변경 항목 ID는 `CHG-YYYYMMDD-NN` 형식을 사용하고 같은 날짜 내에서 순차 증가시킨다.
|
|
- 새 항목에는 최소한 아래를 모두 기록한다.
|
|
- `Change Summary`
|
|
- `Intent`
|
|
- `Acceptance Criteria Delta`
|
|
- `Impacted Area Delta`
|
|
- `Delivery Trace Delta`
|
|
- `Revalidation Impact`
|
|
- `Validation Plan`
|
|
- 과거 `Change Log` 항목은 삭제하거나 덮어쓰지 않는다.
|
|
|
|
## 3. 상태 영향 규칙
|
|
|
|
- 변경이 기존 구현 또는 verification evidence를 무효화하지 않으면 현재 상태를 유지할 수 있다.
|
|
- `Implemented` REQ의 기존 구현/검증 근거가 깨지면 상태를 `Approved`로 되돌린다.
|
|
- 변경이 승인 전제 자체를 다시 검토하게 만들면 상태를 `Proposed`로 되돌릴 수 있다.
|
|
- 상태를 되돌릴 때는 이유를 `Revalidation Impact`와 `Change Log`에 함께 남긴다.
|
|
- 상태가 바뀌면 `docs/srs/index.md`의 Register와 `Recent Change Log Summary`도 함께 갱신한다.
|
|
|
|
## 4. 영향 분석 규칙
|
|
|
|
- 관련 batch가 있으면 어떤 batch planning/design/verification이 다시 검토되어야 하는지 기록한다.
|
|
- 관련 release가 있으면 release 문서를 직접 덮어쓰지 말고 영향 범위와 후속 action을 REQ의 `Change Log`에 남긴다.
|
|
- 사람 판단이 필요한 범위 재정의, 우선순위 변경, 정책 변경은 임의 확정하지 않는다.
|
|
|
|
# Execution Procedure
|
|
|
|
1. 입력에서 대상 REQ 경로를 확정한다.
|
|
2. REQ 현재 상태와 최근 `Change Log`를 읽는다.
|
|
3. `docs/batches/index.md`, `docs/releases/index.md`, 관련 batch/release 문서를 읽어 현재 delivery trace를 요약한다.
|
|
4. 변경 요청 근거를 기존 구현/검증 상태와 비교한다.
|
|
5. 새 `Change Log` 항목을 먼저 추가하고 delta, trace, revalidation impact를 채운다.
|
|
6. 그 다음 REQ 본문(`Requirement`, `Acceptance Criteria`, `Impacted Area`, `Notes`)을 필요한 만큼 수정한다.
|
|
7. 상태 유지 또는 상태 되돌림 필요 여부를 결정해 REQ 본문과 `docs/srs/index.md`를 갱신한다.
|
|
8. `Recent Change Log Summary`에 최신 변경 항목을 반영한다.
|
|
|
|
# Output Expectations
|
|
|
|
- 대상 REQ 경로
|
|
- 새 `Change Log` 항목 ID
|
|
- 변경 요약
|
|
- 영향 받는 batch/release 목록
|
|
- 재검증 필요 여부
|
|
- 상태 유지 또는 상태 되돌림 결과
|
|
- `docs/srs/index.md` 갱신 결과
|
|
|
|
# Validation
|
|
|
|
- `Change Log` 새 항목이 REQ 본문 수정보다 앞선 시간순 근거로 남았는지 확인한다.
|
|
- `Acceptance Criteria Delta`, `Delivery Trace Delta`, `Revalidation Impact`가 모두 채워졌는지 확인한다.
|
|
- 상태 되돌림이 필요한 경우 REQ 문서와 `docs/srs/index.md` 상태가 함께 바뀌었는지 확인한다.
|
|
- 관련 batch/release 영향이 `Change Log`에 누락되지 않았는지 확인한다. |