Run レポート格納ポリシー
概要
NexusCore は、各 Self-Healing / Orchestrator 実行ごとに Markdown 形式の Run レポートを生成し、docs/run_reports/ ディレクトリに保存します。
- ファイル名:
RUN_{run_id}.md - 生成タイミング: Celery タスク
nexuscore.run_orchestratorの完了時 - 生成元モジュール:
src/nexuscore/integration/run_report_generator.py
保持方針(MVP)
現時点の SaaS MVP では、以下の方針で運用します。
- デフォルトでは 全ての Run レポートを保存 する。
- ローカル開発環境では、必要に応じて手動で古いレポートを削除してもよい。
- 本番環境では、以下のいずれかの方針を運用で選択する:
- 直近 N 件(例: 100 件)だけ残し、それ以前は削除する
- 日次バッチで「30日より古いレポート」をアーカイブ(zip化して S3 等に退避)する
将来の自動クリーンアップ案
将来の拡張として、以下の自動クリーンアップ機能を検討しています。
1. 件数ベースのローテーション
docs/run_reports/内のファイル数が N 件を超えた場合、最も古いものから削除する。
2. 日付ベースのローテーション
finished_atが一定日数(例: 90 日)より古い Run に対応するレポートを削除またはアーカイブする。
3. ストレージ利用量ベース
- ディレクトリの合計サイズが閾値(例: 1 GB)を超えた場合に古いレポートから削除する。
注意事項
- Run レポートは「人間向けの説明資料」として位置づけており、DB の ExecutionLog やダッシュボードとは役割が異なります。
- Git リポジトリで扱う場合、レポート数が増えすぎると clone / pull のコストが増えるため、 本番環境では Git 管理外のディレクトリ(例:
var/run_reports/)に切り替えることも検討してください。