Update iop-weekly-subproject-work-summary SKILL.md and collect.sh

This commit is contained in:
toki 2026-06-25 15:22:13 +09:00
parent 49e61ef3ab
commit a34c58a143
2 changed files with 44 additions and 17 deletions

View file

@ -35,6 +35,8 @@ description: IOP 관련 핵심 repository만 대상으로 기존 weekly-subproje
로컬 workspace에 `agent-framework`가 없고 `agentic-framework`가 있으면 `agent-framework` 요청은 `agentic-framework`로 해석한다.
결과에는 실제 확인한 경로를 명확히 쓴다.
`agent-framework`/`agentic-framework`는 IOP 관련 공통 운영 원천 repository로 본다.
따라서 코드 레벨 변경이 아니고 agent-ops/rules/skills/entry file/README 같은 운영 변경만 있어도 기간 내 commit이 있으면 출력에 포함한다.
### 기간 해석
@ -54,8 +56,10 @@ description: IOP 관련 핵심 repository만 대상으로 기존 weekly-subproje
- 분석 기간 동안 git commit이 없는 repository는 출력에 포함하지 않는다.
- 분석 기간 동안 작업 내용 요약 대상 commit이 0개인 repository는 출력에 포함하지 않는다.
- 변경된 파일이 모두 agent-ops sync path인 repository는 출력에 포함하지 않는다.
- 단, `agent-framework`/`agentic-framework`는 예외로 하며, 기간 내 commit이 있으면 코드 레벨 변경이 아니어도 출력에 포함한다.
- 하나의 commit에 sync path와 제품/운영 payload path가 함께 있으면 작업 내용 요약 대상 commit으로 본다.
- 이 경우 sync path 자체가 아니라 제품/운영 payload path를 중심으로 요약한다.
- `agent-framework`/`agentic-framework`는 sync path 자체가 공통 운영 원천 변경일 수 있으므로 agent-ops/rules/skills/entry file/README 변경을 작업 내용으로 요약할 수 있다.
- 미커밋 변경은 기본 출력에 포함하지 않는다.
- `agent-task/archive/**``agent-roadmap/archive/**`의 파일 내용은 읽지 않는다. 단, git 변경 경로 집계에서 archive 경로가 나타나는 것은 작업 정리/아카이브 흐름으로만 요약할 수 있다.
@ -111,6 +115,7 @@ agent-ops sync path는 다음으로 본다.
- 전체 총평, 평가표, 속도표, 품질표, 점수는 쓰지 않는다.
- `지난주` 요청이라도 날짜 범위는 본문 앞뒤 설명으로 길게 쓰지 말고, 사용자가 날짜를 요구한 경우에만 한 줄로 덧붙인다.
- 작업이 없는 repo나 agent-ops sync-only repo는 목록에 넣지 않는다.
- 단, `agent-framework`/`agentic-framework`는 agent-ops/rules/skills/entry file/README 변경만 있어도 목록에 넣는다.
## 출력 형식
@ -129,6 +134,7 @@ agent-ops sync path는 다음으로 본다.
- [ ] 베이스 `weekly-subproject-work-summary`를 먼저 읽었는가
- [ ] 대상이 `agent-shell`, `agent-framework`/`agentic-framework`, `iop`, `nexo`, `oto`, `proto-socket`으로 제한됐는가
- [ ] commit이 없는 repo와 agent-ops sync-only repo를 출력에서 제외했는가
- [ ] `agent-framework`/`agentic-framework`는 코드 레벨 변경이 아니어도 기간 내 수정이 있으면 출력에 포함했는가
- [ ] `지난주` 요청이면 rolling 7 days가 아니라 직전 calendar week 범위를 사용했는가
- [ ] 상위 bullet은 repo명, 하위 bullet은 기능/작업 영역 수준의 주요 내용만 썼는가
- [ ] 하위 bullet이 한 줄짜리 명사구이며 구현자가 아니어도 이해할 수 있는 수준인가

View file

@ -47,6 +47,13 @@ is_sync_path() {
return 1
}
includes_all_changes() {
local requested="$1"
local rel="$2"
[[ "$requested" == "agent-framework" || "$rel" == "agent-framework" || "$rel" == "agentic-framework" ]]
}
commit_paths() {
local repo="$1"
local sha="$2"
@ -125,11 +132,15 @@ for requested in "${TARGET_REPOS[@]}"; do
((${#all_shas[@]} > 0)) || continue
summary_shas=()
for sha in "${all_shas[@]}"; do
if is_summary_commit "$repo" "$sha"; then
summary_shas+=("$sha")
fi
done
if includes_all_changes "$requested" "$rel"; then
summary_shas=("${all_shas[@]}")
else
for sha in "${all_shas[@]}"; do
if is_summary_commit "$repo" "$sha"; then
summary_shas+=("$sha")
fi
done
fi
((${#summary_shas[@]} > 0)) || continue
@ -156,18 +167,28 @@ for requested in "${TARGET_REPOS[@]}"; do
git -C "$repo" show --no-patch --date=iso --format='%h | %ad | %s' "${summary_shas[@]}"
echo
echo "top non-sync paths:"
for sha in "${summary_shas[@]}"; do
while IFS= read -r path; do
[[ -z "$path" ]] && continue
if ! is_sync_path "$path"; then
printf '%s\n' "$path"
fi
done < <(commit_paths "$repo" "$sha")
done |
path_bucket |
sort -nr |
head -n 16
if includes_all_changes "$requested" "$rel"; then
echo "top paths:"
for sha in "${summary_shas[@]}"; do
commit_paths "$repo" "$sha"
done |
path_bucket |
sort -nr |
head -n 16
else
echo "top non-sync paths:"
for sha in "${summary_shas[@]}"; do
while IFS= read -r path; do
[[ -z "$path" ]] && continue
if ! is_sync_path "$path"; then
printf '%s\n' "$path"
fi
done < <(commit_paths "$repo" "$sha")
done |
path_bucket |
sort -nr |
head -n 16
fi
echo "shortstat:"
shortstat_for_commits "$repo" "${summary_shas[@]}"