leerness 1.9.226 β 1.9.228
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 +76 -0
- package/README.md +3 -3
- package/bin/harness.js +38 -2
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,81 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.9.228 β 2026-05-23
|
|
4
|
+
|
|
5
|
+
**π health --json roundHistory ν΅ν© (JSON 3 λͺ
λ Ή μΌκ΄μ±) + session-workflow.md drift μ°¨λ¨ + ν€λλΌμΈ label κ°±μ .**
|
|
6
|
+
|
|
7
|
+
### 1. health --json `roundHistory` νλ ν΅ν©
|
|
8
|
+
- handoff/session closeμ μ΄μ΄ healthλ ν΅ν© β **JSON 3 λͺ
λ Ή μΌκ΄μ±**
|
|
9
|
+
- `{ roundCount, baselineVersion, nextMilestone, roundsToNextMilestone, daysActive, avgRoundsPerDay }`
|
|
10
|
+
- μΈλΆ μλνκ° health λ¨μΌ νΈμΆλ‘ μ§νλκΉμ§ νμ
|
|
11
|
+
|
|
12
|
+
### 2. session-workflow.md drift μ°¨λ¨ κ°±μ (1.9.220~228)
|
|
13
|
+
- μ κ· μΉμ
4κ°:
|
|
14
|
+
- λΉμ μ μ’
λ£ μμ¨ μ¬κ° (1.9.220~222)
|
|
15
|
+
- μ¬μ©μ μμ² μλ μλ£ (1.9.223~225)
|
|
16
|
+
- λΌμ΄λ μ§νλ κ°μν (1.9.226~228)
|
|
17
|
+
- JSON ν΅ν© λ§€νΈλ¦μ€ (handoff/session close 6 νλ)
|
|
18
|
+
- λ§μ§λ§ μ
λ°μ΄νΈ 1.9.171 β 1.9.228 (57 λΌμ΄λ λμ μ 리)
|
|
19
|
+
|
|
20
|
+
### 3. handoff ν€λλΌμΈ label list κ°±μ
|
|
21
|
+
- κΈ°μ‘΄: `(1.9.81/93/113/152/162/192/197/204/207/209/215/220)` (12 λ²μ )
|
|
22
|
+
- μ κ·: `(1.9.81/93/113/152/162/192/197/204/207/209/215/220/223/226)` (**14 λ²μ **, +1.9.223 delivered-requests, +1.9.226 round-counter)
|
|
23
|
+
- AIκ° ν€λλΌμΈ μΆμ² μΆμ νκΈ° μ¬μ (λ©ν κ°μμ±)
|
|
24
|
+
|
|
25
|
+
### 4. λμ νκ· (1.9.207~227) β λͺ¨λ μ μ§
|
|
26
|
+
|
|
27
|
+
### 5. stress-v173 β 15/15 PASS
|
|
28
|
+
- 1.9.228 (5): VERSION + health roundHistory + 3 λͺ
λ Ή μΌκ΄μ± + ν€λλΌμΈ label + session-workflow.md
|
|
29
|
+
- μ±λ₯ (2): cold_start avg 414ms / health --json 1132ms
|
|
30
|
+
- λμ νκ· (8): 1.9.207~227
|
|
31
|
+
|
|
32
|
+
### 6. μλ release (90 λΌμ΄λ main-push streak Β· 51 λΌμ΄λ npm publish streak)
|
|
33
|
+
|
|
34
|
+
π **JSON μΌκ΄μ± λ§€νΈλ¦μ€ μμ±** (handoff/session close/health 3 λͺ
λ Ή β `roundHistory` νλ λμΌ νμ)
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## 1.9.227 β 2026-05-23
|
|
39
|
+
|
|
40
|
+
**π handoff/session close --json roundHistory ν΅ν© (6 νλ μμ±) + CLAUDE/AGENTS drift μ°¨λ¨.**
|
|
41
|
+
|
|
42
|
+
### 1. handoff --json 6λ²μ§Έ ν΅ν© νλ `roundHistory`
|
|
43
|
+
- `{ roundCount, baselineVersion, nextMilestone, roundsToNextMilestone, daysActive, avgRoundsPerDay }`
|
|
44
|
+
- μΈλΆ CI/λͺ¨λν°λ§μ΄ λΌμ΄λ μ§νλ + λ€μ λ§μΌμ€ν€ μ§μ νμ
|
|
45
|
+
- 1.9.218 (4 νλ) β 1.9.223 (5 νλ) β 1.9.227 (**6 νλ μμ±**)
|
|
46
|
+
|
|
47
|
+
### 2. session close --json 6λ²μ§Έ ν΅ν© νλ `roundHistory`
|
|
48
|
+
- λ§κ° μ μ§νλ ν΅κ³ λκΈ° λ
ΈμΆ
|
|
49
|
+
- handoff/session close JSON λμΌ ν¨ν΄ μ μ§
|
|
50
|
+
|
|
51
|
+
### 3. CLAUDE.md / AGENTS.md drift μ°¨λ¨ κ°±μ
|
|
52
|
+
- 1.9.222~227 6 λΌμ΄λ λμ ν΅ν© (μ΄μ κ°±μ : 1.9.214)
|
|
53
|
+
- μ κ· μΉμ
: "μ¬μ©μ μμ² μλ μλ£ μμ€ν
(1.9.223~225)" + "λΌμ΄λ μ§νλ κ°μν (1.9.226~227)"
|
|
54
|
+
- μ λ©ννμΌ (last update: 1.9.214 β 1.9.227, 6 λΌμ΄λ λμ )
|
|
55
|
+
|
|
56
|
+
### 4. 6 ν΅ν© νλ λ§€νΈλ¦μ€ μμ± (handoff/session close --json μΌκ΄μ±)
|
|
57
|
+
- userRequestsAudit (1.9.207/218)
|
|
58
|
+
- preWakeAudit (1.9.209/218)
|
|
59
|
+
- idempotencyAudit (1.9.212/218)
|
|
60
|
+
- abnormalShutdown (1.9.220/221)
|
|
61
|
+
- deliveredRequests (1.9.223)
|
|
62
|
+
- **roundHistory** (1.9.226/227) β
|
|
63
|
+
|
|
64
|
+
### 5. λμ νκ· (1.9.207~226) β λͺ¨λ μ μ§
|
|
65
|
+
|
|
66
|
+
### 6. stress-v172 β 17/17 PASS
|
|
67
|
+
- 1.9.227 (7): VERSION + handoff JSON + session close JSON + 6 νλ κ²μ¦ (handoff) + 6 νλ κ²μ¦ (session close) + CLAUDE λμ + AGENTS λμ
|
|
68
|
+
- μ±λ₯ (2): cold_start avg 400ms / handoff --json 641ms
|
|
69
|
+
- λμ νκ· (8): 1.9.207~226
|
|
70
|
+
|
|
71
|
+
### 7. μλ release (89 λΌμ΄λ main-push streak Β· 50 λΌμ΄λ npm publish streak π)
|
|
72
|
+
|
|
73
|
+
π **JSON ν΅ν© λ§€νΈλ¦μ€ μμ±** β μΈλΆ μλν/CI κ° leerness μν 6 μ°¨μ λκΈ° νμ
|
|
74
|
+
|
|
75
|
+
π **50 λΌμ΄λ npm publish streak λ¬μ±**
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
3
79
|
## 1.9.226 β 2026-05-23
|
|
4
80
|
|
|
5
81
|
**π round-history CLI + handoff ν€λλΌμΈ λΌμ΄λ μΉ΄μ΄ν° + MCP 62λ²μ§Έ λꡬ.**
|
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.228 AI Agent Reliability Harness + Sandbox β
|
|
16
16
|
β verify Β· remember Β· orchestrate Β· audit Β· sandbox Β· drift β
|
|
17
|
-
β
|
|
17
|
+
β π health --json roundHistory + 3 λͺ
λ Ή μΌκ΄μ± μμ± β
|
|
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.228';
|
|
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 μ²λ¦¬).
|
|
@@ -5903,6 +5903,18 @@ function handoff(root) {
|
|
|
5903
5903
|
ids: delivered.candidates.map(c => c.id)
|
|
5904
5904
|
};
|
|
5905
5905
|
} catch {}
|
|
5906
|
+
// 1.9.227: roundHistory ν΅ν© (handoff JSON 6λ²μ§Έ ν΅ν© νλ) β μμ¨ μ§νλ μΈλΆ νμ
|
|
5907
|
+
try {
|
|
5908
|
+
const rh = _computeRoundHistory(root);
|
|
5909
|
+
result.roundHistory = {
|
|
5910
|
+
roundCount: rh.roundCount,
|
|
5911
|
+
baselineVersion: rh.baselineVersion,
|
|
5912
|
+
nextMilestone: rh.nextMilestone,
|
|
5913
|
+
roundsToNextMilestone: rh.roundsToNextMilestone,
|
|
5914
|
+
daysActive: rh.daysActive,
|
|
5915
|
+
avgRoundsPerDay: rh.avgRoundsPerDay
|
|
5916
|
+
};
|
|
5917
|
+
} catch {}
|
|
5906
5918
|
} catch {}
|
|
5907
5919
|
try {
|
|
5908
5920
|
const pwState = _loadPreWakeReport(root);
|
|
@@ -6173,7 +6185,7 @@ function handoff(root) {
|
|
|
6173
6185
|
if (parts.length) {
|
|
6174
6186
|
const isTty = process.stdout && process.stdout.isTTY;
|
|
6175
6187
|
const cy = s => isTty ? `\x1b[36m${s}\x1b[0m` : s;
|
|
6176
|
-
log(cy(`π ν€λλΌμΈ (1.9.81/93/113/152/162/192/197/204/207/209/215/220): ${parts.join(' Β· ')}`));
|
|
6188
|
+
log(cy(`π ν€λλΌμΈ (1.9.81/93/113/152/162/192/197/204/207/209/215/220/223/226): ${parts.join(' Β· ')}`));
|
|
6177
6189
|
}
|
|
6178
6190
|
} catch {}
|
|
6179
6191
|
}
|
|
@@ -10028,6 +10040,18 @@ function sessionClose(root, opts = {}) {
|
|
|
10028
10040
|
autoCompleteAvailable: delivered.candidates.length > 0
|
|
10029
10041
|
};
|
|
10030
10042
|
} catch {}
|
|
10043
|
+
// 1.9.227: roundHistory ν΅ν© (session close JSON 6λ²μ§Έ ν΅ν© νλ)
|
|
10044
|
+
try {
|
|
10045
|
+
const rh = _computeRoundHistory(root);
|
|
10046
|
+
jsonResult.roundHistory = {
|
|
10047
|
+
roundCount: rh.roundCount,
|
|
10048
|
+
baselineVersion: rh.baselineVersion,
|
|
10049
|
+
nextMilestone: rh.nextMilestone,
|
|
10050
|
+
roundsToNextMilestone: rh.roundsToNextMilestone,
|
|
10051
|
+
daysActive: rh.daysActive,
|
|
10052
|
+
avgRoundsPerDay: rh.avgRoundsPerDay
|
|
10053
|
+
};
|
|
10054
|
+
} catch {}
|
|
10031
10055
|
} catch {}
|
|
10032
10056
|
try {
|
|
10033
10057
|
// 1.9.209: pre-wake-audit μλ μ€ν + μ μ₯ (sleep μ μλ μ κ²)
|
|
@@ -16342,6 +16366,18 @@ function healthCmd(root) {
|
|
|
16342
16366
|
summary: `F${fNodesHe.length}/E${edgeCount}${isolated > 0 ? `/iso${isolated}` : ''}`
|
|
16343
16367
|
};
|
|
16344
16368
|
} catch { out.featureGraph = { error: 'featureGraph μ κ² μ€ν¨' }; }
|
|
16369
|
+
// 1.9.228: health --json roundHistory ν΅ν© (handoff/session close μ λμΌ β JSON 3 λͺ
λ Ή μΌκ΄μ± + 6 ν΅ν© νλ μμ±)
|
|
16370
|
+
try {
|
|
16371
|
+
const rh = _computeRoundHistory(root);
|
|
16372
|
+
out.roundHistory = {
|
|
16373
|
+
roundCount: rh.roundCount,
|
|
16374
|
+
baselineVersion: rh.baselineVersion,
|
|
16375
|
+
nextMilestone: rh.nextMilestone,
|
|
16376
|
+
roundsToNextMilestone: rh.roundsToNextMilestone,
|
|
16377
|
+
daysActive: rh.daysActive,
|
|
16378
|
+
avgRoundsPerDay: rh.avgRoundsPerDay
|
|
16379
|
+
};
|
|
16380
|
+
} catch { out.roundHistory = { error: 'roundHistory μ κ² μ€ν¨' }; }
|
|
16345
16381
|
// 1.9.163: 5λ₯λ ₯ λ§€νΈλ¦μ€ μλ νκ° (1.9.155 sub-agent μ κ² β μ½λ κΈ°λ° μλν)
|
|
16346
16382
|
// κ° λ₯λ ₯μ μ½λ grep μΌλ‘ κ²μΆ β 0~100 μ μ. μ¬μ©μκ° λ§€ health νΈμΆ μ leerness μκΈ° νκ° νμΈ.
|
|
16347
16383
|
try {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "leerness",
|
|
3
|
-
"version": "1.9.
|
|
3
|
+
"version": "1.9.228",
|
|
4
4
|
"description": "Leerness: λΉνκ΄΄ λ§μ΄κ·Έλ μ΄μ
, μλ λ²μ κ°μ§Β·μ
λ°μ΄νΈ, κ³ν/μ§ν/νΈλμ€ν μλν, κ²μΌλ¦Β·μν¬λ¦ΏΒ·μΈμ½λ© μλ κ°λ, Claude Code μ¬λμ ν΅ν©μ κ°μΆ νκ΅μ΄ μ°μ AI κ°λ° νλ€μ€.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"leerness",
|