leerness 1.36.165 → 1.36.167

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.167 — 2026-08-26
4
+
5
+ - T-0145: 장기 운영 프로젝트의 레거시 완료 증거를 소급 수정하지 않고 명시적 tracker 경계 이전의 현재 실패만 exact 행+사유 SHA-256 지문으로 격리하는 claims baseline을 추가했습니다. verify-claim --all과 gate --claims는 원판정 실패·baseline 부채·현재 차단 및 진단 상세를 분리해 보고하고, --raw/개별 검증은 원판정을 유지합니다. 행 변경·신규 실패·경계 밖 항목·손상 baseline은 fail-closed하며, 생성 명령은 기존 baseline을 덮어쓰지 않아 변경 행의 재승인을 차단합니다. CLI·MCP·클린룸 프로브로 검증합니다.
6
+
7
+ ## 1.36.166 — 2026-08-26
8
+
9
+ - T-0144: unknown/foreign/malformed CLI 플래그를 migration과 쓰기 전에 exit 1로 거부하고 commands 카탈로그의 verify-code·contract verify 누락을 보완했습니다. 명령별 strict route와 값 누락·부울 equals·language 선택값 회귀 probe를 npm test에 추가했습니다.
10
+
3
11
  ## 1.36.165 — 2026-08-26
4
12
 
5
13
  - verify-code가 fresh basic 권한에서도 Python/Go/Rust 러너를 제한적으로 실행하고, 혼합 Node/Python 테스트와 npm placeholder를 올바르게 판별하며, 실패·차단된 최신 증거가 lazy/gate를 거짓 통과하지 않도록 수정 (T-0143)
package/README.md CHANGED
@@ -85,6 +85,16 @@ The generated workflow is production-grade: it **pins the leerness version** (re
85
85
 
86
86
  Then make that check **required** in GitHub branch protection. Now a PR that skips verification (or whose claims fail) **cannot merge** — the gate runs independently of the agent, returns a non-zero exit code, and blocks. That is the difference between a guideline and a guardrail. For exact per-claim enforcement, run `leerness gate --claims` — it adds a 6th check that runs `verify-claim` on **every** completed task and fails the gate if any "done" task's evidence doesn't match reality (the default 5-check gate already blocks false-done via heuristics; `--claims` makes it precise).
87
87
 
88
+ For a mature repository that predates strict claim verification, do not rewrite historical evidence merely to make the gate green. Create an explicit, reviewed debt boundary instead:
89
+
90
+ ```bash
91
+ leerness verify-claim baseline create --before T-0123 --yes
92
+ leerness verify-claim --all # applies exact-match legacy debt policy
93
+ leerness verify-claim --all --raw # ignores the baseline and audits raw verdicts
94
+ ```
95
+
96
+ The baseline stores no replacement evidence. It accepts only failures before the named tracker row whose **complete row and failure reasons still match their SHA-256 fingerprint**. A changed legacy row, a newly failing task, an entry at/after the boundary, or a corrupt baseline fails closed. `verify-claim <T-ID>` always remains raw for focused audits. Creation is one-shot: the CLI refuses to recalculate or overwrite an existing baseline, so a changed historical row cannot be relaundered by rerunning the command. The tracked `.leerness/claims-baseline.json` is repository policy, not a signature against a malicious repository writer: protect any removal or replacement with ordinary branch review and CODEOWNERS when the threat model requires that separation.
97
+
88
98
  For secrets, pair the gate with a **dedicated scanner** in the same workflow. `scan secrets` gives your agent the same signal locally; a dedicated scanner is the hard-guarantee layer:
89
99
 
90
100
  ```yaml
@@ -105,7 +115,7 @@ For secrets, pair the gate with a **dedicated scanner** in the same workflow. `s
105
115
 
106
116
  - **Memory** — `task` / `plan` / `decision` / `lesson` / `rule`: canonical JSON + markdown projections, archive/restore.
107
117
  - **Handoff** — `handoff` (session start context) · `session close` (closing report). Survives agent swaps.
108
- - **Verification** — `verify-claim` (evidence vs reality, stub/fake-test/inflated-count detection, `--run-tests --test-cmd` for any language; `--all` checks **every** completed claim at once for CI) · `contract verify` (spec ↔ impl) · `gate` (one-call CI gate).
118
+ - **Verification** — `verify-claim` (evidence vs reality, stub/fake-test/inflated-count detection, `--run-tests --test-cmd` for any language; `--all` checks every completed claim for CI; `baseline create --before <T-ID> --yes` isolates fingerprint-bound legacy debt; `--raw` audits the original verdicts) · `contract verify` (spec ↔ impl) · `gate` (one-call CI gate).
109
119
  - **Audit** — `audit` · `lazy detect` · `drift check` keep the workspace honest over time.
110
120
  - **Security** — `scan secrets` (committed-secret detection) · `encoding check` (BOM/CP949) — also runs at `session close`.
111
121
  - **Visualize** — `graph --html` writes a self-contained interactive ontology graph (`leerness.html`) of the whole harness (memory surfaces + skills + feature-graph) — click a node to read its content. Optional tracked auto-refresh: `LEERNESS_AUTO_GRAPH=1 leerness handoff . --writeback`.
@@ -128,7 +138,7 @@ MIT
128
138
  <!-- leerness:project-readme:start -->
129
139
  ## Leerness Project Harness
130
140
 
131
- 이 프로젝트는 Leerness v1.36.165 하네스를 사용합니다. AI 에이전트는 작업 전 `leerness handoff`로 컨텍스트를 적재하고, 작업 후 `leerness check`/`leerness audit`/`leerness session close`를 수행해야 합니다.
141
+ 이 프로젝트는 Leerness v1.36.167 하네스를 사용합니다. AI 에이전트는 작업 전 `leerness handoff`로 컨텍스트를 적재하고, 작업 후 `leerness check`/`leerness audit`/`leerness session close`를 수행해야 합니다.
132
142
 
133
143
  ### 정체성 — AI 에이전트 운영 레이어 (UR-0030)
134
144
 
@@ -182,7 +192,7 @@ leerness memory restore decision <date|title>
182
192
 
183
193
  ### MCP server (외부 AI 통합)
184
194
 
185
- Leerness v1.36.165는 stdio JSON-RPC MCP server를 내장합니다 — Claude Code · Cursor · Codex CLI 등 외부 AI에 **89개 도구**를 노출:
195
+ Leerness v1.36.167는 stdio JSON-RPC MCP server를 내장합니다 — Claude Code · Cursor · Codex CLI 등 외부 AI에 **89개 도구**를 노출:
186
196
 
187
197
  ```jsonc
188
198
  // 카테고리별
@@ -203,7 +213,7 @@ Leerness v1.36.165는 stdio JSON-RPC MCP server를 내장합니다 — Claude Co
203
213
  `<<autonomous-loop-dynamic>>` 신호만 보내면 AI가:
204
214
  1) 다음 라운드 후보 선정 → 2) 코드 변경 → 3) 회귀 테스트 갱신 → 4) 전체 e2e 스위트 통과 → 5) npm publish + git tag → 6) main push → 7) session close → 8) 다음 라운드 예약.
205
215
 
206
- 현재 누적: **v1.9.x → 1.36.165 릴리스 태그 이력** (수백 라운드) · _reports/는 비공개 보존.
216
+ 현재 누적: **v1.9.x → 1.36.167 릴리스 태그 이력** (수백 라운드) · _reports/는 비공개 보존.
207
217
 
208
218
  ### 성능 가이드
209
219
 
@@ -241,5 +251,5 @@ leerness release pack --close --auto-main-push
241
251
  - `.leerness/session-handoff.md`: 다음 세션 인수인계 (자동 작성)
242
252
  - `.leerness/lessons.md` / `decisions.md` / `rules.md`: 영구 메모리 (5 surface)
243
253
 
244
- Last synced by Leerness v1.36.165: 2026-08-26
254
+ Last synced by Leerness v1.36.167: 2026-08-26
245
255
  <!-- leerness:project-readme:end -->