# テスト妥当性レビュー: daemon - 評価: 混在 ## 確認範囲 - `crates/daemon/Cargo.toml` - `crates/daemon/src/lib.rs` - `crates/daemon/README.md` - リポジトリ内の `daemon` 参照 - `cargo test -p daemon` `daemon` は現時点では意図的な placeholder crate です。`README.md` では、将来の long-lived Pod lifecycle management のために予約されており、現在の Pod socket serving、CLI/TUI startup、registry mechanics をまだ所有してはいけないと説明されています。`src/lib.rs` は空です。 ## 現在のテストがよくカバーしていること - `cargo test -p daemon` は成功します。 - crate が package target としてビルドできることは確認されています。 - unit test と doc test は正常に実行されますが、どちらも `0` tests です。 - 現在の空実装では、この crate 内で直接テストできる振る舞いはありません。 ## 不足・疑わしいテスト - テストは存在しないため、現在の test suite が証明しているのは placeholder crate がコンパイルできることだけです。 - `README.md` に書かれた placeholder boundary はテストで強制されていません。たとえば、具体的な設計なしに runtime lifecycle authority が誤ってここへ追加されることを防ぐ自動 guard はありません。 - `Cargo.toml` は `manifest`、`protocol`、`tokio` への依存を宣言していますが、crate にはそれらを使うコードがありません。テストからは、これらの依存が意図的な scaffolding なのか、古い placeholder baggage なのかは分かりません。 - 実装が存在しないため、テスト妥当性は「空 crate がコンパイルできる」以上にはほとんど評価できません。 ## 追加を提案するテスト - `daemon` に具体的な責務が生まれるまでは、behavioral test は追加しないでください。 - crate をしばらく placeholder のままにするなら、予期しない public API や非空の runtime 実装を検出する軽量な policy/lint-style check を crate 外に置くことは考えられます。ただし任意であり、過剰かもしれません。 - daemon 機能を導入するときは、実装詳細ではなく実際の invariant に対するテストを追加してください。 - long-lived Pod management の lifecycle state transition - persistence / recovery behavior - shutdown、cancellation、restart semantics - `daemon`、`pod`、`pod-registry`、`yoi`、`tui` の authority boundary - socket/path handling と failure case - 該当する場合は manifest/profile-derived configuration との interaction ## 実行したコマンド ```sh cd /home/hare/Projects/yoi && cargo test -p daemon ``` 結果: 成功。`daemon` をビルドし、`0` unit tests と `0` doc tests を実行しました。