chore(CLAUDE.md): add release / binary version bump rule
도그푸딩 / 실사용 binary 가 필요할 때 release 버전을 bump 하는 규약을 명시. 이전엔 first-release 시점만 ad-hoc 결정했지만 후속 cycle 에서 일관성 위해 트리거 / 절차 / pre-1.0 minor vs patch 기준 정리. 트리거: - 사용자가 새 바이너리로 도그푸딩 / 실사용을 명시. - breaking schema change (V00X migration / wire v1→v2) 머지 후. - frozen design contract 변경 머지 후. 절차: `gitea-release v<X.Y.Z>` + 도그푸딩-영향 surface 변경 중심 release notes. pre-1.0 minor = wire additive + surface 변경 누적, patch = bug fix only. bump 시점 = release 시점 같은 commit (tag 가 정확히 그 Cargo.toml version snapshot 가리키도록). v0.1.0 의 bump-없이-tag 패턴은 후속 release 의 대상 commit 혼동 위험. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
18
CLAUDE.md
18
CLAUDE.md
@@ -66,6 +66,24 @@ All `--json` output carries a `schema_version` field (`ingest_report.v1`, `searc
|
||||
|
||||
`parser_version` / `chunker_version` / `embedding_version` / `prompt_template_version` / `index_version` follow the cascade rule in design §9. Changing any of these invalidates downstream records (chunks, embeddings, eval runs, …). When changing a version: either ship a re-process job or treat it as a breaking schema bump. The eval runner snapshots all five into `eval_runs.config_snapshot_json`.
|
||||
|
||||
## Release / binary version bump
|
||||
|
||||
Workspace `Cargo.toml` 의 `version` 은 binary release 의 정체성. 다음 트리거 중 하나 발생 시 **bump + 새 release 컷**:
|
||||
|
||||
- 사용자가 새 바이너리로 **도그푸딩** 또는 **실사용** 을 할 필요가 있다고 명시.
|
||||
- breaking schema change (V00X migration / wire schema v1→v2 등) 가 머지된 후 — 이전 릴리즈 binary 가 새 DB 와 호환 안 됨.
|
||||
- frozen design contract 변경 (design §X 갱신) 이 머지된 후.
|
||||
|
||||
Bump 자체는 단순 minor / patch 한 줄 수정 (`Cargo.toml` workspace `version`) — 이미 모든 kebab-* crate 가 `version = { workspace = true }` 라 자동 cascade. 동시에 `Cargo.lock` 자동 갱신.
|
||||
|
||||
Release 절차:
|
||||
|
||||
1. `gitea-release v<X.Y.Z>` (gitea-ops skill) 으로 tag + push + release notes.
|
||||
2. release notes 는 사용자 도그푸딩에 영향 가는 surface 변경 위주 — wire schema 추가, CLI flag 신규, TUI 키 변경, V00X migration 등.
|
||||
3. 프리-1.0 (`0.x.y`) 단계: minor bump 시 wire schema additive / surface 변경 누적, patch bump 시 bug fix only.
|
||||
|
||||
**bump 시점 = release 시점 같은 commit**. 즉 commit `chore: bump version 0.x → 0.y` 직후 같은 commit 에 tag. v0.1.0 (`2319206`) 처럼 bump 없이 tag 만 찍는 패턴은 후속 release 가 대상 commit 을 햇갈리게 함 — pre-release snapshot 은 SHA reference 로 충분.
|
||||
|
||||
## Naming + paths
|
||||
|
||||
- Crate prefix: `kebab-` (kebab-case package, `kebab_` snake_case in Rust modules).
|
||||
|
||||
Reference in New Issue
Block a user