決定論的な処理を優先
LangDrift が考察する対象は変化であり、リポジトリそのものではありません。 リポジトリのファイルは構造化された入力です。正規化されたイベントとその明示的な関係が、プロダクトの変化を記述する単位です。
決定論的な作業
現在のパッケージは、再現可能な次の操作を実装しています。
- プロジェクト、成果物、Record、Drift のデータを、バージョン付き JSON Schema で検証する。
- 明示的な
langdriftフロントマターを解析し、Markdown 本文をテキストとして保持する。 - シンボリックリンクをたどらず、パッケージが宣言する
.driftsの場所だけをソート順に探索する。 - 変更されないソース識別情報が
recordIdに渡された場合、安定した Record 識別情報を導出する。 - リモート検索を行わず、明示的なローカル参照と登録済み参照を解決する。
- ルーティング、出所、参照、検証済みの内容を含むペイロードエンベロープを構築する。
- セットアップを
create、preserve、conflictに分類し、既存の内容を上書きしない。
検証は型変換、未知フィールドの削除、不足する事実の補完、未対応バージョンの移行を行いません。 セットアップはネットワークリクエストを送信しません。
解釈を伴う作業
次の判断は、引き続きアプリケーションまたは人が行います。
- 観測された変化を、どの Vision Target と比較するか。
- その変化が
expectedかunexpectedか。 - どの Evidence が解釈を裏付けるか。
- 適切な影響の単位と値は何か。
- 推論方法が
human、deterministic、llmのいずれか。 - Product Vision をどのように計算し、表示するか。
SDK は渡された判断を記録し、検証します。それらを標準的な正解として確定するわけではありません。
LLM への依存はありません
@langdrift/sdk は LLM を同梱せず、呼び出さず、必要ともしません。
Drift Event は human、deterministic、llm の推論方法を宣言できます。
llm が指定された場合、スキーマはモデル識別子と少なくとも 1 つのリンクされた根拠 ID を要求します。
モデルを実行し、根拠に基づく出力を渡す責任は呼び出し側にあります。
転送にも同じ境界があります。アプリケーションが sendPayload に転送処理を注入します。
SDK は、稼働するバックエンド、エンドポイント、キュー、自動再試行、自動アップロードを提供しません。