leerness 1.9.13 → 1.9.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +97 -0
- package/bin/harness.js +693 -37
- package/package.json +1 -1
- package/scripts/e2e.js +328 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,102 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.9.18 — 2026-05-14
|
|
4
|
+
|
|
5
|
+
**오케스트레이션 검수 패키지 — `--since` 시간 필터 + `--strict-elements` 잠재 중복 + `depends-on` 그래프 + `verify-claim` 자동 검증**.
|
|
6
|
+
|
|
7
|
+
1.9.17의 워크스페이스 모드를 실전 멀티 에이전트 작업에서 사용하다 발견한 4가지 갭을 모두 보완합니다. 검수 자동화에 초점.
|
|
8
|
+
|
|
9
|
+
### Added
|
|
10
|
+
|
|
11
|
+
- **`leerness handoff --since <duration>`**: `24h` / `3d` / `1w` / `30m` 형식. 해당 기간 내 수정된 T-row에 🆕 마크 + 별도 "최근 변경" 섹션. sub-agent들이 방금 무엇을 추가했는지 한눈에.
|
|
12
|
+
- **`leerness reuse-map --strict-elements`**: element 컬럼에서 함수명 추출 (`src/build.js (escapeHtml)` → `escapeHtml`), **다른 capability 이름인데 같은 함수**를 잠재 중복으로 감지. 명명 일관성 검사용.
|
|
13
|
+
- **`reuse-map` depends-on 표기**: notes 컬럼에 `depends-on: A, B` 표기 시 자동 추출해 의존 그래프로 표시. 단일/워크스페이스 모두 지원. JSON에 `dependsEdges` 포함.
|
|
14
|
+
- **`leerness verify-claim <T-ID>`**: progress-tracker의 evidence 컬럼 자동 파싱 — 주장한 파일 경로 존재 확인, 주장한 테스트 수 vs 실제 `check()/test()/it()` 호출 수 대조. 불일치 시 `exit 1`. CI 통합용 `--json`.
|
|
15
|
+
|
|
16
|
+
### Why
|
|
17
|
+
멀티 에이전트 병렬 작업 검수 시 메인 에이전트가 매번 수동으로 `wc -l`, `grep`, `npm test`를 돌리고 있었음. 1.9.18은 그 패턴을 하나의 명령으로 자동화:
|
|
18
|
+
- "지금 sub-agent들이 뭘 추가했지?" → `handoff --all-apps --since 1h`
|
|
19
|
+
- "같은 함수를 두 번 만든 거 아닌가?" → `reuse-map --all-apps --strict-elements`
|
|
20
|
+
- "이 에이전트의 evidence가 진짜인가?" → `verify-claim T-0008`
|
|
21
|
+
|
|
22
|
+
### Migration
|
|
23
|
+
```bash
|
|
24
|
+
npx leerness@latest update . --yes
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## 1.9.17 — 2026-05-14
|
|
28
|
+
|
|
29
|
+
**워크스페이스 오케스트레이션 — `handoff --all-apps` + `reuse-map --all-apps` + 중복 capability 감지**.
|
|
30
|
+
|
|
31
|
+
멀티 에이전트 병렬 작업 시 메인 에이전트가 한 번의 명령으로 모든 sub-agent의 진행 상태를 파악하고, 새 패턴이 다른 프로젝트와 중복되는지 즉시 검증할 수 있습니다.
|
|
32
|
+
|
|
33
|
+
### Added
|
|
34
|
+
|
|
35
|
+
- **`leerness handoff --all-apps` / `--include`**: 워크스페이스 전체의 진행 상태(WIP/blocked/다음 작업)를 한 화면에 출력. 4개 sub-agent가 병렬로 일할 때 메인 agent의 상황 인식용. `--json`도 지원.
|
|
36
|
+
- **`leerness reuse-map [path]`**: 단일 프로젝트의 reuse-map.md 파싱 출력.
|
|
37
|
+
- **`leerness reuse-map --all-apps` / `--include`**: 다수 프로젝트의 모든 capability를 모아 **동일 이름 capability를 자동 중복 감지**. 재사용/공통 모듈 추출 기회 식별. `--json`도 지원.
|
|
38
|
+
|
|
39
|
+
### Why
|
|
40
|
+
1.9.16까지의 `retro --all-apps`는 누적 회고용. 1.9.17은 **실시간 오케스트레이션용**: "지금 어떤 에이전트가 무엇을 하고 있고, 새 패턴이 다른 프로젝트와 겹치는가?"에 답합니다.
|
|
41
|
+
|
|
42
|
+
### Migration
|
|
43
|
+
```bash
|
|
44
|
+
npx leerness@latest update . --yes
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## 1.9.16 — 2026-05-13
|
|
48
|
+
|
|
49
|
+
**brainstorm 워크스페이스 통합 + 3 명령 JSON export + session close 워크스페이스 안내**.
|
|
50
|
+
|
|
51
|
+
### Added
|
|
52
|
+
|
|
53
|
+
- **`leerness brainstorm "<주제>" --all-apps` / `--include`**: retro/insights에 이어 brainstorm도 다수 프로젝트 통합 검색. 프로젝트별 결과 요약 + 워크스페이스 총합.
|
|
54
|
+
- **`--json` 옵션** (retro / insights / brainstorm, 단일/워크스페이스 모두): JSON으로 export. CI/대시보드 연동 가능.
|
|
55
|
+
- **session close 끝에 워크스페이스 안내**: `_apps/*/` 또는 부모 `_apps/*/`에 다른 leerness 프로젝트가 있으면 `🌐 워크스페이스에 N개 — leerness retro --all-apps` 자동 안내.
|
|
56
|
+
|
|
57
|
+
### Migration
|
|
58
|
+
```bash
|
|
59
|
+
npx leerness@latest update . --yes
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
## 1.9.15 — 2026-05-13
|
|
63
|
+
|
|
64
|
+
**브레인스토밍 출처 표시 + 워크스페이스 통합 회고/통찰**.
|
|
65
|
+
|
|
66
|
+
### Added
|
|
67
|
+
|
|
68
|
+
- **brainstorm 매치 위치 표시**: 모든 결과에 `.harness/<file>:<line>` 형식의 파일 경로 + 줄 번호. task 결과는 매치된 필드(request/evidence/nextAction)도 함께 표시.
|
|
69
|
+
- **`leerness retro --all-apps`**: 현재 디렉토리 + `_apps/*` (또는 부모 `_apps/*`)의 모든 leerness 프로젝트를 통합 회고. 프로젝트별 한 줄 요약 + 다음 우선 작업 + top 스킬 + 워크스페이스 총합 (task / done % / 결정 / 스킬 / 사용 / 최적화 / pass-fix 비율).
|
|
70
|
+
- **`leerness retro --include <p1,p2,...>`**: 명시 경로 통합 회고. 쉼표 구분 다중 경로 지원.
|
|
71
|
+
- **`leerness insights --all-apps`** / **`--include`**: 통합 통계를 표 형식으로 출력 + 안정성 평가 + 최적화 권장.
|
|
72
|
+
|
|
73
|
+
### Migration
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
npx leerness@latest update . --yes
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
기존 명령은 모두 호환. `--all-apps` / `--include`는 선택 옵션.
|
|
80
|
+
|
|
81
|
+
## 1.9.14 — 2026-05-13
|
|
82
|
+
|
|
83
|
+
**1.9.13의 retro/brainstorm 정확도 4건 fix** (city-insights 대형 프로젝트 운영 중 발견).
|
|
84
|
+
|
|
85
|
+
### Fixed
|
|
86
|
+
|
|
87
|
+
- **A. decisions Template 카운트 오류**: init이 만드는 `decisions.md`의 `### YYYY-MM-DD — Decision` 템플릿 예시가 실제 결정으로 잘못 카운트되던 문제. `_extractDecisionBlocks()` 헬퍼가 코드블록(```...```) 안의 ### 와 `### (Template|템플릿)` 시작 블록을 자동 제외.
|
|
88
|
+
- **B. brainstorm 토큰 매칭 부정확**: 단순 substring 매치로 인해 무관한 task가 잡히던 문제. **유니코드 word boundary** (`(?<![\p{L}\p{N}_])…(?![\p{L}\p{N}_])`) 기반 토큰 매칭으로 변경. 다중 토큰 (예: `"API rate limit"`)은 **모두** 매치되어야 결과로 표시.
|
|
89
|
+
- **C. retro 다음 우선 작업이 planned 미포함**: in-progress/blocked가 비어있으면 "(없음)"으로 표시되던 문제. 우선순위 가중치 (in-progress=0, blocked/waiting/on-hold/incomplete=1, planned/requested=2)로 정렬해 planned도 포함.
|
|
90
|
+
- **D. decisions.md 템플릿 형식**: init 디폴트가 실 결정과 동일한 `### YYYY-MM-DD — Decision` 형식이라 retro 카운트와 충돌. 템플릿을 **명시적 ```` ```md ```` 코드블록**으로 감싸 표시. retro/brainstorm/lessons가 일관되게 무시.
|
|
91
|
+
|
|
92
|
+
### Migration
|
|
93
|
+
|
|
94
|
+
```bash
|
|
95
|
+
npx leerness@latest update . --yes
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
기존 프로젝트의 decisions.md는 그대로 두면 자동으로 정확히 카운트됩니다 (코드블록 처리는 양쪽 모두 동작).
|
|
99
|
+
|
|
3
100
|
## 1.9.13 — 2026-05-13
|
|
4
101
|
|
|
5
102
|
**회고·통찰·브레인스토밍** — 누적된 leerness 데이터에서 자동으로 패턴/추세/주제별 자원을 추출.
|