leerness 1.9.36 → 1.9.38

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 CHANGED
@@ -1,5 +1,74 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.9.38 — 2026-05-18
4
+
5
+ **drift 자동 reminder + 사용 통계 + TodoWrite 임포트 + drift 임계 학습**.
6
+
7
+ 1.9.37의 drift detection을 더 능동적으로 만든 라운드. 메인 에이전트가 leerness를 "잊는" 시나리오를 4가지 채널로 보완.
8
+
9
+ ### Added
10
+
11
+ - **(A) `.harness/agent-reminders.md` 자동 생성** — drift 5일 이상(severe) 시 handoff 진입부에서 자동 생성. 메인 에이전트가 다음 라운드 시작 시 이 파일을 읽고 session close를 잊지 않도록.
12
+ - drift 회복 시 (handoff/session close) 파일 자동 청소
13
+ - **(B) `leerness usage stats`** 신규 명령 — `.harness/cache/usage-stats.json`에 명령별 누적 카운터 + drift 통계. `--json` 출력 지원.
14
+ - 매 명령 호출 시 자동 누적 (`_bumpUsage`)
15
+ - 통계 출력: 호출 수 상위 30 + drift critical 발견/skip/자동 해소 카운트
16
+ - **(C) `leerness task sync --from <todo.json>`** 신규 명령 — TodoWrite JSON을 leerness progress-tracker로 import. completed → done, in_progress → in-progress, pending → planned 매핑.
17
+ - 같은 content가 이미 있으면 status만 update, 없으면 신규 task 생성
18
+ - `--json` 출력 지원
19
+ - **(D) drift 임계 학습** — `--no-drift-check` 누적 ≥5회 시 stale 임계 2일 → 4일로 자동 완화 (false alarm 감소).
20
+ - usage-stats.json의 `drift.skipped` 카운터로 추적
21
+ - 학습된 임계 활성 시 handoff 출력에 "(학습: skip N회 누적 → 임계 N일 완화)" 안내
22
+
23
+ ### 실측
24
+ - 실 워크스페이스에서 4 기능 모두 작동 확인:
25
+ - A: 5일 stale 시뮬 → agent-reminders.md 자동 생성 (drift critical 메시지)
26
+ - B: status/handoff/task 명령 자동 카운트
27
+ - C: 2건 TodoWrite JSON → 2건 progress-tracker import
28
+ - D: --no-drift-check 5회 누적 → drift.skipped=5 기록
29
+
30
+ ### e2e: 174/174 PASS (1.9.37 170 + 신규 4)
31
+
32
+ ### 정책
33
+ - ✅ 자동 reminder는 *파일 생성*만 — 메인 에이전트 자동 실행 강제 X
34
+ - ✅ usage stats는 read-only 추적, destructive 동작 X
35
+ - ✅ task sync는 idempotent (같은 content는 update만)
36
+ - ✅ drift 학습은 사용자 친화 (자주 끄면 덜 짖게)
37
+
38
+ ## 1.9.37 — 2026-05-18
39
+
40
+ **메인 에이전트의 "leerness 점점 안 쓰는" drift 현상 자동 감지·경고**.
41
+
42
+ ### 배경
43
+ 실 워크스페이스 분석 결과: 라운드가 길어질수록 메인 에이전트가 `session close` / `task add` 등을 점점 잊는 패턴 발견.
44
+ - session-handoff.md 4.6일 stale
45
+ - task-log.md 4.6일 stale
46
+ - progress-tracker T-row 3일간 0건 업데이트
47
+ - 신규 sub-app 4개에 task 0건 등록
48
+
49
+ → **drift score 100/200 (🔴 critical) 등급**. 사용자 우려 사실 확인.
50
+
51
+ ### Added
52
+
53
+ - **`leerness drift check [path]`** 신규 명령:
54
+ - 4개 신호 측정: session-handoff.md, current-state.md, progress-tracker.md, task-log.md의 staleness
55
+ - 추가 신호: `_apps/*` 중 task 0건인 sub-project 수
56
+ - 가중치 합계 → 4단계 레벨 (🟢 healthy / 🟠 attention / 🟡 warning / 🔴 critical)
57
+ - 임계 0/20/50/100. 점수 ≥100 시 exit 1 (CI 친화)
58
+ - `--json` 출력 지원
59
+ - 권장 조치 자동 안내 (`session close` / `audit --fix` / `task add`)
60
+ - **`handoff` 자동 drift 경고** — handoff 호출 시 빠른 inline check (전체 `drift check` 안 호출). session-handoff/progress-tracker 중 하나라도 2일 이상 stale이면 노랑색 경고 + 권장 명령 안내.
61
+ - **스킵 옵션**: `--no-drift-check` 플래그 + `LEERNESS_NO_DRIFT_CHECK=1` 환경변수
62
+
63
+ ### 실측 (이번 라운드)
64
+ - 실 워크스페이스: drift 100/200 (critical) → `session close` 1회 후 30/200 (attention)
65
+ - e2e: 170/170 PASS (1.9.36 166 + 신규 4)
66
+
67
+ ### 정책
68
+ - ✅ drift 경고는 *알림만* — 자동 실행 금지 (사용자/메인이 명시적 선택)
69
+ - ✅ 빠른 inline check (handoff) vs 상세 보고 (`drift check`) 분리
70
+ - ✅ CI 친화: `--no-drift-check` 또는 env로 끄기 가능
71
+
3
72
  ## 1.9.36 — 2026-05-18
4
73
 
5
74
  **외부 AI CLI 오케스트레이션 강화: dispatch 안전 모드 + agents bench + 작업 유형 추천 + stress test에서 발견한 2 BUG 즉시 수정**.