Skip to content

Verify Lite/Trace パイプラインの堅牢化 (schema・ベースライン・共有レポート) #1036

@ootakazuhiko

Description

@ootakazuhiko

背景

現状

  • 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 へ拡張。

関連

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions