7.2 KB · updated 2026-07-31 · md

doctor.ja.md

docs/i18n/doctor.ja.md

tesserae doctor — プロジェクトのヘルスチェック

<!-- translations:start -->

English · 한국어 · 中文 · 日本語 · Русский · Español · Français · Deutsch

<!-- translations:end --> tesserae doctor は Tesserae ワークスペースを端から端まで検査し — 初期化、 グラフの整合性、レジストリの一貫性、鮮度、ロック、LLM ログイン、ディスクの 衛生状態 — チェックリストを出力します。デフォルトでは読み取り専用です。--fix は再実行しても安全な修復のみを適用し、稼働中の状態を破壊することは決してありません。

tesserae doctor                 # check the current project
tesserae doctor --fix           # apply the safe repairs, then re-check
tesserae doctor --all --json    # every registered project, JSON report
tesserae doctor --project ~/src/other

チェック内容

カテゴリ別にグループ化された 20 のチェック:

チェックカテゴリ検証内容--fix の動作
project_initializedcore.tesserae/ が存在し、Tesserae ワークスペースの体裁であることレポートのみ(tesserae init を提案)
graph_parsecoregraph.json がパースでき、期待される形をしていることレポートのみ(tesserae compile を提案)
config_validcore.tesserae/config.json がパースでき、init テンプレートに対して妥当であることレポートのみ
vault_configuredcore設定された vault パスが解決できることSAFE: 解決された vault ディレクトリがプロジェクト内にある場合に作成
registry_consistentregistry~/.tesserae/registry.json のエントリが実在するプロジェクトルートを指していることSAFE: ルートが消滅したエントリを削除し、レガシーの active キーを除去。グラフの欠落はレポートのみ
graph_stalenessfreshness最後のコンパイルで記録された git_head 以降の git 差分レポートのみ(tesserae refresh を提案 — コンパイルは重い処理のため)
site_search_indexfreshness静的サイト / search-index.jsongraph.json より新しいことSAFE: サイトを再ビルド
backend_artifactsfreshnessRAG-Anything の成果物が最新であることレポートのみ(これらのリフレッシュは LLM / ネットワーク負荷が大きいため)
session_chunksfreshness日次セッションチャンクのカバレッジに直近ウィンドウの欠落がないことレポートのみ(tesserae sessions chunk-backfill を提案)
wiki_lintgraphグラフ ⇄ wiki のドリフト + 自明に修正可能な lint 検出項目SAFE: lint の自明な修正(fix_trivial)を適用
compile_lockprocesses稼働中のコンパイルロックが保持されているか、またどの pid によってかレポートのみ — doctor は稼働中のロックを決して kill も削除もしません
daemon_pidprocessesdaemon.pid が生きているエンジンプロセスを指していることSAFE: 所有プロセスが死んでいる場合に pidfile を削除
llm_loginenvironment設定された LLM バックエンドが実際に使用可能であること(claude/codex CLI にログイン済み、または API キーが存在)レポートのみ(claude /login / codex login を提案)
optional_depsenvironmentオプション依存関係(memex、raganything)の状態レポートのみ(インストールはネットワークを要するため)
embedding_backendenvironment実際のセマンティック埋め込みバックエンドが利用可能であることレポートのみ(pip install tesserae[semantic] を提案)
environmentenvironment環境検出の全体サマリレポートのみのセクション
build_historyhygiene.build-history のサイズと形状SAFE: トリムする。ただし最新の git_head エントリは常に保持(staleness チェックがそれに依存するため)
idempotencehygiene出力スナップショットの idempotence_suspect トリップワイヤレポートのみ(これはバグのシグナルであり、自動修復すべきものではないため)
orphan_worktreeshygiene古くなった git worktree の登録SAFE: git worktree prune。ディレクトリの削除はレポートのみ
hook_log_bloathygiene.tesserae/.session-*-hook.log の肥大化SAFE: 10 MB を超えるログをローテーション/切り詰め

クラッシュしたチェックはエラーの検出項目として報告されます — doctor 自体が例外を送出することはありません。

--fix ポリシー

  • --fix は上記で SAFE と記されたチェックのみを実行し、その後に再検出を行うため、 レポートは修復後の状態を反映します。
  • すべての修復は冪等です: doctor --fix を 2 回実行しても、2 回目の実行は クリーンなままです。
  • doctor はプロセスを決して kill せず、稼働中のコンパイルロックを決して削除しません — 保持されているロックは所有 pid とともに報告され、そのまま残されます。
  • 重い処理やネットワークを要する操作(再コンパイル、依存関係のインストール、バックエンドの リフレッシュ)が --fix に組み込まれることはありません。doctor は代わりに実行すべき コマンドを表示します。

終了コード

tesserae lint と同じ規約です:

終了コード意味
0健全 — OK を超える検出項目なし
1警告あり
2エラーあり

レポート成果物

毎回の実行で、両方の形式のレポートがワークスペースに書き込まれます:

.tesserae/doctor-report.md      # human checklist
.tesserae/doctor-report.json    # structured findings

--json を指定すると、markdown チェックリストの代わりに JSON レポートを stdout に 追加出力します。--all はレジストリ内のすべてのプロジェクトを走査し(--project は 無視)、プロジェクトごとに報告します。

MCP: doctor_report

MCP サーバーは同じレポートを doctor_report ツールとして公開しており (lint_report を踏襲し、返却コンテンツのバイト上限も含む)、エージェントは シェルに出ることなく会話の途中でワークスペースの健全性を確認できます。プロジェクト ルートが必要です — graph_path/project を渡すか、デフォルトグラフを設定してください。