Skip to content

sensor: 上流CodeGraph 49c11fc..7639c78(368コミット)を取り込む(0.71.0) - #3

Merged
quolu merged 6 commits into
mainfrom
snowwhite/upstream-sync-7639c78
Sep 30, 2026
Merged

quolu merged 6 commits into
mainfrom
snowwhite/upstream-sync-7639c78

Conversation

@quolu

@quolu quolu commented Sep 30, 2026

Copy link
Copy Markdown
Collaborator

概要

ADR 0155(上流追従は全量3-way merge)に沿って、前回の同期点(2026-08-03、49c11fc)から上流main 7639c78までの368コミット(fix 191 / feat 56 / perf 3)を取り込む。週次の upstream check は8月から失敗し続けていた。

取り込み

  • scripts/upstream-sync.mjs: auto-merge 139、新規 490、衝突 70(すべて解決)、記録済み方針 5。
  • 上流の新しい行は上流名のまま入るので、merge後に一括改名した(道具は scripts/upstream-rename.mjs として追加)。
  • 決着の理由は sensor/UPSTREAM.json の conflict_policy / skip / notes / path_map に記録した。synced_at を 7639c78 へ進めた。

Latticeの契約として守ったもの

  • 状態の置き場は .lattice/sensor に固定する。上流のWSL用の別置き場は採らない。
  • install / uninstall / upgrade は拒否したまま。installer・upgradeを呼ばない。
  • callers/callees: 上流の定義別の実装を採り、Latticeの --exact-path・exactResolution・edgeKind/valueRef/valueWrite を足した。root の sensor-adapter は、上流の「did you mean」付きの not found を「記号無し」と読む。
  • 実行モードの申告と、他製品daemonでのfail-closed(ADR 0049)。上流の読み取り専用fallback(#1963)とは両立させた。

番号の衝突

  • DB migration: Lattice 9–12 のあとへ、上流 9–11 を 13–15 として載せた。CURRENT_SCHEMA_VERSION は 15。
  • EXTRACTION_VERSION は 28(両側より上)。既存の索引は開いた時点で段階的に更新され、手動の再索引は要らない。
  • kernelの EDGE_KINDS は invokes, navigates の順(src/types.ts と一致)。ABIは3のまま。

取り込みの途中で見つけて直したもの

  • 合成段階の一時表がLatticeの edges.confidence/resolved_by を持たず、SQLの列数不一致で失敗していた。
  • C/C++で、関数形マクロと同名の呼び出しを値参照として数えていた(TSとnative kernelの両方)。
  • 未解決参照の読み出しに順序指定が無く、選ばれた索引によって順が変わっていた。挿入順に固定した。

検証

  • ローカル(Linux, Node 26)で npm run ci 全体が成功した。
    • root: 1931件、失敗0。
    • sensor: 5159件中5133件成功、失敗0(26件は既存の条件付きskip)。
    • kernel parity(native・wasm): 14ファイル201件成功。native kernelはこの環境でbuildした。
    • 構文・CLI表面・到達性・ToDo storeの検査: すべて成功。
  • 上流の試験の較正2件: 値参照の辺とツール名の長さの差に合わせた。配られる本文は上流と同一であることを確かめた。
  • hooks-cli.test.mjs は、開発環境の CODEX_HOME を外して回した(既知のテスト隔離漏れ、main でも再現する)。

🤖 Generated with Claude Code

quolu and others added 6 commits September 30, 2026 01:26
scripts/upstream-sync.mjs による3-way merge。auto-merge 139 / 新規 490 /
衝突70を解決(改名だけの衝突は自動、ほかは手で決着)。上流の新しい行へ
Latticeの命名を当てる改名を後から一括で適用した。

主な決着(sensor/UPSTREAM.json conflict_policy に理由つきで記録):
- DB migration: 上流の9-11を13-15へ。CURRENT_SCHEMA_VERSION 15。
- EXTRACTION_VERSION 28(両側より上)。kernel EDGE_KINDS は invokes, navigates。
- 状態置き場は .lattice/sensor 固定。上流のWSL別置き場は採らない。
- callers/callees は上流の定義別実装にLatticeの契約(--exact-path・
  exactResolution・edgeKind/valueRef/valueWrite)を足す。root adapterは
  did-you-mean付きの not found を「記号無し」と読む。
- 合成段階の一時表へLatticeの edges.confidence/resolved_by を通す。
- C/C++の呼び出し位置の識別子を値参照にしない(TSとkernel)。
- ui/ はソースとして取り込み、viewerのbuild・配布はしない。

残り: sensor 5159件中5件失敗(explore予算2ファイル・ui-steps順序)。
synced_at はまだ進めない(--mark-synced 前)。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
残っていた失敗を直し、root・sensorの全検査を通した。

- 未解決参照の読み出しを挿入順に固定する(ORDER BYなしで索引の選択に
  よって順が変わり、手順表示の同位置の参照が入れ替わっていた)。
- explore予算の試験2件を、Latticeの差(値参照の辺、ツール名の長さ)に
  合わせて較正する。配られる本文は上流と同一であることを確かめた。
- 上流の新しいsensor文書へLatticeの命名を当て、上流名を残さない契約を保つ。
  名前に上流名を含む文書はpath_mapで写す。
- 上流追従後の一括改名を scripts/upstream-rename.mjs として置く。
- CHANGELOG、版 0.71.0。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- gitの一覧(追跡・未追跡)とgit statusの変更検知で .lattice/ を除外する。
  FS走査と監視は既に isLatticeStateDir で除外していたが、git経由の一覧は
  runが置くscriptを索引し、上流の新しい変更検知で「追加」と数えた。実行中の
  再compileが索引を古いと判定し、managed runのfindingをSTALE_FINDINGで拒んだ
  (PR #3のmacOS CI)。回帰テスト lattice-state-dir-scope を足す。
- viewerのtrailの置き場を常に / 区切りにする(Windowsで \ が混じり拒否)。
- 工場のWindows runnerはPowerShell 7のみ: watcher試験は pwsh を使う。
  単体bundleの試験は配布しないので実行対象から外す。1.4MBを索引する試験に30秒。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
工場のWindows runnerで、書いたばかりの1.4MBの.jsを最初に読むだけで34秒かかる
(statSync 0ms、初回readFileSync 34,152ms、2回目1ms)。製品の処理ではない。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@quolu
quolu merged commit 885a8db into main Sep 30, 2026
9 of 10 checks passed
@quolu
quolu deleted the snowwhite/upstream-sync-7639c78 branch September 30, 2026 03:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant