feat(evolve): tailor --recent for worktree workflows (merge sessions, repo_path, signal) - #670
Conversation
# Conflicts: # plugins/me/skills/evolve/SKILL.md # plugins/me/skills/evolve/scripts/build-index.ts # tests/me/evolve-build-index.bats
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (3)
📝 WalkthroughWalkthroughThe ChangesMulti-session indexing enhancement
Sequence DiagramsequenceDiagram
participant CLI as --recent CLI
participant Discover as recentSessionPaths
participant BuildIndex as buildRecentIndex
participant RepoRoot as findRepoRoot
participant Skills as skill aggregation
participant Sort as weighted sort
CLI->>Discover: pass process.cwd()
Discover->>Discover: derive projectBasePrefix<br/>(split --worktrees-... suffix)
Discover->>Discover: aggregate .jsonl from base<br/>and sibling worktree dirs
Discover-->>BuildIndex: collected transcript paths
BuildIndex->>RepoRoot: locate plugins/ directory upward
RepoRoot-->>BuildIndex: repo root path
BuildIndex->>Skills: for each skill in transcripts
Skills->>Skills: compute signal from<br/>interrupt/error/repeat counts
Skills->>Skills: resolve repo_path via<br/>repoSkillPath (if skill in repo)
Skills->>Skills: populate enriched fields<br/>(skill_path, repo_path, signal)
Skills-->>BuildIndex: enriched skill objects
BuildIndex->>Sort: sort by weighted signal<br/>then event count
Sort-->>CLI: RecentIndex with merged<br/>worktree sessions
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Possibly related PRs
Poem
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Warning There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure. 🔧 ESLint
ESLint skipped: no ESLint configuration detected in root package.json. To enable, add Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
# [17.18.0](v17.17.1...v17.18.0) (2026-05-31) ### Features * **evolve:** tailor --recent for worktree workflows (merge sessions, repo_path, signal) ([#670](#670)) ([07a16a0](07a16a0))
Summary
PR #669로 추가한 evolve
--recent멀티세션 검토를, 사용자의 실제 케이스(worktree 워크플로우)에 맞게 단순·범용적으로 개선하는 후속 작업입니다. evolve를 실제로 돌려 데이터에서 문제를 발견 → 가장 단순한 해법 → TDD/검증 사이클로 진행했습니다.Changes
--recent가 cwd 디렉터리 하나가 아니라<base>+ 모든<base>--worktrees-*형제 transcript 디렉터리를 합쳐 세션을 모은다. bstack처럼 worktree마다 transcript가 쪼개지는 환경에서 "최근 여러 세션"이 worktree당 1개로 무력화되던 문제 해결 (실측 1→6 세션).repo_path매핑: transcript가 skill을 캐시 경로로 기록해도, cwd repo의plugins/*/skills/<name>/SKILL.md를 찾아 편집 가능한repo_path로 제공하고 stale 비교도 그 본문 우선. 자기 repo skill을 upstream으로 보내지 않고 직접 고칠 수 있게 됨.signal요약 + 밀도순 정렬: 각 skill에 kind별 카운트 한 줄(interrupt/error/repeat 우선)을 더하고 개선 신호 밀도순 정렬 → LLM이 events 전부 안 읽고 어디부터 볼지 판단.<task-notification>노이즈 필터: 하네스 주입 Monitor/Task 알림을 user 이벤트에서 제외 (실측 user 이벤트 224→164).Tests
Summary by CodeRabbit
New Features
Bug Fixes
Tests