leerness 1.9.213 β 1.9.215
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 +64 -0
- package/README.md +3 -3
- package/bin/harness.js +37 -2
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,69 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.9.215 β 2026-05-22
|
|
4
|
+
|
|
5
|
+
**π― handoff ν€λλΌμΈμ constraints/intent μλ ν΅ν© + AGENTS.md 7 λΌμ΄λ λμ .**
|
|
6
|
+
|
|
7
|
+
> λ°±λ‘κ·Έ μμ§ ν μ΄μ κ°μΉ κ°ν β νμ¬ μ§ν μ€ taskμμ μλμΌλ‘ νλ«νΌ μ μ½ + μλ λΆλ₯ λ
ΈμΆ
|
|
8
|
+
|
|
9
|
+
### 1. handoff ν€λλΌμΈ 15λ²μ§Έ μμ (1.9.215)
|
|
10
|
+
- progress-tracker.md μ **첫 νμ± task** request μλ μΆμΆ
|
|
11
|
+
- **1.9.208 constraints ν΅ν©**: νλ«νΌ alias λ§€μΉ μ `π¦ N νλ«νΌ μ μ½` λ
ΈμΆ
|
|
12
|
+
- μ: "Stripe API κ²°μ λͺ¨λ" β `π¦ 1 νλ«νΌ μ μ½`
|
|
13
|
+
- **1.9.213 intent ν΅ν©**: μλ μλ λΆλ₯ μ `π― intent broad/<domain>` λλ `π― intent precise` λ
ΈμΆ
|
|
14
|
+
- μ: "κ²μ λ§λ€μ΄μ€ ... ν¬κ΄μ " β `π― intent broad/game`
|
|
15
|
+
- ν€λλΌμΈ λΌλ²¨: `1.9.81/93/113/152/162/192/197/204/207/209/215`
|
|
16
|
+
- done/dropped/blocked/completed taskλ 무μ (νμ±λ§ λΆμ)
|
|
17
|
+
|
|
18
|
+
### 2. AGENTS.md 7 λΌμ΄λ λμ κ°±μ (CLAUDE.md λ±κ°)
|
|
19
|
+
- `## μ¬μ©μ λͺ
μ μ κ· 7μ’
(1.9.207~213)` ν νμ (λ²μ / κΈ°λ₯ / CLI)
|
|
20
|
+
- `### handoff ν€λλΌμΈ μλ λ
ΈμΆ (1.9.215+)` μΉμ
|
|
21
|
+
- `### μλ λ³΄νΈ μμΉ (1.9.213)` λͺ
μ
|
|
22
|
+
|
|
23
|
+
### 3. λμ νκ· (1.9.207~214) β λͺ¨λ μ μ§
|
|
24
|
+
|
|
25
|
+
### 4. stress-v160 β 17/17 PASS
|
|
26
|
+
- 1.9.215 (6): VERSION + ν€λλΌμΈ μ½λ + AGENTS.md + 격리 κ²μ¦ 3μ’
|
|
27
|
+
- stripe task β π¦ μλ / broad+game task β π― μλ / done task 무μ
|
|
28
|
+
- μ±λ₯ (2) + λμ νκ· (9)
|
|
29
|
+
- μ±λ₯: --version cold start avg 677ms Β· MCP 54 λꡬ 453ms
|
|
30
|
+
|
|
31
|
+
### 5. μλ release (77 λΌμ΄λ main-push streak Β· 38 λΌμ΄λ npm publish streak)
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## 1.9.214 β 2026-05-22
|
|
36
|
+
|
|
37
|
+
**π μ΄μ μμ ν λΌμ΄λ β drift μ°¨λ¨ + AGENTS/CLAUDE 7 λΌμ΄λ λμ κ°±μ + μ’
ν© νκ·.**
|
|
38
|
+
|
|
39
|
+
> **λ°±λ‘κ·Έ μμ§ ν μ΄μ κ°ν** β 1.9.207~213 7 λΌμ΄λμ μ κ· κΈ°λ₯μ AI/λ¬Έμ μΈμ§λμ ν΅ν©, drift warning ν΄μ
|
|
40
|
+
|
|
41
|
+
### 1. CLAUDE.md 7 λΌμ΄λ λμ ν΅ν© (drift μ°¨λ¨)
|
|
42
|
+
- `## μ¬μ©μ λͺ
μ μ κ· 7μ’
(1.9.207~213)` μΉμ
μ μ€
|
|
43
|
+
- κ° λ²μ λ³ CLI + ν΅μ¬ κΈ°λ₯ μμ½ (3~5 λΌμΈ)
|
|
44
|
+
- AI μμ΄μ νΈκ° 1.9.207~213 μ κ· κΈ°λ₯μ μ¦μ μΈμ§
|
|
45
|
+
|
|
46
|
+
### 2. stress-v159 β **15/15 PASS** (1.9.207~213 7 λΌμ΄λ ν΅ν© νκ·)
|
|
47
|
+
- 1.9.214 μ΄μ (2)
|
|
48
|
+
- 1.9.207 requests λΌμ΄νμ¬μ΄ν΄ (1) β add/audit/list/complete/drop
|
|
49
|
+
- 1.9.208 constraints (2) β stripe/openai λ§€μΉ + review-request ν΅ν©
|
|
50
|
+
- 1.9.209 pre-wake-audit (1) β μ€ν + --last μ μ₯ κ²μ¦
|
|
51
|
+
- 1.9.210 wakeup-interval (1) β adaptive β override β auto ν κΈ
|
|
52
|
+
- 1.9.211 workspace-dir (1) β dry-run + migrate + auto-detect
|
|
53
|
+
- 1.9.212 idempotency (1) β rule/task dedup + audit clean
|
|
54
|
+
- 1.9.213 intent (2) β game νμ₯ + precise μλ 보νΈ
|
|
55
|
+
- μ±λ₯ (2) + handoff (1) + release (1)
|
|
56
|
+
|
|
57
|
+
### 3. λμ νκ· (1.9.200~213) β λͺ¨λ μ μ§
|
|
58
|
+
|
|
59
|
+
### 4. μλ release (76 λΌμ΄λ main-push streak Β· 37 λΌμ΄λ npm publish streak)
|
|
60
|
+
|
|
61
|
+
### 5. νΈλμ€ν (λ°±λ‘κ·Έ status)
|
|
62
|
+
- μ¬μ©μ λͺ
μ task λ°±λ‘κ·Έ **0건 pending** (#298, #302~307 λͺ¨λ completed)
|
|
63
|
+
- λ€μ λΌμ΄λ: μ μ¬μ©μ μμ² λκΈ° λλ λ§μΌμ€ν€ 1.9.220 ν보 μ€λΉ
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
3
67
|
## 1.9.213 β 2026-05-22
|
|
4
68
|
|
|
5
69
|
**π― intent inference + scope expansion κ²μ΄νΈ (μ¬μ©μ λͺ
μ) β λ§μ§λ§ pending task μμ±.**
|
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
> **AI μ½λ© μμ΄μ νΈμ κ±°μ§ μλ£Β·μ€λ³΅Β·λ§κ°Β·μΆ©λμ λ§μμ£Όλ κ²μΒ·κΈ°μ΅Β·νμ
CLI νλ€μ€.**
|
|
4
4
|
|
|
5
|
-
[](https://www.npmjs.com/package/leerness) [](https://www.npmjs.com/package/leerness) []() []() []() []() []() []() [-brightgreen)]() []() []() []() []() []()
|
|
6
6
|
|
|
7
7
|
```
|
|
8
8
|
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
|
@@ -12,9 +12,9 @@
|
|
|
12
12
|
β βββ ββββββ ββββββ ββββββββββββββββββββββββ ββββββββ β
|
|
13
13
|
β βββββββββββββββββββββββββββ ββββββ ββββββββββββββββββββββ β
|
|
14
14
|
β βββββββββββββββββββββββββββ ββββββ βββββββββββββββββββββ β
|
|
15
|
-
β v1.9.
|
|
15
|
+
β v1.9.215 AI Agent Reliability Harness + Sandbox β
|
|
16
16
|
β verify Β· remember Β· orchestrate Β· audit Β· sandbox Β· drift β
|
|
17
|
-
β π―
|
|
17
|
+
β π― handoff ν€λλΌμΈ constraints/intent μλ ν΅ν© (15μμ) β
|
|
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.
|
|
10
|
+
const VERSION = '1.9.215';
|
|
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 μ²λ¦¬).
|
|
@@ -5658,10 +5658,45 @@ function handoff(root) {
|
|
|
5658
5658
|
}
|
|
5659
5659
|
}
|
|
5660
5660
|
} catch {}
|
|
5661
|
+
// 15) 1.9.215: νμ¬ νμ± taskμμ constraints/intent μλ λΆμ (1.9.208/213 ν΅ν©)
|
|
5662
|
+
try {
|
|
5663
|
+
// progress-tracker.md μ 첫 active task request μΆμΆ
|
|
5664
|
+
const ptPath = path.join(root, '.harness', 'progress-tracker.md');
|
|
5665
|
+
if (exists(ptPath)) {
|
|
5666
|
+
const content = read(ptPath);
|
|
5667
|
+
for (const line of content.split(/\r?\n/)) {
|
|
5668
|
+
if (!/^\|\s*T-\d{4,}\s*\|/.test(line)) continue;
|
|
5669
|
+
const cells = line.split('|').slice(1, -1).map(s => s.trim());
|
|
5670
|
+
if (cells.length < 3) continue;
|
|
5671
|
+
const status = (cells[1] || '').toLowerCase();
|
|
5672
|
+
const req = cells[2];
|
|
5673
|
+
if (!/^(done|dropped|blocked|completed)$/i.test(status) && req.length >= 5) {
|
|
5674
|
+
// 1.9.208 constraints λ§€μΉ
|
|
5675
|
+
try {
|
|
5676
|
+
const cc = _checkRequestConstraints(root, req);
|
|
5677
|
+
if (cc.matched && cc.matched.length > 0) {
|
|
5678
|
+
parts.push(`π¦ ${cc.matched.length} νλ«νΌ μ μ½`);
|
|
5679
|
+
}
|
|
5680
|
+
} catch {}
|
|
5681
|
+
// 1.9.213 intent classify
|
|
5682
|
+
try {
|
|
5683
|
+
const cls = _classifyIntent(req);
|
|
5684
|
+
if (cls.intent === 'broad') {
|
|
5685
|
+
const det = _detectDomain(req, root);
|
|
5686
|
+
if (det.domain) parts.push(`π― intent broad/${det.domain}`);
|
|
5687
|
+
} else if (cls.intent === 'precise') {
|
|
5688
|
+
parts.push(`π― intent precise`);
|
|
5689
|
+
}
|
|
5690
|
+
} catch {}
|
|
5691
|
+
break; // 첫 activeλ§ λΆμ
|
|
5692
|
+
}
|
|
5693
|
+
}
|
|
5694
|
+
}
|
|
5695
|
+
} catch {}
|
|
5661
5696
|
if (parts.length) {
|
|
5662
5697
|
const isTty = process.stdout && process.stdout.isTTY;
|
|
5663
5698
|
const cy = s => isTty ? `\x1b[36m${s}\x1b[0m` : s;
|
|
5664
|
-
log(cy(`π ν€λλΌμΈ (1.9.81/93/113/152/162/192/197/204/207/209): ${parts.join(' Β· ')}`));
|
|
5699
|
+
log(cy(`π ν€λλΌμΈ (1.9.81/93/113/152/162/192/197/204/207/209/215): ${parts.join(' Β· ')}`));
|
|
5665
5700
|
}
|
|
5666
5701
|
} catch {}
|
|
5667
5702
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "leerness",
|
|
3
|
-
"version": "1.9.
|
|
3
|
+
"version": "1.9.215",
|
|
4
4
|
"description": "Leerness: λΉνκ΄΄ λ§μ΄κ·Έλ μ΄μ
, μλ λ²μ κ°μ§Β·μ
λ°μ΄νΈ, κ³ν/μ§ν/νΈλμ€ν μλν, κ²μΌλ¦Β·μν¬λ¦ΏΒ·μΈμ½λ© μλ κ°λ, Claude Code μ¬λμ ν΅ν©μ κ°μΆ νκ΅μ΄ μ°μ AI κ°λ° νλ€μ€.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"leerness",
|