3.8 KiB
3.8 KiB
| name | version | description |
|---|---|---|
| check-roadmap-dependency | 1.0.0 | roadmap dependency lock 상태를 확인한다. 사용자가 roadmap-dependency-checker.sh, locks.yaml, 외부 의존 잠금 충족 여부, unlock-ready 판별, 프로젝트 간 잠금 해제 조건 확인을 요청할 때 사용한다. |
check-roadmap-dependency
목적
.agent-roadmap-sync/locks.yaml에서 특정 lock id의 locked, rely-on.target, rely-on.status가 유효한지 확인하고, 모든 rely-on.status가 enable인지 판별한다.
판별은 agent-ops/bin/roadmap-dependency-checker.sh에 맡기고, 스킬은 입력 확정, 실행, 결과 해석만 담당한다.
언제 호출할지
- 사용자가 특정 roadmap lock id의 의존 조건 충족 여부를 확인할 때
- runtime에서 unlock-ready 트리거 전
locks.yaml판별 절차를 확인할 때 .agent-roadmap-sync/locks.yaml의rely-on.status기반 true/false 확인을 요청할 때
입력
lock-id: 확인할 lock entry id. 예:oto:oto-agent-registration. 사용자가 "현재 마일스톤"이라고만 말하면<현재-project>:<current.md 활성 milestone slug>로 추론한다.<현재-project>는 현재 프로젝트 루트 디렉터리 이름이다 (선택, 추론 불가 시 필수)locks-file: 기본값은 프로젝트 상위.agent-roadmap-sync/locks.yaml이며, 다른 파일을 검사할 때만 지정한다 (선택)
먼저 확인할 것
agent-ops/bin/roadmap-dependency-checker.sh가 있는지 확인한다.lock-id가 명시되었거나 현재 프로젝트current.md의 활성 Milestone 하나로 추론 가능한지 확인한다.- 기본 경로 또는 지정된
locks-file을 읽을 수 있는지 확인한다.
실행 절차
-
입력 확정
- 사용자 요청에서
lock-id를 추출한다. lock-id가 없고 "현재 마일스톤" 확인 요청이면 현재 프로젝트agent-ops/roadmap/current.md의 활성 Milestone 경로에서 milestone slug를 추출해<현재-project>:<milestone-slug>를 만든다.- 활성 Milestone 후보가 없거나 둘 이상이면 추정하지 말고 사용자에게 lock id 또는 Milestone 선택을 요청한다.
locks-file이 명시되지 않았으면 프로젝트 상위.agent-roadmap-sync/locks.yaml을 사용한다.
- 사용자 요청에서
-
판별 실행
- 기본 파일이면
agent-ops/bin/roadmap-dependency-checker.sh "<lock-id>"를 실행한다. - 지정 파일이면
agent-ops/bin/roadmap-dependency-checker.sh "<lock-id>" "<locks-file>"를 실행한다.
- 기본 파일이면
-
결과 해석
- stdout
true와 exit code0은 모든 의존 조건 충족으로 보고한다. - stdout
false와 exit code1은 아직 충족되지 않은 의존 조건이 있음을 보고한다. - exit code
2는 설정 오류, 입력 오류, 필수 필드 누락, 파싱 오류로 보고한다.
- stdout
실행 결과 검증
- 정상 판별 결과가 stdout에서
true또는false하나로만 출력되었는가 - exit code
0,1,2의미를 구분해 보고했는가 - exit code
2를 unlock 대기 상태로 해석하지 않았는가 - 이 스킬이
locks.yaml이나 roadmap 문서를 수정하지 않았는가 - 검증 실패 시: 오류 메시지와 사용한
lock-id,locks-file경로를 보고하고 멈춘다.
출력 형식
## 의존성 판별 결과
- lock-id: `<lock-id>`
- locks-file: `<locks-file>`
- 결과: `<true | false | error>`
- 의미: <모든 의존 조건 충족 | 미충족 의존 조건 있음 | 설정/입력/필수 필드/파싱 오류>
금지 사항
locks.yaml의status를 변경하지 않는다.- roadmap Milestone의
구현 잠금상태를 변경하지 않는다. false와 설정 오류를 같은 상태로 보고하지 않는다.