このプロジェクトについて

Lynchpinは、長期間運用されるローカルデータレイクを持つ単一オペレーター向けの、ローカルファーストのエビデンス・分析プラットフォームである。通常は別々のシステムに存在するデータ — アクティビティ記録、ターミナル履歴、GitおよびGitHubのアクティビティ、AIセッションアーカイブ、ブラウザおよびコミュニケーションのエクスポート、健康記録、マシンテレメトリ — を読み取り、再現可能なDuckDBデータセット、エビデンスグラフ、分析プロダクト、人間とエージェント向けの境界付きコンテキストパックへと変換する。 生データはそれを所有するシステムに留まる。Lynchpinは明示的なカバレッジ、鮮度、来歴を持つ読み取りモデルを構築するため、結果をそれを支えるキャプチャやエクスポートまで遡って追跡できる。これはホスト型サービスではない。公開ツリーには再利用可能なパーサー、スキーマ、分析、クエリツール、テスト、中立的なフィクスチャが含まれ、プライベートなアイデンティティ、語彙、分類、エクスポート、生成されたナラティブは外部設定を通じて提供される。 扱う典型的な問いには、あるコミットに先行したAIセッションやターミナルコマンドは何か、ビルドやサービスが失敗したときにマシンが何をしていたか、プロジェクト間で時間と集中がどう異なったか、仕事や健康に関する主張をどのエビデンスが支持するか、どのソースが欠落または古いか、エージェントがプロジェクトや時間枠に対して受け取るべき境界付きコンテキストは何か、といったものがある。ソース固有のツールは引き続き権威であり、Lynchpinはソースの境界を消すことなくそれらの記録を結合可能にする。 パイプラインは、キャプチャ、エクスポート、リポジトリ、サービス台帳から、型付きソースアダプターを経て正規データセットとマニフェストへ、次にDuckDBへと流れ、そこからエビデンスグラフと分析プロダクトが導出され、コンテキストパック、CLI、MCPへと供給される。マテリアライゼーションプランナーはどのデータセットが欠落または古いかを判定し、依存順に再構築し、各結果のマニフェストを記録する。リフレッシュIDはグラフとレポートを特定のDuckDBスナップショットに結び付け、ナラティブ出力をエビデンスの下流に保つ。 現在のソースには、ActivityWatchのアプリケーションおよびフォーカスイベント、Atuinのコマンドとasciinema録画、Gitリポジトリ、GitHubアクティビティ、コードスナップショット、PRレビュー詳細、Polylogueのセッションプロファイルと作業イベント、ブラウザ履歴、ブックマーク、クリップボード、コミュニケーションのエクスポート、ウェアラブル健康、睡眠、メディアのエクスポート、マシンメトリクス、サービス状態、ベンチマーク、システム世代が含まれる。アダプターはソース固有の注意事項を保持する。欠落した観測はゼロにはならず、エクスポートに境界付けられたデータセットは連続キャプチャと区別可能なままである。 DuckDB層は通常のSQLと、コミット、ファイル、シンボル、レビュー履歴、AI作業イベントとセッションプロファイル、アクティビティ、フォーカス、健康、コミュニケーションのシグナル、マシン状態、プレッシャー、サービス、実験、エビデンス主張、グラフエッジ、ソース準備状況のための安定したリーダーを提供する。これは結合と高速化の層であり、生データの第二のアーカイブではない。グラフ層はプロジェクト、コミット、ファイル、AI作業、ターミナルアクティビティ、フォーカススパン、GitHub項目、マシンコンテキスト、個人シグナル、分析主張を接続し、プロジェクト/日の相関、セッションとコミットの相関、issue/PR/コミットのクローズチェーン、ファイルとシンボルの重複、ソース準備状況と信頼度のマトリクス、時系列タイムライン、弱いエビデンスの選択肢を明示したMarkdown/JSONコンテキストパックを支援する。 分析パッケージは、コードベロシティ、変更サーフェス、依存関係マップ、リファクタ候補、プロジェクト間比較、作業リズム、フォーカス断片化、AIセッション効率、健康と睡眠のシグナル、マシンプレッシャー、ワークロードの重複、サービス挙動、較正された帰属をカバーする。正規メトリクスは時間枠、単位または分母、成果物パスを伴う。 MCPサーバーは8つの公開ツールを公開する。lynchpin_status、lynchpin_catalog、lynchpin_query、lynchpin_evidence、lynchpin_project、lynchpin_personal、lynchpin_machine、lynchpin_opsである。読み取りパスは読み取り専用であり、ローカル状態をマテリアライズまたは削除する操作には明示的な実行判断が必要で、レシートを生成する。 開発はNixファースト(direnv allowまたはnix develop)で、テストはpytest -qで実行され、CLIエントリポイントはプロダクトのマテリアライズ、時間枠のプロモート、現在状態コンテキストパックのレンダリング、stdio MCPサーバーの起動を行う。コマンドはLynchpinConfigと環境変数を通じてデータルートを発見する。プライベートプロファイルなしのチェックアウトでも、テストの実行、スキーマとツールカタログの検査、中立的なフィクスチャの使用が可能である。リポジトリはcore、sources、ingest、substrate、graph、analysis、mcp、cliパッケージで構成され、テストと無視される.lynchpin/ローカル状態ディレクトリを持つ。データ境界は、ソースアダプターが生のエクスポートを変更することを防ぎ、オペレーター設定をリポジトリ外に保ち、AIセッション取り込みの所有権をPolylogueに、イベントキャプチャをSinexに、ホスト設定をSinnixに割り当てる。MITライセンスの下で提供される。