leerness 1.9.243 โ†’ 1.9.244

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,50 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.9.244 โ€” 2026-05-26 ๐ŸŽ‰ R200 + ๐Ÿšจ HOTFIX
4
+
5
+ **๐Ÿšจ HOTFIX: REPL agent ReferenceError `_lastCycleLines` (1.9.189 ํšŒ๊ท€ ๋ฒ„๊ทธ) + ๐ŸŽ‰ R200 ๋งˆ์ผ์Šคํ†ค ๋„๋‹ฌ.**
6
+
7
+ ### ๐Ÿšจ ์‚ฌ์šฉ์ž ๋ณด๊ณ  ๋ฒ„๊ทธ (์‹ค ํ™˜๊ฒฝ 1.9.243 npx ์„ค์น˜)
8
+
9
+ ```
10
+ agent[claude ยท sonnet-4-7/actor/โ–ถ]> ์›นํŽ˜์ด์ง€ ์ œ์ž‘ํ•ด์ค˜
11
+ .../leerness/bin/harness.js:16839
12
+ _lastCycleLines = 0; // 1.9.189: ์‚ฌ์šฉ์ž ์ž…๋ ฅ ์‹œ cycle overwrite ์ถ”์  reset
13
+ ^
14
+ ReferenceError: _lastCycleLines is not defined
15
+ at Interface.<anonymous> (.../harness.js:16839:23)
16
+ ```
17
+
18
+ **์›์ธ:** `let _lastCycleLines = 0;` ๋ณ€์ˆ˜๊ฐ€ `if (isTty) { try { ... } }` ๋ธ”๋ก ์Šค์ฝ”ํ”„ ๋‚ด๋ถ€์— ์„ ์–ธ๋˜์–ด ์žˆ์—ˆ์Œ (line 16418). `rl.on('line')` ํ•ธ๋“ค๋Ÿฌ๋Š” ์™ธ๋ถ€ ์Šค์ฝ”ํ”„ (line 16836+) ๋ผ์„œ ReferenceError.
19
+
20
+ **Fix (1.9.244):**
21
+ - `let _lastCycleLines = 0;` ๋ฅผ outer function ์Šค์ฝ”ํ”„ (line 16399) ๋กœ hoist
22
+ - ๋‘ ๊ณณ (cycleProvider/cycleModel + rl.on('line') ํ•ธ๋“ค๋Ÿฌ) ๋™์ผ closure ๊ณต์œ 
23
+ - ๊ฒ€์ฆ: stress-v189 A5 โ€” REPL agent ์ง„์ž… + stdin input โ†’ no ReferenceError ํ™•์ธ
24
+
25
+ ### ๐ŸŽ‰ R200 ๋งˆ์ผ์Šคํ†ค ๋„๋‹ฌ
26
+
27
+ - v1.9.6 baseline ~ v1.9.244 โ†’ **200 ๋ˆ„์  ๋ผ์šด๋“œ** (round-history JSON: `roundCount=200`)
28
+ - **106 main-push streak** (1.9.140~) ยท **๐ŸŽ‰ 67 npm publish streak** (1.9.178~)
29
+ - handoff/session close/health JSON **10 ํ•„๋“œ** ร— 3 = 30 ํ†ตํ•ฉ ํฌ์ธํŠธ
30
+ - MCP **69 ๋„๊ตฌ** ยท CLI **56 ๋ช…๋ น** ยท 9 ์นดํ…Œ๊ณ ๋ฆฌ
31
+ - 6 ๋Šฅ๋ ฅ ๋งคํŠธ๋ฆญ์Šค + 5์ถ• ๋งคํŠธ๋ฆญ์Šค 100/100
32
+
33
+ ### ๋ˆ„์  ํšŒ๊ท€ (1.9.207~243) โ€” ๋ชจ๋‘ ์œ ์ง€
34
+ - CJK ๋ถ„๋ฅ˜ (1.9.243) ยท env encoding --apply (1.9.242) ยท env summary (1.9.241) ยท py-check (1.9.239)
35
+ - ๋น„์ •์ƒ์ข…๋ฃŒ + delivered + release cleanup + round-history + milestones + recentChanges + ๋ชจ๋“  1.9.207~218 ์‚ฌ์šฉ์ž ๋ช…์‹œ ์‹ ๊ทœ 7์ข…
36
+
37
+ ### stress-v189 โ€” **20/20 PASS ยท 100%**
38
+ - 1.9.244 HOTFIX (6): VERSION + _lastCycleLines ๋‹จ์ผ ์„ ์–ธ + 15 refs + hotfix ์ฃผ์„ + agent input no-crash + agent --help no-crash
39
+ - R200 ๋งˆ์ผ์Šคํ†ค (1): roundCount=200 ํ™•์ธ
40
+ - ์„ฑ๋Šฅ (1): cold start avg 373ms
41
+ - ๋ˆ„์  ํšŒ๊ท€ (12): 1.9.170~243
42
+
43
+ ๐Ÿšจ **์‚ฌ์šฉ์ž ๋ณด๊ณ  ๋ฒ„๊ทธ ์ฆ‰์‹œ ํŒจ์น˜** โ€” ์‹ค ํ™˜๊ฒฝ 1.9.243 ์‚ฌ์šฉ ์ค‘ ๋ฐœ๊ฒฌ๋œ critical REPL ํฌ๋ž˜์‹œ ํšŒ๋ณต.
44
+ ๐ŸŽ‰ **R200 ์ž์œจ ๋ชจ๋“œ ๋งˆ์ผ์Šคํ†ค** โ€” 200 ๋ผ์šด๋“œ ๋™์•ˆ ๋‹จ ํ•œ ๋ฒˆ๋„ ์ž์œจ ํ๋ฆ„ ๋Š๊น€ ์—†์ด ์ง„ํ–‰.
45
+
46
+ ---
47
+
3
48
  ## 1.9.243 โ€” 2026-05-26
4
49
 
5
50
  **๐ŸŒ UR-0014 3๋‹จ๊ณ„: CJK ๋‹ค๊ตญ์–ด ๋ถ„๋ฅ˜ (ํ•œ๊ตญ์–ด/์ผ๋ณธ์–ด/์ค‘๊ตญ์–ด) + session close --auto-fix-encoding + handoff body --apply ์ง„์ž…์ .**
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.243-green)]() [![tests](https://img.shields.io/badge/e2e-217%2F217-success)]() [![stress](https://img.shields.io/badge/stress--v188-24%2F24-success)]() [![mcp](https://img.shields.io/badge/MCP--tools-69-brightgreen)]() [![cli](https://img.shields.io/badge/CLI_commands-56-brightgreen)]() [![json-fields](https://img.shields.io/badge/JSON_ํ†ตํ•ฉ-10_ํ•„๋“œ-blueviolet)]() [![rounds](https://img.shields.io/badge/autonomous--rounds-199-blueviolet)]() [![main-push](https://img.shields.io/badge/๐ŸŽ‰_main--push_streak-105_rounds-success)]() [![npm-streak](https://img.shields.io/badge/๐ŸŽ‰_npm--publish-66_streak-success)]() [![cjk](https://img.shields.io/badge/๐ŸŒ_CJK_๋ถ„๋ฅ˜-Ko_Ja_Zh-blueviolet)]() [![perf](https://img.shields.io/badge/cold_start-333ms-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.244-green)]() [![tests](https://img.shields.io/badge/e2e-217%2F217-success)]() [![stress](https://img.shields.io/badge/stress--v189-20%2F20-success)]() [![mcp](https://img.shields.io/badge/MCP--tools-69-brightgreen)]() [![cli](https://img.shields.io/badge/CLI_commands-56-brightgreen)]() [![json-fields](https://img.shields.io/badge/JSON_ํ†ตํ•ฉ-10_ํ•„๋“œ-blueviolet)]() [![rounds](https://img.shields.io/badge/๐ŸŽ‰_R200-๋งˆ์ผ์Šคํ†ค-success)]() [![main-push](https://img.shields.io/badge/๐ŸŽ‰_main--push_streak-106_rounds-success)]() [![npm-streak](https://img.shields.io/badge/๐ŸŽ‰_npm--publish-67_streak-success)]() [![hotfix](https://img.shields.io/badge/๐Ÿšจ_HOTFIX-REPL_ReferenceError-red)]() [![perf](https://img.shields.io/badge/cold_start-373ms-success)]() [![license](https://img.shields.io/badge/license-MIT-lightgrey)]()
6
6
 
7
7
  ```
8
8
  โ•”โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•—
@@ -12,9 +12,9 @@
12
12
  โ•‘ โ–ˆโ–ˆโ•‘ โ–ˆโ–ˆโ•”โ•โ•โ• โ–ˆโ–ˆโ•”โ•โ•โ• โ–ˆโ–ˆโ•”โ•โ•โ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•‘โ•šโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•”โ•โ•โ• โ•šโ•โ•โ•โ•โ–ˆโ–ˆโ•‘ โ•‘
13
13
  โ•‘ โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•‘ โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•‘ โ•šโ–ˆโ–ˆโ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•‘ โ•‘
14
14
  โ•‘ โ•šโ•โ•โ•โ•โ•โ•โ•โ•šโ•โ•โ•โ•โ•โ•โ•โ•šโ•โ•โ•โ•โ•โ•โ•โ•šโ•โ• โ•šโ•โ•โ•šโ•โ• โ•šโ•โ•โ•โ•โ•šโ•โ•โ•โ•โ•โ•โ•โ•šโ•โ•โ•โ•โ•โ•โ• โ•‘
15
- โ•‘ v1.9.243 AI Agent Reliability Harness + Sandbox โ•‘
15
+ โ•‘ v1.9.244 AI Agent Reliability Harness + Sandbox โ•‘
16
16
  โ•‘ verify ยท remember ยท orchestrate ยท audit ยท sandbox ยท drift โ•‘
17
- โ•‘ ๐ŸŒ CJK ๋ถ„๋ฅ˜ + session close --auto-fix-encoding (UR-0014 3) โ•‘
17
+ โ•‘ ๐Ÿšจ HOTFIX REPL ReferenceError + ๐ŸŽ‰ R200 ์ž์œจ ๋งˆ์ผ์Šคํ†ค โ•‘
18
18
  โ•šโ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•
19
19
  ```
20
20
 
package/bin/harness.js CHANGED
@@ -7,7 +7,7 @@ const cp = require('child_process');
7
7
  const os = require('os'); // 1.9.178: _publishToNpm ์—์„œ os.tmpdir() ์‚ฌ์šฉ (์ „์—ญ import)
8
8
  const readline = require('readline');
9
9
 
10
- const VERSION = '1.9.243';
10
+ const VERSION = '1.9.244';
11
11
 
12
12
  // 1.9.184: DEP0190 (child_process shell: true) deprecation warning ์–ต์ œ (์‚ฌ์šฉ์ž ๋ช…์‹œ).
13
13
  // leerness ๋Š” cross-platform PATH resolution ์„ ์œ„ํ•ด shell: true ๋ฅผ ์˜๋„์ ์œผ๋กœ ์‚ฌ์šฉ (claude.cmd / ollama.cmd ๋“ฑ Windows .cmd ์ฒ˜๋ฆฌ).
@@ -16393,6 +16393,11 @@ async function _agentRepl(root, opts) {
16393
16393
  };
16394
16394
  rl.setPrompt(prompt());
16395
16395
 
16396
+ // 1.9.244 HOTFIX: _lastCycleLines ๋ฅผ outer ์Šค์ฝ”ํ”„๋กœ hoist
16397
+ // 1.9.189 ํšŒ๊ท€ ๋ฒ„๊ทธ fix โ€” rl.on('line') ํ•ธ๋“ค๋Ÿฌ๊ฐ€ try ๋ธ”๋ก ์™ธ๋ถ€์—์„œ ์ ‘๊ทผ ์‹œ ReferenceError ๋ฐœ์ƒํ–ˆ์Œ.
16398
+ // ์‚ฌ์šฉ์ž ๋ณด๊ณ : REPL agent ์ง„์ž… ํ›„ ์ฑ„ํŒ… ์ž…๋ ฅ ์‹œ "_lastCycleLines is not defined" ํฌ๋ž˜์‹œ.
16399
+ let _lastCycleLines = 0; // ์ง์ „ cycle ์ถœ๋ ฅ ๋ผ์ธ ์ˆ˜ (overwrite ์šฉ) โ€” 1.9.189/244
16400
+
16396
16401
  // 1.9.170: Tab cycle โ€” provider (Tab) / model within provider (Shift+Tab)
16397
16402
  // ์‚ฌ์šฉ์ž ๋ช…์‹œ ์š”์ฒญ: "ํƒญ ํ‚ค ๋“ฑ์œผ๋กœ provider/๋ชจ๋ธ ์…€๋ ‰๊ณผ ์„ ํƒ์„ ๊ฐ„ํŽธํ•˜๊ฒŒ"
16398
16403
  // readline์˜ default tab=completion ๋™์ž‘์„ keypress ๋ฆฌ์Šค๋„ˆ๋กœ ๊ฐ€๋กœ์ฑ„์„œ cycle ์ˆ˜ํ–‰.
@@ -16415,7 +16420,7 @@ async function _agentRepl(root, opts) {
16415
16420
  // 1.9.180+1.9.189: cycleProvider/cycleModel โ€” ํ•œ ์ค„ ๊ฐฑ์‹  (in-place overwrite).
16416
16421
  // 1.9.180๊นŒ์ง€: ๋งค Tab ๋ˆ„๋ฆ„๋งˆ๋‹ค ์ƒˆ ์ค„ ์ถœ๋ ฅ โ†’ ์ฑ„ํŒ… ์ด๋ ฅ์œผ๋กœ ๋ˆ„์  (์‚ฌ์šฉ์ž ๋ช…์‹œ: "์ง€์ ธ๋ถ„ํ•ด๋ณด์—ฌ").
16417
16422
  // 1.9.189: ANSI cursor up + line clear ๋กœ ์ด์ „ cycle ๋ผ์ธ ๋ฎ์–ด์”€ โ†’ ๋งˆ์ง€๋ง‰ 1๊ฑด๋งŒ ํ‘œ์‹œ.
16418
- let _lastCycleLines = 0; // ์ง์ „ cycle ์ถœ๋ ฅ ๋ผ์ธ ์ˆ˜ (overwrite ์šฉ)
16423
+ // 1.9.244: _lastCycleLines ๋Š” outer ์Šค์ฝ”ํ”„ (์œ„)์—์„œ ์„ ์–ธ โ€” rl.on('line') ํ•ธ๋“ค๋Ÿฌ์™€ ๊ณต์œ .
16419
16424
  const _clearLastCycle = () => {
16420
16425
  if (!isTty || _lastCycleLines === 0) return;
16421
16426
  // ํ˜„์žฌ prompt ๋ผ์ธ + ์ด์ „ cycle ๋ผ์ธ๋“ค ํด๋ฆฌ์–ด
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "leerness",
3
- "version": "1.9.243",
3
+ "version": "1.9.244",
4
4
  "description": "Leerness: ๋น„ํŒŒ๊ดด ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜, ์ž๋™ ๋ฒ„์ „ ๊ฐ์ง€ยท์—…๋ฐ์ดํŠธ, ๊ณ„ํš/์ง„ํ–‰/ํ•ธ๋“œ์˜คํ”„ ์ž๋™ํ™”, ๊ฒŒ์œผ๋ฆ„ยท์‹œํฌ๋ฆฟยท์ธ์ฝ”๋”ฉ ์ž๋™ ๊ฐ€๋“œ, Claude Code ์Šฌ๋ž˜์‹œ ํ†ตํ•ฉ์„ ๊ฐ–์ถ˜ ํ•œ๊ตญ์–ด ์šฐ์„  AI ๊ฐœ๋ฐœ ํ•˜๋„ค์Šค.",
5
5
  "keywords": [
6
6
  "leerness",