ライセンスヘッダー
DispatchAtlas のすべてのコメント可能ソースファイルは、単一行の
SPDX-License-Identifier: MIT ヘッダーを携えます; それ以外はすべて REUSE.toml の
注釈ブロックとプロジェクト LICENSE でカバーされます。このページは批准済みポリシーです;
ゲートが消費する機械投影は tools/license_header.toml で、tools/license_header.py が
それを強制します(check は pre-commit と CI でフェイルクローズし、inject は欠落
ヘッダーを正しい位置に冪等に追加します)。
インラインヘッダー形式
| ファイルクラス | ヘッダー行 | 位置 |
|---|---|---|
.py .toml .yml .yaml .sh .ps1 .cff .editorconfig .gitattributes .gitignore CODEOWNERS | # SPDX-License-Identifier: MIT | 最初の行; shebang がある場合はその後 |
.ts .tsx .mjs | // SPDX-License-Identifier: MIT | 最初の行 |
.js | // SPDX-License-Identifier: MIT(ブロック形式 /* SPDX-License-Identifier: MIT */ も受理) | 最初の行 |
.css | /* SPDX-License-Identifier: MIT */ | 最初の行 |
.md | <!-- SPDX-License-Identifier: MIT --> | 最初の行、または閉じ YAML frontmatter フェンス後の最初の非空行 |
.mdx | {/* SPDX-License-Identifier: MIT */} | 閉じ frontmatter フェンス後の最初の非空行(HTML コメントは MDX 本体で無効) |
.xml | <!-- SPDX-License-Identifier: MIT --> | 最初の行、または <?xml …?> 宣言の直後 |
一括カバーされるクラス
コメント不可、データ、アセット、lockfile、マーカークラスはインラインヘッダーを携えません;
REUSE.toml がそれらのライセンスと著作権を集中的に主張します:
.json .svg .csv .gz .whl .ttf .woff2 .pdf .png .ico
.log .hash .map .tsbuildinfo .txt .html .lock .typed と pagefind
インデックスクラス、加えてベースネーム LICENSE、CNAME、.nojekyll、py.typed、
.gitkeep。
生成出力ツリー
生成出力ツリー配下のすべてのファイルは機械発行エビデンスまたはビルド出力であり、拡張子に
関係なく一括カバーされます: site/out/ と各パッケージの dist/、加えて実験ワークスペース
のローカル層。ゲートはそこでインラインヘッダーを要求も注入もしません。
免除と範囲
LICENSES/ 配下のライセンステキストはライセンスそのものであり、ヘッダーを携えません。
依存とキャッシュツリー(.venv/、node_modules/、バイトコードとツールキャッシュ)は
ポリシーの外です: それらは DispatchAtlas のファイルではありません。この登録簿に存在しない
ファイルクラスはゲートにより未登録として報告されチェックに失敗します — 新しいクラスは
出荷前にここで批准されます。
ゲートの実行
uv run python tools/license_header.py check
uv run python tools/license_header.py injectcheck はすべてのツリー — 追跡、プライベート、生成 — を歩き、欠落または未登録の発見が
あれば非ゼロで終了します。inject はファイルのクラスの正典ヘッダーを正しい位置に書き込み、
2 回目の実行では何も変更しません。