Supabase → Oracle ATP 同期ブリッジ完成(2026-05-14)
agents/scripts/sync-orders.ts — orders 2件 + agent_logs 26件を同期済み。15分毎 scheduled-task 登録待ち。
次: Stripe E2E テストが最優先ブロッカー
バナー ¥9,800 → card 4242 → webhook → Supabase won → sync → Oracle確認。これが通れば Phase 3 完了。
フェーズ進捗
PHASE 0
設計
DB設計・Agent設計
ADR 5件確定
PHASE 1
スキャフォールド
Oracle ATP
migrations 001–005
PHASE 2
自社サイト MVP
Next.js 16
Cloudflare Workers
PHASE 3
Stripe E2E
決済 → sync → Oracle
E2Eテスト待ち
PHASE 4
Agent 本格稼働
受注→納品
完全自動化
全体進捗65%(Phase 3 Stripe待ち)
アーキテクチャ(現在の接続構成)
👤 顧客
問い合わせ・決済
🌐 site/
Next.js 16 / CF Workers
⏳ 本番デプロイ待ち
💳 Stripe
Checkout + Webhook
🐘 Supabase
site/ が書き込む
━NEW━▶
🔄 sync-orders.ts
15分毎 差分同期
✅ 動作確認済み
🗄️ Oracle ATP 23ai
Osaka / Always Free
🤖 7 Agents
+ Watchdog
次アクション(優先順)
#1
🔴 Stripe E2E テスト
バナー ¥9,800 → card 4242 4242 4242 4242 → Stripe Checkout → webhook → Supabase status=won → npm run sync → Oracle確認
Stripesync
最優先
#2
⚡ pj34-sync-orders scheduled-task 登録
SKILL.md 作成済み → Claude Code UI から */15 * * * * で登録(LLM課金なし・純粋 Node.js)
cronsync
HIGH
#3
⚡ pj34-weekly-improve を disable
Phase 3 完了前の早期発火。scheduled-tasks UI で disabled に変更(Phase 3 完了後に再 enable)
cron
HIGH
#4
🔵 migration_005 適用 → Production-Deep 稼働
rag_chunks テーブル(VECTOR型 + 検索関数)。Production-Deep Agent の前提条件。
DB
MEDIUM
#5
🔵 Cloudflare Workers 本番デプロイ
cd site && npm run deploy → Stripe Webhook URL を本番エンドポイントに更新
deployFounder承認
MEDIUM
受注一覧(Oracle ATP)2件
Order ID顧客サービス金額ステータス作成日ソース
2e967da9… テスト太郎 banner ¥9,800 lead 2026-05-13 direct
22b02975… 受注テスト株式会社 banner ¥9,800 won 2026-05-13 direct
ステータス一覧: lead won production_in_progress review_pending delivered
Agent パイプライン(7 Agents + Watchdog)→ 🤖 Agents タブで詳細確認
🧭
CEO Agent
全体KPI・意思決定・週次レポート生成
週次稼働(月曜 9:00)
LLM: claude-sonnet-4-6
💼
Sales Agent
リード検知 → Slack通知 → 提案ドラフト
毎日 09:00 稼働中
LLM: なし(定型文)
Production Fast
バナー・競合監視・録音分析(短納期)
月曜 09:00(手動)
LLM: claude-sonnet-4-6
🧠
Production Deep
LP・ナレッジRAG・Web制作(深度重視)
イベント駆動
Embed: voyage-3 1024-dim ⚠️migration_005待ち
💰
Finance Agent
請求・入金管理・収益KPI
週次稼働
External: Stripe API
🤝
Customer Success
納品後チェックイン・満足度管理
Phase 4 待機中
Oracle移行済み ✅
📣
Marketing Agent
X投稿・SEO・コンテンツ配信
設計済み・未実装
Phase 4 で実装予定
🛡️
Watchdog
全Agent監視・SLA アラート・異常検知
常時監視
Oracle移行済み ✅
インフラ・依存関係
✅ 完了済み
🗄️
Oracle ATP 23ai(Osaka)
migrations 001-004適用済み / Always Free 20GB
☁️
Cloudflare Workers(設定済み)
wrangler.toml / nodejs_compat / 本番デプロイ待ち
💳
Stripe テストキー
sk_test_ / pk_test_ / Webhook signing secret
💬
Slack Webhook
#all-reraflow 通知設定済み
🔄
Supabase→Oracle 同期ブリッジ
sync-orders.ts 動作確認済み(2026-05-14)
⏳ 残タスク
Stripe E2E テスト未実施
card 4242 → webhook → won の完全疎通確認待ち
pj34-sync-orders cron 未登録
SKILL.md作成済み → UI から */15 * * * * で登録
🔕
pj34-weekly-improve を disable
Phase 3 完了前の早期発火 → 要 disable
🧬
migration_005 未適用
rag_chunks VECTOR テーブル → Production-Deep 前提条件
🚀
Cloudflare 本番デプロイ
npm run deploy → Stripe Webhook URL 更新
🤖 Agent Pipeline
7 Agents + Watchdog — Oracle ATP 23ai (World Model) を共有。承認ゲートで自律範囲を制御。
6 稼働中 / 設計済み 1 migration待ち 1 未実装
凡例
READOracle 読み取り
WRITEOracle 書き込み
UPDATEOracle 更新
EXT外部API
🟢 自律実行可
🟡 Founder承認必須
🔴 Agent禁止
🧭
CEO Agent
agents/ceo/index.ts
週次 月曜 09:00 cron 稼働中
  • 全受注ステータス集計・KPI スナップショット生成
  • 今週の障害件数・エラー率の算出
  • claude-sonnet-4-6 で改善提案ドラフトを生成
  • 週次レポートを Slack 送信(Founder 確認後に実行)
  • pendingProposals カウント → 次週の優先アクション示唆
READ orders READ agent_logs WRITE agent_logs (kpi_snapshot) WRITE agent_logs (improvement_proposal)
🟢 自律DB読み取り・KPIスナップショット記録
🟡 承認必須改善提案の実行・Slack送信
claude-sonnet-4-6改善提案ドラフト生成のみ
orderSummary totalRevenue errorsThisWeek kpiSnapshots pendingProposals newProposal errors[]
💼
Sales Agent
agents/sales/index.ts  +  readycul.ts
毎日 09:00 cron 稼働中
  • Oracle orders から status='lead' の新着案件を検知
  • 重複通知防止: agent_logs で hasAgentLog チェック
  • 定型文テンプレート(templates.ts)でSlack通知生成
  • Readycul サービス向け特化対応(readycul.ts)
  • stalled リード(一定期間未更新)をアラート
READ orders (status='lead') READ agent_logs (de-dup) WRITE agent_logs (lead_notified) EXT Slack Webhook
🟢 自律Slack通知・agent_logs 記録
🟡 承認必須メール送信・提案書送付
なし(templates.ts 定型文を使用)
newLeads notified stalledAlerts errors[]
Production Fast Agent
agents/production-fast/competitive-monitoring.ts
agents/production-fast/sales-recording.ts
月曜 09:00(手動) cron/manual 実装済み
  • service_type='competitive_monitoring' の案件を処理
  • orders.metadata から monitor_urls・keywords を取得
  • 競合URLをクロール → キーワード抽出 → 差分検知
  • claude-sonnet-4-6 で週次Markdownレポートを生成
  • レポートを Slack 指定チャネルに配信
  • sales-recording.ts: 商談録音 → 文字起こし → インサイト抽出
READ orders (competitive_monitoring) WRITE agent_logs (report) UPDATE orders.status EXT Web fetch EXT Slack
metadata: {
  monitor_urls: string[]
  keywords: string[]
  customer_slack_channel?: string
  report_week: number
}
🟢 自律クロール・レポート生成・Slack配信
🟡 Phase 4完全自動化(現在は手動起動)
claude-sonnet-4-6週次レポートMarkdown生成
processed delivered errors[]
🧠
Production Deep Agent
agents/production-deep/knowledge-rag.ts
イベント駆動 webhook ⚠️ migration_005 待ち
⚠️
migration_005_rag_chunks.sql が未適用 — rag_chunks テーブル(VECTOR型)の CREATE が必要。適用後に稼働可能。
  • Trigger: orders.status=won + service_type=knowledge_rag
  • orders.metadata から doc_urls・doc_titles を取得
  • URLをフェッチ → 500文字チャンク(100文字オーバーラップ)
  • voyage-3 API で 1024-dim ベクトル埋め込みを生成
  • Oracle ATP に TO_VECTOR('[…]', 1024, FLOAT32) 形式でINSERT
  • orders.status を review_pending に更新
READ orders (won + knowledge_rag) WRITE rag_chunks (VECTOR) UPDATE orders.status → review_pending EXT voyage-3 Embed API
EMBED_MODEL: voyage-3 EMBED_DIM: 1024 chunk_size: 500文字 overlap: 100文字
🟢 自律URL取得・チャンク生成・ベクトルINSERT
🟡 承認必須顧客への成果物送付
なし(voyage-3 Embedding APIのみ使用)
processed total_chunks errors[]
💰
Finance Agent
agents/finance/index.ts
週次 cron 稼働中
  • won / invoiced / paid / outstanding の受注集計
  • 収益KPI(collected / outstanding)を算出・記録
  • billing_attempts テーブルで冪等性管理(二重請求防止)
  • Stripe API 経由で請求書ドラフトを作成(承認後に確定)
  • 入金期限超過案件を Watchdog 経由でアラート
READ orders (全ステータス) READ billing_attempts WRITE billing_attempts WRITE agent_logs (finance_summary) EXT Stripe API (請求書)
🟢 自律KPI集計・billing_attempts記録
🟡 承認必須Stripe 請求書の作成・送付
🔴 禁止返金処理・サブスクリプション変更
なし(数値集計・Stripe API呼び出しのみ)
wonOrders invoicedOrders paidOrders outstandingOrders collectedRevenue outstandingRevenue invoicesCreated overdueAlerts errors[]
🤝
Customer Success Agent
agents/cs/index.ts
週次 cron Phase 4 待機中
  • 納品済み案件(status='delivered')を週次チェック
  • cs_status='pending' + checkin_due_at ≤ now の案件を抽出
  • チェックインメールのドラフト生成(Founder 承認後に送付)
  • issue_raised_at から顧客課題をトラッキング
  • 解決困難な課題は Watchdog 経由でエスカレーション
READ orders (delivered + cs_status='pending') UPDATE orders.cs_status WRITE agent_logs (checkin) EXT Email(承認後)
cs_status checkin_due_at issue_raised_at
🟢 自律チェックイン対象の抽出・ドラフト生成
🟡 承認必須顧客へのメール送信
なし(ルールベースでドラフト生成)
deliveredOrders checkinDue checkedIn issuesRaised draftsCreated escalations errors[]
🛡️
Watchdog
agents/watchdog/index.ts
常時監視 polling 稼働中
  • 他のAgentが INSERT した agent_alerts を polling でピックアップ
  • アラートタイプ別に Slack チャネルへ配信
  • 全Agentのヘルスチェック(healthy / stale / missing)
  • stalled: 受注が長期間ステータス未変化
  • payment_failed: Stripe 決済失敗の検知
  • ceo_down: CEO Agent の週次未実行を検知
  • cs_checkin: CS チェックイン期限超過
  • escalation: CS から引き継いだ顧客課題
READ agent_alerts (undelivered) READ agent_logs (health check) UPDATE agent_alerts.delivered EXT Slack (アラート配信)
🟢 自律アラート検知・Slack配信・ヘルスチェック
なし(ルールベース監視)
alertsProcessed alertsDelivered alertsFailed healthChecks[] stalledOrders errors[]
📣
Marketing Agent
agents/marketing/index.ts(未作成)
Phase 4 実装予定 コードなし
  • X(Twitter)投稿の自動生成・スケジュール配信
  • SEO記事の企画・下書き生成
  • コンテンツカレンダーの管理
  • GTMキャンペーン結果の集計・レポート
📝
AGENTS.md に設計のみ存在。Phase 4 完了後に実装開始。LLM は claude-sonnet-4-6 予定。
⚙️ Tech Stack
Oracle ATP 23ai (World Model) ・ sync bridge ・ migration状況 ・ ADR履歴
スタック概要
🌐 Frontend / Hosting
Next.js 16 App Router
Tailwind v4 / TypeScript
☁️
Cloudflare Workers
@opennextjs/cloudflare / nodejs_compat
💳
Stripe
Checkout Session / Webhook / sk_test_
🔐
Supabase Auth + DB
orders / agent_logs INSERT(site/側)
🗄️ World Model DB
🗄️
Oracle Database 23ai
Always Free 20GB / Osaka
🔗
Wallet-less TLS thin mode
init_oracle_client() 不要
🧬
VECTOR型ネイティブ
TO_VECTOR / cosine_distance
🔑
pj34admin ユーザー
agents/.env.atp に認証情報
🔄 Sync Bridge
📁
agents/scripts/sync-orders.ts
Supabase → Oracle 差分同期
💾
.sync-state.json
last_synced_at で差分管理(冪等)
📦
npm run sync / sync:full
手動実行 or */15 * * * * cron
📊
最終同期: 2026-05-13
orders 2件 + agent_logs 26件
Oracle ATP 接続情報
Engine
Oracle Database 23ai(Always Free 20GB)
ユーザー
pj34admin
Host
adb.ap-osaka-1.oraclecloud.com
Service
g9918e4fb909c0b_pj34worldmodel_tp.adb.oraclecloud.com
接続方式
wallet-less TLS thin mode(init_oracle_client() 不要)
Bind形式
Named bind のみ(:name 形式 / $1 や ? は不可)
UUID変換
uuidToRawHex(uuid) → RAW(16) / rawToUuid() で逆変換
CLOB
32KB超は DB_TYPE_CLOB bind 必須
VECTOR INSERT
TO_VECTOR('[v1,v2,…]', 1024, FLOAT32) 文字列形式でバインド
認証情報
agents/.env.atp
Migration 状況
ファイル 内容 状態 依存Agent
migration_001 初期スキーマ(orders / agent_logs / agent_alerts) ✅ 適用済み 全Agent
migration_002 orders 拡張(amount_jpy / metadata / status制約) ✅ 適用済み Sales / Finance
migration_003 Readycul サービス追加(service_type 制約拡張) ✅ 適用済み Sales
migration_004 Agent コード整合(列リネーム / CS管理列 / billing_attempts) ✅ 適用済み CS / Finance
migration_005 ナレッジRAGテーブル(rag_chunks VECTOR型 + cosine_distance検索関数) ⬜ 未適用 Production-Deep(ブロック中)
主要 DB テーブル(Oracle ATP)
📋 orders
全受注の中心テーブル。ステータスマシンで進行管理。
カラム説明
idRAW(16)UUID
statusVARCHAR2lead→won→production→review→delivered→paid
service_typeVARCHAR2banner / lp / knowledge_rag / competitive_monitoring etc.
amount_jpyNUMBER受注金額(円)
metadataCLOB(JSON)サービス別パラメータ
cs_statusVARCHAR2pending / checked_in / escalated
checkin_due_atTIMESTAMPCS チェックイン期限
📝 agent_logs
全 Agent の実行ログ・KPIスナップショット・イベント記録。
カラム説明
idRAW(16)UUID
agent_nameVARCHAR2ceo / sales / watchdog etc.
event_typeVARCHAR2kpi_snapshot / lead_notified / error etc.
payloadCLOB(JSON)イベント別データ
created_atTIMESTAMPSupabase→Oracle 差分同期の基準
🚨 agent_alerts
各AgentがINSERT → Watchdogがpollして配信。非同期アラートキュー。
カラム説明
alert_typestalled / payment_failed / ceo_down / cs_checkin / escalation
deliveredWatchdog 配信済みフラグ
payloadCLOB(JSON) アラート詳細
🧬 rag_chunks migration_005 待ち
Production-Deep が生成するベクトルチャンク。cosine 検索対応。
カラム説明
order_idRAW(16) — 元案件との紐付け
chunk_textCLOB — 500文字チャンク本文
embeddingVECTOR(1024, FLOAT32) — voyage-3 埋め込み
chunk_indexNUMBER — チャンク順序
source_urlVARCHAR2 — 元URL
sync-orders.ts — 同期ブリッジ仕様
なぜ sync bridge が必要か
Cloudflare Workers は oracledb ネイティブバインディング(C extension)を実行不可。 そのため site/ から直接 Oracle ATP に書けない。ORDS(Oracle REST Data Services)経由案は OCI Console なしで設定困難なため却下。 → Supabase に書いて、Node.js スクリプトが15分毎に差分同期する パターンを採用(ADR 2026-05-14)。
実行フロー
1. .sync-state.json から last_synced_at を読む
2. Supabase orders から updated_at > last_synced_at を取得
3. Oracle に UPSERT(新規→INSERT / status変更→UPDATE)
4. agent_logs を created_at > last_synced_at で差分取得
5. Oracle に INSERT(id 重複はスキップ)
6. last_synced_at を現在時刻で上書き保存
npm scripts
npm run sync # 差分同期
npm run sync:full # 全件再同期
npm run sync:dry # ドライラン

# scheduled-task: */15 * * * *
# ~/.claude/scheduled-tasks/
# pj34-sync-orders/SKILL.md
ADR(重要設計判断記録)
日付判断タイトル決定内容却下した選択肢
2026-05-09 Supabase → Oracle ATP 移行 Always Free 20GB・VECTOR型ネイティブ・Agent RTT最適化を重視してOracle ATPをWorld Modelに採用 Supabase pg + pgvector 継続
2026-05-14 sync bridge パターン採用 Cloudflare Workers + oracledb 非互換 → sync-orders.ts で Supabase→Oracle をブリッジ ORDS 経由(OCI Console なしで設定困難なため却下)
2026-05-14 承認ゲート 3段階設計 自律実行可 / Founder承認必須 / Agent禁止 の3段階。金銭・顧客接触はすべて承認必須に 全自動(リスク大)/ 全手動(自動化メリットなし)
AI自動化 × 受託制作 — 案件ステータスポータル
注文番号: RF-2026-0001
制作中です
AIエージェントがバナー制作に取り組んでいます。完成まで今しばらくお待ちください。
production_in_progress
案件フロー
受付完了
💳
決済完了
⚙️
制作中
👁️
レビュー
📦
納品
🎉
完了
進捗タイムライン
お問い合わせ受付
2026-05-13 14:32
バナー制作(PoC)のご依頼を受け付けました。
Sales Agent による確認・案内
2026-05-13 14:35
AIが依頼内容を確認し、制作フローを開始しました。
決済完了
2026-05-13 15:01
¥9,800(税込)の決済が確認されました。
⚙️
AI制作エージェントが作業中
現在進行中…
Production Fast Agent がバナー素材を生成しています。完成次第ご連絡いたします。
👁️
レビュー(お客様確認)
予定
📦
成果物納品
予定
注文詳細
サービス
🖼️ バナー制作 PoC
金額
¥9,800(税込)
注文番号
RF-2026-0001
担当エージェント
⚡ Production Fast
納品予定
1〜2営業日以内
修正回数
0 / 2回(PoC)
お客様の次のアクション
💡
現在は何も必要ありません
制作完了後、メールでご連絡します。その後レビューページにてご確認ください。
📩 追加の連絡 ✉️ メールで質問
他のサービス(追加でご相談可能)
🖼️
バナー制作
¥9,800〜(PoC)
AIが3サイズ対応バナーを高速生成。SNS・ディスプレイ広告向け。
📄
LP制作
¥150,000〜
CV最適化LPをAI設計×人間監修で。Cloudflare Pages 本番デプロイまで対応。
🤖
AI Agent 構築
¥500,000〜
業務自動化・RAG・マルチエージェント。貴社専用AIを受託開発。
🕵️
競合モニタリング
¥500,000〜
競合各社の価格・LP・SNSを自動追跡。週次レポートで差別化戦略を支援。
🎙️
営業録音分析
¥500,000〜
商談録音をAIが文字起こし・インサイト抽出。成約パターンをデータ化。
🧠
ナレッジRAG
¥500,000〜
社内文書・マニュアルをベクトル検索対応に。ChatGPT的な社内知識QAを実現。
✉️ 新しいご依頼・ご相談はこちら