Update iop-weekly-subproject-work-summary SKILL.md and collect.sh
This commit is contained in:
parent
49e61ef3ab
commit
a34c58a143
2 changed files with 44 additions and 17 deletions
|
|
@ -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이 한 줄짜리 명사구이며 구현자가 아니어도 이해할 수 있는 수준인가
|
||||
|
|
|
|||
|
|
@ -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[@]}"
|
||||
|
|
|
|||
Loading…
Reference in a new issue