From af14a4a34e07ae721d2486ab858cf7d579e919a0 Mon Sep 17 00:00:00 2001 From: toki Date: Thu, 21 May 2026 18:53:46 +0900 Subject: [PATCH] sync: agent-ops from agentic-framework v1.1.23 --- agent-ops/.version | 2 +- .../common/_templates/domain-rule-template.md | 6 +++++ .../skills/common/create-domain-rule/SKILL.md | 9 +++++++- .../skills/common/init-agent-ops/SKILL.md | 4 ++++ .../skills/common/update-domain-rule/SKILL.md | 23 ++++++++++++++++--- 5 files changed, 39 insertions(+), 5 deletions(-) diff --git a/agent-ops/.version b/agent-ops/.version index c442f5e..32ffe12 100644 --- a/agent-ops/.version +++ b/agent-ops/.version @@ -1 +1 @@ -1.1.22 +1.1.23 diff --git a/agent-ops/rules/common/_templates/domain-rule-template.md b/agent-ops/rules/common/_templates/domain-rule-template.md index 529e10d..a2ea36f 100644 --- a/agent-ops/rules/common/_templates/domain-rule-template.md +++ b/agent-ops/rules/common/_templates/domain-rule-template.md @@ -1,3 +1,9 @@ +--- +domain: +last_rule_review_commit: +last_rule_updated_at: +--- + # ## 목적 / 책임 diff --git a/agent-ops/skills/common/create-domain-rule/SKILL.md b/agent-ops/skills/common/create-domain-rule/SKILL.md index dedb8e2..1d54446 100644 --- a/agent-ops/skills/common/create-domain-rule/SKILL.md +++ b/agent-ops/skills/common/create-domain-rule/SKILL.md @@ -11,6 +11,7 @@ description: 새로운 도메인 rules.md 파일을 생성하기 위한 범용 `agent-ops/rules/project/domain//rules.md` 파일을 올바른 형식으로 생성한다. 실제 프로젝트 폴더 구조를 분석하여 경로와 구성 요소를 자동으로 채운다. 생성 후 `rules/project/rules.md`의 도메인 룰 로딩 안내와 도메인 매핑 테이블을 갱신한다. +생성한 domain rule에는 현재 코드 상태를 어디까지 반영했는지 알 수 있도록 기준 커밋 메타데이터를 기록한다. ## 언제 호출할지 @@ -30,6 +31,9 @@ description: 새로운 도메인 rules.md 파일을 생성하기 위한 범용 - [ ] `agent-ops/rules/project/domain//rules.md` 가 이미 존재하는지 확인 - [ ] `agent-ops/rules/common/_templates/domain-rule-template.md` 를 읽어 최신 템플릿 형식 파악 - [ ] `agent-ops/rules/project/domain/` 하위 기존 domain rule 목록을 확인하여 중복·유사 도메인 여부 판단 +- [ ] `git rev-parse HEAD` 로 기준 커밋을 확인 + - 이 값은 생성될 rules.md를 포함하는 미래 커밋 해시가 아니다 + - 의미: "이 커밋까지의 코드 상태를 보고 domain rule을 생성했다" ## 실행 절차 @@ -56,6 +60,8 @@ description: 새로운 도메인 rules.md 파일을 생성하기 위한 범용 4. **도메인 rules.md 생성** - 경로: `agent-ops/rules/project/domain//rules.md` - `domain-rule-template.md` 형식을 따른다 + - frontmatter의 `last_rule_review_commit`에는 생성 직전에 확인한 `git rev-parse HEAD` 값을 기록한다 + - frontmatter의 `last_rule_updated_at`에는 생성일을 `YYYY-MM-DD` 형식으로 기록한다 - 실제 코드에서 확인된 내용만 기재한다 - 불확실한 항목은 `` 주석으로 남긴다 @@ -97,7 +103,8 @@ description: 새로운 도메인 rules.md 파일을 생성하기 위한 범용 ## 실행 결과 검증 - [ ] `agent-ops/rules/project/domain//rules.md` 파일이 생성되었는가 -- [ ] 생성된 파일이 `domain-rule-template.md`의 모든 섹션(목적, 포함 경로, 제외 경로, 주요 구성 요소, 유지할 패턴, 경계, 금지 사항)을 포함하는가 +- [ ] 생성된 파일이 `domain-rule-template.md`의 frontmatter와 모든 섹션(목적, 포함 경로, 제외 경로, 주요 구성 요소, 유지할 패턴, 경계, 금지 사항)을 포함하는가 +- [ ] `last_rule_review_commit`이 생성 직전 `HEAD`를 가리키는가 - [ ] `rules/project/rules.md`에 도메인 룰 로딩 섹션이 존재하는가 - [ ] `rules/project/rules.md`의 도메인 매핑 테이블에 해당 도메인 항목이 추가되었는가 - [ ] 포함 경로에 기재된 경로가 실제로 프로젝트에 존재하는가 diff --git a/agent-ops/skills/common/init-agent-ops/SKILL.md b/agent-ops/skills/common/init-agent-ops/SKILL.md index 5a9807c..6b104c3 100644 --- a/agent-ops/skills/common/init-agent-ops/SKILL.md +++ b/agent-ops/skills/common/init-agent-ops/SKILL.md @@ -140,6 +140,10 @@ common/rules.md와 내용이 중복되지 않도록 한다. ### domain rule 각 도메인 rules.md에는 아래만 둔다. +- frontmatter metadata + - `domain` + - `last_rule_review_commit`: 생성 직전 `git rev-parse HEAD` + - `last_rule_updated_at`: 생성일 `YYYY-MM-DD` - 목적 / 책임 - 포함 경로 - 제외 경로 diff --git a/agent-ops/skills/common/update-domain-rule/SKILL.md b/agent-ops/skills/common/update-domain-rule/SKILL.md index b5beb3e..2b062ed 100644 --- a/agent-ops/skills/common/update-domain-rule/SKILL.md +++ b/agent-ops/skills/common/update-domain-rule/SKILL.md @@ -10,12 +10,14 @@ description: 기존 도메인 rules.md를 코드 현황에 맞게 갱신. 전체 프로젝트 코드가 변경되면서 기존 domain rule이 실제 구조와 어긋날 수 있다. 이 스킬은 실제 파일 구조를 탐색하여 기존 `rules.md`와 비교하고, 누락·오류·구식 항목을 수정한다. +갱신한 domain rule에는 어디까지의 코드 커밋을 검토 기준으로 삼았는지 기록한다. ## 언제 호출할지 - 대규모 리팩터링 또는 외부 패키지 내재화 후 domain rule 동기화가 필요할 때 - 특정 도메인 파일 구조가 바뀌어 기존 rule이 맞지 않을 때 - 사용자가 "도메인 업데이트", "domain rule 갱신", "domain 검토" 등을 요청할 때 +- 로컬 모델의 자동 판단 런타임이 frontier 모델에게 domain rule 검토를 위임한 경우 - agent-ops 초기 scaffold 이후 코드가 많이 달라진 경우 ## 입력 @@ -29,6 +31,10 @@ description: 기존 도메인 rules.md를 코드 현황에 맞게 갱신. 전체 - [ ] `agent-ops/rules/common/_templates/domain-rule-template.md` 읽어 최신 템플릿 형식 파악 - [ ] `targeted` 모드이면 `agent-ops/rules/project/domain//rules.md` 존재 여부 확인 - 존재하지 않으면 `create-domain-rule` 스킬을 사용하도록 안내하고 중단 +- [ ] `git rev-parse HEAD` 로 기준 커밋을 확인 + - 이 값은 이번 domain rule 수정이 들어갈 미래 커밋 해시가 아니다 + - 의미: "이 커밋까지의 코드 상태를 보고 domain rule을 검토했다" + - 코드 변경과 domain rule 변경이 같은 커밋에 섞여 있으면 다음 자동 판단에서 같은 코드 변경이 다시 후보로 잡힐 수 있으므로, 가능하면 코드 변경 커밋 이후 깨끗한 작업 트리에서 실행한다 ## 실행 절차 @@ -51,15 +57,24 @@ description: 기존 도메인 rules.md를 코드 현황에 맞게 갱신. 전체 4. **rules.md 업데이트** - 변경이 필요한 항목만 수정한다 — 변경 불필요한 섹션은 그대로 둔다 + - frontmatter가 없으면 `domain-rule-template.md` 형식으로 추가한다 + - `last_rule_review_commit`에는 실행 초기에 확인한 `git rev-parse HEAD` 값을 기록한다 + - `last_rule_updated_at`에는 갱신일을 `YYYY-MM-DD` 형식으로 기록한다 + - 본문 섹션에 반영할 변경이 없더라도 검토가 완료되었다면 기준 커밋 메타데이터는 갱신한다 - 확인된 사실만 기재한다; 불확실하면 `` 주석 처리 - `domain-rule-template.md`의 섹션 구조를 유지한다 -5. **도메인 매핑 테이블 검토** (`full` 모드 시) +5. **자동 판단 런타임 기준** + - 로컬 모델은 각 domain rule의 `last_rule_review_commit..HEAD` 범위를 기준으로 변경 커밋을 확인한다 + - 판단 대상은 해당 도메인의 코드 경로이며, `agent-ops/rules/project/domain/**` 변경만으로는 다시 위임하지 않는다 + - `last_rule_review_commit`이 없거나 유효하지 않으면 보수적으로 frontier 모델에게 위임한다 + +6. **도메인 매핑 테이블 검토** (`full` 모드 시) - `agent-ops/rules/project/rules.md`의 도메인 매핑 테이블과 실제 포함 경로 비교 - 누락된 경로 패턴은 추가, 존재하지 않는 경로 패턴은 제거 - 기존 항목 순서는 변경하지 않는다 -6. **결과 보고** +7. **결과 보고** - 도메인별로 수정한 항목 목록 - `TODO`로 남긴 항목 (해당 시) - 도메인 매핑 테이블 변경 내용 (full 모드 시) @@ -68,6 +83,7 @@ description: 기존 도메인 rules.md를 코드 현황에 맞게 갱신. 전체 - [ ] 수정된 `rules.md`의 포함 경로가 모두 실제 프로젝트에 존재하는가 - [ ] 섹션 구조가 `domain-rule-template.md` 형식을 유지하는가 +- [ ] `last_rule_review_commit`이 이번 갱신 직전 `HEAD`를 가리키는가 - [ ] 변경하지 않아도 되는 섹션이 의도치 않게 바뀌지 않았는가 - [ ] `full` 모드에서 도메인 매핑 테이블이 실제 포함 경로와 일치하는가 - 검증 실패 시: 실제 존재하지 않는 경로나 누락된 섹션을 사용자에게 알리고 해당 항목만 보완한다 @@ -81,7 +97,8 @@ description: 기존 도메인 rules.md를 코드 현황에 맞게 갱신. 전체 - 변경: <수정된 항목 요약> - 추가: <새로 추가된 경로/구성 요소> - 제거: <삭제된 경로/구성 요소> -- 유지: 변경 없음 (해당 섹션) +- 유지: 변경 없음 또는 기준 커밋 메타데이터만 갱신 +- 기준 커밋: ### 도메인 매핑 테이블 (full 모드 시) - 추가: <새 경로 패턴>