leerness 1.9.87 → 1.9.88

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,27 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.9.88 — 2026-05-20
4
+
5
+ **`handoff`에 brainstorm 자동 hits 노출** (1.9.72 brainstorm 통합).
6
+
7
+ ### Added — handoff 자동 brainstorm hits
8
+ - handoff 자동 skill 추천 (1.9.67) + history hit (1.9.69) 블록 끝에 추가:
9
+ - **🧩 brainstorm 자동 hits (1.9.88)** — 현재 task 키워드로 자동 호출
10
+ - 미리보기 1줄씩: `💭 decisions` / `⚠ lessons` / `📜 task-log fail` / `📚 skill`
11
+ - 최대 4건 노출.
12
+ - 모든 데이터 없으면 출력 안 함 (잡음 방지).
13
+ - 끄기: `--no-brainstorm-hits` 또는 `LEERNESS_NO_BRAINSTORM_HITS=1`.
14
+
15
+ ### Use Case
16
+ - AI 에이전트가 세션 시작 시 같은 주제 과거 결정/실패/skill을 즉시 인지.
17
+ - "같은 키워드로 어떤 결정을 내렸지?" "어떤 실패가 있었지?" "어떤 skill 썼지?" 한 줄씩 자동 회수.
18
+
19
+ ### Verified
20
+ - stress-v34 — handoff brainstorm hits 노출 + --no-brainstorm-hits + 누적 회귀.
21
+ - e2e 219/219 PASS 유지.
22
+
23
+ ---
24
+
3
25
  ## 1.9.87 — 2026-05-20
4
26
 
5
27
  **`session-workflow.md` 템플릿에 1.9.69~86 누적 신규 기능 안내 추가** (init 가이드 정확성).
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  > **AI 코딩 에이전트의 거짓 완료·중복·망각·충돌을 막아주는 검수·기억·협업 CLI 하네스.**
4
4
 
5
- [![npm](https://img.shields.io/badge/npm-leerness-blue)](https://www.npmjs.com/package/leerness) [![version](https://img.shields.io/badge/version-1.9.87-green)]() [![tests](https://img.shields.io/badge/e2e-219%2F219-success)]() [![license](https://img.shields.io/badge/license-MIT-lightgrey)]()
5
+ [![npm](https://img.shields.io/badge/npm-leerness-blue)](https://www.npmjs.com/package/leerness) [![version](https://img.shields.io/badge/version-1.9.88-green)]() [![tests](https://img.shields.io/badge/e2e-219%2F219-success)]() [![license](https://img.shields.io/badge/license-MIT-lightgrey)]()
6
6
 
7
7
  ```
8
8
  ╔══════════════════════════════════════════════════════════════╗
@@ -12,7 +12,7 @@
12
12
  ║ ██║ ██╔══╝ ██╔══╝ ██╔══██╗██║╚██╗██║██╔══╝ ╚════██║ ║
13
13
  ║ ███████╗███████╗███████╗██║ ██║██║ ╚████║███████╗███████║ ║
14
14
  ║ ╚══════╝╚══════╝╚══════╝╚═╝ ╚═╝╚═╝ ╚═══╝╚══════╝╚══════╝ ║
15
- ║ v1.9.87 AI Agent Reliability Harness ║
15
+ ║ v1.9.88 AI Agent Reliability Harness ║
16
16
  ║ verify · remember · orchestrate · audit · prevent drift ║
17
17
  ╚══════════════════════════════════════════════════════════════╝
18
18
  ```
@@ -433,6 +433,7 @@ npm test # = node ./scripts/e2e.js
433
433
 
434
434
  ## 변경 이력 (최근)
435
435
 
436
+ - **1.9.88** — **`handoff`에 brainstorm 자동 hits 노출** — 현재 task 키워드로 자동 호출 → decisions / lessons / task-log fail / skill 미리보기 1줄씩 (1.9.72 brainstorm 통합).
436
437
  - **1.9.87** — **`session-workflow.md` 템플릿 갱신** — 1.9.69~86 누적 신규 기능 안내 추가 (handoff history hit / 보안 요약 / CRITICAL / 헤드라인 / health / drift --auto-fix 보안 / MCP 18 도구). init 가이드 정확성 보장.
437
438
  - **1.9.86** — **MCP server 18번째 도구 `leerness_health`** — 1.9.85 health 종합 헬스 체크를 외부 AI에 노출. drift + 보안 + skill + MCP + tasks 한 호출.
438
439
  - **1.9.85** — **`leerness health` 새 명령** — drift + 보안 + skill + MCP + 누적 통계 종합 헬스 체크. `--json` / `--strict` 옵션.
package/bin/harness.js CHANGED
@@ -6,7 +6,7 @@ const path = require('path');
6
6
  const cp = require('child_process');
7
7
  const readline = require('readline');
8
8
 
9
- const VERSION = '1.9.87';
9
+ const VERSION = '1.9.88';
10
10
  const MARK = '<!-- leerness:managed -->';
11
11
  const README_START = '<!-- leerness:project-readme:start -->';
12
12
  const README_END = '<!-- leerness:project-readme:end -->';
@@ -1997,6 +1997,31 @@ function handoff(root) {
1997
1997
  log('');
1998
1998
  }
1999
1999
  }
2000
+ // 1.9.88: brainstorm 자동 hits — 현재 task 키워드로 누적 컨텍스트 자동 회수
2001
+ // decisions / lessons / skillHistory / taskLogFails 각각 1건씩 미리보기
2002
+ // 끄기: --no-brainstorm-hits 또는 LEERNESS_NO_BRAINSTORM_HITS=1
2003
+ if (!has('--no-brainstorm-hits') && process.env.LEERNESS_NO_BRAINSTORM_HITS !== '1') {
2004
+ try {
2005
+ const r = cp.spawnSync(process.execPath, [__filename, 'brainstorm', keyword, '--path', root, '--json'],
2006
+ { encoding: 'utf8', timeout: 8000, env: { ...process.env, LEERNESS_NO_PROMPT: '1', LEERNESS_NO_DRIFT_CHECK: '1' } });
2007
+ const bj = JSON.parse(r.stdout);
2008
+ const hits = bj.hits || {};
2009
+ const items = [];
2010
+ if (hits.decisions?.length) items.push(`💭 decisions: ${hits.decisions[0].title}`);
2011
+ if (hits.lessons?.length) items.push(`⚠ lessons: ${hits.lessons[0].title}`);
2012
+ if (hits.taskLogFails?.length) items.push(`📜 task-log fail: ${hits.taskLogFails[0].title}`);
2013
+ if (hits.skills?.length) items.push(`📚 skill: ${hits.skills[0].id} (${hits.skills[0].displayNameKo || ''})`);
2014
+ if (items.length) {
2015
+ const isTty = process.stdout && process.stdout.isTTY;
2016
+ const mag = s => isTty ? `\x1b[35m${s}\x1b[0m` : s;
2017
+ const dim = s => isTty ? `\x1b[2m${s}\x1b[0m` : s;
2018
+ log(mag(`## 🧩 brainstorm 자동 hits (1.9.88) — 키워드 "${keyword}" 누적 컨텍스트`));
2019
+ for (const it of items.slice(0, 4)) log(dim(` ${it}`));
2020
+ log(dim(` → 전체: leerness brainstorm "${keyword}" --path .`));
2021
+ log('');
2022
+ }
2023
+ } catch {}
2024
+ }
2000
2025
  }
2001
2026
  } catch {}
2002
2027
  }
@@ -3408,7 +3433,7 @@ function _banner(opts = {}) {
3408
3433
  lines.push('');
3409
3434
  for (const ln of lines) log(ln);
3410
3435
  if (opts.quickStart) {
3411
- log(C.bold(C.cyan(' ✨ 빠른 시작 (1.9.87+ 워크플로)')));
3436
+ log(C.bold(C.cyan(' ✨ 빠른 시작 (1.9.88+ 워크플로)')));
3412
3437
  log(' ' + C.green('npx leerness@latest init .') + C.dim(' # 신규 프로젝트 + 외부 AI CLI 설정'));
3413
3438
  log(' ' + C.green('npx leerness handoff .') + C.dim(' # 컨텍스트 + lessons + 매칭 skill + 이전 history hit (1.9.69)'));
3414
3439
  log(' ' + C.green('npx leerness skill match "<query>"') + C.dim(' # 매칭 skill + rolling history 자동 누적 (1.9.68)'));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "leerness",
3
- "version": "1.9.87",
3
+ "version": "1.9.88",
4
4
  "description": "Leerness: 비파괴 마이그레이션, 자동 버전 감지·업데이트, 계획/진행/핸드오프 자동화, 게으름·시크릿·인코딩 자동 가드, Claude Code 슬래시 통합을 갖춘 한국어 우선 AI 개발 하네스.",
5
5
  "keywords": [
6
6
  "leerness",