leerness 1.36.182 → 1.36.184

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,13 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.36.184 — 2026-09-01
4
+
5
+ - T-0164: English-mode mode output now emits zero Hangul across stored, environment, and explicit locale paths, including pre-dispatch and stale-version diagnostics, while preserving Korean and locale-independent JSON contracts. Lock-time manifest rereads fail closed on corruption and normalize concurrent valid mode values before writing, with deterministic real-EEXIST regressions; the 39-command leakage ratchet tightens exactly from 30 to 27 lines.
6
+
7
+ ## 1.36.183 — 2026-08-31
8
+
9
+ - T-0163: English skill list now emits zero Hangul across stored, environment, and explicit locale paths while preserving Korean bytes and locale-independent JSON values. Adversarial external-skill metadata and injective ID rendering are covered, and the 39-command leakage ratchet tightens exactly from 34 to 30 lines.
10
+
3
11
  ## 1.36.182 — 2026-08-31
4
12
 
5
13
  - T-0162: English-mode milestones now contains zero Hangul across stored, environment, and explicit locale paths while preserving Korean and locale-independent JSON contracts. The 39-command aggregate leakage ratchet tightens exactly from 38 to 34 lines. External Codex review findings are covered by UTC-midnight-safe ETA comparison and real CLI coverage of the 500+ terminal branch.
package/LICENSE CHANGED
@@ -1,21 +1,21 @@
1
- MIT License
2
-
3
- Copyright (c) 2026 leerness contributors
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
1
+ MIT License
2
+
3
+ Copyright (c) 2026 leerness contributors
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -138,7 +138,7 @@ MIT
138
138
  <!-- leerness:project-readme:start -->
139
139
  ## Leerness Project Harness
140
140
 
141
- 이 프로젝트는 Leerness v1.36.182 하네스를 사용합니다. AI 에이전트는 작업 전 `leerness handoff`로 컨텍스트를 적재하고, 작업 후 `leerness check`/`leerness audit`/`leerness session close`를 수행해야 합니다.
141
+ 이 프로젝트는 Leerness v1.36.184 하네스를 사용합니다. AI 에이전트는 작업 전 `leerness handoff`로 컨텍스트를 적재하고, 작업 후 `leerness check`/`leerness audit`/`leerness session close`를 수행해야 합니다.
142
142
 
143
143
  ### 정체성 — AI 에이전트 운영 레이어 (UR-0030)
144
144
 
@@ -192,7 +192,7 @@ leerness memory restore decision <date|title>
192
192
 
193
193
  ### MCP server (외부 AI 통합)
194
194
 
195
- Leerness v1.36.182는 stdio JSON-RPC MCP server를 내장합니다 — Claude Code · Cursor · Codex CLI 등 외부 AI에 **89개 도구**를 노출:
195
+ Leerness v1.36.184는 stdio JSON-RPC MCP server를 내장합니다 — Claude Code · Cursor · Codex CLI 등 외부 AI에 **89개 도구**를 노출:
196
196
 
197
197
  ```jsonc
198
198
  // 카테고리별
@@ -213,7 +213,7 @@ Leerness v1.36.182는 stdio JSON-RPC MCP server를 내장합니다 — Claude Co
213
213
  `<<autonomous-loop-dynamic>>` 신호만 보내면 AI가:
214
214
  1) 다음 라운드 후보 선정 → 2) 코드 변경 → 3) 회귀 테스트 갱신 → 4) 전체 e2e 스위트 통과 → 5) npm publish + git tag → 6) main push → 7) session close → 8) 다음 라운드 예약.
215
215
 
216
- 현재 누적: **v1.9.x → 1.36.182 릴리스 태그 이력** (수백 라운드) · _reports/는 비공개 보존.
216
+ 현재 누적: **v1.9.x → 1.36.184 릴리스 태그 이력** (수백 라운드) · _reports/는 비공개 보존.
217
217
 
218
218
  ### 성능 가이드
219
219
 
@@ -251,5 +251,5 @@ leerness release pack --close --auto-main-push
251
251
  - `.leerness/session-handoff.md`: 다음 세션 인수인계 (자동 작성)
252
252
  - `.leerness/lessons.md` / `decisions.md` / `rules.md`: 영구 메모리 (5 surface)
253
253
 
254
- Last synced by Leerness v1.36.182: 2026-08-31
254
+ Last synced by Leerness v1.36.184: 2026-09-01
255
255
  <!-- leerness:project-readme:end -->
package/SECURITY.md CHANGED
@@ -1,66 +1,66 @@
1
- # Security & Transparency / 보안·투명성
2
-
3
- > `leerness capabilities` 로 언제든 아래 표면을 CLI 에서 확인할 수 있습니다 (`--json` 지원).
4
- > Run `leerness capabilities` anytime to view this surface from the CLI (`--json` supported).
5
-
6
- leerness 는 **권한이 큰 CLI 하네스**입니다 (child_process · git · 외부 AI CLI · 자동화 브리지 · hook 설치). 신뢰를 위해 **할 수 있는 전부와 각 항목의 끄는 법(opt-out)** 을 공개합니다.
7
-
8
- leerness is a **powerful CLI harness** (child_process, git, external AI CLIs, automation bridges, hook install). For trust, we disclose **everything it can do and how to opt out of each**.
9
-
10
- ## 설계 원칙 / Design principles
11
-
12
- - **런타임 의존성 0** — `npm audit` 취약점 0. / Zero runtime dependencies.
13
- - **postinstall 없음** — 설치만으로 코드가 실행되지 않음. / No postinstall scripts.
14
- - **변경 전 자동 백업** — 모든 메타파일 변경 전 `.leerness/archive/` 에 백업. / Auto-backup before any change.
15
- - **동의 없는 자동 호출 금지** — 사용자 동의 없이 외부 LLM/API/CLI 를 자동 호출하지 않음. / Never auto-calls external LLMs/APIs/CLIs without consent.
16
-
17
- ## 권한 표면 / Capability surface
18
-
19
- | 영역 / Area | 위험 / Risk | 설명 / What | opt-out |
20
- |---|---|---|---|
21
- | filesystem | 🟢 low | `.leerness/` 메타파일 생성·갱신, 변경 전 백업. 소스코드 직접 수정 안 함. | 핵심 동작 (백업으로 보호) |
22
- | network | 🟢 low | `update --check` 의 npm 최신 버전 비교만. 외부 URL 자동 fetch 안 함. | `LEERNESS_OFFLINE=1` |
23
- | childProcess | 🟡 medium | git(명시 명령 시), `npm test`(verify-code), 외부 CLI `--version` 감지. | verify 계열 한정 · 외부 CLI 는 opt-in |
24
- | externalAgents | 🟡 medium | `agents dispatch/multi` — 기본은 명령 텍스트만 생성, `multi --execute` 시 실제 spawn. | `LEERNESS_ENABLE_*` 미설정 시 비활성 (기본 off) |
25
- | automationBridges | 🔴 high | `web`(playwright)/`pc`(robotjs)/`lsp`(typescript) — opt-in 의존성. `pc` 는 마우스/키보드 제어. | 의존성 미설치 시 비활성 (기본 off) |
26
- | claudeHook | 🟢 low | `init` 시 `.claude/settings.local.json` 에 SessionStart hook(`update --check`) 설치. | `leerness init . --no-auto-update` |
27
-
28
- ## ⚠ 주의해서 쓸 명령 / Use with caution
29
-
30
- 회사·운영 코드에서는 아래 명령을 먼저 검토하세요. / Review these before using on company/production code.
31
-
32
- | 명령 / Command | 동작 / Action |
33
- |---|---|
34
- | `init` | `.leerness/` 50+ 파일 + `.claude` hook 생성 (변경 전 백업) |
35
- | `update --yes` | 자동 마이그레이션 — 메타파일 갱신 |
36
- | `agents multi --execute` | 외부 AI CLI 실제 spawn (병렬) |
37
- | `release publish` / `sync-main` | git push + npm publish + GitHub release |
38
- | `pc <click|type>` | 마우스/키보드 제어 (robotjs, full 권한) |
39
- | `web <...>` | 헤드리스 브라우저 자동화 (playwright) |
40
- | `setup-agents` | 외부 CLI 활성화 + 자동 설치 시도 |
41
-
42
- ## 권장 도입 방식 / Recommended adoption
43
-
44
- 전역 자동 적용보다, 먼저 한 프로젝트에서 확인 후 커밋하세요.
45
- Prefer per-project trial over global auto-adoption.
46
-
47
- ```bash
48
- npx leerness@latest init . --yes --language ko # 또는 --language en
49
- git diff && git status # 생성 파일 검토 후 커밋
50
- leerness capabilities # 권한 표면 확인
51
- ```
52
-
53
- ## 취약점 보고 / Reporting
54
-
55
- 보안 취약점은 **공개 이슈로 올리지 마세요** — 공개 이슈는 내용이 모두에게 노출됩니다.
56
- **Do NOT open a public issue for security vulnerabilities** — public issues are visible to everyone.
57
-
58
- 대신 아래 **비공개 채널** 중 하나로 알려주세요 / Use one of these **private** channels instead:
59
-
60
- 1. **GitHub Private Vulnerability Reporting** (권장 / preferred):
61
- https://github.com/gugu9999gu/leerness/security/advisories/new
62
- — GitHub 의 비공개 보안 권고 폼. 저장소 Security 탭 → "Report a vulnerability".
63
- 2. **보안 이메일 / Security email**: adstore3869@gmail.com (제목에 `[leerness security]` 표기 / prefix the subject with `[leerness security]`)
64
-
65
- 48 시간 내 접수 확인을 목표로 합니다. 수정 전까지 세부 내용은 공개하지 말아 주세요 (책임 있는 공개).
66
- We aim to acknowledge within 48 hours. Please keep details private until a fix ships (responsible disclosure).
1
+ # Security & Transparency / 보안·투명성
2
+
3
+ > `leerness capabilities` 로 언제든 아래 표면을 CLI 에서 확인할 수 있습니다 (`--json` 지원).
4
+ > Run `leerness capabilities` anytime to view this surface from the CLI (`--json` supported).
5
+
6
+ leerness 는 **권한이 큰 CLI 하네스**입니다 (child_process · git · 외부 AI CLI · 자동화 브리지 · hook 설치). 신뢰를 위해 **할 수 있는 전부와 각 항목의 끄는 법(opt-out)** 을 공개합니다.
7
+
8
+ leerness is a **powerful CLI harness** (child_process, git, external AI CLIs, automation bridges, hook install). For trust, we disclose **everything it can do and how to opt out of each**.
9
+
10
+ ## 설계 원칙 / Design principles
11
+
12
+ - **런타임 의존성 0** — `npm audit` 취약점 0. / Zero runtime dependencies.
13
+ - **postinstall 없음** — 설치만으로 코드가 실행되지 않음. / No postinstall scripts.
14
+ - **변경 전 자동 백업** — 모든 메타파일 변경 전 `.leerness/archive/` 에 백업. / Auto-backup before any change.
15
+ - **동의 없는 자동 호출 금지** — 사용자 동의 없이 외부 LLM/API/CLI 를 자동 호출하지 않음. / Never auto-calls external LLMs/APIs/CLIs without consent.
16
+
17
+ ## 권한 표면 / Capability surface
18
+
19
+ | 영역 / Area | 위험 / Risk | 설명 / What | opt-out |
20
+ |---|---|---|---|
21
+ | filesystem | 🟢 low | `.leerness/` 메타파일 생성·갱신, 변경 전 백업. 소스코드 직접 수정 안 함. | 핵심 동작 (백업으로 보호) |
22
+ | network | 🟢 low | `update --check` 의 npm 최신 버전 비교만. 외부 URL 자동 fetch 안 함. | `LEERNESS_OFFLINE=1` |
23
+ | childProcess | 🟡 medium | git(명시 명령 시), `npm test`(verify-code), 외부 CLI `--version` 감지. | verify 계열 한정 · 외부 CLI 는 opt-in |
24
+ | externalAgents | 🟡 medium | `agents dispatch/multi` — 기본은 명령 텍스트만 생성, `multi --execute` 시 실제 spawn. | `LEERNESS_ENABLE_*` 미설정 시 비활성 (기본 off) |
25
+ | automationBridges | 🔴 high | `web`(playwright)/`pc`(robotjs)/`lsp`(typescript) — opt-in 의존성. `pc` 는 마우스/키보드 제어. | 의존성 미설치 시 비활성 (기본 off) |
26
+ | claudeHook | 🟢 low | `init` 시 `.claude/settings.local.json` 에 SessionStart hook(`update --check`) 설치. | `leerness init . --no-auto-update` |
27
+
28
+ ## ⚠ 주의해서 쓸 명령 / Use with caution
29
+
30
+ 회사·운영 코드에서는 아래 명령을 먼저 검토하세요. / Review these before using on company/production code.
31
+
32
+ | 명령 / Command | 동작 / Action |
33
+ |---|---|
34
+ | `init` | `.leerness/` 50+ 파일 + `.claude` hook 생성 (변경 전 백업) |
35
+ | `update --yes` | 자동 마이그레이션 — 메타파일 갱신 |
36
+ | `agents multi --execute` | 외부 AI CLI 실제 spawn (병렬) |
37
+ | `release publish` / `sync-main` | git push + npm publish + GitHub release |
38
+ | `pc <click|type>` | 마우스/키보드 제어 (robotjs, full 권한) |
39
+ | `web <...>` | 헤드리스 브라우저 자동화 (playwright) |
40
+ | `setup-agents` | 외부 CLI 활성화 + 자동 설치 시도 |
41
+
42
+ ## 권장 도입 방식 / Recommended adoption
43
+
44
+ 전역 자동 적용보다, 먼저 한 프로젝트에서 확인 후 커밋하세요.
45
+ Prefer per-project trial over global auto-adoption.
46
+
47
+ ```bash
48
+ npx leerness@latest init . --yes --language ko # 또는 --language en
49
+ git diff && git status # 생성 파일 검토 후 커밋
50
+ leerness capabilities # 권한 표면 확인
51
+ ```
52
+
53
+ ## 취약점 보고 / Reporting
54
+
55
+ 보안 취약점은 **공개 이슈로 올리지 마세요** — 공개 이슈는 내용이 모두에게 노출됩니다.
56
+ **Do NOT open a public issue for security vulnerabilities** — public issues are visible to everyone.
57
+
58
+ 대신 아래 **비공개 채널** 중 하나로 알려주세요 / Use one of these **private** channels instead:
59
+
60
+ 1. **GitHub Private Vulnerability Reporting** (권장 / preferred):
61
+ https://github.com/gugu9999gu/leerness/security/advisories/new
62
+ — GitHub 의 비공개 보안 권고 폼. 저장소 Security 탭 → "Report a vulnerability".
63
+ 2. **보안 이메일 / Security email**: adstore3869@gmail.com (제목에 `[leerness security]` 표기 / prefix the subject with `[leerness security]`)
64
+
65
+ 48 시간 내 접수 확인을 목표로 합니다. 수정 전까지 세부 내용은 공개하지 말아 주세요 (책임 있는 공개).
66
+ We aim to acknowledge within 48 hours. Please keep details private until a fix ships (responsible disclosure).