衛星データの主張に、根拠を義務づける。
eo-claim-lintは、地球観測データから作られた主張を、根拠・不確実性・データの由来・表示の整合性という観点から自動検査するオープンソースツールです。
.github/workflows/eo.yml
permissions:
contents: read
steps:
- uses: actions/checkout@v4
- uses: a-hikata/eo-claim-lint@v0
with:
files: claims/*.json検証されない主張が、静かに積み上がっている。
衛星データから作られる数字や文章には、性質の異なる情報が混在します。
- Observation実測値
- Estimate推定値
- Interpretation解釈
- Modeled dataモデル由来のデータ
- Synthetic data合成データ
- Unknown origin由来不明のデータ
- 実測値と推定値が区別されないまま混ざる
- 数値の根拠が公開の過程で失われる
- 不確実性が説明されないまま断定的な表現になる
- 単位や表示が文書内で矛盾する
- 公開後に第三者が再検証できない
問題は「AIが誤ること」ではありません。問題は、公開された主張が検証できる形になっていないことです。
検査 → 指摘 → 修正。3ステップで完結する。
eo-claim-lintは、公開・マージの前に主張を検査し、問題箇所をGitHub上に直接表示します。
- 1
Check
Claim Document(主張を記述したJSON)を、根拠・不確実性・由来・表示整合性の観点で検査します。
- 2
Annotate
検出した問題を、該当するファイルと行にGitHubの annotation として表示します。
- 3
Fix
公開やマージの前に、指摘に沿って主張を修正します。修正されるまでチェックは失敗のままです。
実際の出力(eo-claim-lint v0.1.0 / 合成データ)
Pull request annotation
::error file=claims/harvest-index.json,title=EOC301::$.evidence: This claim references no evidence. Add at least one reference so that a reader can trace where the value came from.$ eo-claim-lint check bad.json
bad.json: EOC301 error $.evidence This claim references no evidence. Add at least one reference so that a reader can trace where the value came from.
1 file checked: 1 error, 0 warnings, 0 info| Rule | Severity | Hits (example) |
|---|---|---|
| EOC101 | warning | 0 |
| EOC102 | warning | 0 |
| EOC103 | warning | 0 |
| EOC201 | warning | 0 |
| EOC202 | warning | 0 |
| EOC203 | warning | 0 |
| EOC301 | error | 1 |
| EOC302 | warning | 0 |
| EOC401 | warning | 0 |
| EOC402 | warning | 0 |
10のルールで、主張の弱い箇所を検出する。
いずれも現在のv0.1.0で実際に動作する機能です。
Evidence check
主張が根拠を一つも参照していない場合を検出します(EOC301)。既定でerror重大度になる唯一のルールです。
Observation / estimate distinction
観測値・推定値・解釈が区別されずに扱われていないかを検査します(EOC101–EOC103)。
Uncertainty disclosure
不確実性が未申告のまま断定的な表現になっていないかを確認します(EOC203)。
Display consistency
表示ラベルが主張の種類と矛盾していないか、単位が記録値と一致しているかを検査します(EOC201, EOC202)。
Provenance disclosure
合成データや由来不明のデータが、表示上その旨を開示しているかを確認します(EOC401, EOC402)。
GitHub annotation
Pull Requestの該当ファイル・該当行に、指摘をGitHub annotationとして直接表示します。
Configurable severity
`fail-on` でどの重大度からチェックを失敗させるかを、`severity` でルールごとの重大度上書きを設定できます。
CLI support
`eo-claim-lint check` / `rules` / `schema` / `init` のコマンドで、CI外でもローカルに同じ検査を実行できます。
Claim Documentの内容は、OrbSeekr運営者のサーバーへ送信されません。
検査はGitHub-hostedランナー上、あなたのリポジトリの中だけで完結します。
検査に不要なもの
- API keyは不要です
- GITHUB_TOKENは不要です
- Repository secretsは不要です
- 外部のEOサービスへの接続は不要です
- ドキュメントを検査している最中の外部通信はありません
インストール時のみ発生する通信
- インストール時にのみ、actions/setup-pythonが指定バージョンのPythonを取得します。
- pipがAction自身のチェックアウトからパッケージをインストールする際、ビルドバックエンド(hatchling)とその依存をPyPIから取得する場合があります。
これは「完全にネットワークアクセスがない」という意味ではありません。ドキュメントの内容が外部へ送信されないことと、インストールに伴う通常のパッケージ取得トラフィックは別です。
公開された手順で運営する。
ブランドを主張する場所ではありません。GitHub上ではUIに溶け込み、構造の丁寧さで示します。
- License
- Apache License 2.0
- Repository
- Public
- Distribution
- GitHub Marketplace
- Version
- v0.1.0
- Tests
- 776 passed(1 skipped, v0.1.0)
- Runtime dependencies
- 0
- Vulnerability reporting
- Private (GitHub Security Advisories)
Governance documents
想定される利用場面。
いずれも導入実績ではなく、適用可能性としての例です。
Research
- 論文補足データ
- 研究レポート
- 公開データセット
- 再現可能性の担保
Company
- 地理空間AI
- 森林・農業
- ESG開示
- 保険
- 災害分析
Government
- 公共調達
- 政策資料
- 災害報告
- 説明責任
構想の段階であることを、最初に断ります。
現在提供しているのはeo-claim-lintのみです。以下は将来構想であり、現時点で利用可能な製品ではありません。
Current
- eo-claim-lint
- Static claim validation
- GitHub Action
- CLI
- 10 rules
eo-knowledge
主張と根拠のグラフ
eo-validator
観測データの再検証
eo-search
根拠となる観測の横断検索
eo-agent
検証手順の自動実行
eo-monitor
公開後の主張の継続監視
方向性。日付ではなくフェーズで示す。
Phase 1 — Published
- eo-claim-lint v0.1.0
- GitHub Marketplace
- CLI
- GitHub Action
Phase 2 — Validation
- External users
- False positive collection
- False negative collection
- Additional rules
- Documentation
Phase 3 — Expansion
- Claim graph
- Validation workflows
- Research collaboration
- Organization policy
Phase 4 — Platform
- Monitoring
- Search
- Agents
- Enterprise governance
よくある質問
OrbSeekrとは何ですか。
地球観測・衛星データから生まれる主張を、検証可能・追跡可能・再現可能にするためのオープンソースプロジェクトです。現在公開している最初のプロダクトがeo-claim-lintです。
eo-claim-lintとは何ですか。
Claim Document(主張を記述したJSON)を、根拠・観測と推定の区別・不確実性の開示・表示の整合性・データの由来という観点で検査するGitHub ActionおよびCLIです。
数字が正しいかを検証できますか。
いいえ。eo-claim-lintの合格は、数字の科学的正しさや法的有効性を保証しません。検査するのは、主張の隣に根拠・不確実性・由来が正しく記述され、表示と矛盾していないかという構造です。値そのものの真偽は判定しません。
衛星画像を解析しますか。
いいえ。eo-claim-lintは画像を解析しません。検査対象は、あなたが用意したClaim Document(JSON)というテキストの構造です。
データは外部へ送信されますか。
Claim Documentの内容は、OrbSeekr運営者のサーバーへ送信されません。検査はGitHub-hostedランナー上で完結します。ただしAction導入時にはactions/setup-pythonとPyPIへの通常のパッケージ取得通信が発生します。これは「完全にネットワークアクセスがない」という意味ではありません。詳細はArchitectureセクションをご覧ください。
無料で使えますか。
はい。Apache License 2.0で公開されているオープンソースソフトウェアです。
商用利用できますか。
はい。Apache License 2.0はライセンス条文に従う限り商用利用を制限しません。組織導入や共同研究のご相談はContactセクションからお問い合わせください。
GitHub以外でも使えますか。
現在の配布形態はGitHub ActionとPython CLIです。CLIはGitHub Actions以外のCI環境やローカル環境でも実行できますが、GitHub annotation出力はGitHub上での実行を前提としています。
どのようなJSONが必要ですか。
Claim Documentと呼ぶJSON構造です。`eo-claim-lint init`コマンドで、構造を確認できる合成データの雛形を生成できます。詳細はRepositoryのREADMEおよびスキーマ定義をご覧ください。
誤検知した場合はどうすればよいですか。
GitHub Issuesでご報告ください。false positive(誤検知)とfalse negative(見逃し)の報告は、このプロジェクトにとって最も価値のある情報として扱っています。
セキュリティ問題はどこへ報告すればよいですか。
公開のIssueには書かないでください。GitHubのPrivate vulnerability reporting(Security タブ → Report a vulnerability)からご報告ください。
共同研究や商用相談は可能ですか。
Contactセクションをご覧ください。
連絡先
Research / Commercial inquiry
共同研究・商用導入のご相談。
Research and commercial inquiries will be available soon.