[1.0 Review] リリース前設計レビュー — 親トラッキング(8件) #11

Closed
opened 2026-09-03 16:05:02 +09:00 by natsukium · 1 comment
Owner

概要

1.0 リリースに向けて、互換性を無視して破壊的変更可能な今のうちに、API / UI / その他(wire / config / docs / リリース契約)の設計を横断レビューした。個別の論点を以下の issue に分割して整理し、本 issue は親トラッキングとする。

レビュー観点

  • 互換性は無視 → 今しか変えられない「凍結」決定を洗い出す
  • 1.0 で凍結するものは reference/* に normative として明記し、explanation/* に rationale と Revisit trigger を残す
  • 追加は additive(#[serde(default)] / minor ledger)で読める契約を維持しつつ、キー名・名詞階層・wire 値自体は今しか変えられない

分割 issue 一覧

# タイトル 主な対象
#3 CLI 動詞・名詞階層と alias / exit code の凍結 reference/cli.md, reference/control-surfaces.md
#4 config.toml の単一文書オーバレイと探索パス・キー名の凍結 reference/config.md, felis-config.schema.json, explanation/architecture/control-surfaces.md
#5 IPC wire 凍結層(preface / frame / correlation / versioning)の最終確認 reference/ipc.md, reference/row-codec.md, felis.proto, explanation/architecture/ipc.md
#6 session id / env var / lifecycle 用語の凍結 reference/cli.md, reference/ipc.md, reference/terminal-identity.md, explanation/architecture/session-lifecycle.md
#7 rendering / window / font の config と platform 例外の凍結 reference/config.md, reference/shaders.md, explanation/rendering/*
#8 keymap / Action / chord grammar と pipe/capture/run 分離の凍結 reference/keybindings.md, reference/config.md, explanation/input.md
#9 リリース凍結物(crate version / spec REQ / docs / 成果物 / audit)の最終確認 reference/workspace.md, reference/spec.md, reference/security-audits.md, CHANGELOG.md, justfile
#10 daemon リソース上限の compiled-in 固定と daemon status 報告の凍結 reference/spec.md REQ-915/1008, reference/cli.md daemon status, explanation/architecture/control-surfaces.md

各 issue に「現状の問題」「問い(破壊的変更案)」「提案」「判定基準」を記載。横断的な決定は本 issue で集約する。

推奨進め方

  1. 各 issue で「凍結(現行維持)」か「1.0 で破壊的変更」かを決める。
  2. 破壊的変更を選んだものは reference/*explanation/* の twin を同時に更新し、just schema / just proto / just check を回す(implement-feature skill の手順)。
  3. 全 issue が closed したら docs/backlog.md の deferred 項目のうち 1.0 で Won't fix とするものを explanation/non-goals.md に昇格し、残りを 1.1 roadmap として backlog.md に残す。
  4. CHANGELOG.md の Unreleased → 1.0 に、凍結した契約(protocol major/minor, v:1 envelope, config キー集合, crate version 策)を明記して tag。

参考: レビューで使ったソース

  • docs/reference/{cli,config,control-surfaces,ipc,row-codec,keybindings,terminal-identity,spec,workspace,security-audits}.md
  • docs/explanation/{design,principles,non-goals,architecture/*,rendering/*,input,terminal-identity,testing}.md
  • crates/felis-protocol/proto/felis.proto / crates/felis-client-core/src/config.rs / crates/felis-client-core/felis-config.schema.json
  • crates/felis-cli/src/main.rs / justfile / flake.nix

cc @natsukium

## 概要 1.0 リリースに向けて、互換性を無視して破壊的変更可能な今のうちに、API / UI / その他(wire / config / docs / リリース契約)の設計を横断レビューした。個別の論点を以下の issue に分割して整理し、本 issue は親トラッキングとする。 ## レビュー観点 - 互換性は無視 → 今しか変えられない「凍結」決定を洗い出す - 1.0 で凍結するものは `reference/*` に normative として明記し、`explanation/*` に rationale と Revisit trigger を残す - 追加は additive(`#[serde(default)]` / minor ledger)で読める契約を維持しつつ、キー名・名詞階層・wire 値自体は今しか変えられない ## 分割 issue 一覧 | # | タイトル | 主な対象 | |---|---|---| | #3 | CLI 動詞・名詞階層と alias / exit code の凍結 | `reference/cli.md`, `reference/control-surfaces.md` | | #4 | config.toml の単一文書オーバレイと探索パス・キー名の凍結 | `reference/config.md`, `felis-config.schema.json`, `explanation/architecture/control-surfaces.md` | | #5 | IPC wire 凍結層(preface / frame / correlation / versioning)の最終確認 | `reference/ipc.md`, `reference/row-codec.md`, `felis.proto`, `explanation/architecture/ipc.md` | | #6 | session id / env var / lifecycle 用語の凍結 | `reference/cli.md`, `reference/ipc.md`, `reference/terminal-identity.md`, `explanation/architecture/session-lifecycle.md` | | #7 | rendering / window / font の config と platform 例外の凍結 | `reference/config.md`, `reference/shaders.md`, `explanation/rendering/*` | | #8 | keymap / Action / chord grammar と pipe/capture/run 分離の凍結 | `reference/keybindings.md`, `reference/config.md`, `explanation/input.md` | | #9 | リリース凍結物(crate version / spec REQ / docs / 成果物 / audit)の最終確認 | `reference/workspace.md`, `reference/spec.md`, `reference/security-audits.md`, `CHANGELOG.md`, `justfile` | | #10 | daemon リソース上限の compiled-in 固定と daemon status 報告の凍結 | `reference/spec.md` REQ-915/1008, `reference/cli.md` daemon status, `explanation/architecture/control-surfaces.md` | 各 issue に「現状の問題」「問い(破壊的変更案)」「提案」「判定基準」を記載。横断的な決定は本 issue で集約する。 ## 推奨進め方 1. 各 issue で「凍結(現行維持)」か「1.0 で破壊的変更」かを決める。 2. 破壊的変更を選んだものは `reference/*` と `explanation/*` の twin を同時に更新し、`just schema` / `just proto` / `just check` を回す(`implement-feature` skill の手順)。 3. 全 issue が closed したら `docs/backlog.md` の deferred 項目のうち 1.0 で Won't fix とするものを `explanation/non-goals.md` に昇格し、残りを 1.1 roadmap として `backlog.md` に残す。 4. `CHANGELOG.md` の Unreleased → 1.0 に、凍結した契約(protocol major/minor, `v:1` envelope, config キー集合, crate version 策)を明記して tag。 ## 参考: レビューで使ったソース - `docs/reference/{cli,config,control-surfaces,ipc,row-codec,keybindings,terminal-identity,spec,workspace,security-audits}.md` - `docs/explanation/{design,principles,non-goals,architecture/*,rendering/*,input,terminal-identity,testing}.md` - `crates/felis-protocol/proto/felis.proto` / `crates/felis-client-core/src/config.rs` / `crates/felis-client-core/felis-config.schema.json` - `crates/felis-cli/src/main.rs` / `justfile` / `flake.nix` cc @natsukium
Author
Owner

Superseded by #12. The new tracker targets the actual first tag (v0.1.0), records the decisions that remain fixed, and links implementation-sized P0/P1 work plus explicit post-release follow-ups.

Superseded by #12. The new tracker targets the actual first tag (`v0.1.0`), records the decisions that remain fixed, and links implementation-sized P0/P1 work plus explicit post-release follow-ups.
Sign in to join this conversation.
No description provided.