REF-004 ゾーン依存
ゾーン(zonesDir 配下のサブディレクトリ)をまたぐ Markdown リンクが、リンク元ゾーンの overview.md の依存セクションで明示的に宣言されていることを検証します。宣言されていないクロスゾーン参照は error で報告されます。
ドキュメントを auth/ payment/ notification/ のようなゾーン(責務単位のディレクトリ)に分けて管理すると、ゾーン間の依存関係が暗黙のリンクとして増えていきます。本来は「auth は payment には依存しない」という設計意図があっても、リンクは自由に書けるためいつの間にか増えていきます。このルールは「ゾーン間の依存は overview.md の依存セクションに必ず宣言する」というルールを強制し、設計意図とドキュメント構造を一致させます。
| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
zonesDir | string | ✓ | ゾーンが配置されているディレクトリのパス |
dependencySection | string | — | 依存を宣言するセクションの見出し(既定値: Dependencies) |
zonesDir 直下の各サブディレクトリが 1 つのゾーンとして扱われます。各ゾーンには overview.md が存在し、そこに dependencySection で指定した見出しがあること、その配下のテーブルに依存先のゾーン名が並んでいることを期待します。
docs/zones/auth/overview.md:# Auth zone
## Dependencies
| Zone || ---- |
docs/zones/auth/login.md:詳細は [課金ロジック](../payment/charge.md) を参照してください。auth/login.md から payment ゾーンへのリンクがありますが、auth/overview.md の Dependencies セクションに payment が宣言されていないため違反になります。
docs/zones/auth/login.md line 1 error Cross-zone reference to "payment" zone, but "payment" is not listed in the "Dependencies" section of auth/overview.md REF-004依存を overview.md に明示的に追加します。
docs/zones/auth/overview.md:# Auth zone
## Dependencies
| Zone || ------- || payment |不要な依存だった場合は、リンクを除去するか、依存元ゾーンを再検討します。
{ "rule": "ref004", "options": { "zonesDir": "docs/zones", "dependencySection": "Dependencies" }}- REF-001 リンク切れ — リンク先ファイルが存在するかの検証
- GRP-001 トレーサビリティチェーン — ID 間の依存関係グラフの検証
- GRP-002 循環参照 — ドキュメント間の循環依存の検出