背景 / 目的
READMEのフラグ記載が37個中約13個しかない等、ドキュメントとコードの乖離(doc drift)が既に起きている。今後リファレンス(docs/guide/)を整備しても、同期を保つ仕組みがなければ再び陳腐化する。**ドキュメントとコードの同期を機械検証するテスト(doc-drift guard)**を追加する。
前提: ユーザーガイド(docs/guide/)Issueの完了後に着手。
現状
- CLIフラグの正:
src/cli.rs のclap定義(37フラグ)。ヘルプ内容を検証する既存テストの前例あり(src/cli.rs:191,195-197 で --ux-demo --model-probe のhelp包含を確認)。
- スラッシュコマンドの正:
render_help(src/tui/slash.rs:408-429、15コマンド)とディスパッチ(:211-357)。
- 設定キーの正: preset10キーのパーサ(
src/config.rs:795-857)とトップレベルキー(:740-770)。
- ドキュメント側(docs/guide/en|ja)は先行Issueで新設される。
要求仕様(受け入れ基準)
新しい統合テスト(例: tests/doc_drift.rs)として実装する:
1. CLIフラグ同期
2. スラッシュコマンド同期
3. 設定キー同期
4. 対訳同期(軽量)
5. 運用
実装ガイド
- ドキュメントのパースは正規表現ベースの最小実装でよい。Markdownパーサの依存追加はしない。
- テストからの相対パスではなく
env!("CARGO_MANIFEST_DIR") 基準でdocsを読む。
- ガイド側の表規約(パース対象の書式)は本Issueで確定し、
docs/guide/README.md に「この書式はテストで検証される」と明記する。
テスト / 検証
スコープ外
- ドキュメント本文の執筆・修正(先行Issue)/ 翻訳品質の検証 / モデルID等、コード外の事実の検証
背景 / 目的
READMEのフラグ記載が37個中約13個しかない等、ドキュメントとコードの乖離(doc drift)が既に起きている。今後リファレンス(docs/guide/)を整備しても、同期を保つ仕組みがなければ再び陳腐化する。**ドキュメントとコードの同期を機械検証するテスト(doc-drift guard)**を追加する。
前提: ユーザーガイド(docs/guide/)Issueの完了後に着手。
現状
src/cli.rsのclap定義(37フラグ)。ヘルプ内容を検証する既存テストの前例あり(src/cli.rs:191,195-197で--ux-demo--model-probeのhelp包含を確認)。render_help(src/tui/slash.rs:408-429、15コマンド)とディスパッチ(:211-357)。src/config.rs:795-857)とトップレベルキー(:740-770)。要求仕様(受け入れ基準)
新しい統合テスト(例:
tests/doc_drift.rs)として実装する:1. CLIフラグ同期
Commandイントロスペクション(Cli::command().get_arguments())で全フラグ名を列挙し、docs/guide/en/cli-reference.mdに全フラグが出現することを検証する(方向は「コードにあるものがドキュメントに漏れなく載っている」。ドキュメント側の追加説明は自由)| \--flag`` 形式」など単純な規約を決めてガイド側もそれに従う2. スラッシュコマンド同期
render_helpの出力からコマンド名(/xxx)を抽出し、docs/guide/en/slash-commands.mdに全て出現することを検証(逆方向も同様)render_helpとディスパッチ(handle_command)の一致もこの機会にテスト化する(helpに載っているのに処理がない/その逆の検知)3. 設定キー同期
src/config.rs側に「サポートするキーの一覧」を返す関数(またはconst)を追加してそれを正とし、ドキュメント出現を検証する4. 対訳同期(軽量)
docs/guide/en/とdocs/guide/ja/のファイル集合が一致することを検証5. 運用
.github/workflows/ci.ymlのcargo test --all-targets)で自動実行される(統合テストとして置けば追加設定不要のはず。要確認)実装ガイド
env!("CARGO_MANIFEST_DIR")基準でdocsを読む。docs/guide/README.mdに「この書式はテストで検証される」と明記する。テスト / 検証
cargo test --quiet全通過スコープ外