sync: agent-ops from agentic-framework v1.1.164
This commit is contained in:
parent
fbb7875cc7
commit
b6399cb6ad
14 changed files with 571 additions and 1 deletions
|
|
@ -10,6 +10,8 @@
|
|||
- `agent-task/archive/**`는 일반 작업에서 읽지 않는다. 예외: 사용자가 과거 작업 확인, 복원, 비교, 특정 archive 경로 확인을 요청한 경우, active `PLAN-*.md` / `CODE_REVIEW-*.md` / `USER_REVIEW.md`가 특정 archive evidence 경로를 명시한 경우, 또는 plan/code-review 루프의 split subtask 선행 의존성 충족 여부를 확인하는 경우에만 필요한 파일을 좁게 읽는다. split 의존성 확인은 같은 task group의 후보 `complete.log`만 읽을 수 있다.
|
||||
- `agent-roadmap/` 디렉터리가 있는 프로젝트에서도 `agent-roadmap/archive/**`는 일반 작업에서 읽지 않는다. 로드맵 과거 완료 내용, 완료 근거, 복원, 비교가 필요한 경우에만 `agent-ops/rules/common/rules-roadmap.md`의 archive 접근 규칙을 따른다.
|
||||
- `agent-ui/` 디렉터리가 있는 프로젝트에서도 `agent-ui/definition/archive/**`와 `agent-ui/archive/user-review/**`는 일반 작업에서 읽지 않는다. UI 과거 결정, 복원, 비교, 해결된 user review 확인이 필요한 경우에만 `agent-ops/rules/common/rules-agent-ui.md`의 archive 접근 규칙을 따른다.
|
||||
- `agent-spec/` 디렉터리가 있는 프로젝트에서 현재 구현 스펙 확인, 기존 기능 변경, 완료 검토, 구현 스펙 생성/갱신 요청은 세션 1회 `agent-ops/rules/common/rules-agent-spec.md`를 읽고, `agent-spec/index.md`와 매칭되는 spec 문서만 읽는다.
|
||||
- `agent-spec/archive/**`는 일반 작업에서 읽지 않는다. 과거 스펙 확인, 복원, 비교, 특정 archive 경로 확인이 필요한 경우에만 `agent-ops/rules/common/rules-agent-spec.md`의 archive 접근 규칙을 따른다.
|
||||
- agent-ops 구조, 규칙, 스킬, 로드맵, 런타임 책임 경계를 설계하거나 수정할 때만 `agent-ops/rules/common/philosophy.md`를 읽는다.
|
||||
- tracked `docs/`는 사람용 최신 가이드와 공개 설명만 둔다.
|
||||
- API, wire protocol, 런타임 호출, event/config schema, 프로젝트 간 또는 내부 프로세스/컴포넌트 간 요청/응답 계약을 확인해야 하는 작업은 `agent-contract/index.md` 파일이 있을 때만 세션 1회 읽고, 매칭되는 계약 문서만 읽는다.
|
||||
|
|
@ -33,11 +35,13 @@
|
|||
- agent-ui 생성/갱신/검증/코드 동기화, UI 스캐폴드, 화면 정의서, view/component/frame/wireframe 정의, agent-ui USER_REVIEW
|
||||
- 테스트 룰 작성/생성/수정, 도메인별/검증 시나리오별 테스트 문서, create-test/update-test
|
||||
- 계약 생성/업데이트, agent-contract 생성/갱신, inner/outer 계약 문서 작성/정리, 계약 포인터 관리
|
||||
- agent-spec 생성/갱신, 현재 구현 스펙 문서화, 구현 스펙 업데이트, 스펙 동기화
|
||||
- README 생성
|
||||
- 핸즈오프 작성 / handoff / 인수인계 / 다른 세션에서 이어가기
|
||||
- 로드맵/마일스톤 생성·갱신
|
||||
- SDD 작성/갱신, SDD 필요 여부, SDD gate 확인, SDD 사용자 리뷰, SDD 잠금 해제
|
||||
- 로드맵 현지점 / 현재 작업 지점 확인
|
||||
- 마일스톤 완료 검토 / 종료 검토 / 현재 마일스톤 닫기 / 다음 마일스톤 지정
|
||||
- 계획 작성 / plan 생성
|
||||
- 코드 리뷰 / review 진행
|
||||
- git commit / push
|
||||
|
|
|
|||
|
|
@ -10,6 +10,8 @@
|
|||
- `agent-task/archive/**`는 일반 작업에서 읽지 않는다. 예외: 사용자가 과거 작업 확인, 복원, 비교, 특정 archive 경로 확인을 요청한 경우, active `PLAN-*.md` / `CODE_REVIEW-*.md` / `USER_REVIEW.md`가 특정 archive evidence 경로를 명시한 경우, 또는 plan/code-review 루프의 split subtask 선행 의존성 충족 여부를 확인하는 경우에만 필요한 파일을 좁게 읽는다. split 의존성 확인은 같은 task group의 후보 `complete.log`만 읽을 수 있다.
|
||||
- `agent-roadmap/` 디렉터리가 있는 프로젝트에서도 `agent-roadmap/archive/**`는 일반 작업에서 읽지 않는다. 로드맵 과거 완료 내용, 완료 근거, 복원, 비교가 필요한 경우에만 `agent-ops/rules/common/rules-roadmap.md`의 archive 접근 규칙을 따른다.
|
||||
- `agent-ui/` 디렉터리가 있는 프로젝트에서도 `agent-ui/definition/archive/**`와 `agent-ui/archive/user-review/**`는 일반 작업에서 읽지 않는다. UI 과거 결정, 복원, 비교, 해결된 user review 확인이 필요한 경우에만 `agent-ops/rules/common/rules-agent-ui.md`의 archive 접근 규칙을 따른다.
|
||||
- `agent-spec/` 디렉터리가 있는 프로젝트에서 현재 구현 스펙 확인, 기존 기능 변경, 완료 검토, 구현 스펙 생성/갱신 요청은 세션 1회 `agent-ops/rules/common/rules-agent-spec.md`를 읽고, `agent-spec/index.md`와 매칭되는 spec 문서만 읽는다.
|
||||
- `agent-spec/archive/**`는 일반 작업에서 읽지 않는다. 과거 스펙 확인, 복원, 비교, 특정 archive 경로 확인이 필요한 경우에만 `agent-ops/rules/common/rules-agent-spec.md`의 archive 접근 규칙을 따른다.
|
||||
- agent-ops 구조, 규칙, 스킬, 로드맵, 런타임 책임 경계를 설계하거나 수정할 때만 `agent-ops/rules/common/philosophy.md`를 읽는다.
|
||||
- tracked `docs/`는 사람용 최신 가이드와 공개 설명만 둔다.
|
||||
- API, wire protocol, 런타임 호출, event/config schema, 프로젝트 간 또는 내부 프로세스/컴포넌트 간 요청/응답 계약을 확인해야 하는 작업은 `agent-contract/index.md` 파일이 있을 때만 세션 1회 읽고, 매칭되는 계약 문서만 읽는다.
|
||||
|
|
@ -33,11 +35,13 @@
|
|||
- agent-ui 생성/갱신/검증/코드 동기화, UI 스캐폴드, 화면 정의서, view/component/frame/wireframe 정의, agent-ui USER_REVIEW
|
||||
- 테스트 룰 작성/생성/수정, 도메인별/검증 시나리오별 테스트 문서, create-test/update-test
|
||||
- 계약 생성/업데이트, agent-contract 생성/갱신, inner/outer 계약 문서 작성/정리, 계약 포인터 관리
|
||||
- agent-spec 생성/갱신, 현재 구현 스펙 문서화, 구현 스펙 업데이트, 스펙 동기화
|
||||
- README 생성
|
||||
- 핸즈오프 작성 / handoff / 인수인계 / 다른 세션에서 이어가기
|
||||
- 로드맵/마일스톤 생성·갱신
|
||||
- SDD 작성/갱신, SDD 필요 여부, SDD gate 확인, SDD 사용자 리뷰, SDD 잠금 해제
|
||||
- 로드맵 현지점 / 현재 작업 지점 확인
|
||||
- 마일스톤 완료 검토 / 종료 검토 / 현재 마일스톤 닫기 / 다음 마일스톤 지정
|
||||
- 계획 작성 / plan 생성
|
||||
- 코드 리뷰 / review 진행
|
||||
- git commit / push
|
||||
|
|
|
|||
|
|
@ -10,6 +10,8 @@
|
|||
- `agent-task/archive/**`는 일반 작업에서 읽지 않는다. 예외: 사용자가 과거 작업 확인, 복원, 비교, 특정 archive 경로 확인을 요청한 경우, active `PLAN-*.md` / `CODE_REVIEW-*.md` / `USER_REVIEW.md`가 특정 archive evidence 경로를 명시한 경우, 또는 plan/code-review 루프의 split subtask 선행 의존성 충족 여부를 확인하는 경우에만 필요한 파일을 좁게 읽는다. split 의존성 확인은 같은 task group의 후보 `complete.log`만 읽을 수 있다.
|
||||
- `agent-roadmap/` 디렉터리가 있는 프로젝트에서도 `agent-roadmap/archive/**`는 일반 작업에서 읽지 않는다. 로드맵 과거 완료 내용, 완료 근거, 복원, 비교가 필요한 경우에만 `agent-ops/rules/common/rules-roadmap.md`의 archive 접근 규칙을 따른다.
|
||||
- `agent-ui/` 디렉터리가 있는 프로젝트에서도 `agent-ui/definition/archive/**`와 `agent-ui/archive/user-review/**`는 일반 작업에서 읽지 않는다. UI 과거 결정, 복원, 비교, 해결된 user review 확인이 필요한 경우에만 `agent-ops/rules/common/rules-agent-ui.md`의 archive 접근 규칙을 따른다.
|
||||
- `agent-spec/` 디렉터리가 있는 프로젝트에서 현재 구현 스펙 확인, 기존 기능 변경, 완료 검토, 구현 스펙 생성/갱신 요청은 세션 1회 `agent-ops/rules/common/rules-agent-spec.md`를 읽고, `agent-spec/index.md`와 매칭되는 spec 문서만 읽는다.
|
||||
- `agent-spec/archive/**`는 일반 작업에서 읽지 않는다. 과거 스펙 확인, 복원, 비교, 특정 archive 경로 확인이 필요한 경우에만 `agent-ops/rules/common/rules-agent-spec.md`의 archive 접근 규칙을 따른다.
|
||||
- agent-ops 구조, 규칙, 스킬, 로드맵, 런타임 책임 경계를 설계하거나 수정할 때만 `agent-ops/rules/common/philosophy.md`를 읽는다.
|
||||
- tracked `docs/`는 사람용 최신 가이드와 공개 설명만 둔다.
|
||||
- API, wire protocol, 런타임 호출, event/config schema, 프로젝트 간 또는 내부 프로세스/컴포넌트 간 요청/응답 계약을 확인해야 하는 작업은 `agent-contract/index.md` 파일이 있을 때만 세션 1회 읽고, 매칭되는 계약 문서만 읽는다.
|
||||
|
|
@ -33,11 +35,13 @@
|
|||
- agent-ui 생성/갱신/검증/코드 동기화, UI 스캐폴드, 화면 정의서, view/component/frame/wireframe 정의, agent-ui USER_REVIEW
|
||||
- 테스트 룰 작성/생성/수정, 도메인별/검증 시나리오별 테스트 문서, create-test/update-test
|
||||
- 계약 생성/업데이트, agent-contract 생성/갱신, inner/outer 계약 문서 작성/정리, 계약 포인터 관리
|
||||
- agent-spec 생성/갱신, 현재 구현 스펙 문서화, 구현 스펙 업데이트, 스펙 동기화
|
||||
- README 생성
|
||||
- 핸즈오프 작성 / handoff / 인수인계 / 다른 세션에서 이어가기
|
||||
- 로드맵/마일스톤 생성·갱신
|
||||
- SDD 작성/갱신, SDD 필요 여부, SDD gate 확인, SDD 사용자 리뷰, SDD 잠금 해제
|
||||
- 로드맵 현지점 / 현재 작업 지점 확인
|
||||
- 마일스톤 완료 검토 / 종료 검토 / 현재 마일스톤 닫기 / 다음 마일스톤 지정
|
||||
- 계획 작성 / plan 생성
|
||||
- 코드 리뷰 / review 진행
|
||||
- git commit / push
|
||||
|
|
|
|||
|
|
@ -10,6 +10,8 @@
|
|||
- `agent-task/archive/**`는 일반 작업에서 읽지 않는다. 예외: 사용자가 과거 작업 확인, 복원, 비교, 특정 archive 경로 확인을 요청한 경우, active `PLAN-*.md` / `CODE_REVIEW-*.md` / `USER_REVIEW.md`가 특정 archive evidence 경로를 명시한 경우, 또는 plan/code-review 루프의 split subtask 선행 의존성 충족 여부를 확인하는 경우에만 필요한 파일을 좁게 읽는다. split 의존성 확인은 같은 task group의 후보 `complete.log`만 읽을 수 있다.
|
||||
- `agent-roadmap/` 디렉터리가 있는 프로젝트에서도 `agent-roadmap/archive/**`는 일반 작업에서 읽지 않는다. 로드맵 과거 완료 내용, 완료 근거, 복원, 비교가 필요한 경우에만 `agent-ops/rules/common/rules-roadmap.md`의 archive 접근 규칙을 따른다.
|
||||
- `agent-ui/` 디렉터리가 있는 프로젝트에서도 `agent-ui/definition/archive/**`와 `agent-ui/archive/user-review/**`는 일반 작업에서 읽지 않는다. UI 과거 결정, 복원, 비교, 해결된 user review 확인이 필요한 경우에만 `agent-ops/rules/common/rules-agent-ui.md`의 archive 접근 규칙을 따른다.
|
||||
- `agent-spec/` 디렉터리가 있는 프로젝트에서 현재 구현 스펙 확인, 기존 기능 변경, 완료 검토, 구현 스펙 생성/갱신 요청은 세션 1회 `agent-ops/rules/common/rules-agent-spec.md`를 읽고, `agent-spec/index.md`와 매칭되는 spec 문서만 읽는다.
|
||||
- `agent-spec/archive/**`는 일반 작업에서 읽지 않는다. 과거 스펙 확인, 복원, 비교, 특정 archive 경로 확인이 필요한 경우에만 `agent-ops/rules/common/rules-agent-spec.md`의 archive 접근 규칙을 따른다.
|
||||
- agent-ops 구조, 규칙, 스킬, 로드맵, 런타임 책임 경계를 설계하거나 수정할 때만 `agent-ops/rules/common/philosophy.md`를 읽는다.
|
||||
- tracked `docs/`는 사람용 최신 가이드와 공개 설명만 둔다.
|
||||
- API, wire protocol, 런타임 호출, event/config schema, 프로젝트 간 또는 내부 프로세스/컴포넌트 간 요청/응답 계약을 확인해야 하는 작업은 `agent-contract/index.md` 파일이 있을 때만 세션 1회 읽고, 매칭되는 계약 문서만 읽는다.
|
||||
|
|
@ -33,11 +35,13 @@
|
|||
- agent-ui 생성/갱신/검증/코드 동기화, UI 스캐폴드, 화면 정의서, view/component/frame/wireframe 정의, agent-ui USER_REVIEW
|
||||
- 테스트 룰 작성/생성/수정, 도메인별/검증 시나리오별 테스트 문서, create-test/update-test
|
||||
- 계약 생성/업데이트, agent-contract 생성/갱신, inner/outer 계약 문서 작성/정리, 계약 포인터 관리
|
||||
- agent-spec 생성/갱신, 현재 구현 스펙 문서화, 구현 스펙 업데이트, 스펙 동기화
|
||||
- README 생성
|
||||
- 핸즈오프 작성 / handoff / 인수인계 / 다른 세션에서 이어가기
|
||||
- 로드맵/마일스톤 생성·갱신
|
||||
- SDD 작성/갱신, SDD 필요 여부, SDD gate 확인, SDD 사용자 리뷰, SDD 잠금 해제
|
||||
- 로드맵 현지점 / 현재 작업 지점 확인
|
||||
- 마일스톤 완료 검토 / 종료 검토 / 현재 마일스톤 닫기 / 다음 마일스톤 지정
|
||||
- 계획 작성 / plan 생성
|
||||
- 코드 리뷰 / review 진행
|
||||
- git commit / push
|
||||
|
|
|
|||
|
|
@ -10,6 +10,8 @@
|
|||
- `agent-task/archive/**`는 일반 작업에서 읽지 않는다. 예외: 사용자가 과거 작업 확인, 복원, 비교, 특정 archive 경로 확인을 요청한 경우, active `PLAN-*.md` / `CODE_REVIEW-*.md` / `USER_REVIEW.md`가 특정 archive evidence 경로를 명시한 경우, 또는 plan/code-review 루프의 split subtask 선행 의존성 충족 여부를 확인하는 경우에만 필요한 파일을 좁게 읽는다. split 의존성 확인은 같은 task group의 후보 `complete.log`만 읽을 수 있다.
|
||||
- `agent-roadmap/` 디렉터리가 있는 프로젝트에서도 `agent-roadmap/archive/**`는 일반 작업에서 읽지 않는다. 로드맵 과거 완료 내용, 완료 근거, 복원, 비교가 필요한 경우에만 `agent-ops/rules/common/rules-roadmap.md`의 archive 접근 규칙을 따른다.
|
||||
- `agent-ui/` 디렉터리가 있는 프로젝트에서도 `agent-ui/definition/archive/**`와 `agent-ui/archive/user-review/**`는 일반 작업에서 읽지 않는다. UI 과거 결정, 복원, 비교, 해결된 user review 확인이 필요한 경우에만 `agent-ops/rules/common/rules-agent-ui.md`의 archive 접근 규칙을 따른다.
|
||||
- `agent-spec/` 디렉터리가 있는 프로젝트에서 현재 구현 스펙 확인, 기존 기능 변경, 완료 검토, 구현 스펙 생성/갱신 요청은 세션 1회 `agent-ops/rules/common/rules-agent-spec.md`를 읽고, `agent-spec/index.md`와 매칭되는 spec 문서만 읽는다.
|
||||
- `agent-spec/archive/**`는 일반 작업에서 읽지 않는다. 과거 스펙 확인, 복원, 비교, 특정 archive 경로 확인이 필요한 경우에만 `agent-ops/rules/common/rules-agent-spec.md`의 archive 접근 규칙을 따른다.
|
||||
- agent-ops 구조, 규칙, 스킬, 로드맵, 런타임 책임 경계를 설계하거나 수정할 때만 `agent-ops/rules/common/philosophy.md`를 읽는다.
|
||||
- tracked `docs/`는 사람용 최신 가이드와 공개 설명만 둔다.
|
||||
- API, wire protocol, 런타임 호출, event/config schema, 프로젝트 간 또는 내부 프로세스/컴포넌트 간 요청/응답 계약을 확인해야 하는 작업은 `agent-contract/index.md` 파일이 있을 때만 세션 1회 읽고, 매칭되는 계약 문서만 읽는다.
|
||||
|
|
@ -33,11 +35,13 @@
|
|||
- agent-ui 생성/갱신/검증/코드 동기화, UI 스캐폴드, 화면 정의서, view/component/frame/wireframe 정의, agent-ui USER_REVIEW
|
||||
- 테스트 룰 작성/생성/수정, 도메인별/검증 시나리오별 테스트 문서, create-test/update-test
|
||||
- 계약 생성/업데이트, agent-contract 생성/갱신, inner/outer 계약 문서 작성/정리, 계약 포인터 관리
|
||||
- agent-spec 생성/갱신, 현재 구현 스펙 문서화, 구현 스펙 업데이트, 스펙 동기화
|
||||
- README 생성
|
||||
- 핸즈오프 작성 / handoff / 인수인계 / 다른 세션에서 이어가기
|
||||
- 로드맵/마일스톤 생성·갱신
|
||||
- SDD 작성/갱신, SDD 필요 여부, SDD gate 확인, SDD 사용자 리뷰, SDD 잠금 해제
|
||||
- 로드맵 현지점 / 현재 작업 지점 확인
|
||||
- 마일스톤 완료 검토 / 종료 검토 / 현재 마일스톤 닫기 / 다음 마일스톤 지정
|
||||
- 계획 작성 / plan 생성
|
||||
- 코드 리뷰 / review 진행
|
||||
- git commit / push
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
1.1.163
|
||||
1.1.164
|
||||
|
|
|
|||
100
agent-ops/rules/common/rules-agent-spec.md
Normal file
100
agent-ops/rules/common/rules-agent-spec.md
Normal file
|
|
@ -0,0 +1,100 @@
|
|||
# agent-spec 규칙
|
||||
|
||||
`agent-spec/`가 있는 프로젝트 또는 agent-spec 생성, 갱신, 마일스톤 종료 검토 요청에서 적용한다.
|
||||
|
||||
## 목적
|
||||
|
||||
`agent-spec/`는 AI agent가 현재 구현된 기능의 동작, 책임 경계, 코드 진입점, 계약 링크, 검증 방법을 빠르게 파악하기 위한 living spec 저장소다.
|
||||
로드맵 완료 이력, SDD 설계 논의, 계약 원문, 사람용 가이드를 대체하지 않는다.
|
||||
|
||||
## 기본 구조
|
||||
|
||||
```text
|
||||
agent-spec/
|
||||
index.md
|
||||
archive/
|
||||
<area>/
|
||||
<spec-id>.log
|
||||
<area>/
|
||||
<spec-id>.md
|
||||
```
|
||||
|
||||
- `index.md`는 현재 스펙 목록과 읽기 라우팅 source of truth다.
|
||||
- `<area>/<spec-id>.md`는 현재 구현 스펙 문서다.
|
||||
- `archive/**`는 폐기되거나 대체된 과거 스펙 스냅샷이다.
|
||||
- `<area>`와 `<spec-id>`는 소문자 영문, 숫자, 하이픈만 사용한다.
|
||||
|
||||
## Source of Truth
|
||||
|
||||
- `agent-spec/**`는 현재 구현 지도를 제공하지만 최종 truth는 코드, `agent-contract/`, 테스트, 설정 예시다.
|
||||
- API, wire protocol, runtime call, event/config schema, 프로세스 간 요청/응답 계약 원문은 `agent-contract/`에 두고 agent-spec에는 링크와 사용 맥락만 남긴다.
|
||||
- SDD는 구현 전 설계 게이트다. agent-spec은 구현 후 현재 상태를 설명한다.
|
||||
- 로드맵과 complete.log는 완료 근거와 변경 힌트로 사용한다. 현재 동작은 코드와 계약으로 재확인한다.
|
||||
- 사람용 최신 가이드는 `docs/`에 둔다. agent-spec은 agent 작업 문맥을 우선한다.
|
||||
|
||||
## Frontmatter Schema
|
||||
|
||||
- 활성 Markdown 문서는 YAML frontmatter를 둔다.
|
||||
- `spec_doc_type`은 `index`, `spec`, `archive-log` 중 하나다.
|
||||
- spec 문서는 `spec_id`, `status`, `source_evidence`를 둔다.
|
||||
- 활성 spec 문서의 `status` 값은 `구현됨`, `부분`, `가정`, `불명확` 중 하나다.
|
||||
- archive log의 `status` 값은 `폐기됨`을 사용할 수 있다.
|
||||
- `구현됨`은 코드/계약/테스트 evidence로 현재 동작이 확인된 상태다.
|
||||
- `부분`은 핵심 경로는 확인됐지만 일부 흐름, 설정, 검증, 한계가 남은 상태다.
|
||||
- `가정`은 사용자 입력 또는 제한된 evidence를 바탕으로 임시 정리한 상태다.
|
||||
- `불명확`은 코드와 계약 기준으로 현재 동작을 확정할 수 없는 상태다.
|
||||
- `폐기됨`은 활성 spec 문서에 두지 않는다.
|
||||
- `source_evidence`는 list이며 각 항목은 `type`, `path`, `notes`를 둔다.
|
||||
- `source_evidence.type`은 `code`, `contract`, `roadmap`, `sdd`, `test`, `docs`, `complete-log`, `user` 중 하나다.
|
||||
- 실제 파일 근거가 없으면 `path: null`을 사용한다. placeholder 문자열을 현재 근거처럼 남기지 않는다.
|
||||
|
||||
## 읽기 규칙
|
||||
|
||||
- 일반 작업마다 `agent-spec/`를 읽지 않는다.
|
||||
- 기존 기능의 현재 동작, 책임 경계, 코드 진입점, 계약 링크가 필요한 작업에서만 세션 1회 `agent-spec/index.md`를 읽는다.
|
||||
- `index.md`에서 매칭되는 spec 문서만 읽는다.
|
||||
- 매칭 spec이 없으면 스펙이 없다고 보고하고 코드, 계약, 테스트에서 직접 확인한다. 추측으로 spec 내용을 만들지 않는다.
|
||||
- spec 문서가 코드/계약과 충돌하면 코드/계약을 우선하고 `update-spec` 필요를 보고한다.
|
||||
- API, wire protocol, runtime call, event/config schema, 프로세스 간 요청/응답 계약에 닿으면 `agent-contract/index.md`의 규칙에 따라 매칭 계약 문서도 읽는다.
|
||||
- `agent-spec/archive/**`는 일반 작업에서 읽지 않는다.
|
||||
- 예외: 사용자가 과거 스펙 확인, 복원, 비교, 특정 archive 경로 확인을 요청한 경우에만 필요한 archive 문서만 좁게 읽는다.
|
||||
|
||||
## 생성/갱신 흐름
|
||||
|
||||
- agent-spec 최초 도입, 현재 구현 스펙 신규 작성, 전체 bootstrap 작성은 `create-spec`을 사용한다.
|
||||
- 기존 spec을 코드/계약/테스트/완료 근거에 맞게 갱신하는 작업은 `update-spec`을 사용한다.
|
||||
- 마일스톤 종료 검토에서는 `complete-milestone`이 `update-spec`을 필수 gate로 실행한다.
|
||||
- `agent-spec/`가 없으면 `complete-milestone`의 spec gate는 `skipped-no-agent-spec`으로 기록할 수 있다.
|
||||
- `agent-spec/`가 있으면 `complete-milestone`은 `Spec updated` 또는 `Spec update not needed`를 완료 리뷰에 남긴 뒤에만 Milestone 완료/archive를 진행한다.
|
||||
- `Spec blocked` 또는 `create-spec needed`이면 Milestone 완료/archive를 진행하지 않는다.
|
||||
- 새 스펙 작성이나 갱신은 현재 코드/계약/테스트 evidence를 우선하고, 완료된 roadmap archive는 사용자가 요청했거나 현재 스펙의 배경 확인이 꼭 필요한 경우에만 좁게 읽는다.
|
||||
|
||||
## 문서 작성 기준
|
||||
|
||||
- 현재형으로 작성한다.
|
||||
- 과거 작업 일지, 설계 논쟁 전문, 완료된 roadmap task 전체 복사, 함수 단위 코드 설명을 넣지 않는다.
|
||||
- 스펙 본문은 기능 단위의 작동 지도여야 한다.
|
||||
- 계약 원문, proto field 전체 목록, config schema 원문을 복제하지 말고 `agent-contract/` 또는 코드 경로를 링크한다.
|
||||
- 불확실한 내용은 단정하지 말고 `불명확` 또는 `확인 필요`로 남긴다.
|
||||
- spec 갱신이 필요 없으면 `Spec update not needed: <사유>`를 결과 보고나 Milestone 완료 리뷰에 남긴다.
|
||||
|
||||
## 표준 섹션
|
||||
|
||||
spec 문서는 아래 섹션 순서를 유지한다.
|
||||
|
||||
1. `목적`
|
||||
2. `현재 동작`
|
||||
3. `범위`
|
||||
4. `주요 흐름`
|
||||
5. `책임 경계`
|
||||
6. `계약`
|
||||
7. `코드 진입점`
|
||||
8. `설정/데이터/이벤트`
|
||||
9. `검증`
|
||||
10. `한계와 주의사항`
|
||||
11. `변경 기록`
|
||||
|
||||
## 템플릿
|
||||
|
||||
- `index.md`: `agent-ops/skills/common/_templates/agent-spec/index-template.md`
|
||||
- spec 문서: `agent-ops/skills/common/_templates/agent-spec/spec-template.md`
|
||||
|
|
@ -10,6 +10,8 @@
|
|||
- `agent-task/archive/**`는 일반 작업에서 읽지 않는다. 예외: 사용자가 과거 작업 확인, 복원, 비교, 특정 archive 경로 확인을 요청한 경우, active `PLAN-*.md` / `CODE_REVIEW-*.md` / `USER_REVIEW.md`가 특정 archive evidence 경로를 명시한 경우, 또는 plan/code-review 루프의 split subtask 선행 의존성 충족 여부를 확인하는 경우에만 필요한 파일을 좁게 읽는다. split 의존성 확인은 같은 task group의 후보 `complete.log`만 읽을 수 있다.
|
||||
- `agent-roadmap/` 디렉터리가 있는 프로젝트에서도 `agent-roadmap/archive/**`는 일반 작업에서 읽지 않는다. 로드맵 과거 완료 내용, 완료 근거, 복원, 비교가 필요한 경우에만 `agent-ops/rules/common/rules-roadmap.md`의 archive 접근 규칙을 따른다.
|
||||
- `agent-ui/` 디렉터리가 있는 프로젝트에서도 `agent-ui/definition/archive/**`와 `agent-ui/archive/user-review/**`는 일반 작업에서 읽지 않는다. UI 과거 결정, 복원, 비교, 해결된 user review 확인이 필요한 경우에만 `agent-ops/rules/common/rules-agent-ui.md`의 archive 접근 규칙을 따른다.
|
||||
- `agent-spec/` 디렉터리가 있는 프로젝트에서 현재 구현 스펙 확인, 기존 기능 변경, 완료 검토, 구현 스펙 생성/갱신 요청은 세션 1회 `agent-ops/rules/common/rules-agent-spec.md`를 읽고, `agent-spec/index.md`와 매칭되는 spec 문서만 읽는다.
|
||||
- `agent-spec/archive/**`는 일반 작업에서 읽지 않는다. 과거 스펙 확인, 복원, 비교, 특정 archive 경로 확인이 필요한 경우에만 `agent-ops/rules/common/rules-agent-spec.md`의 archive 접근 규칙을 따른다.
|
||||
- agent-ops 구조, 규칙, 스킬, 로드맵, 런타임 책임 경계를 설계하거나 수정할 때만 `agent-ops/rules/common/philosophy.md`를 읽는다.
|
||||
- tracked `docs/`는 사람용 최신 가이드와 공개 설명만 둔다.
|
||||
- API, wire protocol, 런타임 호출, event/config schema, 프로젝트 간 또는 내부 프로세스/컴포넌트 간 요청/응답 계약을 확인해야 하는 작업은 `agent-contract/index.md` 파일이 있을 때만 세션 1회 읽고, 매칭되는 계약 문서만 읽는다.
|
||||
|
|
@ -33,11 +35,13 @@
|
|||
- agent-ui 생성/갱신/검증/코드 동기화, UI 스캐폴드, 화면 정의서, view/component/frame/wireframe 정의, agent-ui USER_REVIEW
|
||||
- 테스트 룰 작성/생성/수정, 도메인별/검증 시나리오별 테스트 문서, create-test/update-test
|
||||
- 계약 생성/업데이트, agent-contract 생성/갱신, inner/outer 계약 문서 작성/정리, 계약 포인터 관리
|
||||
- agent-spec 생성/갱신, 현재 구현 스펙 문서화, 구현 스펙 업데이트, 스펙 동기화
|
||||
- README 생성
|
||||
- 핸즈오프 작성 / handoff / 인수인계 / 다른 세션에서 이어가기
|
||||
- 로드맵/마일스톤 생성·갱신
|
||||
- SDD 작성/갱신, SDD 필요 여부, SDD gate 확인, SDD 사용자 리뷰, SDD 잠금 해제
|
||||
- 로드맵 현지점 / 현재 작업 지점 확인
|
||||
- 마일스톤 완료 검토 / 종료 검토 / 현재 마일스톤 닫기 / 다음 마일스톤 지정
|
||||
- 계획 작성 / plan 생성
|
||||
- 코드 리뷰 / review 진행
|
||||
- git commit / push
|
||||
|
|
|
|||
|
|
@ -0,0 +1,30 @@
|
|||
---
|
||||
spec_doc_type: index
|
||||
status: 활성
|
||||
---
|
||||
|
||||
# Agent Spec Index
|
||||
|
||||
## 목적
|
||||
|
||||
이 디렉터리는 현재 구현된 기능의 agent-facing living spec을 관리한다.
|
||||
로드맵 완료 이력, SDD, 계약 원문, 사람용 docs를 대체하지 않는다.
|
||||
|
||||
## 읽기 규칙
|
||||
|
||||
- 필요한 작업에서만 이 index를 읽고, 매칭되는 spec 문서만 읽는다.
|
||||
- `archive/**`는 과거 비교, 복원, 특정 근거 확인 요청이 있을 때만 읽는다.
|
||||
- API, wire protocol, config/event schema, 프로세스 간 계약 원문은 `agent-contract/`를 따른다.
|
||||
|
||||
## Spec Map
|
||||
|
||||
| id | 상태 | 읽는 조건 | path | 주요 evidence |
|
||||
|----|------|-----------|------|---------------|
|
||||
| 없음 | 없음 | 없음 | 없음 | 없음 |
|
||||
|
||||
## 작성 규칙
|
||||
|
||||
- 현재 구현 기준으로 작성한다.
|
||||
- 코드/계약/테스트 evidence를 우선한다.
|
||||
- 계약 원문은 복제하지 않고 링크한다.
|
||||
- 불확실한 내용은 `불명확`으로 남긴다.
|
||||
|
|
@ -0,0 +1,56 @@
|
|||
---
|
||||
spec_doc_type: spec
|
||||
spec_id: <area>/<spec-id>
|
||||
status: 불명확
|
||||
source_evidence:
|
||||
- type: code
|
||||
path: null
|
||||
notes: <현재 구현 근거>
|
||||
---
|
||||
|
||||
# Spec: <title>
|
||||
|
||||
## 목적
|
||||
|
||||
<이 spec이 설명하는 현재 구현 기능과 agent가 이 문서를 읽어야 하는 이유>
|
||||
|
||||
## 현재 동작
|
||||
|
||||
- <현재 코드와 계약으로 확인된 동작>
|
||||
|
||||
## 범위
|
||||
|
||||
- 포함: <현재 spec이 다루는 범위>
|
||||
- 제외: <다른 spec, roadmap, SDD, contract, docs로 넘기는 범위>
|
||||
|
||||
## 주요 흐름
|
||||
|
||||
1. <주요 실행 흐름>
|
||||
|
||||
## 책임 경계
|
||||
|
||||
- <컴포넌트/프로세스/계층별 책임 경계>
|
||||
|
||||
## 계약
|
||||
|
||||
- <관련 agent-contract 문서 또는 없음>
|
||||
|
||||
## 코드 진입점
|
||||
|
||||
- `<path>` - <역할>
|
||||
|
||||
## 설정/데이터/이벤트
|
||||
|
||||
- <관련 config, 저장소, event, runtime state 요약. 원문 schema는 링크만 둔다.>
|
||||
|
||||
## 검증
|
||||
|
||||
- `<command or profile>` - <기대 결과 또는 근거>
|
||||
|
||||
## 한계와 주의사항
|
||||
|
||||
- <현재 구현 한계, known limitation, 수정 시 주의점>
|
||||
|
||||
## 변경 기록
|
||||
|
||||
- <YYYY-MM-DD>: <생성/갱신 근거>
|
||||
130
agent-ops/skills/common/complete-milestone/SKILL.md
Normal file
130
agent-ops/skills/common/complete-milestone/SKILL.md
Normal file
|
|
@ -0,0 +1,130 @@
|
|||
---
|
||||
name: complete-milestone
|
||||
version: 1.0.0
|
||||
description: "마일스톤 완료해도 될지 검토, 현 마일스톤 종료 검토, 현재 마일스톤 닫고 다음 마일스톤 지정, 검토중 Milestone 코드레벨 종료 감사 요청에 사용한다. 코드/테스트/계약/evidence를 점검하고 작은 보완은 처리하거나 큰 보완은 plan으로 넘기며, agent-spec이 있으면 update-spec을 필수 gate로 수행한 뒤 update-roadmap으로 완료/archive와 다음 Milestone 지정을 처리한다."
|
||||
---
|
||||
|
||||
# complete-milestone
|
||||
|
||||
## 목적
|
||||
|
||||
`[검토중]` 또는 완료 후보 Milestone을 코드레벨에서 종료해도 되는지 감사하고, 종료 가능할 때 spec sync와 roadmap 완료/archive까지 이어지는 오케스트레이션을 수행한다.
|
||||
`update-spec`과 `update-roadmap`의 책임을 합치지 않고, 이 스킬이 완료 workflow의 순서와 gate를 관리한다.
|
||||
|
||||
## 언제 호출할지
|
||||
|
||||
- 사용자가 "마일스톤 완료해도 될지 검토해봐"라고 요청할 때
|
||||
- 사용자가 "현 마일스톤 종료 검토해", "현재 마일스톤 닫고 다음 마일스톤 지정해"라고 요청할 때
|
||||
- `[검토중]` Milestone의 완료 리뷰 통과, archive, 다음 Milestone current 지정 여부를 코드레벨 evidence로 확인해야 할 때
|
||||
- Milestone 종료 시점에 `agent-spec` 갱신이 함께 필요할 때
|
||||
|
||||
## 입력
|
||||
|
||||
- `target-milestone`: 종료 검토할 Milestone 경로, 이름, slug. 없으면 `agent-roadmap/current.md`의 활성 Milestone 단일 후보를 사용한다. (선택)
|
||||
- `next-milestone`: 종료 후 `current.md`에 둘 다음 Milestone 후보. 없으면 Phase 흐름에서 자동 후보를 찾되 모호하면 보고한다. (선택)
|
||||
- `mode`: `check-only` 또는 `close`. 기본값은 `close`다. (선택)
|
||||
- `evidence`: 완료 판단에 사용할 complete.log, 테스트 결과, 사용자 설명, PR/커밋 등. (선택)
|
||||
|
||||
## 먼저 확인할 것
|
||||
|
||||
- [ ] `agent-roadmap/current.md`와 대상 활성 Milestone, 대상 Phase `PHASE.md`를 읽는다.
|
||||
- [ ] 대상 Milestone의 `상태`, `기능`, `구현 잠금`, `완료 리뷰`, `작업 컨텍스트`, SDD gate를 확인한다.
|
||||
- [ ] 완료 근거 동기화가 필요하면 `sync-milestone-workstate` 절차를 확인한다.
|
||||
- [ ] 종료/archive가 가능하면 `update-roadmap` 절차를 확인한다.
|
||||
- [ ] `agent-spec/`가 있으면 `agent-ops/rules/common/rules-agent-spec.md`와 `update-spec` 절차를 확인한다.
|
||||
- [ ] 코드, 계약, 테스트에 닿는 범위는 project/domain/test/contract 규칙을 따른다.
|
||||
|
||||
## 실행 절차
|
||||
|
||||
1. **대상 Milestone 확정**
|
||||
- `target-milestone`이 있으면 활성 Milestone에서 정확히 하나를 찾는다.
|
||||
- 없으면 `agent-roadmap/current.md`의 활성 Milestone 단일 후보를 사용한다.
|
||||
- 대상이 archive 경로이거나 둘 이상이면 수정하지 않고 target 불명확으로 보고한다.
|
||||
|
||||
2. **완료 후보 상태 확인**
|
||||
- 대상 Milestone이 `[검토중]`이면 종료 감사로 진행한다.
|
||||
- `[진행중]` 또는 `[계획]`이면 `sync-milestone-workstate` 기준으로 기능 Task/evidence를 동기화할 수 있는지 먼저 확인한다. 동기화 후 `[검토중]` 조건을 충족하지 못하면 종료 감사로 진행하지 않는다.
|
||||
- `[스케치]`, `[보류]`, `[폐기]`, `[완료]`이면 일반 종료 감사를 진행하지 않고 상태 불일치를 보고한다.
|
||||
- `구현 잠금`이 남아 있거나 미완료 `결정 필요`가 있으면 archive하지 않는다.
|
||||
|
||||
3. **코드레벨 종료 감사**
|
||||
- Milestone `기능` Task와 검증 문구, `완료 리뷰`, complete.log, SDD Evidence Map, 관련 코드/계약/테스트를 비교한다.
|
||||
- `agent-task/archive/**`는 같은 `m-<milestone-slug>` complete.log 후보처럼 규칙상 허용된 범위만 좁게 읽는다.
|
||||
- 코드/계약 변경에 닿으면 관련 domain rule과 `agent-contract/index.md` 라우팅을 따른다.
|
||||
- 필요한 검증 명령은 `agent-test/<env>/rules.md`와 관련 profile을 따른다. 환경 미지정은 local로 본다.
|
||||
|
||||
4. **보완 분기**
|
||||
- 작은 문서/코드/테스트 보완으로 바로 해결 가능한 이슈는 직접 수정하고 검증한다.
|
||||
- Milestone 범위 안의 큰 구현 보완이 필요하면 `plan`을 작성하고 종료를 중단한다.
|
||||
- 제품/범위/우선순위/책임 경계 결정이 필요하면 Milestone `구현 잠금 > 결정 필요` 또는 SDD `USER_REVIEW.md`로 분리하고 종료를 중단한다.
|
||||
- 보완이 발생하면 Milestone 완료 리뷰를 `보완 필요`로 남기고 `[완료]` 전환이나 archive를 하지 않는다.
|
||||
|
||||
5. **Spec Sync Gate**
|
||||
- `mode=check-only`이고 `agent-spec/`가 있으면 `update-spec mode=check-only`로 갱신 필요 여부만 확인한다.
|
||||
- `agent-spec/`가 없으면 `Spec sync: skipped-no-agent-spec`으로 기록하고 종료 흐름을 계속할 수 있다.
|
||||
- `agent-spec/`가 있고 `mode=close`이면 `update-spec`을 필수로 수행한다.
|
||||
- 관련 spec이 없고 Milestone 결과가 현재 구현 지도에 영향을 주면 `create-spec` 필요로 보고하고 종료를 중단한다.
|
||||
- 결과는 반드시 `Spec updated`, `Spec update not needed`, `create-spec needed`, `Spec blocked`, `skipped-no-agent-spec` 중 하나로 정리한다.
|
||||
- `Spec blocked` 또는 `create-spec needed`이면 Milestone을 `[완료]`로 전환하거나 archive하지 않는다.
|
||||
- `Spec updated` 또는 `Spec update not needed`이면 Milestone 완료 리뷰에 `Spec sync` 결과와 spec 문서 링크 또는 사유를 남긴다.
|
||||
|
||||
6. **Milestone 완료와 archive**
|
||||
- `mode=check-only`이면 여기서 쓰지 않고 종료 가능 여부만 보고한다.
|
||||
- 모든 기능 Task, 검증, 구현 잠금, SDD gate, code audit, spec sync gate가 충족되면 `update-roadmap` archive 흐름으로 Milestone을 `[완료]`로 전환하고 archive한다.
|
||||
- `.agent-roadmap-sync/locks.yaml`이 있으면 `update-roadmap`의 workspace lock 검사/동기화 규칙을 따른다.
|
||||
- Phase `PHASE.md`에는 archive 링크와 짧은 요약을 남긴다.
|
||||
- `agent-roadmap/current.md`에서 완료 Milestone을 제거한다.
|
||||
|
||||
7. **다음 Milestone 지정**
|
||||
- `next-milestone`이 있으면 활성 Milestone에서 정확히 하나인지 확인하고 `current.md`에 반영한다.
|
||||
- 없으면 같은 Phase의 Milestone 흐름에서 완료/폐기/archive가 아닌 다음 후보를 찾는다.
|
||||
- 후보가 없거나 둘 이상이면 자동 지정하지 않고 후보와 이유를 보고한다.
|
||||
- 다음 후보가 `[스케치]`이면 구현 대상이 아니라 구체화 대상임을 보고한다.
|
||||
|
||||
8. **결과 보고**
|
||||
- 종료 가능 여부, 수정/생성한 파일, 실행 검증, spec sync 결과, roadmap archive 결과, 다음 Milestone을 보고한다.
|
||||
|
||||
## 실행 결과 검증
|
||||
|
||||
- [ ] 대상 Milestone이 활성 경로에서 정확히 하나로 확정되었는가
|
||||
- [ ] Milestone 상태, 기능 Task, 구현 잠금, 완료 리뷰, SDD gate를 확인했는가
|
||||
- [ ] 코드/계약/테스트 evidence를 확인했거나 범위 불명확 사유를 보고했는가
|
||||
- [ ] 작은 보완은 검증까지 수행하고, 큰 보완은 plan으로 넘겼는가
|
||||
- [ ] `agent-spec/`가 있으면 `update-spec` 결과를 확인하고 완료 진행 가능 상태가 `Spec updated` 또는 `Spec update not needed`인지 판단했는가
|
||||
- [ ] `Spec blocked` 또는 `create-spec needed` 상태에서 Milestone 완료/archive를 하지 않았는가
|
||||
- [ ] `update-roadmap` 완료/archive 규칙과 workspace lock 규칙을 따랐는가
|
||||
- [ ] 완료 Milestone이 `current.md`에 남아 있지 않은가
|
||||
- [ ] 다음 Milestone 지정이 모호하면 자동 선택하지 않았는가
|
||||
- [ ] `git diff --check`를 실행했는가
|
||||
- 검증 실패 시: archive 이동을 하지 않고 실패 사유와 필요한 후속 작업을 보고한다.
|
||||
|
||||
## 출력 형식
|
||||
|
||||
```markdown
|
||||
## Milestone 종료 검토 결과
|
||||
|
||||
- 대상 Milestone: [<title>](agent-roadmap/phase/<phase>/milestones/<milestone>.md)
|
||||
- 판정: <종료 완료 | 종료 가능-check-only | 보완 필요 | plan 작성 | 차단>
|
||||
- 코드레벨 감사: <통과 | 보완 내용 | 차단 사유>
|
||||
- 검증:
|
||||
- `<command>` - <PASS | FAIL | BLOCKED>; <요약>
|
||||
- Spec sync: <updated | not-needed | create-spec needed | blocked | skipped-no-agent-spec>
|
||||
- <[spec](agent-spec/<area>/<spec-id>.md) | 사유>
|
||||
- Roadmap: <archive 완료 | 변경 없음 | 차단>
|
||||
- 다음 Milestone: <[title](agent-roadmap/phase/<phase>/milestones/<next>.md) | 미지정: 사유>
|
||||
- 수정 파일:
|
||||
- <없음 | [path](path)>
|
||||
|
||||
## TODO 항목
|
||||
|
||||
- <남은 차단 항목 또는 없음>
|
||||
```
|
||||
|
||||
## 금지 사항
|
||||
|
||||
- `update-spec`과 `update-roadmap`의 책임을 이 스킬 본문에 합쳐서 재정의하지 않는다.
|
||||
- `Spec blocked` 또는 `create-spec needed`인데 Milestone을 `[완료]`로 전환하거나 archive하지 않는다.
|
||||
- 큰 구현 보완을 종료 검토 중 임의로 처리하지 않는다. `plan`으로 넘긴다.
|
||||
- archive 전체를 일반 탐색하지 않는다.
|
||||
- 구현 잠금이나 미해결 SDD 사용자 리뷰가 남은 Milestone을 완료 처리하지 않는다.
|
||||
- 다음 Milestone 후보가 모호한데 자동으로 선택하지 않는다.
|
||||
109
agent-ops/skills/common/create-spec/SKILL.md
Normal file
109
agent-ops/skills/common/create-spec/SKILL.md
Normal file
|
|
@ -0,0 +1,109 @@
|
|||
---
|
||||
name: create-spec
|
||||
version: 1.0.0
|
||||
description: agent-spec 최초 생성, 현재 구현 스펙 작성, living spec bootstrap, 완료된 기능의 구현 스펙 신규 문서화 요청에 사용한다. 코드/계약/테스트/로드맵 근거를 바탕으로 agent-spec/index.md와 매칭 spec 문서를 생성한다.
|
||||
---
|
||||
|
||||
# create-spec
|
||||
|
||||
## 목적
|
||||
|
||||
현재 구현된 기능의 agent-facing living spec을 새로 만든다.
|
||||
스펙은 로드맵 완료 이력이나 계약 원문을 복제하지 않고, agent가 작업 전에 현재 동작과 코드 진입점을 빠르게 찾는 지도로 유지한다.
|
||||
|
||||
## 언제 호출할지
|
||||
|
||||
- 사용자가 "스펙 생성", "구현 스펙 작성", "현재 구현 문서화", "agent-spec 생성"을 요청할 때
|
||||
- agent-spec을 처음 도입해 `agent-spec/index.md`와 초기 spec 문서를 만들 때
|
||||
- 완료된 기능이나 활성 기능에 대응되는 현재 구현 spec 문서가 없고, 새 spec 작성이 필요한 때
|
||||
- `complete-milestone` 또는 `update-spec`에서 관련 spec이 없지만 evidence가 충분해 신규 작성이 필요하다고 판단한 때
|
||||
|
||||
## 입력
|
||||
|
||||
- `mode`: `bootstrap` 또는 `targeted`. 기본값은 요청에서 추론한다. (선택)
|
||||
- `spec-id`: 만들 spec id. `<area>/<spec-id>` 형식을 권장한다. (선택)
|
||||
- `target-milestone`: spec 근거로 삼을 활성 또는 명시 Milestone 경로, 이름, slug. (선택)
|
||||
- `source-paths`: 우선 확인할 코드, 계약, 테스트, docs 경로 목록. (선택)
|
||||
- `evidence`: complete.log, SDD, 사용자 설명, 검증 결과 등 보조 근거. (선택)
|
||||
|
||||
## 먼저 확인할 것
|
||||
|
||||
- [ ] `agent-ops/rules/common/rules-agent-spec.md`를 읽는다.
|
||||
- [ ] `agent-spec/` 존재 여부와 `agent-spec/index.md` 존재 여부를 확인한다.
|
||||
- [ ] `agent-ops/skills/common/_templates/agent-spec/index-template.md`와 `spec-template.md`를 확인한다.
|
||||
- [ ] 계약에 닿는 spec이면 `agent-contract/index.md`를 읽고 매칭 계약 문서만 읽는다.
|
||||
- [ ] 로드맵 근거가 필요하면 활성 Milestone/SDD만 우선 읽고, archive는 사용자가 명시했거나 현재 스펙 배경 확인에 꼭 필요한 링크만 좁게 읽는다.
|
||||
|
||||
## 실행 절차
|
||||
|
||||
1. **범위 결정**
|
||||
- 요청을 `bootstrap` 또는 `targeted`로 분류한다.
|
||||
- `targeted`이면 spec 하나의 기능 범위와 `spec-id`를 정한다.
|
||||
- `bootstrap`이면 프로젝트 전체를 완성하려 하지 말고, 코드/계약으로 확인 가능한 핵심 축과 spec 후보 목록을 먼저 만든다.
|
||||
- `spec-id`는 소문자 영문, 숫자, 하이픈, `/`만 사용한다.
|
||||
|
||||
2. **근거 수집**
|
||||
- 코드, 계약, 테스트, 설정 예시, README/docs, 활성 roadmap/SDD, complete.log 순서로 현재 동작 근거를 확인한다.
|
||||
- 현재 동작은 코드와 계약으로 재확인한다.
|
||||
- 로드맵 archive 또는 agent-task archive는 일반 탐색하지 않는다.
|
||||
- 확인할 수 없는 내용은 `불명확` 또는 `확인 필요`로 둔다.
|
||||
|
||||
3. **agent-spec 구조 생성**
|
||||
- `agent-spec/`가 없으면 만든다.
|
||||
- `agent-spec/index.md`가 없으면 index template으로 만든다.
|
||||
- 필요한 `<area>/` 디렉터리를 만든다.
|
||||
- 기존 같은 `spec-id` 문서가 있으면 새로 만들지 말고 `update-spec` 대상이라고 보고한다.
|
||||
|
||||
4. **spec 문서 작성**
|
||||
- spec template의 표준 섹션 순서를 유지한다.
|
||||
- frontmatter의 `spec_doc_type`, `spec_id`, `status`, `source_evidence`를 채운다.
|
||||
- `status`는 evidence 수준에 따라 `구현됨`, `부분`, `가정`, `불명확` 중 하나로 둔다.
|
||||
- 계약 원문, proto field 전체 목록, config schema 원문은 복제하지 않고 링크한다.
|
||||
- 주요 코드 진입점과 검증 방법을 경로와 명령으로 남긴다.
|
||||
|
||||
5. **index 갱신**
|
||||
- `Spec Map`에 새 spec id, 상태, 읽는 조건, path, 주요 evidence를 추가하거나 보정한다.
|
||||
- 매칭 조건은 agent가 좁게 읽을 수 있도록 기능명, 코드 경로, 계약 id, 운영 표면 중심으로 쓴다.
|
||||
- 기존 행을 삭제하거나 재정렬하지 않는다. 명백히 placeholder인 `없음` 행은 첫 실제 spec 추가 시 제거할 수 있다.
|
||||
|
||||
6. **결과 보고**
|
||||
- 만든 spec 문서와 index 변경 내용을 보고한다.
|
||||
- 불명확하거나 후속 `update-spec`이 필요한 항목을 보고한다.
|
||||
|
||||
## 실행 결과 검증
|
||||
|
||||
- [ ] `agent-spec/index.md`가 존재하고 Spec Map에 생성한 spec이 들어 있는가
|
||||
- [ ] 생성한 spec 문서가 `rules-agent-spec.md`의 표준 섹션 순서를 유지하는가
|
||||
- [ ] frontmatter의 `spec_doc_type`, `spec_id`, `status`, `source_evidence`가 채워졌는가
|
||||
- [ ] source evidence path가 실제 파일이거나 `path: null`인 사용자 근거인가
|
||||
- [ ] 계약 원문을 복제하지 않고 `agent-contract/` 또는 코드 링크로 연결했는가
|
||||
- [ ] archive를 무차별로 읽거나 과거 완료 기록을 현재 truth처럼 쓰지 않았는가
|
||||
- [ ] `git diff --check`를 실행했는가
|
||||
- 검증 실패 시: spec 문서와 index만 보완하고 코드 파일은 수정하지 않는다.
|
||||
|
||||
## 출력 형식
|
||||
|
||||
```markdown
|
||||
## Spec 생성 완료
|
||||
|
||||
- 모드: <bootstrap | targeted>
|
||||
- 생성/갱신 파일:
|
||||
- [index.md](agent-spec/index.md)
|
||||
- [<spec-id>.md](agent-spec/<area>/<spec-id>.md)
|
||||
- 상태: <구현됨 | 부분 | 가정 | 불명확>
|
||||
- 주요 evidence:
|
||||
- <path 또는 사용자 근거> - <요약>
|
||||
|
||||
## TODO 항목
|
||||
|
||||
- <확인 필요 또는 없음>
|
||||
```
|
||||
|
||||
## 금지 사항
|
||||
|
||||
- agent-spec에 계약 원문, proto 전체 필드, config schema 원문을 복제하지 않는다.
|
||||
- 현재 코드/계약으로 확인하지 않은 내용을 구현 사실처럼 쓰지 않는다.
|
||||
- archive 전체를 훑지 않는다.
|
||||
- 기존 spec이 있으면 중복 spec을 만들지 않는다.
|
||||
- 사람용 공개 가이드를 agent-spec에 장황하게 작성하지 않는다.
|
||||
- spec 생성과 무관한 코드 파일을 수정하지 않는다.
|
||||
|
|
@ -4,6 +4,8 @@
|
|||
|
||||
- SDD/spec gate 자체의 작성, 갱신, gate 확인, 사용자 리뷰, 잠금 해제는 `roadmap-sdd`로 보낸다.
|
||||
- 로드맵/마일스톤 생성 또는 갱신 요청 안에 SDD 필요 여부와 gate 연결이 포함되면 `create-roadmap` 또는 `update-roadmap`을 진입점으로 삼고, 해당 흐름에서 `roadmap-sdd` create/check를 처리한다.
|
||||
- agent-spec은 구현 후 현재 상태를 설명하는 living spec이다. SDD/spec gate와 구분하며, 현재 구현 스펙 생성은 `create-spec`, 갱신은 `update-spec`으로 보낸다.
|
||||
- "마일스톤 완료해도 될지 검토", "현 마일스톤 종료 검토", "현재 마일스톤 닫고 다음 마일스톤 지정"처럼 종료 판단, spec sync, roadmap archive, 다음 Milestone 지정을 함께 요구하는 요청은 `complete-milestone`으로 보낸다. 이 흐름 안에서 `update-spec`을 필수 gate로 수행한다.
|
||||
- 구현 계획 요청에서 선택 Milestone의 구현 잠금이 남아 있으면 `plan`은 구현 계획을 만들지 않고 잠금 차단을 보고한다.
|
||||
- SDD 생성/갱신/잠금 해제는 `roadmap-sdd` 또는 `update-roadmap` 요청으로 처리한다.
|
||||
- 런타임이 `origin-task`/`complete-log` 단건 완료 이벤트를 전달한 경우는 `update-roadmap`으로 처리한다.
|
||||
|
|
@ -22,10 +24,13 @@
|
|||
| update-test, 테스트 룰 수정, 테스트 룰 갱신, 테스트 규칙 수정, 테스트 규칙 갱신, 테스트 환경 수정, 상황별 테스트 문서 수정, 도메인별 테스트 문서 수정, 검증 시나리오별 테스트 문서 수정, test rule 수정, agent-test 수정 | `agent-ops/skills/common/update-test/SKILL.md` |
|
||||
| 계약 생성해, 프로젝트 계약 생성해, 프로젝트 계약 생성, contract 생성, agent-contract 생성, 계약 문서 생성, inner 계약 생성, outer 계약 생성 | `agent-ops/skills/common/create-contract/SKILL.md` |
|
||||
| 계약 업데이트해, 프로젝트 계약 업데이트해, 프로젝트 계약 업데이트, 계약 갱신해, 계약 갱신, 계약 수정, 계약 정리, contract update, agent-contract 갱신, inner 계약 갱신, outer 계약 갱신 | `agent-ops/skills/common/update-contract/SKILL.md` |
|
||||
| 스펙 생성, 구현 스펙 생성, 현재 구현 문서화, agent-spec 생성, living spec 생성, 완료된 기능 스펙 작성 | `agent-ops/skills/common/create-spec/SKILL.md` |
|
||||
| 스펙 업데이트, 스펙 갱신, 구현 스펙 갱신, 구현 스펙 업데이트, 완료 기능 스펙 반영, agent-spec 갱신, 스펙 동기화 | `agent-ops/skills/common/update-spec/SKILL.md` |
|
||||
| README 작성해줘, README 만들어줘, 프로젝트 설명 문서 만들어줘 | `agent-ops/skills/common/create-readme/SKILL.md` |
|
||||
| 핸즈오프 남겨, handoff 작성, 인수인계 작성, 다른 세션에서 이어가게 정리, 작업을 이어받도록 기록 | `agent-ops/skills/common/create-handoff/SKILL.md` |
|
||||
| 로드맵 만들어줘, roadmap 생성, 마일스톤 설계, goal/phase 구조 잡아줘 | `agent-ops/skills/common/create-roadmap/SKILL.md` |
|
||||
| 현 마일스톤과 작업현황 동기화, 현재 마일스톤 작업현황 동기화, 마일스톤 작업현황 동기화, 마일스톤 완료내역 동기화, agent-task 완료를 마일스톤에 반영, complete.log 후보 스캔, 누락된 Roadmap Completion 복구, 파일/git 기준 작업 상태 확인, 작은 작업 완료 반영, 마일스톤 체크박스 재동기화, 로드맵 작업 완료 상태 동기화 | `agent-ops/skills/common/sync-milestone-workstate/SKILL.md` |
|
||||
| 마일스톤 완료해도 될지 검토해봐, 현 마일스톤 종료 검토, 현재 마일스톤 닫고 다음 마일스톤 지정, 마일스톤 종료해, 마일스톤 완료 검토, 종료 검토 | `agent-ops/skills/common/complete-milestone/SKILL.md` |
|
||||
| 로드맵 업데이트, roadmap 갱신, 로드맵에 추가, 로드맵 작업 추가, 로드맵 기능 추가, 로드맵 Epic 추가, 로드맵 에픽 추가, 로드맵 Task 추가, 로드맵 태스크 추가, 로드맵 테스크 추가, 로드맵 TODO 추가, 마일스톤에 추가, 마일스톤 추가, 마일스톤 갱신, 마일스톤 아카이브, phase 추가, phase 변경, 페이즈 추가, 페이즈 변경, 현재 마일스톤 변경, 로드맵 한국어 전환, 로드맵 번역 | `agent-ops/skills/common/update-roadmap/SKILL.md` |
|
||||
| SDD 작성, SDD 생성, SDD 갱신, SDD 필요 여부, SDD gate 확인, SDD 사용자 리뷰, SDD 잠금 해제, SDD 승인 준비, SDD archive, spec gate, 설계 게이트 | `agent-ops/skills/common/roadmap-sdd/SKILL.md` |
|
||||
| 이 마일스톤은 X가 끝나야 가능해, A 전까지 B 잠가둬, 잠금 해제 조건은 X야, X 프로젝트 작업 뒤에 현재 마일스톤 진행, 의존성 설정해, 외부 의존 잠금 | `agent-ops/skills/common/update-roadmap/SKILL.md` |
|
||||
|
|
|
|||
116
agent-ops/skills/common/update-spec/SKILL.md
Normal file
116
agent-ops/skills/common/update-spec/SKILL.md
Normal file
|
|
@ -0,0 +1,116 @@
|
|||
---
|
||||
name: update-spec
|
||||
version: 1.0.0
|
||||
description: agent-spec 갱신, 구현 스펙 업데이트, 완료 기능 스펙 반영, 코드/계약/테스트 변경 후 living spec 동기화 요청에 사용한다. agent-spec/index.md에서 관련 spec을 찾아 현재 코드와 계약 기준으로 갱신하고 Spec updated, Spec update not needed, create-spec needed, Spec blocked 결과를 남긴다.
|
||||
---
|
||||
|
||||
# update-spec
|
||||
|
||||
## 목적
|
||||
|
||||
기존 agent-spec 문서를 현재 코드, 계약, 테스트, 완료 evidence에 맞게 갱신한다.
|
||||
이 스킬은 spec 문서만 책임지며 roadmap 상태 전환, Milestone archive, 코드 구현 계획 생성을 수행하지 않는다.
|
||||
|
||||
## 언제 호출할지
|
||||
|
||||
- 사용자가 "스펙 업데이트", "구현 스펙 갱신", "완료 기능 스펙 반영", "agent-spec 갱신"을 요청할 때
|
||||
- 코드, 계약, config, event, runtime flow, 테스트가 바뀌어 현재 구현 spec이 달라질 수 있을 때
|
||||
- `complete-milestone`이 Milestone 종료 전에 spec sync gate를 수행할 때
|
||||
- `create-spec` 이후 불명확/부분 상태의 spec을 추가 evidence로 보강할 때
|
||||
|
||||
## 입력
|
||||
|
||||
- `target-spec`: 갱신할 spec id 또는 문서 경로. 없으면 index와 변경 근거에서 추론한다. (선택)
|
||||
- `target-milestone`: spec 갱신 근거가 되는 Milestone 경로, 이름, slug. (선택)
|
||||
- `changed-files`: spec 영향 판단에 사용할 코드/계약/테스트 파일 목록. (선택)
|
||||
- `complete-log`: 완료 근거로 사용할 `complete.log` 경로. (선택)
|
||||
- `mode`: `update` 또는 `check-only`. 기본값은 `update`다. (선택)
|
||||
|
||||
## 먼저 확인할 것
|
||||
|
||||
- [ ] `agent-ops/rules/common/rules-agent-spec.md`를 읽는다.
|
||||
- [ ] `agent-spec/index.md`가 있는지 확인한다. 없으면 `create-spec` 필요 또는 `skipped-no-agent-spec`으로 보고한다.
|
||||
- [ ] 매칭 spec 문서만 읽는다.
|
||||
- [ ] 계약에 닿는 변경이면 `agent-contract/index.md`를 읽고 매칭 계약 문서만 읽는다.
|
||||
- [ ] Milestone 또는 complete.log 근거가 있으면 해당 활성 Milestone, SDD gate, complete.log의 관련 섹션만 확인한다.
|
||||
|
||||
## 실행 절차
|
||||
|
||||
1. **대상 spec 확정**
|
||||
- `target-spec`이 있으면 해당 문서가 활성 `agent-spec/**` 아래에 정확히 존재하는지 확인한다.
|
||||
- `target-spec`이 없으면 `agent-spec/index.md`의 읽는 조건, spec id, path, evidence와 `changed-files`/Milestone/complete.log를 비교한다.
|
||||
- 매칭 spec이 없고 구현 스펙 영향이 명확하면 `create-spec` 필요로 보고한다. 이 스킬에서 새 spec 문서를 직접 만들지 않는다.
|
||||
- 매칭 spec이 없고 변경이 spec 대상이 아니면 `Spec update not needed`로 보고한다.
|
||||
- 둘 이상의 spec이 매칭되면 모두 갱신 대상 후보로 두되, 각 spec별 영향 근거를 분리한다.
|
||||
|
||||
2. **현재 구현 재확인**
|
||||
- spec 본문만 믿지 말고 관련 코드, 계약, 테스트, 설정 예시를 다시 확인한다.
|
||||
- complete.log와 roadmap은 변경 근거로 쓰되 현재 동작은 코드/계약으로 검증한다.
|
||||
- SDD가 있으면 acceptance/evidence가 현재 spec과 어긋나는지 확인한다.
|
||||
- spec과 코드/계약이 충돌하면 코드/계약을 우선하고 spec을 수정한다.
|
||||
|
||||
3. **영향 판정**
|
||||
- 현재 동작, 범위, 주요 흐름, 책임 경계, 계약 링크, 코드 진입점, 설정/데이터/이벤트, 검증, 한계 중 바뀐 항목을 식별한다.
|
||||
- 변경이 테스트 fixture, 내부 리팩터링, 문구 정리처럼 현재 구현 spec에 영향을 주지 않으면 `Spec update not needed: <사유>`를 남긴다.
|
||||
- 판단 불가이면 spec을 추정 갱신하지 않고 `Spec blocked: <필요 evidence>`로 보고한다.
|
||||
|
||||
4. **문서 갱신**
|
||||
- `mode=check-only`이면 쓰지 않고 갱신 후보만 보고한다.
|
||||
- 영향이 있는 spec 문서만 수정한다.
|
||||
- frontmatter `status`와 `source_evidence`를 현재 evidence에 맞게 보강한다.
|
||||
- 표준 섹션 순서를 유지한다.
|
||||
- 계약 원문을 복제하지 않고 링크만 보강한다.
|
||||
- 변경 기록에 날짜, 변경 근거, 관련 Milestone/complete.log/코드 경로를 남긴다.
|
||||
|
||||
5. **index 동기화**
|
||||
- spec 상태, 읽는 조건, path, 주요 evidence가 바뀌었으면 `agent-spec/index.md`의 Spec Map을 갱신한다.
|
||||
- 새 spec 문서가 필요하면 `create-spec` 대상으로 보고하고 index를 추정 갱신하지 않는다.
|
||||
- 폐기된 spec은 활성 문서에 남기지 않고 archive log로 이동할 후보로 보고한다. 명시 요청 없이 archive 이동하지 않는다.
|
||||
|
||||
6. **결과 분류**
|
||||
- 갱신한 문서가 있으면 `Spec updated`로 보고한다.
|
||||
- 영향 없음이 확인되면 `Spec update not needed: <사유>`로 보고한다.
|
||||
- 매칭 spec이 없고 신규 작성이 필요하면 `create-spec needed: <사유>`로 보고한다.
|
||||
- evidence 부족, 대상 모호, 사용자 결정 필요이면 `Spec blocked: <사유>`로 보고한다.
|
||||
|
||||
## 실행 결과 검증
|
||||
|
||||
- [ ] `agent-spec/index.md`에서 관련 spec만 읽었는가
|
||||
- [ ] 코드/계약/테스트 기준으로 현재 동작을 재확인했는가
|
||||
- [ ] spec 문서의 표준 섹션과 frontmatter가 유지되는가
|
||||
- [ ] index의 Spec Map이 갱신한 spec 상태와 일치하는가
|
||||
- [ ] 계약 원문을 복제하지 않았는가
|
||||
- [ ] 갱신/불필요/create 필요/차단 중 하나의 결과가 명확한가
|
||||
- [ ] `complete-milestone`에서 호출된 경우 Milestone 완료 리뷰에 남길 spec sync 문구를 제공했는가
|
||||
- [ ] `git diff --check`를 실행했는가
|
||||
- 검증 실패 시: roadmap이나 코드 파일을 수정하지 말고 spec 갱신 실패 사유를 보고한다.
|
||||
|
||||
## 출력 형식
|
||||
|
||||
```markdown
|
||||
## Spec 동기화 결과
|
||||
|
||||
- 결과: <Spec updated | Spec update not needed | create-spec needed | Spec blocked | skipped-no-agent-spec>
|
||||
- 대상 spec:
|
||||
- <없음 | [spec-id](agent-spec/<area>/<spec-id>.md)>
|
||||
- 수정 파일:
|
||||
- <없음 | [index.md](agent-spec/index.md) | [spec](agent-spec/<area>/<spec-id>.md)>
|
||||
- 근거:
|
||||
- <코드/계약/테스트/complete.log/Milestone 요약>
|
||||
- Milestone 완료 리뷰 문구:
|
||||
- `Spec sync: <완료 | 해당 없음 | create-spec 필요: 사유 | 차단: 사유>`
|
||||
|
||||
## TODO 항목
|
||||
|
||||
- <남은 확인 필요 또는 없음>
|
||||
```
|
||||
|
||||
## 금지 사항
|
||||
|
||||
- roadmap 상태 전환이나 archive 이동을 수행하지 않는다.
|
||||
- 새 spec 문서를 생성하지 않는다. 신규 작성이 필요하면 `create-spec`으로 넘긴다.
|
||||
- 코드 구현이나 테스트 코드를 수정하지 않는다.
|
||||
- spec과 코드가 충돌할 때 spec을 그대로 신뢰하지 않는다.
|
||||
- 매칭되지 않는 spec을 광범위하게 읽거나 전부 갱신하지 않는다.
|
||||
- archive spec을 명시 요청 없이 읽거나 갱신하지 않는다.
|
||||
- complete.log나 roadmap 문구만으로 현재 동작을 단정하지 않는다.
|
||||
Loading…
Reference in a new issue