Skip to content

release: v0.5.0 — cloud LLM 통합 + 데이터 품질 + 거대 함수 분해 + hang 차단#65

Merged
hang-in merged 1 commit into
mainfrom
release/v0.5.0
May 15, 2026
Merged

release: v0.5.0 — cloud LLM 통합 + 데이터 품질 + 거대 함수 분해 + hang 차단#65
hang-in merged 1 commit into
mainfrom
release/v0.5.0

Conversation

@hang-in
Copy link
Copy Markdown
Owner

@hang-in hang-in commented May 15, 2026

Summary

P49 ~ P55 누적 변경의 공식 release. v0.4.0 (2026-05-06) 이후 누적된 PR 들을 v0.5.0 으로 묶음.

상세한 변경 사항은 CHANGELOG.md 의 v0.5.0 섹션 참고.

Version bump

  • Cargo.toml workspace.package.version: 0.4.00.5.0
  • Cargo.lock 자동 갱신
  • secall + secall-core 0.5.0

⚠️ Breaking changes

  1. vault raw/sessions/raw/.sessions/ (feat(ingest): P49 — TMPDIR/secall-prompt 노이즈 차단 + 동일 role 연속 turn 헤더 강등 #57, P49) — obsidian 자동 hidden. 기존 vault 마이그레이션:
    mv raw/sessions raw/.sessions
    sqlite3 ~/Library/Caches/secall/index.sqlite "UPDATE sessions SET vault_path = REPLACE(vault_path, 'raw/sessions/', 'raw/.sessions/')"
    
  2. [graph] semantic_backend / [log] backend default cloud (feat(config): P51 — graph/log 디폴트 백엔드를 ollama_cloud 로 + wiki review 를 haiku #60, P51) — OLLAMA_CLOUD_API_KEY 없으면 config 명시 필요
  3. OllamaReviewer 시그니처 (feat(wiki): P55 — ollama_cloud wiki review backend 추가 #64, P55) — api_key: Option<String> 필드 추가

✨ Features

🐛 Fixes

검증 (실 환경 sync-monitor)

  • cloud graph rebuild: 1240 sessions / 100% success / 3469 edges (gemma4:31b-cloud)
  • cloud log diary: kimi-k2.6:cloud / 15s / 한국어 일기 정상
  • wiki claude CLI 5분 hang → P52 timeout 정확 300s 발동 + SIGKILL (사용자 보고 증상 차단 확인)
  • embed local Ollama: 1240 sessions / 26946 chunks / 136분 41초

docs/reference/sync-monitor-2026-05-15.md 의 상세 보고서 참고.

Test plan

  • cargo test 전체 0 failed
  • RUSTFLAGS=-Dwarnings cargo check 경고 0
  • cargo fmt --all -- --check OK
  • CI ubuntu/windows pass
  • 머지 후 git tag v0.5.0 + gh release create v0.5.0

Follow-up

  • README history table 의 v0.5.0 ~ v0.8.1 entries 가 web UI Phase 표기용으로 잘못 등재됨 — 별도 PR 에서 정리 권장
  • CHANGELOG v0.3.x / v0.4.x 누락 backfill (별도 PR)

🤖 Generated with Claude Code

P49 ~ P55 누적 변경 공식 release. 자세한 내역은 CHANGELOG.md 의 v0.5.0
섹션 참고.

## 핵심 변경

### Breaking
- vault: `raw/sessions/` → `raw/.sessions/` (P49, obsidian hidden)
- config default: graph/log backend → `ollama_cloud` (P51)
- OllamaReviewer 시그니처: `api_key: Option<String>` 추가 (P55)

### Features
- LlmBackend trait + 4 백엔드 통합 (P50-B)
- wiki/ingest 거대 함수 분해 (P50-C/D/E)
- 노이즈 ingest filter + render 헤더 강등 (P49)
- lint `--fix-orphan-vault` 옵션 (P54)
- ollama_cloud wiki review/generation backend (P55)

### Fixes
- wiki 4 backend generate() 300s timeout (P52)
- wiki `--since` 표시 정확화 (P53)

## 검증

- secall sync 전 phase cloud 호출 1240+1 = 100% 성공 (gemma4:31b-cloud / kimi-k2.6:cloud)
- embed 1240/26946 chunks 정상
- wiki hang → P52 timeout 300s 정확 발동 (사용자 보고 증상 차단 확인)
- cargo test 전체 0 failed, RUSTFLAGS=-Dwarnings cargo check 경고 0

## 변경 파일

- Cargo.toml workspace.package.version 0.4.0 → 0.5.0
- Cargo.lock 자동 갱신
- README.md / README.en.md: vault path `raw/sessions/` → `raw/.sessions/`
- CHANGELOG.md: v0.5.0 entry 추가 (Breaking / Features / Fixes / Refactor / 검증)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Copy link
Copy Markdown

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request bumps the version to v0.5.0 and introduces several significant updates, including a breaking change that renames the vault directory to raw/.sessions/ to prevent Obsidian indexing freezes. Other key changes include the integration of cloud LLM backends by default, refactoring of large functions in the ingest and wiki modules, and the addition of a 300-second timeout for LLM generation to prevent hangs. Feedback suggests enhancing the migration instructions in the CHANGELOG.md by providing specific database paths and the exact sqlite3 command required for the update.

Comment thread CHANGELOG.md

### ⚠️ Breaking changes

- **vault 디렉토리 rename**: `raw/sessions/` → `raw/.sessions/` (#57, P49). obsidian 의 core 인덱서 + dataview / graph 가 dot-prefix 디렉토리를 자동 hidden 처리 → vault freeze (1259+ 새 md 한번에 들어올 때) 회피. 기존 vault 사용자는 `mv raw/sessions raw/.sessions` + `UPDATE sessions SET vault_path = REPLACE(vault_path, 'raw/sessions/', 'raw/.sessions/')` 마이그레이션 필요.
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

마이그레이션 지침이 불충분하여 사용자가 혼란을 겪을 수 있습니다. PR 본문에 있는 것처럼 sqlite3 명령어와 데이터베이스 파일 경로를 포함하는 것이 좋습니다.

데이터베이스 경로는 OS마다 다를 수 있으므로, 이 점을 명시하고 macOS의 예시 경로(~/Library/Caches/secall/index.sqlite)를 함께 제공하는 것을 제안합니다.

Suggested change
- **vault 디렉토리 rename**: `raw/sessions/``raw/.sessions/` (#57, P49). obsidian 의 core 인덱서 + dataview / graph 가 dot-prefix 디렉토리를 자동 hidden 처리 → vault freeze (1259+ 새 md 한번에 들어올 때) 회피. 기존 vault 사용자는 `mv raw/sessions raw/.sessions` + `UPDATE sessions SET vault_path = REPLACE(vault_path, 'raw/sessions/', 'raw/.sessions/')` 마이그레이션 필요.
- **vault 디렉토리 rename**: `raw/sessions/``raw/.sessions/` (#57, P49). obsidian 의 core 인덱서 + dataview / graph 가 dot-prefix 디렉토리를 자동 hidden 처리 → vault freeze (1259+ 새 md 한번에 들어올 때) 회피. 기존 vault 사용자는 `mv raw/sessions raw/.sessions` 실행 후, 다음 명령어로 데이터베이스를 업데이트해야 합니다 (macOS 예시): `sqlite3 ~/Library/Caches/secall/index.sqlite "UPDATE sessions SET vault_path = REPLACE(vault_path, 'raw/sessions/', 'raw/.sessions/')"`

@hang-in hang-in merged commit 63ad1a0 into main May 15, 2026
3 checks passed
@hang-in hang-in deleted the release/v0.5.0 branch May 15, 2026 07:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant