Skip to content

Releases: gugu9999gu/leerness

v1.33.0 (Stable) — 15th리뷰 수정 + 정직성 calibration + A3 fencing

17 Jun 07:15

Choose a tag to compare

🛡️ [안정화/Stable] 1.33.0 — 15th리뷰 수정 + 정직성 calibration + A3 fencing

직전 minor(1.32.0) 이후 누적 패치 3건(1.32.1~1.32.3)을 검증·통합해 npm 공개. R-0011 24번째 stable minor.

이번 minor 의 핵심은 정직성 — 1.32.2 에서 calibrate 한 정직 README(self-administered 클린룸·성숙도 라벨)가 그동안 GitHub 에만 있었고 npm 엔 1.32.0 과장본이 남아 있었습니다. 1.33.0 이 정직한 게시본을 npm 에 올립니다 (false-"done" 을 막는 도구가 자기 자신에 대해서도 과장하지 않도록).

이번 minor 통합

  • 🔍 15th 외부/멀티에이전트 리뷰 수정 (1.32.1) — parent/constraints --json 에러 구조화(C2) + adopt 에러경로 비공백(A1) + --select 정합(A2). 사이트 verify-deploy.cjs C1(stale false-pass)/C3/C4/C5.
  • 🪞 정직성 calibration (1.32.2, 웹 Opus 4.8 외부리뷰·맹신X) — clean-room "independent" → "self-administered (not third-party human audits or peer review)" 인라인 + ko "객관 리뷰" 교정 + 성숙도 정직 라벨. 강제력/clean-room 자기보고는 이미 정직(미수정).
  • 🛡️ parent adopt 임베드 fencing (1.32.3, A3) — 부모 자산 verbatim 임베드를 동적 코드펜스로 격리(마커/## 헤더 spoofing 차단).

검증

  • selftest 257 · e2e 377/377 · 게시본 클린룸 재실증(번들 수정 + 정직 README).

opt-in 영어: --language en / LEERNESS_LANG=en. 기본 한국어.

v1.32.0 (Stable) — UR-0010 영어화 3종 안정 minor

16 Jun 14:08

Choose a tag to compare

🛡️ [안정화/Stable] 1.32.0 — UR-0010 영어화 3종 안정 minor

직전 minor(1.31.0) 이후 누적된 UR-0010 CLI 영어화 패치 3건(1.31.1~1.31.3)을 검증·통합해 npm 공개. R-0011 정책의 23번째 stable minor. 한국어 우선 기본은 그대로.

이번 minor 통합 (1.31.1~1.31.3)

  • install-safety 영어화 (1.31.1) — 셸-무관 가드(npx --yes/PowerShell/no npm_config prefix) 양 언어 보존
  • constraints 영어화 (1.31.2) — catalog detailEn(6 플랫폼) + suggestion + 한글-only alias 표시 숨김(매칭 무회귀)
  • capabilities + team reminder 영어화 (1.31.3) — CAPABILITY_SURFACE descEn/optOutEn + POWERFUL_COMMANDS noteEn(보안 disclosure) + _teamHandoffReminders lang(handoff 전체 배선)
  • 공통: 카탈로그 데이터까지 영어화(반쪽 영어 회피) · 순수 함수 optional lang(기본 ko, 기존 호출 무회귀) · ko verbatim 보존

검증 (회귀 0)

  • selftest 257 · e2e 375 · 게시본 클린룸 재실증(install-safety/constraints/capabilities/team en 4표면)

opt-in: --language en / LEERNESS_LANG=en / .harness/manifest.json language. 기본은 한국어.

v1.31.0 — Stable: 14th review 7/7 + sub-project (detect/adopt)

16 Jun 09:21

Choose a tag to compare

🛡️ leerness v1.31.0 — [Stable] 14th review 7/7 + sub-project (detect/adopt)

직전 minor(1.30.0) 이후 누적 패치 5건(1.30.1~1.30.5)을 검증·통합한 22번째 stable minor. 한국어 우선 기본, 영어는 --language en/LEERNESS_LANG=en/manifest opt-in.

이번 minor 통합 (1.30.1~1.30.5)

  • 🔒 보안 정직성 (1.30.1, 14th리뷰 F1+F2): audit/check 가 커밋된 시크릿을 failure 로 승격(scan secrets 와 일관, gitignored FP 0) · handoff 보안 요약이 .env 없어도 커밋 시크릿 노출(값 미출력).
  • 🔗 하위 프로젝트 부모 자산 탐지 (1.30.2, 사용자 명시 #157): leerness parent detect [--json] (read-only) + handoff 헤드라인 🔗 부모 프로젝트 (N 자산·미적용). 외부AI(codex)+Claude(Plan) 교차검토 → 방향 C "탐지+게이트".
  • 🔗 하위 프로젝트 부모 자산 적용 (1.30.3, #158): leerness parent adopt [--select] [--apply] — dry-run 기본 + --apply(사용자 결정) 시 자식-로컬 inherited-from-parent.md+PARENT_LINK.json 기록, 자식 design-system.md 무변경(비파괴).
  • 🧹 cli-ux 일관성 (1.30.4, F5+F6+F7): decision/lesson dedup · rule/lesson 빈입력 --json 구조화 · bogus subcommand 토큰 명시.
  • 🌐 i18n (1.30.5, F3+F4): --language en handoff 본문 4블록 + verify-claim/optimism-check 에러 영어화.
  • 🐛 인프라: VERSION === package.json selftest 가드 · e2e flake 하드닝.

🎉 14번째 외부 멀티모델 리뷰 7/7 완료

bounded 3-에이전트 리뷰 → 맹신 X 7/7 재현검증 → F1~F7 전부 수정·배포.

검증 (회귀 0)

  • selftest 257 · E2E 372 (신규 행위가드: 보안정직성/parent detect/adopt 비파괴/cli-ux/i18n).
  • npm 배포(R-0011 stable) + annotated tag(Stable) + 게시본 클린룸 재실증.

잔여 (UR-0010)

팀 reminder 본문 · capabilities/commands/constraints/install-safety · init en seed 템플릿.

v1.30.0 — Stable: handoff body i18n (4 blocks)

16 Jun 04:37

Choose a tag to compare

🛡️ leerness v1.30.0 — [Stable] handoff 본문 i18n 4종 안정 minor

직전 minor(1.29.0) 이후 누적된 패치 4건(1.29.1~1.29.4)을 검증·통합한 21번째 stable minor. 한국어 우선 기본은 그대로, 영어는 --language en/LEERNESS_LANG=en/manifest opt-in.

이번 minor 통합 (1.29.1~1.29.4) — handoff 본문 4블록 영어화

  • 🔒 보안 요약 섹션 (1.29.1): 영어 사용자가 커밋된 시크릿을 가질 때 노출되는 ## 🔒 보안 요약 / 🚨 CRITICAL / 자동회복 / 💡 자동 실행 옵션. + lib/ 전수 i18n-coupling 감사(1.28.1 hasSecurityFired 류 라벨-결합 버그 추가 탐색 → 0건).
  • 🖥 env-detect 블록 (1.29.2): 실행 환경 PATH 누락/변동 감지 + 상세 안내.
  • 🐚 shell-guard 블록 (1.29.3): 터미널 셸 가드 헤더 + 환경 버전 변동 재검토 + 최근 셸 실패 + 명령 실행 전 점검.
  • 🤖 CLI 에이전트 슬래시 블록 (1.29.4): 활성 에이전트 sub-agent 슬래시 명령 요약.

핵심 교훈 (defense-in-depth)

4블록 모두 headline t() 스코프 밖이라, 번역 헬퍼를 그대로 두면 ReferenceError가 블록 try/catch에 삼켜져 표면 전체가 (양 언어 모두) 사라진다. selftest 소스가드(문자열 존재)는 통과하지만 런타임 출력이 0 — 행위 검증 + e2e 가드로만 잡힌다. 각 블록에 로컬 t()/_uiLang(root)를 정의해 해결.

검증 (회귀 0)

  • selftest 250→254 (4블록 영어/한국어 보존 소스가드, split-literal로 self-reference 회피).
  • E2E 368/368 — i18n 행위가드 ⑧~⑪ 신규: 4 시나리오(보안요약/env-detect/shell-guard/agent-slash)를 실제 발동시켜 en 영어(블록 한글 0, Node 탐지) + ko 보존 검증.
  • npm 배포(R-0011 stable) + annotated tag(Stable) + 게시본 클린룸 재실증.

잔여 (UR-0010 백로그)

capabilities/commands/constraints/install-safety 영어화 · init en seed 템플릿 i18n · handoff 본문 잔여 표면 점진 영어화.

v1.29.0 (Stable) - drift auto-fix + diagnostics English

16 Jun 02:19

Choose a tag to compare

1.29.0 — Stable minor: drift auto-fix English (+bug fix) + diagnostics commands English

🛡️ Stable release. Bundles patches 1.28.1 + 1.28.2.

Highlights

  • drift --auto-fix English + bug fix (1.28.1) — the drift check --auto-fix progress logs now render in English. Also fixed a latent bug: in the previous release, translating the security-signal label broke the internal check that string-matched the Korean label, so under --language en the security auto-fix silently did not fire. It now matches the language-stable field. drift check is fully English (output + auto-fix).
  • Diagnostics commands English (1.28.2)doctor (install/environment), which (version conflicts / npx cache / PATH), and whats-new (CHANGELOG diff) render in English under --language en.
  • Korean-first preserved — English is opt-in (--language en / LEERNESS_LANG=en / English-initialized project). Korean output is unchanged byte-for-byte; internal callers are unaffected.

Verification (zero regression)

  • selftest 250/250 · E2E 368/368 (Korean-default path unchanged; i18n behavioral guard covers lens + health + drift + doctor en/ko) · post-publish clean-room re-verification.

Notes

  • 0 runtime deps · 0 install scripts · Node ≥ 18 · MIT.

v1.28.0 (Stable) - honesty + drift English

16 Jun 01:27

Choose a tag to compare

1.28.0 — Stable minor: honesty follow-ups + drift check English

🛡️ Stable release. Bundles patches 1.27.1 + 1.27.2.

Highlights

  • Honesty follow-ups (1.27.1)audit on an uninitialized path no longer reports design/reuse checks against a non-existent harness (it short-circuits to the summary); verify-claim --run-tests with a non-test --test-cmd that exits 0 but yields no parseable test summary now prints "✓ ran (exit 0) — test count unconfirmed" instead of "✓ all passed" (verdict/exit unchanged, so genuine exotic test runners are not rejected).
  • drift check English (1.27.2) — the default drift check output (path, status, signal table, security signals, recommended actions) renders in English under --language en. The --auto-fix progress logs are deferred to a later phase. Internal callers (handoff/health) keep Korean labels.
  • Korean-first preserved — English is opt-in (--language en / LEERNESS_LANG=en / English-initialized project). Korean output is unchanged byte-for-byte.

Verification (zero regression)

  • selftest 248/248 · E2E 368/368 (Korean-default path unchanged; i18n behavioral guard covers lens + health + drift en/ko) · post-publish clean-room re-verification.

Notes

  • 0 runtime deps · 0 install scripts · Node ≥ 18 · MIT.

v1.27.0 (Stable) - security fixes

15 Jun 12:58

Choose a tag to compare

1.27.0 — Stable minor (security): private-key scan FN + DB placeholder FP + retro --json

🛡️ Stable release. An early minor to ship the 1.26.1 security fixes (found in the 13th external clean-room review). A security FN/FP — a false "secure OK" over a committed private key, and a placeholder false-positive that breaks CI — warrants publishing now rather than waiting to accumulate patches.

Highlights

  • 🔒 Private-key file scan FN closedscan secrets skipped private-key/cert files (.pem/.key/.crt/.p8/.pfx…) via the extension allow-list, so a committed private key passed clean AND handoff falsely reported security OK. Fixed with a basename override so the private-key detector actually runs on those files. (Gitignored keys stay info-downgraded.)
  • 🔒 DB-URI placeholder FP closed — textbook placeholders in .env.example (user:password@, root:root, yourpassword) were flagged as committed secrets, breaking gate/CI. Fixed by checking only the password component + known placeholder markers. Real high-entropy DB passwords are still caught (no false negative).
  • 🔧 retro --json contractretro --days <non-numeric> --json previously leaked a plain-text error to a JSON consumer; now returns a structured error with a numeric guard.

Verification (zero regression)

  • selftest 246/246 · E2E 367/367 (behavioral regression guard: private-key caught, placeholder skipped, real password caught, retro JSON structured) · post-publish clean-room re-verification.

Notes

  • 0 runtime deps · 0 install scripts · Node ≥ 18 · MIT.

v1.26.0 (Stable) - i18n guard + health English

15 Jun 10:32

Choose a tag to compare

1.26.0 — Stable minor: i18n behavioral guard + health diagnostics English

🛡️ Stable release. Bundles patches 1.25.1 + 1.25.2.

Highlights

  • i18n layer hardening (1.25.1) — adversarially verified the whole 8-phase English layer: no runtime bugs (uiLang crash-safe, --language value never leaks as a positional, --language=en works, --json stays valid under en, flag > env > manifest). Added a behavioral e2e regression guard that closes the source-guard blind spot which let an earlier overstatement slip.
  • health diagnostics English (1.25.2)leerness health renders fully in English under --language en: section labels, the 6-capability matrix evidence, security issues, and summary.
  • Korean-first preserved — English is opt-in (--language en / LEERNESS_LANG=en / English-initialized project). Korean output is unchanged byte-for-byte.

Verification (zero regression)

  • selftest 245/245 · E2E 366/366 (Korean-default path unchanged; i18n behavioral guard covers lens + health en/ko) · post-publish clean-room re-verification.

Notes

  • 0 runtime deps · 0 install scripts · Node ≥ 18 · MIT.
  • Patches 1.25.1 / 1.25.2 are not separately on npm (accumulated here per the minor-only publish policy).

v1.25.0 (Stable) - honesty fix + lens English

15 Jun 07:52

Choose a tag to compare

1.25.0 — Stable minor: session-close body honesty fix + lens flagship English

🛡️ Stable release. Bundles patches 1.24.1 + 1.24.2.

Highlights

  • Honesty fix (1.24.1) — a self-scan (run every published English surface under --language en, detect Korean leakage) found the 1.23.0 "session close fully English" claim was overstated. Fixed the report-body leaks: empty placeholder - 없음- none, the progress one-line (done N/M · decisions N accumulated), and the roadmap auto-update log.
  • Lens flagship English (1.24.2) — the per-domain quality self-question lens (leerness lens) now renders in English under --language en: all 5 domains (code / design / docs / test / security) with English questions, personas, and cross-domain causality.
  • Korean-first preserved — English is opt-in (--language en / LEERNESS_LANG=en / English-initialized project). Korean text and lens questions are unchanged byte-for-byte.

Verification (zero regression)

  • selftest 244/244 · E2E 365/365 (Korean-default path unchanged) · en-leak scan: session-close body & lens have 0 Korean under en, Korean preserved · post-publish clean-room re-verification.

Notes

  • 0 runtime deps · 0 install scripts · Node ≥ 18 · MIT.
  • Patches 1.24.1 / 1.24.2 are not separately on npm (accumulated here per the minor-only publish policy).

v1.24.0 (Stable) - full help-surface English

15 Jun 06:26

Choose a tag to compare

1.24.0 — Stable minor: full help-surface English coverage

🛡️ Stable release. Bundles patches 1.23.1 (Phase 6) + 1.23.2 (Phase 7). English users can now read every help surface end to end: main help → command-group help → usage hints.

Highlights (UR-0010 CLI English)

  • Phase 6 — curated English main help under --language en, grouped into 8 categories (Setup · Diagnostics · Verification · Security · Handoff · Memory · Skills · Agents · Reuse · Release · More), free of legacy version-tag noise. status (path-not-found + healthyMeaning) and the subcommand_required error are English too.
  • Phase 7 — 5 group-help blocks (requests / constraints / wakeup-interval / idempotency / intent) and _GROUP_USAGE placeholders (<text> / <trigger> / <key> / <name>).
  • Korean-first preserved — English is opt-in via --language en / LEERNESS_LANG=en / an English-initialized project. The Korean help and usage maps are unchanged byte-for-byte.

Verification (zero regression)

  • selftest 242/242 · E2E 365/365 (Korean-default path unchanged) · post-publish clean-room re-verification.

Notes

  • 0 runtime deps · 0 install scripts · Node ≥ 18 · MIT.
  • Patches 1.23.1 / 1.23.2 are not separately on npm (accumulated here per the minor-only publish policy).