本ドキュメントは docs/_internal/TODO_future.md に登録された全案件が完了した際の、本システムのモジュール構成・ディレクトリ構造の最終像を示すアーキテクチャロードマップです。

現行コードベースの構成は CLAUDE.md の「GAS ファイル番号体系 (Modular Monolith)」セクションを参照してください。

凡例

マーク意味
🟢現状(実装済み)
🟡近未来(GAS Phase。S/I/F/N系 案件完了で追加・拡張される想定)
🔵長期(GCP Phase。G系 案件完了後のSaaS化構成)

Phase 1: GAS 最終形(全S・I・F・N案件完了時)

ディレクトリ構造(最終像)

mas/000_infra/               [共通基盤]
  001_env  002_constants  003_contracts  004_utils         🟢
  005_audit_log           🟢 N-03 監査証跡(実装は Utils.auditLog @ 004_utils.js + 101_sys_config.js)
  + 006_backup            🟡 N-25 定期バックアップ
  + 007_error_handler     🟡 N-02 堅牢なエラーハンドリング

050_masters/             [マスタ層(現状は 100_config 配下のDDLで散在)]
  11_mst_account (+標準償却月数)     🟡 S-49
  12_mst_partner (+標準決済条件)     🟡 S-48, I-10(✅)
  13_mst_org  14_mst_project                               🟢
  + 17_mst_dict            汎用ディクショナリ
  + 18_mst_tax_rate        🟡 S-47 保険料率・税率(年度×雇用形態)
  + 19_mst_loan_pattern    🟡 S-49 借入パターン

mas/100_config/              [システム設定]
  101_sys_config                                           🟢
  + 102_role_permission    🟡 N-29 MFA・権限管理
  + 103_schema_version     🟡 N-26 DDL自動マイグレーション

mas/200_data/                [リポジトリ層]
  201_data_validator  202_repository                       🟢
  + 203_journal_repo  204_budget_repo  205_receipt_repo    🟡 N-16 後続

mas/300_ui/                  [UI / トリガー / ダッシュボード]
  301_ui_assist                                            🟢
  310_dashboard_kpi        🟢 F-03 KPIダッシュボード(実装は 609_datamart_kpi.js)
  + 311_dashboard_scenario 🟡 F-05 動的シナリオUI
  + 312_ocr_review_ui      🟡 I-17 OCR補正
  + 313_monthly_close_ui   🟡 I-04 ワンクリック月次締め

mas/400_domain/              [ドメインサービス]
  400_rpa_common  401-406_rpa_*  407_rpa_orchestrator      🟢
  410_subledger_engine (+ORD整合性)  🟡 S-50
  420_project_profitability                                🟢
  + 421_forecast_engine    🟡 F-04/F-08/F-11/F-12 予測・Cash Runway
  + 422_allowance_engine   🟡 S-12/S-16 貸倒引当・役員賞与引当
  + 423_saas_kpi_engine    🟡 F-28 ARR/MRR トラッキング
  + 424_ord_auto_expand    🟡 S-54 発注→INV自動展開
  + 425_valuation_engine   🟡 F-17/F-38 WACC・バリュエーション

mas/500_import/              [外部データ取込]
  501_cc_importer  502_bank_importer  502_receipt_reader   🟢
  + 503_photo_ocr          🟡 I-13 写真(JPEG/PNG)OCR
  + 504_outlook_mail       🟡 I-11 Outlookメール自動取得
  + 505_invoice_pdf_ocr    🟡 I-03 請求書PDF→INV自動起票
  + 506_payroll_saas       🟡 I-14 給与計算SaaS取込
  + 507_bank_api           🟡 N-05 銀行API直結

mas/600_report/              [データマート・レポーティング]
  601-608_datamart_*                                       🟢
  + 609_datamart_commitment  🟡 S-51 発注残・予算執行ダッシュ
  + 610_datamart_runway      🟡 F-08 資金繰り予測(Cash Runway)
  + 611_datamart_tb          🟡 S-19 月次残高試算表(T/B)
  + 612_datamart_saas_kpi    🟡 F-28 SaaS KPI
  + 613_datamart_variance    🟡 F-25 予実差異分析(41ベース)

700_workflow/            [承認・ワークフロー層 ← 新設レイヤー]
  + 701_payment_approval     🟡 S-32 支払依頼ワークフロー
  + 702_order_status         🟡 S-53 発注ステータス遷移
  + 703_order_approval       🟡 S-56 発注承認ワークフロー
  + 704_quote_comparison     🟡 S-57 相見積比較

750_document/            [帳票生成層 ← 新設レイヤー]
  + 751_invoice_pdf          🟡 S-28 請求書PDF
  + 752_order_pdf            🟡 S-55 発注書・注文書・納品書PDF
  + 753_file_rename          🟡 I-08 電帳法リネーム
  + 754_link_rebuild         🟡 I-09 証憑リンク再構築

mas/800_ops/                 [運用・マイグレーション]
  801-811_migration_*                                      🟢 + 🟡
  + 812_anomaly_detection    🟡 N-06 異常値検知
  + 813_monthly_checklist    🟡 N-07 月次チェックリスト
  + 814_notification         🟡 N-08/N-10 Slack・メール通知

mas/900_test/                [テスト(prodデプロイ時に削除)]
  901_test_runner                                          🟢
  + 902_regression_tests
  + 903_e2e_tests

変更サマリー

指標現状 🟢最終形 🟡増減
トップレベルディレクトリ数911+2
ファイル総数(概算)約35約70×2
新設レイヤー700_workflow/ 750_document/ 050_masters/3

キー変更点

  1. 050_masters/ の独立 — 現状マスタは mas/100_config/101_sys_config.jsDDLに定義され、運用データはスプレッドシート上に散在。MAS-119・MAS-120・MAS-121 で新規マスタが追加されるため、独立レイヤーとして整理。
  2. 700_workflow/ レイヤー新設 — MAS-104/MAS-125/MAS-128/MAS-129 によりワークフロー処理が増えるため、ドメインロジック(400)から切り出し。
  3. 750_document/ レイヤー新設 — PDF生成(MAS-100/MAS-127)と証憑管理(MAS-152/MAS-153)を集約。外部I/Oではないため 500 ではなく独立。
  4. mas/600_report/ の肥大化 — 6 → 12 ファイル。BigQuery 化の圧力が最も高い領域。
  5. mas/500_import/ のパイプライン化 — 4 → 7 ファイル。Cloud Functions への移行候補。

Phase 2: GCP 最終形(🔵 MAS-236〜MAS-243 完了時)— SaaS 化後

GAS Phase で整理されたレイヤー構造は、そのままクラウドネイティブに再配置 されます。

GASレイヤーGCP移行後担当G案件
mas/000_infra/ 050_masters/Cloud SQL / Firestore — マスタ+監査ログMAS-240
mas/100_config/IAM + Secret ManagerMAS-236, MAS-207
mas/200_data/Cloud Run API (Repository層)MAS-239
mas/300_ui/Next.js / React Web UIMAS-238
mas/400_domain/Cloud Run Services(ドメインロジック)MAS-239
mas/500_import/Cloud Functions + Pub/Sub(取込パイプライン)MAS-239
mas/600_report/BigQuery + Looker Studio(分析基盤)MAS-238
700_workflow/Cloud Workflows / EventarcMAS-239
750_document/Cloud Run + ChromeDP(PDF生成)MAS-239
mas/800_ops/Cloud Scheduler + Cloud Logging / Error ReportingMAS-243
新規: マルチテナントMAS-237
新規: 管理者ダッシュボードMAS-241
新規: 課金基盤MAS-242

SaaS 化で新たに発生する構成要素

  • 認証基盤(MAS-236): Firebase Auth / Identity Platform
  • マルチテナント(MAS-237): テナント別のデータ分離(スキーマ分離 or 行レベルセキュリティ)
  • CI/CD(MAS-243): Cloud Build + Artifact Registry
  • セキュリティ(MAS-207〜MAS-211): VPC-SC、CMEK、SOC 2 / ISO 27001 準拠

このロードマップの使い方

  • 新規案件の設計時: この構成を基準に、追加モジュールの配置先を判断する
  • リファクタリング判断: 既存ファイルが肥大化した場合、ここで定義された将来分割先を参考にする
  • GCP 移行計画: Phase 2 のマッピングテーブルを設計の出発点とする

関連ドキュメント


本ドキュメントは docs/_internal/TODO_future.md の案件一覧から逆算して作成されています。将来案件の追加・削除に伴って本ドキュメントも更新してください。