コンテンツにスキップ
検索語を入力してください

    グラフモデル

    dagaynはリポジトリ内のソース、ドキュメント、インフラ定義を統一されたグラフ語彙で表現する。エッジkindは 意味分類 であると同時に 探索時の index selector でもある。

    ソースファイル Tree-sitter パース ノード / エッジ抽出 SQLite グラフ 後処理FTS / コミュニティ / フロー MCP / CLI クエリ

    グラフは .dagayn/graph.db に保存される。

    種別拡張子 / 形式備考
    ソースコード.py, .rs, .ts, .go, .java40言語以上
    Markdown.mddirective、コードスパン
    Terraform.tf, .tfvarsblock 種別ごとのノード
    Notebook.ipynbセル単位

    フロントエンド(Vue / Svelte / Astro)、スクリプト(Bash / PowerShell)、スマートコントラクト(Solidity)も同一グラフに載る。

    kind意味qualified name 例
    Fileソースファイルsrc/auth.py
    Classクラス / 構造体src/auth.py::AuthService
    Function関数 / メソッドsrc/auth.py::login
    Type型定義src/models.py::UserId
    Testテスト関数tests/test_auth.py::test_login
    kind意味qualified name 例
    Fileドキュメントdocs/architecture.md
    DocSection見出しdocs/arch.md::api-design
    DocBodyセクション配下本文docs/arch.md::api-design--body-1

    DocSectionClass と分離しているのは、シンボル検索のノイズを減らすためである。

    blockkindqualified name 例
    resource / data / moduleClassresource.aws_s3_bucket.logs
    variable / local / outputFunctionvar.region
    checkTestcheck.valid
    kind方向性典型用途
    CONTAINS親→子ファイル→シンボル、見出し階層
    CALLS呼び出し元→先impact 分析、フロー
    IMPORTS_FROM依存元→先パッケージ依存、module source
    INHERITS子→親継承
    IMPLEMENTS実装→契約trait / interface 適合
    DEPENDS_ON依存元→先directive、TF constraint
    REFERENCES参照元→先MD セクションリンク、TF 式
    TESTED_BY被テスト→テストlogintest_login
    CROSS_ARTIFACT文書→コード等境界を越えた参照

    extra JSONと列属性で保持:

    フィールド意味
    confidence0.0–1.0
    confidence_tierEXTRACTED, INFERRED, HIGH
    markdown_directive_kindconstrained-by
    bridge_kindCROSS_ARTIFACT の種別
    original_symbol_nameMD 解決前のスパン文字列
    分析含める kind除外する kind
    ADP / SDP / SAPIMPORTS_FROM, DEPENDS_ON, INHERITS, IMPLEMENTSCALLS, REFERENCES
    Impact radius(呼び出し)CALLS 含む
    Doc 影響CROSS_ARTIFACT, DEPENDS_ON

    動的言語で CALLS を依存分析に混ぜると len() 等でノイズが増える。

    Markdownのインラインコードスパン `SymbolName` は後処理でコードグラフと照合される。

    マッチ数結果
    0エッジ破棄
    1CROSS_ARTIFACT 保持(confidence HIGH)
    2+エッジ破棄(曖昧)

    識別子ルール(要約):

    • 3文字未満かつ _ / . なし → スキップ
    • 英数字・_. のドット区切り識別子

    dagayn: 形式のdirectiveは作者宣言の依存として未解決でも DEPENDS_ON に残る場合がある。

    被テストの本番シンボル → テストシンボル。

    src/auth.py::login ──TESTED_BY──> tests/test_auth.py::test_login

    query_graph_tool(pattern="tests_for") はこの向きをたどる。

    dagayn build 後処理で計算。詳細は 構造メトリクス を参照。

    カテゴリ指標
    コミュニティLeiden 分割、cohesion
    チョークポイントhub(fan-in/out)、bridge(betweenness)
    フローエントリポイント→葉の経路
    パッケージ原則ADP / SDP / SAP