-
Notifications
You must be signed in to change notification settings - Fork 1
Closed
Labels
Description
背景
- Verify Lite のローカル/CI 実行は統一済み(PR ci: emit verify-lite run summary and refresh docs (#1012) #1034/ci: share verify-lite run summary in CI #1035)が、JSON 形式や出力先が声明されておらず、破壊的変更に弱い。
- lint/mutation のエビデンスを段階的にブロッキングするため、ベースライン方式・ラベル制御・スナップショット等の仕組み化が必要。
- Issue ISSUE: TLA+ 全面活用構成の導入計画 #1011 Step3(トレース基盤)に向け、Verify Lite サマリを Projector/Validator と共有できる Envelope 設計が未整備。
現状
verify-lite-run-summary.json
を必ず吐き、Job Summary に表示するところまでは完了。- サマリ JSON は schema 無し・スナップショット無し・保存パスも固定されていない。
- lint は 2,600 件超、mutation score は 59% 程度。ベースラインなしのため差分管理が困難。
- OTLP 実データ連携や共有レポート設計は未着手。
ToDo / 受け入れ基準
1. Verify Lite JSON の堅牢化
-
schema/verify-lite-run-summary.schema.json
を作成し、"schemaVersion": "1.0.0"
など semver 準拠で JSON に埋め込む(破壊的変更時は major++ とする)。 -
scripts/ci/render-verify-lite-summary.mjs
を純関数化し、vitest でスナップショットテストを追加(スナップショットはtests/__snapshots__/render-verify-lite-summary.test.snap
に配置し、README の Test Layout に追記)。 - Ajv などでサマリ JSON をバリデートする CI ステップを追加(失敗時はジョブ Red)。
- README か docs にアーティファクト保存パス(例
artifacts/verify-lite/verify-lite-run-summary.json
)を明記。
2. 段階的ブロッキングの土台づくり
- ベースライン方式の lint 差分チェックを導入(既知違反リストとの差分で失敗)。
-
enforce-verify-lite-lint
ラベルで VERIFY_LITE_ENFORCE_LINT を切り替え、Job Summary に ENFORCED/WARN を表示。 - Mutation survivors Top10 を Issue Mutation: calculateChecksum / reviveEntryData の surviving mutant を削減 #1016 に貼り付け、テスト追加 PR(最低 1 本)を完了。
3. 共有レポート(Envelope)と Trace 連携の設計
-
docs/trace/REPORT_ENVELOPE.md
に Verify Lite/OTLP 共通の Envelope スキーマ案をまとめる。 - Projector/Validator の I/O スタブ(例:
ae verify:trace --input artifacts/...
)と契約テストを追加。 - Otel Collector + Tempo/Jaeger の docker-compose PoC(
make trace-poc
で起動可能)を追加し、runId/commit/branch
を span attributes に載せるガイドを作成。
リスクと対策
- JSON 破壊的変更 → スキーマ + スナップショット + semver 運用で吸収。
- lint/mutation が一気にゼロにできない → ベースラインとラベル制御で段階的に引き上げ。
- OTLP 設計未完 → Envelope 先行で合意し、最小 PoC を踏んでから認証/mTLS へ拡張。