Devotd Github
新着LLMインフラ

shadowsafin/synapass — マイグレーションのチェックサムにおける改行差異による誤検出の修正

AI 推論ゲートウェイ shadowsafin/synapass は、改行の正規化により、Windows チェックアウトでマイグレーションのチェックサムが異なって起動を拒否していた問題を修正した。

リポジトリ情報shadowsafin/synapass ↗

AI 推論ゲートウェイ shadowsafin/synapass は、改行の正規化により、Windows チェックアウトでマイグレーションのチェックサムが異なって起動を拒否していた問題を修正した。

GitHub の説明: AI inference gateway and control plane for multi-provider routing, policies, caching, tools, and observability.

スター
★ 105
フォーク
0
言語
Go
ライセンス
Apache-2.0
原文を見る ↗GitHub で見る ↗

shadowsafin/synapass は、複数の AI モデルプロバイダーをひとまとめにし、ルーティング、ポリシー、キャッシュ、ツール、可観測性を管理する推論ゲートウェイである。2026-10-18 のコミット efe97f4 は、このプロジェクトのリポジトリマイグレーション(スキーマ変更 SQL)のチェックサムが改行文字の違いを区別していた問題を修正した。同じ SQL ファイルであっても、Windows では CRLF、Linux では LF でチェックアウトされるとハッシュ値が異なることが原因だった。

チェックサムは、すでに適用されたマイグレーションが後から編集されたかどうかを確認するための sha256 ハッシュだ。Windows の autocrlf=true 設定で取得したリポジトリは、同じコミットであっても、最初に適用した Linux が残したハッシュと食い違い、ゲートウェイは migration 0008 が適用後に変更されたというエラーを出して起動を拒否した。Windows のチェックアウトではワンクリックのデプロイ経路自体が塞がれていた。

修正は二つの部分からなる。チェックサムを改行を LF に正規化したテキストを基準に計算するようにし、比較段階では、旧ビルドが記録した元のバイト形式と CRLF 形式の両方を受け入れるようにした。これにより既存のインストールは schema_migrations のパッチなしでアップグレードされ、SQL 内容が実際に変わった場合はこれまでどおり検査で弾かれる。コードでは internal/storage/migrate.go に migrationChecksum と checksumMatches が追加され(34 行追加、2 行削除)、internal/storage/postgres.go の Migrate がこの関数の呼び出しに変更され(1 行差し替え)、internal/storage/migrate_test.go が新規に添付された(72 行)。コミット全体の規模は 110 行で、107 行追加と 3 行削除である。

ただし、この変更はマイグレーションの検査に限られている。テストも改行の一致性と実際の改竄の阻止のみを扱っており、ルーティングやキャッシュの性能を測定する数値は示されていない。リリースタグも与えられておらず、どのリリースに含まれるかは分からない。Windows でのデプロイを問題視したのであれば、損をする箇所は明らかだが、プロジェクト全体の状態を判断する根拠は、このコミットだけでは不足している。