Skip to content

gwt-spec: unity-csharp-reference (UnityCsReference 参照キャッシュ・シンボル lookup・差分・embedding) #204

@akiojin

Description

@akiojin

目的

UnityCsReference (Unity Technologies 公式 C# ソース) をローカルキャッシュし、LLM / Skill から read-only で参照する仕組みのドメイン SPEC。unity-cli reference * サブコマンド群と Skill unity-csharp-reference を 1 つの SPEC で管理する。Phase 単位ではなくドメイン単位で扱い、改善は本 SPEC を Refs する commit / PR で進める。

スコープ

  • ローカルキャッシュ (shallow clone + zip fallback): unity-cli reference fetch / reference status / reference clean
  • 検索系: reference grep / reference view
  • シンボル lookup インデックス (type + member-level method / property): reference find-symbol
  • バージョン差分 (symbol-only + path opt-in, LCS / Myers ベース): reference diff
  • LSP go-to-definition 連携 (unity-cli 独立 RPC, C# lexer 化済み token extractor): reference resolve-symbol-at
  • Vector embedding 検索 (fastembed-rs + 線形 scan MVP): reference embed-build / reference embed-search
  • Skill unity-csharp-reference の正本 (.claude-plugin/plugins/unity-cli/skills/unity-csharp-reference/)
  • 関連 docs: docs/tools.md の Reference Cache セクション、references/*-playbook.mdATTRIBUTION.md の Unity Companion License 出典

Out of Scope

  • AST レベルの semantic diff (Roslyn をホストする方向)
  • csharp-lsp の workspaceFolders に reference cache を混入させる方向 (旧 feat(reference): UnityCsReference のローカルキャッシュ参照機構(Phase 1) #185 で却下済みの原則を維持)
  • 各 MVP の本格 polish (詳細は Backlog で管理):
    • シンボル抽出: 多行シグネチャ / constructor / destructor / field / event / generic 制約 / record / record struct
    • 差分: character-level diff / unified diff text 形式
    • Token extractor: block comment /* */ / interpolated string / char literal / preprocessor directive
    • Zip fallback: ネットワーク実 download integration test / Unix 権限ビット保持
    • Vector embedding: 多言語 model / HNSW ANN / file-chunk embedding / score 正規化 / incremental rebuild

採用方針

Related (履歴)

旧 Phase 軸の SPEC は本 SPEC に統合され close。詳細実装と検証エビデンスは各 PR とコメントを参照する。

既存実装 (旧 Phase SPEC からの引き継ぎ、本 SPEC 起票時点で完了済み)

Backlog (旧 5 SPEC の Out of Scope を集約、優先度未確定)

  • シンボル抽出: 多行シグネチャ / constructor / destructor / field / event / generic 制約 / record / record struct
  • 差分: character-level diff / unified diff text 形式
  • Token extractor: block comment /* */ / interpolated string / char literal / preprocessor directive
  • Zip fallback: ネットワーク実 download integration test / Unix 権限ビット保持
  • Vector embedding: 多言語 model / HNSW ANN / file-chunk embedding / score 正規化 / incremental rebuild
  • AST レベル semantic 解析 (Roslyn ホスティングの是非含めて discussion 起点)

運用方針

Metadata

Metadata

Assignees

No one assigned

    Labels

    gwt-specGWT spec management

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions