Claude Codeが安全な本番データベースコードを書くようにした4つのファイル

r/ClaudeAIの開発者が、Claude Codeを本番データベース(Convex)と安全に連携させる実用的な設定を共有しています。鍵となるのは、エージェントの即興ではなく、基盤から安全性を確保することです。
4つのファイル
~/projects/agent-os/CLAUDE.md— アイデンティティファイル:あなたが誰か、何を売っているか、誰に売っているか、90日の優先事項。エージェントは読み取るだけで、尋ねることはありません。~/.claude/projects/-home-jon/memory/MEMORY.md— 自動メモリインデックス:ユーザープロフィール、フィードバックルール、セッションをまたいだプロジェクト状態。エージェントが会話のたびに再学習するのを防ぎます。references/framework.md— オペレーターのプレイブック:意思決定の方法、最適化すべきこと、スケーリングのための構造ルール。decisions/log.md— 追記専用の理由ログ:可逆的な決定は1行、重要な決定は完全な記録。
ブリッジ: scripts/skool_sheets_to_convex.py
標準ライブラリのPythonで、決定論的かつ、10分ごとにsystemdタイマーで実行されます。エージェントはこれを呼び出しますが、オンデマンドで生成したわけではありません。本番書き込みには以下が必要です:
- 環境変数
SKOOL_ALLOW_PROD_WRITES=1 - 許可リストに登録されたConvexデプロイメントスラグに対する401プレフライト
- 複合冪等性キー:
{tab_slug}:{normalized_transaction_id} - メール形式の文字列や既知のシークレットプレフィックスを各行がジャーナルに到達する前に除去するログ編集機能
仕様とレビュープロセス
仕様はコードが存在する前にreferences/skool-api.mdにありました。Codexはそれを2回レビューしました:
- 1回目:Skoolの利用規約に違反するcookie認証アプローチを排除。
- 2回目:本番書き込みガードを導入。
- 両方のパスで推論フィールドの仮定を見逃しました。ドライランで発見。
- より静かなキャッシュバグ:
_read_jsonがJSONDecodeErrorを飲み込み、空の辞書を返していました。破損テスト(意図的にキャッシュを破損してブリッジを実行)の下では、サイレントにprocessed-eventsキャッシュを再構築し、すべての行を二重POSTしていました。カナリアが実行される前に発見・修正されました。
要点
著者はまずconnections.mdをコピーすることを推奨しています。Claudeのセットアップが実際に何に到達できるかを知ることが、最も簡単な改善点です。
ガードレールのいずれも、エージェントの即興から生まれたものではありません。仕様から生まれ、仕様は調査から、調査はメモリ内のワークフロールール(調査、計画、仕様、実装、各フェーズで敵対的レビュー)から生まれました。
📖 全文を読む: r/ClaudeAI
👀 See Also

AIを使った10万行のRust:契約、仕様駆動開発、パフォーマンス
Cheng HuangはAIエージェントを使用してRust製マルチPaxosエンジンを構築し、30万ops/秒を達成。主要技術:AIが生成したコード契約、軽量な仕様駆動開発、積極的な最適化。

コーディング前にAIでプロジェクトチケットを生成することで、スコープドリフトを軽減できます
開発者が、コードを書く前にAIに詳細なプロジェクトチケット(タスク、サブタスク、範囲、受け入れ基準を含む)を生成させることで、スコープクリープや大きな差分を大幅に削減できたと報告しています。各AIエージェントは全体計画ではなく、特定のサブタスクのみを受け取ります。

Raspberry Pi 5上のHackRFを使用したESP32+CC1101 433 MHzセットアップのデバッグをOpenClawが行う
直接のGPIOやESP32へのフラッシュが失敗した後、OpenClawはHackRFを使ってCC1101のTx/Rxピンが入れ替わっていることを診断し、最終的にPi 5で433 MHz信号の自律的なキャプチャとリプレイに成功しました。

認証400エラー修正:BIP39フィルターのトリガーを回避するためのPythonのmnemonicパッケージの使用
Redditユーザーが特定した問題によると、Anthropicのコンテンツフィルターは、AIエージェントが完全なBIP39ワードリスト(2048の標準化された英単語)をPythonコードに書き込もうとすると、400エラーを引き起こします。解決策は、代わりにmnemonic Pythonパッケージを使用することです。このパッケージにはワードリストが内部に含まれています。