⚙️ Vault運用
2026-07-20_1557_SCALE_FORM_Phase1
最終更新 2026年07月20日 / 90_Meta/Claude作業ログ/2026-07-20_1557_SCALE_FORM_Phase1.md
SCALE FORM Phase1 完了ログ(2026-07-20)
命名決定(大串)
「同名で世代交代」。対外呼称=SCALE FORM/リポ・CF project=scale-form-sales(既存Next.js版scale-formとの物理衝突回避・旧版は触らない)。
成果物(本番稼働中 https://scale-form-sales.pages.dev )
- リポ: GitHub scale-group-jp/scale-form-sales(private)・スタートカード CLAUDE.md
- 認証: PBKDF2(作成時ハッシュ)+HMAC署名cookie+スライディング延長+名簿照合(MEMBER_REVOKED)。lazy-hash構造は作らない
- D1(scale-form-sales-db): per-row設計(projects/member_rows/form_targets/form_campaigns/form_templates/form_sends/app_config)・generated column+index・form_sendsは冪等UNIQUE制約
- API: login/me/projects/targets(digest/since)/targets/bulk(完全スキップ重複防止+D1実読検証)/health/poc/detect
- フロント: ログイン→案件→対象リスト(仮想スクロール)→CSV取込。401バナー/verバッジ/トースト。form2段階防御
- deploy.sh: 必須ファイル/関数チェック+node --check+?v=自動更新+tar.gz backup+本番実バイト検証+APIヘルスチェック
- Browser Rendering PoC実証: 実在3種検証。terasu/contactでcompany/name/tel/email/message全マッピング成功(4.7秒)。example.comはフォームなし正しく判定。docs/Phase1_PoCレポート.md
依頼書§3の事故継承(最初から実装)
per-row/blob禁止/完了保証型書き込み(bulkのD1実読検証)/仮想スクロール/silent fail禁止(401区別)/スライディングセッション/JST表示Date経由/完全スキップ重複防止/ASCII safeヘッダ。
課題(Phase2以降)
- リンク自動探索はdomcontentloadedでJS描画前→networkidle+wait改善(Phase2)
- 選択肢フィールドのAIマッピング(Phase3)
- GitHub Actions自動デプロイ未設定(今はdeploy.sh手動)
次
Phase2(送信エンジン: Queues+Cron/冪等性/レート制御/全ステータス/送信ログ/Slack通知)は大串OK後。