今日 14:52 · Claude Code · fix/webhook-idempotency
Stripe が invoice.paid を再送しても二重請求しないようにする
完了 · 教訓を 4 件保存
落とし穴
Stripe の Webhook 署名の検証には生のリクエストボディが必要
JSON に変換してからだと SignatureVerificationError。await request.body() をそのまま渡します。
コーディングエージェントが共有する記憶
新しいセッションのエージェントは、前回わかったことを知りません。Interlatch は Claude Code、Codex、Copilot、Bob、Antigravity のセッションを手元の Mac に記録します。得られたナレッジは元のセッション、プロジェクト、エージェントとつながったまま残り、後の作業で確かめられるたびに信頼度が上がります。
Different agents. Knowledge that stays.
uv tool install --python 3.13 interlatch && "$(uv tool dir --bin)/interlatch" installInterlatch の旧名は Chronicle です。chronicle コマンドもそのまま使え、セッションと設定は自動で引き継がれます。Chronicle からの移行
macOS 13 以降 · uv が必要 · 無料のオープンソース · テレメトリなし
今日 14:52 · Claude Code · fix/webhook-idempotency
Stripe が invoice.paid を再送しても二重請求しないようにする
完了 · 教訓を 4 件保存
落とし穴
Stripe の Webhook 署名の検証には生のリクエストボディが必要
JSON に変換してからだと SignatureVerificationError。await request.body() をそのまま渡します。

次のセッション · Codex
生のリクエストボディを使います。理由は、前の Claude Code セッションで確認できます。
出典を保存 · Claude Code · billing-api
01 / セットアップ
Interlatch は uv でインストールし、エージェントのセッションファイルを変更せずに読みます。記録を残し、学んだことを次のセッションですぐ使えるようにします。分析には、あなた自身の Claude Code か Codex のログイン、Bob の API キーを使う IBM Bob、またはあなたのキーで使うモデルプロバイダーの API を使います。Anthropic、Amazon Bedrock、OpenAI、Azure OpenAI、OpenRouter、そして Mac 上の Ollama も使えます。分析の利用分はあなたのプランやキーに計上されます。インストール前のセッションは、新しいものから 15 分ごとに 6 件ずつ、バックグラウンドで分析します。
ステップ 01
コマンドラインツールをインストールすると、Mac にあるコーディングエージェントを見つけ、過去のセッションを取り込み、ログイン時に起動するよう設定します。
ステップ 02
Claude Code、Codex、Copilot、Bob、Antigravity をいつもどおり使うだけ。各セッションは終わると記録され、バックグラウンドで読まれます。
ステップ 03
ダッシュボードは 127.0.0.1:11524 で動きます。⌘K で過去の作業を検索し、MCP で接続したエージェントにもプロジェクトの学びを届けられます。
uv tool install --python 3.13 interlatchinterlatch install02 / 引き継がれる記憶
セッションが終わっても、学びはプロジェクトと元の記録に結びついたまま残ります。次のエージェントにも、ダッシュボードにも、コードのそばにも。
エントリー 01 · 保存
Claude Code は初期設定で 30 日たつとトランスクリプトを消します。Interlatch は接続したエージェントのセッションをプロジェクトや出典と一緒に残すので、先月の修正に至った会話もあとから読めます。
記録される内容Stripe が invoice.paid を再送しても二重請求しないようにする
Claude Code · billing-api
チェックアウトの配送日のハイドレーション不一致を修正
Codex · storefront
アクセスキーの代わりに OIDC で GitHub Actions からデプロイ
Copilot · infra
HNSW インデックスで類似商品の遅延を 4 秒から 7 ms に短縮
Claude Code · recommender
recommender リポジトリをセットアップ
Claude Code · recommender· 30 日目に削除 保存済み
エントリー 02 · 学習
Interlatch は終わったセッションを、あなたが選んだエージェントかモデルで読み、修正、落とし穴、決定、コマンドをプロジェクトの知識として残します。どの教訓も元のセッションをたどれ、後の作業で確かめられるたびに信頼度が上がります。使う前に、その根拠を確認できます。
分析の仕組み修正
Stripe は Webhook を再送する:event.id で重複を除く
各 event.id を副作用と同じトランザクションで processed_events に記録し、重複には 200 を返します。
決定
冪等性は Redis ではなく Postgres で
重複除去の行は請求書の更新とアトミックにコミットされます。Redis のキーだと、トランザクションがロールバックしても書き込まれたままになりえます。
コマンド
Stripe の Webhook をローカルの API に転送
stripe listen --forward-to localhost:8000/webhooks/stripe
エントリー 03 · 共有
Copilot が見つけた落とし穴を、次の Codex セッションで使えます。MCP で接続したエージェントは、過去のセッションとプロジェクトの知識を検索できます。Claude Desktop、Cursor、Windsurf、Gemini CLI からも利用できます。
MCP サーバーあなた › デプロイが "Not authorized to perform sts:AssumeRoleWithWebIdentity" で失敗する。前にも見た?
● interlatch · search_knowledge("AssumeRoleWithWebIdentity")
└ 落とし穴 1 件 · infra · Copilot · 定着 ×2
Codex › はい、先週の Copilot セッションで見つかっています。environment: を指定したジョブでは OIDC トークンの sub が repo:ORG/REPO:environment:NAME になるので、ブランチに一致させる信頼ポリシーは失敗します。代わりに environment に一致させます。
出典 · Copilot · アクセスキーの代わりに OIDC で GitHub Actions からデプロイ
エントリー 04 · 出典
VS Code 拡張機能は、開いているファイルに関わったセッションと、ワークスペースでエージェントが作業したファイルを表示します。どのエージェントが変更していても、元の会話を開いて理由を確認できます。
VS Code 拡張機能▾ Chronicle: This File webhooks.py
▾✎Stripe が invoice.paid を再送しても二重請求しないようにする5h ago
▸✎デプロイ後に督促メールが重複して送られないようにする3d ago
▾ Chronicle: Files in Workspace
03 / ダッシュボード
異なるエージェントのセッション、そこから得た教訓、その出典となった会話を確認できます。ダッシュボードはあなた自身のマシンで動き、Mac でも、Tailscale 経由のスマートフォンでも、ほかのコンピューターやチームと共有する 1 台のハブでも開けます。
画面ごとに






ダッシュボードにはほかにも
各プロジェクトを、構成要素とデプロイ先を持つシステムとして描き、あるプロジェクトが別のプロジェクトを使うところを線で結びます。描くのはモデルではなく、マニフェストとセッションの実際の作業です。
エージェントが作ったドキュメント、ページ、図、スライド、プルリクエスト、コミット。それぞれ作ったセッションにつながり、ファイルが変わったり消えたりすると印がつきます。
繰り返しうまくいかないことや、何度も確かめられたことから、CLAUDE.md や AGENTS.md に書く 1 行を提案します。承認するまで何も書かず、元に戻すこともできます。
関連するプロジェクトを、手で、または共通のフォルダーでひとつの見出しにまとめ、グループ全体でセッションを絞り込めます。
04 / エージェントをまたいで
使うエージェントを変えても、プロジェクトの知識は同じアーカイブに残ります。設定から、または interlatch connect でソースを追加し、MCP で次のエージェントから検索できます。
05 / チーム
チームのサーバーでハブを動かせば、各自の Interlatch が学んだことをそこで共有します。トランスクリプトは各自のコンピューターに残せます。ハブが受け取るのは教訓だけで、同じリポジトリでチームメイトが学んだことを、全員のエージェントに返します。
01
compose ファイルひとつで、ハブ、Caddy による HTTPS、Postgres のチームストアがどのサーバーでも動きます。ハブは何も分析しないので、モデルも API キーも要りません。
02
各コンピューターは自分のセッションを自分で分析し、ハブには各セッションの要約とプロジェクトの教訓だけを送ります。プロンプト、コマンド、ファイルパス、トランスクリプトは外に出ません。
03
送るたびに、同じリポジトリでチームメイトが学んだことが返ってきます。各自がどこにクローンしていても同じです。MCP ツールではチームメイトのものとして表示され、セッション開始時のメモをオンにしていればそこにも入ります。
04
一人ずつ、管理者、メンバー、閲覧のみのいずれかとして、一度だけ使えるコードで招待します。各自が見られるプロジェクトは管理者が決め、招待、サインイン、変更はすべて履歴に残ります。
Mika のノート PC
チームのハブ
billing-api · 4 人 · 教訓 58 件
落とし穴
Stripe の Webhook 署名の検証には生のリクエストボディが必要
Mika のセッションから
↓ あなたのエージェント、次のセッションで
From teammates' sessions in this project (via the team hub):
- [gotcha] Stripe webhook signatures need the raw request body (from Mika)
06 / RSI
記録して(Record)、探して(Search)、積み上げる(Increment)。SF に出てくる自己改善でも、腱鞘炎でもありません。同じ説明を二度しなくて済む、それだけの仕組みです。
Record
接続したエージェントのセッションは、プロジェクト、ブランチ、ファイルと一緒に手元のマシンに残ります。保存し忘れる心配はありません。
Search
次のエージェントは、前のエージェントが学んだことを MCP で調べられます。どの答えにも元のセッションがついています。セッション開始時のメモをオンにすれば、Claude Code は開いた時点でプロジェクトの要点も受け取ります。
Increment
教訓は後のセッションで確かめられるたびに信頼度が上がり、繰り返すつまずきは CLAUDE.md や AGENTS.md に書く 1 行として提案されます。採用するかは、一つずつあなたが決めます。
そしてまた記録へ。回るたびに少しずつ良くなり、その理由も見えます。
07 / 信頼できる記憶
ルール 1
私たちのサーバーも、テレメトリも、アカウントもありません。アーカイブとそこから学んだことはすべて、あなた自身のマシンにあります。チームのハブも、チームが選んだサーバーで動きます。
ルール 2
分析は秘密情報を伏せてから、あなた自身の Claude Code か Codex のログイン、Bob の API キー、またはあなたのプロバイダーキーで行います。Ollama なら Mac の外には出ません。MCP で取り出した記憶は、接続したエージェントとそのモデルにだけ渡ります。間に私たちのキーは入りません。
ルール 3
どの教訓にも、どこまで確かめられたかが表示されます。1 回のみ、定着 ×2、そして 2 週間以上にわたる 3 つのセッションで確かめられれば確定。元のセッションはワンクリックで開け、エージェントも MCP で同じ表示を受け取るので、今の作業に合うかどうかをあなたもエージェントも判断できます。
インストールして、使っているエージェントを接続。すでに Mac にあるセッションから、これからの作業まで、プロジェクトの知識として残せます。
uv tool install --python 3.13 interlatch && "$(uv tool dir --bin)/interlatch" installuv と macOS 13 以降が必要です。
リソースとコミュニティ
0.22.0 ·
0.21.3 ·
0.21.2 ·
Interlatch をインストールし、これまでのセッションを取り込む。
次のエージェントに、プロジェクトの学びを届ける。
デバイスをまたいでひとつのアーカイブに。